# API Reference <a name="API Reference" id="api-reference"></a>

## Constructs <a name="Constructs" id="Constructs"></a>

### AccessContextManagerAccessLevel <a name="AccessContextManagerAccessLevel" id="@dschmidt/provider-google.AccessContextManagerAccessLevel"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level google_access_context_manager_access_level}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevel } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevel(scope: Construct, id: string, config: AccessContextManagerAccessLevelConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig">AccessContextManagerAccessLevelConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig">AccessContextManagerAccessLevelConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.putBasic">putBasic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.putCustom">putCustom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.resetBasic">resetBasic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.resetCustom">resetCustom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBasic` <a name="putBasic" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.putBasic"></a>

```typescript
public putBasic(value: AccessContextManagerAccessLevelBasic): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.putBasic.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasic">AccessContextManagerAccessLevelBasic</a>

---

##### `putCustom` <a name="putCustom" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.putCustom"></a>

```typescript
public putCustom(value: AccessContextManagerAccessLevelCustom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.putCustom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustom">AccessContextManagerAccessLevelCustom</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.putTimeouts"></a>

```typescript
public putTimeouts(value: AccessContextManagerAccessLevelTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts">AccessContextManagerAccessLevelTimeouts</a>

---

##### `resetBasic` <a name="resetBasic" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.resetBasic"></a>

```typescript
public resetBasic(): void
```

##### `resetCustom` <a name="resetCustom" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.resetCustom"></a>

```typescript
public resetCustom(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.isConstruct"></a>

```typescript
import { AccessContextManagerAccessLevel } from '@dschmidt/provider-google'

AccessContextManagerAccessLevel.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.basic">basic</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference">AccessContextManagerAccessLevelBasicOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.custom">custom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference">AccessContextManagerAccessLevelCustomOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference">AccessContextManagerAccessLevelTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.basicInput">basicInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasic">AccessContextManagerAccessLevelBasic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.customInput">customInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustom">AccessContextManagerAccessLevelCustom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.timeoutsInput">timeoutsInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts">AccessContextManagerAccessLevelTimeouts</a> \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `basic`<sup>Required</sup> <a name="basic" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.basic"></a>

```typescript
public readonly basic: AccessContextManagerAccessLevelBasicOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference">AccessContextManagerAccessLevelBasicOutputReference</a>

---

##### `custom`<sup>Required</sup> <a name="custom" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.custom"></a>

```typescript
public readonly custom: AccessContextManagerAccessLevelCustomOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference">AccessContextManagerAccessLevelCustomOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerAccessLevelTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference">AccessContextManagerAccessLevelTimeoutsOutputReference</a>

---

##### `basicInput`<sup>Optional</sup> <a name="basicInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.basicInput"></a>

```typescript
public readonly basicInput: AccessContextManagerAccessLevelBasic;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasic">AccessContextManagerAccessLevelBasic</a>

---

##### `customInput`<sup>Optional</sup> <a name="customInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.customInput"></a>

```typescript
public readonly customInput: AccessContextManagerAccessLevelCustom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustom">AccessContextManagerAccessLevelCustom</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: AccessContextManagerAccessLevelTimeouts | IResolvable;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts">AccessContextManagerAccessLevelTimeouts</a> | cdktf.IResolvable

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevel.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessLevel.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerAccessLevelCondition <a name="AccessContextManagerAccessLevelCondition" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition google_access_context_manager_access_level_condition}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelCondition } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelCondition(scope: Construct, id: string, config: AccessContextManagerAccessLevelConditionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig">AccessContextManagerAccessLevelConditionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig">AccessContextManagerAccessLevelConditionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.putDevicePolicy">putDevicePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetDevicePolicy">resetDevicePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetIpSubnetworks">resetIpSubnetworks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetMembers">resetMembers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetNegate">resetNegate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetRegions">resetRegions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetRequiredAccessLevels">resetRequiredAccessLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDevicePolicy` <a name="putDevicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.putDevicePolicy"></a>

```typescript
public putDevicePolicy(value: AccessContextManagerAccessLevelConditionDevicePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.putDevicePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy">AccessContextManagerAccessLevelConditionDevicePolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.putTimeouts"></a>

```typescript
public putTimeouts(value: AccessContextManagerAccessLevelConditionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts">AccessContextManagerAccessLevelConditionTimeouts</a>

---

##### `resetDevicePolicy` <a name="resetDevicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetDevicePolicy"></a>

```typescript
public resetDevicePolicy(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpSubnetworks` <a name="resetIpSubnetworks" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetIpSubnetworks"></a>

```typescript
public resetIpSubnetworks(): void
```

##### `resetMembers` <a name="resetMembers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetMembers"></a>

```typescript
public resetMembers(): void
```

##### `resetNegate` <a name="resetNegate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetNegate"></a>

```typescript
public resetNegate(): void
```

##### `resetRegions` <a name="resetRegions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetRegions"></a>

```typescript
public resetRegions(): void
```

##### `resetRequiredAccessLevels` <a name="resetRequiredAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetRequiredAccessLevels"></a>

```typescript
public resetRequiredAccessLevels(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.isConstruct"></a>

```typescript
import { AccessContextManagerAccessLevelCondition } from '@dschmidt/provider-google'

AccessContextManagerAccessLevelCondition.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.devicePolicy">devicePolicy</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference">AccessContextManagerAccessLevelConditionDevicePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference">AccessContextManagerAccessLevelConditionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.accessLevelInput">accessLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.devicePolicyInput">devicePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy">AccessContextManagerAccessLevelConditionDevicePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.ipSubnetworksInput">ipSubnetworksInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.negateInput">negateInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.regionsInput">regionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.requiredAccessLevelsInput">requiredAccessLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts">AccessContextManagerAccessLevelConditionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.accessLevel">accessLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.ipSubnetworks">ipSubnetworks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.negate">negate</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.regions">regions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.requiredAccessLevels">requiredAccessLevels</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `devicePolicy`<sup>Required</sup> <a name="devicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.devicePolicy"></a>

```typescript
public readonly devicePolicy: AccessContextManagerAccessLevelConditionDevicePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference">AccessContextManagerAccessLevelConditionDevicePolicyOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerAccessLevelConditionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference">AccessContextManagerAccessLevelConditionTimeoutsOutputReference</a>

---

##### `accessLevelInput`<sup>Optional</sup> <a name="accessLevelInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.accessLevelInput"></a>

```typescript
public readonly accessLevelInput: string;
```

- *Type:* string

---

##### `devicePolicyInput`<sup>Optional</sup> <a name="devicePolicyInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.devicePolicyInput"></a>

```typescript
public readonly devicePolicyInput: AccessContextManagerAccessLevelConditionDevicePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy">AccessContextManagerAccessLevelConditionDevicePolicy</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ipSubnetworksInput`<sup>Optional</sup> <a name="ipSubnetworksInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.ipSubnetworksInput"></a>

```typescript
public readonly ipSubnetworksInput: string[];
```

- *Type:* string[]

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `negateInput`<sup>Optional</sup> <a name="negateInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.negateInput"></a>

```typescript
public readonly negateInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `regionsInput`<sup>Optional</sup> <a name="regionsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.regionsInput"></a>

```typescript
public readonly regionsInput: string[];
```

- *Type:* string[]

---

##### `requiredAccessLevelsInput`<sup>Optional</sup> <a name="requiredAccessLevelsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.requiredAccessLevelsInput"></a>

```typescript
public readonly requiredAccessLevelsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AccessContextManagerAccessLevelConditionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts">AccessContextManagerAccessLevelConditionTimeouts</a>

---

##### `accessLevel`<sup>Required</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ipSubnetworks`<sup>Required</sup> <a name="ipSubnetworks" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.ipSubnetworks"></a>

```typescript
public readonly ipSubnetworks: string[];
```

- *Type:* string[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `negate`<sup>Required</sup> <a name="negate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.negate"></a>

```typescript
public readonly negate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `regions`<sup>Required</sup> <a name="regions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.regions"></a>

```typescript
public readonly regions: string[];
```

- *Type:* string[]

---

##### `requiredAccessLevels`<sup>Required</sup> <a name="requiredAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.requiredAccessLevels"></a>

```typescript
public readonly requiredAccessLevels: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCondition.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerAccessLevels <a name="AccessContextManagerAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevels"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels google_access_context_manager_access_levels}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevels } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevels(scope: Construct, id: string, config: AccessContextManagerAccessLevelsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig">AccessContextManagerAccessLevelsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig">AccessContextManagerAccessLevelsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.putAccessLevels">putAccessLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.resetAccessLevels">resetAccessLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAccessLevels` <a name="putAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.putAccessLevels"></a>

```typescript
public putAccessLevels(value: IResolvable | AccessContextManagerAccessLevelsAccessLevels[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.putAccessLevels.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels">AccessContextManagerAccessLevelsAccessLevels</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.putTimeouts"></a>

```typescript
public putTimeouts(value: AccessContextManagerAccessLevelsTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts">AccessContextManagerAccessLevelsTimeouts</a>

---

##### `resetAccessLevels` <a name="resetAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.resetAccessLevels"></a>

```typescript
public resetAccessLevels(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.isConstruct"></a>

```typescript
import { AccessContextManagerAccessLevels } from '@dschmidt/provider-google'

AccessContextManagerAccessLevels.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.accessLevels">accessLevels</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList">AccessContextManagerAccessLevelsAccessLevelsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference">AccessContextManagerAccessLevelsTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.accessLevelsInput">accessLevelsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels">AccessContextManagerAccessLevelsAccessLevels</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts">AccessContextManagerAccessLevelsTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `accessLevels`<sup>Required</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.accessLevels"></a>

```typescript
public readonly accessLevels: AccessContextManagerAccessLevelsAccessLevelsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList">AccessContextManagerAccessLevelsAccessLevelsList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerAccessLevelsTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference">AccessContextManagerAccessLevelsTimeoutsOutputReference</a>

---

##### `accessLevelsInput`<sup>Optional</sup> <a name="accessLevelsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.accessLevelsInput"></a>

```typescript
public readonly accessLevelsInput: IResolvable | AccessContextManagerAccessLevelsAccessLevels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels">AccessContextManagerAccessLevelsAccessLevels</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AccessContextManagerAccessLevelsTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts">AccessContextManagerAccessLevelsTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevels.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessLevels.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerAccessPolicy <a name="AccessContextManagerAccessPolicy" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy google_access_context_manager_access_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicy } from '@dschmidt/provider-google'

new AccessContextManagerAccessPolicy(scope: Construct, id: string, config: AccessContextManagerAccessPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig">AccessContextManagerAccessPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig">AccessContextManagerAccessPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.resetScopes">resetScopes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: AccessContextManagerAccessPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts">AccessContextManagerAccessPolicyTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetScopes` <a name="resetScopes" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.resetScopes"></a>

```typescript
public resetScopes(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.isConstruct"></a>

```typescript
import { AccessContextManagerAccessPolicy } from '@dschmidt/provider-google'

AccessContextManagerAccessPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference">AccessContextManagerAccessPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.scopesInput">scopesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts">AccessContextManagerAccessPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.scopes">scopes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerAccessPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference">AccessContextManagerAccessPolicyTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `scopesInput`<sup>Optional</sup> <a name="scopesInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.scopesInput"></a>

```typescript
public readonly scopesInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AccessContextManagerAccessPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts">AccessContextManagerAccessPolicyTimeouts</a>

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `scopes`<sup>Required</sup> <a name="scopes" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.scopes"></a>

```typescript
public readonly scopes: string[];
```

- *Type:* string[]

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerAccessPolicyIamBinding <a name="AccessContextManagerAccessPolicyIamBinding" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding google_access_context_manager_access_policy_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamBinding } from '@dschmidt/provider-google'

new AccessContextManagerAccessPolicyIamBinding(scope: Construct, id: string, config: AccessContextManagerAccessPolicyIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig">AccessContextManagerAccessPolicyIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig">AccessContextManagerAccessPolicyIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.putCondition"></a>

```typescript
public putCondition(value: AccessContextManagerAccessPolicyIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition">AccessContextManagerAccessPolicyIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.isConstruct"></a>

```typescript
import { AccessContextManagerAccessPolicyIamBinding } from '@dschmidt/provider-google'

AccessContextManagerAccessPolicyIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference">AccessContextManagerAccessPolicyIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition">AccessContextManagerAccessPolicyIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.condition"></a>

```typescript
public readonly condition: AccessContextManagerAccessPolicyIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference">AccessContextManagerAccessPolicyIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: AccessContextManagerAccessPolicyIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition">AccessContextManagerAccessPolicyIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerAccessPolicyIamMember <a name="AccessContextManagerAccessPolicyIamMember" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member google_access_context_manager_access_policy_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamMember } from '@dschmidt/provider-google'

new AccessContextManagerAccessPolicyIamMember(scope: Construct, id: string, config: AccessContextManagerAccessPolicyIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig">AccessContextManagerAccessPolicyIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig">AccessContextManagerAccessPolicyIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.putCondition"></a>

```typescript
public putCondition(value: AccessContextManagerAccessPolicyIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition">AccessContextManagerAccessPolicyIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.isConstruct"></a>

```typescript
import { AccessContextManagerAccessPolicyIamMember } from '@dschmidt/provider-google'

AccessContextManagerAccessPolicyIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference">AccessContextManagerAccessPolicyIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition">AccessContextManagerAccessPolicyIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.condition"></a>

```typescript
public readonly condition: AccessContextManagerAccessPolicyIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference">AccessContextManagerAccessPolicyIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: AccessContextManagerAccessPolicyIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition">AccessContextManagerAccessPolicyIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerAccessPolicyIamPolicy <a name="AccessContextManagerAccessPolicyIamPolicy" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_policy google_access_context_manager_access_policy_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamPolicy } from '@dschmidt/provider-google'

new AccessContextManagerAccessPolicyIamPolicy(scope: Construct, id: string, config: AccessContextManagerAccessPolicyIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig">AccessContextManagerAccessPolicyIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig">AccessContextManagerAccessPolicyIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.isConstruct"></a>

```typescript
import { AccessContextManagerAccessPolicyIamPolicy } from '@dschmidt/provider-google'

AccessContextManagerAccessPolicyIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerGcpUserAccessBinding <a name="AccessContextManagerGcpUserAccessBinding" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding google_access_context_manager_gcp_user_access_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.Initializer"></a>

```typescript
import { AccessContextManagerGcpUserAccessBinding } from '@dschmidt/provider-google'

new AccessContextManagerGcpUserAccessBinding(scope: Construct, id: string, config: AccessContextManagerGcpUserAccessBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig">AccessContextManagerGcpUserAccessBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig">AccessContextManagerGcpUserAccessBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.putTimeouts"></a>

```typescript
public putTimeouts(value: AccessContextManagerGcpUserAccessBindingTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts">AccessContextManagerGcpUserAccessBindingTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.isConstruct"></a>

```typescript
import { AccessContextManagerGcpUserAccessBinding } from '@dschmidt/provider-google'

AccessContextManagerGcpUserAccessBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference">AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.accessLevelsInput">accessLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.groupKeyInput">groupKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.organizationIdInput">organizationIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts">AccessContextManagerGcpUserAccessBindingTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.groupKey">groupKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.organizationId">organizationId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference">AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference</a>

---

##### `accessLevelsInput`<sup>Optional</sup> <a name="accessLevelsInput" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.accessLevelsInput"></a>

```typescript
public readonly accessLevelsInput: string[];
```

- *Type:* string[]

---

##### `groupKeyInput`<sup>Optional</sup> <a name="groupKeyInput" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.groupKeyInput"></a>

```typescript
public readonly groupKeyInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `organizationIdInput`<sup>Optional</sup> <a name="organizationIdInput" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.organizationIdInput"></a>

```typescript
public readonly organizationIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AccessContextManagerGcpUserAccessBindingTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts">AccessContextManagerGcpUserAccessBindingTimeouts</a>

---

##### `accessLevels`<sup>Required</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

---

##### `groupKey`<sup>Required</sup> <a name="groupKey" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.groupKey"></a>

```typescript
public readonly groupKey: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `organizationId`<sup>Required</sup> <a name="organizationId" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.organizationId"></a>

```typescript
public readonly organizationId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerServicePerimeter <a name="AccessContextManagerServicePerimeter" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter google_access_context_manager_service_perimeter}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeter } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeter(scope: Construct, id: string, config: AccessContextManagerServicePerimeterConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig">AccessContextManagerServicePerimeterConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig">AccessContextManagerServicePerimeterConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.putSpec">putSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.putStatus">putStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetPerimeterType">resetPerimeterType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetSpec">resetSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetStatus">resetStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetUseExplicitDryRunSpec">resetUseExplicitDryRunSpec</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSpec` <a name="putSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.putSpec"></a>

```typescript
public putSpec(value: AccessContextManagerServicePerimeterSpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.putSpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec">AccessContextManagerServicePerimeterSpec</a>

---

##### `putStatus` <a name="putStatus" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.putStatus"></a>

```typescript
public putStatus(value: AccessContextManagerServicePerimeterStatus): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.putStatus.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus">AccessContextManagerServicePerimeterStatus</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.putTimeouts"></a>

```typescript
public putTimeouts(value: AccessContextManagerServicePerimeterTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts">AccessContextManagerServicePerimeterTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPerimeterType` <a name="resetPerimeterType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetPerimeterType"></a>

```typescript
public resetPerimeterType(): void
```

##### `resetSpec` <a name="resetSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetSpec"></a>

```typescript
public resetSpec(): void
```

##### `resetStatus` <a name="resetStatus" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetStatus"></a>

```typescript
public resetStatus(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUseExplicitDryRunSpec` <a name="resetUseExplicitDryRunSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.resetUseExplicitDryRunSpec"></a>

```typescript
public resetUseExplicitDryRunSpec(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.isConstruct"></a>

```typescript
import { AccessContextManagerServicePerimeter } from '@dschmidt/provider-google'

AccessContextManagerServicePerimeter.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.spec">spec</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference">AccessContextManagerServicePerimeterSpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference">AccessContextManagerServicePerimeterStatusOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference">AccessContextManagerServicePerimeterTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.perimeterTypeInput">perimeterTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.specInput">specInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec">AccessContextManagerServicePerimeterSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.statusInput">statusInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus">AccessContextManagerServicePerimeterStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts">AccessContextManagerServicePerimeterTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.useExplicitDryRunSpecInput">useExplicitDryRunSpecInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.perimeterType">perimeterType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.useExplicitDryRunSpec">useExplicitDryRunSpec</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `spec`<sup>Required</sup> <a name="spec" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.spec"></a>

```typescript
public readonly spec: AccessContextManagerServicePerimeterSpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference">AccessContextManagerServicePerimeterSpecOutputReference</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.status"></a>

```typescript
public readonly status: AccessContextManagerServicePerimeterStatusOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference">AccessContextManagerServicePerimeterStatusOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerServicePerimeterTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference">AccessContextManagerServicePerimeterTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `perimeterTypeInput`<sup>Optional</sup> <a name="perimeterTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.perimeterTypeInput"></a>

```typescript
public readonly perimeterTypeInput: string;
```

- *Type:* string

---

##### `specInput`<sup>Optional</sup> <a name="specInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.specInput"></a>

```typescript
public readonly specInput: AccessContextManagerServicePerimeterSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec">AccessContextManagerServicePerimeterSpec</a>

---

##### `statusInput`<sup>Optional</sup> <a name="statusInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.statusInput"></a>

```typescript
public readonly statusInput: AccessContextManagerServicePerimeterStatus;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus">AccessContextManagerServicePerimeterStatus</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AccessContextManagerServicePerimeterTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts">AccessContextManagerServicePerimeterTimeouts</a>

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `useExplicitDryRunSpecInput`<sup>Optional</sup> <a name="useExplicitDryRunSpecInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.useExplicitDryRunSpecInput"></a>

```typescript
public readonly useExplicitDryRunSpecInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `perimeterType`<sup>Required</sup> <a name="perimeterType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.perimeterType"></a>

```typescript
public readonly perimeterType: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `useExplicitDryRunSpec`<sup>Required</sup> <a name="useExplicitDryRunSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.useExplicitDryRunSpec"></a>

```typescript
public readonly useExplicitDryRunSpec: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeter.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerServicePerimeterResource <a name="AccessContextManagerServicePerimeterResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource google_access_context_manager_service_perimeter_resource}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterResource } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterResource(scope: Construct, id: string, config: AccessContextManagerServicePerimeterResourceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig">AccessContextManagerServicePerimeterResourceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig">AccessContextManagerServicePerimeterResourceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.putTimeouts"></a>

```typescript
public putTimeouts(value: AccessContextManagerServicePerimeterResourceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts">AccessContextManagerServicePerimeterResourceTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.isConstruct"></a>

```typescript
import { AccessContextManagerServicePerimeterResource } from '@dschmidt/provider-google'

AccessContextManagerServicePerimeterResource.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference">AccessContextManagerServicePerimeterResourceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.perimeterNameInput">perimeterNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.resourceInput">resourceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts">AccessContextManagerServicePerimeterResourceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.perimeterName">perimeterName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.resource">resource</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerServicePerimeterResourceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference">AccessContextManagerServicePerimeterResourceTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `perimeterNameInput`<sup>Optional</sup> <a name="perimeterNameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.perimeterNameInput"></a>

```typescript
public readonly perimeterNameInput: string;
```

- *Type:* string

---

##### `resourceInput`<sup>Optional</sup> <a name="resourceInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.resourceInput"></a>

```typescript
public readonly resourceInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AccessContextManagerServicePerimeterResourceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts">AccessContextManagerServicePerimeterResourceTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `perimeterName`<sup>Required</sup> <a name="perimeterName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.perimeterName"></a>

```typescript
public readonly perimeterName: string;
```

- *Type:* string

---

##### `resource`<sup>Required</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResource.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AccessContextManagerServicePerimeters <a name="AccessContextManagerServicePerimeters" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters google_access_context_manager_service_perimeters}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeters } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeters(scope: Construct, id: string, config: AccessContextManagerServicePerimetersConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig">AccessContextManagerServicePerimetersConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig">AccessContextManagerServicePerimetersConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.putServicePerimeters">putServicePerimeters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.resetServicePerimeters">resetServicePerimeters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putServicePerimeters` <a name="putServicePerimeters" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.putServicePerimeters"></a>

```typescript
public putServicePerimeters(value: IResolvable | AccessContextManagerServicePerimetersServicePerimeters[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.putServicePerimeters.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters">AccessContextManagerServicePerimetersServicePerimeters</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.putTimeouts"></a>

```typescript
public putTimeouts(value: AccessContextManagerServicePerimetersTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts">AccessContextManagerServicePerimetersTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.resetId"></a>

```typescript
public resetId(): void
```

##### `resetServicePerimeters` <a name="resetServicePerimeters" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.resetServicePerimeters"></a>

```typescript
public resetServicePerimeters(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.isConstruct"></a>

```typescript
import { AccessContextManagerServicePerimeters } from '@dschmidt/provider-google'

AccessContextManagerServicePerimeters.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.servicePerimeters">servicePerimeters</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList">AccessContextManagerServicePerimetersServicePerimetersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference">AccessContextManagerServicePerimetersTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.servicePerimetersInput">servicePerimetersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters">AccessContextManagerServicePerimetersServicePerimeters</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts">AccessContextManagerServicePerimetersTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `servicePerimeters`<sup>Required</sup> <a name="servicePerimeters" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.servicePerimeters"></a>

```typescript
public readonly servicePerimeters: AccessContextManagerServicePerimetersServicePerimetersList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList">AccessContextManagerServicePerimetersServicePerimetersList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerServicePerimetersTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference">AccessContextManagerServicePerimetersTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `servicePerimetersInput`<sup>Optional</sup> <a name="servicePerimetersInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.servicePerimetersInput"></a>

```typescript
public readonly servicePerimetersInput: IResolvable | AccessContextManagerServicePerimetersServicePerimeters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters">AccessContextManagerServicePerimetersServicePerimeters</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AccessContextManagerServicePerimetersTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts">AccessContextManagerServicePerimetersTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeters.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ActiveDirectoryDomain <a name="ActiveDirectoryDomain" id="@dschmidt/provider-google.ActiveDirectoryDomain"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain google_active_directory_domain}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ActiveDirectoryDomain.Initializer"></a>

```typescript
import { ActiveDirectoryDomain } from '@dschmidt/provider-google'

new ActiveDirectoryDomain(scope: Construct, id: string, config: ActiveDirectoryDomainConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig">ActiveDirectoryDomainConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ActiveDirectoryDomain.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ActiveDirectoryDomain.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ActiveDirectoryDomain.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig">ActiveDirectoryDomainConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.resetAdmin">resetAdmin</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.resetAuthorizedNetworks">resetAuthorizedNetworks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ActiveDirectoryDomain.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ActiveDirectoryDomain.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ActiveDirectoryDomain.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ActiveDirectoryDomain.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ActiveDirectoryDomain.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ActiveDirectoryDomain.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ActiveDirectoryDomain.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ActiveDirectoryDomain.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ActiveDirectoryDomain.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomain.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ActiveDirectoryDomain.putTimeouts"></a>

```typescript
public putTimeouts(value: ActiveDirectoryDomainTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ActiveDirectoryDomain.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeouts">ActiveDirectoryDomainTimeouts</a>

---

##### `resetAdmin` <a name="resetAdmin" id="@dschmidt/provider-google.ActiveDirectoryDomain.resetAdmin"></a>

```typescript
public resetAdmin(): void
```

##### `resetAuthorizedNetworks` <a name="resetAuthorizedNetworks" id="@dschmidt/provider-google.ActiveDirectoryDomain.resetAuthorizedNetworks"></a>

```typescript
public resetAuthorizedNetworks(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ActiveDirectoryDomain.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ActiveDirectoryDomain.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ActiveDirectoryDomain.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ActiveDirectoryDomain.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ActiveDirectoryDomain.isConstruct"></a>

```typescript
import { ActiveDirectoryDomain } from '@dschmidt/provider-google'

ActiveDirectoryDomain.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ActiveDirectoryDomain.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeoutsOutputReference">ActiveDirectoryDomainTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.adminInput">adminInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.authorizedNetworksInput">authorizedNetworksInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.domainNameInput">domainNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.locationsInput">locationsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.reservedIpRangeInput">reservedIpRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeouts">ActiveDirectoryDomainTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.admin">admin</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.authorizedNetworks">authorizedNetworks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.domainName">domainName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.locations">locations</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.reservedIpRange">reservedIpRange</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.fqdn"></a>

```typescript
public readonly fqdn: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.timeouts"></a>

```typescript
public readonly timeouts: ActiveDirectoryDomainTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeoutsOutputReference">ActiveDirectoryDomainTimeoutsOutputReference</a>

---

##### `adminInput`<sup>Optional</sup> <a name="adminInput" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.adminInput"></a>

```typescript
public readonly adminInput: string;
```

- *Type:* string

---

##### `authorizedNetworksInput`<sup>Optional</sup> <a name="authorizedNetworksInput" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.authorizedNetworksInput"></a>

```typescript
public readonly authorizedNetworksInput: string[];
```

- *Type:* string[]

---

##### `domainNameInput`<sup>Optional</sup> <a name="domainNameInput" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.domainNameInput"></a>

```typescript
public readonly domainNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationsInput`<sup>Optional</sup> <a name="locationsInput" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.locationsInput"></a>

```typescript
public readonly locationsInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `reservedIpRangeInput`<sup>Optional</sup> <a name="reservedIpRangeInput" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.reservedIpRangeInput"></a>

```typescript
public readonly reservedIpRangeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ActiveDirectoryDomainTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeouts">ActiveDirectoryDomainTimeouts</a>

---

##### `admin`<sup>Required</sup> <a name="admin" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.admin"></a>

```typescript
public readonly admin: string;
```

- *Type:* string

---

##### `authorizedNetworks`<sup>Required</sup> <a name="authorizedNetworks" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.authorizedNetworks"></a>

```typescript
public readonly authorizedNetworks: string[];
```

- *Type:* string[]

---

##### `domainName`<sup>Required</sup> <a name="domainName" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.domainName"></a>

```typescript
public readonly domainName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locations`<sup>Required</sup> <a name="locations" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.locations"></a>

```typescript
public readonly locations: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `reservedIpRange`<sup>Required</sup> <a name="reservedIpRange" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.reservedIpRange"></a>

```typescript
public readonly reservedIpRange: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomain.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ActiveDirectoryDomain.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ActiveDirectoryDomainTrust <a name="ActiveDirectoryDomainTrust" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust google_active_directory_domain_trust}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.Initializer"></a>

```typescript
import { ActiveDirectoryDomainTrust } from '@dschmidt/provider-google'

new ActiveDirectoryDomainTrust(scope: Construct, id: string, config: ActiveDirectoryDomainTrustConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig">ActiveDirectoryDomainTrustConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig">ActiveDirectoryDomainTrustConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetSelectiveAuthentication">resetSelectiveAuthentication</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.putTimeouts"></a>

```typescript
public putTimeouts(value: ActiveDirectoryDomainTrustTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts">ActiveDirectoryDomainTrustTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSelectiveAuthentication` <a name="resetSelectiveAuthentication" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetSelectiveAuthentication"></a>

```typescript
public resetSelectiveAuthentication(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.isConstruct"></a>

```typescript
import { ActiveDirectoryDomainTrust } from '@dschmidt/provider-google'

ActiveDirectoryDomainTrust.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeoutsOutputReference">ActiveDirectoryDomainTrustTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.domainInput">domainInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.selectiveAuthenticationInput">selectiveAuthenticationInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.targetDnsIpAddressesInput">targetDnsIpAddressesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.targetDomainNameInput">targetDomainNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts">ActiveDirectoryDomainTrustTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustDirectionInput">trustDirectionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustHandshakeSecretInput">trustHandshakeSecretInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustTypeInput">trustTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.domain">domain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.selectiveAuthentication">selectiveAuthentication</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.targetDnsIpAddresses">targetDnsIpAddresses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.targetDomainName">targetDomainName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustDirection">trustDirection</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustHandshakeSecret">trustHandshakeSecret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustType">trustType</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.timeouts"></a>

```typescript
public readonly timeouts: ActiveDirectoryDomainTrustTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeoutsOutputReference">ActiveDirectoryDomainTrustTimeoutsOutputReference</a>

---

##### `domainInput`<sup>Optional</sup> <a name="domainInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.domainInput"></a>

```typescript
public readonly domainInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `selectiveAuthenticationInput`<sup>Optional</sup> <a name="selectiveAuthenticationInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.selectiveAuthenticationInput"></a>

```typescript
public readonly selectiveAuthenticationInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `targetDnsIpAddressesInput`<sup>Optional</sup> <a name="targetDnsIpAddressesInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.targetDnsIpAddressesInput"></a>

```typescript
public readonly targetDnsIpAddressesInput: string[];
```

- *Type:* string[]

---

##### `targetDomainNameInput`<sup>Optional</sup> <a name="targetDomainNameInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.targetDomainNameInput"></a>

```typescript
public readonly targetDomainNameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ActiveDirectoryDomainTrustTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts">ActiveDirectoryDomainTrustTimeouts</a>

---

##### `trustDirectionInput`<sup>Optional</sup> <a name="trustDirectionInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustDirectionInput"></a>

```typescript
public readonly trustDirectionInput: string;
```

- *Type:* string

---

##### `trustHandshakeSecretInput`<sup>Optional</sup> <a name="trustHandshakeSecretInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustHandshakeSecretInput"></a>

```typescript
public readonly trustHandshakeSecretInput: string;
```

- *Type:* string

---

##### `trustTypeInput`<sup>Optional</sup> <a name="trustTypeInput" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustTypeInput"></a>

```typescript
public readonly trustTypeInput: string;
```

- *Type:* string

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `selectiveAuthentication`<sup>Required</sup> <a name="selectiveAuthentication" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.selectiveAuthentication"></a>

```typescript
public readonly selectiveAuthentication: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `targetDnsIpAddresses`<sup>Required</sup> <a name="targetDnsIpAddresses" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.targetDnsIpAddresses"></a>

```typescript
public readonly targetDnsIpAddresses: string[];
```

- *Type:* string[]

---

##### `targetDomainName`<sup>Required</sup> <a name="targetDomainName" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.targetDomainName"></a>

```typescript
public readonly targetDomainName: string;
```

- *Type:* string

---

##### `trustDirection`<sup>Required</sup> <a name="trustDirection" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustDirection"></a>

```typescript
public readonly trustDirection: string;
```

- *Type:* string

---

##### `trustHandshakeSecret`<sup>Required</sup> <a name="trustHandshakeSecret" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustHandshakeSecret"></a>

```typescript
public readonly trustHandshakeSecret: string;
```

- *Type:* string

---

##### `trustType`<sup>Required</sup> <a name="trustType" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.trustType"></a>

```typescript
public readonly trustType: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ActiveDirectoryDomainTrust.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeEndpointAttachment <a name="ApigeeEndpointAttachment" id="@dschmidt/provider-google.ApigeeEndpointAttachment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment google_apigee_endpoint_attachment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeEndpointAttachment.Initializer"></a>

```typescript
import { ApigeeEndpointAttachment } from '@dschmidt/provider-google'

new ApigeeEndpointAttachment(scope: Construct, id: string, config: ApigeeEndpointAttachmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig">ApigeeEndpointAttachmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeEndpointAttachment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEndpointAttachment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeEndpointAttachment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig">ApigeeEndpointAttachmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeEndpointAttachment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeEndpointAttachment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeEndpointAttachment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEndpointAttachment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeEndpointAttachment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeEndpointAttachment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeEndpointAttachment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeEndpointAttachment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeEndpointAttachment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEndpointAttachment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ApigeeEndpointAttachment.putTimeouts"></a>

```typescript
public putTimeouts(value: ApigeeEndpointAttachmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEndpointAttachment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts">ApigeeEndpointAttachmentTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeEndpointAttachment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ApigeeEndpointAttachment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeEndpointAttachment.isConstruct"></a>

```typescript
import { ApigeeEndpointAttachment } from '@dschmidt/provider-google'

ApigeeEndpointAttachment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeEndpointAttachment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.host">host</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentTimeoutsOutputReference">ApigeeEndpointAttachmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.endpointAttachmentIdInput">endpointAttachmentIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.serviceAttachmentInput">serviceAttachmentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts">ApigeeEndpointAttachmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.endpointAttachmentId">endpointAttachmentId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.serviceAttachment">serviceAttachment</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeEndpointAttachmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentTimeoutsOutputReference">ApigeeEndpointAttachmentTimeoutsOutputReference</a>

---

##### `endpointAttachmentIdInput`<sup>Optional</sup> <a name="endpointAttachmentIdInput" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.endpointAttachmentIdInput"></a>

```typescript
public readonly endpointAttachmentIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `serviceAttachmentInput`<sup>Optional</sup> <a name="serviceAttachmentInput" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.serviceAttachmentInput"></a>

```typescript
public readonly serviceAttachmentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ApigeeEndpointAttachmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts">ApigeeEndpointAttachmentTimeouts</a>

---

##### `endpointAttachmentId`<sup>Required</sup> <a name="endpointAttachmentId" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.endpointAttachmentId"></a>

```typescript
public readonly endpointAttachmentId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `serviceAttachment`<sup>Required</sup> <a name="serviceAttachment" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.serviceAttachment"></a>

```typescript
public readonly serviceAttachment: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeEndpointAttachment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeEnvgroup <a name="ApigeeEnvgroup" id="@dschmidt/provider-google.ApigeeEnvgroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup google_apigee_envgroup}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeEnvgroup.Initializer"></a>

```typescript
import { ApigeeEnvgroup } from '@dschmidt/provider-google'

new ApigeeEnvgroup(scope: Construct, id: string, config: ApigeeEnvgroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig">ApigeeEnvgroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeEnvgroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvgroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeEnvgroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig">ApigeeEnvgroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.resetHostnames">resetHostnames</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeEnvgroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeEnvgroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeEnvgroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvgroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvgroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeEnvgroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvgroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeEnvgroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeEnvgroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ApigeeEnvgroup.putTimeouts"></a>

```typescript
public putTimeouts(value: ApigeeEnvgroupTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvgroup.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeouts">ApigeeEnvgroupTimeouts</a>

---

##### `resetHostnames` <a name="resetHostnames" id="@dschmidt/provider-google.ApigeeEnvgroup.resetHostnames"></a>

```typescript
public resetHostnames(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeEnvgroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ApigeeEnvgroup.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeEnvgroup.isConstruct"></a>

```typescript
import { ApigeeEnvgroup } from '@dschmidt/provider-google'

ApigeeEnvgroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeEnvgroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeoutsOutputReference">ApigeeEnvgroupTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.hostnamesInput">hostnamesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeouts">ApigeeEnvgroupTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.hostnames">hostnames</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeEnvgroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeEnvgroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeEnvgroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeEnvgroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeEnvgroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeEnvgroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeEnvgroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvgroup.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvgroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvgroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvgroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvgroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvgroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvgroup.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeEnvgroup.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeEnvgroupTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeoutsOutputReference">ApigeeEnvgroupTimeoutsOutputReference</a>

---

##### `hostnamesInput`<sup>Optional</sup> <a name="hostnamesInput" id="@dschmidt/provider-google.ApigeeEnvgroup.property.hostnamesInput"></a>

```typescript
public readonly hostnamesInput: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeEnvgroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ApigeeEnvgroup.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.ApigeeEnvgroup.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ApigeeEnvgroup.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ApigeeEnvgroupTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeouts">ApigeeEnvgroupTimeouts</a>

---

##### `hostnames`<sup>Required</sup> <a name="hostnames" id="@dschmidt/provider-google.ApigeeEnvgroup.property.hostnames"></a>

```typescript
public readonly hostnames: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvgroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeEnvgroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvgroup.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeEnvgroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeEnvgroupAttachment <a name="ApigeeEnvgroupAttachment" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment google_apigee_envgroup_attachment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.Initializer"></a>

```typescript
import { ApigeeEnvgroupAttachment } from '@dschmidt/provider-google'

new ApigeeEnvgroupAttachment(scope: Construct, id: string, config: ApigeeEnvgroupAttachmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig">ApigeeEnvgroupAttachmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig">ApigeeEnvgroupAttachmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.putTimeouts"></a>

```typescript
public putTimeouts(value: ApigeeEnvgroupAttachmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts">ApigeeEnvgroupAttachmentTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.isConstruct"></a>

```typescript
import { ApigeeEnvgroupAttachment } from '@dschmidt/provider-google'

ApigeeEnvgroupAttachment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeoutsOutputReference">ApigeeEnvgroupAttachmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.envgroupIdInput">envgroupIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.environmentInput">environmentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts">ApigeeEnvgroupAttachmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.envgroupId">envgroupId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.environment">environment</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeEnvgroupAttachmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeoutsOutputReference">ApigeeEnvgroupAttachmentTimeoutsOutputReference</a>

---

##### `envgroupIdInput`<sup>Optional</sup> <a name="envgroupIdInput" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.envgroupIdInput"></a>

```typescript
public readonly envgroupIdInput: string;
```

- *Type:* string

---

##### `environmentInput`<sup>Optional</sup> <a name="environmentInput" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.environmentInput"></a>

```typescript
public readonly environmentInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ApigeeEnvgroupAttachmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts">ApigeeEnvgroupAttachmentTimeouts</a>

---

##### `envgroupId`<sup>Required</sup> <a name="envgroupId" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.envgroupId"></a>

```typescript
public readonly envgroupId: string;
```

- *Type:* string

---

##### `environment`<sup>Required</sup> <a name="environment" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.environment"></a>

```typescript
public readonly environment: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeEnvgroupAttachment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeEnvironment <a name="ApigeeEnvironment" id="@dschmidt/provider-google.ApigeeEnvironment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_environment google_apigee_environment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeEnvironment.Initializer"></a>

```typescript
import { ApigeeEnvironment } from '@dschmidt/provider-google'

new ApigeeEnvironment(scope: Construct, id: string, config: ApigeeEnvironmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig">ApigeeEnvironmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeEnvironment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeEnvironment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig">ApigeeEnvironmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.putNodeConfig">putNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.resetApiProxyType">resetApiProxyType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.resetDeploymentType">resetDeploymentType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.resetNodeConfig">resetNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeEnvironment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeEnvironment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeEnvironment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvironment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvironment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeEnvironment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvironment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeEnvironment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeEnvironment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putNodeConfig` <a name="putNodeConfig" id="@dschmidt/provider-google.ApigeeEnvironment.putNodeConfig"></a>

```typescript
public putNodeConfig(value: ApigeeEnvironmentNodeConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvironment.putNodeConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentNodeConfig">ApigeeEnvironmentNodeConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ApigeeEnvironment.putTimeouts"></a>

```typescript
public putTimeouts(value: ApigeeEnvironmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvironment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeouts">ApigeeEnvironmentTimeouts</a>

---

##### `resetApiProxyType` <a name="resetApiProxyType" id="@dschmidt/provider-google.ApigeeEnvironment.resetApiProxyType"></a>

```typescript
public resetApiProxyType(): void
```

##### `resetDeploymentType` <a name="resetDeploymentType" id="@dschmidt/provider-google.ApigeeEnvironment.resetDeploymentType"></a>

```typescript
public resetDeploymentType(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ApigeeEnvironment.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.ApigeeEnvironment.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeEnvironment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNodeConfig` <a name="resetNodeConfig" id="@dschmidt/provider-google.ApigeeEnvironment.resetNodeConfig"></a>

```typescript
public resetNodeConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ApigeeEnvironment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeEnvironment.isConstruct"></a>

```typescript
import { ApigeeEnvironment } from '@dschmidt/provider-google'

ApigeeEnvironment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeEnvironment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentNodeConfigOutputReference">ApigeeEnvironmentNodeConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeoutsOutputReference">ApigeeEnvironmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.apiProxyTypeInput">apiProxyTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.deploymentTypeInput">deploymentTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.nodeConfigInput">nodeConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentNodeConfig">ApigeeEnvironmentNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeouts">ApigeeEnvironmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.apiProxyType">apiProxyType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.deploymentType">deploymentType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeEnvironment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeEnvironment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeEnvironment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeEnvironment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeEnvironment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeEnvironment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeEnvironment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvironment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvironment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvironment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvironment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvironment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvironment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvironment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `nodeConfig`<sup>Required</sup> <a name="nodeConfig" id="@dschmidt/provider-google.ApigeeEnvironment.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: ApigeeEnvironmentNodeConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentNodeConfigOutputReference">ApigeeEnvironmentNodeConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeEnvironment.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeEnvironmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeoutsOutputReference">ApigeeEnvironmentTimeoutsOutputReference</a>

---

##### `apiProxyTypeInput`<sup>Optional</sup> <a name="apiProxyTypeInput" id="@dschmidt/provider-google.ApigeeEnvironment.property.apiProxyTypeInput"></a>

```typescript
public readonly apiProxyTypeInput: string;
```

- *Type:* string

---

##### `deploymentTypeInput`<sup>Optional</sup> <a name="deploymentTypeInput" id="@dschmidt/provider-google.ApigeeEnvironment.property.deploymentTypeInput"></a>

```typescript
public readonly deploymentTypeInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ApigeeEnvironment.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.ApigeeEnvironment.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeEnvironment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ApigeeEnvironment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `nodeConfigInput`<sup>Optional</sup> <a name="nodeConfigInput" id="@dschmidt/provider-google.ApigeeEnvironment.property.nodeConfigInput"></a>

```typescript
public readonly nodeConfigInput: ApigeeEnvironmentNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentNodeConfig">ApigeeEnvironmentNodeConfig</a>

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.ApigeeEnvironment.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ApigeeEnvironment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ApigeeEnvironmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeouts">ApigeeEnvironmentTimeouts</a>

---

##### `apiProxyType`<sup>Required</sup> <a name="apiProxyType" id="@dschmidt/provider-google.ApigeeEnvironment.property.apiProxyType"></a>

```typescript
public readonly apiProxyType: string;
```

- *Type:* string

---

##### `deploymentType`<sup>Required</sup> <a name="deploymentType" id="@dschmidt/provider-google.ApigeeEnvironment.property.deploymentType"></a>

```typescript
public readonly deploymentType: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ApigeeEnvironment.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.ApigeeEnvironment.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeEnvironment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvironment.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeEnvironment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeEnvironmentIamBinding <a name="ApigeeEnvironmentIamBinding" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding google_apigee_environment_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.Initializer"></a>

```typescript
import { ApigeeEnvironmentIamBinding } from '@dschmidt/provider-google'

new ApigeeEnvironmentIamBinding(scope: Construct, id: string, config: ApigeeEnvironmentIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig">ApigeeEnvironmentIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig">ApigeeEnvironmentIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.putCondition"></a>

```typescript
public putCondition(value: ApigeeEnvironmentIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition">ApigeeEnvironmentIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.isConstruct"></a>

```typescript
import { ApigeeEnvironmentIamBinding } from '@dschmidt/provider-google'

ApigeeEnvironmentIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConditionOutputReference">ApigeeEnvironmentIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition">ApigeeEnvironmentIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.envIdInput">envIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.envId">envId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.condition"></a>

```typescript
public readonly condition: ApigeeEnvironmentIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConditionOutputReference">ApigeeEnvironmentIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ApigeeEnvironmentIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition">ApigeeEnvironmentIamBindingCondition</a>

---

##### `envIdInput`<sup>Optional</sup> <a name="envIdInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.envIdInput"></a>

```typescript
public readonly envIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `envId`<sup>Required</sup> <a name="envId" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.envId"></a>

```typescript
public readonly envId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeEnvironmentIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeEnvironmentIamMember <a name="ApigeeEnvironmentIamMember" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member google_apigee_environment_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.Initializer"></a>

```typescript
import { ApigeeEnvironmentIamMember } from '@dschmidt/provider-google'

new ApigeeEnvironmentIamMember(scope: Construct, id: string, config: ApigeeEnvironmentIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig">ApigeeEnvironmentIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig">ApigeeEnvironmentIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.putCondition"></a>

```typescript
public putCondition(value: ApigeeEnvironmentIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition">ApigeeEnvironmentIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.isConstruct"></a>

```typescript
import { ApigeeEnvironmentIamMember } from '@dschmidt/provider-google'

ApigeeEnvironmentIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConditionOutputReference">ApigeeEnvironmentIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition">ApigeeEnvironmentIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.envIdInput">envIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.envId">envId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.condition"></a>

```typescript
public readonly condition: ApigeeEnvironmentIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConditionOutputReference">ApigeeEnvironmentIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ApigeeEnvironmentIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition">ApigeeEnvironmentIamMemberCondition</a>

---

##### `envIdInput`<sup>Optional</sup> <a name="envIdInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.envIdInput"></a>

```typescript
public readonly envIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `envId`<sup>Required</sup> <a name="envId" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.envId"></a>

```typescript
public readonly envId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeEnvironmentIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeEnvironmentIamPolicy <a name="ApigeeEnvironmentIamPolicy" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_policy google_apigee_environment_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.Initializer"></a>

```typescript
import { ApigeeEnvironmentIamPolicy } from '@dschmidt/provider-google'

new ApigeeEnvironmentIamPolicy(scope: Construct, id: string, config: ApigeeEnvironmentIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig">ApigeeEnvironmentIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig">ApigeeEnvironmentIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.isConstruct"></a>

```typescript
import { ApigeeEnvironmentIamPolicy } from '@dschmidt/provider-google'

ApigeeEnvironmentIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.envIdInput">envIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.envId">envId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `envIdInput`<sup>Optional</sup> <a name="envIdInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.envIdInput"></a>

```typescript
public readonly envIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `envId`<sup>Required</sup> <a name="envId" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.envId"></a>

```typescript
public readonly envId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeInstance <a name="ApigeeInstance" id="@dschmidt/provider-google.ApigeeInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_instance google_apigee_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeInstance.Initializer"></a>

```typescript
import { ApigeeInstance } from '@dschmidt/provider-google'

new ApigeeInstance(scope: Construct, id: string, config: ApigeeInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig">ApigeeInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeInstanceConfig">ApigeeInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.resetConsumerAcceptList">resetConsumerAcceptList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.resetDiskEncryptionKeyName">resetDiskEncryptionKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.resetIpRange">resetIpRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.resetPeeringCidrRange">resetPeeringCidrRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ApigeeInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: ApigeeInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeInstanceTimeouts">ApigeeInstanceTimeouts</a>

---

##### `resetConsumerAcceptList` <a name="resetConsumerAcceptList" id="@dschmidt/provider-google.ApigeeInstance.resetConsumerAcceptList"></a>

```typescript
public resetConsumerAcceptList(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ApigeeInstance.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDiskEncryptionKeyName` <a name="resetDiskEncryptionKeyName" id="@dschmidt/provider-google.ApigeeInstance.resetDiskEncryptionKeyName"></a>

```typescript
public resetDiskEncryptionKeyName(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.ApigeeInstance.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpRange` <a name="resetIpRange" id="@dschmidt/provider-google.ApigeeInstance.resetIpRange"></a>

```typescript
public resetIpRange(): void
```

##### `resetPeeringCidrRange` <a name="resetPeeringCidrRange" id="@dschmidt/provider-google.ApigeeInstance.resetPeeringCidrRange"></a>

```typescript
public resetPeeringCidrRange(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ApigeeInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeInstance.isConstruct"></a>

```typescript
import { ApigeeInstance } from '@dschmidt/provider-google'

ApigeeInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.host">host</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.port">port</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.serviceAttachment">serviceAttachment</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeInstanceTimeoutsOutputReference">ApigeeInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.consumerAcceptListInput">consumerAcceptListInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.diskEncryptionKeyNameInput">diskEncryptionKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.ipRangeInput">ipRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.peeringCidrRangeInput">peeringCidrRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApigeeInstanceTimeouts">ApigeeInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.consumerAcceptList">consumerAcceptList</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.diskEncryptionKeyName">diskEncryptionKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.ipRange">ipRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.peeringCidrRange">peeringCidrRange</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.ApigeeInstance.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ApigeeInstance.property.port"></a>

```typescript
public readonly port: string;
```

- *Type:* string

---

##### `serviceAttachment`<sup>Required</sup> <a name="serviceAttachment" id="@dschmidt/provider-google.ApigeeInstance.property.serviceAttachment"></a>

```typescript
public readonly serviceAttachment: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeInstance.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeInstanceTimeoutsOutputReference">ApigeeInstanceTimeoutsOutputReference</a>

---

##### `consumerAcceptListInput`<sup>Optional</sup> <a name="consumerAcceptListInput" id="@dschmidt/provider-google.ApigeeInstance.property.consumerAcceptListInput"></a>

```typescript
public readonly consumerAcceptListInput: string[];
```

- *Type:* string[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ApigeeInstance.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `diskEncryptionKeyNameInput`<sup>Optional</sup> <a name="diskEncryptionKeyNameInput" id="@dschmidt/provider-google.ApigeeInstance.property.diskEncryptionKeyNameInput"></a>

```typescript
public readonly diskEncryptionKeyNameInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.ApigeeInstance.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ipRangeInput`<sup>Optional</sup> <a name="ipRangeInput" id="@dschmidt/provider-google.ApigeeInstance.property.ipRangeInput"></a>

```typescript
public readonly ipRangeInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ApigeeInstance.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ApigeeInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.ApigeeInstance.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `peeringCidrRangeInput`<sup>Optional</sup> <a name="peeringCidrRangeInput" id="@dschmidt/provider-google.ApigeeInstance.property.peeringCidrRangeInput"></a>

```typescript
public readonly peeringCidrRangeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ApigeeInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ApigeeInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApigeeInstanceTimeouts">ApigeeInstanceTimeouts</a>

---

##### `consumerAcceptList`<sup>Required</sup> <a name="consumerAcceptList" id="@dschmidt/provider-google.ApigeeInstance.property.consumerAcceptList"></a>

```typescript
public readonly consumerAcceptList: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ApigeeInstance.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `diskEncryptionKeyName`<sup>Required</sup> <a name="diskEncryptionKeyName" id="@dschmidt/provider-google.ApigeeInstance.property.diskEncryptionKeyName"></a>

```typescript
public readonly diskEncryptionKeyName: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.ApigeeInstance.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ipRange`<sup>Required</sup> <a name="ipRange" id="@dschmidt/provider-google.ApigeeInstance.property.ipRange"></a>

```typescript
public readonly ipRange: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ApigeeInstance.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeInstance.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `peeringCidrRange`<sup>Required</sup> <a name="peeringCidrRange" id="@dschmidt/provider-google.ApigeeInstance.property.peeringCidrRange"></a>

```typescript
public readonly peeringCidrRange: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeInstanceAttachment <a name="ApigeeInstanceAttachment" id="@dschmidt/provider-google.ApigeeInstanceAttachment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment google_apigee_instance_attachment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeInstanceAttachment.Initializer"></a>

```typescript
import { ApigeeInstanceAttachment } from '@dschmidt/provider-google'

new ApigeeInstanceAttachment(scope: Construct, id: string, config: ApigeeInstanceAttachmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig">ApigeeInstanceAttachmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeInstanceAttachment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeInstanceAttachment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeInstanceAttachment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig">ApigeeInstanceAttachmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeInstanceAttachment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeInstanceAttachment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeInstanceAttachment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeInstanceAttachment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeInstanceAttachment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeInstanceAttachment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeInstanceAttachment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeInstanceAttachment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeInstanceAttachment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeInstanceAttachment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ApigeeInstanceAttachment.putTimeouts"></a>

```typescript
public putTimeouts(value: ApigeeInstanceAttachmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeInstanceAttachment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts">ApigeeInstanceAttachmentTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeInstanceAttachment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ApigeeInstanceAttachment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeInstanceAttachment.isConstruct"></a>

```typescript
import { ApigeeInstanceAttachment } from '@dschmidt/provider-google'

ApigeeInstanceAttachment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeInstanceAttachment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentTimeoutsOutputReference">ApigeeInstanceAttachmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.environmentInput">environmentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.instanceIdInput">instanceIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts">ApigeeInstanceAttachmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.environment">environment</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.instanceId">instanceId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeInstanceAttachmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentTimeoutsOutputReference">ApigeeInstanceAttachmentTimeoutsOutputReference</a>

---

##### `environmentInput`<sup>Optional</sup> <a name="environmentInput" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.environmentInput"></a>

```typescript
public readonly environmentInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceIdInput`<sup>Optional</sup> <a name="instanceIdInput" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.instanceIdInput"></a>

```typescript
public readonly instanceIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ApigeeInstanceAttachmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts">ApigeeInstanceAttachmentTimeouts</a>

---

##### `environment`<sup>Required</sup> <a name="environment" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.environment"></a>

```typescript
public readonly environment: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceId`<sup>Required</sup> <a name="instanceId" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.instanceId"></a>

```typescript
public readonly instanceId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeInstanceAttachment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApigeeOrganization <a name="ApigeeOrganization" id="@dschmidt/provider-google.ApigeeOrganization"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apigee_organization google_apigee_organization}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApigeeOrganization.Initializer"></a>

```typescript
import { ApigeeOrganization } from '@dschmidt/provider-google'

new ApigeeOrganization(scope: Construct, id: string, config: ApigeeOrganizationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig">ApigeeOrganizationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApigeeOrganization.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeOrganization.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApigeeOrganization.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeOrganizationConfig">ApigeeOrganizationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.putProperties">putProperties</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetAnalyticsRegion">resetAnalyticsRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetAuthorizedNetwork">resetAuthorizedNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetBillingType">resetBillingType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetProperties">resetProperties</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetRetention">resetRetention</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetRuntimeDatabaseEncryptionKeyName">resetRuntimeDatabaseEncryptionKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetRuntimeType">resetRuntimeType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApigeeOrganization.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApigeeOrganization.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApigeeOrganization.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeOrganization.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApigeeOrganization.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApigeeOrganization.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApigeeOrganization.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApigeeOrganization.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApigeeOrganization.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApigeeOrganization.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApigeeOrganization.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putProperties` <a name="putProperties" id="@dschmidt/provider-google.ApigeeOrganization.putProperties"></a>

```typescript
public putProperties(value: ApigeeOrganizationProperties): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeOrganization.putProperties.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeOrganizationProperties">ApigeeOrganizationProperties</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ApigeeOrganization.putTimeouts"></a>

```typescript
public putTimeouts(value: ApigeeOrganizationTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApigeeOrganization.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApigeeOrganizationTimeouts">ApigeeOrganizationTimeouts</a>

---

##### `resetAnalyticsRegion` <a name="resetAnalyticsRegion" id="@dschmidt/provider-google.ApigeeOrganization.resetAnalyticsRegion"></a>

```typescript
public resetAnalyticsRegion(): void
```

##### `resetAuthorizedNetwork` <a name="resetAuthorizedNetwork" id="@dschmidt/provider-google.ApigeeOrganization.resetAuthorizedNetwork"></a>

```typescript
public resetAuthorizedNetwork(): void
```

##### `resetBillingType` <a name="resetBillingType" id="@dschmidt/provider-google.ApigeeOrganization.resetBillingType"></a>

```typescript
public resetBillingType(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ApigeeOrganization.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.ApigeeOrganization.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApigeeOrganization.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProperties` <a name="resetProperties" id="@dschmidt/provider-google.ApigeeOrganization.resetProperties"></a>

```typescript
public resetProperties(): void
```

##### `resetRetention` <a name="resetRetention" id="@dschmidt/provider-google.ApigeeOrganization.resetRetention"></a>

```typescript
public resetRetention(): void
```

##### `resetRuntimeDatabaseEncryptionKeyName` <a name="resetRuntimeDatabaseEncryptionKeyName" id="@dschmidt/provider-google.ApigeeOrganization.resetRuntimeDatabaseEncryptionKeyName"></a>

```typescript
public resetRuntimeDatabaseEncryptionKeyName(): void
```

##### `resetRuntimeType` <a name="resetRuntimeType" id="@dschmidt/provider-google.ApigeeOrganization.resetRuntimeType"></a>

```typescript
public resetRuntimeType(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ApigeeOrganization.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApigeeOrganization.isConstruct"></a>

```typescript
import { ApigeeOrganization } from '@dschmidt/provider-google'

ApigeeOrganization.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApigeeOrganization.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.caCertificate">caCertificate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.properties">properties</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeOrganizationPropertiesOutputReference">ApigeeOrganizationPropertiesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.subscriptionType">subscriptionType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeOrganizationTimeoutsOutputReference">ApigeeOrganizationTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.analyticsRegionInput">analyticsRegionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.authorizedNetworkInput">authorizedNetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.billingTypeInput">billingTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.projectIdInput">projectIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.propertiesInput">propertiesInput</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeOrganizationProperties">ApigeeOrganizationProperties</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.retentionInput">retentionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.runtimeDatabaseEncryptionKeyNameInput">runtimeDatabaseEncryptionKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.runtimeTypeInput">runtimeTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApigeeOrganizationTimeouts">ApigeeOrganizationTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.analyticsRegion">analyticsRegion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.authorizedNetwork">authorizedNetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.billingType">billingType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.projectId">projectId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.retention">retention</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.runtimeDatabaseEncryptionKeyName">runtimeDatabaseEncryptionKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.runtimeType">runtimeType</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApigeeOrganization.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApigeeOrganization.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApigeeOrganization.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApigeeOrganization.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApigeeOrganization.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApigeeOrganization.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApigeeOrganization.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeOrganization.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeOrganization.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeOrganization.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeOrganization.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeOrganization.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeOrganization.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeOrganization.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `caCertificate`<sup>Required</sup> <a name="caCertificate" id="@dschmidt/provider-google.ApigeeOrganization.property.caCertificate"></a>

```typescript
public readonly caCertificate: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeOrganization.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `properties`<sup>Required</sup> <a name="properties" id="@dschmidt/provider-google.ApigeeOrganization.property.properties"></a>

```typescript
public readonly properties: ApigeeOrganizationPropertiesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeOrganizationPropertiesOutputReference">ApigeeOrganizationPropertiesOutputReference</a>

---

##### `subscriptionType`<sup>Required</sup> <a name="subscriptionType" id="@dschmidt/provider-google.ApigeeOrganization.property.subscriptionType"></a>

```typescript
public readonly subscriptionType: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeOrganization.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeOrganizationTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeOrganizationTimeoutsOutputReference">ApigeeOrganizationTimeoutsOutputReference</a>

---

##### `analyticsRegionInput`<sup>Optional</sup> <a name="analyticsRegionInput" id="@dschmidt/provider-google.ApigeeOrganization.property.analyticsRegionInput"></a>

```typescript
public readonly analyticsRegionInput: string;
```

- *Type:* string

---

##### `authorizedNetworkInput`<sup>Optional</sup> <a name="authorizedNetworkInput" id="@dschmidt/provider-google.ApigeeOrganization.property.authorizedNetworkInput"></a>

```typescript
public readonly authorizedNetworkInput: string;
```

- *Type:* string

---

##### `billingTypeInput`<sup>Optional</sup> <a name="billingTypeInput" id="@dschmidt/provider-google.ApigeeOrganization.property.billingTypeInput"></a>

```typescript
public readonly billingTypeInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ApigeeOrganization.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.ApigeeOrganization.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApigeeOrganization.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectIdInput`<sup>Optional</sup> <a name="projectIdInput" id="@dschmidt/provider-google.ApigeeOrganization.property.projectIdInput"></a>

```typescript
public readonly projectIdInput: string;
```

- *Type:* string

---

##### `propertiesInput`<sup>Optional</sup> <a name="propertiesInput" id="@dschmidt/provider-google.ApigeeOrganization.property.propertiesInput"></a>

```typescript
public readonly propertiesInput: ApigeeOrganizationProperties;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeOrganizationProperties">ApigeeOrganizationProperties</a>

---

##### `retentionInput`<sup>Optional</sup> <a name="retentionInput" id="@dschmidt/provider-google.ApigeeOrganization.property.retentionInput"></a>

```typescript
public readonly retentionInput: string;
```

- *Type:* string

---

##### `runtimeDatabaseEncryptionKeyNameInput`<sup>Optional</sup> <a name="runtimeDatabaseEncryptionKeyNameInput" id="@dschmidt/provider-google.ApigeeOrganization.property.runtimeDatabaseEncryptionKeyNameInput"></a>

```typescript
public readonly runtimeDatabaseEncryptionKeyNameInput: string;
```

- *Type:* string

---

##### `runtimeTypeInput`<sup>Optional</sup> <a name="runtimeTypeInput" id="@dschmidt/provider-google.ApigeeOrganization.property.runtimeTypeInput"></a>

```typescript
public readonly runtimeTypeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ApigeeOrganization.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ApigeeOrganizationTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApigeeOrganizationTimeouts">ApigeeOrganizationTimeouts</a>

---

##### `analyticsRegion`<sup>Required</sup> <a name="analyticsRegion" id="@dschmidt/provider-google.ApigeeOrganization.property.analyticsRegion"></a>

```typescript
public readonly analyticsRegion: string;
```

- *Type:* string

---

##### `authorizedNetwork`<sup>Required</sup> <a name="authorizedNetwork" id="@dschmidt/provider-google.ApigeeOrganization.property.authorizedNetwork"></a>

```typescript
public readonly authorizedNetwork: string;
```

- *Type:* string

---

##### `billingType`<sup>Required</sup> <a name="billingType" id="@dschmidt/provider-google.ApigeeOrganization.property.billingType"></a>

```typescript
public readonly billingType: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ApigeeOrganization.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.ApigeeOrganization.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApigeeOrganization.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.ApigeeOrganization.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

---

##### `retention`<sup>Required</sup> <a name="retention" id="@dschmidt/provider-google.ApigeeOrganization.property.retention"></a>

```typescript
public readonly retention: string;
```

- *Type:* string

---

##### `runtimeDatabaseEncryptionKeyName`<sup>Required</sup> <a name="runtimeDatabaseEncryptionKeyName" id="@dschmidt/provider-google.ApigeeOrganization.property.runtimeDatabaseEncryptionKeyName"></a>

```typescript
public readonly runtimeDatabaseEncryptionKeyName: string;
```

- *Type:* string

---

##### `runtimeType`<sup>Required</sup> <a name="runtimeType" id="@dschmidt/provider-google.ApigeeOrganization.property.runtimeType"></a>

```typescript
public readonly runtimeType: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganization.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApigeeOrganization.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ApikeysKey <a name="ApikeysKey" id="@dschmidt/provider-google.ApikeysKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/apikeys_key google_apikeys_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ApikeysKey.Initializer"></a>

```typescript
import { ApikeysKey } from '@dschmidt/provider-google'

new ApikeysKey(scope: Construct, id: string, config: ApikeysKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig">ApikeysKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ApikeysKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApikeysKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ApikeysKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyConfig">ApikeysKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.putRestrictions">putRestrictions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.resetRestrictions">resetRestrictions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ApikeysKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ApikeysKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ApikeysKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApikeysKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ApikeysKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ApikeysKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ApikeysKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ApikeysKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ApikeysKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ApikeysKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ApikeysKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ApikeysKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ApikeysKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ApikeysKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ApikeysKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ApikeysKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ApikeysKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ApikeysKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ApikeysKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ApikeysKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putRestrictions` <a name="putRestrictions" id="@dschmidt/provider-google.ApikeysKey.putRestrictions"></a>

```typescript
public putRestrictions(value: ApikeysKeyRestrictions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApikeysKey.putRestrictions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyRestrictions">ApikeysKeyRestrictions</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ApikeysKey.putTimeouts"></a>

```typescript
public putTimeouts(value: ApikeysKeyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ApikeysKey.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyTimeouts">ApikeysKeyTimeouts</a>

---

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.ApikeysKey.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ApikeysKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ApikeysKey.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRestrictions` <a name="resetRestrictions" id="@dschmidt/provider-google.ApikeysKey.resetRestrictions"></a>

```typescript
public resetRestrictions(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ApikeysKey.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ApikeysKey.isConstruct"></a>

```typescript
import { ApikeysKey } from '@dschmidt/provider-google'

ApikeysKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ApikeysKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.keyString">keyString</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.restrictions">restrictions</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsOutputReference">ApikeysKeyRestrictionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyTimeoutsOutputReference">ApikeysKeyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.restrictionsInput">restrictionsInput</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictions">ApikeysKeyRestrictions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApikeysKeyTimeouts">ApikeysKeyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ApikeysKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ApikeysKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ApikeysKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ApikeysKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ApikeysKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ApikeysKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ApikeysKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApikeysKey.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApikeysKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApikeysKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApikeysKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApikeysKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApikeysKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApikeysKey.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `keyString`<sup>Required</sup> <a name="keyString" id="@dschmidt/provider-google.ApikeysKey.property.keyString"></a>

```typescript
public readonly keyString: string;
```

- *Type:* string

---

##### `restrictions`<sup>Required</sup> <a name="restrictions" id="@dschmidt/provider-google.ApikeysKey.property.restrictions"></a>

```typescript
public readonly restrictions: ApikeysKeyRestrictionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsOutputReference">ApikeysKeyRestrictionsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ApikeysKey.property.timeouts"></a>

```typescript
public readonly timeouts: ApikeysKeyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyTimeoutsOutputReference">ApikeysKeyTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.ApikeysKey.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.ApikeysKey.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ApikeysKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ApikeysKey.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ApikeysKey.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `restrictionsInput`<sup>Optional</sup> <a name="restrictionsInput" id="@dschmidt/provider-google.ApikeysKey.property.restrictionsInput"></a>

```typescript
public readonly restrictionsInput: ApikeysKeyRestrictions;
```

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyRestrictions">ApikeysKeyRestrictions</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ApikeysKey.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ApikeysKeyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApikeysKeyTimeouts">ApikeysKeyTimeouts</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.ApikeysKey.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ApikeysKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApikeysKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ApikeysKey.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ApikeysKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AppEngineApplication <a name="AppEngineApplication" id="@dschmidt/provider-google.AppEngineApplication"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/app_engine_application google_app_engine_application}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AppEngineApplication.Initializer"></a>

```typescript
import { AppEngineApplication } from '@dschmidt/provider-google'

new AppEngineApplication(scope: Construct, id: string, config: AppEngineApplicationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig">AppEngineApplicationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AppEngineApplication.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineApplication.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AppEngineApplication.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationConfig">AppEngineApplicationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.putFeatureSettings">putFeatureSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.putIap">putIap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.resetAuthDomain">resetAuthDomain</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.resetDatabaseType">resetDatabaseType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.resetFeatureSettings">resetFeatureSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.resetIap">resetIap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.resetServingStatus">resetServingStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AppEngineApplication.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AppEngineApplication.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineApplication.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineApplication.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AppEngineApplication.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AppEngineApplication.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AppEngineApplication.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AppEngineApplication.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AppEngineApplication.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AppEngineApplication.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AppEngineApplication.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AppEngineApplication.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AppEngineApplication.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AppEngineApplication.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AppEngineApplication.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AppEngineApplication.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AppEngineApplication.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AppEngineApplication.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AppEngineApplication.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplication.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putFeatureSettings` <a name="putFeatureSettings" id="@dschmidt/provider-google.AppEngineApplication.putFeatureSettings"></a>

```typescript
public putFeatureSettings(value: AppEngineApplicationFeatureSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineApplication.putFeatureSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationFeatureSettings">AppEngineApplicationFeatureSettings</a>

---

##### `putIap` <a name="putIap" id="@dschmidt/provider-google.AppEngineApplication.putIap"></a>

```typescript
public putIap(value: AppEngineApplicationIap): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineApplication.putIap.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationIap">AppEngineApplicationIap</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AppEngineApplication.putTimeouts"></a>

```typescript
public putTimeouts(value: AppEngineApplicationTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineApplication.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationTimeouts">AppEngineApplicationTimeouts</a>

---

##### `resetAuthDomain` <a name="resetAuthDomain" id="@dschmidt/provider-google.AppEngineApplication.resetAuthDomain"></a>

```typescript
public resetAuthDomain(): void
```

##### `resetDatabaseType` <a name="resetDatabaseType" id="@dschmidt/provider-google.AppEngineApplication.resetDatabaseType"></a>

```typescript
public resetDatabaseType(): void
```

##### `resetFeatureSettings` <a name="resetFeatureSettings" id="@dschmidt/provider-google.AppEngineApplication.resetFeatureSettings"></a>

```typescript
public resetFeatureSettings(): void
```

##### `resetIap` <a name="resetIap" id="@dschmidt/provider-google.AppEngineApplication.resetIap"></a>

```typescript
public resetIap(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AppEngineApplication.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.AppEngineApplication.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetServingStatus` <a name="resetServingStatus" id="@dschmidt/provider-google.AppEngineApplication.resetServingStatus"></a>

```typescript
public resetServingStatus(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AppEngineApplication.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AppEngineApplication.isConstruct"></a>

```typescript
import { AppEngineApplication } from '@dschmidt/provider-google'

AppEngineApplication.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AppEngineApplication.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.codeBucket">codeBucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.defaultBucket">defaultBucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.defaultHostname">defaultHostname</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.featureSettings">featureSettings</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationFeatureSettingsOutputReference">AppEngineApplicationFeatureSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.gcrDomain">gcrDomain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.iap">iap</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationIapOutputReference">AppEngineApplicationIapOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationTimeoutsOutputReference">AppEngineApplicationTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.urlDispatchRule">urlDispatchRule</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRuleList">AppEngineApplicationUrlDispatchRuleList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.authDomainInput">authDomainInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.databaseTypeInput">databaseTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.featureSettingsInput">featureSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationFeatureSettings">AppEngineApplicationFeatureSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.iapInput">iapInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationIap">AppEngineApplicationIap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.locationIdInput">locationIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.servingStatusInput">servingStatusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineApplicationTimeouts">AppEngineApplicationTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.authDomain">authDomain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.databaseType">databaseType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.locationId">locationId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.servingStatus">servingStatus</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AppEngineApplication.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AppEngineApplication.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AppEngineApplication.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AppEngineApplication.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AppEngineApplication.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AppEngineApplication.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AppEngineApplication.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineApplication.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineApplication.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineApplication.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineApplication.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineApplication.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineApplication.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineApplication.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.AppEngineApplication.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `codeBucket`<sup>Required</sup> <a name="codeBucket" id="@dschmidt/provider-google.AppEngineApplication.property.codeBucket"></a>

```typescript
public readonly codeBucket: string;
```

- *Type:* string

---

##### `defaultBucket`<sup>Required</sup> <a name="defaultBucket" id="@dschmidt/provider-google.AppEngineApplication.property.defaultBucket"></a>

```typescript
public readonly defaultBucket: string;
```

- *Type:* string

---

##### `defaultHostname`<sup>Required</sup> <a name="defaultHostname" id="@dschmidt/provider-google.AppEngineApplication.property.defaultHostname"></a>

```typescript
public readonly defaultHostname: string;
```

- *Type:* string

---

##### `featureSettings`<sup>Required</sup> <a name="featureSettings" id="@dschmidt/provider-google.AppEngineApplication.property.featureSettings"></a>

```typescript
public readonly featureSettings: AppEngineApplicationFeatureSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationFeatureSettingsOutputReference">AppEngineApplicationFeatureSettingsOutputReference</a>

---

##### `gcrDomain`<sup>Required</sup> <a name="gcrDomain" id="@dschmidt/provider-google.AppEngineApplication.property.gcrDomain"></a>

```typescript
public readonly gcrDomain: string;
```

- *Type:* string

---

##### `iap`<sup>Required</sup> <a name="iap" id="@dschmidt/provider-google.AppEngineApplication.property.iap"></a>

```typescript
public readonly iap: AppEngineApplicationIapOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationIapOutputReference">AppEngineApplicationIapOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineApplication.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineApplication.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineApplicationTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationTimeoutsOutputReference">AppEngineApplicationTimeoutsOutputReference</a>

---

##### `urlDispatchRule`<sup>Required</sup> <a name="urlDispatchRule" id="@dschmidt/provider-google.AppEngineApplication.property.urlDispatchRule"></a>

```typescript
public readonly urlDispatchRule: AppEngineApplicationUrlDispatchRuleList;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRuleList">AppEngineApplicationUrlDispatchRuleList</a>

---

##### `authDomainInput`<sup>Optional</sup> <a name="authDomainInput" id="@dschmidt/provider-google.AppEngineApplication.property.authDomainInput"></a>

```typescript
public readonly authDomainInput: string;
```

- *Type:* string

---

##### `databaseTypeInput`<sup>Optional</sup> <a name="databaseTypeInput" id="@dschmidt/provider-google.AppEngineApplication.property.databaseTypeInput"></a>

```typescript
public readonly databaseTypeInput: string;
```

- *Type:* string

---

##### `featureSettingsInput`<sup>Optional</sup> <a name="featureSettingsInput" id="@dschmidt/provider-google.AppEngineApplication.property.featureSettingsInput"></a>

```typescript
public readonly featureSettingsInput: AppEngineApplicationFeatureSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationFeatureSettings">AppEngineApplicationFeatureSettings</a>

---

##### `iapInput`<sup>Optional</sup> <a name="iapInput" id="@dschmidt/provider-google.AppEngineApplication.property.iapInput"></a>

```typescript
public readonly iapInput: AppEngineApplicationIap;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationIap">AppEngineApplicationIap</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AppEngineApplication.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationIdInput`<sup>Optional</sup> <a name="locationIdInput" id="@dschmidt/provider-google.AppEngineApplication.property.locationIdInput"></a>

```typescript
public readonly locationIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.AppEngineApplication.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `servingStatusInput`<sup>Optional</sup> <a name="servingStatusInput" id="@dschmidt/provider-google.AppEngineApplication.property.servingStatusInput"></a>

```typescript
public readonly servingStatusInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AppEngineApplication.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AppEngineApplicationTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineApplicationTimeouts">AppEngineApplicationTimeouts</a>

---

##### `authDomain`<sup>Required</sup> <a name="authDomain" id="@dschmidt/provider-google.AppEngineApplication.property.authDomain"></a>

```typescript
public readonly authDomain: string;
```

- *Type:* string

---

##### `databaseType`<sup>Required</sup> <a name="databaseType" id="@dschmidt/provider-google.AppEngineApplication.property.databaseType"></a>

```typescript
public readonly databaseType: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineApplication.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `locationId`<sup>Required</sup> <a name="locationId" id="@dschmidt/provider-google.AppEngineApplication.property.locationId"></a>

```typescript
public readonly locationId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.AppEngineApplication.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `servingStatus`<sup>Required</sup> <a name="servingStatus" id="@dschmidt/provider-google.AppEngineApplication.property.servingStatus"></a>

```typescript
public readonly servingStatus: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplication.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AppEngineApplication.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AppEngineApplicationUrlDispatchRules <a name="AppEngineApplicationUrlDispatchRules" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules google_app_engine_application_url_dispatch_rules}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.Initializer"></a>

```typescript
import { AppEngineApplicationUrlDispatchRules } from '@dschmidt/provider-google'

new AppEngineApplicationUrlDispatchRules(scope: Construct, id: string, config: AppEngineApplicationUrlDispatchRulesConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig">AppEngineApplicationUrlDispatchRulesConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig">AppEngineApplicationUrlDispatchRulesConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.putDispatchRules">putDispatchRules</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDispatchRules` <a name="putDispatchRules" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.putDispatchRules"></a>

```typescript
public putDispatchRules(value: IResolvable | AppEngineApplicationUrlDispatchRulesDispatchRules[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.putDispatchRules.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules">AppEngineApplicationUrlDispatchRulesDispatchRules</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.putTimeouts"></a>

```typescript
public putTimeouts(value: AppEngineApplicationUrlDispatchRulesTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts">AppEngineApplicationUrlDispatchRulesTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.isConstruct"></a>

```typescript
import { AppEngineApplicationUrlDispatchRules } from '@dschmidt/provider-google'

AppEngineApplicationUrlDispatchRules.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.dispatchRules">dispatchRules</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRulesList">AppEngineApplicationUrlDispatchRulesDispatchRulesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeoutsOutputReference">AppEngineApplicationUrlDispatchRulesTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.dispatchRulesInput">dispatchRulesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules">AppEngineApplicationUrlDispatchRulesDispatchRules</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts">AppEngineApplicationUrlDispatchRulesTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dispatchRules`<sup>Required</sup> <a name="dispatchRules" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.dispatchRules"></a>

```typescript
public readonly dispatchRules: AppEngineApplicationUrlDispatchRulesDispatchRulesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRulesList">AppEngineApplicationUrlDispatchRulesDispatchRulesList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineApplicationUrlDispatchRulesTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeoutsOutputReference">AppEngineApplicationUrlDispatchRulesTimeoutsOutputReference</a>

---

##### `dispatchRulesInput`<sup>Optional</sup> <a name="dispatchRulesInput" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.dispatchRulesInput"></a>

```typescript
public readonly dispatchRulesInput: IResolvable | AppEngineApplicationUrlDispatchRulesDispatchRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules">AppEngineApplicationUrlDispatchRulesDispatchRules</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AppEngineApplicationUrlDispatchRulesTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts">AppEngineApplicationUrlDispatchRulesTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRules.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AppEngineDomainMapping <a name="AppEngineDomainMapping" id="@dschmidt/provider-google.AppEngineDomainMapping"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping google_app_engine_domain_mapping}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AppEngineDomainMapping.Initializer"></a>

```typescript
import { AppEngineDomainMapping } from '@dschmidt/provider-google'

new AppEngineDomainMapping(scope: Construct, id: string, config: AppEngineDomainMappingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig">AppEngineDomainMappingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AppEngineDomainMapping.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineDomainMapping.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AppEngineDomainMapping.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig">AppEngineDomainMappingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.putSslSettings">putSslSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.resetOverrideStrategy">resetOverrideStrategy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.resetSslSettings">resetSslSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AppEngineDomainMapping.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AppEngineDomainMapping.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineDomainMapping.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineDomainMapping.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AppEngineDomainMapping.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AppEngineDomainMapping.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AppEngineDomainMapping.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AppEngineDomainMapping.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AppEngineDomainMapping.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineDomainMapping.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSslSettings` <a name="putSslSettings" id="@dschmidt/provider-google.AppEngineDomainMapping.putSslSettings"></a>

```typescript
public putSslSettings(value: AppEngineDomainMappingSslSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineDomainMapping.putSslSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineDomainMappingSslSettings">AppEngineDomainMappingSslSettings</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AppEngineDomainMapping.putTimeouts"></a>

```typescript
public putTimeouts(value: AppEngineDomainMappingTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineDomainMapping.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeouts">AppEngineDomainMappingTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AppEngineDomainMapping.resetId"></a>

```typescript
public resetId(): void
```

##### `resetOverrideStrategy` <a name="resetOverrideStrategy" id="@dschmidt/provider-google.AppEngineDomainMapping.resetOverrideStrategy"></a>

```typescript
public resetOverrideStrategy(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.AppEngineDomainMapping.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSslSettings` <a name="resetSslSettings" id="@dschmidt/provider-google.AppEngineDomainMapping.resetSslSettings"></a>

```typescript
public resetSslSettings(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AppEngineDomainMapping.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AppEngineDomainMapping.isConstruct"></a>

```typescript
import { AppEngineDomainMapping } from '@dschmidt/provider-google'

AppEngineDomainMapping.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AppEngineDomainMapping.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.resourceRecords">resourceRecords</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingResourceRecordsList">AppEngineDomainMappingResourceRecordsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.sslSettings">sslSettings</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingSslSettingsOutputReference">AppEngineDomainMappingSslSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeoutsOutputReference">AppEngineDomainMappingTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.domainNameInput">domainNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.overrideStrategyInput">overrideStrategyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.sslSettingsInput">sslSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingSslSettings">AppEngineDomainMappingSslSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeouts">AppEngineDomainMappingTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.domainName">domainName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.overrideStrategy">overrideStrategy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AppEngineDomainMapping.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AppEngineDomainMapping.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AppEngineDomainMapping.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AppEngineDomainMapping.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AppEngineDomainMapping.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AppEngineDomainMapping.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AppEngineDomainMapping.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineDomainMapping.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineDomainMapping.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineDomainMapping.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineDomainMapping.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineDomainMapping.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineDomainMapping.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineDomainMapping.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineDomainMapping.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `resourceRecords`<sup>Required</sup> <a name="resourceRecords" id="@dschmidt/provider-google.AppEngineDomainMapping.property.resourceRecords"></a>

```typescript
public readonly resourceRecords: AppEngineDomainMappingResourceRecordsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineDomainMappingResourceRecordsList">AppEngineDomainMappingResourceRecordsList</a>

---

##### `sslSettings`<sup>Required</sup> <a name="sslSettings" id="@dschmidt/provider-google.AppEngineDomainMapping.property.sslSettings"></a>

```typescript
public readonly sslSettings: AppEngineDomainMappingSslSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineDomainMappingSslSettingsOutputReference">AppEngineDomainMappingSslSettingsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineDomainMapping.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineDomainMappingTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeoutsOutputReference">AppEngineDomainMappingTimeoutsOutputReference</a>

---

##### `domainNameInput`<sup>Optional</sup> <a name="domainNameInput" id="@dschmidt/provider-google.AppEngineDomainMapping.property.domainNameInput"></a>

```typescript
public readonly domainNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AppEngineDomainMapping.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `overrideStrategyInput`<sup>Optional</sup> <a name="overrideStrategyInput" id="@dschmidt/provider-google.AppEngineDomainMapping.property.overrideStrategyInput"></a>

```typescript
public readonly overrideStrategyInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.AppEngineDomainMapping.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `sslSettingsInput`<sup>Optional</sup> <a name="sslSettingsInput" id="@dschmidt/provider-google.AppEngineDomainMapping.property.sslSettingsInput"></a>

```typescript
public readonly sslSettingsInput: AppEngineDomainMappingSslSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineDomainMappingSslSettings">AppEngineDomainMappingSslSettings</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AppEngineDomainMapping.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AppEngineDomainMappingTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeouts">AppEngineDomainMappingTimeouts</a>

---

##### `domainName`<sup>Required</sup> <a name="domainName" id="@dschmidt/provider-google.AppEngineDomainMapping.property.domainName"></a>

```typescript
public readonly domainName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineDomainMapping.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `overrideStrategy`<sup>Required</sup> <a name="overrideStrategy" id="@dschmidt/provider-google.AppEngineDomainMapping.property.overrideStrategy"></a>

```typescript
public readonly overrideStrategy: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.AppEngineDomainMapping.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMapping.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AppEngineDomainMapping.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AppEngineFirewallRule <a name="AppEngineFirewallRule" id="@dschmidt/provider-google.AppEngineFirewallRule"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule google_app_engine_firewall_rule}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AppEngineFirewallRule.Initializer"></a>

```typescript
import { AppEngineFirewallRule } from '@dschmidt/provider-google'

new AppEngineFirewallRule(scope: Construct, id: string, config: AppEngineFirewallRuleConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig">AppEngineFirewallRuleConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AppEngineFirewallRule.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineFirewallRule.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AppEngineFirewallRule.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig">AppEngineFirewallRuleConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.resetPriority">resetPriority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AppEngineFirewallRule.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AppEngineFirewallRule.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineFirewallRule.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFirewallRule.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AppEngineFirewallRule.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AppEngineFirewallRule.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AppEngineFirewallRule.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AppEngineFirewallRule.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AppEngineFirewallRule.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFirewallRule.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AppEngineFirewallRule.putTimeouts"></a>

```typescript
public putTimeouts(value: AppEngineFirewallRuleTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFirewallRule.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeouts">AppEngineFirewallRuleTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.AppEngineFirewallRule.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AppEngineFirewallRule.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPriority` <a name="resetPriority" id="@dschmidt/provider-google.AppEngineFirewallRule.resetPriority"></a>

```typescript
public resetPriority(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.AppEngineFirewallRule.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AppEngineFirewallRule.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AppEngineFirewallRule.isConstruct"></a>

```typescript
import { AppEngineFirewallRule } from '@dschmidt/provider-google'

AppEngineFirewallRule.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AppEngineFirewallRule.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeoutsOutputReference">AppEngineFirewallRuleTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.actionInput">actionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.priorityInput">priorityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.sourceRangeInput">sourceRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeouts">AppEngineFirewallRuleTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.priority">priority</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.sourceRange">sourceRange</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AppEngineFirewallRule.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AppEngineFirewallRule.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AppEngineFirewallRule.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AppEngineFirewallRule.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AppEngineFirewallRule.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AppEngineFirewallRule.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AppEngineFirewallRule.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineFirewallRule.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineFirewallRule.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineFirewallRule.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineFirewallRule.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineFirewallRule.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineFirewallRule.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineFirewallRule.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineFirewallRule.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineFirewallRuleTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeoutsOutputReference">AppEngineFirewallRuleTimeoutsOutputReference</a>

---

##### `actionInput`<sup>Optional</sup> <a name="actionInput" id="@dschmidt/provider-google.AppEngineFirewallRule.property.actionInput"></a>

```typescript
public readonly actionInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.AppEngineFirewallRule.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AppEngineFirewallRule.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `priorityInput`<sup>Optional</sup> <a name="priorityInput" id="@dschmidt/provider-google.AppEngineFirewallRule.property.priorityInput"></a>

```typescript
public readonly priorityInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.AppEngineFirewallRule.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `sourceRangeInput`<sup>Optional</sup> <a name="sourceRangeInput" id="@dschmidt/provider-google.AppEngineFirewallRule.property.sourceRangeInput"></a>

```typescript
public readonly sourceRangeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AppEngineFirewallRule.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AppEngineFirewallRuleTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeouts">AppEngineFirewallRuleTimeouts</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@dschmidt/provider-google.AppEngineFirewallRule.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.AppEngineFirewallRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineFirewallRule.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.AppEngineFirewallRule.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.AppEngineFirewallRule.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `sourceRange`<sup>Required</sup> <a name="sourceRange" id="@dschmidt/provider-google.AppEngineFirewallRule.property.sourceRange"></a>

```typescript
public readonly sourceRange: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRule.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AppEngineFirewallRule.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AppEngineFlexibleAppVersion <a name="AppEngineFlexibleAppVersion" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version google_app_engine_flexible_app_version}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersion } from '@dschmidt/provider-google'

new AppEngineFlexibleAppVersion(scope: Construct, id: string, config: AppEngineFlexibleAppVersionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig">AppEngineFlexibleAppVersionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig">AppEngineFlexibleAppVersionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putApiConfig">putApiConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putAutomaticScaling">putAutomaticScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putDeployment">putDeployment</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putEndpointsApiService">putEndpointsApiService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putEntrypoint">putEntrypoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putHandlers">putHandlers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putLivenessCheck">putLivenessCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putManualScaling">putManualScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putNetwork">putNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putReadinessCheck">putReadinessCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putResources">putResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.putVpcAccessConnector">putVpcAccessConnector</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetApiConfig">resetApiConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetAutomaticScaling">resetAutomaticScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetBetaSettings">resetBetaSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetDefaultExpiration">resetDefaultExpiration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetDeleteServiceOnDestroy">resetDeleteServiceOnDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetDeployment">resetDeployment</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetEndpointsApiService">resetEndpointsApiService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetEntrypoint">resetEntrypoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetEnvVariables">resetEnvVariables</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetHandlers">resetHandlers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetInboundServices">resetInboundServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetInstanceClass">resetInstanceClass</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetManualScaling">resetManualScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetNobuildFilesRegex">resetNobuildFilesRegex</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetNoopOnDestroy">resetNoopOnDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetResources">resetResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetRuntimeApiVersion">resetRuntimeApiVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetRuntimeChannel">resetRuntimeChannel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetRuntimeMainExecutablePath">resetRuntimeMainExecutablePath</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetServingStatus">resetServingStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetVersionId">resetVersionId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetVpcAccessConnector">resetVpcAccessConnector</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putApiConfig` <a name="putApiConfig" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putApiConfig"></a>

```typescript
public putApiConfig(value: AppEngineFlexibleAppVersionApiConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putApiConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig">AppEngineFlexibleAppVersionApiConfig</a>

---

##### `putAutomaticScaling` <a name="putAutomaticScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putAutomaticScaling"></a>

```typescript
public putAutomaticScaling(value: AppEngineFlexibleAppVersionAutomaticScaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putAutomaticScaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling">AppEngineFlexibleAppVersionAutomaticScaling</a>

---

##### `putDeployment` <a name="putDeployment" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putDeployment"></a>

```typescript
public putDeployment(value: AppEngineFlexibleAppVersionDeployment): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putDeployment.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment">AppEngineFlexibleAppVersionDeployment</a>

---

##### `putEndpointsApiService` <a name="putEndpointsApiService" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putEndpointsApiService"></a>

```typescript
public putEndpointsApiService(value: AppEngineFlexibleAppVersionEndpointsApiService): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putEndpointsApiService.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService">AppEngineFlexibleAppVersionEndpointsApiService</a>

---

##### `putEntrypoint` <a name="putEntrypoint" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putEntrypoint"></a>

```typescript
public putEntrypoint(value: AppEngineFlexibleAppVersionEntrypoint): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putEntrypoint.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypoint">AppEngineFlexibleAppVersionEntrypoint</a>

---

##### `putHandlers` <a name="putHandlers" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putHandlers"></a>

```typescript
public putHandlers(value: IResolvable | AppEngineFlexibleAppVersionHandlers[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putHandlers.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers">AppEngineFlexibleAppVersionHandlers</a>[]

---

##### `putLivenessCheck` <a name="putLivenessCheck" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putLivenessCheck"></a>

```typescript
public putLivenessCheck(value: AppEngineFlexibleAppVersionLivenessCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putLivenessCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck">AppEngineFlexibleAppVersionLivenessCheck</a>

---

##### `putManualScaling` <a name="putManualScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putManualScaling"></a>

```typescript
public putManualScaling(value: AppEngineFlexibleAppVersionManualScaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putManualScaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScaling">AppEngineFlexibleAppVersionManualScaling</a>

---

##### `putNetwork` <a name="putNetwork" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putNetwork"></a>

```typescript
public putNetwork(value: AppEngineFlexibleAppVersionNetwork): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putNetwork.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork">AppEngineFlexibleAppVersionNetwork</a>

---

##### `putReadinessCheck` <a name="putReadinessCheck" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putReadinessCheck"></a>

```typescript
public putReadinessCheck(value: AppEngineFlexibleAppVersionReadinessCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putReadinessCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck">AppEngineFlexibleAppVersionReadinessCheck</a>

---

##### `putResources` <a name="putResources" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putResources"></a>

```typescript
public putResources(value: AppEngineFlexibleAppVersionResources): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putResources.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResources">AppEngineFlexibleAppVersionResources</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putTimeouts"></a>

```typescript
public putTimeouts(value: AppEngineFlexibleAppVersionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts">AppEngineFlexibleAppVersionTimeouts</a>

---

##### `putVpcAccessConnector` <a name="putVpcAccessConnector" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putVpcAccessConnector"></a>

```typescript
public putVpcAccessConnector(value: AppEngineFlexibleAppVersionVpcAccessConnector): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.putVpcAccessConnector.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnector">AppEngineFlexibleAppVersionVpcAccessConnector</a>

---

##### `resetApiConfig` <a name="resetApiConfig" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetApiConfig"></a>

```typescript
public resetApiConfig(): void
```

##### `resetAutomaticScaling` <a name="resetAutomaticScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetAutomaticScaling"></a>

```typescript
public resetAutomaticScaling(): void
```

##### `resetBetaSettings` <a name="resetBetaSettings" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetBetaSettings"></a>

```typescript
public resetBetaSettings(): void
```

##### `resetDefaultExpiration` <a name="resetDefaultExpiration" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetDefaultExpiration"></a>

```typescript
public resetDefaultExpiration(): void
```

##### `resetDeleteServiceOnDestroy` <a name="resetDeleteServiceOnDestroy" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetDeleteServiceOnDestroy"></a>

```typescript
public resetDeleteServiceOnDestroy(): void
```

##### `resetDeployment` <a name="resetDeployment" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetDeployment"></a>

```typescript
public resetDeployment(): void
```

##### `resetEndpointsApiService` <a name="resetEndpointsApiService" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetEndpointsApiService"></a>

```typescript
public resetEndpointsApiService(): void
```

##### `resetEntrypoint` <a name="resetEntrypoint" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetEntrypoint"></a>

```typescript
public resetEntrypoint(): void
```

##### `resetEnvVariables` <a name="resetEnvVariables" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetEnvVariables"></a>

```typescript
public resetEnvVariables(): void
```

##### `resetHandlers` <a name="resetHandlers" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetHandlers"></a>

```typescript
public resetHandlers(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInboundServices` <a name="resetInboundServices" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetInboundServices"></a>

```typescript
public resetInboundServices(): void
```

##### `resetInstanceClass` <a name="resetInstanceClass" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetInstanceClass"></a>

```typescript
public resetInstanceClass(): void
```

##### `resetManualScaling` <a name="resetManualScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetManualScaling"></a>

```typescript
public resetManualScaling(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetNobuildFilesRegex` <a name="resetNobuildFilesRegex" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetNobuildFilesRegex"></a>

```typescript
public resetNobuildFilesRegex(): void
```

##### `resetNoopOnDestroy` <a name="resetNoopOnDestroy" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetNoopOnDestroy"></a>

```typescript
public resetNoopOnDestroy(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetResources"></a>

```typescript
public resetResources(): void
```

##### `resetRuntimeApiVersion` <a name="resetRuntimeApiVersion" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetRuntimeApiVersion"></a>

```typescript
public resetRuntimeApiVersion(): void
```

##### `resetRuntimeChannel` <a name="resetRuntimeChannel" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetRuntimeChannel"></a>

```typescript
public resetRuntimeChannel(): void
```

##### `resetRuntimeMainExecutablePath` <a name="resetRuntimeMainExecutablePath" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetRuntimeMainExecutablePath"></a>

```typescript
public resetRuntimeMainExecutablePath(): void
```

##### `resetServingStatus` <a name="resetServingStatus" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetServingStatus"></a>

```typescript
public resetServingStatus(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVersionId` <a name="resetVersionId" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetVersionId"></a>

```typescript
public resetVersionId(): void
```

##### `resetVpcAccessConnector` <a name="resetVpcAccessConnector" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.resetVpcAccessConnector"></a>

```typescript
public resetVpcAccessConnector(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.isConstruct"></a>

```typescript
import { AppEngineFlexibleAppVersion } from '@dschmidt/provider-google'

AppEngineFlexibleAppVersion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.apiConfig">apiConfig</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfigOutputReference">AppEngineFlexibleAppVersionApiConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.automaticScaling">automaticScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingOutputReference">AppEngineFlexibleAppVersionAutomaticScalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.deployment">deployment</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentOutputReference">AppEngineFlexibleAppVersionDeploymentOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.endpointsApiService">endpointsApiService</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiServiceOutputReference">AppEngineFlexibleAppVersionEndpointsApiServiceOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.entrypoint">entrypoint</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypointOutputReference">AppEngineFlexibleAppVersionEntrypointOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.handlers">handlers</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersList">AppEngineFlexibleAppVersionHandlersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.livenessCheck">livenessCheck</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheckOutputReference">AppEngineFlexibleAppVersionLivenessCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.manualScaling">manualScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScalingOutputReference">AppEngineFlexibleAppVersionManualScalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.network">network</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetworkOutputReference">AppEngineFlexibleAppVersionNetworkOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.readinessCheck">readinessCheck</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheckOutputReference">AppEngineFlexibleAppVersionReadinessCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.resources">resources</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesOutputReference">AppEngineFlexibleAppVersionResourcesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeoutsOutputReference">AppEngineFlexibleAppVersionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.vpcAccessConnector">vpcAccessConnector</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnectorOutputReference">AppEngineFlexibleAppVersionVpcAccessConnectorOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.apiConfigInput">apiConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig">AppEngineFlexibleAppVersionApiConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.automaticScalingInput">automaticScalingInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling">AppEngineFlexibleAppVersionAutomaticScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.betaSettingsInput">betaSettingsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.defaultExpirationInput">defaultExpirationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.deleteServiceOnDestroyInput">deleteServiceOnDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.deploymentInput">deploymentInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment">AppEngineFlexibleAppVersionDeployment</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.endpointsApiServiceInput">endpointsApiServiceInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService">AppEngineFlexibleAppVersionEndpointsApiService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.entrypointInput">entrypointInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypoint">AppEngineFlexibleAppVersionEntrypoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.envVariablesInput">envVariablesInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.handlersInput">handlersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers">AppEngineFlexibleAppVersionHandlers</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.inboundServicesInput">inboundServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.instanceClassInput">instanceClassInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.livenessCheckInput">livenessCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck">AppEngineFlexibleAppVersionLivenessCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.manualScalingInput">manualScalingInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScaling">AppEngineFlexibleAppVersionManualScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.networkInput">networkInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork">AppEngineFlexibleAppVersionNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.nobuildFilesRegexInput">nobuildFilesRegexInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.noopOnDestroyInput">noopOnDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.readinessCheckInput">readinessCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck">AppEngineFlexibleAppVersionReadinessCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.resourcesInput">resourcesInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResources">AppEngineFlexibleAppVersionResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeApiVersionInput">runtimeApiVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeChannelInput">runtimeChannelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeInput">runtimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeMainExecutablePathInput">runtimeMainExecutablePathInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.servingStatusInput">servingStatusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts">AppEngineFlexibleAppVersionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.versionIdInput">versionIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.vpcAccessConnectorInput">vpcAccessConnectorInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnector">AppEngineFlexibleAppVersionVpcAccessConnector</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.betaSettings">betaSettings</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.defaultExpiration">defaultExpiration</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.deleteServiceOnDestroy">deleteServiceOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.envVariables">envVariables</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.inboundServices">inboundServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.instanceClass">instanceClass</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.nobuildFilesRegex">nobuildFilesRegex</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.noopOnDestroy">noopOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtime">runtime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeApiVersion">runtimeApiVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeChannel">runtimeChannel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeMainExecutablePath">runtimeMainExecutablePath</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.service">service</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.servingStatus">servingStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.versionId">versionId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `apiConfig`<sup>Required</sup> <a name="apiConfig" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.apiConfig"></a>

```typescript
public readonly apiConfig: AppEngineFlexibleAppVersionApiConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfigOutputReference">AppEngineFlexibleAppVersionApiConfigOutputReference</a>

---

##### `automaticScaling`<sup>Required</sup> <a name="automaticScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.automaticScaling"></a>

```typescript
public readonly automaticScaling: AppEngineFlexibleAppVersionAutomaticScalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingOutputReference">AppEngineFlexibleAppVersionAutomaticScalingOutputReference</a>

---

##### `deployment`<sup>Required</sup> <a name="deployment" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.deployment"></a>

```typescript
public readonly deployment: AppEngineFlexibleAppVersionDeploymentOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentOutputReference">AppEngineFlexibleAppVersionDeploymentOutputReference</a>

---

##### `endpointsApiService`<sup>Required</sup> <a name="endpointsApiService" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.endpointsApiService"></a>

```typescript
public readonly endpointsApiService: AppEngineFlexibleAppVersionEndpointsApiServiceOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiServiceOutputReference">AppEngineFlexibleAppVersionEndpointsApiServiceOutputReference</a>

---

##### `entrypoint`<sup>Required</sup> <a name="entrypoint" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.entrypoint"></a>

```typescript
public readonly entrypoint: AppEngineFlexibleAppVersionEntrypointOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypointOutputReference">AppEngineFlexibleAppVersionEntrypointOutputReference</a>

---

##### `handlers`<sup>Required</sup> <a name="handlers" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.handlers"></a>

```typescript
public readonly handlers: AppEngineFlexibleAppVersionHandlersList;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersList">AppEngineFlexibleAppVersionHandlersList</a>

---

##### `livenessCheck`<sup>Required</sup> <a name="livenessCheck" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.livenessCheck"></a>

```typescript
public readonly livenessCheck: AppEngineFlexibleAppVersionLivenessCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheckOutputReference">AppEngineFlexibleAppVersionLivenessCheckOutputReference</a>

---

##### `manualScaling`<sup>Required</sup> <a name="manualScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.manualScaling"></a>

```typescript
public readonly manualScaling: AppEngineFlexibleAppVersionManualScalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScalingOutputReference">AppEngineFlexibleAppVersionManualScalingOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.network"></a>

```typescript
public readonly network: AppEngineFlexibleAppVersionNetworkOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetworkOutputReference">AppEngineFlexibleAppVersionNetworkOutputReference</a>

---

##### `readinessCheck`<sup>Required</sup> <a name="readinessCheck" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.readinessCheck"></a>

```typescript
public readonly readinessCheck: AppEngineFlexibleAppVersionReadinessCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheckOutputReference">AppEngineFlexibleAppVersionReadinessCheckOutputReference</a>

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.resources"></a>

```typescript
public readonly resources: AppEngineFlexibleAppVersionResourcesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesOutputReference">AppEngineFlexibleAppVersionResourcesOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineFlexibleAppVersionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeoutsOutputReference">AppEngineFlexibleAppVersionTimeoutsOutputReference</a>

---

##### `vpcAccessConnector`<sup>Required</sup> <a name="vpcAccessConnector" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.vpcAccessConnector"></a>

```typescript
public readonly vpcAccessConnector: AppEngineFlexibleAppVersionVpcAccessConnectorOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnectorOutputReference">AppEngineFlexibleAppVersionVpcAccessConnectorOutputReference</a>

---

##### `apiConfigInput`<sup>Optional</sup> <a name="apiConfigInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.apiConfigInput"></a>

```typescript
public readonly apiConfigInput: AppEngineFlexibleAppVersionApiConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig">AppEngineFlexibleAppVersionApiConfig</a>

---

##### `automaticScalingInput`<sup>Optional</sup> <a name="automaticScalingInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.automaticScalingInput"></a>

```typescript
public readonly automaticScalingInput: AppEngineFlexibleAppVersionAutomaticScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling">AppEngineFlexibleAppVersionAutomaticScaling</a>

---

##### `betaSettingsInput`<sup>Optional</sup> <a name="betaSettingsInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.betaSettingsInput"></a>

```typescript
public readonly betaSettingsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `defaultExpirationInput`<sup>Optional</sup> <a name="defaultExpirationInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.defaultExpirationInput"></a>

```typescript
public readonly defaultExpirationInput: string;
```

- *Type:* string

---

##### `deleteServiceOnDestroyInput`<sup>Optional</sup> <a name="deleteServiceOnDestroyInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.deleteServiceOnDestroyInput"></a>

```typescript
public readonly deleteServiceOnDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `deploymentInput`<sup>Optional</sup> <a name="deploymentInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.deploymentInput"></a>

```typescript
public readonly deploymentInput: AppEngineFlexibleAppVersionDeployment;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment">AppEngineFlexibleAppVersionDeployment</a>

---

##### `endpointsApiServiceInput`<sup>Optional</sup> <a name="endpointsApiServiceInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.endpointsApiServiceInput"></a>

```typescript
public readonly endpointsApiServiceInput: AppEngineFlexibleAppVersionEndpointsApiService;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService">AppEngineFlexibleAppVersionEndpointsApiService</a>

---

##### `entrypointInput`<sup>Optional</sup> <a name="entrypointInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.entrypointInput"></a>

```typescript
public readonly entrypointInput: AppEngineFlexibleAppVersionEntrypoint;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypoint">AppEngineFlexibleAppVersionEntrypoint</a>

---

##### `envVariablesInput`<sup>Optional</sup> <a name="envVariablesInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.envVariablesInput"></a>

```typescript
public readonly envVariablesInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `handlersInput`<sup>Optional</sup> <a name="handlersInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.handlersInput"></a>

```typescript
public readonly handlersInput: IResolvable | AppEngineFlexibleAppVersionHandlers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers">AppEngineFlexibleAppVersionHandlers</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `inboundServicesInput`<sup>Optional</sup> <a name="inboundServicesInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.inboundServicesInput"></a>

```typescript
public readonly inboundServicesInput: string[];
```

- *Type:* string[]

---

##### `instanceClassInput`<sup>Optional</sup> <a name="instanceClassInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.instanceClassInput"></a>

```typescript
public readonly instanceClassInput: string;
```

- *Type:* string

---

##### `livenessCheckInput`<sup>Optional</sup> <a name="livenessCheckInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.livenessCheckInput"></a>

```typescript
public readonly livenessCheckInput: AppEngineFlexibleAppVersionLivenessCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck">AppEngineFlexibleAppVersionLivenessCheck</a>

---

##### `manualScalingInput`<sup>Optional</sup> <a name="manualScalingInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.manualScalingInput"></a>

```typescript
public readonly manualScalingInput: AppEngineFlexibleAppVersionManualScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScaling">AppEngineFlexibleAppVersionManualScaling</a>

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.networkInput"></a>

```typescript
public readonly networkInput: AppEngineFlexibleAppVersionNetwork;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork">AppEngineFlexibleAppVersionNetwork</a>

---

##### `nobuildFilesRegexInput`<sup>Optional</sup> <a name="nobuildFilesRegexInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.nobuildFilesRegexInput"></a>

```typescript
public readonly nobuildFilesRegexInput: string;
```

- *Type:* string

---

##### `noopOnDestroyInput`<sup>Optional</sup> <a name="noopOnDestroyInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.noopOnDestroyInput"></a>

```typescript
public readonly noopOnDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `readinessCheckInput`<sup>Optional</sup> <a name="readinessCheckInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.readinessCheckInput"></a>

```typescript
public readonly readinessCheckInput: AppEngineFlexibleAppVersionReadinessCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck">AppEngineFlexibleAppVersionReadinessCheck</a>

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: AppEngineFlexibleAppVersionResources;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResources">AppEngineFlexibleAppVersionResources</a>

---

##### `runtimeApiVersionInput`<sup>Optional</sup> <a name="runtimeApiVersionInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeApiVersionInput"></a>

```typescript
public readonly runtimeApiVersionInput: string;
```

- *Type:* string

---

##### `runtimeChannelInput`<sup>Optional</sup> <a name="runtimeChannelInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeChannelInput"></a>

```typescript
public readonly runtimeChannelInput: string;
```

- *Type:* string

---

##### `runtimeInput`<sup>Optional</sup> <a name="runtimeInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeInput"></a>

```typescript
public readonly runtimeInput: string;
```

- *Type:* string

---

##### `runtimeMainExecutablePathInput`<sup>Optional</sup> <a name="runtimeMainExecutablePathInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeMainExecutablePathInput"></a>

```typescript
public readonly runtimeMainExecutablePathInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `servingStatusInput`<sup>Optional</sup> <a name="servingStatusInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.servingStatusInput"></a>

```typescript
public readonly servingStatusInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AppEngineFlexibleAppVersionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts">AppEngineFlexibleAppVersionTimeouts</a>

---

##### `versionIdInput`<sup>Optional</sup> <a name="versionIdInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.versionIdInput"></a>

```typescript
public readonly versionIdInput: string;
```

- *Type:* string

---

##### `vpcAccessConnectorInput`<sup>Optional</sup> <a name="vpcAccessConnectorInput" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.vpcAccessConnectorInput"></a>

```typescript
public readonly vpcAccessConnectorInput: AppEngineFlexibleAppVersionVpcAccessConnector;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnector">AppEngineFlexibleAppVersionVpcAccessConnector</a>

---

##### `betaSettings`<sup>Required</sup> <a name="betaSettings" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.betaSettings"></a>

```typescript
public readonly betaSettings: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `defaultExpiration`<sup>Required</sup> <a name="defaultExpiration" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.defaultExpiration"></a>

```typescript
public readonly defaultExpiration: string;
```

- *Type:* string

---

##### `deleteServiceOnDestroy`<sup>Required</sup> <a name="deleteServiceOnDestroy" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.deleteServiceOnDestroy"></a>

```typescript
public readonly deleteServiceOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `envVariables`<sup>Required</sup> <a name="envVariables" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.envVariables"></a>

```typescript
public readonly envVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `inboundServices`<sup>Required</sup> <a name="inboundServices" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.inboundServices"></a>

```typescript
public readonly inboundServices: string[];
```

- *Type:* string[]

---

##### `instanceClass`<sup>Required</sup> <a name="instanceClass" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.instanceClass"></a>

```typescript
public readonly instanceClass: string;
```

- *Type:* string

---

##### `nobuildFilesRegex`<sup>Required</sup> <a name="nobuildFilesRegex" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.nobuildFilesRegex"></a>

```typescript
public readonly nobuildFilesRegex: string;
```

- *Type:* string

---

##### `noopOnDestroy`<sup>Required</sup> <a name="noopOnDestroy" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.noopOnDestroy"></a>

```typescript
public readonly noopOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `runtime`<sup>Required</sup> <a name="runtime" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtime"></a>

```typescript
public readonly runtime: string;
```

- *Type:* string

---

##### `runtimeApiVersion`<sup>Required</sup> <a name="runtimeApiVersion" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeApiVersion"></a>

```typescript
public readonly runtimeApiVersion: string;
```

- *Type:* string

---

##### `runtimeChannel`<sup>Required</sup> <a name="runtimeChannel" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeChannel"></a>

```typescript
public readonly runtimeChannel: string;
```

- *Type:* string

---

##### `runtimeMainExecutablePath`<sup>Required</sup> <a name="runtimeMainExecutablePath" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.runtimeMainExecutablePath"></a>

```typescript
public readonly runtimeMainExecutablePath: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

##### `servingStatus`<sup>Required</sup> <a name="servingStatus" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.servingStatus"></a>

```typescript
public readonly servingStatus: string;
```

- *Type:* string

---

##### `versionId`<sup>Required</sup> <a name="versionId" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AppEngineFlexibleAppVersion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AppEngineServiceNetworkSettings <a name="AppEngineServiceNetworkSettings" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings google_app_engine_service_network_settings}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.Initializer"></a>

```typescript
import { AppEngineServiceNetworkSettings } from '@dschmidt/provider-google'

new AppEngineServiceNetworkSettings(scope: Construct, id: string, config: AppEngineServiceNetworkSettingsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig">AppEngineServiceNetworkSettingsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig">AppEngineServiceNetworkSettingsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.putNetworkSettings">putNetworkSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putNetworkSettings` <a name="putNetworkSettings" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.putNetworkSettings"></a>

```typescript
public putNetworkSettings(value: AppEngineServiceNetworkSettingsNetworkSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.putNetworkSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettings">AppEngineServiceNetworkSettingsNetworkSettings</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.putTimeouts"></a>

```typescript
public putTimeouts(value: AppEngineServiceNetworkSettingsTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts">AppEngineServiceNetworkSettingsTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.isConstruct"></a>

```typescript
import { AppEngineServiceNetworkSettings } from '@dschmidt/provider-google'

AppEngineServiceNetworkSettings.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.networkSettings">networkSettings</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettingsOutputReference">AppEngineServiceNetworkSettingsNetworkSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeoutsOutputReference">AppEngineServiceNetworkSettingsTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.networkSettingsInput">networkSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettings">AppEngineServiceNetworkSettingsNetworkSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts">AppEngineServiceNetworkSettingsTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `networkSettings`<sup>Required</sup> <a name="networkSettings" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.networkSettings"></a>

```typescript
public readonly networkSettings: AppEngineServiceNetworkSettingsNetworkSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettingsOutputReference">AppEngineServiceNetworkSettingsNetworkSettingsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineServiceNetworkSettingsTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeoutsOutputReference">AppEngineServiceNetworkSettingsTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `networkSettingsInput`<sup>Optional</sup> <a name="networkSettingsInput" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.networkSettingsInput"></a>

```typescript
public readonly networkSettingsInput: AppEngineServiceNetworkSettingsNetworkSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettings">AppEngineServiceNetworkSettingsNetworkSettings</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AppEngineServiceNetworkSettingsTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts">AppEngineServiceNetworkSettingsTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AppEngineServiceNetworkSettings.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AppEngineServiceSplitTraffic <a name="AppEngineServiceSplitTraffic" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic google_app_engine_service_split_traffic}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.Initializer"></a>

```typescript
import { AppEngineServiceSplitTraffic } from '@dschmidt/provider-google'

new AppEngineServiceSplitTraffic(scope: Construct, id: string, config: AppEngineServiceSplitTrafficConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig">AppEngineServiceSplitTrafficConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig">AppEngineServiceSplitTrafficConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.putSplit">putSplit</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetMigrateTraffic">resetMigrateTraffic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSplit` <a name="putSplit" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.putSplit"></a>

```typescript
public putSplit(value: AppEngineServiceSplitTrafficSplit): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.putSplit.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit">AppEngineServiceSplitTrafficSplit</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.putTimeouts"></a>

```typescript
public putTimeouts(value: AppEngineServiceSplitTrafficTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts">AppEngineServiceSplitTrafficTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMigrateTraffic` <a name="resetMigrateTraffic" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetMigrateTraffic"></a>

```typescript
public resetMigrateTraffic(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.isConstruct"></a>

```typescript
import { AppEngineServiceSplitTraffic } from '@dschmidt/provider-google'

AppEngineServiceSplitTraffic.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.split">split</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficSplitOutputReference">AppEngineServiceSplitTrafficSplitOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeoutsOutputReference">AppEngineServiceSplitTrafficTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.migrateTrafficInput">migrateTrafficInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.splitInput">splitInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit">AppEngineServiceSplitTrafficSplit</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts">AppEngineServiceSplitTrafficTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.migrateTraffic">migrateTraffic</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `split`<sup>Required</sup> <a name="split" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.split"></a>

```typescript
public readonly split: AppEngineServiceSplitTrafficSplitOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficSplitOutputReference">AppEngineServiceSplitTrafficSplitOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineServiceSplitTrafficTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeoutsOutputReference">AppEngineServiceSplitTrafficTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `migrateTrafficInput`<sup>Optional</sup> <a name="migrateTrafficInput" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.migrateTrafficInput"></a>

```typescript
public readonly migrateTrafficInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `splitInput`<sup>Optional</sup> <a name="splitInput" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.splitInput"></a>

```typescript
public readonly splitInput: AppEngineServiceSplitTrafficSplit;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit">AppEngineServiceSplitTrafficSplit</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AppEngineServiceSplitTrafficTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts">AppEngineServiceSplitTrafficTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `migrateTraffic`<sup>Required</sup> <a name="migrateTraffic" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.migrateTraffic"></a>

```typescript
public readonly migrateTraffic: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AppEngineServiceSplitTraffic.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AppEngineStandardAppVersion <a name="AppEngineStandardAppVersion" id="@dschmidt/provider-google.AppEngineStandardAppVersion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version google_app_engine_standard_app_version}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AppEngineStandardAppVersion.Initializer"></a>

```typescript
import { AppEngineStandardAppVersion } from '@dschmidt/provider-google'

new AppEngineStandardAppVersion(scope: Construct, id: string, config: AppEngineStandardAppVersionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig">AppEngineStandardAppVersionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AppEngineStandardAppVersion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineStandardAppVersion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AppEngineStandardAppVersion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig">AppEngineStandardAppVersionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.putAutomaticScaling">putAutomaticScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.putBasicScaling">putBasicScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.putDeployment">putDeployment</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.putEntrypoint">putEntrypoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.putHandlers">putHandlers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.putLibraries">putLibraries</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.putManualScaling">putManualScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.putVpcAccessConnector">putVpcAccessConnector</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetAppEngineApis">resetAppEngineApis</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetAutomaticScaling">resetAutomaticScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetBasicScaling">resetBasicScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetDeleteServiceOnDestroy">resetDeleteServiceOnDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetEnvVariables">resetEnvVariables</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetHandlers">resetHandlers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetInboundServices">resetInboundServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetInstanceClass">resetInstanceClass</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetLibraries">resetLibraries</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetManualScaling">resetManualScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetNoopOnDestroy">resetNoopOnDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetRuntimeApiVersion">resetRuntimeApiVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetThreadsafe">resetThreadsafe</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetVersionId">resetVersionId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.resetVpcAccessConnector">resetVpcAccessConnector</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AppEngineStandardAppVersion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AppEngineStandardAppVersion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineStandardAppVersion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AppEngineStandardAppVersion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AppEngineStandardAppVersion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AppEngineStandardAppVersion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AppEngineStandardAppVersion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AppEngineStandardAppVersion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAutomaticScaling` <a name="putAutomaticScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putAutomaticScaling"></a>

```typescript
public putAutomaticScaling(value: AppEngineStandardAppVersionAutomaticScaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putAutomaticScaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling">AppEngineStandardAppVersionAutomaticScaling</a>

---

##### `putBasicScaling` <a name="putBasicScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putBasicScaling"></a>

```typescript
public putBasicScaling(value: AppEngineStandardAppVersionBasicScaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putBasicScaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling">AppEngineStandardAppVersionBasicScaling</a>

---

##### `putDeployment` <a name="putDeployment" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putDeployment"></a>

```typescript
public putDeployment(value: AppEngineStandardAppVersionDeployment): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putDeployment.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeployment">AppEngineStandardAppVersionDeployment</a>

---

##### `putEntrypoint` <a name="putEntrypoint" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putEntrypoint"></a>

```typescript
public putEntrypoint(value: AppEngineStandardAppVersionEntrypoint): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putEntrypoint.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionEntrypoint">AppEngineStandardAppVersionEntrypoint</a>

---

##### `putHandlers` <a name="putHandlers" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putHandlers"></a>

```typescript
public putHandlers(value: IResolvable | AppEngineStandardAppVersionHandlers[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putHandlers.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers">AppEngineStandardAppVersionHandlers</a>[]

---

##### `putLibraries` <a name="putLibraries" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putLibraries"></a>

```typescript
public putLibraries(value: IResolvable | AppEngineStandardAppVersionLibraries[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putLibraries.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionLibraries">AppEngineStandardAppVersionLibraries</a>[]

---

##### `putManualScaling` <a name="putManualScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putManualScaling"></a>

```typescript
public putManualScaling(value: AppEngineStandardAppVersionManualScaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putManualScaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionManualScaling">AppEngineStandardAppVersionManualScaling</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putTimeouts"></a>

```typescript
public putTimeouts(value: AppEngineStandardAppVersionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts">AppEngineStandardAppVersionTimeouts</a>

---

##### `putVpcAccessConnector` <a name="putVpcAccessConnector" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putVpcAccessConnector"></a>

```typescript
public putVpcAccessConnector(value: AppEngineStandardAppVersionVpcAccessConnector): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AppEngineStandardAppVersion.putVpcAccessConnector.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnector">AppEngineStandardAppVersionVpcAccessConnector</a>

---

##### `resetAppEngineApis` <a name="resetAppEngineApis" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetAppEngineApis"></a>

```typescript
public resetAppEngineApis(): void
```

##### `resetAutomaticScaling` <a name="resetAutomaticScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetAutomaticScaling"></a>

```typescript
public resetAutomaticScaling(): void
```

##### `resetBasicScaling` <a name="resetBasicScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetBasicScaling"></a>

```typescript
public resetBasicScaling(): void
```

##### `resetDeleteServiceOnDestroy` <a name="resetDeleteServiceOnDestroy" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetDeleteServiceOnDestroy"></a>

```typescript
public resetDeleteServiceOnDestroy(): void
```

##### `resetEnvVariables` <a name="resetEnvVariables" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetEnvVariables"></a>

```typescript
public resetEnvVariables(): void
```

##### `resetHandlers` <a name="resetHandlers" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetHandlers"></a>

```typescript
public resetHandlers(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInboundServices` <a name="resetInboundServices" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetInboundServices"></a>

```typescript
public resetInboundServices(): void
```

##### `resetInstanceClass` <a name="resetInstanceClass" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetInstanceClass"></a>

```typescript
public resetInstanceClass(): void
```

##### `resetLibraries` <a name="resetLibraries" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetLibraries"></a>

```typescript
public resetLibraries(): void
```

##### `resetManualScaling` <a name="resetManualScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetManualScaling"></a>

```typescript
public resetManualScaling(): void
```

##### `resetNoopOnDestroy` <a name="resetNoopOnDestroy" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetNoopOnDestroy"></a>

```typescript
public resetNoopOnDestroy(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRuntimeApiVersion` <a name="resetRuntimeApiVersion" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetRuntimeApiVersion"></a>

```typescript
public resetRuntimeApiVersion(): void
```

##### `resetThreadsafe` <a name="resetThreadsafe" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetThreadsafe"></a>

```typescript
public resetThreadsafe(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVersionId` <a name="resetVersionId" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetVersionId"></a>

```typescript
public resetVersionId(): void
```

##### `resetVpcAccessConnector` <a name="resetVpcAccessConnector" id="@dschmidt/provider-google.AppEngineStandardAppVersion.resetVpcAccessConnector"></a>

```typescript
public resetVpcAccessConnector(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AppEngineStandardAppVersion.isConstruct"></a>

```typescript
import { AppEngineStandardAppVersion } from '@dschmidt/provider-google'

AppEngineStandardAppVersion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AppEngineStandardAppVersion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.automaticScaling">automaticScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingOutputReference">AppEngineStandardAppVersionAutomaticScalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.basicScaling">basicScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionBasicScalingOutputReference">AppEngineStandardAppVersionBasicScalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.deployment">deployment</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentOutputReference">AppEngineStandardAppVersionDeploymentOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.entrypoint">entrypoint</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionEntrypointOutputReference">AppEngineStandardAppVersionEntrypointOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.handlers">handlers</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersList">AppEngineStandardAppVersionHandlersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.libraries">libraries</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionLibrariesList">AppEngineStandardAppVersionLibrariesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.manualScaling">manualScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionManualScalingOutputReference">AppEngineStandardAppVersionManualScalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeoutsOutputReference">AppEngineStandardAppVersionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.vpcAccessConnector">vpcAccessConnector</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnectorOutputReference">AppEngineStandardAppVersionVpcAccessConnectorOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.appEngineApisInput">appEngineApisInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.automaticScalingInput">automaticScalingInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling">AppEngineStandardAppVersionAutomaticScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.basicScalingInput">basicScalingInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling">AppEngineStandardAppVersionBasicScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.deleteServiceOnDestroyInput">deleteServiceOnDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.deploymentInput">deploymentInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeployment">AppEngineStandardAppVersionDeployment</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.entrypointInput">entrypointInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionEntrypoint">AppEngineStandardAppVersionEntrypoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.envVariablesInput">envVariablesInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.handlersInput">handlersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers">AppEngineStandardAppVersionHandlers</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.inboundServicesInput">inboundServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.instanceClassInput">instanceClassInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.librariesInput">librariesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionLibraries">AppEngineStandardAppVersionLibraries</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.manualScalingInput">manualScalingInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionManualScaling">AppEngineStandardAppVersionManualScaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.noopOnDestroyInput">noopOnDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.runtimeApiVersionInput">runtimeApiVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.runtimeInput">runtimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.threadsafeInput">threadsafeInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts">AppEngineStandardAppVersionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.versionIdInput">versionIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.vpcAccessConnectorInput">vpcAccessConnectorInput</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnector">AppEngineStandardAppVersionVpcAccessConnector</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.appEngineApis">appEngineApis</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.deleteServiceOnDestroy">deleteServiceOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.envVariables">envVariables</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.inboundServices">inboundServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.instanceClass">instanceClass</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.noopOnDestroy">noopOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.runtime">runtime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.runtimeApiVersion">runtimeApiVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.service">service</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.threadsafe">threadsafe</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.versionId">versionId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `automaticScaling`<sup>Required</sup> <a name="automaticScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.automaticScaling"></a>

```typescript
public readonly automaticScaling: AppEngineStandardAppVersionAutomaticScalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingOutputReference">AppEngineStandardAppVersionAutomaticScalingOutputReference</a>

---

##### `basicScaling`<sup>Required</sup> <a name="basicScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.basicScaling"></a>

```typescript
public readonly basicScaling: AppEngineStandardAppVersionBasicScalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionBasicScalingOutputReference">AppEngineStandardAppVersionBasicScalingOutputReference</a>

---

##### `deployment`<sup>Required</sup> <a name="deployment" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.deployment"></a>

```typescript
public readonly deployment: AppEngineStandardAppVersionDeploymentOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentOutputReference">AppEngineStandardAppVersionDeploymentOutputReference</a>

---

##### `entrypoint`<sup>Required</sup> <a name="entrypoint" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.entrypoint"></a>

```typescript
public readonly entrypoint: AppEngineStandardAppVersionEntrypointOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionEntrypointOutputReference">AppEngineStandardAppVersionEntrypointOutputReference</a>

---

##### `handlers`<sup>Required</sup> <a name="handlers" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.handlers"></a>

```typescript
public readonly handlers: AppEngineStandardAppVersionHandlersList;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersList">AppEngineStandardAppVersionHandlersList</a>

---

##### `libraries`<sup>Required</sup> <a name="libraries" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.libraries"></a>

```typescript
public readonly libraries: AppEngineStandardAppVersionLibrariesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionLibrariesList">AppEngineStandardAppVersionLibrariesList</a>

---

##### `manualScaling`<sup>Required</sup> <a name="manualScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.manualScaling"></a>

```typescript
public readonly manualScaling: AppEngineStandardAppVersionManualScalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionManualScalingOutputReference">AppEngineStandardAppVersionManualScalingOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineStandardAppVersionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeoutsOutputReference">AppEngineStandardAppVersionTimeoutsOutputReference</a>

---

##### `vpcAccessConnector`<sup>Required</sup> <a name="vpcAccessConnector" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.vpcAccessConnector"></a>

```typescript
public readonly vpcAccessConnector: AppEngineStandardAppVersionVpcAccessConnectorOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnectorOutputReference">AppEngineStandardAppVersionVpcAccessConnectorOutputReference</a>

---

##### `appEngineApisInput`<sup>Optional</sup> <a name="appEngineApisInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.appEngineApisInput"></a>

```typescript
public readonly appEngineApisInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `automaticScalingInput`<sup>Optional</sup> <a name="automaticScalingInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.automaticScalingInput"></a>

```typescript
public readonly automaticScalingInput: AppEngineStandardAppVersionAutomaticScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling">AppEngineStandardAppVersionAutomaticScaling</a>

---

##### `basicScalingInput`<sup>Optional</sup> <a name="basicScalingInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.basicScalingInput"></a>

```typescript
public readonly basicScalingInput: AppEngineStandardAppVersionBasicScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling">AppEngineStandardAppVersionBasicScaling</a>

---

##### `deleteServiceOnDestroyInput`<sup>Optional</sup> <a name="deleteServiceOnDestroyInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.deleteServiceOnDestroyInput"></a>

```typescript
public readonly deleteServiceOnDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `deploymentInput`<sup>Optional</sup> <a name="deploymentInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.deploymentInput"></a>

```typescript
public readonly deploymentInput: AppEngineStandardAppVersionDeployment;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeployment">AppEngineStandardAppVersionDeployment</a>

---

##### `entrypointInput`<sup>Optional</sup> <a name="entrypointInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.entrypointInput"></a>

```typescript
public readonly entrypointInput: AppEngineStandardAppVersionEntrypoint;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionEntrypoint">AppEngineStandardAppVersionEntrypoint</a>

---

##### `envVariablesInput`<sup>Optional</sup> <a name="envVariablesInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.envVariablesInput"></a>

```typescript
public readonly envVariablesInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `handlersInput`<sup>Optional</sup> <a name="handlersInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.handlersInput"></a>

```typescript
public readonly handlersInput: IResolvable | AppEngineStandardAppVersionHandlers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers">AppEngineStandardAppVersionHandlers</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `inboundServicesInput`<sup>Optional</sup> <a name="inboundServicesInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.inboundServicesInput"></a>

```typescript
public readonly inboundServicesInput: string[];
```

- *Type:* string[]

---

##### `instanceClassInput`<sup>Optional</sup> <a name="instanceClassInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.instanceClassInput"></a>

```typescript
public readonly instanceClassInput: string;
```

- *Type:* string

---

##### `librariesInput`<sup>Optional</sup> <a name="librariesInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.librariesInput"></a>

```typescript
public readonly librariesInput: IResolvable | AppEngineStandardAppVersionLibraries[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionLibraries">AppEngineStandardAppVersionLibraries</a>[]

---

##### `manualScalingInput`<sup>Optional</sup> <a name="manualScalingInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.manualScalingInput"></a>

```typescript
public readonly manualScalingInput: AppEngineStandardAppVersionManualScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionManualScaling">AppEngineStandardAppVersionManualScaling</a>

---

##### `noopOnDestroyInput`<sup>Optional</sup> <a name="noopOnDestroyInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.noopOnDestroyInput"></a>

```typescript
public readonly noopOnDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `runtimeApiVersionInput`<sup>Optional</sup> <a name="runtimeApiVersionInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.runtimeApiVersionInput"></a>

```typescript
public readonly runtimeApiVersionInput: string;
```

- *Type:* string

---

##### `runtimeInput`<sup>Optional</sup> <a name="runtimeInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.runtimeInput"></a>

```typescript
public readonly runtimeInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `threadsafeInput`<sup>Optional</sup> <a name="threadsafeInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.threadsafeInput"></a>

```typescript
public readonly threadsafeInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AppEngineStandardAppVersionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts">AppEngineStandardAppVersionTimeouts</a>

---

##### `versionIdInput`<sup>Optional</sup> <a name="versionIdInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.versionIdInput"></a>

```typescript
public readonly versionIdInput: string;
```

- *Type:* string

---

##### `vpcAccessConnectorInput`<sup>Optional</sup> <a name="vpcAccessConnectorInput" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.vpcAccessConnectorInput"></a>

```typescript
public readonly vpcAccessConnectorInput: AppEngineStandardAppVersionVpcAccessConnector;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnector">AppEngineStandardAppVersionVpcAccessConnector</a>

---

##### `appEngineApis`<sup>Required</sup> <a name="appEngineApis" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.appEngineApis"></a>

```typescript
public readonly appEngineApis: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `deleteServiceOnDestroy`<sup>Required</sup> <a name="deleteServiceOnDestroy" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.deleteServiceOnDestroy"></a>

```typescript
public readonly deleteServiceOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `envVariables`<sup>Required</sup> <a name="envVariables" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.envVariables"></a>

```typescript
public readonly envVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `inboundServices`<sup>Required</sup> <a name="inboundServices" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.inboundServices"></a>

```typescript
public readonly inboundServices: string[];
```

- *Type:* string[]

---

##### `instanceClass`<sup>Required</sup> <a name="instanceClass" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.instanceClass"></a>

```typescript
public readonly instanceClass: string;
```

- *Type:* string

---

##### `noopOnDestroy`<sup>Required</sup> <a name="noopOnDestroy" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.noopOnDestroy"></a>

```typescript
public readonly noopOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `runtime`<sup>Required</sup> <a name="runtime" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.runtime"></a>

```typescript
public readonly runtime: string;
```

- *Type:* string

---

##### `runtimeApiVersion`<sup>Required</sup> <a name="runtimeApiVersion" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.runtimeApiVersion"></a>

```typescript
public readonly runtimeApiVersion: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

##### `threadsafe`<sup>Required</sup> <a name="threadsafe" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.threadsafe"></a>

```typescript
public readonly threadsafe: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `versionId`<sup>Required</sup> <a name="versionId" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AppEngineStandardAppVersion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ArtifactRegistryRepository <a name="ArtifactRegistryRepository" id="@dschmidt/provider-google.ArtifactRegistryRepository"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository google_artifact_registry_repository}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ArtifactRegistryRepository.Initializer"></a>

```typescript
import { ArtifactRegistryRepository } from '@dschmidt/provider-google'

new ArtifactRegistryRepository(scope: Construct, id: string, config: ArtifactRegistryRepositoryConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig">ArtifactRegistryRepositoryConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ArtifactRegistryRepository.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepository.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ArtifactRegistryRepository.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig">ArtifactRegistryRepositoryConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.putMavenConfig">putMavenConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.resetKmsKeyName">resetKmsKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.resetMavenConfig">resetMavenConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ArtifactRegistryRepository.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ArtifactRegistryRepository.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ArtifactRegistryRepository.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ArtifactRegistryRepository.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepository.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepository.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepository.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ArtifactRegistryRepository.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ArtifactRegistryRepository.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepository.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMavenConfig` <a name="putMavenConfig" id="@dschmidt/provider-google.ArtifactRegistryRepository.putMavenConfig"></a>

```typescript
public putMavenConfig(value: ArtifactRegistryRepositoryMavenConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ArtifactRegistryRepository.putMavenConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig">ArtifactRegistryRepositoryMavenConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ArtifactRegistryRepository.putTimeouts"></a>

```typescript
public putTimeouts(value: ArtifactRegistryRepositoryTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ArtifactRegistryRepository.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts">ArtifactRegistryRepositoryTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ArtifactRegistryRepository.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ArtifactRegistryRepository.resetId"></a>

```typescript
public resetId(): void
```

##### `resetKmsKeyName` <a name="resetKmsKeyName" id="@dschmidt/provider-google.ArtifactRegistryRepository.resetKmsKeyName"></a>

```typescript
public resetKmsKeyName(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ArtifactRegistryRepository.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.ArtifactRegistryRepository.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetMavenConfig` <a name="resetMavenConfig" id="@dschmidt/provider-google.ArtifactRegistryRepository.resetMavenConfig"></a>

```typescript
public resetMavenConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ArtifactRegistryRepository.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ArtifactRegistryRepository.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ArtifactRegistryRepository.isConstruct"></a>

```typescript
import { ArtifactRegistryRepository } from '@dschmidt/provider-google'

ArtifactRegistryRepository.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ArtifactRegistryRepository.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.mavenConfig">mavenConfig</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfigOutputReference">ArtifactRegistryRepositoryMavenConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeoutsOutputReference">ArtifactRegistryRepositoryTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.formatInput">formatInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.kmsKeyNameInput">kmsKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.mavenConfigInput">mavenConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig">ArtifactRegistryRepositoryMavenConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.repositoryIdInput">repositoryIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts">ArtifactRegistryRepositoryTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.format">format</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.repositoryId">repositoryId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `mavenConfig`<sup>Required</sup> <a name="mavenConfig" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.mavenConfig"></a>

```typescript
public readonly mavenConfig: ArtifactRegistryRepositoryMavenConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfigOutputReference">ArtifactRegistryRepositoryMavenConfigOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.timeouts"></a>

```typescript
public readonly timeouts: ArtifactRegistryRepositoryTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeoutsOutputReference">ArtifactRegistryRepositoryTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `formatInput`<sup>Optional</sup> <a name="formatInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.formatInput"></a>

```typescript
public readonly formatInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `kmsKeyNameInput`<sup>Optional</sup> <a name="kmsKeyNameInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.kmsKeyNameInput"></a>

```typescript
public readonly kmsKeyNameInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `mavenConfigInput`<sup>Optional</sup> <a name="mavenConfigInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.mavenConfigInput"></a>

```typescript
public readonly mavenConfigInput: ArtifactRegistryRepositoryMavenConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig">ArtifactRegistryRepositoryMavenConfig</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `repositoryIdInput`<sup>Optional</sup> <a name="repositoryIdInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.repositoryIdInput"></a>

```typescript
public readonly repositoryIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ArtifactRegistryRepositoryTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts">ArtifactRegistryRepositoryTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `format`<sup>Required</sup> <a name="format" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.format"></a>

```typescript
public readonly format: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `repositoryId`<sup>Required</sup> <a name="repositoryId" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.repositoryId"></a>

```typescript
public readonly repositoryId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepository.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ArtifactRegistryRepository.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ArtifactRegistryRepositoryIamBinding <a name="ArtifactRegistryRepositoryIamBinding" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding google_artifact_registry_repository_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryIamBinding } from '@dschmidt/provider-google'

new ArtifactRegistryRepositoryIamBinding(scope: Construct, id: string, config: ArtifactRegistryRepositoryIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig">ArtifactRegistryRepositoryIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig">ArtifactRegistryRepositoryIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.putCondition"></a>

```typescript
public putCondition(value: ArtifactRegistryRepositoryIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition">ArtifactRegistryRepositoryIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.isConstruct"></a>

```typescript
import { ArtifactRegistryRepositoryIamBinding } from '@dschmidt/provider-google'

ArtifactRegistryRepositoryIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConditionOutputReference">ArtifactRegistryRepositoryIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition">ArtifactRegistryRepositoryIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.repositoryInput">repositoryInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.repository">repository</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.condition"></a>

```typescript
public readonly condition: ArtifactRegistryRepositoryIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConditionOutputReference">ArtifactRegistryRepositoryIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ArtifactRegistryRepositoryIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition">ArtifactRegistryRepositoryIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `repositoryInput`<sup>Optional</sup> <a name="repositoryInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.repositoryInput"></a>

```typescript
public readonly repositoryInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ArtifactRegistryRepositoryIamMember <a name="ArtifactRegistryRepositoryIamMember" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member google_artifact_registry_repository_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryIamMember } from '@dschmidt/provider-google'

new ArtifactRegistryRepositoryIamMember(scope: Construct, id: string, config: ArtifactRegistryRepositoryIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig">ArtifactRegistryRepositoryIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig">ArtifactRegistryRepositoryIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.putCondition"></a>

```typescript
public putCondition(value: ArtifactRegistryRepositoryIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition">ArtifactRegistryRepositoryIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.isConstruct"></a>

```typescript
import { ArtifactRegistryRepositoryIamMember } from '@dschmidt/provider-google'

ArtifactRegistryRepositoryIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConditionOutputReference">ArtifactRegistryRepositoryIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition">ArtifactRegistryRepositoryIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.repositoryInput">repositoryInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.repository">repository</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.condition"></a>

```typescript
public readonly condition: ArtifactRegistryRepositoryIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConditionOutputReference">ArtifactRegistryRepositoryIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ArtifactRegistryRepositoryIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition">ArtifactRegistryRepositoryIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `repositoryInput`<sup>Optional</sup> <a name="repositoryInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.repositoryInput"></a>

```typescript
public readonly repositoryInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ArtifactRegistryRepositoryIamPolicy <a name="ArtifactRegistryRepositoryIamPolicy" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy google_artifact_registry_repository_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryIamPolicy } from '@dschmidt/provider-google'

new ArtifactRegistryRepositoryIamPolicy(scope: Construct, id: string, config: ArtifactRegistryRepositoryIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig">ArtifactRegistryRepositoryIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig">ArtifactRegistryRepositoryIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.isConstruct"></a>

```typescript
import { ArtifactRegistryRepositoryIamPolicy } from '@dschmidt/provider-google'

ArtifactRegistryRepositoryIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.repositoryInput">repositoryInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.repository">repository</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `repositoryInput`<sup>Optional</sup> <a name="repositoryInput" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.repositoryInput"></a>

```typescript
public readonly repositoryInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### AssuredWorkloadsWorkload <a name="AssuredWorkloadsWorkload" id="@dschmidt/provider-google.AssuredWorkloadsWorkload"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload google_assured_workloads_workload}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.Initializer"></a>

```typescript
import { AssuredWorkloadsWorkload } from '@dschmidt/provider-google'

new AssuredWorkloadsWorkload(scope: Construct, id: string, config: AssuredWorkloadsWorkloadConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig">AssuredWorkloadsWorkloadConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig">AssuredWorkloadsWorkloadConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.putKmsSettings">putKmsSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.putResourceSettings">putResourceSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.resetKmsSettings">resetKmsSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.resetProvisionedResourcesParent">resetProvisionedResourcesParent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.resetResourceSettings">resetResourceSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putKmsSettings` <a name="putKmsSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.putKmsSettings"></a>

```typescript
public putKmsSettings(value: AssuredWorkloadsWorkloadKmsSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.putKmsSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings">AssuredWorkloadsWorkloadKmsSettings</a>

---

##### `putResourceSettings` <a name="putResourceSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.putResourceSettings"></a>

```typescript
public putResourceSettings(value: IResolvable | AssuredWorkloadsWorkloadResourceSettings[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.putResourceSettings.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings">AssuredWorkloadsWorkloadResourceSettings</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.putTimeouts"></a>

```typescript
public putTimeouts(value: AssuredWorkloadsWorkloadTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts">AssuredWorkloadsWorkloadTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.resetId"></a>

```typescript
public resetId(): void
```

##### `resetKmsSettings` <a name="resetKmsSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.resetKmsSettings"></a>

```typescript
public resetKmsSettings(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProvisionedResourcesParent` <a name="resetProvisionedResourcesParent" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.resetProvisionedResourcesParent"></a>

```typescript
public resetProvisionedResourcesParent(): void
```

##### `resetResourceSettings` <a name="resetResourceSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.resetResourceSettings"></a>

```typescript
public resetResourceSettings(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.isConstruct"></a>

```typescript
import { AssuredWorkloadsWorkload } from '@dschmidt/provider-google'

AssuredWorkloadsWorkload.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.kmsSettings">kmsSettings</a></code> | <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettingsOutputReference">AssuredWorkloadsWorkloadKmsSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.resources">resources</a></code> | <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourcesList">AssuredWorkloadsWorkloadResourcesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.resourceSettings">resourceSettings</a></code> | <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettingsList">AssuredWorkloadsWorkloadResourceSettingsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeoutsOutputReference">AssuredWorkloadsWorkloadTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.billingAccountInput">billingAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.complianceRegimeInput">complianceRegimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.kmsSettingsInput">kmsSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings">AssuredWorkloadsWorkloadKmsSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.organizationInput">organizationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.provisionedResourcesParentInput">provisionedResourcesParentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.resourceSettingsInput">resourceSettingsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings">AssuredWorkloadsWorkloadResourceSettings</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts">AssuredWorkloadsWorkloadTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.billingAccount">billingAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.complianceRegime">complianceRegime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.organization">organization</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.provisionedResourcesParent">provisionedResourcesParent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `kmsSettings`<sup>Required</sup> <a name="kmsSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.kmsSettings"></a>

```typescript
public readonly kmsSettings: AssuredWorkloadsWorkloadKmsSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettingsOutputReference">AssuredWorkloadsWorkloadKmsSettingsOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.resources"></a>

```typescript
public readonly resources: AssuredWorkloadsWorkloadResourcesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourcesList">AssuredWorkloadsWorkloadResourcesList</a>

---

##### `resourceSettings`<sup>Required</sup> <a name="resourceSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.resourceSettings"></a>

```typescript
public readonly resourceSettings: AssuredWorkloadsWorkloadResourceSettingsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettingsList">AssuredWorkloadsWorkloadResourceSettingsList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.timeouts"></a>

```typescript
public readonly timeouts: AssuredWorkloadsWorkloadTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeoutsOutputReference">AssuredWorkloadsWorkloadTimeoutsOutputReference</a>

---

##### `billingAccountInput`<sup>Optional</sup> <a name="billingAccountInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.billingAccountInput"></a>

```typescript
public readonly billingAccountInput: string;
```

- *Type:* string

---

##### `complianceRegimeInput`<sup>Optional</sup> <a name="complianceRegimeInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.complianceRegimeInput"></a>

```typescript
public readonly complianceRegimeInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `kmsSettingsInput`<sup>Optional</sup> <a name="kmsSettingsInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.kmsSettingsInput"></a>

```typescript
public readonly kmsSettingsInput: AssuredWorkloadsWorkloadKmsSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings">AssuredWorkloadsWorkloadKmsSettings</a>

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `organizationInput`<sup>Optional</sup> <a name="organizationInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.organizationInput"></a>

```typescript
public readonly organizationInput: string;
```

- *Type:* string

---

##### `provisionedResourcesParentInput`<sup>Optional</sup> <a name="provisionedResourcesParentInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.provisionedResourcesParentInput"></a>

```typescript
public readonly provisionedResourcesParentInput: string;
```

- *Type:* string

---

##### `resourceSettingsInput`<sup>Optional</sup> <a name="resourceSettingsInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.resourceSettingsInput"></a>

```typescript
public readonly resourceSettingsInput: IResolvable | AssuredWorkloadsWorkloadResourceSettings[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings">AssuredWorkloadsWorkloadResourceSettings</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | AssuredWorkloadsWorkloadTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts">AssuredWorkloadsWorkloadTimeouts</a>

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

---

##### `complianceRegime`<sup>Required</sup> <a name="complianceRegime" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.complianceRegime"></a>

```typescript
public readonly complianceRegime: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

---

##### `provisionedResourcesParent`<sup>Required</sup> <a name="provisionedResourcesParent" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.provisionedResourcesParent"></a>

```typescript
public readonly provisionedResourcesParent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkload.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.AssuredWorkloadsWorkload.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryConnection <a name="BigqueryConnection" id="@dschmidt/provider-google.BigqueryConnection"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection google_bigquery_connection}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryConnection.Initializer"></a>

```typescript
import { BigqueryConnection } from '@dschmidt/provider-google'

new BigqueryConnection(scope: Construct, id: string, config?: BigqueryConnectionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig">BigqueryConnectionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryConnection.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnection.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.BigqueryConnection.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionConfig">BigqueryConnectionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.putAws">putAws</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.putAzure">putAzure</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.putCloudResource">putCloudResource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.putCloudSpanner">putCloudSpanner</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.putCloudSql">putCloudSql</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetAws">resetAws</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetAzure">resetAzure</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetCloudResource">resetCloudResource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetCloudSpanner">resetCloudSpanner</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetCloudSql">resetCloudSql</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetConnectionId">resetConnectionId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetFriendlyName">resetFriendlyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryConnection.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryConnection.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryConnection.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnection.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryConnection.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryConnection.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryConnection.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryConnection.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryConnection.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryConnection.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryConnection.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryConnection.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryConnection.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryConnection.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryConnection.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryConnection.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryConnection.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryConnection.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryConnection.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnection.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAws` <a name="putAws" id="@dschmidt/provider-google.BigqueryConnection.putAws"></a>

```typescript
public putAws(value: BigqueryConnectionAws): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnection.putAws.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionAws">BigqueryConnectionAws</a>

---

##### `putAzure` <a name="putAzure" id="@dschmidt/provider-google.BigqueryConnection.putAzure"></a>

```typescript
public putAzure(value: BigqueryConnectionAzure): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnection.putAzure.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionAzure">BigqueryConnectionAzure</a>

---

##### `putCloudResource` <a name="putCloudResource" id="@dschmidt/provider-google.BigqueryConnection.putCloudResource"></a>

```typescript
public putCloudResource(value: BigqueryConnectionCloudResource): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnection.putCloudResource.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudResource">BigqueryConnectionCloudResource</a>

---

##### `putCloudSpanner` <a name="putCloudSpanner" id="@dschmidt/provider-google.BigqueryConnection.putCloudSpanner"></a>

```typescript
public putCloudSpanner(value: BigqueryConnectionCloudSpanner): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnection.putCloudSpanner.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudSpanner">BigqueryConnectionCloudSpanner</a>

---

##### `putCloudSql` <a name="putCloudSql" id="@dschmidt/provider-google.BigqueryConnection.putCloudSql"></a>

```typescript
public putCloudSql(value: BigqueryConnectionCloudSql): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnection.putCloudSql.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudSql">BigqueryConnectionCloudSql</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BigqueryConnection.putTimeouts"></a>

```typescript
public putTimeouts(value: BigqueryConnectionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnection.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionTimeouts">BigqueryConnectionTimeouts</a>

---

##### `resetAws` <a name="resetAws" id="@dschmidt/provider-google.BigqueryConnection.resetAws"></a>

```typescript
public resetAws(): void
```

##### `resetAzure` <a name="resetAzure" id="@dschmidt/provider-google.BigqueryConnection.resetAzure"></a>

```typescript
public resetAzure(): void
```

##### `resetCloudResource` <a name="resetCloudResource" id="@dschmidt/provider-google.BigqueryConnection.resetCloudResource"></a>

```typescript
public resetCloudResource(): void
```

##### `resetCloudSpanner` <a name="resetCloudSpanner" id="@dschmidt/provider-google.BigqueryConnection.resetCloudSpanner"></a>

```typescript
public resetCloudSpanner(): void
```

##### `resetCloudSql` <a name="resetCloudSql" id="@dschmidt/provider-google.BigqueryConnection.resetCloudSql"></a>

```typescript
public resetCloudSql(): void
```

##### `resetConnectionId` <a name="resetConnectionId" id="@dschmidt/provider-google.BigqueryConnection.resetConnectionId"></a>

```typescript
public resetConnectionId(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.BigqueryConnection.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetFriendlyName` <a name="resetFriendlyName" id="@dschmidt/provider-google.BigqueryConnection.resetFriendlyName"></a>

```typescript
public resetFriendlyName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryConnection.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.BigqueryConnection.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryConnection.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BigqueryConnection.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryConnection.isConstruct"></a>

```typescript
import { BigqueryConnection } from '@dschmidt/provider-google'

BigqueryConnection.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryConnection.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.aws">aws</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionAwsOutputReference">BigqueryConnectionAwsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.azure">azure</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionAzureOutputReference">BigqueryConnectionAzureOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.cloudResource">cloudResource</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudResourceOutputReference">BigqueryConnectionCloudResourceOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.cloudSpanner">cloudSpanner</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSpannerOutputReference">BigqueryConnectionCloudSpannerOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.cloudSql">cloudSql</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSqlOutputReference">BigqueryConnectionCloudSqlOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.hasCredential">hasCredential</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionTimeoutsOutputReference">BigqueryConnectionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.awsInput">awsInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionAws">BigqueryConnectionAws</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.azureInput">azureInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionAzure">BigqueryConnectionAzure</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.cloudResourceInput">cloudResourceInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudResource">BigqueryConnectionCloudResource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.cloudSpannerInput">cloudSpannerInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSpanner">BigqueryConnectionCloudSpanner</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.cloudSqlInput">cloudSqlInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSql">BigqueryConnectionCloudSql</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.connectionIdInput">connectionIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.friendlyNameInput">friendlyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryConnectionTimeouts">BigqueryConnectionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.connectionId">connectionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.friendlyName">friendlyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryConnection.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryConnection.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryConnection.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryConnection.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryConnection.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryConnection.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryConnection.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryConnection.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryConnection.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryConnection.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryConnection.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryConnection.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryConnection.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryConnection.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `aws`<sup>Required</sup> <a name="aws" id="@dschmidt/provider-google.BigqueryConnection.property.aws"></a>

```typescript
public readonly aws: BigqueryConnectionAwsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionAwsOutputReference">BigqueryConnectionAwsOutputReference</a>

---

##### `azure`<sup>Required</sup> <a name="azure" id="@dschmidt/provider-google.BigqueryConnection.property.azure"></a>

```typescript
public readonly azure: BigqueryConnectionAzureOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionAzureOutputReference">BigqueryConnectionAzureOutputReference</a>

---

##### `cloudResource`<sup>Required</sup> <a name="cloudResource" id="@dschmidt/provider-google.BigqueryConnection.property.cloudResource"></a>

```typescript
public readonly cloudResource: BigqueryConnectionCloudResourceOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudResourceOutputReference">BigqueryConnectionCloudResourceOutputReference</a>

---

##### `cloudSpanner`<sup>Required</sup> <a name="cloudSpanner" id="@dschmidt/provider-google.BigqueryConnection.property.cloudSpanner"></a>

```typescript
public readonly cloudSpanner: BigqueryConnectionCloudSpannerOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudSpannerOutputReference">BigqueryConnectionCloudSpannerOutputReference</a>

---

##### `cloudSql`<sup>Required</sup> <a name="cloudSql" id="@dschmidt/provider-google.BigqueryConnection.property.cloudSql"></a>

```typescript
public readonly cloudSql: BigqueryConnectionCloudSqlOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudSqlOutputReference">BigqueryConnectionCloudSqlOutputReference</a>

---

##### `hasCredential`<sup>Required</sup> <a name="hasCredential" id="@dschmidt/provider-google.BigqueryConnection.property.hasCredential"></a>

```typescript
public readonly hasCredential: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigqueryConnection.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryConnection.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryConnectionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionTimeoutsOutputReference">BigqueryConnectionTimeoutsOutputReference</a>

---

##### `awsInput`<sup>Optional</sup> <a name="awsInput" id="@dschmidt/provider-google.BigqueryConnection.property.awsInput"></a>

```typescript
public readonly awsInput: BigqueryConnectionAws;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionAws">BigqueryConnectionAws</a>

---

##### `azureInput`<sup>Optional</sup> <a name="azureInput" id="@dschmidt/provider-google.BigqueryConnection.property.azureInput"></a>

```typescript
public readonly azureInput: BigqueryConnectionAzure;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionAzure">BigqueryConnectionAzure</a>

---

##### `cloudResourceInput`<sup>Optional</sup> <a name="cloudResourceInput" id="@dschmidt/provider-google.BigqueryConnection.property.cloudResourceInput"></a>

```typescript
public readonly cloudResourceInput: BigqueryConnectionCloudResource;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudResource">BigqueryConnectionCloudResource</a>

---

##### `cloudSpannerInput`<sup>Optional</sup> <a name="cloudSpannerInput" id="@dschmidt/provider-google.BigqueryConnection.property.cloudSpannerInput"></a>

```typescript
public readonly cloudSpannerInput: BigqueryConnectionCloudSpanner;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudSpanner">BigqueryConnectionCloudSpanner</a>

---

##### `cloudSqlInput`<sup>Optional</sup> <a name="cloudSqlInput" id="@dschmidt/provider-google.BigqueryConnection.property.cloudSqlInput"></a>

```typescript
public readonly cloudSqlInput: BigqueryConnectionCloudSql;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudSql">BigqueryConnectionCloudSql</a>

---

##### `connectionIdInput`<sup>Optional</sup> <a name="connectionIdInput" id="@dschmidt/provider-google.BigqueryConnection.property.connectionIdInput"></a>

```typescript
public readonly connectionIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.BigqueryConnection.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `friendlyNameInput`<sup>Optional</sup> <a name="friendlyNameInput" id="@dschmidt/provider-google.BigqueryConnection.property.friendlyNameInput"></a>

```typescript
public readonly friendlyNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryConnection.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.BigqueryConnection.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryConnection.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BigqueryConnection.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BigqueryConnectionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryConnectionTimeouts">BigqueryConnectionTimeouts</a>

---

##### `connectionId`<sup>Required</sup> <a name="connectionId" id="@dschmidt/provider-google.BigqueryConnection.property.connectionId"></a>

```typescript
public readonly connectionId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.BigqueryConnection.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `friendlyName`<sup>Required</sup> <a name="friendlyName" id="@dschmidt/provider-google.BigqueryConnection.property.friendlyName"></a>

```typescript
public readonly friendlyName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnection.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryConnection.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryConnection.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnection.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryConnection.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryConnectionIamBinding <a name="BigqueryConnectionIamBinding" id="@dschmidt/provider-google.BigqueryConnectionIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding google_bigquery_connection_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.Initializer"></a>

```typescript
import { BigqueryConnectionIamBinding } from '@dschmidt/provider-google'

new BigqueryConnectionIamBinding(scope: Construct, id: string, config: BigqueryConnectionIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig">BigqueryConnectionIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig">BigqueryConnectionIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.putCondition"></a>

```typescript
public putCondition(value: BigqueryConnectionIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingCondition">BigqueryConnectionIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.isConstruct"></a>

```typescript
import { BigqueryConnectionIamBinding } from '@dschmidt/provider-google'

BigqueryConnectionIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConditionOutputReference">BigqueryConnectionIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingCondition">BigqueryConnectionIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.connectionIdInput">connectionIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.connectionId">connectionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.condition"></a>

```typescript
public readonly condition: BigqueryConnectionIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConditionOutputReference">BigqueryConnectionIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigqueryConnectionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingCondition">BigqueryConnectionIamBindingCondition</a>

---

##### `connectionIdInput`<sup>Optional</sup> <a name="connectionIdInput" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.connectionIdInput"></a>

```typescript
public readonly connectionIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `connectionId`<sup>Required</sup> <a name="connectionId" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.connectionId"></a>

```typescript
public readonly connectionId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryConnectionIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryConnectionIamMember <a name="BigqueryConnectionIamMember" id="@dschmidt/provider-google.BigqueryConnectionIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member google_bigquery_connection_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryConnectionIamMember.Initializer"></a>

```typescript
import { BigqueryConnectionIamMember } from '@dschmidt/provider-google'

new BigqueryConnectionIamMember(scope: Construct, id: string, config: BigqueryConnectionIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig">BigqueryConnectionIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryConnectionIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryConnectionIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig">BigqueryConnectionIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryConnectionIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryConnectionIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryConnectionIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnectionIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryConnectionIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryConnectionIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryConnectionIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryConnectionIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryConnectionIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigqueryConnectionIamMember.putCondition"></a>

```typescript
public putCondition(value: BigqueryConnectionIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnectionIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberCondition">BigqueryConnectionIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigqueryConnectionIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryConnectionIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.BigqueryConnectionIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryConnectionIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryConnectionIamMember.isConstruct"></a>

```typescript
import { BigqueryConnectionIamMember } from '@dschmidt/provider-google'

BigqueryConnectionIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryConnectionIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConditionOutputReference">BigqueryConnectionIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberCondition">BigqueryConnectionIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.connectionIdInput">connectionIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.connectionId">connectionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.condition"></a>

```typescript
public readonly condition: BigqueryConnectionIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConditionOutputReference">BigqueryConnectionIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigqueryConnectionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberCondition">BigqueryConnectionIamMemberCondition</a>

---

##### `connectionIdInput`<sup>Optional</sup> <a name="connectionIdInput" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.connectionIdInput"></a>

```typescript
public readonly connectionIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `connectionId`<sup>Required</sup> <a name="connectionId" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.connectionId"></a>

```typescript
public readonly connectionId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryConnectionIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryConnectionIamPolicy <a name="BigqueryConnectionIamPolicy" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy google_bigquery_connection_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.Initializer"></a>

```typescript
import { BigqueryConnectionIamPolicy } from '@dschmidt/provider-google'

new BigqueryConnectionIamPolicy(scope: Construct, id: string, config: BigqueryConnectionIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig">BigqueryConnectionIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig">BigqueryConnectionIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.isConstruct"></a>

```typescript
import { BigqueryConnectionIamPolicy } from '@dschmidt/provider-google'

BigqueryConnectionIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.connectionIdInput">connectionIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.connectionId">connectionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `connectionIdInput`<sup>Optional</sup> <a name="connectionIdInput" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.connectionIdInput"></a>

```typescript
public readonly connectionIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `connectionId`<sup>Required</sup> <a name="connectionId" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.connectionId"></a>

```typescript
public readonly connectionId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryConnectionIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryDataset <a name="BigqueryDataset" id="@dschmidt/provider-google.BigqueryDataset"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset google_bigquery_dataset}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryDataset.Initializer"></a>

```typescript
import { BigqueryDataset } from '@dschmidt/provider-google'

new BigqueryDataset(scope: Construct, id: string, config: BigqueryDatasetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig">BigqueryDatasetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryDataset.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDataset.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryDataset.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetConfig">BigqueryDatasetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.putAccess">putAccess</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.putDefaultEncryptionConfiguration">putDefaultEncryptionConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetAccess">resetAccess</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetDefaultEncryptionConfiguration">resetDefaultEncryptionConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetDefaultPartitionExpirationMs">resetDefaultPartitionExpirationMs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetDefaultTableExpirationMs">resetDefaultTableExpirationMs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetDeleteContentsOnDestroy">resetDeleteContentsOnDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetFriendlyName">resetFriendlyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryDataset.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryDataset.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryDataset.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDataset.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryDataset.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryDataset.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryDataset.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryDataset.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryDataset.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryDataset.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryDataset.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryDataset.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryDataset.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryDataset.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryDataset.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryDataset.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryDataset.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryDataset.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryDataset.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataset.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAccess` <a name="putAccess" id="@dschmidt/provider-google.BigqueryDataset.putAccess"></a>

```typescript
public putAccess(value: IResolvable | BigqueryDatasetAccess[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDataset.putAccess.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryDatasetAccess">BigqueryDatasetAccess</a>[]

---

##### `putDefaultEncryptionConfiguration` <a name="putDefaultEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryDataset.putDefaultEncryptionConfiguration"></a>

```typescript
public putDefaultEncryptionConfiguration(value: BigqueryDatasetDefaultEncryptionConfiguration): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDataset.putDefaultEncryptionConfiguration.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfiguration">BigqueryDatasetDefaultEncryptionConfiguration</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BigqueryDataset.putTimeouts"></a>

```typescript
public putTimeouts(value: BigqueryDatasetTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDataset.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetTimeouts">BigqueryDatasetTimeouts</a>

---

##### `resetAccess` <a name="resetAccess" id="@dschmidt/provider-google.BigqueryDataset.resetAccess"></a>

```typescript
public resetAccess(): void
```

##### `resetDefaultEncryptionConfiguration` <a name="resetDefaultEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryDataset.resetDefaultEncryptionConfiguration"></a>

```typescript
public resetDefaultEncryptionConfiguration(): void
```

##### `resetDefaultPartitionExpirationMs` <a name="resetDefaultPartitionExpirationMs" id="@dschmidt/provider-google.BigqueryDataset.resetDefaultPartitionExpirationMs"></a>

```typescript
public resetDefaultPartitionExpirationMs(): void
```

##### `resetDefaultTableExpirationMs` <a name="resetDefaultTableExpirationMs" id="@dschmidt/provider-google.BigqueryDataset.resetDefaultTableExpirationMs"></a>

```typescript
public resetDefaultTableExpirationMs(): void
```

##### `resetDeleteContentsOnDestroy` <a name="resetDeleteContentsOnDestroy" id="@dschmidt/provider-google.BigqueryDataset.resetDeleteContentsOnDestroy"></a>

```typescript
public resetDeleteContentsOnDestroy(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.BigqueryDataset.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetFriendlyName` <a name="resetFriendlyName" id="@dschmidt/provider-google.BigqueryDataset.resetFriendlyName"></a>

```typescript
public resetFriendlyName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryDataset.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.BigqueryDataset.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.BigqueryDataset.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryDataset.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BigqueryDataset.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryDataset.isConstruct"></a>

```typescript
import { BigqueryDataset } from '@dschmidt/provider-google'

BigqueryDataset.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryDataset.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.access">access</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessList">BigqueryDatasetAccessList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.creationTime">creationTime</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.defaultEncryptionConfiguration">defaultEncryptionConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfigurationOutputReference">BigqueryDatasetDefaultEncryptionConfigurationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.lastModifiedTime">lastModifiedTime</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetTimeoutsOutputReference">BigqueryDatasetTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.accessInput">accessInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryDatasetAccess">BigqueryDatasetAccess</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.defaultEncryptionConfigurationInput">defaultEncryptionConfigurationInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfiguration">BigqueryDatasetDefaultEncryptionConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.defaultPartitionExpirationMsInput">defaultPartitionExpirationMsInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.defaultTableExpirationMsInput">defaultTableExpirationMsInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.deleteContentsOnDestroyInput">deleteContentsOnDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.friendlyNameInput">friendlyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryDatasetTimeouts">BigqueryDatasetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.defaultPartitionExpirationMs">defaultPartitionExpirationMs</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.defaultTableExpirationMs">defaultTableExpirationMs</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.deleteContentsOnDestroy">deleteContentsOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.friendlyName">friendlyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryDataset.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryDataset.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryDataset.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryDataset.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryDataset.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryDataset.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryDataset.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDataset.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDataset.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDataset.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDataset.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDataset.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDataset.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDataset.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `access`<sup>Required</sup> <a name="access" id="@dschmidt/provider-google.BigqueryDataset.property.access"></a>

```typescript
public readonly access: BigqueryDatasetAccessList;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessList">BigqueryDatasetAccessList</a>

---

##### `creationTime`<sup>Required</sup> <a name="creationTime" id="@dschmidt/provider-google.BigqueryDataset.property.creationTime"></a>

```typescript
public readonly creationTime: number;
```

- *Type:* number

---

##### `defaultEncryptionConfiguration`<sup>Required</sup> <a name="defaultEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryDataset.property.defaultEncryptionConfiguration"></a>

```typescript
public readonly defaultEncryptionConfiguration: BigqueryDatasetDefaultEncryptionConfigurationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfigurationOutputReference">BigqueryDatasetDefaultEncryptionConfigurationOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryDataset.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `lastModifiedTime`<sup>Required</sup> <a name="lastModifiedTime" id="@dschmidt/provider-google.BigqueryDataset.property.lastModifiedTime"></a>

```typescript
public readonly lastModifiedTime: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.BigqueryDataset.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryDataset.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryDatasetTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetTimeoutsOutputReference">BigqueryDatasetTimeoutsOutputReference</a>

---

##### `accessInput`<sup>Optional</sup> <a name="accessInput" id="@dschmidt/provider-google.BigqueryDataset.property.accessInput"></a>

```typescript
public readonly accessInput: IResolvable | BigqueryDatasetAccess[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryDatasetAccess">BigqueryDatasetAccess</a>[]

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryDataset.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `defaultEncryptionConfigurationInput`<sup>Optional</sup> <a name="defaultEncryptionConfigurationInput" id="@dschmidt/provider-google.BigqueryDataset.property.defaultEncryptionConfigurationInput"></a>

```typescript
public readonly defaultEncryptionConfigurationInput: BigqueryDatasetDefaultEncryptionConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfiguration">BigqueryDatasetDefaultEncryptionConfiguration</a>

---

##### `defaultPartitionExpirationMsInput`<sup>Optional</sup> <a name="defaultPartitionExpirationMsInput" id="@dschmidt/provider-google.BigqueryDataset.property.defaultPartitionExpirationMsInput"></a>

```typescript
public readonly defaultPartitionExpirationMsInput: number;
```

- *Type:* number

---

##### `defaultTableExpirationMsInput`<sup>Optional</sup> <a name="defaultTableExpirationMsInput" id="@dschmidt/provider-google.BigqueryDataset.property.defaultTableExpirationMsInput"></a>

```typescript
public readonly defaultTableExpirationMsInput: number;
```

- *Type:* number

---

##### `deleteContentsOnDestroyInput`<sup>Optional</sup> <a name="deleteContentsOnDestroyInput" id="@dschmidt/provider-google.BigqueryDataset.property.deleteContentsOnDestroyInput"></a>

```typescript
public readonly deleteContentsOnDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.BigqueryDataset.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `friendlyNameInput`<sup>Optional</sup> <a name="friendlyNameInput" id="@dschmidt/provider-google.BigqueryDataset.property.friendlyNameInput"></a>

```typescript
public readonly friendlyNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryDataset.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.BigqueryDataset.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.BigqueryDataset.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryDataset.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BigqueryDataset.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BigqueryDatasetTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryDatasetTimeouts">BigqueryDatasetTimeouts</a>

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDataset.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `defaultPartitionExpirationMs`<sup>Required</sup> <a name="defaultPartitionExpirationMs" id="@dschmidt/provider-google.BigqueryDataset.property.defaultPartitionExpirationMs"></a>

```typescript
public readonly defaultPartitionExpirationMs: number;
```

- *Type:* number

---

##### `defaultTableExpirationMs`<sup>Required</sup> <a name="defaultTableExpirationMs" id="@dschmidt/provider-google.BigqueryDataset.property.defaultTableExpirationMs"></a>

```typescript
public readonly defaultTableExpirationMs: number;
```

- *Type:* number

---

##### `deleteContentsOnDestroy`<sup>Required</sup> <a name="deleteContentsOnDestroy" id="@dschmidt/provider-google.BigqueryDataset.property.deleteContentsOnDestroy"></a>

```typescript
public readonly deleteContentsOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.BigqueryDataset.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `friendlyName`<sup>Required</sup> <a name="friendlyName" id="@dschmidt/provider-google.BigqueryDataset.property.friendlyName"></a>

```typescript
public readonly friendlyName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDataset.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.BigqueryDataset.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryDataset.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDataset.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataset.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryDataset.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryDatasetAccessA <a name="BigqueryDatasetAccessA" id="@dschmidt/provider-google.BigqueryDatasetAccessA"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access google_bigquery_dataset_access}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryDatasetAccessA.Initializer"></a>

```typescript
import { BigqueryDatasetAccessA } from '@dschmidt/provider-google'

new BigqueryDatasetAccessA(scope: Construct, id: string, config: BigqueryDatasetAccessAConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig">BigqueryDatasetAccessAConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryDatasetAccessA.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetAccessA.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryDatasetAccessA.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig">BigqueryDatasetAccessAConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.putDataset">putDataset</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.putView">putView</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetDataset">resetDataset</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetDomain">resetDomain</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetGroupByEmail">resetGroupByEmail</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetIamMember">resetIamMember</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetRole">resetRole</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetSpecialGroup">resetSpecialGroup</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetUserByEmail">resetUserByEmail</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.resetView">resetView</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryDatasetAccessA.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryDatasetAccessA.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryDatasetAccessA.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDatasetAccessA.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryDatasetAccessA.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryDatasetAccessA.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryDatasetAccessA.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryDatasetAccessA.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetAccessA.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDataset` <a name="putDataset" id="@dschmidt/provider-google.BigqueryDatasetAccessA.putDataset"></a>

```typescript
public putDataset(value: BigqueryDatasetAccessDatasetA): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDatasetAccessA.putDataset.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetA">BigqueryDatasetAccessDatasetA</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BigqueryDatasetAccessA.putTimeouts"></a>

```typescript
public putTimeouts(value: BigqueryDatasetAccessTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDatasetAccessA.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessTimeouts">BigqueryDatasetAccessTimeouts</a>

---

##### `putView` <a name="putView" id="@dschmidt/provider-google.BigqueryDatasetAccessA.putView"></a>

```typescript
public putView(value: BigqueryDatasetAccessViewA): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDatasetAccessA.putView.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewA">BigqueryDatasetAccessViewA</a>

---

##### `resetDataset` <a name="resetDataset" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetDataset"></a>

```typescript
public resetDataset(): void
```

##### `resetDomain` <a name="resetDomain" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetDomain"></a>

```typescript
public resetDomain(): void
```

##### `resetGroupByEmail` <a name="resetGroupByEmail" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetGroupByEmail"></a>

```typescript
public resetGroupByEmail(): void
```

##### `resetIamMember` <a name="resetIamMember" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetIamMember"></a>

```typescript
public resetIamMember(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRole` <a name="resetRole" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetRole"></a>

```typescript
public resetRole(): void
```

##### `resetSpecialGroup` <a name="resetSpecialGroup" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetSpecialGroup"></a>

```typescript
public resetSpecialGroup(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUserByEmail` <a name="resetUserByEmail" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetUserByEmail"></a>

```typescript
public resetUserByEmail(): void
```

##### `resetView` <a name="resetView" id="@dschmidt/provider-google.BigqueryDatasetAccessA.resetView"></a>

```typescript
public resetView(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryDatasetAccessA.isConstruct"></a>

```typescript
import { BigqueryDatasetAccessA } from '@dschmidt/provider-google'

BigqueryDatasetAccessA.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryDatasetAccessA.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.apiUpdatedMember">apiUpdatedMember</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.dataset">dataset</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetAOutputReference">BigqueryDatasetAccessDatasetAOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessTimeoutsOutputReference">BigqueryDatasetAccessTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.view">view</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewAOutputReference">BigqueryDatasetAccessViewAOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.datasetInput">datasetInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetA">BigqueryDatasetAccessDatasetA</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.domainInput">domainInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.groupByEmailInput">groupByEmailInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.iamMemberInput">iamMemberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.specialGroupInput">specialGroupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryDatasetAccessTimeouts">BigqueryDatasetAccessTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.userByEmailInput">userByEmailInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.viewInput">viewInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewA">BigqueryDatasetAccessViewA</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.domain">domain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.groupByEmail">groupByEmail</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.iamMember">iamMember</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.specialGroup">specialGroup</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.userByEmail">userByEmail</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `apiUpdatedMember`<sup>Required</sup> <a name="apiUpdatedMember" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.apiUpdatedMember"></a>

```typescript
public readonly apiUpdatedMember: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.dataset"></a>

```typescript
public readonly dataset: BigqueryDatasetAccessDatasetAOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetAOutputReference">BigqueryDatasetAccessDatasetAOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryDatasetAccessTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessTimeoutsOutputReference">BigqueryDatasetAccessTimeoutsOutputReference</a>

---

##### `view`<sup>Required</sup> <a name="view" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.view"></a>

```typescript
public readonly view: BigqueryDatasetAccessViewAOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewAOutputReference">BigqueryDatasetAccessViewAOutputReference</a>

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `datasetInput`<sup>Optional</sup> <a name="datasetInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.datasetInput"></a>

```typescript
public readonly datasetInput: BigqueryDatasetAccessDatasetA;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetA">BigqueryDatasetAccessDatasetA</a>

---

##### `domainInput`<sup>Optional</sup> <a name="domainInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.domainInput"></a>

```typescript
public readonly domainInput: string;
```

- *Type:* string

---

##### `groupByEmailInput`<sup>Optional</sup> <a name="groupByEmailInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.groupByEmailInput"></a>

```typescript
public readonly groupByEmailInput: string;
```

- *Type:* string

---

##### `iamMemberInput`<sup>Optional</sup> <a name="iamMemberInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.iamMemberInput"></a>

```typescript
public readonly iamMemberInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `specialGroupInput`<sup>Optional</sup> <a name="specialGroupInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.specialGroupInput"></a>

```typescript
public readonly specialGroupInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BigqueryDatasetAccessTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryDatasetAccessTimeouts">BigqueryDatasetAccessTimeouts</a>

---

##### `userByEmailInput`<sup>Optional</sup> <a name="userByEmailInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.userByEmailInput"></a>

```typescript
public readonly userByEmailInput: string;
```

- *Type:* string

---

##### `viewInput`<sup>Optional</sup> <a name="viewInput" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.viewInput"></a>

```typescript
public readonly viewInput: BigqueryDatasetAccessViewA;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewA">BigqueryDatasetAccessViewA</a>

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

---

##### `groupByEmail`<sup>Required</sup> <a name="groupByEmail" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.groupByEmail"></a>

```typescript
public readonly groupByEmail: string;
```

- *Type:* string

---

##### `iamMember`<sup>Required</sup> <a name="iamMember" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.iamMember"></a>

```typescript
public readonly iamMember: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `specialGroup`<sup>Required</sup> <a name="specialGroup" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.specialGroup"></a>

```typescript
public readonly specialGroup: string;
```

- *Type:* string

---

##### `userByEmail`<sup>Required</sup> <a name="userByEmail" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.userByEmail"></a>

```typescript
public readonly userByEmail: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessA.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryDatasetAccessA.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryDatasetIamBinding <a name="BigqueryDatasetIamBinding" id="@dschmidt/provider-google.BigqueryDatasetIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding google_bigquery_dataset_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.Initializer"></a>

```typescript
import { BigqueryDatasetIamBinding } from '@dschmidt/provider-google'

new BigqueryDatasetIamBinding(scope: Construct, id: string, config: BigqueryDatasetIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig">BigqueryDatasetIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig">BigqueryDatasetIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.putCondition"></a>

```typescript
public putCondition(value: BigqueryDatasetIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingCondition">BigqueryDatasetIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.isConstruct"></a>

```typescript
import { BigqueryDatasetIamBinding } from '@dschmidt/provider-google'

BigqueryDatasetIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConditionOutputReference">BigqueryDatasetIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingCondition">BigqueryDatasetIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.condition"></a>

```typescript
public readonly condition: BigqueryDatasetIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConditionOutputReference">BigqueryDatasetIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigqueryDatasetIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingCondition">BigqueryDatasetIamBindingCondition</a>

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryDatasetIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryDatasetIamMember <a name="BigqueryDatasetIamMember" id="@dschmidt/provider-google.BigqueryDatasetIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member google_bigquery_dataset_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryDatasetIamMember.Initializer"></a>

```typescript
import { BigqueryDatasetIamMember } from '@dschmidt/provider-google'

new BigqueryDatasetIamMember(scope: Construct, id: string, config: BigqueryDatasetIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig">BigqueryDatasetIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryDatasetIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryDatasetIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig">BigqueryDatasetIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryDatasetIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryDatasetIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryDatasetIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDatasetIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryDatasetIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryDatasetIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryDatasetIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryDatasetIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryDatasetIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigqueryDatasetIamMember.putCondition"></a>

```typescript
public putCondition(value: BigqueryDatasetIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDatasetIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberCondition">BigqueryDatasetIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigqueryDatasetIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryDatasetIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryDatasetIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryDatasetIamMember.isConstruct"></a>

```typescript
import { BigqueryDatasetIamMember } from '@dschmidt/provider-google'

BigqueryDatasetIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryDatasetIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConditionOutputReference">BigqueryDatasetIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberCondition">BigqueryDatasetIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.condition"></a>

```typescript
public readonly condition: BigqueryDatasetIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConditionOutputReference">BigqueryDatasetIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigqueryDatasetIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberCondition">BigqueryDatasetIamMemberCondition</a>

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryDatasetIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryDatasetIamPolicy <a name="BigqueryDatasetIamPolicy" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_policy google_bigquery_dataset_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.Initializer"></a>

```typescript
import { BigqueryDatasetIamPolicy } from '@dschmidt/provider-google'

new BigqueryDatasetIamPolicy(scope: Construct, id: string, config: BigqueryDatasetIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig">BigqueryDatasetIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig">BigqueryDatasetIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.isConstruct"></a>

```typescript
import { BigqueryDatasetIamPolicy } from '@dschmidt/provider-google'

BigqueryDatasetIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryDatasetIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryDataTransferConfig <a name="BigqueryDataTransferConfig" id="@dschmidt/provider-google.BigqueryDataTransferConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config google_bigquery_data_transfer_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryDataTransferConfig.Initializer"></a>

```typescript
import { BigqueryDataTransferConfig } from '@dschmidt/provider-google'

new BigqueryDataTransferConfig(scope: Construct, id: string, config: BigqueryDataTransferConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig">BigqueryDataTransferConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryDataTransferConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDataTransferConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryDataTransferConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig">BigqueryDataTransferConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.putEmailPreferences">putEmailPreferences</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.putScheduleOptions">putScheduleOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.putSensitiveParams">putSensitiveParams</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetDataRefreshWindowDays">resetDataRefreshWindowDays</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetDestinationDatasetId">resetDestinationDatasetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetEmailPreferences">resetEmailPreferences</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetNotificationPubsubTopic">resetNotificationPubsubTopic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetSchedule">resetSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetScheduleOptions">resetScheduleOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetSensitiveParams">resetSensitiveParams</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetServiceAccountName">resetServiceAccountName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryDataTransferConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryDataTransferConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryDataTransferConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDataTransferConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryDataTransferConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryDataTransferConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryDataTransferConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryDataTransferConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryDataTransferConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEmailPreferences` <a name="putEmailPreferences" id="@dschmidt/provider-google.BigqueryDataTransferConfig.putEmailPreferences"></a>

```typescript
public putEmailPreferences(value: BigqueryDataTransferConfigEmailPreferences): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDataTransferConfig.putEmailPreferences.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferences">BigqueryDataTransferConfigEmailPreferences</a>

---

##### `putScheduleOptions` <a name="putScheduleOptions" id="@dschmidt/provider-google.BigqueryDataTransferConfig.putScheduleOptions"></a>

```typescript
public putScheduleOptions(value: BigqueryDataTransferConfigScheduleOptions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDataTransferConfig.putScheduleOptions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions">BigqueryDataTransferConfigScheduleOptions</a>

---

##### `putSensitiveParams` <a name="putSensitiveParams" id="@dschmidt/provider-google.BigqueryDataTransferConfig.putSensitiveParams"></a>

```typescript
public putSensitiveParams(value: BigqueryDataTransferConfigSensitiveParams): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDataTransferConfig.putSensitiveParams.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParams">BigqueryDataTransferConfigSensitiveParams</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BigqueryDataTransferConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: BigqueryDataTransferConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryDataTransferConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts">BigqueryDataTransferConfigTimeouts</a>

---

##### `resetDataRefreshWindowDays` <a name="resetDataRefreshWindowDays" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetDataRefreshWindowDays"></a>

```typescript
public resetDataRefreshWindowDays(): void
```

##### `resetDestinationDatasetId` <a name="resetDestinationDatasetId" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetDestinationDatasetId"></a>

```typescript
public resetDestinationDatasetId(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetEmailPreferences` <a name="resetEmailPreferences" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetEmailPreferences"></a>

```typescript
public resetEmailPreferences(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetNotificationPubsubTopic` <a name="resetNotificationPubsubTopic" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetNotificationPubsubTopic"></a>

```typescript
public resetNotificationPubsubTopic(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSchedule` <a name="resetSchedule" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetSchedule"></a>

```typescript
public resetSchedule(): void
```

##### `resetScheduleOptions` <a name="resetScheduleOptions" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetScheduleOptions"></a>

```typescript
public resetScheduleOptions(): void
```

##### `resetSensitiveParams` <a name="resetSensitiveParams" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetSensitiveParams"></a>

```typescript
public resetSensitiveParams(): void
```

##### `resetServiceAccountName` <a name="resetServiceAccountName" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetServiceAccountName"></a>

```typescript
public resetServiceAccountName(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BigqueryDataTransferConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryDataTransferConfig.isConstruct"></a>

```typescript
import { BigqueryDataTransferConfig } from '@dschmidt/provider-google'

BigqueryDataTransferConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryDataTransferConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.emailPreferences">emailPreferences</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferencesOutputReference">BigqueryDataTransferConfigEmailPreferencesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.scheduleOptions">scheduleOptions</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptionsOutputReference">BigqueryDataTransferConfigScheduleOptionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.sensitiveParams">sensitiveParams</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParamsOutputReference">BigqueryDataTransferConfigSensitiveParamsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeoutsOutputReference">BigqueryDataTransferConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.dataRefreshWindowDaysInput">dataRefreshWindowDaysInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.dataSourceIdInput">dataSourceIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.destinationDatasetIdInput">destinationDatasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.emailPreferencesInput">emailPreferencesInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferences">BigqueryDataTransferConfigEmailPreferences</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.notificationPubsubTopicInput">notificationPubsubTopicInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.paramsInput">paramsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.scheduleInput">scheduleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.scheduleOptionsInput">scheduleOptionsInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions">BigqueryDataTransferConfigScheduleOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.sensitiveParamsInput">sensitiveParamsInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParams">BigqueryDataTransferConfigSensitiveParams</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.serviceAccountNameInput">serviceAccountNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts">BigqueryDataTransferConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.dataRefreshWindowDays">dataRefreshWindowDays</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.dataSourceId">dataSourceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.destinationDatasetId">destinationDatasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.notificationPubsubTopic">notificationPubsubTopic</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.params">params</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.schedule">schedule</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.serviceAccountName">serviceAccountName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `emailPreferences`<sup>Required</sup> <a name="emailPreferences" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.emailPreferences"></a>

```typescript
public readonly emailPreferences: BigqueryDataTransferConfigEmailPreferencesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferencesOutputReference">BigqueryDataTransferConfigEmailPreferencesOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `scheduleOptions`<sup>Required</sup> <a name="scheduleOptions" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.scheduleOptions"></a>

```typescript
public readonly scheduleOptions: BigqueryDataTransferConfigScheduleOptionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptionsOutputReference">BigqueryDataTransferConfigScheduleOptionsOutputReference</a>

---

##### `sensitiveParams`<sup>Required</sup> <a name="sensitiveParams" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.sensitiveParams"></a>

```typescript
public readonly sensitiveParams: BigqueryDataTransferConfigSensitiveParamsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParamsOutputReference">BigqueryDataTransferConfigSensitiveParamsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryDataTransferConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeoutsOutputReference">BigqueryDataTransferConfigTimeoutsOutputReference</a>

---

##### `dataRefreshWindowDaysInput`<sup>Optional</sup> <a name="dataRefreshWindowDaysInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.dataRefreshWindowDaysInput"></a>

```typescript
public readonly dataRefreshWindowDaysInput: number;
```

- *Type:* number

---

##### `dataSourceIdInput`<sup>Optional</sup> <a name="dataSourceIdInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.dataSourceIdInput"></a>

```typescript
public readonly dataSourceIdInput: string;
```

- *Type:* string

---

##### `destinationDatasetIdInput`<sup>Optional</sup> <a name="destinationDatasetIdInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.destinationDatasetIdInput"></a>

```typescript
public readonly destinationDatasetIdInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `emailPreferencesInput`<sup>Optional</sup> <a name="emailPreferencesInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.emailPreferencesInput"></a>

```typescript
public readonly emailPreferencesInput: BigqueryDataTransferConfigEmailPreferences;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferences">BigqueryDataTransferConfigEmailPreferences</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `notificationPubsubTopicInput`<sup>Optional</sup> <a name="notificationPubsubTopicInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.notificationPubsubTopicInput"></a>

```typescript
public readonly notificationPubsubTopicInput: string;
```

- *Type:* string

---

##### `paramsInput`<sup>Optional</sup> <a name="paramsInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.paramsInput"></a>

```typescript
public readonly paramsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `scheduleInput`<sup>Optional</sup> <a name="scheduleInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.scheduleInput"></a>

```typescript
public readonly scheduleInput: string;
```

- *Type:* string

---

##### `scheduleOptionsInput`<sup>Optional</sup> <a name="scheduleOptionsInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.scheduleOptionsInput"></a>

```typescript
public readonly scheduleOptionsInput: BigqueryDataTransferConfigScheduleOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions">BigqueryDataTransferConfigScheduleOptions</a>

---

##### `sensitiveParamsInput`<sup>Optional</sup> <a name="sensitiveParamsInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.sensitiveParamsInput"></a>

```typescript
public readonly sensitiveParamsInput: BigqueryDataTransferConfigSensitiveParams;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParams">BigqueryDataTransferConfigSensitiveParams</a>

---

##### `serviceAccountNameInput`<sup>Optional</sup> <a name="serviceAccountNameInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.serviceAccountNameInput"></a>

```typescript
public readonly serviceAccountNameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BigqueryDataTransferConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts">BigqueryDataTransferConfigTimeouts</a>

---

##### `dataRefreshWindowDays`<sup>Required</sup> <a name="dataRefreshWindowDays" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.dataRefreshWindowDays"></a>

```typescript
public readonly dataRefreshWindowDays: number;
```

- *Type:* number

---

##### `dataSourceId`<sup>Required</sup> <a name="dataSourceId" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.dataSourceId"></a>

```typescript
public readonly dataSourceId: string;
```

- *Type:* string

---

##### `destinationDatasetId`<sup>Required</sup> <a name="destinationDatasetId" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.destinationDatasetId"></a>

```typescript
public readonly destinationDatasetId: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `notificationPubsubTopic`<sup>Required</sup> <a name="notificationPubsubTopic" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.notificationPubsubTopic"></a>

```typescript
public readonly notificationPubsubTopic: string;
```

- *Type:* string

---

##### `params`<sup>Required</sup> <a name="params" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.params"></a>

```typescript
public readonly params: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `schedule`<sup>Required</sup> <a name="schedule" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

---

##### `serviceAccountName`<sup>Required</sup> <a name="serviceAccountName" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.serviceAccountName"></a>

```typescript
public readonly serviceAccountName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryDataTransferConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryJob <a name="BigqueryJob" id="@dschmidt/provider-google.BigqueryJob"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_job google_bigquery_job}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryJob.Initializer"></a>

```typescript
import { BigqueryJob } from '@dschmidt/provider-google'

new BigqueryJob(scope: Construct, id: string, config: BigqueryJobConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobConfig">BigqueryJobConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryJob.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryJob.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryJob.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobConfig">BigqueryJobConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.putCopy">putCopy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.putExtract">putExtract</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.putLoad">putLoad</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.putQuery">putQuery</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetCopy">resetCopy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetExtract">resetExtract</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetJobTimeoutMs">resetJobTimeoutMs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetLoad">resetLoad</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetQuery">resetQuery</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryJob.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryJob.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryJob.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryJob.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryJob.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryJob.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryJob.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryJob.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryJob.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryJob.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryJob.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryJob.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryJob.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryJob.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryJob.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryJob.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryJob.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryJob.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryJob.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryJob.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCopy` <a name="putCopy" id="@dschmidt/provider-google.BigqueryJob.putCopy"></a>

```typescript
public putCopy(value: BigqueryJobCopy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryJob.putCopy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobCopy">BigqueryJobCopy</a>

---

##### `putExtract` <a name="putExtract" id="@dschmidt/provider-google.BigqueryJob.putExtract"></a>

```typescript
public putExtract(value: BigqueryJobExtract): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryJob.putExtract.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobExtract">BigqueryJobExtract</a>

---

##### `putLoad` <a name="putLoad" id="@dschmidt/provider-google.BigqueryJob.putLoad"></a>

```typescript
public putLoad(value: BigqueryJobLoad): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryJob.putLoad.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobLoad">BigqueryJobLoad</a>

---

##### `putQuery` <a name="putQuery" id="@dschmidt/provider-google.BigqueryJob.putQuery"></a>

```typescript
public putQuery(value: BigqueryJobQuery): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryJob.putQuery.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobQuery">BigqueryJobQuery</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BigqueryJob.putTimeouts"></a>

```typescript
public putTimeouts(value: BigqueryJobTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryJob.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobTimeouts">BigqueryJobTimeouts</a>

---

##### `resetCopy` <a name="resetCopy" id="@dschmidt/provider-google.BigqueryJob.resetCopy"></a>

```typescript
public resetCopy(): void
```

##### `resetExtract` <a name="resetExtract" id="@dschmidt/provider-google.BigqueryJob.resetExtract"></a>

```typescript
public resetExtract(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryJob.resetId"></a>

```typescript
public resetId(): void
```

##### `resetJobTimeoutMs` <a name="resetJobTimeoutMs" id="@dschmidt/provider-google.BigqueryJob.resetJobTimeoutMs"></a>

```typescript
public resetJobTimeoutMs(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.BigqueryJob.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLoad` <a name="resetLoad" id="@dschmidt/provider-google.BigqueryJob.resetLoad"></a>

```typescript
public resetLoad(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.BigqueryJob.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryJob.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetQuery` <a name="resetQuery" id="@dschmidt/provider-google.BigqueryJob.resetQuery"></a>

```typescript
public resetQuery(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BigqueryJob.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryJob.isConstruct"></a>

```typescript
import { BigqueryJob } from '@dschmidt/provider-google'

BigqueryJob.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryJob.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.copy">copy</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobCopyOutputReference">BigqueryJobCopyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.extract">extract</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobExtractOutputReference">BigqueryJobExtractOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.jobType">jobType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.load">load</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobLoadOutputReference">BigqueryJobLoadOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.query">query</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobQueryOutputReference">BigqueryJobQueryOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobStatusList">BigqueryJobStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobTimeoutsOutputReference">BigqueryJobTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.userEmail">userEmail</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.copyInput">copyInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobCopy">BigqueryJobCopy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.extractInput">extractInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobExtract">BigqueryJobExtract</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.jobIdInput">jobIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.jobTimeoutMsInput">jobTimeoutMsInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.loadInput">loadInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobLoad">BigqueryJobLoad</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.queryInput">queryInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobQuery">BigqueryJobQuery</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryJobTimeouts">BigqueryJobTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.jobId">jobId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.jobTimeoutMs">jobTimeoutMs</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryJob.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryJob.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryJob.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryJob.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryJob.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryJob.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryJob.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryJob.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryJob.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryJob.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryJob.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryJob.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryJob.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryJob.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `copy`<sup>Required</sup> <a name="copy" id="@dschmidt/provider-google.BigqueryJob.property.copy"></a>

```typescript
public readonly copy: BigqueryJobCopyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobCopyOutputReference">BigqueryJobCopyOutputReference</a>

---

##### `extract`<sup>Required</sup> <a name="extract" id="@dschmidt/provider-google.BigqueryJob.property.extract"></a>

```typescript
public readonly extract: BigqueryJobExtractOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobExtractOutputReference">BigqueryJobExtractOutputReference</a>

---

##### `jobType`<sup>Required</sup> <a name="jobType" id="@dschmidt/provider-google.BigqueryJob.property.jobType"></a>

```typescript
public readonly jobType: string;
```

- *Type:* string

---

##### `load`<sup>Required</sup> <a name="load" id="@dschmidt/provider-google.BigqueryJob.property.load"></a>

```typescript
public readonly load: BigqueryJobLoadOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobLoadOutputReference">BigqueryJobLoadOutputReference</a>

---

##### `query`<sup>Required</sup> <a name="query" id="@dschmidt/provider-google.BigqueryJob.property.query"></a>

```typescript
public readonly query: BigqueryJobQueryOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobQueryOutputReference">BigqueryJobQueryOutputReference</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.BigqueryJob.property.status"></a>

```typescript
public readonly status: BigqueryJobStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobStatusList">BigqueryJobStatusList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryJob.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryJobTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobTimeoutsOutputReference">BigqueryJobTimeoutsOutputReference</a>

---

##### `userEmail`<sup>Required</sup> <a name="userEmail" id="@dschmidt/provider-google.BigqueryJob.property.userEmail"></a>

```typescript
public readonly userEmail: string;
```

- *Type:* string

---

##### `copyInput`<sup>Optional</sup> <a name="copyInput" id="@dschmidt/provider-google.BigqueryJob.property.copyInput"></a>

```typescript
public readonly copyInput: BigqueryJobCopy;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobCopy">BigqueryJobCopy</a>

---

##### `extractInput`<sup>Optional</sup> <a name="extractInput" id="@dschmidt/provider-google.BigqueryJob.property.extractInput"></a>

```typescript
public readonly extractInput: BigqueryJobExtract;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobExtract">BigqueryJobExtract</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryJob.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `jobIdInput`<sup>Optional</sup> <a name="jobIdInput" id="@dschmidt/provider-google.BigqueryJob.property.jobIdInput"></a>

```typescript
public readonly jobIdInput: string;
```

- *Type:* string

---

##### `jobTimeoutMsInput`<sup>Optional</sup> <a name="jobTimeoutMsInput" id="@dschmidt/provider-google.BigqueryJob.property.jobTimeoutMsInput"></a>

```typescript
public readonly jobTimeoutMsInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.BigqueryJob.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `loadInput`<sup>Optional</sup> <a name="loadInput" id="@dschmidt/provider-google.BigqueryJob.property.loadInput"></a>

```typescript
public readonly loadInput: BigqueryJobLoad;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobLoad">BigqueryJobLoad</a>

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.BigqueryJob.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryJob.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `queryInput`<sup>Optional</sup> <a name="queryInput" id="@dschmidt/provider-google.BigqueryJob.property.queryInput"></a>

```typescript
public readonly queryInput: BigqueryJobQuery;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobQuery">BigqueryJobQuery</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BigqueryJob.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BigqueryJobTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryJobTimeouts">BigqueryJobTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryJob.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `jobId`<sup>Required</sup> <a name="jobId" id="@dschmidt/provider-google.BigqueryJob.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

---

##### `jobTimeoutMs`<sup>Required</sup> <a name="jobTimeoutMs" id="@dschmidt/provider-google.BigqueryJob.property.jobTimeoutMs"></a>

```typescript
public readonly jobTimeoutMs: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.BigqueryJob.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryJob.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryJob.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJob.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryJob.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryReservation <a name="BigqueryReservation" id="@dschmidt/provider-google.BigqueryReservation"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation google_bigquery_reservation}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryReservation.Initializer"></a>

```typescript
import { BigqueryReservation } from '@dschmidt/provider-google'

new BigqueryReservation(scope: Construct, id: string, config: BigqueryReservationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig">BigqueryReservationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryReservation.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryReservation.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryReservation.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryReservationConfig">BigqueryReservationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.resetIgnoreIdleSlots">resetIgnoreIdleSlots</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryReservation.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryReservation.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryReservation.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryReservation.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryReservation.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryReservation.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryReservation.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryReservation.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryReservation.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryReservation.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryReservation.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryReservation.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryReservation.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryReservation.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryReservation.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryReservation.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryReservation.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryReservation.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryReservation.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservation.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BigqueryReservation.putTimeouts"></a>

```typescript
public putTimeouts(value: BigqueryReservationTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryReservation.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryReservationTimeouts">BigqueryReservationTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryReservation.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIgnoreIdleSlots` <a name="resetIgnoreIdleSlots" id="@dschmidt/provider-google.BigqueryReservation.resetIgnoreIdleSlots"></a>

```typescript
public resetIgnoreIdleSlots(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.BigqueryReservation.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryReservation.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BigqueryReservation.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryReservation.isConstruct"></a>

```typescript
import { BigqueryReservation } from '@dschmidt/provider-google'

BigqueryReservation.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryReservation.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryReservationTimeoutsOutputReference">BigqueryReservationTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.ignoreIdleSlotsInput">ignoreIdleSlotsInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.slotCapacityInput">slotCapacityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryReservationTimeouts">BigqueryReservationTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.ignoreIdleSlots">ignoreIdleSlots</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.slotCapacity">slotCapacity</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryReservation.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryReservation.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryReservation.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryReservation.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryReservation.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryReservation.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryReservation.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryReservation.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryReservation.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryReservation.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryReservation.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryReservation.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryReservation.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryReservation.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryReservation.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryReservationTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryReservationTimeoutsOutputReference">BigqueryReservationTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryReservation.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ignoreIdleSlotsInput`<sup>Optional</sup> <a name="ignoreIdleSlotsInput" id="@dschmidt/provider-google.BigqueryReservation.property.ignoreIdleSlotsInput"></a>

```typescript
public readonly ignoreIdleSlotsInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.BigqueryReservation.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.BigqueryReservation.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryReservation.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `slotCapacityInput`<sup>Optional</sup> <a name="slotCapacityInput" id="@dschmidt/provider-google.BigqueryReservation.property.slotCapacityInput"></a>

```typescript
public readonly slotCapacityInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BigqueryReservation.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BigqueryReservationTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryReservationTimeouts">BigqueryReservationTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryReservation.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ignoreIdleSlots`<sup>Required</sup> <a name="ignoreIdleSlots" id="@dschmidt/provider-google.BigqueryReservation.property.ignoreIdleSlots"></a>

```typescript
public readonly ignoreIdleSlots: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryReservation.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigqueryReservation.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryReservation.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `slotCapacity`<sup>Required</sup> <a name="slotCapacity" id="@dschmidt/provider-google.BigqueryReservation.property.slotCapacity"></a>

```typescript
public readonly slotCapacity: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservation.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryReservation.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryReservationAssignment <a name="BigqueryReservationAssignment" id="@dschmidt/provider-google.BigqueryReservationAssignment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment google_bigquery_reservation_assignment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryReservationAssignment.Initializer"></a>

```typescript
import { BigqueryReservationAssignment } from '@dschmidt/provider-google'

new BigqueryReservationAssignment(scope: Construct, id: string, config: BigqueryReservationAssignmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig">BigqueryReservationAssignmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryReservationAssignment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryReservationAssignment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryReservationAssignment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig">BigqueryReservationAssignmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryReservationAssignment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryReservationAssignment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryReservationAssignment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryReservationAssignment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryReservationAssignment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryReservationAssignment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryReservationAssignment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryReservationAssignment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryReservationAssignment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryReservationAssignment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BigqueryReservationAssignment.putTimeouts"></a>

```typescript
public putTimeouts(value: BigqueryReservationAssignmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryReservationAssignment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts">BigqueryReservationAssignmentTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryReservationAssignment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.BigqueryReservationAssignment.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryReservationAssignment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BigqueryReservationAssignment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryReservationAssignment.isConstruct"></a>

```typescript
import { BigqueryReservationAssignment } from '@dschmidt/provider-google'

BigqueryReservationAssignment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryReservationAssignment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentTimeoutsOutputReference">BigqueryReservationAssignmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.assigneeInput">assigneeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.jobTypeInput">jobTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.reservationInput">reservationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts">BigqueryReservationAssignmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.assignee">assignee</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.jobType">jobType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.reservation">reservation</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryReservationAssignmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryReservationAssignmentTimeoutsOutputReference">BigqueryReservationAssignmentTimeoutsOutputReference</a>

---

##### `assigneeInput`<sup>Optional</sup> <a name="assigneeInput" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.assigneeInput"></a>

```typescript
public readonly assigneeInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `jobTypeInput`<sup>Optional</sup> <a name="jobTypeInput" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.jobTypeInput"></a>

```typescript
public readonly jobTypeInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `reservationInput`<sup>Optional</sup> <a name="reservationInput" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.reservationInput"></a>

```typescript
public readonly reservationInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BigqueryReservationAssignmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts">BigqueryReservationAssignmentTimeouts</a>

---

##### `assignee`<sup>Required</sup> <a name="assignee" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.assignee"></a>

```typescript
public readonly assignee: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `jobType`<sup>Required</sup> <a name="jobType" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.jobType"></a>

```typescript
public readonly jobType: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `reservation`<sup>Required</sup> <a name="reservation" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.reservation"></a>

```typescript
public readonly reservation: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryReservationAssignment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryRoutine <a name="BigqueryRoutine" id="@dschmidt/provider-google.BigqueryRoutine"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine google_bigquery_routine}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryRoutine.Initializer"></a>

```typescript
import { BigqueryRoutine } from '@dschmidt/provider-google'

new BigqueryRoutine(scope: Construct, id: string, config: BigqueryRoutineConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig">BigqueryRoutineConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryRoutine.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryRoutine.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryRoutine.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryRoutineConfig">BigqueryRoutineConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.putArguments">putArguments</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetArguments">resetArguments</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetDeterminismLevel">resetDeterminismLevel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetImportedLibraries">resetImportedLibraries</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetLanguage">resetLanguage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetReturnTableType">resetReturnTableType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetReturnType">resetReturnType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetRoutineType">resetRoutineType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryRoutine.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryRoutine.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryRoutine.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryRoutine.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryRoutine.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryRoutine.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryRoutine.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryRoutine.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryRoutine.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryRoutine.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryRoutine.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putArguments` <a name="putArguments" id="@dschmidt/provider-google.BigqueryRoutine.putArguments"></a>

```typescript
public putArguments(value: IResolvable | BigqueryRoutineArguments[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryRoutine.putArguments.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryRoutineArguments">BigqueryRoutineArguments</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BigqueryRoutine.putTimeouts"></a>

```typescript
public putTimeouts(value: BigqueryRoutineTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryRoutine.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryRoutineTimeouts">BigqueryRoutineTimeouts</a>

---

##### `resetArguments` <a name="resetArguments" id="@dschmidt/provider-google.BigqueryRoutine.resetArguments"></a>

```typescript
public resetArguments(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.BigqueryRoutine.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDeterminismLevel` <a name="resetDeterminismLevel" id="@dschmidt/provider-google.BigqueryRoutine.resetDeterminismLevel"></a>

```typescript
public resetDeterminismLevel(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryRoutine.resetId"></a>

```typescript
public resetId(): void
```

##### `resetImportedLibraries` <a name="resetImportedLibraries" id="@dschmidt/provider-google.BigqueryRoutine.resetImportedLibraries"></a>

```typescript
public resetImportedLibraries(): void
```

##### `resetLanguage` <a name="resetLanguage" id="@dschmidt/provider-google.BigqueryRoutine.resetLanguage"></a>

```typescript
public resetLanguage(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryRoutine.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetReturnTableType` <a name="resetReturnTableType" id="@dschmidt/provider-google.BigqueryRoutine.resetReturnTableType"></a>

```typescript
public resetReturnTableType(): void
```

##### `resetReturnType` <a name="resetReturnType" id="@dschmidt/provider-google.BigqueryRoutine.resetReturnType"></a>

```typescript
public resetReturnType(): void
```

##### `resetRoutineType` <a name="resetRoutineType" id="@dschmidt/provider-google.BigqueryRoutine.resetRoutineType"></a>

```typescript
public resetRoutineType(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BigqueryRoutine.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryRoutine.isConstruct"></a>

```typescript
import { BigqueryRoutine } from '@dschmidt/provider-google'

BigqueryRoutine.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryRoutine.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.arguments">arguments</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryRoutineArgumentsList">BigqueryRoutineArgumentsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.creationTime">creationTime</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.lastModifiedTime">lastModifiedTime</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryRoutineTimeoutsOutputReference">BigqueryRoutineTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.argumentsInput">argumentsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryRoutineArguments">BigqueryRoutineArguments</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.definitionBodyInput">definitionBodyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.determinismLevelInput">determinismLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.importedLibrariesInput">importedLibrariesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.languageInput">languageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.returnTableTypeInput">returnTableTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.returnTypeInput">returnTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.routineIdInput">routineIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.routineTypeInput">routineTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryRoutineTimeouts">BigqueryRoutineTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.definitionBody">definitionBody</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.determinismLevel">determinismLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.importedLibraries">importedLibraries</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.language">language</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.returnTableType">returnTableType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.returnType">returnType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.routineId">routineId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.routineType">routineType</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryRoutine.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryRoutine.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryRoutine.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryRoutine.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryRoutine.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryRoutine.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryRoutine.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryRoutine.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryRoutine.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryRoutine.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryRoutine.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryRoutine.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryRoutine.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryRoutine.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `arguments`<sup>Required</sup> <a name="arguments" id="@dschmidt/provider-google.BigqueryRoutine.property.arguments"></a>

```typescript
public readonly arguments: BigqueryRoutineArgumentsList;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryRoutineArgumentsList">BigqueryRoutineArgumentsList</a>

---

##### `creationTime`<sup>Required</sup> <a name="creationTime" id="@dschmidt/provider-google.BigqueryRoutine.property.creationTime"></a>

```typescript
public readonly creationTime: number;
```

- *Type:* number

---

##### `lastModifiedTime`<sup>Required</sup> <a name="lastModifiedTime" id="@dschmidt/provider-google.BigqueryRoutine.property.lastModifiedTime"></a>

```typescript
public readonly lastModifiedTime: number;
```

- *Type:* number

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryRoutine.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryRoutineTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryRoutineTimeoutsOutputReference">BigqueryRoutineTimeoutsOutputReference</a>

---

##### `argumentsInput`<sup>Optional</sup> <a name="argumentsInput" id="@dschmidt/provider-google.BigqueryRoutine.property.argumentsInput"></a>

```typescript
public readonly argumentsInput: IResolvable | BigqueryRoutineArguments[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryRoutineArguments">BigqueryRoutineArguments</a>[]

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryRoutine.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `definitionBodyInput`<sup>Optional</sup> <a name="definitionBodyInput" id="@dschmidt/provider-google.BigqueryRoutine.property.definitionBodyInput"></a>

```typescript
public readonly definitionBodyInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.BigqueryRoutine.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `determinismLevelInput`<sup>Optional</sup> <a name="determinismLevelInput" id="@dschmidt/provider-google.BigqueryRoutine.property.determinismLevelInput"></a>

```typescript
public readonly determinismLevelInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryRoutine.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `importedLibrariesInput`<sup>Optional</sup> <a name="importedLibrariesInput" id="@dschmidt/provider-google.BigqueryRoutine.property.importedLibrariesInput"></a>

```typescript
public readonly importedLibrariesInput: string[];
```

- *Type:* string[]

---

##### `languageInput`<sup>Optional</sup> <a name="languageInput" id="@dschmidt/provider-google.BigqueryRoutine.property.languageInput"></a>

```typescript
public readonly languageInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryRoutine.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `returnTableTypeInput`<sup>Optional</sup> <a name="returnTableTypeInput" id="@dschmidt/provider-google.BigqueryRoutine.property.returnTableTypeInput"></a>

```typescript
public readonly returnTableTypeInput: string;
```

- *Type:* string

---

##### `returnTypeInput`<sup>Optional</sup> <a name="returnTypeInput" id="@dschmidt/provider-google.BigqueryRoutine.property.returnTypeInput"></a>

```typescript
public readonly returnTypeInput: string;
```

- *Type:* string

---

##### `routineIdInput`<sup>Optional</sup> <a name="routineIdInput" id="@dschmidt/provider-google.BigqueryRoutine.property.routineIdInput"></a>

```typescript
public readonly routineIdInput: string;
```

- *Type:* string

---

##### `routineTypeInput`<sup>Optional</sup> <a name="routineTypeInput" id="@dschmidt/provider-google.BigqueryRoutine.property.routineTypeInput"></a>

```typescript
public readonly routineTypeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BigqueryRoutine.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BigqueryRoutineTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryRoutineTimeouts">BigqueryRoutineTimeouts</a>

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryRoutine.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `definitionBody`<sup>Required</sup> <a name="definitionBody" id="@dschmidt/provider-google.BigqueryRoutine.property.definitionBody"></a>

```typescript
public readonly definitionBody: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.BigqueryRoutine.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `determinismLevel`<sup>Required</sup> <a name="determinismLevel" id="@dschmidt/provider-google.BigqueryRoutine.property.determinismLevel"></a>

```typescript
public readonly determinismLevel: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryRoutine.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `importedLibraries`<sup>Required</sup> <a name="importedLibraries" id="@dschmidt/provider-google.BigqueryRoutine.property.importedLibraries"></a>

```typescript
public readonly importedLibraries: string[];
```

- *Type:* string[]

---

##### `language`<sup>Required</sup> <a name="language" id="@dschmidt/provider-google.BigqueryRoutine.property.language"></a>

```typescript
public readonly language: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryRoutine.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `returnTableType`<sup>Required</sup> <a name="returnTableType" id="@dschmidt/provider-google.BigqueryRoutine.property.returnTableType"></a>

```typescript
public readonly returnTableType: string;
```

- *Type:* string

---

##### `returnType`<sup>Required</sup> <a name="returnType" id="@dschmidt/provider-google.BigqueryRoutine.property.returnType"></a>

```typescript
public readonly returnType: string;
```

- *Type:* string

---

##### `routineId`<sup>Required</sup> <a name="routineId" id="@dschmidt/provider-google.BigqueryRoutine.property.routineId"></a>

```typescript
public readonly routineId: string;
```

- *Type:* string

---

##### `routineType`<sup>Required</sup> <a name="routineType" id="@dschmidt/provider-google.BigqueryRoutine.property.routineType"></a>

```typescript
public readonly routineType: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutine.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryRoutine.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryTable <a name="BigqueryTable" id="@dschmidt/provider-google.BigqueryTable"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_table google_bigquery_table}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryTable.Initializer"></a>

```typescript
import { BigqueryTable } from '@dschmidt/provider-google'

new BigqueryTable(scope: Construct, id: string, config: BigqueryTableConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableConfig">BigqueryTableConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryTable.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTable.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryTable.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableConfig">BigqueryTableConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.putEncryptionConfiguration">putEncryptionConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.putExternalDataConfiguration">putExternalDataConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.putMaterializedView">putMaterializedView</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.putRangePartitioning">putRangePartitioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.putTimePartitioning">putTimePartitioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.putView">putView</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetClustering">resetClustering</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetDeletionProtection">resetDeletionProtection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetEncryptionConfiguration">resetEncryptionConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetExpirationTime">resetExpirationTime</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetExternalDataConfiguration">resetExternalDataConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetFriendlyName">resetFriendlyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetMaterializedView">resetMaterializedView</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetRangePartitioning">resetRangePartitioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetSchema">resetSchema</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetTimePartitioning">resetTimePartitioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.resetView">resetView</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryTable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryTable.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryTable.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTable.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryTable.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryTable.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryTable.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryTable.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryTable.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryTable.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryTable.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryTable.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryTable.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryTable.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryTable.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryTable.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryTable.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryTable.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryTable.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTable.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEncryptionConfiguration` <a name="putEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryTable.putEncryptionConfiguration"></a>

```typescript
public putEncryptionConfiguration(value: BigqueryTableEncryptionConfiguration): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTable.putEncryptionConfiguration.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableEncryptionConfiguration">BigqueryTableEncryptionConfiguration</a>

---

##### `putExternalDataConfiguration` <a name="putExternalDataConfiguration" id="@dschmidt/provider-google.BigqueryTable.putExternalDataConfiguration"></a>

```typescript
public putExternalDataConfiguration(value: BigqueryTableExternalDataConfiguration): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTable.putExternalDataConfiguration.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration">BigqueryTableExternalDataConfiguration</a>

---

##### `putMaterializedView` <a name="putMaterializedView" id="@dschmidt/provider-google.BigqueryTable.putMaterializedView"></a>

```typescript
public putMaterializedView(value: BigqueryTableMaterializedView): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTable.putMaterializedView.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableMaterializedView">BigqueryTableMaterializedView</a>

---

##### `putRangePartitioning` <a name="putRangePartitioning" id="@dschmidt/provider-google.BigqueryTable.putRangePartitioning"></a>

```typescript
public putRangePartitioning(value: BigqueryTableRangePartitioning): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTable.putRangePartitioning.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableRangePartitioning">BigqueryTableRangePartitioning</a>

---

##### `putTimePartitioning` <a name="putTimePartitioning" id="@dschmidt/provider-google.BigqueryTable.putTimePartitioning"></a>

```typescript
public putTimePartitioning(value: BigqueryTableTimePartitioning): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTable.putTimePartitioning.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableTimePartitioning">BigqueryTableTimePartitioning</a>

---

##### `putView` <a name="putView" id="@dschmidt/provider-google.BigqueryTable.putView"></a>

```typescript
public putView(value: BigqueryTableView): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTable.putView.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableView">BigqueryTableView</a>

---

##### `resetClustering` <a name="resetClustering" id="@dschmidt/provider-google.BigqueryTable.resetClustering"></a>

```typescript
public resetClustering(): void
```

##### `resetDeletionProtection` <a name="resetDeletionProtection" id="@dschmidt/provider-google.BigqueryTable.resetDeletionProtection"></a>

```typescript
public resetDeletionProtection(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.BigqueryTable.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEncryptionConfiguration` <a name="resetEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryTable.resetEncryptionConfiguration"></a>

```typescript
public resetEncryptionConfiguration(): void
```

##### `resetExpirationTime` <a name="resetExpirationTime" id="@dschmidt/provider-google.BigqueryTable.resetExpirationTime"></a>

```typescript
public resetExpirationTime(): void
```

##### `resetExternalDataConfiguration` <a name="resetExternalDataConfiguration" id="@dschmidt/provider-google.BigqueryTable.resetExternalDataConfiguration"></a>

```typescript
public resetExternalDataConfiguration(): void
```

##### `resetFriendlyName` <a name="resetFriendlyName" id="@dschmidt/provider-google.BigqueryTable.resetFriendlyName"></a>

```typescript
public resetFriendlyName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryTable.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.BigqueryTable.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMaterializedView` <a name="resetMaterializedView" id="@dschmidt/provider-google.BigqueryTable.resetMaterializedView"></a>

```typescript
public resetMaterializedView(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryTable.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRangePartitioning` <a name="resetRangePartitioning" id="@dschmidt/provider-google.BigqueryTable.resetRangePartitioning"></a>

```typescript
public resetRangePartitioning(): void
```

##### `resetSchema` <a name="resetSchema" id="@dschmidt/provider-google.BigqueryTable.resetSchema"></a>

```typescript
public resetSchema(): void
```

##### `resetTimePartitioning` <a name="resetTimePartitioning" id="@dschmidt/provider-google.BigqueryTable.resetTimePartitioning"></a>

```typescript
public resetTimePartitioning(): void
```

##### `resetView` <a name="resetView" id="@dschmidt/provider-google.BigqueryTable.resetView"></a>

```typescript
public resetView(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryTable.isConstruct"></a>

```typescript
import { BigqueryTable } from '@dschmidt/provider-google'

BigqueryTable.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryTable.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.creationTime">creationTime</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.encryptionConfiguration">encryptionConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableEncryptionConfigurationOutputReference">BigqueryTableEncryptionConfigurationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.externalDataConfiguration">externalDataConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationOutputReference">BigqueryTableExternalDataConfigurationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.lastModifiedTime">lastModifiedTime</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.materializedView">materializedView</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableMaterializedViewOutputReference">BigqueryTableMaterializedViewOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.numBytes">numBytes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.numLongTermBytes">numLongTermBytes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.numRows">numRows</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.rangePartitioning">rangePartitioning</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableRangePartitioningOutputReference">BigqueryTableRangePartitioningOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.timePartitioning">timePartitioning</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableTimePartitioningOutputReference">BigqueryTableTimePartitioningOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.view">view</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableViewOutputReference">BigqueryTableViewOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.clusteringInput">clusteringInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.deletionProtectionInput">deletionProtectionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.encryptionConfigurationInput">encryptionConfigurationInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableEncryptionConfiguration">BigqueryTableEncryptionConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.expirationTimeInput">expirationTimeInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.externalDataConfigurationInput">externalDataConfigurationInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration">BigqueryTableExternalDataConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.friendlyNameInput">friendlyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.materializedViewInput">materializedViewInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableMaterializedView">BigqueryTableMaterializedView</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.rangePartitioningInput">rangePartitioningInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableRangePartitioning">BigqueryTableRangePartitioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.schemaInput">schemaInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.tableIdInput">tableIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.timePartitioningInput">timePartitioningInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableTimePartitioning">BigqueryTableTimePartitioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.viewInput">viewInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableView">BigqueryTableView</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.clustering">clustering</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.expirationTime">expirationTime</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.friendlyName">friendlyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.schema">schema</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.tableId">tableId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryTable.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryTable.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryTable.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryTable.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryTable.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryTable.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryTable.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryTable.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryTable.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryTable.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryTable.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryTable.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryTable.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryTable.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTime`<sup>Required</sup> <a name="creationTime" id="@dschmidt/provider-google.BigqueryTable.property.creationTime"></a>

```typescript
public readonly creationTime: number;
```

- *Type:* number

---

##### `encryptionConfiguration`<sup>Required</sup> <a name="encryptionConfiguration" id="@dschmidt/provider-google.BigqueryTable.property.encryptionConfiguration"></a>

```typescript
public readonly encryptionConfiguration: BigqueryTableEncryptionConfigurationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableEncryptionConfigurationOutputReference">BigqueryTableEncryptionConfigurationOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryTable.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `externalDataConfiguration`<sup>Required</sup> <a name="externalDataConfiguration" id="@dschmidt/provider-google.BigqueryTable.property.externalDataConfiguration"></a>

```typescript
public readonly externalDataConfiguration: BigqueryTableExternalDataConfigurationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationOutputReference">BigqueryTableExternalDataConfigurationOutputReference</a>

---

##### `lastModifiedTime`<sup>Required</sup> <a name="lastModifiedTime" id="@dschmidt/provider-google.BigqueryTable.property.lastModifiedTime"></a>

```typescript
public readonly lastModifiedTime: number;
```

- *Type:* number

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.BigqueryTable.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `materializedView`<sup>Required</sup> <a name="materializedView" id="@dschmidt/provider-google.BigqueryTable.property.materializedView"></a>

```typescript
public readonly materializedView: BigqueryTableMaterializedViewOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableMaterializedViewOutputReference">BigqueryTableMaterializedViewOutputReference</a>

---

##### `numBytes`<sup>Required</sup> <a name="numBytes" id="@dschmidt/provider-google.BigqueryTable.property.numBytes"></a>

```typescript
public readonly numBytes: number;
```

- *Type:* number

---

##### `numLongTermBytes`<sup>Required</sup> <a name="numLongTermBytes" id="@dschmidt/provider-google.BigqueryTable.property.numLongTermBytes"></a>

```typescript
public readonly numLongTermBytes: number;
```

- *Type:* number

---

##### `numRows`<sup>Required</sup> <a name="numRows" id="@dschmidt/provider-google.BigqueryTable.property.numRows"></a>

```typescript
public readonly numRows: number;
```

- *Type:* number

---

##### `rangePartitioning`<sup>Required</sup> <a name="rangePartitioning" id="@dschmidt/provider-google.BigqueryTable.property.rangePartitioning"></a>

```typescript
public readonly rangePartitioning: BigqueryTableRangePartitioningOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableRangePartitioningOutputReference">BigqueryTableRangePartitioningOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.BigqueryTable.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timePartitioning`<sup>Required</sup> <a name="timePartitioning" id="@dschmidt/provider-google.BigqueryTable.property.timePartitioning"></a>

```typescript
public readonly timePartitioning: BigqueryTableTimePartitioningOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableTimePartitioningOutputReference">BigqueryTableTimePartitioningOutputReference</a>

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.BigqueryTable.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `view`<sup>Required</sup> <a name="view" id="@dschmidt/provider-google.BigqueryTable.property.view"></a>

```typescript
public readonly view: BigqueryTableViewOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableViewOutputReference">BigqueryTableViewOutputReference</a>

---

##### `clusteringInput`<sup>Optional</sup> <a name="clusteringInput" id="@dschmidt/provider-google.BigqueryTable.property.clusteringInput"></a>

```typescript
public readonly clusteringInput: string[];
```

- *Type:* string[]

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryTable.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `deletionProtectionInput`<sup>Optional</sup> <a name="deletionProtectionInput" id="@dschmidt/provider-google.BigqueryTable.property.deletionProtectionInput"></a>

```typescript
public readonly deletionProtectionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.BigqueryTable.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `encryptionConfigurationInput`<sup>Optional</sup> <a name="encryptionConfigurationInput" id="@dschmidt/provider-google.BigqueryTable.property.encryptionConfigurationInput"></a>

```typescript
public readonly encryptionConfigurationInput: BigqueryTableEncryptionConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableEncryptionConfiguration">BigqueryTableEncryptionConfiguration</a>

---

##### `expirationTimeInput`<sup>Optional</sup> <a name="expirationTimeInput" id="@dschmidt/provider-google.BigqueryTable.property.expirationTimeInput"></a>

```typescript
public readonly expirationTimeInput: number;
```

- *Type:* number

---

##### `externalDataConfigurationInput`<sup>Optional</sup> <a name="externalDataConfigurationInput" id="@dschmidt/provider-google.BigqueryTable.property.externalDataConfigurationInput"></a>

```typescript
public readonly externalDataConfigurationInput: BigqueryTableExternalDataConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration">BigqueryTableExternalDataConfiguration</a>

---

##### `friendlyNameInput`<sup>Optional</sup> <a name="friendlyNameInput" id="@dschmidt/provider-google.BigqueryTable.property.friendlyNameInput"></a>

```typescript
public readonly friendlyNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryTable.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.BigqueryTable.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `materializedViewInput`<sup>Optional</sup> <a name="materializedViewInput" id="@dschmidt/provider-google.BigqueryTable.property.materializedViewInput"></a>

```typescript
public readonly materializedViewInput: BigqueryTableMaterializedView;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableMaterializedView">BigqueryTableMaterializedView</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryTable.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `rangePartitioningInput`<sup>Optional</sup> <a name="rangePartitioningInput" id="@dschmidt/provider-google.BigqueryTable.property.rangePartitioningInput"></a>

```typescript
public readonly rangePartitioningInput: BigqueryTableRangePartitioning;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableRangePartitioning">BigqueryTableRangePartitioning</a>

---

##### `schemaInput`<sup>Optional</sup> <a name="schemaInput" id="@dschmidt/provider-google.BigqueryTable.property.schemaInput"></a>

```typescript
public readonly schemaInput: string;
```

- *Type:* string

---

##### `tableIdInput`<sup>Optional</sup> <a name="tableIdInput" id="@dschmidt/provider-google.BigqueryTable.property.tableIdInput"></a>

```typescript
public readonly tableIdInput: string;
```

- *Type:* string

---

##### `timePartitioningInput`<sup>Optional</sup> <a name="timePartitioningInput" id="@dschmidt/provider-google.BigqueryTable.property.timePartitioningInput"></a>

```typescript
public readonly timePartitioningInput: BigqueryTableTimePartitioning;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableTimePartitioning">BigqueryTableTimePartitioning</a>

---

##### `viewInput`<sup>Optional</sup> <a name="viewInput" id="@dschmidt/provider-google.BigqueryTable.property.viewInput"></a>

```typescript
public readonly viewInput: BigqueryTableView;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableView">BigqueryTableView</a>

---

##### `clustering`<sup>Required</sup> <a name="clustering" id="@dschmidt/provider-google.BigqueryTable.property.clustering"></a>

```typescript
public readonly clustering: string[];
```

- *Type:* string[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryTable.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.BigqueryTable.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.BigqueryTable.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `expirationTime`<sup>Required</sup> <a name="expirationTime" id="@dschmidt/provider-google.BigqueryTable.property.expirationTime"></a>

```typescript
public readonly expirationTime: number;
```

- *Type:* number

---

##### `friendlyName`<sup>Required</sup> <a name="friendlyName" id="@dschmidt/provider-google.BigqueryTable.property.friendlyName"></a>

```typescript
public readonly friendlyName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTable.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.BigqueryTable.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryTable.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `schema`<sup>Required</sup> <a name="schema" id="@dschmidt/provider-google.BigqueryTable.property.schema"></a>

```typescript
public readonly schema: string;
```

- *Type:* string

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryTable.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTable.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryTable.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryTableIamBinding <a name="BigqueryTableIamBinding" id="@dschmidt/provider-google.BigqueryTableIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding google_bigquery_table_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryTableIamBinding.Initializer"></a>

```typescript
import { BigqueryTableIamBinding } from '@dschmidt/provider-google'

new BigqueryTableIamBinding(scope: Construct, id: string, config: BigqueryTableIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig">BigqueryTableIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryTableIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryTableIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig">BigqueryTableIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryTableIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryTableIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryTableIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTableIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryTableIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryTableIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryTableIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryTableIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryTableIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigqueryTableIamBinding.putCondition"></a>

```typescript
public putCondition(value: BigqueryTableIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTableIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamBindingCondition">BigqueryTableIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigqueryTableIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryTableIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryTableIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryTableIamBinding.isConstruct"></a>

```typescript
import { BigqueryTableIamBinding } from '@dschmidt/provider-google'

BigqueryTableIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryTableIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConditionOutputReference">BigqueryTableIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingCondition">BigqueryTableIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.tableIdInput">tableIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.tableId">tableId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.condition"></a>

```typescript
public readonly condition: BigqueryTableIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamBindingConditionOutputReference">BigqueryTableIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigqueryTableIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamBindingCondition">BigqueryTableIamBindingCondition</a>

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tableIdInput`<sup>Optional</sup> <a name="tableIdInput" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.tableIdInput"></a>

```typescript
public readonly tableIdInput: string;
```

- *Type:* string

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryTableIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryTableIamMember <a name="BigqueryTableIamMember" id="@dschmidt/provider-google.BigqueryTableIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member google_bigquery_table_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryTableIamMember.Initializer"></a>

```typescript
import { BigqueryTableIamMember } from '@dschmidt/provider-google'

new BigqueryTableIamMember(scope: Construct, id: string, config: BigqueryTableIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig">BigqueryTableIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryTableIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryTableIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig">BigqueryTableIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryTableIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryTableIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryTableIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTableIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryTableIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryTableIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryTableIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryTableIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryTableIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigqueryTableIamMember.putCondition"></a>

```typescript
public putCondition(value: BigqueryTableIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTableIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamMemberCondition">BigqueryTableIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigqueryTableIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryTableIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryTableIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryTableIamMember.isConstruct"></a>

```typescript
import { BigqueryTableIamMember } from '@dschmidt/provider-google'

BigqueryTableIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryTableIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConditionOutputReference">BigqueryTableIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberCondition">BigqueryTableIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.tableIdInput">tableIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.tableId">tableId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryTableIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryTableIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryTableIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryTableIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryTableIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryTableIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryTableIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryTableIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryTableIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryTableIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryTableIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryTableIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryTableIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryTableIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryTableIamMember.property.condition"></a>

```typescript
public readonly condition: BigqueryTableIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamMemberConditionOutputReference">BigqueryTableIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryTableIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigqueryTableIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigqueryTableIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamMemberCondition">BigqueryTableIamMemberCondition</a>

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryTableIamMember.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryTableIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.BigqueryTableIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryTableIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigqueryTableIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tableIdInput`<sup>Optional</sup> <a name="tableIdInput" id="@dschmidt/provider-google.BigqueryTableIamMember.property.tableIdInput"></a>

```typescript
public readonly tableIdInput: string;
```

- *Type:* string

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryTableIamMember.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigqueryTableIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryTableIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryTableIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryTableIamMember.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryTableIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigqueryTableIamPolicy <a name="BigqueryTableIamPolicy" id="@dschmidt/provider-google.BigqueryTableIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy google_bigquery_table_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigqueryTableIamPolicy.Initializer"></a>

```typescript
import { BigqueryTableIamPolicy } from '@dschmidt/provider-google'

new BigqueryTableIamPolicy(scope: Construct, id: string, config: BigqueryTableIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig">BigqueryTableIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigqueryTableIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigqueryTableIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig">BigqueryTableIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigqueryTableIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigqueryTableIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigqueryTableIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigqueryTableIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigqueryTableIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigqueryTableIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigqueryTableIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigqueryTableIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigqueryTableIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigqueryTableIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigqueryTableIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigqueryTableIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigqueryTableIamPolicy.isConstruct"></a>

```typescript
import { BigqueryTableIamPolicy } from '@dschmidt/provider-google'

BigqueryTableIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigqueryTableIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.tableIdInput">tableIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.tableId">tableId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `tableIdInput`<sup>Optional</sup> <a name="tableIdInput" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.tableIdInput"></a>

```typescript
public readonly tableIdInput: string;
```

- *Type:* string

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigqueryTableIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableAppProfile <a name="BigtableAppProfile" id="@dschmidt/provider-google.BigtableAppProfile"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile google_bigtable_app_profile}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableAppProfile.Initializer"></a>

```typescript
import { BigtableAppProfile } from '@dschmidt/provider-google'

new BigtableAppProfile(scope: Construct, id: string, config: BigtableAppProfileConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig">BigtableAppProfileConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableAppProfile.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableAppProfile.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableAppProfile.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableAppProfileConfig">BigtableAppProfileConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.putSingleClusterRouting">putSingleClusterRouting</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetIgnoreWarnings">resetIgnoreWarnings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetInstance">resetInstance</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetMultiClusterRoutingClusterIds">resetMultiClusterRoutingClusterIds</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetMultiClusterRoutingUseAny">resetMultiClusterRoutingUseAny</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetSingleClusterRouting">resetSingleClusterRouting</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableAppProfile.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableAppProfile.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableAppProfile.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableAppProfile.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableAppProfile.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableAppProfile.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableAppProfile.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableAppProfile.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableAppProfile.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableAppProfile.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableAppProfile.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSingleClusterRouting` <a name="putSingleClusterRouting" id="@dschmidt/provider-google.BigtableAppProfile.putSingleClusterRouting"></a>

```typescript
public putSingleClusterRouting(value: BigtableAppProfileSingleClusterRouting): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableAppProfile.putSingleClusterRouting.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting">BigtableAppProfileSingleClusterRouting</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BigtableAppProfile.putTimeouts"></a>

```typescript
public putTimeouts(value: BigtableAppProfileTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableAppProfile.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableAppProfileTimeouts">BigtableAppProfileTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.BigtableAppProfile.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableAppProfile.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIgnoreWarnings` <a name="resetIgnoreWarnings" id="@dschmidt/provider-google.BigtableAppProfile.resetIgnoreWarnings"></a>

```typescript
public resetIgnoreWarnings(): void
```

##### `resetInstance` <a name="resetInstance" id="@dschmidt/provider-google.BigtableAppProfile.resetInstance"></a>

```typescript
public resetInstance(): void
```

##### `resetMultiClusterRoutingClusterIds` <a name="resetMultiClusterRoutingClusterIds" id="@dschmidt/provider-google.BigtableAppProfile.resetMultiClusterRoutingClusterIds"></a>

```typescript
public resetMultiClusterRoutingClusterIds(): void
```

##### `resetMultiClusterRoutingUseAny` <a name="resetMultiClusterRoutingUseAny" id="@dschmidt/provider-google.BigtableAppProfile.resetMultiClusterRoutingUseAny"></a>

```typescript
public resetMultiClusterRoutingUseAny(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableAppProfile.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSingleClusterRouting` <a name="resetSingleClusterRouting" id="@dschmidt/provider-google.BigtableAppProfile.resetSingleClusterRouting"></a>

```typescript
public resetSingleClusterRouting(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BigtableAppProfile.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableAppProfile.isConstruct"></a>

```typescript
import { BigtableAppProfile } from '@dschmidt/provider-google'

BigtableAppProfile.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableAppProfile.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.singleClusterRouting">singleClusterRouting</a></code> | <code><a href="#@dschmidt/provider-google.BigtableAppProfileSingleClusterRoutingOutputReference">BigtableAppProfileSingleClusterRoutingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigtableAppProfileTimeoutsOutputReference">BigtableAppProfileTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.appProfileIdInput">appProfileIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.ignoreWarningsInput">ignoreWarningsInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.multiClusterRoutingClusterIdsInput">multiClusterRoutingClusterIdsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.multiClusterRoutingUseAnyInput">multiClusterRoutingUseAnyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.singleClusterRoutingInput">singleClusterRoutingInput</a></code> | <code><a href="#@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting">BigtableAppProfileSingleClusterRouting</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigtableAppProfileTimeouts">BigtableAppProfileTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.appProfileId">appProfileId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.ignoreWarnings">ignoreWarnings</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.multiClusterRoutingClusterIds">multiClusterRoutingClusterIds</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.multiClusterRoutingUseAny">multiClusterRoutingUseAny</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableAppProfile.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableAppProfile.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableAppProfile.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableAppProfile.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableAppProfile.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableAppProfile.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableAppProfile.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableAppProfile.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableAppProfile.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableAppProfile.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableAppProfile.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableAppProfile.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableAppProfile.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableAppProfile.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigtableAppProfile.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `singleClusterRouting`<sup>Required</sup> <a name="singleClusterRouting" id="@dschmidt/provider-google.BigtableAppProfile.property.singleClusterRouting"></a>

```typescript
public readonly singleClusterRouting: BigtableAppProfileSingleClusterRoutingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableAppProfileSingleClusterRoutingOutputReference">BigtableAppProfileSingleClusterRoutingOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BigtableAppProfile.property.timeouts"></a>

```typescript
public readonly timeouts: BigtableAppProfileTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableAppProfileTimeoutsOutputReference">BigtableAppProfileTimeoutsOutputReference</a>

---

##### `appProfileIdInput`<sup>Optional</sup> <a name="appProfileIdInput" id="@dschmidt/provider-google.BigtableAppProfile.property.appProfileIdInput"></a>

```typescript
public readonly appProfileIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.BigtableAppProfile.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableAppProfile.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ignoreWarningsInput`<sup>Optional</sup> <a name="ignoreWarningsInput" id="@dschmidt/provider-google.BigtableAppProfile.property.ignoreWarningsInput"></a>

```typescript
public readonly ignoreWarningsInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.BigtableAppProfile.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `multiClusterRoutingClusterIdsInput`<sup>Optional</sup> <a name="multiClusterRoutingClusterIdsInput" id="@dschmidt/provider-google.BigtableAppProfile.property.multiClusterRoutingClusterIdsInput"></a>

```typescript
public readonly multiClusterRoutingClusterIdsInput: string[];
```

- *Type:* string[]

---

##### `multiClusterRoutingUseAnyInput`<sup>Optional</sup> <a name="multiClusterRoutingUseAnyInput" id="@dschmidt/provider-google.BigtableAppProfile.property.multiClusterRoutingUseAnyInput"></a>

```typescript
public readonly multiClusterRoutingUseAnyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableAppProfile.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `singleClusterRoutingInput`<sup>Optional</sup> <a name="singleClusterRoutingInput" id="@dschmidt/provider-google.BigtableAppProfile.property.singleClusterRoutingInput"></a>

```typescript
public readonly singleClusterRoutingInput: BigtableAppProfileSingleClusterRouting;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting">BigtableAppProfileSingleClusterRouting</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BigtableAppProfile.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BigtableAppProfileTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableAppProfileTimeouts">BigtableAppProfileTimeouts</a>

---

##### `appProfileId`<sup>Required</sup> <a name="appProfileId" id="@dschmidt/provider-google.BigtableAppProfile.property.appProfileId"></a>

```typescript
public readonly appProfileId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.BigtableAppProfile.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableAppProfile.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ignoreWarnings`<sup>Required</sup> <a name="ignoreWarnings" id="@dschmidt/provider-google.BigtableAppProfile.property.ignoreWarnings"></a>

```typescript
public readonly ignoreWarnings: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableAppProfile.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `multiClusterRoutingClusterIds`<sup>Required</sup> <a name="multiClusterRoutingClusterIds" id="@dschmidt/provider-google.BigtableAppProfile.property.multiClusterRoutingClusterIds"></a>

```typescript
public readonly multiClusterRoutingClusterIds: string[];
```

- *Type:* string[]

---

##### `multiClusterRoutingUseAny`<sup>Required</sup> <a name="multiClusterRoutingUseAny" id="@dschmidt/provider-google.BigtableAppProfile.property.multiClusterRoutingUseAny"></a>

```typescript
public readonly multiClusterRoutingUseAny: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableAppProfile.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfile.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableAppProfile.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableGcPolicy <a name="BigtableGcPolicy" id="@dschmidt/provider-google.BigtableGcPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy google_bigtable_gc_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableGcPolicy.Initializer"></a>

```typescript
import { BigtableGcPolicy } from '@dschmidt/provider-google'

new BigtableGcPolicy(scope: Construct, id: string, config: BigtableGcPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig">BigtableGcPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableGcPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableGcPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableGcPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableGcPolicyConfig">BigtableGcPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.putMaxAge">putMaxAge</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.putMaxVersion">putMaxVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.resetGcRules">resetGcRules</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.resetMaxAge">resetMaxAge</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.resetMaxVersion">resetMaxVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.resetMode">resetMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableGcPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableGcPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableGcPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableGcPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableGcPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableGcPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableGcPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableGcPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableGcPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableGcPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMaxAge` <a name="putMaxAge" id="@dschmidt/provider-google.BigtableGcPolicy.putMaxAge"></a>

```typescript
public putMaxAge(value: BigtableGcPolicyMaxAge): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableGcPolicy.putMaxAge.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxAge">BigtableGcPolicyMaxAge</a>

---

##### `putMaxVersion` <a name="putMaxVersion" id="@dschmidt/provider-google.BigtableGcPolicy.putMaxVersion"></a>

```typescript
public putMaxVersion(value: IResolvable | BigtableGcPolicyMaxVersion[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableGcPolicy.putMaxVersion.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxVersion">BigtableGcPolicyMaxVersion</a>[]

---

##### `resetGcRules` <a name="resetGcRules" id="@dschmidt/provider-google.BigtableGcPolicy.resetGcRules"></a>

```typescript
public resetGcRules(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableGcPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMaxAge` <a name="resetMaxAge" id="@dschmidt/provider-google.BigtableGcPolicy.resetMaxAge"></a>

```typescript
public resetMaxAge(): void
```

##### `resetMaxVersion` <a name="resetMaxVersion" id="@dschmidt/provider-google.BigtableGcPolicy.resetMaxVersion"></a>

```typescript
public resetMaxVersion(): void
```

##### `resetMode` <a name="resetMode" id="@dschmidt/provider-google.BigtableGcPolicy.resetMode"></a>

```typescript
public resetMode(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableGcPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableGcPolicy.isConstruct"></a>

```typescript
import { BigtableGcPolicy } from '@dschmidt/provider-google'

BigtableGcPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableGcPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.maxAge">maxAge</a></code> | <code><a href="#@dschmidt/provider-google.BigtableGcPolicyMaxAgeOutputReference">BigtableGcPolicyMaxAgeOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.maxVersion">maxVersion</a></code> | <code><a href="#@dschmidt/provider-google.BigtableGcPolicyMaxVersionList">BigtableGcPolicyMaxVersionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.columnFamilyInput">columnFamilyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.gcRulesInput">gcRulesInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.instanceNameInput">instanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.maxAgeInput">maxAgeInput</a></code> | <code><a href="#@dschmidt/provider-google.BigtableGcPolicyMaxAge">BigtableGcPolicyMaxAge</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.maxVersionInput">maxVersionInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxVersion">BigtableGcPolicyMaxVersion</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.modeInput">modeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.tableInput">tableInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.columnFamily">columnFamily</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.gcRules">gcRules</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.instanceName">instanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.mode">mode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.table">table</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableGcPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableGcPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableGcPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableGcPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableGcPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableGcPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableGcPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableGcPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableGcPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableGcPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableGcPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableGcPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableGcPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableGcPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `maxAge`<sup>Required</sup> <a name="maxAge" id="@dschmidt/provider-google.BigtableGcPolicy.property.maxAge"></a>

```typescript
public readonly maxAge: BigtableGcPolicyMaxAgeOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxAgeOutputReference">BigtableGcPolicyMaxAgeOutputReference</a>

---

##### `maxVersion`<sup>Required</sup> <a name="maxVersion" id="@dschmidt/provider-google.BigtableGcPolicy.property.maxVersion"></a>

```typescript
public readonly maxVersion: BigtableGcPolicyMaxVersionList;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxVersionList">BigtableGcPolicyMaxVersionList</a>

---

##### `columnFamilyInput`<sup>Optional</sup> <a name="columnFamilyInput" id="@dschmidt/provider-google.BigtableGcPolicy.property.columnFamilyInput"></a>

```typescript
public readonly columnFamilyInput: string;
```

- *Type:* string

---

##### `gcRulesInput`<sup>Optional</sup> <a name="gcRulesInput" id="@dschmidt/provider-google.BigtableGcPolicy.property.gcRulesInput"></a>

```typescript
public readonly gcRulesInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableGcPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceNameInput`<sup>Optional</sup> <a name="instanceNameInput" id="@dschmidt/provider-google.BigtableGcPolicy.property.instanceNameInput"></a>

```typescript
public readonly instanceNameInput: string;
```

- *Type:* string

---

##### `maxAgeInput`<sup>Optional</sup> <a name="maxAgeInput" id="@dschmidt/provider-google.BigtableGcPolicy.property.maxAgeInput"></a>

```typescript
public readonly maxAgeInput: BigtableGcPolicyMaxAge;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxAge">BigtableGcPolicyMaxAge</a>

---

##### `maxVersionInput`<sup>Optional</sup> <a name="maxVersionInput" id="@dschmidt/provider-google.BigtableGcPolicy.property.maxVersionInput"></a>

```typescript
public readonly maxVersionInput: IResolvable | BigtableGcPolicyMaxVersion[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxVersion">BigtableGcPolicyMaxVersion</a>[]

---

##### `modeInput`<sup>Optional</sup> <a name="modeInput" id="@dschmidt/provider-google.BigtableGcPolicy.property.modeInput"></a>

```typescript
public readonly modeInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableGcPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `tableInput`<sup>Optional</sup> <a name="tableInput" id="@dschmidt/provider-google.BigtableGcPolicy.property.tableInput"></a>

```typescript
public readonly tableInput: string;
```

- *Type:* string

---

##### `columnFamily`<sup>Required</sup> <a name="columnFamily" id="@dschmidt/provider-google.BigtableGcPolicy.property.columnFamily"></a>

```typescript
public readonly columnFamily: string;
```

- *Type:* string

---

##### `gcRules`<sup>Required</sup> <a name="gcRules" id="@dschmidt/provider-google.BigtableGcPolicy.property.gcRules"></a>

```typescript
public readonly gcRules: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableGcPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.BigtableGcPolicy.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

---

##### `mode`<sup>Required</sup> <a name="mode" id="@dschmidt/provider-google.BigtableGcPolicy.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableGcPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.BigtableGcPolicy.property.table"></a>

```typescript
public readonly table: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableGcPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableInstance <a name="BigtableInstance" id="@dschmidt/provider-google.BigtableInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance google_bigtable_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableInstance.Initializer"></a>

```typescript
import { BigtableInstance } from '@dschmidt/provider-google'

new BigtableInstance(scope: Construct, id: string, config: BigtableInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig">BigtableInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceConfig">BigtableInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.putCluster">putCluster</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.resetCluster">resetCluster</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.resetDeletionProtection">resetDeletionProtection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.resetInstanceType">resetInstanceType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCluster` <a name="putCluster" id="@dschmidt/provider-google.BigtableInstance.putCluster"></a>

```typescript
public putCluster(value: IResolvable | BigtableInstanceCluster[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableInstance.putCluster.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableInstanceCluster">BigtableInstanceCluster</a>[]

---

##### `resetCluster` <a name="resetCluster" id="@dschmidt/provider-google.BigtableInstance.resetCluster"></a>

```typescript
public resetCluster(): void
```

##### `resetDeletionProtection` <a name="resetDeletionProtection" id="@dschmidt/provider-google.BigtableInstance.resetDeletionProtection"></a>

```typescript
public resetDeletionProtection(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.BigtableInstance.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInstanceType` <a name="resetInstanceType" id="@dschmidt/provider-google.BigtableInstance.resetInstanceType"></a>

```typescript
public resetInstanceType(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.BigtableInstance.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableInstance.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableInstance.isConstruct"></a>

```typescript
import { BigtableInstance } from '@dschmidt/provider-google'

BigtableInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.cluster">cluster</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceClusterList">BigtableInstanceClusterList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.clusterInput">clusterInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigtableInstanceCluster">BigtableInstanceCluster</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.deletionProtectionInput">deletionProtectionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.instanceTypeInput">instanceTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.instanceType">instanceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.BigtableInstance.property.cluster"></a>

```typescript
public readonly cluster: BigtableInstanceClusterList;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceClusterList">BigtableInstanceClusterList</a>

---

##### `clusterInput`<sup>Optional</sup> <a name="clusterInput" id="@dschmidt/provider-google.BigtableInstance.property.clusterInput"></a>

```typescript
public readonly clusterInput: IResolvable | BigtableInstanceCluster[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableInstanceCluster">BigtableInstanceCluster</a>[]

---

##### `deletionProtectionInput`<sup>Optional</sup> <a name="deletionProtectionInput" id="@dschmidt/provider-google.BigtableInstance.property.deletionProtectionInput"></a>

```typescript
public readonly deletionProtectionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.BigtableInstance.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceTypeInput`<sup>Optional</sup> <a name="instanceTypeInput" id="@dschmidt/provider-google.BigtableInstance.property.instanceTypeInput"></a>

```typescript
public readonly instanceTypeInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.BigtableInstance.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.BigtableInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.BigtableInstance.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.BigtableInstance.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceType`<sup>Required</sup> <a name="instanceType" id="@dschmidt/provider-google.BigtableInstance.property.instanceType"></a>

```typescript
public readonly instanceType: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.BigtableInstance.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigtableInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableInstanceIamBinding <a name="BigtableInstanceIamBinding" id="@dschmidt/provider-google.BigtableInstanceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding google_bigtable_instance_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableInstanceIamBinding.Initializer"></a>

```typescript
import { BigtableInstanceIamBinding } from '@dschmidt/provider-google'

new BigtableInstanceIamBinding(scope: Construct, id: string, config: BigtableInstanceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig">BigtableInstanceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableInstanceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableInstanceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig">BigtableInstanceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableInstanceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableInstanceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableInstanceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableInstanceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableInstanceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableInstanceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableInstanceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableInstanceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableInstanceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigtableInstanceIamBinding.putCondition"></a>

```typescript
public putCondition(value: BigtableInstanceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableInstanceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamBindingCondition">BigtableInstanceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigtableInstanceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableInstanceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableInstanceIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableInstanceIamBinding.isConstruct"></a>

```typescript
import { BigtableInstanceIamBinding } from '@dschmidt/provider-google'

BigtableInstanceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableInstanceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConditionOutputReference">BigtableInstanceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingCondition">BigtableInstanceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.condition"></a>

```typescript
public readonly condition: BigtableInstanceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConditionOutputReference">BigtableInstanceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigtableInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamBindingCondition">BigtableInstanceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableInstanceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableInstanceIamMember <a name="BigtableInstanceIamMember" id="@dschmidt/provider-google.BigtableInstanceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member google_bigtable_instance_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableInstanceIamMember.Initializer"></a>

```typescript
import { BigtableInstanceIamMember } from '@dschmidt/provider-google'

new BigtableInstanceIamMember(scope: Construct, id: string, config: BigtableInstanceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig">BigtableInstanceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableInstanceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableInstanceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig">BigtableInstanceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableInstanceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableInstanceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableInstanceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableInstanceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableInstanceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableInstanceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableInstanceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableInstanceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableInstanceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigtableInstanceIamMember.putCondition"></a>

```typescript
public putCondition(value: BigtableInstanceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableInstanceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamMemberCondition">BigtableInstanceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigtableInstanceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableInstanceIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableInstanceIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableInstanceIamMember.isConstruct"></a>

```typescript
import { BigtableInstanceIamMember } from '@dschmidt/provider-google'

BigtableInstanceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableInstanceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConditionOutputReference">BigtableInstanceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberCondition">BigtableInstanceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.condition"></a>

```typescript
public readonly condition: BigtableInstanceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConditionOutputReference">BigtableInstanceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigtableInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamMemberCondition">BigtableInstanceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableInstanceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableInstanceIamPolicy <a name="BigtableInstanceIamPolicy" id="@dschmidt/provider-google.BigtableInstanceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_policy google_bigtable_instance_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.Initializer"></a>

```typescript
import { BigtableInstanceIamPolicy } from '@dschmidt/provider-google'

new BigtableInstanceIamPolicy(scope: Construct, id: string, config: BigtableInstanceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig">BigtableInstanceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig">BigtableInstanceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.isConstruct"></a>

```typescript
import { BigtableInstanceIamPolicy } from '@dschmidt/provider-google'

BigtableInstanceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableInstanceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableTable <a name="BigtableTable" id="@dschmidt/provider-google.BigtableTable"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_table google_bigtable_table}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableTable.Initializer"></a>

```typescript
import { BigtableTable } from '@dschmidt/provider-google'

new BigtableTable(scope: Construct, id: string, config: BigtableTableConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTable.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableTable.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableTable.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableConfig">BigtableTableConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableTable.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableTable.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableTable.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableConfig">BigtableTableConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTable.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableTable.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableTable.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableTable.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableTable.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.putColumnFamily">putColumnFamily</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.resetColumnFamily">resetColumnFamily</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.resetSplitKeys">resetSplitKeys</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableTable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableTable.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableTable.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableTable.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableTable.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableTable.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableTable.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableTable.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableTable.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableTable.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableTable.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableTable.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableTable.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableTable.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableTable.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableTable.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableTable.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableTable.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableTable.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTable.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putColumnFamily` <a name="putColumnFamily" id="@dschmidt/provider-google.BigtableTable.putColumnFamily"></a>

```typescript
public putColumnFamily(value: IResolvable | BigtableTableColumnFamily[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableTable.putColumnFamily.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableTableColumnFamily">BigtableTableColumnFamily</a>[]

---

##### `resetColumnFamily` <a name="resetColumnFamily" id="@dschmidt/provider-google.BigtableTable.resetColumnFamily"></a>

```typescript
public resetColumnFamily(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableTable.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableTable.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSplitKeys` <a name="resetSplitKeys" id="@dschmidt/provider-google.BigtableTable.resetSplitKeys"></a>

```typescript
public resetSplitKeys(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTable.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableTable.isConstruct"></a>

```typescript
import { BigtableTable } from '@dschmidt/provider-google'

BigtableTable.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableTable.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.columnFamily">columnFamily</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableColumnFamilyList">BigtableTableColumnFamilyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.columnFamilyInput">columnFamilyInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigtableTableColumnFamily">BigtableTableColumnFamily</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.instanceNameInput">instanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.splitKeysInput">splitKeysInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.instanceName">instanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.splitKeys">splitKeys</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableTable.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableTable.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableTable.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableTable.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableTable.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableTable.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableTable.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableTable.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableTable.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableTable.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableTable.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableTable.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableTable.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableTable.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `columnFamily`<sup>Required</sup> <a name="columnFamily" id="@dschmidt/provider-google.BigtableTable.property.columnFamily"></a>

```typescript
public readonly columnFamily: BigtableTableColumnFamilyList;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableColumnFamilyList">BigtableTableColumnFamilyList</a>

---

##### `columnFamilyInput`<sup>Optional</sup> <a name="columnFamilyInput" id="@dschmidt/provider-google.BigtableTable.property.columnFamilyInput"></a>

```typescript
public readonly columnFamilyInput: IResolvable | BigtableTableColumnFamily[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableTableColumnFamily">BigtableTableColumnFamily</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableTable.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceNameInput`<sup>Optional</sup> <a name="instanceNameInput" id="@dschmidt/provider-google.BigtableTable.property.instanceNameInput"></a>

```typescript
public readonly instanceNameInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.BigtableTable.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableTable.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `splitKeysInput`<sup>Optional</sup> <a name="splitKeysInput" id="@dschmidt/provider-google.BigtableTable.property.splitKeysInput"></a>

```typescript
public readonly splitKeysInput: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableTable.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.BigtableTable.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigtableTable.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableTable.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `splitKeys`<sup>Required</sup> <a name="splitKeys" id="@dschmidt/provider-google.BigtableTable.property.splitKeys"></a>

```typescript
public readonly splitKeys: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTable.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableTable.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableTableIamBinding <a name="BigtableTableIamBinding" id="@dschmidt/provider-google.BigtableTableIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding google_bigtable_table_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableTableIamBinding.Initializer"></a>

```typescript
import { BigtableTableIamBinding } from '@dschmidt/provider-google'

new BigtableTableIamBinding(scope: Construct, id: string, config: BigtableTableIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig">BigtableTableIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableTableIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableTableIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig">BigtableTableIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableTableIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableTableIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableTableIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableTableIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableTableIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableTableIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableTableIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableTableIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableTableIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigtableTableIamBinding.putCondition"></a>

```typescript
public putCondition(value: BigtableTableIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableTableIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamBindingCondition">BigtableTableIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigtableTableIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableTableIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableTableIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableTableIamBinding.isConstruct"></a>

```typescript
import { BigtableTableIamBinding } from '@dschmidt/provider-google'

BigtableTableIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableTableIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConditionOutputReference">BigtableTableIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingCondition">BigtableTableIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.tableInput">tableInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.table">table</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableTableIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableTableIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableTableIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableTableIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableTableIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableTableIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableTableIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableTableIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableTableIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableTableIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableTableIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableTableIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableTableIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableTableIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigtableTableIamBinding.property.condition"></a>

```typescript
public readonly condition: BigtableTableIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamBindingConditionOutputReference">BigtableTableIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigtableTableIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigtableTableIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigtableTableIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamBindingCondition">BigtableTableIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableTableIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.BigtableTableIamBinding.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.BigtableTableIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableTableIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigtableTableIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tableInput`<sup>Optional</sup> <a name="tableInput" id="@dschmidt/provider-google.BigtableTableIamBinding.property.tableInput"></a>

```typescript
public readonly tableInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableTableIamBinding.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigtableTableIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableTableIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigtableTableIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.BigtableTableIamBinding.property.table"></a>

```typescript
public readonly table: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableTableIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableTableIamMember <a name="BigtableTableIamMember" id="@dschmidt/provider-google.BigtableTableIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member google_bigtable_table_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableTableIamMember.Initializer"></a>

```typescript
import { BigtableTableIamMember } from '@dschmidt/provider-google'

new BigtableTableIamMember(scope: Construct, id: string, config: BigtableTableIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig">BigtableTableIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableTableIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableTableIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig">BigtableTableIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableTableIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableTableIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableTableIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableTableIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableTableIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableTableIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableTableIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableTableIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableTableIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BigtableTableIamMember.putCondition"></a>

```typescript
public putCondition(value: BigtableTableIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableTableIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamMemberCondition">BigtableTableIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BigtableTableIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableTableIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableTableIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableTableIamMember.isConstruct"></a>

```typescript
import { BigtableTableIamMember } from '@dschmidt/provider-google'

BigtableTableIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableTableIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConditionOutputReference">BigtableTableIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberCondition">BigtableTableIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.tableInput">tableInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.table">table</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableTableIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableTableIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableTableIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableTableIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableTableIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableTableIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableTableIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableTableIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableTableIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableTableIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableTableIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableTableIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableTableIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableTableIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BigtableTableIamMember.property.condition"></a>

```typescript
public readonly condition: BigtableTableIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamMemberConditionOutputReference">BigtableTableIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigtableTableIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BigtableTableIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: BigtableTableIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamMemberCondition">BigtableTableIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableTableIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.BigtableTableIamMember.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.BigtableTableIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableTableIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BigtableTableIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tableInput`<sup>Optional</sup> <a name="tableInput" id="@dschmidt/provider-google.BigtableTableIamMember.property.tableInput"></a>

```typescript
public readonly tableInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableTableIamMember.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigtableTableIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableTableIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigtableTableIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.BigtableTableIamMember.property.table"></a>

```typescript
public readonly table: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableTableIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BigtableTableIamPolicy <a name="BigtableTableIamPolicy" id="@dschmidt/provider-google.BigtableTableIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy google_bigtable_table_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BigtableTableIamPolicy.Initializer"></a>

```typescript
import { BigtableTableIamPolicy } from '@dschmidt/provider-google'

new BigtableTableIamPolicy(scope: Construct, id: string, config: BigtableTableIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig">BigtableTableIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BigtableTableIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BigtableTableIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig">BigtableTableIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BigtableTableIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BigtableTableIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BigtableTableIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BigtableTableIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BigtableTableIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BigtableTableIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BigtableTableIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BigtableTableIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BigtableTableIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BigtableTableIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BigtableTableIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BigtableTableIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BigtableTableIamPolicy.isConstruct"></a>

```typescript
import { BigtableTableIamPolicy } from '@dschmidt/provider-google'

BigtableTableIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BigtableTableIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.tableInput">tableInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.table">table</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `tableInput`<sup>Optional</sup> <a name="tableInput" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.tableInput"></a>

```typescript
public readonly tableInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.table"></a>

```typescript
public readonly table: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BigtableTableIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BillingAccountIamBinding <a name="BillingAccountIamBinding" id="@dschmidt/provider-google.BillingAccountIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding google_billing_account_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BillingAccountIamBinding.Initializer"></a>

```typescript
import { BillingAccountIamBinding } from '@dschmidt/provider-google'

new BillingAccountIamBinding(scope: Construct, id: string, config: BillingAccountIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig">BillingAccountIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BillingAccountIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingAccountIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BillingAccountIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig">BillingAccountIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BillingAccountIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BillingAccountIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BillingAccountIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingAccountIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BillingAccountIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BillingAccountIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BillingAccountIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BillingAccountIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BillingAccountIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BillingAccountIamBinding.putCondition"></a>

```typescript
public putCondition(value: BillingAccountIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingAccountIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamBindingCondition">BillingAccountIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BillingAccountIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BillingAccountIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BillingAccountIamBinding.isConstruct"></a>

```typescript
import { BillingAccountIamBinding } from '@dschmidt/provider-google'

BillingAccountIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BillingAccountIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConditionOutputReference">BillingAccountIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.billingAccountIdInput">billingAccountIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingCondition">BillingAccountIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.billingAccountId">billingAccountId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BillingAccountIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BillingAccountIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BillingAccountIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BillingAccountIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BillingAccountIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BillingAccountIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BillingAccountIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingAccountIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingAccountIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingAccountIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingAccountIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingAccountIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingAccountIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingAccountIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BillingAccountIamBinding.property.condition"></a>

```typescript
public readonly condition: BillingAccountIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamBindingConditionOutputReference">BillingAccountIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BillingAccountIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `billingAccountIdInput`<sup>Optional</sup> <a name="billingAccountIdInput" id="@dschmidt/provider-google.BillingAccountIamBinding.property.billingAccountIdInput"></a>

```typescript
public readonly billingAccountIdInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BillingAccountIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: BillingAccountIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamBindingCondition">BillingAccountIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BillingAccountIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.BillingAccountIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BillingAccountIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `billingAccountId`<sup>Required</sup> <a name="billingAccountId" id="@dschmidt/provider-google.BillingAccountIamBinding.property.billingAccountId"></a>

```typescript
public readonly billingAccountId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingAccountIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BillingAccountIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BillingAccountIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BillingAccountIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BillingAccountIamMember <a name="BillingAccountIamMember" id="@dschmidt/provider-google.BillingAccountIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member google_billing_account_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BillingAccountIamMember.Initializer"></a>

```typescript
import { BillingAccountIamMember } from '@dschmidt/provider-google'

new BillingAccountIamMember(scope: Construct, id: string, config: BillingAccountIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig">BillingAccountIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BillingAccountIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingAccountIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BillingAccountIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig">BillingAccountIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BillingAccountIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BillingAccountIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BillingAccountIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingAccountIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BillingAccountIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BillingAccountIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BillingAccountIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BillingAccountIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BillingAccountIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BillingAccountIamMember.putCondition"></a>

```typescript
public putCondition(value: BillingAccountIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingAccountIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamMemberCondition">BillingAccountIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BillingAccountIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BillingAccountIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BillingAccountIamMember.isConstruct"></a>

```typescript
import { BillingAccountIamMember } from '@dschmidt/provider-google'

BillingAccountIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BillingAccountIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConditionOutputReference">BillingAccountIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.billingAccountIdInput">billingAccountIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberCondition">BillingAccountIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.billingAccountId">billingAccountId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BillingAccountIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BillingAccountIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BillingAccountIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BillingAccountIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BillingAccountIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BillingAccountIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BillingAccountIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingAccountIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingAccountIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingAccountIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingAccountIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingAccountIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingAccountIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingAccountIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BillingAccountIamMember.property.condition"></a>

```typescript
public readonly condition: BillingAccountIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamMemberConditionOutputReference">BillingAccountIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BillingAccountIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `billingAccountIdInput`<sup>Optional</sup> <a name="billingAccountIdInput" id="@dschmidt/provider-google.BillingAccountIamMember.property.billingAccountIdInput"></a>

```typescript
public readonly billingAccountIdInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BillingAccountIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: BillingAccountIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamMemberCondition">BillingAccountIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BillingAccountIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.BillingAccountIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BillingAccountIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `billingAccountId`<sup>Required</sup> <a name="billingAccountId" id="@dschmidt/provider-google.BillingAccountIamMember.property.billingAccountId"></a>

```typescript
public readonly billingAccountId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingAccountIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BillingAccountIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BillingAccountIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BillingAccountIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BillingAccountIamPolicy <a name="BillingAccountIamPolicy" id="@dschmidt/provider-google.BillingAccountIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_policy google_billing_account_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BillingAccountIamPolicy.Initializer"></a>

```typescript
import { BillingAccountIamPolicy } from '@dschmidt/provider-google'

new BillingAccountIamPolicy(scope: Construct, id: string, config: BillingAccountIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig">BillingAccountIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BillingAccountIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingAccountIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BillingAccountIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig">BillingAccountIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BillingAccountIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BillingAccountIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BillingAccountIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingAccountIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BillingAccountIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BillingAccountIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BillingAccountIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BillingAccountIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BillingAccountIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingAccountIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BillingAccountIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BillingAccountIamPolicy.isConstruct"></a>

```typescript
import { BillingAccountIamPolicy } from '@dschmidt/provider-google'

BillingAccountIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BillingAccountIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.billingAccountIdInput">billingAccountIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.billingAccountId">billingAccountId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `billingAccountIdInput`<sup>Optional</sup> <a name="billingAccountIdInput" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.billingAccountIdInput"></a>

```typescript
public readonly billingAccountIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `billingAccountId`<sup>Required</sup> <a name="billingAccountId" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.billingAccountId"></a>

```typescript
public readonly billingAccountId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BillingAccountIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BillingBudget <a name="BillingBudget" id="@dschmidt/provider-google.BillingBudget"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/billing_budget google_billing_budget}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BillingBudget.Initializer"></a>

```typescript
import { BillingBudget } from '@dschmidt/provider-google'

new BillingBudget(scope: Construct, id: string, config: BillingBudgetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudget.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BillingBudget.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BillingBudget.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetConfig">BillingBudgetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BillingBudget.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingBudget.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BillingBudget.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetConfig">BillingBudgetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudget.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BillingBudget.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BillingBudget.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BillingBudget.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BillingBudget.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.putAllUpdatesRule">putAllUpdatesRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.putAmount">putAmount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.putBudgetFilter">putBudgetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.putThresholdRules">putThresholdRules</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.resetAllUpdatesRule">resetAllUpdatesRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.resetBudgetFilter">resetBudgetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.resetThresholdRules">resetThresholdRules</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BillingBudget.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BillingBudget.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BillingBudget.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingBudget.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BillingBudget.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BillingBudget.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BillingBudget.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BillingBudget.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BillingBudget.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BillingBudget.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BillingBudget.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BillingBudget.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BillingBudget.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BillingBudget.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BillingBudget.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BillingBudget.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BillingBudget.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BillingBudget.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BillingBudget.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingBudget.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAllUpdatesRule` <a name="putAllUpdatesRule" id="@dschmidt/provider-google.BillingBudget.putAllUpdatesRule"></a>

```typescript
public putAllUpdatesRule(value: BillingBudgetAllUpdatesRule): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingBudget.putAllUpdatesRule.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRule">BillingBudgetAllUpdatesRule</a>

---

##### `putAmount` <a name="putAmount" id="@dschmidt/provider-google.BillingBudget.putAmount"></a>

```typescript
public putAmount(value: BillingBudgetAmount): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingBudget.putAmount.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetAmount">BillingBudgetAmount</a>

---

##### `putBudgetFilter` <a name="putBudgetFilter" id="@dschmidt/provider-google.BillingBudget.putBudgetFilter"></a>

```typescript
public putBudgetFilter(value: BillingBudgetBudgetFilter): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingBudget.putBudgetFilter.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter">BillingBudgetBudgetFilter</a>

---

##### `putThresholdRules` <a name="putThresholdRules" id="@dschmidt/provider-google.BillingBudget.putThresholdRules"></a>

```typescript
public putThresholdRules(value: IResolvable | BillingBudgetThresholdRules[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingBudget.putThresholdRules.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BillingBudgetThresholdRules">BillingBudgetThresholdRules</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BillingBudget.putTimeouts"></a>

```typescript
public putTimeouts(value: BillingBudgetTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingBudget.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetTimeouts">BillingBudgetTimeouts</a>

---

##### `resetAllUpdatesRule` <a name="resetAllUpdatesRule" id="@dschmidt/provider-google.BillingBudget.resetAllUpdatesRule"></a>

```typescript
public resetAllUpdatesRule(): void
```

##### `resetBudgetFilter` <a name="resetBudgetFilter" id="@dschmidt/provider-google.BillingBudget.resetBudgetFilter"></a>

```typescript
public resetBudgetFilter(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.BillingBudget.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BillingBudget.resetId"></a>

```typescript
public resetId(): void
```

##### `resetThresholdRules` <a name="resetThresholdRules" id="@dschmidt/provider-google.BillingBudget.resetThresholdRules"></a>

```typescript
public resetThresholdRules(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BillingBudget.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudget.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BillingBudget.isConstruct"></a>

```typescript
import { BillingBudget } from '@dschmidt/provider-google'

BillingBudget.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BillingBudget.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.allUpdatesRule">allUpdatesRule</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRuleOutputReference">BillingBudgetAllUpdatesRuleOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.amount">amount</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetAmountOutputReference">BillingBudgetAmountOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.budgetFilter">budgetFilter</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterOutputReference">BillingBudgetBudgetFilterOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.thresholdRules">thresholdRules</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetThresholdRulesList">BillingBudgetThresholdRulesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetTimeoutsOutputReference">BillingBudgetTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.allUpdatesRuleInput">allUpdatesRuleInput</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRule">BillingBudgetAllUpdatesRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.amountInput">amountInput</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetAmount">BillingBudgetAmount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.billingAccountInput">billingAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.budgetFilterInput">budgetFilterInput</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter">BillingBudgetBudgetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.thresholdRulesInput">thresholdRulesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BillingBudgetThresholdRules">BillingBudgetThresholdRules</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BillingBudgetTimeouts">BillingBudgetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.billingAccount">billingAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BillingBudget.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BillingBudget.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BillingBudget.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BillingBudget.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BillingBudget.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BillingBudget.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BillingBudget.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingBudget.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingBudget.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingBudget.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingBudget.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingBudget.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingBudget.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingBudget.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `allUpdatesRule`<sup>Required</sup> <a name="allUpdatesRule" id="@dschmidt/provider-google.BillingBudget.property.allUpdatesRule"></a>

```typescript
public readonly allUpdatesRule: BillingBudgetAllUpdatesRuleOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRuleOutputReference">BillingBudgetAllUpdatesRuleOutputReference</a>

---

##### `amount`<sup>Required</sup> <a name="amount" id="@dschmidt/provider-google.BillingBudget.property.amount"></a>

```typescript
public readonly amount: BillingBudgetAmountOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetAmountOutputReference">BillingBudgetAmountOutputReference</a>

---

##### `budgetFilter`<sup>Required</sup> <a name="budgetFilter" id="@dschmidt/provider-google.BillingBudget.property.budgetFilter"></a>

```typescript
public readonly budgetFilter: BillingBudgetBudgetFilterOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterOutputReference">BillingBudgetBudgetFilterOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BillingBudget.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `thresholdRules`<sup>Required</sup> <a name="thresholdRules" id="@dschmidt/provider-google.BillingBudget.property.thresholdRules"></a>

```typescript
public readonly thresholdRules: BillingBudgetThresholdRulesList;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetThresholdRulesList">BillingBudgetThresholdRulesList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BillingBudget.property.timeouts"></a>

```typescript
public readonly timeouts: BillingBudgetTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetTimeoutsOutputReference">BillingBudgetTimeoutsOutputReference</a>

---

##### `allUpdatesRuleInput`<sup>Optional</sup> <a name="allUpdatesRuleInput" id="@dschmidt/provider-google.BillingBudget.property.allUpdatesRuleInput"></a>

```typescript
public readonly allUpdatesRuleInput: BillingBudgetAllUpdatesRule;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRule">BillingBudgetAllUpdatesRule</a>

---

##### `amountInput`<sup>Optional</sup> <a name="amountInput" id="@dschmidt/provider-google.BillingBudget.property.amountInput"></a>

```typescript
public readonly amountInput: BillingBudgetAmount;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetAmount">BillingBudgetAmount</a>

---

##### `billingAccountInput`<sup>Optional</sup> <a name="billingAccountInput" id="@dschmidt/provider-google.BillingBudget.property.billingAccountInput"></a>

```typescript
public readonly billingAccountInput: string;
```

- *Type:* string

---

##### `budgetFilterInput`<sup>Optional</sup> <a name="budgetFilterInput" id="@dschmidt/provider-google.BillingBudget.property.budgetFilterInput"></a>

```typescript
public readonly budgetFilterInput: BillingBudgetBudgetFilter;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter">BillingBudgetBudgetFilter</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.BillingBudget.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BillingBudget.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `thresholdRulesInput`<sup>Optional</sup> <a name="thresholdRulesInput" id="@dschmidt/provider-google.BillingBudget.property.thresholdRulesInput"></a>

```typescript
public readonly thresholdRulesInput: IResolvable | BillingBudgetThresholdRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BillingBudgetThresholdRules">BillingBudgetThresholdRules</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BillingBudget.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BillingBudgetTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BillingBudgetTimeouts">BillingBudgetTimeouts</a>

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.BillingBudget.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.BillingBudget.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingBudget.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudget.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BillingBudget.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BillingSubaccount <a name="BillingSubaccount" id="@dschmidt/provider-google.BillingSubaccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/billing_subaccount google_billing_subaccount}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BillingSubaccount.Initializer"></a>

```typescript
import { BillingSubaccount } from '@dschmidt/provider-google'

new BillingSubaccount(scope: Construct, id: string, config: BillingSubaccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig">BillingSubaccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BillingSubaccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingSubaccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BillingSubaccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BillingSubaccountConfig">BillingSubaccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.resetDeletionPolicy">resetDeletionPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BillingSubaccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BillingSubaccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BillingSubaccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BillingSubaccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BillingSubaccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BillingSubaccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BillingSubaccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BillingSubaccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BillingSubaccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BillingSubaccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BillingSubaccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BillingSubaccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BillingSubaccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BillingSubaccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BillingSubaccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BillingSubaccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BillingSubaccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BillingSubaccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BillingSubaccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BillingSubaccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDeletionPolicy` <a name="resetDeletionPolicy" id="@dschmidt/provider-google.BillingSubaccount.resetDeletionPolicy"></a>

```typescript
public resetDeletionPolicy(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BillingSubaccount.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BillingSubaccount.isConstruct"></a>

```typescript
import { BillingSubaccount } from '@dschmidt/provider-google'

BillingSubaccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BillingSubaccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.billingAccountId">billingAccountId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.open">open</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.deletionPolicyInput">deletionPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.masterBillingAccountInput">masterBillingAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.deletionPolicy">deletionPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.masterBillingAccount">masterBillingAccount</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BillingSubaccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BillingSubaccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BillingSubaccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BillingSubaccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BillingSubaccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BillingSubaccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BillingSubaccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingSubaccount.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingSubaccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingSubaccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingSubaccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingSubaccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingSubaccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingSubaccount.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccountId`<sup>Required</sup> <a name="billingAccountId" id="@dschmidt/provider-google.BillingSubaccount.property.billingAccountId"></a>

```typescript
public readonly billingAccountId: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BillingSubaccount.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `open`<sup>Required</sup> <a name="open" id="@dschmidt/provider-google.BillingSubaccount.property.open"></a>

```typescript
public readonly open: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `deletionPolicyInput`<sup>Optional</sup> <a name="deletionPolicyInput" id="@dschmidt/provider-google.BillingSubaccount.property.deletionPolicyInput"></a>

```typescript
public readonly deletionPolicyInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.BillingSubaccount.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BillingSubaccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `masterBillingAccountInput`<sup>Optional</sup> <a name="masterBillingAccountInput" id="@dschmidt/provider-google.BillingSubaccount.property.masterBillingAccountInput"></a>

```typescript
public readonly masterBillingAccountInput: string;
```

- *Type:* string

---

##### `deletionPolicy`<sup>Required</sup> <a name="deletionPolicy" id="@dschmidt/provider-google.BillingSubaccount.property.deletionPolicy"></a>

```typescript
public readonly deletionPolicy: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.BillingSubaccount.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BillingSubaccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `masterBillingAccount`<sup>Required</sup> <a name="masterBillingAccount" id="@dschmidt/provider-google.BillingSubaccount.property.masterBillingAccount"></a>

```typescript
public readonly masterBillingAccount: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingSubaccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BillingSubaccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BinaryAuthorizationAttestor <a name="BinaryAuthorizationAttestor" id="@dschmidt/provider-google.BinaryAuthorizationAttestor"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor google_binary_authorization_attestor}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestor } from '@dschmidt/provider-google'

new BinaryAuthorizationAttestor(scope: Construct, id: string, config: BinaryAuthorizationAttestorConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig">BinaryAuthorizationAttestorConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig">BinaryAuthorizationAttestorConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.putAttestationAuthorityNote">putAttestationAuthorityNote</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAttestationAuthorityNote` <a name="putAttestationAuthorityNote" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.putAttestationAuthorityNote"></a>

```typescript
public putAttestationAuthorityNote(value: BinaryAuthorizationAttestorAttestationAuthorityNote): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.putAttestationAuthorityNote.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote">BinaryAuthorizationAttestorAttestationAuthorityNote</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.putTimeouts"></a>

```typescript
public putTimeouts(value: BinaryAuthorizationAttestorTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts">BinaryAuthorizationAttestorTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.isConstruct"></a>

```typescript
import { BinaryAuthorizationAttestor } from '@dschmidt/provider-google'

BinaryAuthorizationAttestor.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.attestationAuthorityNote">attestationAuthorityNote</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNoteOutputReference">BinaryAuthorizationAttestorAttestationAuthorityNoteOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeoutsOutputReference">BinaryAuthorizationAttestorTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.attestationAuthorityNoteInput">attestationAuthorityNoteInput</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote">BinaryAuthorizationAttestorAttestationAuthorityNote</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts">BinaryAuthorizationAttestorTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestationAuthorityNote`<sup>Required</sup> <a name="attestationAuthorityNote" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.attestationAuthorityNote"></a>

```typescript
public readonly attestationAuthorityNote: BinaryAuthorizationAttestorAttestationAuthorityNoteOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNoteOutputReference">BinaryAuthorizationAttestorAttestationAuthorityNoteOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.timeouts"></a>

```typescript
public readonly timeouts: BinaryAuthorizationAttestorTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeoutsOutputReference">BinaryAuthorizationAttestorTimeoutsOutputReference</a>

---

##### `attestationAuthorityNoteInput`<sup>Optional</sup> <a name="attestationAuthorityNoteInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.attestationAuthorityNoteInput"></a>

```typescript
public readonly attestationAuthorityNoteInput: BinaryAuthorizationAttestorAttestationAuthorityNote;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote">BinaryAuthorizationAttestorAttestationAuthorityNote</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BinaryAuthorizationAttestorTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts">BinaryAuthorizationAttestorTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestor.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BinaryAuthorizationAttestor.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BinaryAuthorizationAttestorIamBinding <a name="BinaryAuthorizationAttestorIamBinding" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding google_binary_authorization_attestor_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorIamBinding } from '@dschmidt/provider-google'

new BinaryAuthorizationAttestorIamBinding(scope: Construct, id: string, config: BinaryAuthorizationAttestorIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig">BinaryAuthorizationAttestorIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig">BinaryAuthorizationAttestorIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.putCondition"></a>

```typescript
public putCondition(value: BinaryAuthorizationAttestorIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition">BinaryAuthorizationAttestorIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.isConstruct"></a>

```typescript
import { BinaryAuthorizationAttestorIamBinding } from '@dschmidt/provider-google'

BinaryAuthorizationAttestorIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConditionOutputReference">BinaryAuthorizationAttestorIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.attestorInput">attestorInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition">BinaryAuthorizationAttestorIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.attestor">attestor</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.condition"></a>

```typescript
public readonly condition: BinaryAuthorizationAttestorIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConditionOutputReference">BinaryAuthorizationAttestorIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `attestorInput`<sup>Optional</sup> <a name="attestorInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.attestorInput"></a>

```typescript
public readonly attestorInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: BinaryAuthorizationAttestorIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition">BinaryAuthorizationAttestorIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `attestor`<sup>Required</sup> <a name="attestor" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.attestor"></a>

```typescript
public readonly attestor: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BinaryAuthorizationAttestorIamMember <a name="BinaryAuthorizationAttestorIamMember" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member google_binary_authorization_attestor_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorIamMember } from '@dschmidt/provider-google'

new BinaryAuthorizationAttestorIamMember(scope: Construct, id: string, config: BinaryAuthorizationAttestorIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig">BinaryAuthorizationAttestorIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig">BinaryAuthorizationAttestorIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.putCondition"></a>

```typescript
public putCondition(value: BinaryAuthorizationAttestorIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition">BinaryAuthorizationAttestorIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.isConstruct"></a>

```typescript
import { BinaryAuthorizationAttestorIamMember } from '@dschmidt/provider-google'

BinaryAuthorizationAttestorIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConditionOutputReference">BinaryAuthorizationAttestorIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.attestorInput">attestorInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition">BinaryAuthorizationAttestorIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.attestor">attestor</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.condition"></a>

```typescript
public readonly condition: BinaryAuthorizationAttestorIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConditionOutputReference">BinaryAuthorizationAttestorIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `attestorInput`<sup>Optional</sup> <a name="attestorInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.attestorInput"></a>

```typescript
public readonly attestorInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: BinaryAuthorizationAttestorIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition">BinaryAuthorizationAttestorIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `attestor`<sup>Required</sup> <a name="attestor" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.attestor"></a>

```typescript
public readonly attestor: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BinaryAuthorizationAttestorIamPolicy <a name="BinaryAuthorizationAttestorIamPolicy" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_policy google_binary_authorization_attestor_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorIamPolicy } from '@dschmidt/provider-google'

new BinaryAuthorizationAttestorIamPolicy(scope: Construct, id: string, config: BinaryAuthorizationAttestorIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig">BinaryAuthorizationAttestorIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig">BinaryAuthorizationAttestorIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.isConstruct"></a>

```typescript
import { BinaryAuthorizationAttestorIamPolicy } from '@dschmidt/provider-google'

BinaryAuthorizationAttestorIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.attestorInput">attestorInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.attestor">attestor</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `attestorInput`<sup>Optional</sup> <a name="attestorInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.attestorInput"></a>

```typescript
public readonly attestorInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `attestor`<sup>Required</sup> <a name="attestor" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.attestor"></a>

```typescript
public readonly attestor: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### BinaryAuthorizationPolicy <a name="BinaryAuthorizationPolicy" id="@dschmidt/provider-google.BinaryAuthorizationPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy google_binary_authorization_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.Initializer"></a>

```typescript
import { BinaryAuthorizationPolicy } from '@dschmidt/provider-google'

new BinaryAuthorizationPolicy(scope: Construct, id: string, config: BinaryAuthorizationPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig">BinaryAuthorizationPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig">BinaryAuthorizationPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.putAdmissionWhitelistPatterns">putAdmissionWhitelistPatterns</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.putClusterAdmissionRules">putClusterAdmissionRules</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.putDefaultAdmissionRule">putDefaultAdmissionRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.resetAdmissionWhitelistPatterns">resetAdmissionWhitelistPatterns</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.resetClusterAdmissionRules">resetClusterAdmissionRules</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.resetGlobalPolicyEvaluationMode">resetGlobalPolicyEvaluationMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAdmissionWhitelistPatterns` <a name="putAdmissionWhitelistPatterns" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.putAdmissionWhitelistPatterns"></a>

```typescript
public putAdmissionWhitelistPatterns(value: IResolvable | BinaryAuthorizationPolicyAdmissionWhitelistPatterns[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.putAdmissionWhitelistPatterns.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatterns">BinaryAuthorizationPolicyAdmissionWhitelistPatterns</a>[]

---

##### `putClusterAdmissionRules` <a name="putClusterAdmissionRules" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.putClusterAdmissionRules"></a>

```typescript
public putClusterAdmissionRules(value: IResolvable | BinaryAuthorizationPolicyClusterAdmissionRules[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.putClusterAdmissionRules.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules">BinaryAuthorizationPolicyClusterAdmissionRules</a>[]

---

##### `putDefaultAdmissionRule` <a name="putDefaultAdmissionRule" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.putDefaultAdmissionRule"></a>

```typescript
public putDefaultAdmissionRule(value: BinaryAuthorizationPolicyDefaultAdmissionRule): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.putDefaultAdmissionRule.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule">BinaryAuthorizationPolicyDefaultAdmissionRule</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: BinaryAuthorizationPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts">BinaryAuthorizationPolicyTimeouts</a>

---

##### `resetAdmissionWhitelistPatterns` <a name="resetAdmissionWhitelistPatterns" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.resetAdmissionWhitelistPatterns"></a>

```typescript
public resetAdmissionWhitelistPatterns(): void
```

##### `resetClusterAdmissionRules` <a name="resetClusterAdmissionRules" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.resetClusterAdmissionRules"></a>

```typescript
public resetClusterAdmissionRules(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetGlobalPolicyEvaluationMode` <a name="resetGlobalPolicyEvaluationMode" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.resetGlobalPolicyEvaluationMode"></a>

```typescript
public resetGlobalPolicyEvaluationMode(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.isConstruct"></a>

```typescript
import { BinaryAuthorizationPolicy } from '@dschmidt/provider-google'

BinaryAuthorizationPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.admissionWhitelistPatterns">admissionWhitelistPatterns</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatternsList">BinaryAuthorizationPolicyAdmissionWhitelistPatternsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.clusterAdmissionRules">clusterAdmissionRules</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRulesList">BinaryAuthorizationPolicyClusterAdmissionRulesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.defaultAdmissionRule">defaultAdmissionRule</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRuleOutputReference">BinaryAuthorizationPolicyDefaultAdmissionRuleOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeoutsOutputReference">BinaryAuthorizationPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.admissionWhitelistPatternsInput">admissionWhitelistPatternsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatterns">BinaryAuthorizationPolicyAdmissionWhitelistPatterns</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.clusterAdmissionRulesInput">clusterAdmissionRulesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules">BinaryAuthorizationPolicyClusterAdmissionRules</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.defaultAdmissionRuleInput">defaultAdmissionRuleInput</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule">BinaryAuthorizationPolicyDefaultAdmissionRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.globalPolicyEvaluationModeInput">globalPolicyEvaluationModeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts">BinaryAuthorizationPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.globalPolicyEvaluationMode">globalPolicyEvaluationMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `admissionWhitelistPatterns`<sup>Required</sup> <a name="admissionWhitelistPatterns" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.admissionWhitelistPatterns"></a>

```typescript
public readonly admissionWhitelistPatterns: BinaryAuthorizationPolicyAdmissionWhitelistPatternsList;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatternsList">BinaryAuthorizationPolicyAdmissionWhitelistPatternsList</a>

---

##### `clusterAdmissionRules`<sup>Required</sup> <a name="clusterAdmissionRules" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.clusterAdmissionRules"></a>

```typescript
public readonly clusterAdmissionRules: BinaryAuthorizationPolicyClusterAdmissionRulesList;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRulesList">BinaryAuthorizationPolicyClusterAdmissionRulesList</a>

---

##### `defaultAdmissionRule`<sup>Required</sup> <a name="defaultAdmissionRule" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.defaultAdmissionRule"></a>

```typescript
public readonly defaultAdmissionRule: BinaryAuthorizationPolicyDefaultAdmissionRuleOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRuleOutputReference">BinaryAuthorizationPolicyDefaultAdmissionRuleOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: BinaryAuthorizationPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeoutsOutputReference">BinaryAuthorizationPolicyTimeoutsOutputReference</a>

---

##### `admissionWhitelistPatternsInput`<sup>Optional</sup> <a name="admissionWhitelistPatternsInput" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.admissionWhitelistPatternsInput"></a>

```typescript
public readonly admissionWhitelistPatternsInput: IResolvable | BinaryAuthorizationPolicyAdmissionWhitelistPatterns[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatterns">BinaryAuthorizationPolicyAdmissionWhitelistPatterns</a>[]

---

##### `clusterAdmissionRulesInput`<sup>Optional</sup> <a name="clusterAdmissionRulesInput" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.clusterAdmissionRulesInput"></a>

```typescript
public readonly clusterAdmissionRulesInput: IResolvable | BinaryAuthorizationPolicyClusterAdmissionRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules">BinaryAuthorizationPolicyClusterAdmissionRules</a>[]

---

##### `defaultAdmissionRuleInput`<sup>Optional</sup> <a name="defaultAdmissionRuleInput" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.defaultAdmissionRuleInput"></a>

```typescript
public readonly defaultAdmissionRuleInput: BinaryAuthorizationPolicyDefaultAdmissionRule;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule">BinaryAuthorizationPolicyDefaultAdmissionRule</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `globalPolicyEvaluationModeInput`<sup>Optional</sup> <a name="globalPolicyEvaluationModeInput" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.globalPolicyEvaluationModeInput"></a>

```typescript
public readonly globalPolicyEvaluationModeInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | BinaryAuthorizationPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts">BinaryAuthorizationPolicyTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `globalPolicyEvaluationMode`<sup>Required</sup> <a name="globalPolicyEvaluationMode" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.globalPolicyEvaluationMode"></a>

```typescript
public readonly globalPolicyEvaluationMode: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.BinaryAuthorizationPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CertificateManagerCertificate <a name="CertificateManagerCertificate" id="@dschmidt/provider-google.CertificateManagerCertificate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate google_certificate_manager_certificate}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CertificateManagerCertificate.Initializer"></a>

```typescript
import { CertificateManagerCertificate } from '@dschmidt/provider-google'

new CertificateManagerCertificate(scope: Construct, id: string, config: CertificateManagerCertificateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig">CertificateManagerCertificateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CertificateManagerCertificate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerCertificate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CertificateManagerCertificate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig">CertificateManagerCertificateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.putManaged">putManaged</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.putSelfManaged">putSelfManaged</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.resetManaged">resetManaged</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.resetScope">resetScope</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.resetSelfManaged">resetSelfManaged</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CertificateManagerCertificate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CertificateManagerCertificate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CertificateManagerCertificate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerCertificate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CertificateManagerCertificate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CertificateManagerCertificate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CertificateManagerCertificate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CertificateManagerCertificate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CertificateManagerCertificate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putManaged` <a name="putManaged" id="@dschmidt/provider-google.CertificateManagerCertificate.putManaged"></a>

```typescript
public putManaged(value: CertificateManagerCertificateManaged): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerCertificate.putManaged.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateManaged">CertificateManagerCertificateManaged</a>

---

##### `putSelfManaged` <a name="putSelfManaged" id="@dschmidt/provider-google.CertificateManagerCertificate.putSelfManaged"></a>

```typescript
public putSelfManaged(value: CertificateManagerCertificateSelfManaged): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerCertificate.putSelfManaged.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateSelfManaged">CertificateManagerCertificateSelfManaged</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CertificateManagerCertificate.putTimeouts"></a>

```typescript
public putTimeouts(value: CertificateManagerCertificateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerCertificate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeouts">CertificateManagerCertificateTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.CertificateManagerCertificate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CertificateManagerCertificate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.CertificateManagerCertificate.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetManaged` <a name="resetManaged" id="@dschmidt/provider-google.CertificateManagerCertificate.resetManaged"></a>

```typescript
public resetManaged(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CertificateManagerCertificate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetScope` <a name="resetScope" id="@dschmidt/provider-google.CertificateManagerCertificate.resetScope"></a>

```typescript
public resetScope(): void
```

##### `resetSelfManaged` <a name="resetSelfManaged" id="@dschmidt/provider-google.CertificateManagerCertificate.resetSelfManaged"></a>

```typescript
public resetSelfManaged(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CertificateManagerCertificate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CertificateManagerCertificate.isConstruct"></a>

```typescript
import { CertificateManagerCertificate } from '@dschmidt/provider-google'

CertificateManagerCertificate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CertificateManagerCertificate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.managed">managed</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateManagedOutputReference">CertificateManagerCertificateManagedOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.selfManaged">selfManaged</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateSelfManagedOutputReference">CertificateManagerCertificateSelfManagedOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeoutsOutputReference">CertificateManagerCertificateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.managedInput">managedInput</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateManaged">CertificateManagerCertificateManaged</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.scopeInput">scopeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.selfManagedInput">selfManagedInput</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateSelfManaged">CertificateManagerCertificateSelfManaged</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeouts">CertificateManagerCertificateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.scope">scope</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CertificateManagerCertificate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CertificateManagerCertificate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CertificateManagerCertificate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CertificateManagerCertificate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CertificateManagerCertificate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CertificateManagerCertificate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CertificateManagerCertificate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CertificateManagerCertificate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CertificateManagerCertificate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CertificateManagerCertificate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CertificateManagerCertificate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CertificateManagerCertificate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CertificateManagerCertificate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CertificateManagerCertificate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `managed`<sup>Required</sup> <a name="managed" id="@dschmidt/provider-google.CertificateManagerCertificate.property.managed"></a>

```typescript
public readonly managed: CertificateManagerCertificateManagedOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateManagedOutputReference">CertificateManagerCertificateManagedOutputReference</a>

---

##### `selfManaged`<sup>Required</sup> <a name="selfManaged" id="@dschmidt/provider-google.CertificateManagerCertificate.property.selfManaged"></a>

```typescript
public readonly selfManaged: CertificateManagerCertificateSelfManagedOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateSelfManagedOutputReference">CertificateManagerCertificateSelfManagedOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CertificateManagerCertificate.property.timeouts"></a>

```typescript
public readonly timeouts: CertificateManagerCertificateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeoutsOutputReference">CertificateManagerCertificateTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.CertificateManagerCertificate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CertificateManagerCertificate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.CertificateManagerCertificate.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `managedInput`<sup>Optional</sup> <a name="managedInput" id="@dschmidt/provider-google.CertificateManagerCertificate.property.managedInput"></a>

```typescript
public readonly managedInput: CertificateManagerCertificateManaged;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateManaged">CertificateManagerCertificateManaged</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CertificateManagerCertificate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CertificateManagerCertificate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `scopeInput`<sup>Optional</sup> <a name="scopeInput" id="@dschmidt/provider-google.CertificateManagerCertificate.property.scopeInput"></a>

```typescript
public readonly scopeInput: string;
```

- *Type:* string

---

##### `selfManagedInput`<sup>Optional</sup> <a name="selfManagedInput" id="@dschmidt/provider-google.CertificateManagerCertificate.property.selfManagedInput"></a>

```typescript
public readonly selfManagedInput: CertificateManagerCertificateSelfManaged;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateSelfManaged">CertificateManagerCertificateSelfManaged</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CertificateManagerCertificate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CertificateManagerCertificateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeouts">CertificateManagerCertificateTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.CertificateManagerCertificate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerCertificate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.CertificateManagerCertificate.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CertificateManagerCertificate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CertificateManagerCertificate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CertificateManagerCertificate.property.scope"></a>

```typescript
public readonly scope: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CertificateManagerCertificate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CertificateManagerCertificateMap <a name="CertificateManagerCertificateMap" id="@dschmidt/provider-google.CertificateManagerCertificateMap"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map google_certificate_manager_certificate_map}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CertificateManagerCertificateMap.Initializer"></a>

```typescript
import { CertificateManagerCertificateMap } from '@dschmidt/provider-google'

new CertificateManagerCertificateMap(scope: Construct, id: string, config: CertificateManagerCertificateMapConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig">CertificateManagerCertificateMapConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CertificateManagerCertificateMap.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerCertificateMap.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CertificateManagerCertificateMap.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig">CertificateManagerCertificateMapConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CertificateManagerCertificateMap.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CertificateManagerCertificateMap.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CertificateManagerCertificateMap.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerCertificateMap.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CertificateManagerCertificateMap.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CertificateManagerCertificateMap.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CertificateManagerCertificateMap.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CertificateManagerCertificateMap.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CertificateManagerCertificateMap.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMap.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMap.putTimeouts"></a>

```typescript
public putTimeouts(value: CertificateManagerCertificateMapTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerCertificateMap.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts">CertificateManagerCertificateMapTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.CertificateManagerCertificateMap.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CertificateManagerCertificateMap.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.CertificateManagerCertificateMap.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CertificateManagerCertificateMap.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMap.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CertificateManagerCertificateMap.isConstruct"></a>

```typescript
import { CertificateManagerCertificateMap } from '@dschmidt/provider-google'

CertificateManagerCertificateMap.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CertificateManagerCertificateMap.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.gclbTargets">gclbTargets</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapGclbTargetsList">CertificateManagerCertificateMapGclbTargetsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeoutsOutputReference">CertificateManagerCertificateMapTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts">CertificateManagerCertificateMapTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `gclbTargets`<sup>Required</sup> <a name="gclbTargets" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.gclbTargets"></a>

```typescript
public readonly gclbTargets: CertificateManagerCertificateMapGclbTargetsList;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapGclbTargetsList">CertificateManagerCertificateMapGclbTargetsList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.timeouts"></a>

```typescript
public readonly timeouts: CertificateManagerCertificateMapTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeoutsOutputReference">CertificateManagerCertificateMapTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CertificateManagerCertificateMapTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts">CertificateManagerCertificateMapTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMap.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CertificateManagerCertificateMap.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CertificateManagerCertificateMapEntry <a name="CertificateManagerCertificateMapEntry" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry google_certificate_manager_certificate_map_entry}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.Initializer"></a>

```typescript
import { CertificateManagerCertificateMapEntry } from '@dschmidt/provider-google'

new CertificateManagerCertificateMapEntry(scope: Construct, id: string, config: CertificateManagerCertificateMapEntryConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig">CertificateManagerCertificateMapEntryConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig">CertificateManagerCertificateMapEntryConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetHostname">resetHostname</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetMatcher">resetMatcher</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.putTimeouts"></a>

```typescript
public putTimeouts(value: CertificateManagerCertificateMapEntryTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts">CertificateManagerCertificateMapEntryTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetHostname` <a name="resetHostname" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetHostname"></a>

```typescript
public resetHostname(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMatcher` <a name="resetMatcher" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetMatcher"></a>

```typescript
public resetMatcher(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.isConstruct"></a>

```typescript
import { CertificateManagerCertificateMapEntry } from '@dschmidt/provider-google'

CertificateManagerCertificateMapEntry.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeoutsOutputReference">CertificateManagerCertificateMapEntryTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.certificatesInput">certificatesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.hostnameInput">hostnameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.mapInput">mapInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.matcherInput">matcherInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts">CertificateManagerCertificateMapEntryTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.certificates">certificates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.hostname">hostname</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.map">map</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.matcher">matcher</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.timeouts"></a>

```typescript
public readonly timeouts: CertificateManagerCertificateMapEntryTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeoutsOutputReference">CertificateManagerCertificateMapEntryTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `certificatesInput`<sup>Optional</sup> <a name="certificatesInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.certificatesInput"></a>

```typescript
public readonly certificatesInput: string[];
```

- *Type:* string[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `hostnameInput`<sup>Optional</sup> <a name="hostnameInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.hostnameInput"></a>

```typescript
public readonly hostnameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `mapInput`<sup>Optional</sup> <a name="mapInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.mapInput"></a>

```typescript
public readonly mapInput: string;
```

- *Type:* string

---

##### `matcherInput`<sup>Optional</sup> <a name="matcherInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.matcherInput"></a>

```typescript
public readonly matcherInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CertificateManagerCertificateMapEntryTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts">CertificateManagerCertificateMapEntryTimeouts</a>

---

##### `certificates`<sup>Required</sup> <a name="certificates" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.certificates"></a>

```typescript
public readonly certificates: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `hostname`<sup>Required</sup> <a name="hostname" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.hostname"></a>

```typescript
public readonly hostname: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `map`<sup>Required</sup> <a name="map" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.map"></a>

```typescript
public readonly map: string;
```

- *Type:* string

---

##### `matcher`<sup>Required</sup> <a name="matcher" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.matcher"></a>

```typescript
public readonly matcher: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntry.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CertificateManagerDnsAuthorization <a name="CertificateManagerDnsAuthorization" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization google_certificate_manager_dns_authorization}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.Initializer"></a>

```typescript
import { CertificateManagerDnsAuthorization } from '@dschmidt/provider-google'

new CertificateManagerDnsAuthorization(scope: Construct, id: string, config: CertificateManagerDnsAuthorizationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig">CertificateManagerDnsAuthorizationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig">CertificateManagerDnsAuthorizationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.putTimeouts"></a>

```typescript
public putTimeouts(value: CertificateManagerDnsAuthorizationTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts">CertificateManagerDnsAuthorizationTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.isConstruct"></a>

```typescript
import { CertificateManagerDnsAuthorization } from '@dschmidt/provider-google'

CertificateManagerDnsAuthorization.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.dnsResourceRecord">dnsResourceRecord</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationDnsResourceRecordList">CertificateManagerDnsAuthorizationDnsResourceRecordList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeoutsOutputReference">CertificateManagerDnsAuthorizationTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.domainInput">domainInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts">CertificateManagerDnsAuthorizationTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.domain">domain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dnsResourceRecord`<sup>Required</sup> <a name="dnsResourceRecord" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.dnsResourceRecord"></a>

```typescript
public readonly dnsResourceRecord: CertificateManagerDnsAuthorizationDnsResourceRecordList;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationDnsResourceRecordList">CertificateManagerDnsAuthorizationDnsResourceRecordList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.timeouts"></a>

```typescript
public readonly timeouts: CertificateManagerDnsAuthorizationTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeoutsOutputReference">CertificateManagerDnsAuthorizationTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `domainInput`<sup>Optional</sup> <a name="domainInput" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.domainInput"></a>

```typescript
public readonly domainInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CertificateManagerDnsAuthorizationTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts">CertificateManagerDnsAuthorizationTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CertificateManagerDnsAuthorization.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudAssetFolderFeed <a name="CloudAssetFolderFeed" id="@dschmidt/provider-google.CloudAssetFolderFeed"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed google_cloud_asset_folder_feed}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudAssetFolderFeed.Initializer"></a>

```typescript
import { CloudAssetFolderFeed } from '@dschmidt/provider-google'

new CloudAssetFolderFeed(scope: Construct, id: string, config: CloudAssetFolderFeedConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig">CloudAssetFolderFeedConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudAssetFolderFeed.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudAssetFolderFeed.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudAssetFolderFeed.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig">CloudAssetFolderFeedConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.putFeedOutputConfig">putFeedOutputConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.resetAssetNames">resetAssetNames</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.resetAssetTypes">resetAssetTypes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.resetContentType">resetContentType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudAssetFolderFeed.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudAssetFolderFeed.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudAssetFolderFeed.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetFolderFeed.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudAssetFolderFeed.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudAssetFolderFeed.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudAssetFolderFeed.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudAssetFolderFeed.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudAssetFolderFeed.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetFolderFeed.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudAssetFolderFeed.putCondition"></a>

```typescript
public putCondition(value: CloudAssetFolderFeedCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetFolderFeed.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedCondition">CloudAssetFolderFeedCondition</a>

---

##### `putFeedOutputConfig` <a name="putFeedOutputConfig" id="@dschmidt/provider-google.CloudAssetFolderFeed.putFeedOutputConfig"></a>

```typescript
public putFeedOutputConfig(value: CloudAssetFolderFeedFeedOutputConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetFolderFeed.putFeedOutputConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfig">CloudAssetFolderFeedFeedOutputConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudAssetFolderFeed.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudAssetFolderFeedTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetFolderFeed.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeouts">CloudAssetFolderFeedTimeouts</a>

---

##### `resetAssetNames` <a name="resetAssetNames" id="@dschmidt/provider-google.CloudAssetFolderFeed.resetAssetNames"></a>

```typescript
public resetAssetNames(): void
```

##### `resetAssetTypes` <a name="resetAssetTypes" id="@dschmidt/provider-google.CloudAssetFolderFeed.resetAssetTypes"></a>

```typescript
public resetAssetTypes(): void
```

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudAssetFolderFeed.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetContentType` <a name="resetContentType" id="@dschmidt/provider-google.CloudAssetFolderFeed.resetContentType"></a>

```typescript
public resetContentType(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudAssetFolderFeed.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudAssetFolderFeed.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudAssetFolderFeed.isConstruct"></a>

```typescript
import { CloudAssetFolderFeed } from '@dschmidt/provider-google'

CloudAssetFolderFeed.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudAssetFolderFeed.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConditionOutputReference">CloudAssetFolderFeedConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.feedOutputConfig">feedOutputConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfigOutputReference">CloudAssetFolderFeedFeedOutputConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.folderId">folderId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeoutsOutputReference">CloudAssetFolderFeedTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.assetNamesInput">assetNamesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.assetTypesInput">assetTypesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.billingProjectInput">billingProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedCondition">CloudAssetFolderFeedCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.contentTypeInput">contentTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.feedIdInput">feedIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.feedOutputConfigInput">feedOutputConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfig">CloudAssetFolderFeedFeedOutputConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeouts">CloudAssetFolderFeedTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.assetNames">assetNames</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.assetTypes">assetTypes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.billingProject">billingProject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.contentType">contentType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.feedId">feedId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.condition"></a>

```typescript
public readonly condition: CloudAssetFolderFeedConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedConditionOutputReference">CloudAssetFolderFeedConditionOutputReference</a>

---

##### `feedOutputConfig`<sup>Required</sup> <a name="feedOutputConfig" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.feedOutputConfig"></a>

```typescript
public readonly feedOutputConfig: CloudAssetFolderFeedFeedOutputConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfigOutputReference">CloudAssetFolderFeedFeedOutputConfigOutputReference</a>

---

##### `folderId`<sup>Required</sup> <a name="folderId" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.timeouts"></a>

```typescript
public readonly timeouts: CloudAssetFolderFeedTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeoutsOutputReference">CloudAssetFolderFeedTimeoutsOutputReference</a>

---

##### `assetNamesInput`<sup>Optional</sup> <a name="assetNamesInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.assetNamesInput"></a>

```typescript
public readonly assetNamesInput: string[];
```

- *Type:* string[]

---

##### `assetTypesInput`<sup>Optional</sup> <a name="assetTypesInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.assetTypesInput"></a>

```typescript
public readonly assetTypesInput: string[];
```

- *Type:* string[]

---

##### `billingProjectInput`<sup>Optional</sup> <a name="billingProjectInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.billingProjectInput"></a>

```typescript
public readonly billingProjectInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudAssetFolderFeedCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedCondition">CloudAssetFolderFeedCondition</a>

---

##### `contentTypeInput`<sup>Optional</sup> <a name="contentTypeInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.contentTypeInput"></a>

```typescript
public readonly contentTypeInput: string;
```

- *Type:* string

---

##### `feedIdInput`<sup>Optional</sup> <a name="feedIdInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.feedIdInput"></a>

```typescript
public readonly feedIdInput: string;
```

- *Type:* string

---

##### `feedOutputConfigInput`<sup>Optional</sup> <a name="feedOutputConfigInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.feedOutputConfigInput"></a>

```typescript
public readonly feedOutputConfigInput: CloudAssetFolderFeedFeedOutputConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfig">CloudAssetFolderFeedFeedOutputConfig</a>

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudAssetFolderFeedTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeouts">CloudAssetFolderFeedTimeouts</a>

---

##### `assetNames`<sup>Required</sup> <a name="assetNames" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.assetNames"></a>

```typescript
public readonly assetNames: string[];
```

- *Type:* string[]

---

##### `assetTypes`<sup>Required</sup> <a name="assetTypes" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.assetTypes"></a>

```typescript
public readonly assetTypes: string[];
```

- *Type:* string[]

---

##### `billingProject`<sup>Required</sup> <a name="billingProject" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.billingProject"></a>

```typescript
public readonly billingProject: string;
```

- *Type:* string

---

##### `contentType`<sup>Required</sup> <a name="contentType" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

---

##### `feedId`<sup>Required</sup> <a name="feedId" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.feedId"></a>

```typescript
public readonly feedId: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeed.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudAssetFolderFeed.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudAssetOrganizationFeed <a name="CloudAssetOrganizationFeed" id="@dschmidt/provider-google.CloudAssetOrganizationFeed"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed google_cloud_asset_organization_feed}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.Initializer"></a>

```typescript
import { CloudAssetOrganizationFeed } from '@dschmidt/provider-google'

new CloudAssetOrganizationFeed(scope: Construct, id: string, config: CloudAssetOrganizationFeedConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig">CloudAssetOrganizationFeedConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig">CloudAssetOrganizationFeedConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.putFeedOutputConfig">putFeedOutputConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.resetAssetNames">resetAssetNames</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.resetAssetTypes">resetAssetTypes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.resetContentType">resetContentType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.putCondition"></a>

```typescript
public putCondition(value: CloudAssetOrganizationFeedCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedCondition">CloudAssetOrganizationFeedCondition</a>

---

##### `putFeedOutputConfig` <a name="putFeedOutputConfig" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.putFeedOutputConfig"></a>

```typescript
public putFeedOutputConfig(value: CloudAssetOrganizationFeedFeedOutputConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.putFeedOutputConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfig">CloudAssetOrganizationFeedFeedOutputConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudAssetOrganizationFeedTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts">CloudAssetOrganizationFeedTimeouts</a>

---

##### `resetAssetNames` <a name="resetAssetNames" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.resetAssetNames"></a>

```typescript
public resetAssetNames(): void
```

##### `resetAssetTypes` <a name="resetAssetTypes" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.resetAssetTypes"></a>

```typescript
public resetAssetTypes(): void
```

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetContentType` <a name="resetContentType" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.resetContentType"></a>

```typescript
public resetContentType(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.isConstruct"></a>

```typescript
import { CloudAssetOrganizationFeed } from '@dschmidt/provider-google'

CloudAssetOrganizationFeed.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConditionOutputReference">CloudAssetOrganizationFeedConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.feedOutputConfig">feedOutputConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfigOutputReference">CloudAssetOrganizationFeedFeedOutputConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeoutsOutputReference">CloudAssetOrganizationFeedTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.assetNamesInput">assetNamesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.assetTypesInput">assetTypesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.billingProjectInput">billingProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedCondition">CloudAssetOrganizationFeedCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.contentTypeInput">contentTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.feedIdInput">feedIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.feedOutputConfigInput">feedOutputConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfig">CloudAssetOrganizationFeedFeedOutputConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts">CloudAssetOrganizationFeedTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.assetNames">assetNames</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.assetTypes">assetTypes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.billingProject">billingProject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.contentType">contentType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.feedId">feedId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.condition"></a>

```typescript
public readonly condition: CloudAssetOrganizationFeedConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConditionOutputReference">CloudAssetOrganizationFeedConditionOutputReference</a>

---

##### `feedOutputConfig`<sup>Required</sup> <a name="feedOutputConfig" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.feedOutputConfig"></a>

```typescript
public readonly feedOutputConfig: CloudAssetOrganizationFeedFeedOutputConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfigOutputReference">CloudAssetOrganizationFeedFeedOutputConfigOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.timeouts"></a>

```typescript
public readonly timeouts: CloudAssetOrganizationFeedTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeoutsOutputReference">CloudAssetOrganizationFeedTimeoutsOutputReference</a>

---

##### `assetNamesInput`<sup>Optional</sup> <a name="assetNamesInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.assetNamesInput"></a>

```typescript
public readonly assetNamesInput: string[];
```

- *Type:* string[]

---

##### `assetTypesInput`<sup>Optional</sup> <a name="assetTypesInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.assetTypesInput"></a>

```typescript
public readonly assetTypesInput: string[];
```

- *Type:* string[]

---

##### `billingProjectInput`<sup>Optional</sup> <a name="billingProjectInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.billingProjectInput"></a>

```typescript
public readonly billingProjectInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudAssetOrganizationFeedCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedCondition">CloudAssetOrganizationFeedCondition</a>

---

##### `contentTypeInput`<sup>Optional</sup> <a name="contentTypeInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.contentTypeInput"></a>

```typescript
public readonly contentTypeInput: string;
```

- *Type:* string

---

##### `feedIdInput`<sup>Optional</sup> <a name="feedIdInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.feedIdInput"></a>

```typescript
public readonly feedIdInput: string;
```

- *Type:* string

---

##### `feedOutputConfigInput`<sup>Optional</sup> <a name="feedOutputConfigInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.feedOutputConfigInput"></a>

```typescript
public readonly feedOutputConfigInput: CloudAssetOrganizationFeedFeedOutputConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfig">CloudAssetOrganizationFeedFeedOutputConfig</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudAssetOrganizationFeedTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts">CloudAssetOrganizationFeedTimeouts</a>

---

##### `assetNames`<sup>Required</sup> <a name="assetNames" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.assetNames"></a>

```typescript
public readonly assetNames: string[];
```

- *Type:* string[]

---

##### `assetTypes`<sup>Required</sup> <a name="assetTypes" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.assetTypes"></a>

```typescript
public readonly assetTypes: string[];
```

- *Type:* string[]

---

##### `billingProject`<sup>Required</sup> <a name="billingProject" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.billingProject"></a>

```typescript
public readonly billingProject: string;
```

- *Type:* string

---

##### `contentType`<sup>Required</sup> <a name="contentType" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

---

##### `feedId`<sup>Required</sup> <a name="feedId" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.feedId"></a>

```typescript
public readonly feedId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeed.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudAssetOrganizationFeed.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudAssetProjectFeed <a name="CloudAssetProjectFeed" id="@dschmidt/provider-google.CloudAssetProjectFeed"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed google_cloud_asset_project_feed}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudAssetProjectFeed.Initializer"></a>

```typescript
import { CloudAssetProjectFeed } from '@dschmidt/provider-google'

new CloudAssetProjectFeed(scope: Construct, id: string, config: CloudAssetProjectFeedConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig">CloudAssetProjectFeedConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudAssetProjectFeed.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudAssetProjectFeed.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudAssetProjectFeed.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig">CloudAssetProjectFeedConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.putFeedOutputConfig">putFeedOutputConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.resetAssetNames">resetAssetNames</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.resetAssetTypes">resetAssetTypes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.resetBillingProject">resetBillingProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.resetContentType">resetContentType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudAssetProjectFeed.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudAssetProjectFeed.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudAssetProjectFeed.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetProjectFeed.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudAssetProjectFeed.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudAssetProjectFeed.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudAssetProjectFeed.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudAssetProjectFeed.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudAssetProjectFeed.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudAssetProjectFeed.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudAssetProjectFeed.putCondition"></a>

```typescript
public putCondition(value: CloudAssetProjectFeedCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetProjectFeed.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedCondition">CloudAssetProjectFeedCondition</a>

---

##### `putFeedOutputConfig` <a name="putFeedOutputConfig" id="@dschmidt/provider-google.CloudAssetProjectFeed.putFeedOutputConfig"></a>

```typescript
public putFeedOutputConfig(value: CloudAssetProjectFeedFeedOutputConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetProjectFeed.putFeedOutputConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfig">CloudAssetProjectFeedFeedOutputConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudAssetProjectFeed.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudAssetProjectFeedTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudAssetProjectFeed.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeouts">CloudAssetProjectFeedTimeouts</a>

---

##### `resetAssetNames` <a name="resetAssetNames" id="@dschmidt/provider-google.CloudAssetProjectFeed.resetAssetNames"></a>

```typescript
public resetAssetNames(): void
```

##### `resetAssetTypes` <a name="resetAssetTypes" id="@dschmidt/provider-google.CloudAssetProjectFeed.resetAssetTypes"></a>

```typescript
public resetAssetTypes(): void
```

##### `resetBillingProject` <a name="resetBillingProject" id="@dschmidt/provider-google.CloudAssetProjectFeed.resetBillingProject"></a>

```typescript
public resetBillingProject(): void
```

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudAssetProjectFeed.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetContentType` <a name="resetContentType" id="@dschmidt/provider-google.CloudAssetProjectFeed.resetContentType"></a>

```typescript
public resetContentType(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudAssetProjectFeed.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudAssetProjectFeed.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudAssetProjectFeed.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudAssetProjectFeed.isConstruct"></a>

```typescript
import { CloudAssetProjectFeed } from '@dschmidt/provider-google'

CloudAssetProjectFeed.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudAssetProjectFeed.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConditionOutputReference">CloudAssetProjectFeedConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.feedOutputConfig">feedOutputConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfigOutputReference">CloudAssetProjectFeedFeedOutputConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeoutsOutputReference">CloudAssetProjectFeedTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.assetNamesInput">assetNamesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.assetTypesInput">assetTypesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.billingProjectInput">billingProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedCondition">CloudAssetProjectFeedCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.contentTypeInput">contentTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.feedIdInput">feedIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.feedOutputConfigInput">feedOutputConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfig">CloudAssetProjectFeedFeedOutputConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeouts">CloudAssetProjectFeedTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.assetNames">assetNames</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.assetTypes">assetTypes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.billingProject">billingProject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.contentType">contentType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.feedId">feedId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.condition"></a>

```typescript
public readonly condition: CloudAssetProjectFeedConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedConditionOutputReference">CloudAssetProjectFeedConditionOutputReference</a>

---

##### `feedOutputConfig`<sup>Required</sup> <a name="feedOutputConfig" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.feedOutputConfig"></a>

```typescript
public readonly feedOutputConfig: CloudAssetProjectFeedFeedOutputConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfigOutputReference">CloudAssetProjectFeedFeedOutputConfigOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.timeouts"></a>

```typescript
public readonly timeouts: CloudAssetProjectFeedTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeoutsOutputReference">CloudAssetProjectFeedTimeoutsOutputReference</a>

---

##### `assetNamesInput`<sup>Optional</sup> <a name="assetNamesInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.assetNamesInput"></a>

```typescript
public readonly assetNamesInput: string[];
```

- *Type:* string[]

---

##### `assetTypesInput`<sup>Optional</sup> <a name="assetTypesInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.assetTypesInput"></a>

```typescript
public readonly assetTypesInput: string[];
```

- *Type:* string[]

---

##### `billingProjectInput`<sup>Optional</sup> <a name="billingProjectInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.billingProjectInput"></a>

```typescript
public readonly billingProjectInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudAssetProjectFeedCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedCondition">CloudAssetProjectFeedCondition</a>

---

##### `contentTypeInput`<sup>Optional</sup> <a name="contentTypeInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.contentTypeInput"></a>

```typescript
public readonly contentTypeInput: string;
```

- *Type:* string

---

##### `feedIdInput`<sup>Optional</sup> <a name="feedIdInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.feedIdInput"></a>

```typescript
public readonly feedIdInput: string;
```

- *Type:* string

---

##### `feedOutputConfigInput`<sup>Optional</sup> <a name="feedOutputConfigInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.feedOutputConfigInput"></a>

```typescript
public readonly feedOutputConfigInput: CloudAssetProjectFeedFeedOutputConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfig">CloudAssetProjectFeedFeedOutputConfig</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudAssetProjectFeedTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeouts">CloudAssetProjectFeedTimeouts</a>

---

##### `assetNames`<sup>Required</sup> <a name="assetNames" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.assetNames"></a>

```typescript
public readonly assetNames: string[];
```

- *Type:* string[]

---

##### `assetTypes`<sup>Required</sup> <a name="assetTypes" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.assetTypes"></a>

```typescript
public readonly assetTypes: string[];
```

- *Type:* string[]

---

##### `billingProject`<sup>Required</sup> <a name="billingProject" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.billingProject"></a>

```typescript
public readonly billingProject: string;
```

- *Type:* string

---

##### `contentType`<sup>Required</sup> <a name="contentType" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

---

##### `feedId`<sup>Required</sup> <a name="feedId" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.feedId"></a>

```typescript
public readonly feedId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeed.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudAssetProjectFeed.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudbuildTrigger <a name="CloudbuildTrigger" id="@dschmidt/provider-google.CloudbuildTrigger"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger google_cloudbuild_trigger}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudbuildTrigger.Initializer"></a>

```typescript
import { CloudbuildTrigger } from '@dschmidt/provider-google'

new CloudbuildTrigger(scope: Construct, id: string, config?: CloudbuildTriggerConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig">CloudbuildTriggerConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudbuildTrigger.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudbuildTrigger.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.CloudbuildTrigger.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerConfig">CloudbuildTriggerConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.putApprovalConfig">putApprovalConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.putBuildAttribute">putBuildAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.putGitFileSource">putGitFileSource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.putGithub">putGithub</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.putPubsubConfig">putPubsubConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.putSourceToBuild">putSourceToBuild</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.putTriggerTemplate">putTriggerTemplate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.putWebhookConfig">putWebhookConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetApprovalConfig">resetApprovalConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetBuildAttribute">resetBuildAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetFilename">resetFilename</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetGitFileSource">resetGitFileSource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetGithub">resetGithub</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetIgnoredFiles">resetIgnoredFiles</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetIncludeBuildLogs">resetIncludeBuildLogs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetIncludedFiles">resetIncludedFiles</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetPubsubConfig">resetPubsubConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetServiceAccount">resetServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetSourceToBuild">resetSourceToBuild</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetSubstitutions">resetSubstitutions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetTags">resetTags</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetTriggerTemplate">resetTriggerTemplate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.resetWebhookConfig">resetWebhookConfig</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudbuildTrigger.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudbuildTrigger.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudbuildTrigger.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudbuildTrigger.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudbuildTrigger.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudbuildTrigger.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudbuildTrigger.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudbuildTrigger.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putApprovalConfig` <a name="putApprovalConfig" id="@dschmidt/provider-google.CloudbuildTrigger.putApprovalConfig"></a>

```typescript
public putApprovalConfig(value: CloudbuildTriggerApprovalConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.putApprovalConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerApprovalConfig">CloudbuildTriggerApprovalConfig</a>

---

##### `putBuildAttribute` <a name="putBuildAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.putBuildAttribute"></a>

```typescript
public putBuildAttribute(value: CloudbuildTriggerBuild): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.putBuildAttribute.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuild">CloudbuildTriggerBuild</a>

---

##### `putGitFileSource` <a name="putGitFileSource" id="@dschmidt/provider-google.CloudbuildTrigger.putGitFileSource"></a>

```typescript
public putGitFileSource(value: CloudbuildTriggerGitFileSource): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.putGitFileSource.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSource">CloudbuildTriggerGitFileSource</a>

---

##### `putGithub` <a name="putGithub" id="@dschmidt/provider-google.CloudbuildTrigger.putGithub"></a>

```typescript
public putGithub(value: CloudbuildTriggerGithub): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.putGithub.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGithub">CloudbuildTriggerGithub</a>

---

##### `putPubsubConfig` <a name="putPubsubConfig" id="@dschmidt/provider-google.CloudbuildTrigger.putPubsubConfig"></a>

```typescript
public putPubsubConfig(value: CloudbuildTriggerPubsubConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.putPubsubConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerPubsubConfig">CloudbuildTriggerPubsubConfig</a>

---

##### `putSourceToBuild` <a name="putSourceToBuild" id="@dschmidt/provider-google.CloudbuildTrigger.putSourceToBuild"></a>

```typescript
public putSourceToBuild(value: CloudbuildTriggerSourceToBuild): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.putSourceToBuild.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuild">CloudbuildTriggerSourceToBuild</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudbuildTrigger.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudbuildTriggerTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerTimeouts">CloudbuildTriggerTimeouts</a>

---

##### `putTriggerTemplate` <a name="putTriggerTemplate" id="@dschmidt/provider-google.CloudbuildTrigger.putTriggerTemplate"></a>

```typescript
public putTriggerTemplate(value: CloudbuildTriggerTriggerTemplate): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.putTriggerTemplate.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate">CloudbuildTriggerTriggerTemplate</a>

---

##### `putWebhookConfig` <a name="putWebhookConfig" id="@dschmidt/provider-google.CloudbuildTrigger.putWebhookConfig"></a>

```typescript
public putWebhookConfig(value: CloudbuildTriggerWebhookConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildTrigger.putWebhookConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerWebhookConfig">CloudbuildTriggerWebhookConfig</a>

---

##### `resetApprovalConfig` <a name="resetApprovalConfig" id="@dschmidt/provider-google.CloudbuildTrigger.resetApprovalConfig"></a>

```typescript
public resetApprovalConfig(): void
```

##### `resetBuildAttribute` <a name="resetBuildAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.resetBuildAttribute"></a>

```typescript
public resetBuildAttribute(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.CloudbuildTrigger.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.CloudbuildTrigger.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetFilename` <a name="resetFilename" id="@dschmidt/provider-google.CloudbuildTrigger.resetFilename"></a>

```typescript
public resetFilename(): void
```

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.CloudbuildTrigger.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetGitFileSource` <a name="resetGitFileSource" id="@dschmidt/provider-google.CloudbuildTrigger.resetGitFileSource"></a>

```typescript
public resetGitFileSource(): void
```

##### `resetGithub` <a name="resetGithub" id="@dschmidt/provider-google.CloudbuildTrigger.resetGithub"></a>

```typescript
public resetGithub(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudbuildTrigger.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIgnoredFiles` <a name="resetIgnoredFiles" id="@dschmidt/provider-google.CloudbuildTrigger.resetIgnoredFiles"></a>

```typescript
public resetIgnoredFiles(): void
```

##### `resetIncludeBuildLogs` <a name="resetIncludeBuildLogs" id="@dschmidt/provider-google.CloudbuildTrigger.resetIncludeBuildLogs"></a>

```typescript
public resetIncludeBuildLogs(): void
```

##### `resetIncludedFiles` <a name="resetIncludedFiles" id="@dschmidt/provider-google.CloudbuildTrigger.resetIncludedFiles"></a>

```typescript
public resetIncludedFiles(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.CloudbuildTrigger.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudbuildTrigger.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPubsubConfig` <a name="resetPubsubConfig" id="@dschmidt/provider-google.CloudbuildTrigger.resetPubsubConfig"></a>

```typescript
public resetPubsubConfig(): void
```

##### `resetServiceAccount` <a name="resetServiceAccount" id="@dschmidt/provider-google.CloudbuildTrigger.resetServiceAccount"></a>

```typescript
public resetServiceAccount(): void
```

##### `resetSourceToBuild` <a name="resetSourceToBuild" id="@dschmidt/provider-google.CloudbuildTrigger.resetSourceToBuild"></a>

```typescript
public resetSourceToBuild(): void
```

##### `resetSubstitutions` <a name="resetSubstitutions" id="@dschmidt/provider-google.CloudbuildTrigger.resetSubstitutions"></a>

```typescript
public resetSubstitutions(): void
```

##### `resetTags` <a name="resetTags" id="@dschmidt/provider-google.CloudbuildTrigger.resetTags"></a>

```typescript
public resetTags(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudbuildTrigger.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTriggerTemplate` <a name="resetTriggerTemplate" id="@dschmidt/provider-google.CloudbuildTrigger.resetTriggerTemplate"></a>

```typescript
public resetTriggerTemplate(): void
```

##### `resetWebhookConfig` <a name="resetWebhookConfig" id="@dschmidt/provider-google.CloudbuildTrigger.resetWebhookConfig"></a>

```typescript
public resetWebhookConfig(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudbuildTrigger.isConstruct"></a>

```typescript
import { CloudbuildTrigger } from '@dschmidt/provider-google'

CloudbuildTrigger.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudbuildTrigger.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.approvalConfig">approvalConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerApprovalConfigOutputReference">CloudbuildTriggerApprovalConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.buildAttribute">buildAttribute</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOutputReference">CloudbuildTriggerBuildOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.gitFileSource">gitFileSource</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSourceOutputReference">CloudbuildTriggerGitFileSourceOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.github">github</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithubOutputReference">CloudbuildTriggerGithubOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.pubsubConfig">pubsubConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerPubsubConfigOutputReference">CloudbuildTriggerPubsubConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.sourceToBuild">sourceToBuild</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuildOutputReference">CloudbuildTriggerSourceToBuildOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTimeoutsOutputReference">CloudbuildTriggerTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.triggerId">triggerId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.triggerTemplate">triggerTemplate</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplateOutputReference">CloudbuildTriggerTriggerTemplateOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.webhookConfig">webhookConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerWebhookConfigOutputReference">CloudbuildTriggerWebhookConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.approvalConfigInput">approvalConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerApprovalConfig">CloudbuildTriggerApprovalConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.buildAttributeInput">buildAttributeInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild">CloudbuildTriggerBuild</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.filenameInput">filenameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.gitFileSourceInput">gitFileSourceInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSource">CloudbuildTriggerGitFileSource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.githubInput">githubInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithub">CloudbuildTriggerGithub</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.ignoredFilesInput">ignoredFilesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.includeBuildLogsInput">includeBuildLogsInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.includedFilesInput">includedFilesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.pubsubConfigInput">pubsubConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerPubsubConfig">CloudbuildTriggerPubsubConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.serviceAccountInput">serviceAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.sourceToBuildInput">sourceToBuildInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuild">CloudbuildTriggerSourceToBuild</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.substitutionsInput">substitutionsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.tagsInput">tagsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudbuildTriggerTimeouts">CloudbuildTriggerTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.triggerTemplateInput">triggerTemplateInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate">CloudbuildTriggerTriggerTemplate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.webhookConfigInput">webhookConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerWebhookConfig">CloudbuildTriggerWebhookConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.filename">filename</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.ignoredFiles">ignoredFiles</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.includeBuildLogs">includeBuildLogs</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.includedFiles">includedFiles</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.substitutions">substitutions</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudbuildTrigger.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudbuildTrigger.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudbuildTrigger.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudbuildTrigger.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudbuildTrigger.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudbuildTrigger.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudbuildTrigger.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudbuildTrigger.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudbuildTrigger.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudbuildTrigger.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudbuildTrigger.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudbuildTrigger.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudbuildTrigger.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudbuildTrigger.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `approvalConfig`<sup>Required</sup> <a name="approvalConfig" id="@dschmidt/provider-google.CloudbuildTrigger.property.approvalConfig"></a>

```typescript
public readonly approvalConfig: CloudbuildTriggerApprovalConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerApprovalConfigOutputReference">CloudbuildTriggerApprovalConfigOutputReference</a>

---

##### `buildAttribute`<sup>Required</sup> <a name="buildAttribute" id="@dschmidt/provider-google.CloudbuildTrigger.property.buildAttribute"></a>

```typescript
public readonly buildAttribute: CloudbuildTriggerBuildOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOutputReference">CloudbuildTriggerBuildOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.CloudbuildTrigger.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `gitFileSource`<sup>Required</sup> <a name="gitFileSource" id="@dschmidt/provider-google.CloudbuildTrigger.property.gitFileSource"></a>

```typescript
public readonly gitFileSource: CloudbuildTriggerGitFileSourceOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSourceOutputReference">CloudbuildTriggerGitFileSourceOutputReference</a>

---

##### `github`<sup>Required</sup> <a name="github" id="@dschmidt/provider-google.CloudbuildTrigger.property.github"></a>

```typescript
public readonly github: CloudbuildTriggerGithubOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGithubOutputReference">CloudbuildTriggerGithubOutputReference</a>

---

##### `pubsubConfig`<sup>Required</sup> <a name="pubsubConfig" id="@dschmidt/provider-google.CloudbuildTrigger.property.pubsubConfig"></a>

```typescript
public readonly pubsubConfig: CloudbuildTriggerPubsubConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerPubsubConfigOutputReference">CloudbuildTriggerPubsubConfigOutputReference</a>

---

##### `sourceToBuild`<sup>Required</sup> <a name="sourceToBuild" id="@dschmidt/provider-google.CloudbuildTrigger.property.sourceToBuild"></a>

```typescript
public readonly sourceToBuild: CloudbuildTriggerSourceToBuildOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuildOutputReference">CloudbuildTriggerSourceToBuildOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudbuildTrigger.property.timeouts"></a>

```typescript
public readonly timeouts: CloudbuildTriggerTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerTimeoutsOutputReference">CloudbuildTriggerTimeoutsOutputReference</a>

---

##### `triggerId`<sup>Required</sup> <a name="triggerId" id="@dschmidt/provider-google.CloudbuildTrigger.property.triggerId"></a>

```typescript
public readonly triggerId: string;
```

- *Type:* string

---

##### `triggerTemplate`<sup>Required</sup> <a name="triggerTemplate" id="@dschmidt/provider-google.CloudbuildTrigger.property.triggerTemplate"></a>

```typescript
public readonly triggerTemplate: CloudbuildTriggerTriggerTemplateOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplateOutputReference">CloudbuildTriggerTriggerTemplateOutputReference</a>

---

##### `webhookConfig`<sup>Required</sup> <a name="webhookConfig" id="@dschmidt/provider-google.CloudbuildTrigger.property.webhookConfig"></a>

```typescript
public readonly webhookConfig: CloudbuildTriggerWebhookConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerWebhookConfigOutputReference">CloudbuildTriggerWebhookConfigOutputReference</a>

---

##### `approvalConfigInput`<sup>Optional</sup> <a name="approvalConfigInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.approvalConfigInput"></a>

```typescript
public readonly approvalConfigInput: CloudbuildTriggerApprovalConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerApprovalConfig">CloudbuildTriggerApprovalConfig</a>

---

##### `buildAttributeInput`<sup>Optional</sup> <a name="buildAttributeInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.buildAttributeInput"></a>

```typescript
public readonly buildAttributeInput: CloudbuildTriggerBuild;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuild">CloudbuildTriggerBuild</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filenameInput`<sup>Optional</sup> <a name="filenameInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.filenameInput"></a>

```typescript
public readonly filenameInput: string;
```

- *Type:* string

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `gitFileSourceInput`<sup>Optional</sup> <a name="gitFileSourceInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.gitFileSourceInput"></a>

```typescript
public readonly gitFileSourceInput: CloudbuildTriggerGitFileSource;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSource">CloudbuildTriggerGitFileSource</a>

---

##### `githubInput`<sup>Optional</sup> <a name="githubInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.githubInput"></a>

```typescript
public readonly githubInput: CloudbuildTriggerGithub;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGithub">CloudbuildTriggerGithub</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ignoredFilesInput`<sup>Optional</sup> <a name="ignoredFilesInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.ignoredFilesInput"></a>

```typescript
public readonly ignoredFilesInput: string[];
```

- *Type:* string[]

---

##### `includeBuildLogsInput`<sup>Optional</sup> <a name="includeBuildLogsInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.includeBuildLogsInput"></a>

```typescript
public readonly includeBuildLogsInput: string;
```

- *Type:* string

---

##### `includedFilesInput`<sup>Optional</sup> <a name="includedFilesInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.includedFilesInput"></a>

```typescript
public readonly includedFilesInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `pubsubConfigInput`<sup>Optional</sup> <a name="pubsubConfigInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.pubsubConfigInput"></a>

```typescript
public readonly pubsubConfigInput: CloudbuildTriggerPubsubConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerPubsubConfig">CloudbuildTriggerPubsubConfig</a>

---

##### `serviceAccountInput`<sup>Optional</sup> <a name="serviceAccountInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.serviceAccountInput"></a>

```typescript
public readonly serviceAccountInput: string;
```

- *Type:* string

---

##### `sourceToBuildInput`<sup>Optional</sup> <a name="sourceToBuildInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.sourceToBuildInput"></a>

```typescript
public readonly sourceToBuildInput: CloudbuildTriggerSourceToBuild;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuild">CloudbuildTriggerSourceToBuild</a>

---

##### `substitutionsInput`<sup>Optional</sup> <a name="substitutionsInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.substitutionsInput"></a>

```typescript
public readonly substitutionsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `tagsInput`<sup>Optional</sup> <a name="tagsInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.tagsInput"></a>

```typescript
public readonly tagsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudbuildTriggerTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudbuildTriggerTimeouts">CloudbuildTriggerTimeouts</a>

---

##### `triggerTemplateInput`<sup>Optional</sup> <a name="triggerTemplateInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.triggerTemplateInput"></a>

```typescript
public readonly triggerTemplateInput: CloudbuildTriggerTriggerTemplate;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate">CloudbuildTriggerTriggerTemplate</a>

---

##### `webhookConfigInput`<sup>Optional</sup> <a name="webhookConfigInput" id="@dschmidt/provider-google.CloudbuildTrigger.property.webhookConfigInput"></a>

```typescript
public readonly webhookConfigInput: CloudbuildTriggerWebhookConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerWebhookConfig">CloudbuildTriggerWebhookConfig</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.CloudbuildTrigger.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.CloudbuildTrigger.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filename`<sup>Required</sup> <a name="filename" id="@dschmidt/provider-google.CloudbuildTrigger.property.filename"></a>

```typescript
public readonly filename: string;
```

- *Type:* string

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.CloudbuildTrigger.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudbuildTrigger.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ignoredFiles`<sup>Required</sup> <a name="ignoredFiles" id="@dschmidt/provider-google.CloudbuildTrigger.property.ignoredFiles"></a>

```typescript
public readonly ignoredFiles: string[];
```

- *Type:* string[]

---

##### `includeBuildLogs`<sup>Required</sup> <a name="includeBuildLogs" id="@dschmidt/provider-google.CloudbuildTrigger.property.includeBuildLogs"></a>

```typescript
public readonly includeBuildLogs: string;
```

- *Type:* string

---

##### `includedFiles`<sup>Required</sup> <a name="includedFiles" id="@dschmidt/provider-google.CloudbuildTrigger.property.includedFiles"></a>

```typescript
public readonly includedFiles: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudbuildTrigger.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudbuildTrigger.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.CloudbuildTrigger.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

---

##### `substitutions`<sup>Required</sup> <a name="substitutions" id="@dschmidt/provider-google.CloudbuildTrigger.property.substitutions"></a>

```typescript
public readonly substitutions: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `tags`<sup>Required</sup> <a name="tags" id="@dschmidt/provider-google.CloudbuildTrigger.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTrigger.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudbuildTrigger.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudbuildWorkerPool <a name="CloudbuildWorkerPool" id="@dschmidt/provider-google.CloudbuildWorkerPool"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool google_cloudbuild_worker_pool}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudbuildWorkerPool.Initializer"></a>

```typescript
import { CloudbuildWorkerPool } from '@dschmidt/provider-google'

new CloudbuildWorkerPool(scope: Construct, id: string, config: CloudbuildWorkerPoolConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig">CloudbuildWorkerPoolConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudbuildWorkerPool.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudbuildWorkerPool.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudbuildWorkerPool.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig">CloudbuildWorkerPoolConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.putNetworkConfig">putNetworkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.putWorkerConfig">putWorkerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.resetAnnotations">resetAnnotations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.resetNetworkConfig">resetNetworkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.resetWorkerConfig">resetWorkerConfig</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudbuildWorkerPool.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudbuildWorkerPool.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudbuildWorkerPool.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildWorkerPool.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudbuildWorkerPool.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudbuildWorkerPool.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudbuildWorkerPool.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudbuildWorkerPool.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudbuildWorkerPool.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudbuildWorkerPool.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putNetworkConfig` <a name="putNetworkConfig" id="@dschmidt/provider-google.CloudbuildWorkerPool.putNetworkConfig"></a>

```typescript
public putNetworkConfig(value: CloudbuildWorkerPoolNetworkConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildWorkerPool.putNetworkConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfig">CloudbuildWorkerPoolNetworkConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudbuildWorkerPool.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudbuildWorkerPoolTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildWorkerPool.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts">CloudbuildWorkerPoolTimeouts</a>

---

##### `putWorkerConfig` <a name="putWorkerConfig" id="@dschmidt/provider-google.CloudbuildWorkerPool.putWorkerConfig"></a>

```typescript
public putWorkerConfig(value: CloudbuildWorkerPoolWorkerConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudbuildWorkerPool.putWorkerConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig">CloudbuildWorkerPoolWorkerConfig</a>

---

##### `resetAnnotations` <a name="resetAnnotations" id="@dschmidt/provider-google.CloudbuildWorkerPool.resetAnnotations"></a>

```typescript
public resetAnnotations(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.CloudbuildWorkerPool.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudbuildWorkerPool.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNetworkConfig` <a name="resetNetworkConfig" id="@dschmidt/provider-google.CloudbuildWorkerPool.resetNetworkConfig"></a>

```typescript
public resetNetworkConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudbuildWorkerPool.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudbuildWorkerPool.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetWorkerConfig` <a name="resetWorkerConfig" id="@dschmidt/provider-google.CloudbuildWorkerPool.resetWorkerConfig"></a>

```typescript
public resetWorkerConfig(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudbuildWorkerPool.isConstruct"></a>

```typescript
import { CloudbuildWorkerPool } from '@dschmidt/provider-google'

CloudbuildWorkerPool.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudbuildWorkerPool.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.deleteTime">deleteTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.networkConfig">networkConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfigOutputReference">CloudbuildWorkerPoolNetworkConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeoutsOutputReference">CloudbuildWorkerPoolTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.workerConfig">workerConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfigOutputReference">CloudbuildWorkerPoolWorkerConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.annotationsInput">annotationsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.networkConfigInput">networkConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfig">CloudbuildWorkerPoolNetworkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts">CloudbuildWorkerPoolTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.workerConfigInput">workerConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig">CloudbuildWorkerPoolWorkerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `deleteTime`<sup>Required</sup> <a name="deleteTime" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.deleteTime"></a>

```typescript
public readonly deleteTime: string;
```

- *Type:* string

---

##### `networkConfig`<sup>Required</sup> <a name="networkConfig" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.networkConfig"></a>

```typescript
public readonly networkConfig: CloudbuildWorkerPoolNetworkConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfigOutputReference">CloudbuildWorkerPoolNetworkConfigOutputReference</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.timeouts"></a>

```typescript
public readonly timeouts: CloudbuildWorkerPoolTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeoutsOutputReference">CloudbuildWorkerPoolTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `workerConfig`<sup>Required</sup> <a name="workerConfig" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.workerConfig"></a>

```typescript
public readonly workerConfig: CloudbuildWorkerPoolWorkerConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfigOutputReference">CloudbuildWorkerPoolWorkerConfigOutputReference</a>

---

##### `annotationsInput`<sup>Optional</sup> <a name="annotationsInput" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.annotationsInput"></a>

```typescript
public readonly annotationsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkConfigInput`<sup>Optional</sup> <a name="networkConfigInput" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.networkConfigInput"></a>

```typescript
public readonly networkConfigInput: CloudbuildWorkerPoolNetworkConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfig">CloudbuildWorkerPoolNetworkConfig</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudbuildWorkerPoolTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts">CloudbuildWorkerPoolTimeouts</a>

---

##### `workerConfigInput`<sup>Optional</sup> <a name="workerConfigInput" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.workerConfigInput"></a>

```typescript
public readonly workerConfigInput: CloudbuildWorkerPoolWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig">CloudbuildWorkerPoolWorkerConfig</a>

---

##### `annotations`<sup>Required</sup> <a name="annotations" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPool.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudbuildWorkerPool.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ClouddeployDeliveryPipeline <a name="ClouddeployDeliveryPipeline" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline google_clouddeploy_delivery_pipeline}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.Initializer"></a>

```typescript
import { ClouddeployDeliveryPipeline } from '@dschmidt/provider-google'

new ClouddeployDeliveryPipeline(scope: Construct, id: string, config: ClouddeployDeliveryPipelineConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig">ClouddeployDeliveryPipelineConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig">ClouddeployDeliveryPipelineConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.putSerialPipeline">putSerialPipeline</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetAnnotations">resetAnnotations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetSerialPipeline">resetSerialPipeline</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetSuspended">resetSuspended</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSerialPipeline` <a name="putSerialPipeline" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.putSerialPipeline"></a>

```typescript
public putSerialPipeline(value: ClouddeployDeliveryPipelineSerialPipeline): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.putSerialPipeline.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipeline">ClouddeployDeliveryPipelineSerialPipeline</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.putTimeouts"></a>

```typescript
public putTimeouts(value: ClouddeployDeliveryPipelineTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts">ClouddeployDeliveryPipelineTimeouts</a>

---

##### `resetAnnotations` <a name="resetAnnotations" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetAnnotations"></a>

```typescript
public resetAnnotations(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSerialPipeline` <a name="resetSerialPipeline" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetSerialPipeline"></a>

```typescript
public resetSerialPipeline(): void
```

##### `resetSuspended` <a name="resetSuspended" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetSuspended"></a>

```typescript
public resetSuspended(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.isConstruct"></a>

```typescript
import { ClouddeployDeliveryPipeline } from '@dschmidt/provider-google'

ClouddeployDeliveryPipeline.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConditionList">ClouddeployDeliveryPipelineConditionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.serialPipeline">serialPipeline</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineOutputReference">ClouddeployDeliveryPipelineSerialPipelineOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeoutsOutputReference">ClouddeployDeliveryPipelineTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.annotationsInput">annotationsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.serialPipelineInput">serialPipelineInput</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipeline">ClouddeployDeliveryPipelineSerialPipeline</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.suspendedInput">suspendedInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts">ClouddeployDeliveryPipelineTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.suspended">suspended</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.condition"></a>

```typescript
public readonly condition: ClouddeployDeliveryPipelineConditionList;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConditionList">ClouddeployDeliveryPipelineConditionList</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `serialPipeline`<sup>Required</sup> <a name="serialPipeline" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.serialPipeline"></a>

```typescript
public readonly serialPipeline: ClouddeployDeliveryPipelineSerialPipelineOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineOutputReference">ClouddeployDeliveryPipelineSerialPipelineOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.timeouts"></a>

```typescript
public readonly timeouts: ClouddeployDeliveryPipelineTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeoutsOutputReference">ClouddeployDeliveryPipelineTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `annotationsInput`<sup>Optional</sup> <a name="annotationsInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.annotationsInput"></a>

```typescript
public readonly annotationsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serialPipelineInput`<sup>Optional</sup> <a name="serialPipelineInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.serialPipelineInput"></a>

```typescript
public readonly serialPipelineInput: ClouddeployDeliveryPipelineSerialPipeline;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipeline">ClouddeployDeliveryPipelineSerialPipeline</a>

---

##### `suspendedInput`<sup>Optional</sup> <a name="suspendedInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.suspendedInput"></a>

```typescript
public readonly suspendedInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ClouddeployDeliveryPipelineTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts">ClouddeployDeliveryPipelineTimeouts</a>

---

##### `annotations`<sup>Required</sup> <a name="annotations" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `suspended`<sup>Required</sup> <a name="suspended" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.suspended"></a>

```typescript
public readonly suspended: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ClouddeployDeliveryPipeline.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ClouddeployTarget <a name="ClouddeployTarget" id="@dschmidt/provider-google.ClouddeployTarget"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target google_clouddeploy_target}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ClouddeployTarget.Initializer"></a>

```typescript
import { ClouddeployTarget } from '@dschmidt/provider-google'

new ClouddeployTarget(scope: Construct, id: string, config: ClouddeployTargetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig">ClouddeployTargetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ClouddeployTarget.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ClouddeployTarget.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ClouddeployTarget.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetConfig">ClouddeployTargetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.putAnthosCluster">putAnthosCluster</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.putExecutionConfigs">putExecutionConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.putGke">putGke</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetAnnotations">resetAnnotations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetAnthosCluster">resetAnthosCluster</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetExecutionConfigs">resetExecutionConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetGke">resetGke</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetRequireApproval">resetRequireApproval</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ClouddeployTarget.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ClouddeployTarget.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ClouddeployTarget.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ClouddeployTarget.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ClouddeployTarget.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ClouddeployTarget.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ClouddeployTarget.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ClouddeployTarget.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ClouddeployTarget.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ClouddeployTarget.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ClouddeployTarget.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAnthosCluster` <a name="putAnthosCluster" id="@dschmidt/provider-google.ClouddeployTarget.putAnthosCluster"></a>

```typescript
public putAnthosCluster(value: ClouddeployTargetAnthosCluster): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ClouddeployTarget.putAnthosCluster.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetAnthosCluster">ClouddeployTargetAnthosCluster</a>

---

##### `putExecutionConfigs` <a name="putExecutionConfigs" id="@dschmidt/provider-google.ClouddeployTarget.putExecutionConfigs"></a>

```typescript
public putExecutionConfigs(value: IResolvable | ClouddeployTargetExecutionConfigs[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ClouddeployTarget.putExecutionConfigs.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigs">ClouddeployTargetExecutionConfigs</a>[]

---

##### `putGke` <a name="putGke" id="@dschmidt/provider-google.ClouddeployTarget.putGke"></a>

```typescript
public putGke(value: ClouddeployTargetGke): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ClouddeployTarget.putGke.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetGke">ClouddeployTargetGke</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ClouddeployTarget.putTimeouts"></a>

```typescript
public putTimeouts(value: ClouddeployTargetTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ClouddeployTarget.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetTimeouts">ClouddeployTargetTimeouts</a>

---

##### `resetAnnotations` <a name="resetAnnotations" id="@dschmidt/provider-google.ClouddeployTarget.resetAnnotations"></a>

```typescript
public resetAnnotations(): void
```

##### `resetAnthosCluster` <a name="resetAnthosCluster" id="@dschmidt/provider-google.ClouddeployTarget.resetAnthosCluster"></a>

```typescript
public resetAnthosCluster(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ClouddeployTarget.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetExecutionConfigs` <a name="resetExecutionConfigs" id="@dschmidt/provider-google.ClouddeployTarget.resetExecutionConfigs"></a>

```typescript
public resetExecutionConfigs(): void
```

##### `resetGke` <a name="resetGke" id="@dschmidt/provider-google.ClouddeployTarget.resetGke"></a>

```typescript
public resetGke(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ClouddeployTarget.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ClouddeployTarget.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ClouddeployTarget.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRequireApproval` <a name="resetRequireApproval" id="@dschmidt/provider-google.ClouddeployTarget.resetRequireApproval"></a>

```typescript
public resetRequireApproval(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ClouddeployTarget.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ClouddeployTarget.isConstruct"></a>

```typescript
import { ClouddeployTarget } from '@dschmidt/provider-google'

ClouddeployTarget.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ClouddeployTarget.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.anthosCluster">anthosCluster</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetAnthosClusterOutputReference">ClouddeployTargetAnthosClusterOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.executionConfigs">executionConfigs</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigsList">ClouddeployTargetExecutionConfigsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.gke">gke</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetGkeOutputReference">ClouddeployTargetGkeOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.targetId">targetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetTimeoutsOutputReference">ClouddeployTargetTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.annotationsInput">annotationsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.anthosClusterInput">anthosClusterInput</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetAnthosCluster">ClouddeployTargetAnthosCluster</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.executionConfigsInput">executionConfigsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigs">ClouddeployTargetExecutionConfigs</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.gkeInput">gkeInput</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetGke">ClouddeployTargetGke</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.requireApprovalInput">requireApprovalInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ClouddeployTargetTimeouts">ClouddeployTargetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.requireApproval">requireApproval</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ClouddeployTarget.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ClouddeployTarget.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ClouddeployTarget.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ClouddeployTarget.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ClouddeployTarget.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ClouddeployTarget.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ClouddeployTarget.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ClouddeployTarget.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ClouddeployTarget.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ClouddeployTarget.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ClouddeployTarget.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ClouddeployTarget.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ClouddeployTarget.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ClouddeployTarget.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `anthosCluster`<sup>Required</sup> <a name="anthosCluster" id="@dschmidt/provider-google.ClouddeployTarget.property.anthosCluster"></a>

```typescript
public readonly anthosCluster: ClouddeployTargetAnthosClusterOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetAnthosClusterOutputReference">ClouddeployTargetAnthosClusterOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ClouddeployTarget.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ClouddeployTarget.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `executionConfigs`<sup>Required</sup> <a name="executionConfigs" id="@dschmidt/provider-google.ClouddeployTarget.property.executionConfigs"></a>

```typescript
public readonly executionConfigs: ClouddeployTargetExecutionConfigsList;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigsList">ClouddeployTargetExecutionConfigsList</a>

---

##### `gke`<sup>Required</sup> <a name="gke" id="@dschmidt/provider-google.ClouddeployTarget.property.gke"></a>

```typescript
public readonly gke: ClouddeployTargetGkeOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetGkeOutputReference">ClouddeployTargetGkeOutputReference</a>

---

##### `targetId`<sup>Required</sup> <a name="targetId" id="@dschmidt/provider-google.ClouddeployTarget.property.targetId"></a>

```typescript
public readonly targetId: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ClouddeployTarget.property.timeouts"></a>

```typescript
public readonly timeouts: ClouddeployTargetTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetTimeoutsOutputReference">ClouddeployTargetTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.ClouddeployTarget.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ClouddeployTarget.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `annotationsInput`<sup>Optional</sup> <a name="annotationsInput" id="@dschmidt/provider-google.ClouddeployTarget.property.annotationsInput"></a>

```typescript
public readonly annotationsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `anthosClusterInput`<sup>Optional</sup> <a name="anthosClusterInput" id="@dschmidt/provider-google.ClouddeployTarget.property.anthosClusterInput"></a>

```typescript
public readonly anthosClusterInput: ClouddeployTargetAnthosCluster;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetAnthosCluster">ClouddeployTargetAnthosCluster</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ClouddeployTarget.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `executionConfigsInput`<sup>Optional</sup> <a name="executionConfigsInput" id="@dschmidt/provider-google.ClouddeployTarget.property.executionConfigsInput"></a>

```typescript
public readonly executionConfigsInput: IResolvable | ClouddeployTargetExecutionConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigs">ClouddeployTargetExecutionConfigs</a>[]

---

##### `gkeInput`<sup>Optional</sup> <a name="gkeInput" id="@dschmidt/provider-google.ClouddeployTarget.property.gkeInput"></a>

```typescript
public readonly gkeInput: ClouddeployTargetGke;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetGke">ClouddeployTargetGke</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ClouddeployTarget.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ClouddeployTarget.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ClouddeployTarget.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ClouddeployTarget.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ClouddeployTarget.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `requireApprovalInput`<sup>Optional</sup> <a name="requireApprovalInput" id="@dschmidt/provider-google.ClouddeployTarget.property.requireApprovalInput"></a>

```typescript
public readonly requireApprovalInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ClouddeployTarget.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ClouddeployTargetTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ClouddeployTargetTimeouts">ClouddeployTargetTimeouts</a>

---

##### `annotations`<sup>Required</sup> <a name="annotations" id="@dschmidt/provider-google.ClouddeployTarget.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ClouddeployTarget.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ClouddeployTarget.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ClouddeployTarget.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ClouddeployTarget.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ClouddeployTarget.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ClouddeployTarget.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `requireApproval`<sup>Required</sup> <a name="requireApproval" id="@dschmidt/provider-google.ClouddeployTarget.property.requireApproval"></a>

```typescript
public readonly requireApproval: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTarget.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ClouddeployTarget.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### Cloudfunctions2Function <a name="Cloudfunctions2Function" id="@dschmidt/provider-google.Cloudfunctions2Function"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function google_cloudfunctions2_function}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.Cloudfunctions2Function.Initializer"></a>

```typescript
import { Cloudfunctions2Function } from '@dschmidt/provider-google'

new Cloudfunctions2Function(scope: Construct, id: string, config: Cloudfunctions2FunctionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig">Cloudfunctions2FunctionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.Cloudfunctions2Function.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2Function.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.Cloudfunctions2Function.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig">Cloudfunctions2FunctionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.putBuildConfig">putBuildConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.putEventTrigger">putEventTrigger</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.putServiceConfig">putServiceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetBuildConfig">resetBuildConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetEventTrigger">resetEventTrigger</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetServiceConfig">resetServiceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.Cloudfunctions2Function.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.Cloudfunctions2Function.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.Cloudfunctions2Function.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2Function.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.Cloudfunctions2Function.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.Cloudfunctions2Function.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.Cloudfunctions2Function.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.Cloudfunctions2Function.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.Cloudfunctions2Function.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2Function.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBuildConfig` <a name="putBuildConfig" id="@dschmidt/provider-google.Cloudfunctions2Function.putBuildConfig"></a>

```typescript
public putBuildConfig(value: Cloudfunctions2FunctionBuildConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2Function.putBuildConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig">Cloudfunctions2FunctionBuildConfig</a>

---

##### `putEventTrigger` <a name="putEventTrigger" id="@dschmidt/provider-google.Cloudfunctions2Function.putEventTrigger"></a>

```typescript
public putEventTrigger(value: Cloudfunctions2FunctionEventTrigger): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2Function.putEventTrigger.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger">Cloudfunctions2FunctionEventTrigger</a>

---

##### `putServiceConfig` <a name="putServiceConfig" id="@dschmidt/provider-google.Cloudfunctions2Function.putServiceConfig"></a>

```typescript
public putServiceConfig(value: Cloudfunctions2FunctionServiceConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2Function.putServiceConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig">Cloudfunctions2FunctionServiceConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.Cloudfunctions2Function.putTimeouts"></a>

```typescript
public putTimeouts(value: Cloudfunctions2FunctionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2Function.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts">Cloudfunctions2FunctionTimeouts</a>

---

##### `resetBuildConfig` <a name="resetBuildConfig" id="@dschmidt/provider-google.Cloudfunctions2Function.resetBuildConfig"></a>

```typescript
public resetBuildConfig(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.Cloudfunctions2Function.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEventTrigger` <a name="resetEventTrigger" id="@dschmidt/provider-google.Cloudfunctions2Function.resetEventTrigger"></a>

```typescript
public resetEventTrigger(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.Cloudfunctions2Function.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.Cloudfunctions2Function.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.Cloudfunctions2Function.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.Cloudfunctions2Function.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetServiceConfig` <a name="resetServiceConfig" id="@dschmidt/provider-google.Cloudfunctions2Function.resetServiceConfig"></a>

```typescript
public resetServiceConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.Cloudfunctions2Function.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.Cloudfunctions2Function.isConstruct"></a>

```typescript
import { Cloudfunctions2Function } from '@dschmidt/provider-google'

Cloudfunctions2Function.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.Cloudfunctions2Function.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.buildConfig">buildConfig</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigOutputReference">Cloudfunctions2FunctionBuildConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.environment">environment</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.eventTrigger">eventTrigger</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerOutputReference">Cloudfunctions2FunctionEventTriggerOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.serviceConfig">serviceConfig</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigOutputReference">Cloudfunctions2FunctionServiceConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeoutsOutputReference">Cloudfunctions2FunctionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.buildConfigInput">buildConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig">Cloudfunctions2FunctionBuildConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.eventTriggerInput">eventTriggerInput</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger">Cloudfunctions2FunctionEventTrigger</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.serviceConfigInput">serviceConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig">Cloudfunctions2FunctionServiceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts">Cloudfunctions2FunctionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.Cloudfunctions2Function.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.Cloudfunctions2Function.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.Cloudfunctions2Function.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.Cloudfunctions2Function.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.Cloudfunctions2Function.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.Cloudfunctions2Function.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.Cloudfunctions2Function.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Cloudfunctions2Function.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Cloudfunctions2Function.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Cloudfunctions2Function.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Cloudfunctions2Function.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Cloudfunctions2Function.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Cloudfunctions2Function.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Cloudfunctions2Function.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `buildConfig`<sup>Required</sup> <a name="buildConfig" id="@dschmidt/provider-google.Cloudfunctions2Function.property.buildConfig"></a>

```typescript
public readonly buildConfig: Cloudfunctions2FunctionBuildConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigOutputReference">Cloudfunctions2FunctionBuildConfigOutputReference</a>

---

##### `environment`<sup>Required</sup> <a name="environment" id="@dschmidt/provider-google.Cloudfunctions2Function.property.environment"></a>

```typescript
public readonly environment: string;
```

- *Type:* string

---

##### `eventTrigger`<sup>Required</sup> <a name="eventTrigger" id="@dschmidt/provider-google.Cloudfunctions2Function.property.eventTrigger"></a>

```typescript
public readonly eventTrigger: Cloudfunctions2FunctionEventTriggerOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerOutputReference">Cloudfunctions2FunctionEventTriggerOutputReference</a>

---

##### `serviceConfig`<sup>Required</sup> <a name="serviceConfig" id="@dschmidt/provider-google.Cloudfunctions2Function.property.serviceConfig"></a>

```typescript
public readonly serviceConfig: Cloudfunctions2FunctionServiceConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigOutputReference">Cloudfunctions2FunctionServiceConfigOutputReference</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.Cloudfunctions2Function.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.Cloudfunctions2Function.property.timeouts"></a>

```typescript
public readonly timeouts: Cloudfunctions2FunctionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeoutsOutputReference">Cloudfunctions2FunctionTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.Cloudfunctions2Function.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `buildConfigInput`<sup>Optional</sup> <a name="buildConfigInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.buildConfigInput"></a>

```typescript
public readonly buildConfigInput: Cloudfunctions2FunctionBuildConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig">Cloudfunctions2FunctionBuildConfig</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `eventTriggerInput`<sup>Optional</sup> <a name="eventTriggerInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.eventTriggerInput"></a>

```typescript
public readonly eventTriggerInput: Cloudfunctions2FunctionEventTrigger;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger">Cloudfunctions2FunctionEventTrigger</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceConfigInput`<sup>Optional</sup> <a name="serviceConfigInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.serviceConfigInput"></a>

```typescript
public readonly serviceConfigInput: Cloudfunctions2FunctionServiceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig">Cloudfunctions2FunctionServiceConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.Cloudfunctions2Function.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | Cloudfunctions2FunctionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts">Cloudfunctions2FunctionTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.Cloudfunctions2Function.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2Function.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.Cloudfunctions2Function.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.Cloudfunctions2Function.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.Cloudfunctions2Function.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.Cloudfunctions2Function.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2Function.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.Cloudfunctions2Function.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### Cloudfunctions2FunctionIamBinding <a name="Cloudfunctions2FunctionIamBinding" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding google_cloudfunctions2_function_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionIamBinding } from '@dschmidt/provider-google'

new Cloudfunctions2FunctionIamBinding(scope: Construct, id: string, config: Cloudfunctions2FunctionIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig">Cloudfunctions2FunctionIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig">Cloudfunctions2FunctionIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.putCondition"></a>

```typescript
public putCondition(value: Cloudfunctions2FunctionIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition">Cloudfunctions2FunctionIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.isConstruct"></a>

```typescript
import { Cloudfunctions2FunctionIamBinding } from '@dschmidt/provider-google'

Cloudfunctions2FunctionIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConditionOutputReference">Cloudfunctions2FunctionIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.cloudFunctionInput">cloudFunctionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition">Cloudfunctions2FunctionIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.condition"></a>

```typescript
public readonly condition: Cloudfunctions2FunctionIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConditionOutputReference">Cloudfunctions2FunctionIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `cloudFunctionInput`<sup>Optional</sup> <a name="cloudFunctionInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.cloudFunctionInput"></a>

```typescript
public readonly cloudFunctionInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: Cloudfunctions2FunctionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition">Cloudfunctions2FunctionIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### Cloudfunctions2FunctionIamMember <a name="Cloudfunctions2FunctionIamMember" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member google_cloudfunctions2_function_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionIamMember } from '@dschmidt/provider-google'

new Cloudfunctions2FunctionIamMember(scope: Construct, id: string, config: Cloudfunctions2FunctionIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig">Cloudfunctions2FunctionIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig">Cloudfunctions2FunctionIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.putCondition"></a>

```typescript
public putCondition(value: Cloudfunctions2FunctionIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition">Cloudfunctions2FunctionIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.isConstruct"></a>

```typescript
import { Cloudfunctions2FunctionIamMember } from '@dschmidt/provider-google'

Cloudfunctions2FunctionIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConditionOutputReference">Cloudfunctions2FunctionIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.cloudFunctionInput">cloudFunctionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition">Cloudfunctions2FunctionIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.condition"></a>

```typescript
public readonly condition: Cloudfunctions2FunctionIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConditionOutputReference">Cloudfunctions2FunctionIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `cloudFunctionInput`<sup>Optional</sup> <a name="cloudFunctionInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.cloudFunctionInput"></a>

```typescript
public readonly cloudFunctionInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: Cloudfunctions2FunctionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition">Cloudfunctions2FunctionIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### Cloudfunctions2FunctionIamPolicy <a name="Cloudfunctions2FunctionIamPolicy" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy google_cloudfunctions2_function_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionIamPolicy } from '@dschmidt/provider-google'

new Cloudfunctions2FunctionIamPolicy(scope: Construct, id: string, config: Cloudfunctions2FunctionIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig">Cloudfunctions2FunctionIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig">Cloudfunctions2FunctionIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.isConstruct"></a>

```typescript
import { Cloudfunctions2FunctionIamPolicy } from '@dschmidt/provider-google'

Cloudfunctions2FunctionIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.cloudFunctionInput">cloudFunctionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `cloudFunctionInput`<sup>Optional</sup> <a name="cloudFunctionInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.cloudFunctionInput"></a>

```typescript
public readonly cloudFunctionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudfunctionsFunction <a name="CloudfunctionsFunction" id="@dschmidt/provider-google.CloudfunctionsFunction"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function google_cloudfunctions_function}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudfunctionsFunction.Initializer"></a>

```typescript
import { CloudfunctionsFunction } from '@dschmidt/provider-google'

new CloudfunctionsFunction(scope: Construct, id: string, config: CloudfunctionsFunctionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig">CloudfunctionsFunctionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudfunctionsFunction.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunction.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudfunctionsFunction.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig">CloudfunctionsFunctionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.putEventTrigger">putEventTrigger</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.putSecretEnvironmentVariables">putSecretEnvironmentVariables</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.putSecretVolumes">putSecretVolumes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.putSourceRepository">putSourceRepository</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetAvailableMemoryMb">resetAvailableMemoryMb</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetBuildEnvironmentVariables">resetBuildEnvironmentVariables</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetDockerRegistry">resetDockerRegistry</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetDockerRepository">resetDockerRepository</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetEntryPoint">resetEntryPoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetEnvironmentVariables">resetEnvironmentVariables</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetEventTrigger">resetEventTrigger</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetHttpsTriggerSecurityLevel">resetHttpsTriggerSecurityLevel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetHttpsTriggerUrl">resetHttpsTriggerUrl</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetIngressSettings">resetIngressSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetKmsKeyName">resetKmsKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetMaxInstances">resetMaxInstances</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetMinInstances">resetMinInstances</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetSecretEnvironmentVariables">resetSecretEnvironmentVariables</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetSecretVolumes">resetSecretVolumes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetServiceAccountEmail">resetServiceAccountEmail</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetSourceArchiveBucket">resetSourceArchiveBucket</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetSourceArchiveObject">resetSourceArchiveObject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetSourceRepository">resetSourceRepository</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetTimeout">resetTimeout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetTriggerHttp">resetTriggerHttp</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetVpcConnector">resetVpcConnector</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.resetVpcConnectorEgressSettings">resetVpcConnectorEgressSettings</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudfunctionsFunction.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudfunctionsFunction.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudfunctionsFunction.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunction.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunction.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunction.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunction.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudfunctionsFunction.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudfunctionsFunction.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunction.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEventTrigger` <a name="putEventTrigger" id="@dschmidt/provider-google.CloudfunctionsFunction.putEventTrigger"></a>

```typescript
public putEventTrigger(value: CloudfunctionsFunctionEventTrigger): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunction.putEventTrigger.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger">CloudfunctionsFunctionEventTrigger</a>

---

##### `putSecretEnvironmentVariables` <a name="putSecretEnvironmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunction.putSecretEnvironmentVariables"></a>

```typescript
public putSecretEnvironmentVariables(value: IResolvable | CloudfunctionsFunctionSecretEnvironmentVariables[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunction.putSecretEnvironmentVariables.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables">CloudfunctionsFunctionSecretEnvironmentVariables</a>[]

---

##### `putSecretVolumes` <a name="putSecretVolumes" id="@dschmidt/provider-google.CloudfunctionsFunction.putSecretVolumes"></a>

```typescript
public putSecretVolumes(value: IResolvable | CloudfunctionsFunctionSecretVolumes[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunction.putSecretVolumes.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes">CloudfunctionsFunctionSecretVolumes</a>[]

---

##### `putSourceRepository` <a name="putSourceRepository" id="@dschmidt/provider-google.CloudfunctionsFunction.putSourceRepository"></a>

```typescript
public putSourceRepository(value: CloudfunctionsFunctionSourceRepository): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunction.putSourceRepository.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSourceRepository">CloudfunctionsFunctionSourceRepository</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudfunctionsFunction.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudfunctionsFunctionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunction.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeouts">CloudfunctionsFunctionTimeouts</a>

---

##### `resetAvailableMemoryMb` <a name="resetAvailableMemoryMb" id="@dschmidt/provider-google.CloudfunctionsFunction.resetAvailableMemoryMb"></a>

```typescript
public resetAvailableMemoryMb(): void
```

##### `resetBuildEnvironmentVariables` <a name="resetBuildEnvironmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunction.resetBuildEnvironmentVariables"></a>

```typescript
public resetBuildEnvironmentVariables(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.CloudfunctionsFunction.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDockerRegistry` <a name="resetDockerRegistry" id="@dschmidt/provider-google.CloudfunctionsFunction.resetDockerRegistry"></a>

```typescript
public resetDockerRegistry(): void
```

##### `resetDockerRepository` <a name="resetDockerRepository" id="@dschmidt/provider-google.CloudfunctionsFunction.resetDockerRepository"></a>

```typescript
public resetDockerRepository(): void
```

##### `resetEntryPoint` <a name="resetEntryPoint" id="@dschmidt/provider-google.CloudfunctionsFunction.resetEntryPoint"></a>

```typescript
public resetEntryPoint(): void
```

##### `resetEnvironmentVariables` <a name="resetEnvironmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunction.resetEnvironmentVariables"></a>

```typescript
public resetEnvironmentVariables(): void
```

##### `resetEventTrigger` <a name="resetEventTrigger" id="@dschmidt/provider-google.CloudfunctionsFunction.resetEventTrigger"></a>

```typescript
public resetEventTrigger(): void
```

##### `resetHttpsTriggerSecurityLevel` <a name="resetHttpsTriggerSecurityLevel" id="@dschmidt/provider-google.CloudfunctionsFunction.resetHttpsTriggerSecurityLevel"></a>

```typescript
public resetHttpsTriggerSecurityLevel(): void
```

##### `resetHttpsTriggerUrl` <a name="resetHttpsTriggerUrl" id="@dschmidt/provider-google.CloudfunctionsFunction.resetHttpsTriggerUrl"></a>

```typescript
public resetHttpsTriggerUrl(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudfunctionsFunction.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIngressSettings` <a name="resetIngressSettings" id="@dschmidt/provider-google.CloudfunctionsFunction.resetIngressSettings"></a>

```typescript
public resetIngressSettings(): void
```

##### `resetKmsKeyName` <a name="resetKmsKeyName" id="@dschmidt/provider-google.CloudfunctionsFunction.resetKmsKeyName"></a>

```typescript
public resetKmsKeyName(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.CloudfunctionsFunction.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMaxInstances` <a name="resetMaxInstances" id="@dschmidt/provider-google.CloudfunctionsFunction.resetMaxInstances"></a>

```typescript
public resetMaxInstances(): void
```

##### `resetMinInstances` <a name="resetMinInstances" id="@dschmidt/provider-google.CloudfunctionsFunction.resetMinInstances"></a>

```typescript
public resetMinInstances(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudfunctionsFunction.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.CloudfunctionsFunction.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSecretEnvironmentVariables` <a name="resetSecretEnvironmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunction.resetSecretEnvironmentVariables"></a>

```typescript
public resetSecretEnvironmentVariables(): void
```

##### `resetSecretVolumes` <a name="resetSecretVolumes" id="@dschmidt/provider-google.CloudfunctionsFunction.resetSecretVolumes"></a>

```typescript
public resetSecretVolumes(): void
```

##### `resetServiceAccountEmail` <a name="resetServiceAccountEmail" id="@dschmidt/provider-google.CloudfunctionsFunction.resetServiceAccountEmail"></a>

```typescript
public resetServiceAccountEmail(): void
```

##### `resetSourceArchiveBucket` <a name="resetSourceArchiveBucket" id="@dschmidt/provider-google.CloudfunctionsFunction.resetSourceArchiveBucket"></a>

```typescript
public resetSourceArchiveBucket(): void
```

##### `resetSourceArchiveObject` <a name="resetSourceArchiveObject" id="@dschmidt/provider-google.CloudfunctionsFunction.resetSourceArchiveObject"></a>

```typescript
public resetSourceArchiveObject(): void
```

##### `resetSourceRepository` <a name="resetSourceRepository" id="@dschmidt/provider-google.CloudfunctionsFunction.resetSourceRepository"></a>

```typescript
public resetSourceRepository(): void
```

##### `resetTimeout` <a name="resetTimeout" id="@dschmidt/provider-google.CloudfunctionsFunction.resetTimeout"></a>

```typescript
public resetTimeout(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudfunctionsFunction.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTriggerHttp` <a name="resetTriggerHttp" id="@dschmidt/provider-google.CloudfunctionsFunction.resetTriggerHttp"></a>

```typescript
public resetTriggerHttp(): void
```

##### `resetVpcConnector` <a name="resetVpcConnector" id="@dschmidt/provider-google.CloudfunctionsFunction.resetVpcConnector"></a>

```typescript
public resetVpcConnector(): void
```

##### `resetVpcConnectorEgressSettings` <a name="resetVpcConnectorEgressSettings" id="@dschmidt/provider-google.CloudfunctionsFunction.resetVpcConnectorEgressSettings"></a>

```typescript
public resetVpcConnectorEgressSettings(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudfunctionsFunction.isConstruct"></a>

```typescript
import { CloudfunctionsFunction } from '@dschmidt/provider-google'

CloudfunctionsFunction.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudfunctionsFunction.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.eventTrigger">eventTrigger</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTriggerOutputReference">CloudfunctionsFunctionEventTriggerOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.secretEnvironmentVariables">secretEnvironmentVariables</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariablesList">CloudfunctionsFunctionSecretEnvironmentVariablesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.secretVolumes">secretVolumes</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesList">CloudfunctionsFunctionSecretVolumesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.sourceRepository">sourceRepository</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSourceRepositoryOutputReference">CloudfunctionsFunctionSourceRepositoryOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeoutsOutputReference">CloudfunctionsFunctionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.availableMemoryMbInput">availableMemoryMbInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.buildEnvironmentVariablesInput">buildEnvironmentVariablesInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.dockerRegistryInput">dockerRegistryInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.dockerRepositoryInput">dockerRepositoryInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.entryPointInput">entryPointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.environmentVariablesInput">environmentVariablesInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.eventTriggerInput">eventTriggerInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger">CloudfunctionsFunctionEventTrigger</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.httpsTriggerSecurityLevelInput">httpsTriggerSecurityLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.httpsTriggerUrlInput">httpsTriggerUrlInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.ingressSettingsInput">ingressSettingsInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.kmsKeyNameInput">kmsKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.maxInstancesInput">maxInstancesInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.minInstancesInput">minInstancesInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.runtimeInput">runtimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.secretEnvironmentVariablesInput">secretEnvironmentVariablesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables">CloudfunctionsFunctionSecretEnvironmentVariables</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.secretVolumesInput">secretVolumesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes">CloudfunctionsFunctionSecretVolumes</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.serviceAccountEmailInput">serviceAccountEmailInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.sourceArchiveBucketInput">sourceArchiveBucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.sourceArchiveObjectInput">sourceArchiveObjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.sourceRepositoryInput">sourceRepositoryInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSourceRepository">CloudfunctionsFunctionSourceRepository</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.timeoutInput">timeoutInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeouts">CloudfunctionsFunctionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.triggerHttpInput">triggerHttpInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.vpcConnectorEgressSettingsInput">vpcConnectorEgressSettingsInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.vpcConnectorInput">vpcConnectorInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.availableMemoryMb">availableMemoryMb</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.buildEnvironmentVariables">buildEnvironmentVariables</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.dockerRegistry">dockerRegistry</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.dockerRepository">dockerRepository</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.entryPoint">entryPoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.environmentVariables">environmentVariables</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.httpsTriggerSecurityLevel">httpsTriggerSecurityLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.httpsTriggerUrl">httpsTriggerUrl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.ingressSettings">ingressSettings</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.maxInstances">maxInstances</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.minInstances">minInstances</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.runtime">runtime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.sourceArchiveBucket">sourceArchiveBucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.sourceArchiveObject">sourceArchiveObject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.timeout">timeout</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.triggerHttp">triggerHttp</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.vpcConnector">vpcConnector</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.vpcConnectorEgressSettings">vpcConnectorEgressSettings</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudfunctionsFunction.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudfunctionsFunction.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudfunctionsFunction.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudfunctionsFunction.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudfunctionsFunction.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudfunctionsFunction.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudfunctionsFunction.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudfunctionsFunction.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudfunctionsFunction.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudfunctionsFunction.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudfunctionsFunction.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudfunctionsFunction.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudfunctionsFunction.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudfunctionsFunction.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `eventTrigger`<sup>Required</sup> <a name="eventTrigger" id="@dschmidt/provider-google.CloudfunctionsFunction.property.eventTrigger"></a>

```typescript
public readonly eventTrigger: CloudfunctionsFunctionEventTriggerOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTriggerOutputReference">CloudfunctionsFunctionEventTriggerOutputReference</a>

---

##### `secretEnvironmentVariables`<sup>Required</sup> <a name="secretEnvironmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunction.property.secretEnvironmentVariables"></a>

```typescript
public readonly secretEnvironmentVariables: CloudfunctionsFunctionSecretEnvironmentVariablesList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariablesList">CloudfunctionsFunctionSecretEnvironmentVariablesList</a>

---

##### `secretVolumes`<sup>Required</sup> <a name="secretVolumes" id="@dschmidt/provider-google.CloudfunctionsFunction.property.secretVolumes"></a>

```typescript
public readonly secretVolumes: CloudfunctionsFunctionSecretVolumesList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesList">CloudfunctionsFunctionSecretVolumesList</a>

---

##### `sourceRepository`<sup>Required</sup> <a name="sourceRepository" id="@dschmidt/provider-google.CloudfunctionsFunction.property.sourceRepository"></a>

```typescript
public readonly sourceRepository: CloudfunctionsFunctionSourceRepositoryOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSourceRepositoryOutputReference">CloudfunctionsFunctionSourceRepositoryOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudfunctionsFunction.property.timeouts"></a>

```typescript
public readonly timeouts: CloudfunctionsFunctionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeoutsOutputReference">CloudfunctionsFunctionTimeoutsOutputReference</a>

---

##### `availableMemoryMbInput`<sup>Optional</sup> <a name="availableMemoryMbInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.availableMemoryMbInput"></a>

```typescript
public readonly availableMemoryMbInput: number;
```

- *Type:* number

---

##### `buildEnvironmentVariablesInput`<sup>Optional</sup> <a name="buildEnvironmentVariablesInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.buildEnvironmentVariablesInput"></a>

```typescript
public readonly buildEnvironmentVariablesInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `dockerRegistryInput`<sup>Optional</sup> <a name="dockerRegistryInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.dockerRegistryInput"></a>

```typescript
public readonly dockerRegistryInput: string;
```

- *Type:* string

---

##### `dockerRepositoryInput`<sup>Optional</sup> <a name="dockerRepositoryInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.dockerRepositoryInput"></a>

```typescript
public readonly dockerRepositoryInput: string;
```

- *Type:* string

---

##### `entryPointInput`<sup>Optional</sup> <a name="entryPointInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.entryPointInput"></a>

```typescript
public readonly entryPointInput: string;
```

- *Type:* string

---

##### `environmentVariablesInput`<sup>Optional</sup> <a name="environmentVariablesInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.environmentVariablesInput"></a>

```typescript
public readonly environmentVariablesInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `eventTriggerInput`<sup>Optional</sup> <a name="eventTriggerInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.eventTriggerInput"></a>

```typescript
public readonly eventTriggerInput: CloudfunctionsFunctionEventTrigger;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger">CloudfunctionsFunctionEventTrigger</a>

---

##### `httpsTriggerSecurityLevelInput`<sup>Optional</sup> <a name="httpsTriggerSecurityLevelInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.httpsTriggerSecurityLevelInput"></a>

```typescript
public readonly httpsTriggerSecurityLevelInput: string;
```

- *Type:* string

---

##### `httpsTriggerUrlInput`<sup>Optional</sup> <a name="httpsTriggerUrlInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.httpsTriggerUrlInput"></a>

```typescript
public readonly httpsTriggerUrlInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ingressSettingsInput`<sup>Optional</sup> <a name="ingressSettingsInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.ingressSettingsInput"></a>

```typescript
public readonly ingressSettingsInput: string;
```

- *Type:* string

---

##### `kmsKeyNameInput`<sup>Optional</sup> <a name="kmsKeyNameInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.kmsKeyNameInput"></a>

```typescript
public readonly kmsKeyNameInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `maxInstancesInput`<sup>Optional</sup> <a name="maxInstancesInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.maxInstancesInput"></a>

```typescript
public readonly maxInstancesInput: number;
```

- *Type:* number

---

##### `minInstancesInput`<sup>Optional</sup> <a name="minInstancesInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.minInstancesInput"></a>

```typescript
public readonly minInstancesInput: number;
```

- *Type:* number

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `runtimeInput`<sup>Optional</sup> <a name="runtimeInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.runtimeInput"></a>

```typescript
public readonly runtimeInput: string;
```

- *Type:* string

---

##### `secretEnvironmentVariablesInput`<sup>Optional</sup> <a name="secretEnvironmentVariablesInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.secretEnvironmentVariablesInput"></a>

```typescript
public readonly secretEnvironmentVariablesInput: IResolvable | CloudfunctionsFunctionSecretEnvironmentVariables[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables">CloudfunctionsFunctionSecretEnvironmentVariables</a>[]

---

##### `secretVolumesInput`<sup>Optional</sup> <a name="secretVolumesInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.secretVolumesInput"></a>

```typescript
public readonly secretVolumesInput: IResolvable | CloudfunctionsFunctionSecretVolumes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes">CloudfunctionsFunctionSecretVolumes</a>[]

---

##### `serviceAccountEmailInput`<sup>Optional</sup> <a name="serviceAccountEmailInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.serviceAccountEmailInput"></a>

```typescript
public readonly serviceAccountEmailInput: string;
```

- *Type:* string

---

##### `sourceArchiveBucketInput`<sup>Optional</sup> <a name="sourceArchiveBucketInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.sourceArchiveBucketInput"></a>

```typescript
public readonly sourceArchiveBucketInput: string;
```

- *Type:* string

---

##### `sourceArchiveObjectInput`<sup>Optional</sup> <a name="sourceArchiveObjectInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.sourceArchiveObjectInput"></a>

```typescript
public readonly sourceArchiveObjectInput: string;
```

- *Type:* string

---

##### `sourceRepositoryInput`<sup>Optional</sup> <a name="sourceRepositoryInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.sourceRepositoryInput"></a>

```typescript
public readonly sourceRepositoryInput: CloudfunctionsFunctionSourceRepository;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSourceRepository">CloudfunctionsFunctionSourceRepository</a>

---

##### `timeoutInput`<sup>Optional</sup> <a name="timeoutInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.timeoutInput"></a>

```typescript
public readonly timeoutInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudfunctionsFunctionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeouts">CloudfunctionsFunctionTimeouts</a>

---

##### `triggerHttpInput`<sup>Optional</sup> <a name="triggerHttpInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.triggerHttpInput"></a>

```typescript
public readonly triggerHttpInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `vpcConnectorEgressSettingsInput`<sup>Optional</sup> <a name="vpcConnectorEgressSettingsInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.vpcConnectorEgressSettingsInput"></a>

```typescript
public readonly vpcConnectorEgressSettingsInput: string;
```

- *Type:* string

---

##### `vpcConnectorInput`<sup>Optional</sup> <a name="vpcConnectorInput" id="@dschmidt/provider-google.CloudfunctionsFunction.property.vpcConnectorInput"></a>

```typescript
public readonly vpcConnectorInput: string;
```

- *Type:* string

---

##### `availableMemoryMb`<sup>Required</sup> <a name="availableMemoryMb" id="@dschmidt/provider-google.CloudfunctionsFunction.property.availableMemoryMb"></a>

```typescript
public readonly availableMemoryMb: number;
```

- *Type:* number

---

##### `buildEnvironmentVariables`<sup>Required</sup> <a name="buildEnvironmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunction.property.buildEnvironmentVariables"></a>

```typescript
public readonly buildEnvironmentVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.CloudfunctionsFunction.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `dockerRegistry`<sup>Required</sup> <a name="dockerRegistry" id="@dschmidt/provider-google.CloudfunctionsFunction.property.dockerRegistry"></a>

```typescript
public readonly dockerRegistry: string;
```

- *Type:* string

---

##### `dockerRepository`<sup>Required</sup> <a name="dockerRepository" id="@dschmidt/provider-google.CloudfunctionsFunction.property.dockerRepository"></a>

```typescript
public readonly dockerRepository: string;
```

- *Type:* string

---

##### `entryPoint`<sup>Required</sup> <a name="entryPoint" id="@dschmidt/provider-google.CloudfunctionsFunction.property.entryPoint"></a>

```typescript
public readonly entryPoint: string;
```

- *Type:* string

---

##### `environmentVariables`<sup>Required</sup> <a name="environmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunction.property.environmentVariables"></a>

```typescript
public readonly environmentVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `httpsTriggerSecurityLevel`<sup>Required</sup> <a name="httpsTriggerSecurityLevel" id="@dschmidt/provider-google.CloudfunctionsFunction.property.httpsTriggerSecurityLevel"></a>

```typescript
public readonly httpsTriggerSecurityLevel: string;
```

- *Type:* string

---

##### `httpsTriggerUrl`<sup>Required</sup> <a name="httpsTriggerUrl" id="@dschmidt/provider-google.CloudfunctionsFunction.property.httpsTriggerUrl"></a>

```typescript
public readonly httpsTriggerUrl: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunction.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ingressSettings`<sup>Required</sup> <a name="ingressSettings" id="@dschmidt/provider-google.CloudfunctionsFunction.property.ingressSettings"></a>

```typescript
public readonly ingressSettings: string;
```

- *Type:* string

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.CloudfunctionsFunction.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.CloudfunctionsFunction.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `maxInstances`<sup>Required</sup> <a name="maxInstances" id="@dschmidt/provider-google.CloudfunctionsFunction.property.maxInstances"></a>

```typescript
public readonly maxInstances: number;
```

- *Type:* number

---

##### `minInstances`<sup>Required</sup> <a name="minInstances" id="@dschmidt/provider-google.CloudfunctionsFunction.property.minInstances"></a>

```typescript
public readonly minInstances: number;
```

- *Type:* number

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudfunctionsFunction.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudfunctionsFunction.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.CloudfunctionsFunction.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `runtime`<sup>Required</sup> <a name="runtime" id="@dschmidt/provider-google.CloudfunctionsFunction.property.runtime"></a>

```typescript
public readonly runtime: string;
```

- *Type:* string

---

##### `serviceAccountEmail`<sup>Required</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.CloudfunctionsFunction.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

---

##### `sourceArchiveBucket`<sup>Required</sup> <a name="sourceArchiveBucket" id="@dschmidt/provider-google.CloudfunctionsFunction.property.sourceArchiveBucket"></a>

```typescript
public readonly sourceArchiveBucket: string;
```

- *Type:* string

---

##### `sourceArchiveObject`<sup>Required</sup> <a name="sourceArchiveObject" id="@dschmidt/provider-google.CloudfunctionsFunction.property.sourceArchiveObject"></a>

```typescript
public readonly sourceArchiveObject: string;
```

- *Type:* string

---

##### `timeout`<sup>Required</sup> <a name="timeout" id="@dschmidt/provider-google.CloudfunctionsFunction.property.timeout"></a>

```typescript
public readonly timeout: number;
```

- *Type:* number

---

##### `triggerHttp`<sup>Required</sup> <a name="triggerHttp" id="@dschmidt/provider-google.CloudfunctionsFunction.property.triggerHttp"></a>

```typescript
public readonly triggerHttp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `vpcConnector`<sup>Required</sup> <a name="vpcConnector" id="@dschmidt/provider-google.CloudfunctionsFunction.property.vpcConnector"></a>

```typescript
public readonly vpcConnector: string;
```

- *Type:* string

---

##### `vpcConnectorEgressSettings`<sup>Required</sup> <a name="vpcConnectorEgressSettings" id="@dschmidt/provider-google.CloudfunctionsFunction.property.vpcConnectorEgressSettings"></a>

```typescript
public readonly vpcConnectorEgressSettings: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunction.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudfunctionsFunction.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudfunctionsFunctionIamBinding <a name="CloudfunctionsFunctionIamBinding" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding google_cloudfunctions_function_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.Initializer"></a>

```typescript
import { CloudfunctionsFunctionIamBinding } from '@dschmidt/provider-google'

new CloudfunctionsFunctionIamBinding(scope: Construct, id: string, config: CloudfunctionsFunctionIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig">CloudfunctionsFunctionIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig">CloudfunctionsFunctionIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.putCondition"></a>

```typescript
public putCondition(value: CloudfunctionsFunctionIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition">CloudfunctionsFunctionIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.isConstruct"></a>

```typescript
import { CloudfunctionsFunctionIamBinding } from '@dschmidt/provider-google'

CloudfunctionsFunctionIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConditionOutputReference">CloudfunctionsFunctionIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.cloudFunctionInput">cloudFunctionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition">CloudfunctionsFunctionIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.condition"></a>

```typescript
public readonly condition: CloudfunctionsFunctionIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConditionOutputReference">CloudfunctionsFunctionIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `cloudFunctionInput`<sup>Optional</sup> <a name="cloudFunctionInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.cloudFunctionInput"></a>

```typescript
public readonly cloudFunctionInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudfunctionsFunctionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition">CloudfunctionsFunctionIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudfunctionsFunctionIamMember <a name="CloudfunctionsFunctionIamMember" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member google_cloudfunctions_function_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.Initializer"></a>

```typescript
import { CloudfunctionsFunctionIamMember } from '@dschmidt/provider-google'

new CloudfunctionsFunctionIamMember(scope: Construct, id: string, config: CloudfunctionsFunctionIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig">CloudfunctionsFunctionIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig">CloudfunctionsFunctionIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.putCondition"></a>

```typescript
public putCondition(value: CloudfunctionsFunctionIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition">CloudfunctionsFunctionIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.isConstruct"></a>

```typescript
import { CloudfunctionsFunctionIamMember } from '@dschmidt/provider-google'

CloudfunctionsFunctionIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConditionOutputReference">CloudfunctionsFunctionIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.cloudFunctionInput">cloudFunctionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition">CloudfunctionsFunctionIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.condition"></a>

```typescript
public readonly condition: CloudfunctionsFunctionIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConditionOutputReference">CloudfunctionsFunctionIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `cloudFunctionInput`<sup>Optional</sup> <a name="cloudFunctionInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.cloudFunctionInput"></a>

```typescript
public readonly cloudFunctionInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudfunctionsFunctionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition">CloudfunctionsFunctionIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudfunctionsFunctionIamPolicy <a name="CloudfunctionsFunctionIamPolicy" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy google_cloudfunctions_function_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.Initializer"></a>

```typescript
import { CloudfunctionsFunctionIamPolicy } from '@dschmidt/provider-google'

new CloudfunctionsFunctionIamPolicy(scope: Construct, id: string, config: CloudfunctionsFunctionIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig">CloudfunctionsFunctionIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig">CloudfunctionsFunctionIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.isConstruct"></a>

```typescript
import { CloudfunctionsFunctionIamPolicy } from '@dschmidt/provider-google'

CloudfunctionsFunctionIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.cloudFunctionInput">cloudFunctionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `cloudFunctionInput`<sup>Optional</sup> <a name="cloudFunctionInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.cloudFunctionInput"></a>

```typescript
public readonly cloudFunctionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudIdentityGroup <a name="CloudIdentityGroup" id="@dschmidt/provider-google.CloudIdentityGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group google_cloud_identity_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudIdentityGroup.Initializer"></a>

```typescript
import { CloudIdentityGroup } from '@dschmidt/provider-google'

new CloudIdentityGroup(scope: Construct, id: string, config: CloudIdentityGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig">CloudIdentityGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudIdentityGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudIdentityGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudIdentityGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupConfig">CloudIdentityGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.putGroupKey">putGroupKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.resetInitialGroupConfig">resetInitialGroupConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudIdentityGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudIdentityGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudIdentityGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudIdentityGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudIdentityGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudIdentityGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudIdentityGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudIdentityGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudIdentityGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putGroupKey` <a name="putGroupKey" id="@dschmidt/provider-google.CloudIdentityGroup.putGroupKey"></a>

```typescript
public putGroupKey(value: CloudIdentityGroupGroupKey): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudIdentityGroup.putGroupKey.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupGroupKey">CloudIdentityGroupGroupKey</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudIdentityGroup.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudIdentityGroupTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudIdentityGroup.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupTimeouts">CloudIdentityGroupTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.CloudIdentityGroup.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.CloudIdentityGroup.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudIdentityGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInitialGroupConfig` <a name="resetInitialGroupConfig" id="@dschmidt/provider-google.CloudIdentityGroup.resetInitialGroupConfig"></a>

```typescript
public resetInitialGroupConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudIdentityGroup.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudIdentityGroup.isConstruct"></a>

```typescript
import { CloudIdentityGroup } from '@dschmidt/provider-google'

CloudIdentityGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudIdentityGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.groupKey">groupKey</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupGroupKeyOutputReference">CloudIdentityGroupGroupKeyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupTimeoutsOutputReference">CloudIdentityGroupTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.groupKeyInput">groupKeyInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupGroupKey">CloudIdentityGroupGroupKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.initialGroupConfigInput">initialGroupConfigInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudIdentityGroupTimeouts">CloudIdentityGroupTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.initialGroupConfig">initialGroupConfig</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudIdentityGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudIdentityGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudIdentityGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudIdentityGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudIdentityGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudIdentityGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudIdentityGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudIdentityGroup.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudIdentityGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudIdentityGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudIdentityGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudIdentityGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudIdentityGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudIdentityGroup.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.CloudIdentityGroup.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `groupKey`<sup>Required</sup> <a name="groupKey" id="@dschmidt/provider-google.CloudIdentityGroup.property.groupKey"></a>

```typescript
public readonly groupKey: CloudIdentityGroupGroupKeyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupGroupKeyOutputReference">CloudIdentityGroupGroupKeyOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudIdentityGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudIdentityGroup.property.timeouts"></a>

```typescript
public readonly timeouts: CloudIdentityGroupTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupTimeoutsOutputReference">CloudIdentityGroupTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.CloudIdentityGroup.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.CloudIdentityGroup.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.CloudIdentityGroup.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `groupKeyInput`<sup>Optional</sup> <a name="groupKeyInput" id="@dschmidt/provider-google.CloudIdentityGroup.property.groupKeyInput"></a>

```typescript
public readonly groupKeyInput: CloudIdentityGroupGroupKey;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupGroupKey">CloudIdentityGroupGroupKey</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudIdentityGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `initialGroupConfigInput`<sup>Optional</sup> <a name="initialGroupConfigInput" id="@dschmidt/provider-google.CloudIdentityGroup.property.initialGroupConfigInput"></a>

```typescript
public readonly initialGroupConfigInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.CloudIdentityGroup.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.CloudIdentityGroup.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudIdentityGroup.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudIdentityGroupTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudIdentityGroupTimeouts">CloudIdentityGroupTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.CloudIdentityGroup.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.CloudIdentityGroup.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudIdentityGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `initialGroupConfig`<sup>Required</sup> <a name="initialGroupConfig" id="@dschmidt/provider-google.CloudIdentityGroup.property.initialGroupConfig"></a>

```typescript
public readonly initialGroupConfig: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.CloudIdentityGroup.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.CloudIdentityGroup.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudIdentityGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudIdentityGroupMembership <a name="CloudIdentityGroupMembership" id="@dschmidt/provider-google.CloudIdentityGroupMembership"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership google_cloud_identity_group_membership}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudIdentityGroupMembership.Initializer"></a>

```typescript
import { CloudIdentityGroupMembership } from '@dschmidt/provider-google'

new CloudIdentityGroupMembership(scope: Construct, id: string, config: CloudIdentityGroupMembershipConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig">CloudIdentityGroupMembershipConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudIdentityGroupMembership.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudIdentityGroupMembership.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudIdentityGroupMembership.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig">CloudIdentityGroupMembershipConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.putPreferredMemberKey">putPreferredMemberKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.putRoles">putRoles</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.resetPreferredMemberKey">resetPreferredMemberKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudIdentityGroupMembership.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudIdentityGroupMembership.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudIdentityGroupMembership.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudIdentityGroupMembership.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudIdentityGroupMembership.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudIdentityGroupMembership.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudIdentityGroupMembership.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudIdentityGroupMembership.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudIdentityGroupMembership.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudIdentityGroupMembership.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putPreferredMemberKey` <a name="putPreferredMemberKey" id="@dschmidt/provider-google.CloudIdentityGroupMembership.putPreferredMemberKey"></a>

```typescript
public putPreferredMemberKey(value: CloudIdentityGroupMembershipPreferredMemberKey): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudIdentityGroupMembership.putPreferredMemberKey.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey">CloudIdentityGroupMembershipPreferredMemberKey</a>

---

##### `putRoles` <a name="putRoles" id="@dschmidt/provider-google.CloudIdentityGroupMembership.putRoles"></a>

```typescript
public putRoles(value: IResolvable | CloudIdentityGroupMembershipRoles[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudIdentityGroupMembership.putRoles.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipRoles">CloudIdentityGroupMembershipRoles</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudIdentityGroupMembership.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudIdentityGroupMembershipTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudIdentityGroupMembership.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts">CloudIdentityGroupMembershipTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudIdentityGroupMembership.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPreferredMemberKey` <a name="resetPreferredMemberKey" id="@dschmidt/provider-google.CloudIdentityGroupMembership.resetPreferredMemberKey"></a>

```typescript
public resetPreferredMemberKey(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudIdentityGroupMembership.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudIdentityGroupMembership.isConstruct"></a>

```typescript
import { CloudIdentityGroupMembership } from '@dschmidt/provider-google'

CloudIdentityGroupMembership.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudIdentityGroupMembership.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.preferredMemberKey">preferredMemberKey</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKeyOutputReference">CloudIdentityGroupMembershipPreferredMemberKeyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.roles">roles</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipRolesList">CloudIdentityGroupMembershipRolesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeoutsOutputReference">CloudIdentityGroupMembershipTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.groupInput">groupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.preferredMemberKeyInput">preferredMemberKeyInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey">CloudIdentityGroupMembershipPreferredMemberKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.rolesInput">rolesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipRoles">CloudIdentityGroupMembershipRoles</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts">CloudIdentityGroupMembershipTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.group">group</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `preferredMemberKey`<sup>Required</sup> <a name="preferredMemberKey" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.preferredMemberKey"></a>

```typescript
public readonly preferredMemberKey: CloudIdentityGroupMembershipPreferredMemberKeyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKeyOutputReference">CloudIdentityGroupMembershipPreferredMemberKeyOutputReference</a>

---

##### `roles`<sup>Required</sup> <a name="roles" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.roles"></a>

```typescript
public readonly roles: CloudIdentityGroupMembershipRolesList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipRolesList">CloudIdentityGroupMembershipRolesList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.timeouts"></a>

```typescript
public readonly timeouts: CloudIdentityGroupMembershipTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeoutsOutputReference">CloudIdentityGroupMembershipTimeoutsOutputReference</a>

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `groupInput`<sup>Optional</sup> <a name="groupInput" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.groupInput"></a>

```typescript
public readonly groupInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `preferredMemberKeyInput`<sup>Optional</sup> <a name="preferredMemberKeyInput" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.preferredMemberKeyInput"></a>

```typescript
public readonly preferredMemberKeyInput: CloudIdentityGroupMembershipPreferredMemberKey;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey">CloudIdentityGroupMembershipPreferredMemberKey</a>

---

##### `rolesInput`<sup>Optional</sup> <a name="rolesInput" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.rolesInput"></a>

```typescript
public readonly rolesInput: IResolvable | CloudIdentityGroupMembershipRoles[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipRoles">CloudIdentityGroupMembershipRoles</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudIdentityGroupMembershipTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts">CloudIdentityGroupMembershipTimeouts</a>

---

##### `group`<sup>Required</sup> <a name="group" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.group"></a>

```typescript
public readonly group: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembership.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudIdentityGroupMembership.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudiotDevice <a name="CloudiotDevice" id="@dschmidt/provider-google.CloudiotDevice"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device google_cloudiot_device}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudiotDevice.Initializer"></a>

```typescript
import { CloudiotDevice } from '@dschmidt/provider-google'

new CloudiotDevice(scope: Construct, id: string, config: CloudiotDeviceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig">CloudiotDeviceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudiotDevice.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotDevice.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudiotDevice.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceConfig">CloudiotDeviceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.putCredentials">putCredentials</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.putGatewayConfig">putGatewayConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.resetBlocked">resetBlocked</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.resetCredentials">resetCredentials</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.resetGatewayConfig">resetGatewayConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.resetLogLevel">resetLogLevel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.resetMetadata">resetMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudiotDevice.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudiotDevice.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudiotDevice.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotDevice.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudiotDevice.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudiotDevice.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudiotDevice.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudiotDevice.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudiotDevice.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudiotDevice.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudiotDevice.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudiotDevice.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudiotDevice.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudiotDevice.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudiotDevice.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudiotDevice.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudiotDevice.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudiotDevice.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudiotDevice.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotDevice.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCredentials` <a name="putCredentials" id="@dschmidt/provider-google.CloudiotDevice.putCredentials"></a>

```typescript
public putCredentials(value: IResolvable | CloudiotDeviceCredentials[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotDevice.putCredentials.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotDeviceCredentials">CloudiotDeviceCredentials</a>[]

---

##### `putGatewayConfig` <a name="putGatewayConfig" id="@dschmidt/provider-google.CloudiotDevice.putGatewayConfig"></a>

```typescript
public putGatewayConfig(value: CloudiotDeviceGatewayConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotDevice.putGatewayConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceGatewayConfig">CloudiotDeviceGatewayConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudiotDevice.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudiotDeviceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotDevice.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceTimeouts">CloudiotDeviceTimeouts</a>

---

##### `resetBlocked` <a name="resetBlocked" id="@dschmidt/provider-google.CloudiotDevice.resetBlocked"></a>

```typescript
public resetBlocked(): void
```

##### `resetCredentials` <a name="resetCredentials" id="@dschmidt/provider-google.CloudiotDevice.resetCredentials"></a>

```typescript
public resetCredentials(): void
```

##### `resetGatewayConfig` <a name="resetGatewayConfig" id="@dschmidt/provider-google.CloudiotDevice.resetGatewayConfig"></a>

```typescript
public resetGatewayConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudiotDevice.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLogLevel` <a name="resetLogLevel" id="@dschmidt/provider-google.CloudiotDevice.resetLogLevel"></a>

```typescript
public resetLogLevel(): void
```

##### `resetMetadata` <a name="resetMetadata" id="@dschmidt/provider-google.CloudiotDevice.resetMetadata"></a>

```typescript
public resetMetadata(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudiotDevice.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudiotDevice.isConstruct"></a>

```typescript
import { CloudiotDevice } from '@dschmidt/provider-google'

CloudiotDevice.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudiotDevice.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfigAList">CloudiotDeviceConfigAList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.credentials">credentials</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceCredentialsList">CloudiotDeviceCredentialsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.gatewayConfig">gatewayConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceGatewayConfigOutputReference">CloudiotDeviceGatewayConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.lastConfigAckTime">lastConfigAckTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.lastConfigSendTime">lastConfigSendTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.lastErrorStatus">lastErrorStatus</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceLastErrorStatusList">CloudiotDeviceLastErrorStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.lastErrorTime">lastErrorTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.lastEventTime">lastEventTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.lastHeartbeatTime">lastHeartbeatTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.lastStateTime">lastStateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.numId">numId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.state">state</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceStateList">CloudiotDeviceStateList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceTimeoutsOutputReference">CloudiotDeviceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.blockedInput">blockedInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.credentialsInput">credentialsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudiotDeviceCredentials">CloudiotDeviceCredentials</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.gatewayConfigInput">gatewayConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceGatewayConfig">CloudiotDeviceGatewayConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.logLevelInput">logLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.metadataInput">metadataInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.registryInput">registryInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudiotDeviceTimeouts">CloudiotDeviceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.blocked">blocked</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.logLevel">logLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.registry">registry</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudiotDevice.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudiotDevice.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudiotDevice.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudiotDevice.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudiotDevice.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudiotDevice.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudiotDevice.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotDevice.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotDevice.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotDevice.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotDevice.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotDevice.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotDevice.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotDevice.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudiotDevice.property.config"></a>

```typescript
public readonly config: CloudiotDeviceConfigAList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceConfigAList">CloudiotDeviceConfigAList</a>

---

##### `credentials`<sup>Required</sup> <a name="credentials" id="@dschmidt/provider-google.CloudiotDevice.property.credentials"></a>

```typescript
public readonly credentials: CloudiotDeviceCredentialsList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceCredentialsList">CloudiotDeviceCredentialsList</a>

---

##### `gatewayConfig`<sup>Required</sup> <a name="gatewayConfig" id="@dschmidt/provider-google.CloudiotDevice.property.gatewayConfig"></a>

```typescript
public readonly gatewayConfig: CloudiotDeviceGatewayConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceGatewayConfigOutputReference">CloudiotDeviceGatewayConfigOutputReference</a>

---

##### `lastConfigAckTime`<sup>Required</sup> <a name="lastConfigAckTime" id="@dschmidt/provider-google.CloudiotDevice.property.lastConfigAckTime"></a>

```typescript
public readonly lastConfigAckTime: string;
```

- *Type:* string

---

##### `lastConfigSendTime`<sup>Required</sup> <a name="lastConfigSendTime" id="@dschmidt/provider-google.CloudiotDevice.property.lastConfigSendTime"></a>

```typescript
public readonly lastConfigSendTime: string;
```

- *Type:* string

---

##### `lastErrorStatus`<sup>Required</sup> <a name="lastErrorStatus" id="@dschmidt/provider-google.CloudiotDevice.property.lastErrorStatus"></a>

```typescript
public readonly lastErrorStatus: CloudiotDeviceLastErrorStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceLastErrorStatusList">CloudiotDeviceLastErrorStatusList</a>

---

##### `lastErrorTime`<sup>Required</sup> <a name="lastErrorTime" id="@dschmidt/provider-google.CloudiotDevice.property.lastErrorTime"></a>

```typescript
public readonly lastErrorTime: string;
```

- *Type:* string

---

##### `lastEventTime`<sup>Required</sup> <a name="lastEventTime" id="@dschmidt/provider-google.CloudiotDevice.property.lastEventTime"></a>

```typescript
public readonly lastEventTime: string;
```

- *Type:* string

---

##### `lastHeartbeatTime`<sup>Required</sup> <a name="lastHeartbeatTime" id="@dschmidt/provider-google.CloudiotDevice.property.lastHeartbeatTime"></a>

```typescript
public readonly lastHeartbeatTime: string;
```

- *Type:* string

---

##### `lastStateTime`<sup>Required</sup> <a name="lastStateTime" id="@dschmidt/provider-google.CloudiotDevice.property.lastStateTime"></a>

```typescript
public readonly lastStateTime: string;
```

- *Type:* string

---

##### `numId`<sup>Required</sup> <a name="numId" id="@dschmidt/provider-google.CloudiotDevice.property.numId"></a>

```typescript
public readonly numId: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.CloudiotDevice.property.state"></a>

```typescript
public readonly state: CloudiotDeviceStateList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceStateList">CloudiotDeviceStateList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudiotDevice.property.timeouts"></a>

```typescript
public readonly timeouts: CloudiotDeviceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceTimeoutsOutputReference">CloudiotDeviceTimeoutsOutputReference</a>

---

##### `blockedInput`<sup>Optional</sup> <a name="blockedInput" id="@dschmidt/provider-google.CloudiotDevice.property.blockedInput"></a>

```typescript
public readonly blockedInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `credentialsInput`<sup>Optional</sup> <a name="credentialsInput" id="@dschmidt/provider-google.CloudiotDevice.property.credentialsInput"></a>

```typescript
public readonly credentialsInput: IResolvable | CloudiotDeviceCredentials[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotDeviceCredentials">CloudiotDeviceCredentials</a>[]

---

##### `gatewayConfigInput`<sup>Optional</sup> <a name="gatewayConfigInput" id="@dschmidt/provider-google.CloudiotDevice.property.gatewayConfigInput"></a>

```typescript
public readonly gatewayConfigInput: CloudiotDeviceGatewayConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceGatewayConfig">CloudiotDeviceGatewayConfig</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudiotDevice.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `logLevelInput`<sup>Optional</sup> <a name="logLevelInput" id="@dschmidt/provider-google.CloudiotDevice.property.logLevelInput"></a>

```typescript
public readonly logLevelInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.CloudiotDevice.property.metadataInput"></a>

```typescript
public readonly metadataInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudiotDevice.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `registryInput`<sup>Optional</sup> <a name="registryInput" id="@dschmidt/provider-google.CloudiotDevice.property.registryInput"></a>

```typescript
public readonly registryInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudiotDevice.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudiotDeviceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotDeviceTimeouts">CloudiotDeviceTimeouts</a>

---

##### `blocked`<sup>Required</sup> <a name="blocked" id="@dschmidt/provider-google.CloudiotDevice.property.blocked"></a>

```typescript
public readonly blocked: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotDevice.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `logLevel`<sup>Required</sup> <a name="logLevel" id="@dschmidt/provider-google.CloudiotDevice.property.logLevel"></a>

```typescript
public readonly logLevel: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.CloudiotDevice.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotDevice.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `registry`<sup>Required</sup> <a name="registry" id="@dschmidt/provider-google.CloudiotDevice.property.registry"></a>

```typescript
public readonly registry: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDevice.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudiotDevice.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudiotRegistry <a name="CloudiotRegistry" id="@dschmidt/provider-google.CloudiotRegistry"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry google_cloudiot_registry}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudiotRegistry.Initializer"></a>

```typescript
import { CloudiotRegistry } from '@dschmidt/provider-google'

new CloudiotRegistry(scope: Construct, id: string, config: CloudiotRegistryConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig">CloudiotRegistryConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudiotRegistry.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistry.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudiotRegistry.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryConfig">CloudiotRegistryConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.putCredentials">putCredentials</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.putEventNotificationConfigs">putEventNotificationConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetCredentials">resetCredentials</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetEventNotificationConfigs">resetEventNotificationConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetHttpConfig">resetHttpConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetLogLevel">resetLogLevel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetMqttConfig">resetMqttConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetStateNotificationConfig">resetStateNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudiotRegistry.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudiotRegistry.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudiotRegistry.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotRegistry.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudiotRegistry.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudiotRegistry.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudiotRegistry.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudiotRegistry.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudiotRegistry.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudiotRegistry.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistry.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCredentials` <a name="putCredentials" id="@dschmidt/provider-google.CloudiotRegistry.putCredentials"></a>

```typescript
public putCredentials(value: IResolvable | CloudiotRegistryCredentials[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotRegistry.putCredentials.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotRegistryCredentials">CloudiotRegistryCredentials</a>[]

---

##### `putEventNotificationConfigs` <a name="putEventNotificationConfigs" id="@dschmidt/provider-google.CloudiotRegistry.putEventNotificationConfigs"></a>

```typescript
public putEventNotificationConfigs(value: IResolvable | CloudiotRegistryEventNotificationConfigs[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotRegistry.putEventNotificationConfigs.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs">CloudiotRegistryEventNotificationConfigs</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudiotRegistry.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudiotRegistryTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotRegistry.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryTimeouts">CloudiotRegistryTimeouts</a>

---

##### `resetCredentials` <a name="resetCredentials" id="@dschmidt/provider-google.CloudiotRegistry.resetCredentials"></a>

```typescript
public resetCredentials(): void
```

##### `resetEventNotificationConfigs` <a name="resetEventNotificationConfigs" id="@dschmidt/provider-google.CloudiotRegistry.resetEventNotificationConfigs"></a>

```typescript
public resetEventNotificationConfigs(): void
```

##### `resetHttpConfig` <a name="resetHttpConfig" id="@dschmidt/provider-google.CloudiotRegistry.resetHttpConfig"></a>

```typescript
public resetHttpConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudiotRegistry.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLogLevel` <a name="resetLogLevel" id="@dschmidt/provider-google.CloudiotRegistry.resetLogLevel"></a>

```typescript
public resetLogLevel(): void
```

##### `resetMqttConfig` <a name="resetMqttConfig" id="@dschmidt/provider-google.CloudiotRegistry.resetMqttConfig"></a>

```typescript
public resetMqttConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudiotRegistry.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.CloudiotRegistry.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetStateNotificationConfig` <a name="resetStateNotificationConfig" id="@dschmidt/provider-google.CloudiotRegistry.resetStateNotificationConfig"></a>

```typescript
public resetStateNotificationConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudiotRegistry.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudiotRegistry.isConstruct"></a>

```typescript
import { CloudiotRegistry } from '@dschmidt/provider-google'

CloudiotRegistry.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudiotRegistry.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.credentials">credentials</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryCredentialsList">CloudiotRegistryCredentialsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.eventNotificationConfigs">eventNotificationConfigs</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigsList">CloudiotRegistryEventNotificationConfigsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryTimeoutsOutputReference">CloudiotRegistryTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.credentialsInput">credentialsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudiotRegistryCredentials">CloudiotRegistryCredentials</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.eventNotificationConfigsInput">eventNotificationConfigsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs">CloudiotRegistryEventNotificationConfigs</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.httpConfigInput">httpConfigInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.logLevelInput">logLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.mqttConfigInput">mqttConfigInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.stateNotificationConfigInput">stateNotificationConfigInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudiotRegistryTimeouts">CloudiotRegistryTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.httpConfig">httpConfig</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.logLevel">logLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.mqttConfig">mqttConfig</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.stateNotificationConfig">stateNotificationConfig</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudiotRegistry.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudiotRegistry.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudiotRegistry.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudiotRegistry.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudiotRegistry.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudiotRegistry.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudiotRegistry.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotRegistry.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotRegistry.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotRegistry.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotRegistry.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotRegistry.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotRegistry.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotRegistry.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `credentials`<sup>Required</sup> <a name="credentials" id="@dschmidt/provider-google.CloudiotRegistry.property.credentials"></a>

```typescript
public readonly credentials: CloudiotRegistryCredentialsList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryCredentialsList">CloudiotRegistryCredentialsList</a>

---

##### `eventNotificationConfigs`<sup>Required</sup> <a name="eventNotificationConfigs" id="@dschmidt/provider-google.CloudiotRegistry.property.eventNotificationConfigs"></a>

```typescript
public readonly eventNotificationConfigs: CloudiotRegistryEventNotificationConfigsList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigsList">CloudiotRegistryEventNotificationConfigsList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudiotRegistry.property.timeouts"></a>

```typescript
public readonly timeouts: CloudiotRegistryTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryTimeoutsOutputReference">CloudiotRegistryTimeoutsOutputReference</a>

---

##### `credentialsInput`<sup>Optional</sup> <a name="credentialsInput" id="@dschmidt/provider-google.CloudiotRegistry.property.credentialsInput"></a>

```typescript
public readonly credentialsInput: IResolvable | CloudiotRegistryCredentials[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotRegistryCredentials">CloudiotRegistryCredentials</a>[]

---

##### `eventNotificationConfigsInput`<sup>Optional</sup> <a name="eventNotificationConfigsInput" id="@dschmidt/provider-google.CloudiotRegistry.property.eventNotificationConfigsInput"></a>

```typescript
public readonly eventNotificationConfigsInput: IResolvable | CloudiotRegistryEventNotificationConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs">CloudiotRegistryEventNotificationConfigs</a>[]

---

##### `httpConfigInput`<sup>Optional</sup> <a name="httpConfigInput" id="@dschmidt/provider-google.CloudiotRegistry.property.httpConfigInput"></a>

```typescript
public readonly httpConfigInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudiotRegistry.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `logLevelInput`<sup>Optional</sup> <a name="logLevelInput" id="@dschmidt/provider-google.CloudiotRegistry.property.logLevelInput"></a>

```typescript
public readonly logLevelInput: string;
```

- *Type:* string

---

##### `mqttConfigInput`<sup>Optional</sup> <a name="mqttConfigInput" id="@dschmidt/provider-google.CloudiotRegistry.property.mqttConfigInput"></a>

```typescript
public readonly mqttConfigInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudiotRegistry.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudiotRegistry.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.CloudiotRegistry.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `stateNotificationConfigInput`<sup>Optional</sup> <a name="stateNotificationConfigInput" id="@dschmidt/provider-google.CloudiotRegistry.property.stateNotificationConfigInput"></a>

```typescript
public readonly stateNotificationConfigInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudiotRegistry.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudiotRegistryTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotRegistryTimeouts">CloudiotRegistryTimeouts</a>

---

##### `httpConfig`<sup>Required</sup> <a name="httpConfig" id="@dschmidt/provider-google.CloudiotRegistry.property.httpConfig"></a>

```typescript
public readonly httpConfig: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistry.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `logLevel`<sup>Required</sup> <a name="logLevel" id="@dschmidt/provider-google.CloudiotRegistry.property.logLevel"></a>

```typescript
public readonly logLevel: string;
```

- *Type:* string

---

##### `mqttConfig`<sup>Required</sup> <a name="mqttConfig" id="@dschmidt/provider-google.CloudiotRegistry.property.mqttConfig"></a>

```typescript
public readonly mqttConfig: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotRegistry.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudiotRegistry.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.CloudiotRegistry.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `stateNotificationConfig`<sup>Required</sup> <a name="stateNotificationConfig" id="@dschmidt/provider-google.CloudiotRegistry.property.stateNotificationConfig"></a>

```typescript
public readonly stateNotificationConfig: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistry.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudiotRegistry.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudiotRegistryIamBinding <a name="CloudiotRegistryIamBinding" id="@dschmidt/provider-google.CloudiotRegistryIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding google_cloudiot_registry_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.Initializer"></a>

```typescript
import { CloudiotRegistryIamBinding } from '@dschmidt/provider-google'

new CloudiotRegistryIamBinding(scope: Construct, id: string, config: CloudiotRegistryIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig">CloudiotRegistryIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig">CloudiotRegistryIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.putCondition"></a>

```typescript
public putCondition(value: CloudiotRegistryIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingCondition">CloudiotRegistryIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.isConstruct"></a>

```typescript
import { CloudiotRegistryIamBinding } from '@dschmidt/provider-google'

CloudiotRegistryIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConditionOutputReference">CloudiotRegistryIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingCondition">CloudiotRegistryIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.condition"></a>

```typescript
public readonly condition: CloudiotRegistryIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConditionOutputReference">CloudiotRegistryIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudiotRegistryIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingCondition">CloudiotRegistryIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudiotRegistryIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudiotRegistryIamMember <a name="CloudiotRegistryIamMember" id="@dschmidt/provider-google.CloudiotRegistryIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member google_cloudiot_registry_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudiotRegistryIamMember.Initializer"></a>

```typescript
import { CloudiotRegistryIamMember } from '@dschmidt/provider-google'

new CloudiotRegistryIamMember(scope: Construct, id: string, config: CloudiotRegistryIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig">CloudiotRegistryIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudiotRegistryIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudiotRegistryIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig">CloudiotRegistryIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudiotRegistryIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudiotRegistryIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudiotRegistryIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotRegistryIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudiotRegistryIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudiotRegistryIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudiotRegistryIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudiotRegistryIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudiotRegistryIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudiotRegistryIamMember.putCondition"></a>

```typescript
public putCondition(value: CloudiotRegistryIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotRegistryIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberCondition">CloudiotRegistryIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudiotRegistryIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudiotRegistryIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudiotRegistryIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.CloudiotRegistryIamMember.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudiotRegistryIamMember.isConstruct"></a>

```typescript
import { CloudiotRegistryIamMember } from '@dschmidt/provider-google'

CloudiotRegistryIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudiotRegistryIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConditionOutputReference">CloudiotRegistryIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberCondition">CloudiotRegistryIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.condition"></a>

```typescript
public readonly condition: CloudiotRegistryIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConditionOutputReference">CloudiotRegistryIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudiotRegistryIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberCondition">CloudiotRegistryIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudiotRegistryIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudiotRegistryIamPolicy <a name="CloudiotRegistryIamPolicy" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy google_cloudiot_registry_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.Initializer"></a>

```typescript
import { CloudiotRegistryIamPolicy } from '@dschmidt/provider-google'

new CloudiotRegistryIamPolicy(scope: Construct, id: string, config: CloudiotRegistryIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig">CloudiotRegistryIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig">CloudiotRegistryIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.isConstruct"></a>

```typescript
import { CloudiotRegistryIamPolicy } from '@dschmidt/provider-google'

CloudiotRegistryIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudiotRegistryIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudRunDomainMapping <a name="CloudRunDomainMapping" id="@dschmidt/provider-google.CloudRunDomainMapping"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping google_cloud_run_domain_mapping}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudRunDomainMapping.Initializer"></a>

```typescript
import { CloudRunDomainMapping } from '@dschmidt/provider-google'

new CloudRunDomainMapping(scope: Construct, id: string, config: CloudRunDomainMappingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig">CloudRunDomainMappingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudRunDomainMapping.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunDomainMapping.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudRunDomainMapping.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig">CloudRunDomainMappingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.putMetadata">putMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.putSpec">putSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudRunDomainMapping.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudRunDomainMapping.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudRunDomainMapping.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunDomainMapping.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudRunDomainMapping.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudRunDomainMapping.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudRunDomainMapping.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudRunDomainMapping.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudRunDomainMapping.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunDomainMapping.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMetadata` <a name="putMetadata" id="@dschmidt/provider-google.CloudRunDomainMapping.putMetadata"></a>

```typescript
public putMetadata(value: CloudRunDomainMappingMetadata): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunDomainMapping.putMetadata.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadata">CloudRunDomainMappingMetadata</a>

---

##### `putSpec` <a name="putSpec" id="@dschmidt/provider-google.CloudRunDomainMapping.putSpec"></a>

```typescript
public putSpec(value: CloudRunDomainMappingSpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunDomainMapping.putSpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingSpec">CloudRunDomainMappingSpec</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudRunDomainMapping.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudRunDomainMappingTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunDomainMapping.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingTimeouts">CloudRunDomainMappingTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudRunDomainMapping.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudRunDomainMapping.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudRunDomainMapping.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudRunDomainMapping.isConstruct"></a>

```typescript
import { CloudRunDomainMapping } from '@dschmidt/provider-google'

CloudRunDomainMapping.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudRunDomainMapping.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.metadata">metadata</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadataOutputReference">CloudRunDomainMappingMetadataOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.spec">spec</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingSpecOutputReference">CloudRunDomainMappingSpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingStatusList">CloudRunDomainMappingStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingTimeoutsOutputReference">CloudRunDomainMappingTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.metadataInput">metadataInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadata">CloudRunDomainMappingMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.specInput">specInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingSpec">CloudRunDomainMappingSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunDomainMappingTimeouts">CloudRunDomainMappingTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudRunDomainMapping.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudRunDomainMapping.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudRunDomainMapping.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudRunDomainMapping.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudRunDomainMapping.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudRunDomainMapping.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudRunDomainMapping.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunDomainMapping.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunDomainMapping.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunDomainMapping.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunDomainMapping.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunDomainMapping.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunDomainMapping.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunDomainMapping.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.CloudRunDomainMapping.property.metadata"></a>

```typescript
public readonly metadata: CloudRunDomainMappingMetadataOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadataOutputReference">CloudRunDomainMappingMetadataOutputReference</a>

---

##### `spec`<sup>Required</sup> <a name="spec" id="@dschmidt/provider-google.CloudRunDomainMapping.property.spec"></a>

```typescript
public readonly spec: CloudRunDomainMappingSpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingSpecOutputReference">CloudRunDomainMappingSpecOutputReference</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.CloudRunDomainMapping.property.status"></a>

```typescript
public readonly status: CloudRunDomainMappingStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingStatusList">CloudRunDomainMappingStatusList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudRunDomainMapping.property.timeouts"></a>

```typescript
public readonly timeouts: CloudRunDomainMappingTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingTimeoutsOutputReference">CloudRunDomainMappingTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudRunDomainMapping.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudRunDomainMapping.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.CloudRunDomainMapping.property.metadataInput"></a>

```typescript
public readonly metadataInput: CloudRunDomainMappingMetadata;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadata">CloudRunDomainMappingMetadata</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudRunDomainMapping.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudRunDomainMapping.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `specInput`<sup>Optional</sup> <a name="specInput" id="@dschmidt/provider-google.CloudRunDomainMapping.property.specInput"></a>

```typescript
public readonly specInput: CloudRunDomainMappingSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingSpec">CloudRunDomainMappingSpec</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudRunDomainMapping.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudRunDomainMappingTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunDomainMappingTimeouts">CloudRunDomainMappingTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunDomainMapping.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudRunDomainMapping.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudRunDomainMapping.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudRunDomainMapping.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMapping.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudRunDomainMapping.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudRunService <a name="CloudRunService" id="@dschmidt/provider-google.CloudRunService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service google_cloud_run_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudRunService.Initializer"></a>

```typescript
import { CloudRunService } from '@dschmidt/provider-google'

new CloudRunService(scope: Construct, id: string, config: CloudRunServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig">CloudRunServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudRunService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudRunService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceConfig">CloudRunServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudRunService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudRunService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.putMetadata">putMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.putTemplate">putTemplate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.putTraffic">putTraffic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.resetAutogenerateRevisionName">resetAutogenerateRevisionName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.resetMetadata">resetMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.resetTemplate">resetTemplate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.resetTraffic">resetTraffic</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudRunService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudRunService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudRunService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudRunService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudRunService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudRunService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudRunService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudRunService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudRunService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudRunService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudRunService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudRunService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudRunService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudRunService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudRunService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudRunService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudRunService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudRunService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMetadata` <a name="putMetadata" id="@dschmidt/provider-google.CloudRunService.putMetadata"></a>

```typescript
public putMetadata(value: CloudRunServiceMetadata): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunService.putMetadata.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceMetadata">CloudRunServiceMetadata</a>

---

##### `putTemplate` <a name="putTemplate" id="@dschmidt/provider-google.CloudRunService.putTemplate"></a>

```typescript
public putTemplate(value: CloudRunServiceTemplate): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunService.putTemplate.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplate">CloudRunServiceTemplate</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudRunService.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudRunServiceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunService.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTimeouts">CloudRunServiceTimeouts</a>

---

##### `putTraffic` <a name="putTraffic" id="@dschmidt/provider-google.CloudRunService.putTraffic"></a>

```typescript
public putTraffic(value: IResolvable | CloudRunServiceTraffic[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunService.putTraffic.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTraffic">CloudRunServiceTraffic</a>[]

---

##### `resetAutogenerateRevisionName` <a name="resetAutogenerateRevisionName" id="@dschmidt/provider-google.CloudRunService.resetAutogenerateRevisionName"></a>

```typescript
public resetAutogenerateRevisionName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudRunService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMetadata` <a name="resetMetadata" id="@dschmidt/provider-google.CloudRunService.resetMetadata"></a>

```typescript
public resetMetadata(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudRunService.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTemplate` <a name="resetTemplate" id="@dschmidt/provider-google.CloudRunService.resetTemplate"></a>

```typescript
public resetTemplate(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudRunService.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTraffic` <a name="resetTraffic" id="@dschmidt/provider-google.CloudRunService.resetTraffic"></a>

```typescript
public resetTraffic(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudRunService.isConstruct"></a>

```typescript
import { CloudRunService } from '@dschmidt/provider-google'

CloudRunService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudRunService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.metadata">metadata</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceMetadataOutputReference">CloudRunServiceMetadataOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceStatusList">CloudRunServiceStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.template">template</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateOutputReference">CloudRunServiceTemplateOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTimeoutsOutputReference">CloudRunServiceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.traffic">traffic</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTrafficList">CloudRunServiceTrafficList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.autogenerateRevisionNameInput">autogenerateRevisionNameInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.metadataInput">metadataInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceMetadata">CloudRunServiceMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.templateInput">templateInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplate">CloudRunServiceTemplate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTimeouts">CloudRunServiceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.trafficInput">trafficInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTraffic">CloudRunServiceTraffic</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.autogenerateRevisionName">autogenerateRevisionName</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudRunService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudRunService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudRunService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudRunService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudRunService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudRunService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudRunService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunService.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunService.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.CloudRunService.property.metadata"></a>

```typescript
public readonly metadata: CloudRunServiceMetadataOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceMetadataOutputReference">CloudRunServiceMetadataOutputReference</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.CloudRunService.property.status"></a>

```typescript
public readonly status: CloudRunServiceStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceStatusList">CloudRunServiceStatusList</a>

---

##### `template`<sup>Required</sup> <a name="template" id="@dschmidt/provider-google.CloudRunService.property.template"></a>

```typescript
public readonly template: CloudRunServiceTemplateOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateOutputReference">CloudRunServiceTemplateOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudRunService.property.timeouts"></a>

```typescript
public readonly timeouts: CloudRunServiceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTimeoutsOutputReference">CloudRunServiceTimeoutsOutputReference</a>

---

##### `traffic`<sup>Required</sup> <a name="traffic" id="@dschmidt/provider-google.CloudRunService.property.traffic"></a>

```typescript
public readonly traffic: CloudRunServiceTrafficList;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTrafficList">CloudRunServiceTrafficList</a>

---

##### `autogenerateRevisionNameInput`<sup>Optional</sup> <a name="autogenerateRevisionNameInput" id="@dschmidt/provider-google.CloudRunService.property.autogenerateRevisionNameInput"></a>

```typescript
public readonly autogenerateRevisionNameInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudRunService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudRunService.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.CloudRunService.property.metadataInput"></a>

```typescript
public readonly metadataInput: CloudRunServiceMetadata;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceMetadata">CloudRunServiceMetadata</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudRunService.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudRunService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `templateInput`<sup>Optional</sup> <a name="templateInput" id="@dschmidt/provider-google.CloudRunService.property.templateInput"></a>

```typescript
public readonly templateInput: CloudRunServiceTemplate;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplate">CloudRunServiceTemplate</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudRunService.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudRunServiceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTimeouts">CloudRunServiceTimeouts</a>

---

##### `trafficInput`<sup>Optional</sup> <a name="trafficInput" id="@dschmidt/provider-google.CloudRunService.property.trafficInput"></a>

```typescript
public readonly trafficInput: IResolvable | CloudRunServiceTraffic[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTraffic">CloudRunServiceTraffic</a>[]

---

##### `autogenerateRevisionName`<sup>Required</sup> <a name="autogenerateRevisionName" id="@dschmidt/provider-google.CloudRunService.property.autogenerateRevisionName"></a>

```typescript
public readonly autogenerateRevisionName: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudRunService.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudRunService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudRunService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudRunService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudRunServiceIamBinding <a name="CloudRunServiceIamBinding" id="@dschmidt/provider-google.CloudRunServiceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding google_cloud_run_service_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudRunServiceIamBinding.Initializer"></a>

```typescript
import { CloudRunServiceIamBinding } from '@dschmidt/provider-google'

new CloudRunServiceIamBinding(scope: Construct, id: string, config: CloudRunServiceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig">CloudRunServiceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudRunServiceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudRunServiceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig">CloudRunServiceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudRunServiceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudRunServiceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudRunServiceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunServiceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudRunServiceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudRunServiceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudRunServiceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudRunServiceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudRunServiceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudRunServiceIamBinding.putCondition"></a>

```typescript
public putCondition(value: CloudRunServiceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunServiceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamBindingCondition">CloudRunServiceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudRunServiceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudRunServiceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.CloudRunServiceIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudRunServiceIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudRunServiceIamBinding.isConstruct"></a>

```typescript
import { CloudRunServiceIamBinding } from '@dschmidt/provider-google'

CloudRunServiceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudRunServiceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConditionOutputReference">CloudRunServiceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingCondition">CloudRunServiceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.condition"></a>

```typescript
public readonly condition: CloudRunServiceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConditionOutputReference">CloudRunServiceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudRunServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamBindingCondition">CloudRunServiceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudRunServiceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudRunServiceIamMember <a name="CloudRunServiceIamMember" id="@dschmidt/provider-google.CloudRunServiceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member google_cloud_run_service_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudRunServiceIamMember.Initializer"></a>

```typescript
import { CloudRunServiceIamMember } from '@dschmidt/provider-google'

new CloudRunServiceIamMember(scope: Construct, id: string, config: CloudRunServiceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig">CloudRunServiceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudRunServiceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudRunServiceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig">CloudRunServiceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudRunServiceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudRunServiceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudRunServiceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunServiceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudRunServiceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudRunServiceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudRunServiceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudRunServiceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudRunServiceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudRunServiceIamMember.putCondition"></a>

```typescript
public putCondition(value: CloudRunServiceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunServiceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamMemberCondition">CloudRunServiceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudRunServiceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudRunServiceIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.CloudRunServiceIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudRunServiceIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudRunServiceIamMember.isConstruct"></a>

```typescript
import { CloudRunServiceIamMember } from '@dschmidt/provider-google'

CloudRunServiceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudRunServiceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConditionOutputReference">CloudRunServiceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberCondition">CloudRunServiceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.condition"></a>

```typescript
public readonly condition: CloudRunServiceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConditionOutputReference">CloudRunServiceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudRunServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamMemberCondition">CloudRunServiceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudRunServiceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudRunServiceIamPolicy <a name="CloudRunServiceIamPolicy" id="@dschmidt/provider-google.CloudRunServiceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy google_cloud_run_service_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.Initializer"></a>

```typescript
import { CloudRunServiceIamPolicy } from '@dschmidt/provider-google'

new CloudRunServiceIamPolicy(scope: Construct, id: string, config: CloudRunServiceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig">CloudRunServiceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig">CloudRunServiceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.isConstruct"></a>

```typescript
import { CloudRunServiceIamPolicy } from '@dschmidt/provider-google'

CloudRunServiceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudRunServiceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudSchedulerJob <a name="CloudSchedulerJob" id="@dschmidt/provider-google.CloudSchedulerJob"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job google_cloud_scheduler_job}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudSchedulerJob.Initializer"></a>

```typescript
import { CloudSchedulerJob } from '@dschmidt/provider-google'

new CloudSchedulerJob(scope: Construct, id: string, config: CloudSchedulerJobConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig">CloudSchedulerJobConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudSchedulerJob.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudSchedulerJob.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudSchedulerJob.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobConfig">CloudSchedulerJobConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.putAppEngineHttpTarget">putAppEngineHttpTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.putHttpTarget">putHttpTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.putPubsubTarget">putPubsubTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.putRetryConfig">putRetryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetAppEngineHttpTarget">resetAppEngineHttpTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetAttemptDeadline">resetAttemptDeadline</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetHttpTarget">resetHttpTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetPaused">resetPaused</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetPubsubTarget">resetPubsubTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetRetryConfig">resetRetryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetSchedule">resetSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.resetTimeZone">resetTimeZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudSchedulerJob.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudSchedulerJob.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudSchedulerJob.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudSchedulerJob.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudSchedulerJob.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudSchedulerJob.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudSchedulerJob.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudSchedulerJob.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudSchedulerJob.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudSchedulerJob.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAppEngineHttpTarget` <a name="putAppEngineHttpTarget" id="@dschmidt/provider-google.CloudSchedulerJob.putAppEngineHttpTarget"></a>

```typescript
public putAppEngineHttpTarget(value: CloudSchedulerJobAppEngineHttpTarget): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudSchedulerJob.putAppEngineHttpTarget.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget">CloudSchedulerJobAppEngineHttpTarget</a>

---

##### `putHttpTarget` <a name="putHttpTarget" id="@dschmidt/provider-google.CloudSchedulerJob.putHttpTarget"></a>

```typescript
public putHttpTarget(value: CloudSchedulerJobHttpTarget): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudSchedulerJob.putHttpTarget.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget">CloudSchedulerJobHttpTarget</a>

---

##### `putPubsubTarget` <a name="putPubsubTarget" id="@dschmidt/provider-google.CloudSchedulerJob.putPubsubTarget"></a>

```typescript
public putPubsubTarget(value: CloudSchedulerJobPubsubTarget): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudSchedulerJob.putPubsubTarget.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTarget">CloudSchedulerJobPubsubTarget</a>

---

##### `putRetryConfig` <a name="putRetryConfig" id="@dschmidt/provider-google.CloudSchedulerJob.putRetryConfig"></a>

```typescript
public putRetryConfig(value: CloudSchedulerJobRetryConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudSchedulerJob.putRetryConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig">CloudSchedulerJobRetryConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudSchedulerJob.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudSchedulerJobTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudSchedulerJob.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobTimeouts">CloudSchedulerJobTimeouts</a>

---

##### `resetAppEngineHttpTarget` <a name="resetAppEngineHttpTarget" id="@dschmidt/provider-google.CloudSchedulerJob.resetAppEngineHttpTarget"></a>

```typescript
public resetAppEngineHttpTarget(): void
```

##### `resetAttemptDeadline` <a name="resetAttemptDeadline" id="@dschmidt/provider-google.CloudSchedulerJob.resetAttemptDeadline"></a>

```typescript
public resetAttemptDeadline(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.CloudSchedulerJob.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetHttpTarget` <a name="resetHttpTarget" id="@dschmidt/provider-google.CloudSchedulerJob.resetHttpTarget"></a>

```typescript
public resetHttpTarget(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudSchedulerJob.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPaused` <a name="resetPaused" id="@dschmidt/provider-google.CloudSchedulerJob.resetPaused"></a>

```typescript
public resetPaused(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudSchedulerJob.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPubsubTarget` <a name="resetPubsubTarget" id="@dschmidt/provider-google.CloudSchedulerJob.resetPubsubTarget"></a>

```typescript
public resetPubsubTarget(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.CloudSchedulerJob.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetRetryConfig` <a name="resetRetryConfig" id="@dschmidt/provider-google.CloudSchedulerJob.resetRetryConfig"></a>

```typescript
public resetRetryConfig(): void
```

##### `resetSchedule` <a name="resetSchedule" id="@dschmidt/provider-google.CloudSchedulerJob.resetSchedule"></a>

```typescript
public resetSchedule(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudSchedulerJob.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTimeZone` <a name="resetTimeZone" id="@dschmidt/provider-google.CloudSchedulerJob.resetTimeZone"></a>

```typescript
public resetTimeZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudSchedulerJob.isConstruct"></a>

```typescript
import { CloudSchedulerJob } from '@dschmidt/provider-google'

CloudSchedulerJob.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudSchedulerJob.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.appEngineHttpTarget">appEngineHttpTarget</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetOutputReference">CloudSchedulerJobAppEngineHttpTargetOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.httpTarget">httpTarget</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOutputReference">CloudSchedulerJobHttpTargetOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.pubsubTarget">pubsubTarget</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTargetOutputReference">CloudSchedulerJobPubsubTargetOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.retryConfig">retryConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfigOutputReference">CloudSchedulerJobRetryConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobTimeoutsOutputReference">CloudSchedulerJobTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.appEngineHttpTargetInput">appEngineHttpTargetInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget">CloudSchedulerJobAppEngineHttpTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.attemptDeadlineInput">attemptDeadlineInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.httpTargetInput">httpTargetInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget">CloudSchedulerJobHttpTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.pausedInput">pausedInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.pubsubTargetInput">pubsubTargetInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTarget">CloudSchedulerJobPubsubTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.retryConfigInput">retryConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig">CloudSchedulerJobRetryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.scheduleInput">scheduleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudSchedulerJobTimeouts">CloudSchedulerJobTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.timeZoneInput">timeZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.attemptDeadline">attemptDeadline</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.paused">paused</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.schedule">schedule</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.timeZone">timeZone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudSchedulerJob.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudSchedulerJob.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudSchedulerJob.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudSchedulerJob.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudSchedulerJob.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudSchedulerJob.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudSchedulerJob.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudSchedulerJob.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudSchedulerJob.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudSchedulerJob.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudSchedulerJob.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudSchedulerJob.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudSchedulerJob.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudSchedulerJob.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appEngineHttpTarget`<sup>Required</sup> <a name="appEngineHttpTarget" id="@dschmidt/provider-google.CloudSchedulerJob.property.appEngineHttpTarget"></a>

```typescript
public readonly appEngineHttpTarget: CloudSchedulerJobAppEngineHttpTargetOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetOutputReference">CloudSchedulerJobAppEngineHttpTargetOutputReference</a>

---

##### `httpTarget`<sup>Required</sup> <a name="httpTarget" id="@dschmidt/provider-google.CloudSchedulerJob.property.httpTarget"></a>

```typescript
public readonly httpTarget: CloudSchedulerJobHttpTargetOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOutputReference">CloudSchedulerJobHttpTargetOutputReference</a>

---

##### `pubsubTarget`<sup>Required</sup> <a name="pubsubTarget" id="@dschmidt/provider-google.CloudSchedulerJob.property.pubsubTarget"></a>

```typescript
public readonly pubsubTarget: CloudSchedulerJobPubsubTargetOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTargetOutputReference">CloudSchedulerJobPubsubTargetOutputReference</a>

---

##### `retryConfig`<sup>Required</sup> <a name="retryConfig" id="@dschmidt/provider-google.CloudSchedulerJob.property.retryConfig"></a>

```typescript
public readonly retryConfig: CloudSchedulerJobRetryConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfigOutputReference">CloudSchedulerJobRetryConfigOutputReference</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.CloudSchedulerJob.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudSchedulerJob.property.timeouts"></a>

```typescript
public readonly timeouts: CloudSchedulerJobTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobTimeoutsOutputReference">CloudSchedulerJobTimeoutsOutputReference</a>

---

##### `appEngineHttpTargetInput`<sup>Optional</sup> <a name="appEngineHttpTargetInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.appEngineHttpTargetInput"></a>

```typescript
public readonly appEngineHttpTargetInput: CloudSchedulerJobAppEngineHttpTarget;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget">CloudSchedulerJobAppEngineHttpTarget</a>

---

##### `attemptDeadlineInput`<sup>Optional</sup> <a name="attemptDeadlineInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.attemptDeadlineInput"></a>

```typescript
public readonly attemptDeadlineInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `httpTargetInput`<sup>Optional</sup> <a name="httpTargetInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.httpTargetInput"></a>

```typescript
public readonly httpTargetInput: CloudSchedulerJobHttpTarget;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget">CloudSchedulerJobHttpTarget</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `pausedInput`<sup>Optional</sup> <a name="pausedInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.pausedInput"></a>

```typescript
public readonly pausedInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `pubsubTargetInput`<sup>Optional</sup> <a name="pubsubTargetInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.pubsubTargetInput"></a>

```typescript
public readonly pubsubTargetInput: CloudSchedulerJobPubsubTarget;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTarget">CloudSchedulerJobPubsubTarget</a>

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `retryConfigInput`<sup>Optional</sup> <a name="retryConfigInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.retryConfigInput"></a>

```typescript
public readonly retryConfigInput: CloudSchedulerJobRetryConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig">CloudSchedulerJobRetryConfig</a>

---

##### `scheduleInput`<sup>Optional</sup> <a name="scheduleInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.scheduleInput"></a>

```typescript
public readonly scheduleInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudSchedulerJobTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudSchedulerJobTimeouts">CloudSchedulerJobTimeouts</a>

---

##### `timeZoneInput`<sup>Optional</sup> <a name="timeZoneInput" id="@dschmidt/provider-google.CloudSchedulerJob.property.timeZoneInput"></a>

```typescript
public readonly timeZoneInput: string;
```

- *Type:* string

---

##### `attemptDeadline`<sup>Required</sup> <a name="attemptDeadline" id="@dschmidt/provider-google.CloudSchedulerJob.property.attemptDeadline"></a>

```typescript
public readonly attemptDeadline: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.CloudSchedulerJob.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudSchedulerJob.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudSchedulerJob.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `paused`<sup>Required</sup> <a name="paused" id="@dschmidt/provider-google.CloudSchedulerJob.property.paused"></a>

```typescript
public readonly paused: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudSchedulerJob.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.CloudSchedulerJob.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `schedule`<sup>Required</sup> <a name="schedule" id="@dschmidt/provider-google.CloudSchedulerJob.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.CloudSchedulerJob.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJob.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudSchedulerJob.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudTasksQueue <a name="CloudTasksQueue" id="@dschmidt/provider-google.CloudTasksQueue"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue google_cloud_tasks_queue}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudTasksQueue.Initializer"></a>

```typescript
import { CloudTasksQueue } from '@dschmidt/provider-google'

new CloudTasksQueue(scope: Construct, id: string, config: CloudTasksQueueConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig">CloudTasksQueueConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudTasksQueue.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueue.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudTasksQueue.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueConfig">CloudTasksQueueConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.putAppEngineRoutingOverride">putAppEngineRoutingOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.putRateLimits">putRateLimits</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.putRetryConfig">putRetryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.putStackdriverLoggingConfig">putStackdriverLoggingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.resetAppEngineRoutingOverride">resetAppEngineRoutingOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.resetRateLimits">resetRateLimits</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.resetRetryConfig">resetRetryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.resetStackdriverLoggingConfig">resetStackdriverLoggingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudTasksQueue.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudTasksQueue.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudTasksQueue.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueue.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudTasksQueue.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudTasksQueue.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudTasksQueue.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudTasksQueue.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudTasksQueue.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudTasksQueue.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueue.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAppEngineRoutingOverride` <a name="putAppEngineRoutingOverride" id="@dschmidt/provider-google.CloudTasksQueue.putAppEngineRoutingOverride"></a>

```typescript
public putAppEngineRoutingOverride(value: CloudTasksQueueAppEngineRoutingOverride): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueue.putAppEngineRoutingOverride.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride">CloudTasksQueueAppEngineRoutingOverride</a>

---

##### `putRateLimits` <a name="putRateLimits" id="@dschmidt/provider-google.CloudTasksQueue.putRateLimits"></a>

```typescript
public putRateLimits(value: CloudTasksQueueRateLimits): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueue.putRateLimits.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueRateLimits">CloudTasksQueueRateLimits</a>

---

##### `putRetryConfig` <a name="putRetryConfig" id="@dschmidt/provider-google.CloudTasksQueue.putRetryConfig"></a>

```typescript
public putRetryConfig(value: CloudTasksQueueRetryConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueue.putRetryConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig">CloudTasksQueueRetryConfig</a>

---

##### `putStackdriverLoggingConfig` <a name="putStackdriverLoggingConfig" id="@dschmidt/provider-google.CloudTasksQueue.putStackdriverLoggingConfig"></a>

```typescript
public putStackdriverLoggingConfig(value: CloudTasksQueueStackdriverLoggingConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueue.putStackdriverLoggingConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfig">CloudTasksQueueStackdriverLoggingConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.CloudTasksQueue.putTimeouts"></a>

```typescript
public putTimeouts(value: CloudTasksQueueTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueue.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueTimeouts">CloudTasksQueueTimeouts</a>

---

##### `resetAppEngineRoutingOverride` <a name="resetAppEngineRoutingOverride" id="@dschmidt/provider-google.CloudTasksQueue.resetAppEngineRoutingOverride"></a>

```typescript
public resetAppEngineRoutingOverride(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudTasksQueue.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.CloudTasksQueue.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudTasksQueue.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRateLimits` <a name="resetRateLimits" id="@dschmidt/provider-google.CloudTasksQueue.resetRateLimits"></a>

```typescript
public resetRateLimits(): void
```

##### `resetRetryConfig` <a name="resetRetryConfig" id="@dschmidt/provider-google.CloudTasksQueue.resetRetryConfig"></a>

```typescript
public resetRetryConfig(): void
```

##### `resetStackdriverLoggingConfig` <a name="resetStackdriverLoggingConfig" id="@dschmidt/provider-google.CloudTasksQueue.resetStackdriverLoggingConfig"></a>

```typescript
public resetStackdriverLoggingConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.CloudTasksQueue.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudTasksQueue.isConstruct"></a>

```typescript
import { CloudTasksQueue } from '@dschmidt/provider-google'

CloudTasksQueue.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudTasksQueue.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.appEngineRoutingOverride">appEngineRoutingOverride</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverrideOutputReference">CloudTasksQueueAppEngineRoutingOverrideOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.rateLimits">rateLimits</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueRateLimitsOutputReference">CloudTasksQueueRateLimitsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.retryConfig">retryConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfigOutputReference">CloudTasksQueueRetryConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.stackdriverLoggingConfig">stackdriverLoggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfigOutputReference">CloudTasksQueueStackdriverLoggingConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueTimeoutsOutputReference">CloudTasksQueueTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.appEngineRoutingOverrideInput">appEngineRoutingOverrideInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride">CloudTasksQueueAppEngineRoutingOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.rateLimitsInput">rateLimitsInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueRateLimits">CloudTasksQueueRateLimits</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.retryConfigInput">retryConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig">CloudTasksQueueRetryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.stackdriverLoggingConfigInput">stackdriverLoggingConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfig">CloudTasksQueueStackdriverLoggingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudTasksQueueTimeouts">CloudTasksQueueTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudTasksQueue.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudTasksQueue.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudTasksQueue.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudTasksQueue.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudTasksQueue.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudTasksQueue.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudTasksQueue.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudTasksQueue.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudTasksQueue.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudTasksQueue.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudTasksQueue.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudTasksQueue.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudTasksQueue.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudTasksQueue.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appEngineRoutingOverride`<sup>Required</sup> <a name="appEngineRoutingOverride" id="@dschmidt/provider-google.CloudTasksQueue.property.appEngineRoutingOverride"></a>

```typescript
public readonly appEngineRoutingOverride: CloudTasksQueueAppEngineRoutingOverrideOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverrideOutputReference">CloudTasksQueueAppEngineRoutingOverrideOutputReference</a>

---

##### `rateLimits`<sup>Required</sup> <a name="rateLimits" id="@dschmidt/provider-google.CloudTasksQueue.property.rateLimits"></a>

```typescript
public readonly rateLimits: CloudTasksQueueRateLimitsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueRateLimitsOutputReference">CloudTasksQueueRateLimitsOutputReference</a>

---

##### `retryConfig`<sup>Required</sup> <a name="retryConfig" id="@dschmidt/provider-google.CloudTasksQueue.property.retryConfig"></a>

```typescript
public readonly retryConfig: CloudTasksQueueRetryConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfigOutputReference">CloudTasksQueueRetryConfigOutputReference</a>

---

##### `stackdriverLoggingConfig`<sup>Required</sup> <a name="stackdriverLoggingConfig" id="@dschmidt/provider-google.CloudTasksQueue.property.stackdriverLoggingConfig"></a>

```typescript
public readonly stackdriverLoggingConfig: CloudTasksQueueStackdriverLoggingConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfigOutputReference">CloudTasksQueueStackdriverLoggingConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudTasksQueue.property.timeouts"></a>

```typescript
public readonly timeouts: CloudTasksQueueTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueTimeoutsOutputReference">CloudTasksQueueTimeoutsOutputReference</a>

---

##### `appEngineRoutingOverrideInput`<sup>Optional</sup> <a name="appEngineRoutingOverrideInput" id="@dschmidt/provider-google.CloudTasksQueue.property.appEngineRoutingOverrideInput"></a>

```typescript
public readonly appEngineRoutingOverrideInput: CloudTasksQueueAppEngineRoutingOverride;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride">CloudTasksQueueAppEngineRoutingOverride</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudTasksQueue.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudTasksQueue.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudTasksQueue.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudTasksQueue.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `rateLimitsInput`<sup>Optional</sup> <a name="rateLimitsInput" id="@dschmidt/provider-google.CloudTasksQueue.property.rateLimitsInput"></a>

```typescript
public readonly rateLimitsInput: CloudTasksQueueRateLimits;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueRateLimits">CloudTasksQueueRateLimits</a>

---

##### `retryConfigInput`<sup>Optional</sup> <a name="retryConfigInput" id="@dschmidt/provider-google.CloudTasksQueue.property.retryConfigInput"></a>

```typescript
public readonly retryConfigInput: CloudTasksQueueRetryConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig">CloudTasksQueueRetryConfig</a>

---

##### `stackdriverLoggingConfigInput`<sup>Optional</sup> <a name="stackdriverLoggingConfigInput" id="@dschmidt/provider-google.CloudTasksQueue.property.stackdriverLoggingConfigInput"></a>

```typescript
public readonly stackdriverLoggingConfigInput: CloudTasksQueueStackdriverLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfig">CloudTasksQueueStackdriverLoggingConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.CloudTasksQueue.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | CloudTasksQueueTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudTasksQueueTimeouts">CloudTasksQueueTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueue.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudTasksQueue.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudTasksQueue.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudTasksQueue.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueue.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudTasksQueue.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudTasksQueueIamBinding <a name="CloudTasksQueueIamBinding" id="@dschmidt/provider-google.CloudTasksQueueIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding google_cloud_tasks_queue_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.Initializer"></a>

```typescript
import { CloudTasksQueueIamBinding } from '@dschmidt/provider-google'

new CloudTasksQueueIamBinding(scope: Construct, id: string, config: CloudTasksQueueIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig">CloudTasksQueueIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig">CloudTasksQueueIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.putCondition"></a>

```typescript
public putCondition(value: CloudTasksQueueIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingCondition">CloudTasksQueueIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.isConstruct"></a>

```typescript
import { CloudTasksQueueIamBinding } from '@dschmidt/provider-google'

CloudTasksQueueIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConditionOutputReference">CloudTasksQueueIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingCondition">CloudTasksQueueIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.condition"></a>

```typescript
public readonly condition: CloudTasksQueueIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConditionOutputReference">CloudTasksQueueIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudTasksQueueIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingCondition">CloudTasksQueueIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudTasksQueueIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudTasksQueueIamMember <a name="CloudTasksQueueIamMember" id="@dschmidt/provider-google.CloudTasksQueueIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member google_cloud_tasks_queue_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudTasksQueueIamMember.Initializer"></a>

```typescript
import { CloudTasksQueueIamMember } from '@dschmidt/provider-google'

new CloudTasksQueueIamMember(scope: Construct, id: string, config: CloudTasksQueueIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig">CloudTasksQueueIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudTasksQueueIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudTasksQueueIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig">CloudTasksQueueIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudTasksQueueIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudTasksQueueIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudTasksQueueIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueueIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudTasksQueueIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudTasksQueueIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudTasksQueueIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudTasksQueueIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudTasksQueueIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.CloudTasksQueueIamMember.putCondition"></a>

```typescript
public putCondition(value: CloudTasksQueueIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueueIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberCondition">CloudTasksQueueIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.CloudTasksQueueIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudTasksQueueIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.CloudTasksQueueIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudTasksQueueIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudTasksQueueIamMember.isConstruct"></a>

```typescript
import { CloudTasksQueueIamMember } from '@dschmidt/provider-google'

CloudTasksQueueIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudTasksQueueIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConditionOutputReference">CloudTasksQueueIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberCondition">CloudTasksQueueIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.condition"></a>

```typescript
public readonly condition: CloudTasksQueueIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConditionOutputReference">CloudTasksQueueIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: CloudTasksQueueIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberCondition">CloudTasksQueueIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudTasksQueueIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### CloudTasksQueueIamPolicy <a name="CloudTasksQueueIamPolicy" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy google_cloud_tasks_queue_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.Initializer"></a>

```typescript
import { CloudTasksQueueIamPolicy } from '@dschmidt/provider-google'

new CloudTasksQueueIamPolicy(scope: Construct, id: string, config: CloudTasksQueueIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig">CloudTasksQueueIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig">CloudTasksQueueIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.isConstruct"></a>

```typescript
import { CloudTasksQueueIamPolicy } from '@dschmidt/provider-google'

CloudTasksQueueIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.CloudTasksQueueIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComposerEnvironment <a name="ComposerEnvironment" id="@dschmidt/provider-google.ComposerEnvironment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/composer_environment google_composer_environment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComposerEnvironment.Initializer"></a>

```typescript
import { ComposerEnvironment } from '@dschmidt/provider-google'

new ComposerEnvironment(scope: Construct, id: string, config: ComposerEnvironmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig">ComposerEnvironmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComposerEnvironment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComposerEnvironment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComposerEnvironment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfig">ComposerEnvironmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.putConfig">putConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.resetConfig">resetConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComposerEnvironment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComposerEnvironment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComposerEnvironment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComposerEnvironment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComposerEnvironment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComposerEnvironment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComposerEnvironment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComposerEnvironment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComposerEnvironment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComposerEnvironment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComposerEnvironment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putConfig` <a name="putConfig" id="@dschmidt/provider-google.ComposerEnvironment.putConfig"></a>

```typescript
public putConfig(value: ComposerEnvironmentConfigA): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComposerEnvironment.putConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA">ComposerEnvironmentConfigA</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComposerEnvironment.putTimeouts"></a>

```typescript
public putTimeouts(value: ComposerEnvironmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComposerEnvironment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentTimeouts">ComposerEnvironmentTimeouts</a>

---

##### `resetConfig` <a name="resetConfig" id="@dschmidt/provider-google.ComposerEnvironment.resetConfig"></a>

```typescript
public resetConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComposerEnvironment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComposerEnvironment.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComposerEnvironment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComposerEnvironment.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComposerEnvironment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComposerEnvironment.isConstruct"></a>

```typescript
import { ComposerEnvironment } from '@dschmidt/provider-google'

ComposerEnvironment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComposerEnvironment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigAOutputReference">ComposerEnvironmentConfigAOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentTimeoutsOutputReference">ComposerEnvironmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.configInput">configInput</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA">ComposerEnvironmentConfigA</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComposerEnvironmentTimeouts">ComposerEnvironmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComposerEnvironment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComposerEnvironment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComposerEnvironment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComposerEnvironment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComposerEnvironment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComposerEnvironment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComposerEnvironment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComposerEnvironment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComposerEnvironment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComposerEnvironment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComposerEnvironment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComposerEnvironment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComposerEnvironment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComposerEnvironment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComposerEnvironment.property.config"></a>

```typescript
public readonly config: ComposerEnvironmentConfigAOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigAOutputReference">ComposerEnvironmentConfigAOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComposerEnvironment.property.timeouts"></a>

```typescript
public readonly timeouts: ComposerEnvironmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentTimeoutsOutputReference">ComposerEnvironmentTimeoutsOutputReference</a>

---

##### `configInput`<sup>Optional</sup> <a name="configInput" id="@dschmidt/provider-google.ComposerEnvironment.property.configInput"></a>

```typescript
public readonly configInput: ComposerEnvironmentConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA">ComposerEnvironmentConfigA</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComposerEnvironment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComposerEnvironment.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComposerEnvironment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComposerEnvironment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComposerEnvironment.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComposerEnvironment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComposerEnvironmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComposerEnvironmentTimeouts">ComposerEnvironmentTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComposerEnvironment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComposerEnvironment.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComposerEnvironment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComposerEnvironment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComposerEnvironment.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComposerEnvironment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeAddress <a name="ComputeAddress" id="@dschmidt/provider-google.ComputeAddress"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_address google_compute_address}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeAddress.Initializer"></a>

```typescript
import { ComputeAddress } from '@dschmidt/provider-google'

new ComputeAddress(scope: Construct, id: string, config: ComputeAddressConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAddressConfig">ComputeAddressConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeAddress.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeAddress.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeAddress.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeAddressConfig">ComputeAddressConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetAddress">resetAddress</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetAddressType">resetAddressType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetNetworkTier">resetNetworkTier</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetPrefixLength">resetPrefixLength</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetPurpose">resetPurpose</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetSubnetwork">resetSubnetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeAddress.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeAddress.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeAddress.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeAddress.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeAddress.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeAddress.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeAddress.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeAddress.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeAddress.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeAddress.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeAddress.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeAddress.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeAddress.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeAddress.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeAddress.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeAddress.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeAddress.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeAddress.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeAddress.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAddress.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeAddress.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeAddressTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeAddress.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeAddressTimeouts">ComputeAddressTimeouts</a>

---

##### `resetAddress` <a name="resetAddress" id="@dschmidt/provider-google.ComputeAddress.resetAddress"></a>

```typescript
public resetAddress(): void
```

##### `resetAddressType` <a name="resetAddressType" id="@dschmidt/provider-google.ComputeAddress.resetAddressType"></a>

```typescript
public resetAddressType(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeAddress.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeAddress.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.ComputeAddress.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetNetworkTier` <a name="resetNetworkTier" id="@dschmidt/provider-google.ComputeAddress.resetNetworkTier"></a>

```typescript
public resetNetworkTier(): void
```

##### `resetPrefixLength` <a name="resetPrefixLength" id="@dschmidt/provider-google.ComputeAddress.resetPrefixLength"></a>

```typescript
public resetPrefixLength(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeAddress.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPurpose` <a name="resetPurpose" id="@dschmidt/provider-google.ComputeAddress.resetPurpose"></a>

```typescript
public resetPurpose(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeAddress.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSubnetwork` <a name="resetSubnetwork" id="@dschmidt/provider-google.ComputeAddress.resetSubnetwork"></a>

```typescript
public resetSubnetwork(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeAddress.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeAddress.isConstruct"></a>

```typescript
import { ComputeAddress } from '@dschmidt/provider-google'

ComputeAddress.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeAddress.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAddressTimeoutsOutputReference">ComputeAddressTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.users">users</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.addressInput">addressInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.addressTypeInput">addressTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.networkTierInput">networkTierInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.prefixLengthInput">prefixLengthInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.purposeInput">purposeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.subnetworkInput">subnetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeAddressTimeouts">ComputeAddressTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.address">address</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.addressType">addressType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.networkTier">networkTier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.prefixLength">prefixLength</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.purpose">purpose</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeAddress.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeAddress.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeAddress.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeAddress.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeAddress.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeAddress.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeAddress.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeAddress.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeAddress.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeAddress.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeAddress.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeAddress.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeAddress.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeAddress.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeAddress.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeAddress.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeAddress.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeAddressTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAddressTimeoutsOutputReference">ComputeAddressTimeoutsOutputReference</a>

---

##### `users`<sup>Required</sup> <a name="users" id="@dschmidt/provider-google.ComputeAddress.property.users"></a>

```typescript
public readonly users: string[];
```

- *Type:* string[]

---

##### `addressInput`<sup>Optional</sup> <a name="addressInput" id="@dschmidt/provider-google.ComputeAddress.property.addressInput"></a>

```typescript
public readonly addressInput: string;
```

- *Type:* string

---

##### `addressTypeInput`<sup>Optional</sup> <a name="addressTypeInput" id="@dschmidt/provider-google.ComputeAddress.property.addressTypeInput"></a>

```typescript
public readonly addressTypeInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeAddress.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeAddress.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeAddress.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeAddress.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `networkTierInput`<sup>Optional</sup> <a name="networkTierInput" id="@dschmidt/provider-google.ComputeAddress.property.networkTierInput"></a>

```typescript
public readonly networkTierInput: string;
```

- *Type:* string

---

##### `prefixLengthInput`<sup>Optional</sup> <a name="prefixLengthInput" id="@dschmidt/provider-google.ComputeAddress.property.prefixLengthInput"></a>

```typescript
public readonly prefixLengthInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeAddress.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `purposeInput`<sup>Optional</sup> <a name="purposeInput" id="@dschmidt/provider-google.ComputeAddress.property.purposeInput"></a>

```typescript
public readonly purposeInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeAddress.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.ComputeAddress.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeAddress.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeAddressTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeAddressTimeouts">ComputeAddressTimeouts</a>

---

##### `address`<sup>Required</sup> <a name="address" id="@dschmidt/provider-google.ComputeAddress.property.address"></a>

```typescript
public readonly address: string;
```

- *Type:* string

---

##### `addressType`<sup>Required</sup> <a name="addressType" id="@dschmidt/provider-google.ComputeAddress.property.addressType"></a>

```typescript
public readonly addressType: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeAddress.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeAddress.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeAddress.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeAddress.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `networkTier`<sup>Required</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeAddress.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

---

##### `prefixLength`<sup>Required</sup> <a name="prefixLength" id="@dschmidt/provider-google.ComputeAddress.property.prefixLength"></a>

```typescript
public readonly prefixLength: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeAddress.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `purpose`<sup>Required</sup> <a name="purpose" id="@dschmidt/provider-google.ComputeAddress.property.purpose"></a>

```typescript
public readonly purpose: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeAddress.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeAddress.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAddress.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeAddress.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeAttachedDisk <a name="ComputeAttachedDisk" id="@dschmidt/provider-google.ComputeAttachedDisk"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk google_compute_attached_disk}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeAttachedDisk.Initializer"></a>

```typescript
import { ComputeAttachedDisk } from '@dschmidt/provider-google'

new ComputeAttachedDisk(scope: Construct, id: string, config: ComputeAttachedDiskConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig">ComputeAttachedDiskConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeAttachedDisk.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeAttachedDisk.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeAttachedDisk.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig">ComputeAttachedDiskConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.resetDeviceName">resetDeviceName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.resetMode">resetMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeAttachedDisk.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeAttachedDisk.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeAttachedDisk.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeAttachedDisk.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeAttachedDisk.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeAttachedDisk.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeAttachedDisk.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeAttachedDisk.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeAttachedDisk.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAttachedDisk.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeAttachedDisk.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeAttachedDiskTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeAttachedDisk.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeAttachedDiskTimeouts">ComputeAttachedDiskTimeouts</a>

---

##### `resetDeviceName` <a name="resetDeviceName" id="@dschmidt/provider-google.ComputeAttachedDisk.resetDeviceName"></a>

```typescript
public resetDeviceName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeAttachedDisk.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMode` <a name="resetMode" id="@dschmidt/provider-google.ComputeAttachedDisk.resetMode"></a>

```typescript
public resetMode(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeAttachedDisk.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeAttachedDisk.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeAttachedDisk.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeAttachedDisk.isConstruct"></a>

```typescript
import { ComputeAttachedDisk } from '@dschmidt/provider-google'

ComputeAttachedDisk.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeAttachedDisk.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskTimeoutsOutputReference">ComputeAttachedDiskTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.deviceNameInput">deviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.diskInput">diskInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.modeInput">modeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeAttachedDiskTimeouts">ComputeAttachedDiskTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.deviceName">deviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.disk">disk</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.mode">mode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeAttachedDisk.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeAttachedDisk.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeAttachedDisk.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeAttachedDisk.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeAttachedDisk.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeAttachedDisk.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeAttachedDisk.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeAttachedDisk.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeAttachedDisk.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeAttachedDisk.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeAttachedDisk.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeAttachedDisk.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeAttachedDisk.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeAttachedDisk.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeAttachedDisk.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeAttachedDiskTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAttachedDiskTimeoutsOutputReference">ComputeAttachedDiskTimeoutsOutputReference</a>

---

##### `deviceNameInput`<sup>Optional</sup> <a name="deviceNameInput" id="@dschmidt/provider-google.ComputeAttachedDisk.property.deviceNameInput"></a>

```typescript
public readonly deviceNameInput: string;
```

- *Type:* string

---

##### `diskInput`<sup>Optional</sup> <a name="diskInput" id="@dschmidt/provider-google.ComputeAttachedDisk.property.diskInput"></a>

```typescript
public readonly diskInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeAttachedDisk.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.ComputeAttachedDisk.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `modeInput`<sup>Optional</sup> <a name="modeInput" id="@dschmidt/provider-google.ComputeAttachedDisk.property.modeInput"></a>

```typescript
public readonly modeInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeAttachedDisk.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeAttachedDisk.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeAttachedDiskTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeAttachedDiskTimeouts">ComputeAttachedDiskTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeAttachedDisk.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `deviceName`<sup>Required</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeAttachedDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

---

##### `disk`<sup>Required</sup> <a name="disk" id="@dschmidt/provider-google.ComputeAttachedDisk.property.disk"></a>

```typescript
public readonly disk: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeAttachedDisk.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.ComputeAttachedDisk.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `mode`<sup>Required</sup> <a name="mode" id="@dschmidt/provider-google.ComputeAttachedDisk.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeAttachedDisk.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeAttachedDisk.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDisk.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeAttachedDisk.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeAutoscaler <a name="ComputeAutoscaler" id="@dschmidt/provider-google.ComputeAutoscaler"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler google_compute_autoscaler}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeAutoscaler.Initializer"></a>

```typescript
import { ComputeAutoscaler } from '@dschmidt/provider-google'

new ComputeAutoscaler(scope: Construct, id: string, config: ComputeAutoscalerConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig">ComputeAutoscalerConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeAutoscaler.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeAutoscaler.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeAutoscaler.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerConfig">ComputeAutoscalerConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.putAutoscalingPolicy">putAutoscalingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeAutoscaler.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeAutoscaler.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeAutoscaler.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeAutoscaler.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeAutoscaler.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeAutoscaler.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeAutoscaler.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeAutoscaler.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeAutoscaler.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeAutoscaler.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAutoscalingPolicy` <a name="putAutoscalingPolicy" id="@dschmidt/provider-google.ComputeAutoscaler.putAutoscalingPolicy"></a>

```typescript
public putAutoscalingPolicy(value: ComputeAutoscalerAutoscalingPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeAutoscaler.putAutoscalingPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy">ComputeAutoscalerAutoscalingPolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeAutoscaler.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeAutoscalerTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeAutoscaler.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerTimeouts">ComputeAutoscalerTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeAutoscaler.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeAutoscaler.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeAutoscaler.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeAutoscaler.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeAutoscaler.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeAutoscaler.isConstruct"></a>

```typescript
import { ComputeAutoscaler } from '@dschmidt/provider-google'

ComputeAutoscaler.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeAutoscaler.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.autoscalingPolicy">autoscalingPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyOutputReference">ComputeAutoscalerAutoscalingPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerTimeoutsOutputReference">ComputeAutoscalerTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.autoscalingPolicyInput">autoscalingPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy">ComputeAutoscalerAutoscalingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.targetInput">targetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeAutoscalerTimeouts">ComputeAutoscalerTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.target">target</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeAutoscaler.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeAutoscaler.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeAutoscaler.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeAutoscaler.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeAutoscaler.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeAutoscaler.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeAutoscaler.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeAutoscaler.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeAutoscaler.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeAutoscaler.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeAutoscaler.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeAutoscaler.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeAutoscaler.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeAutoscaler.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscalingPolicy`<sup>Required</sup> <a name="autoscalingPolicy" id="@dschmidt/provider-google.ComputeAutoscaler.property.autoscalingPolicy"></a>

```typescript
public readonly autoscalingPolicy: ComputeAutoscalerAutoscalingPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyOutputReference">ComputeAutoscalerAutoscalingPolicyOutputReference</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeAutoscaler.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeAutoscaler.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeAutoscaler.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeAutoscalerTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerTimeoutsOutputReference">ComputeAutoscalerTimeoutsOutputReference</a>

---

##### `autoscalingPolicyInput`<sup>Optional</sup> <a name="autoscalingPolicyInput" id="@dschmidt/provider-google.ComputeAutoscaler.property.autoscalingPolicyInput"></a>

```typescript
public readonly autoscalingPolicyInput: ComputeAutoscalerAutoscalingPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy">ComputeAutoscalerAutoscalingPolicy</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeAutoscaler.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeAutoscaler.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeAutoscaler.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeAutoscaler.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `targetInput`<sup>Optional</sup> <a name="targetInput" id="@dschmidt/provider-google.ComputeAutoscaler.property.targetInput"></a>

```typescript
public readonly targetInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeAutoscaler.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeAutoscalerTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeAutoscalerTimeouts">ComputeAutoscalerTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeAutoscaler.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeAutoscaler.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeAutoscaler.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeAutoscaler.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeAutoscaler.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeAutoscaler.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeAutoscaler.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscaler.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeAutoscaler.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeBackendBucket <a name="ComputeBackendBucket" id="@dschmidt/provider-google.ComputeBackendBucket"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket google_compute_backend_bucket}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeBackendBucket.Initializer"></a>

```typescript
import { ComputeBackendBucket } from '@dschmidt/provider-google'

new ComputeBackendBucket(scope: Construct, id: string, config: ComputeBackendBucketConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig">ComputeBackendBucketConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeBackendBucket.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendBucket.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeBackendBucket.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketConfig">ComputeBackendBucketConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.putCdnPolicy">putCdnPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.resetCdnPolicy">resetCdnPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.resetCustomResponseHeaders">resetCustomResponseHeaders</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.resetEdgeSecurityPolicy">resetEdgeSecurityPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.resetEnableCdn">resetEnableCdn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeBackendBucket.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeBackendBucket.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeBackendBucket.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendBucket.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeBackendBucket.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeBackendBucket.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeBackendBucket.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeBackendBucket.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeBackendBucket.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucket.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCdnPolicy` <a name="putCdnPolicy" id="@dschmidt/provider-google.ComputeBackendBucket.putCdnPolicy"></a>

```typescript
public putCdnPolicy(value: ComputeBackendBucketCdnPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendBucket.putCdnPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy">ComputeBackendBucketCdnPolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeBackendBucket.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeBackendBucketTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendBucket.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketTimeouts">ComputeBackendBucketTimeouts</a>

---

##### `resetCdnPolicy` <a name="resetCdnPolicy" id="@dschmidt/provider-google.ComputeBackendBucket.resetCdnPolicy"></a>

```typescript
public resetCdnPolicy(): void
```

##### `resetCustomResponseHeaders` <a name="resetCustomResponseHeaders" id="@dschmidt/provider-google.ComputeBackendBucket.resetCustomResponseHeaders"></a>

```typescript
public resetCustomResponseHeaders(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeBackendBucket.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEdgeSecurityPolicy` <a name="resetEdgeSecurityPolicy" id="@dschmidt/provider-google.ComputeBackendBucket.resetEdgeSecurityPolicy"></a>

```typescript
public resetEdgeSecurityPolicy(): void
```

##### `resetEnableCdn` <a name="resetEnableCdn" id="@dschmidt/provider-google.ComputeBackendBucket.resetEnableCdn"></a>

```typescript
public resetEnableCdn(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeBackendBucket.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeBackendBucket.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeBackendBucket.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeBackendBucket.isConstruct"></a>

```typescript
import { ComputeBackendBucket } from '@dschmidt/provider-google'

ComputeBackendBucket.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeBackendBucket.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.cdnPolicy">cdnPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyOutputReference">ComputeBackendBucketCdnPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketTimeoutsOutputReference">ComputeBackendBucketTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.bucketNameInput">bucketNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.cdnPolicyInput">cdnPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy">ComputeBackendBucketCdnPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.customResponseHeadersInput">customResponseHeadersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.edgeSecurityPolicyInput">edgeSecurityPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.enableCdnInput">enableCdnInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeBackendBucketTimeouts">ComputeBackendBucketTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.bucketName">bucketName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.customResponseHeaders">customResponseHeaders</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.edgeSecurityPolicy">edgeSecurityPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.enableCdn">enableCdn</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeBackendBucket.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeBackendBucket.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeBackendBucket.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeBackendBucket.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeBackendBucket.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeBackendBucket.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeBackendBucket.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeBackendBucket.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeBackendBucket.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeBackendBucket.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeBackendBucket.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeBackendBucket.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeBackendBucket.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeBackendBucket.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cdnPolicy`<sup>Required</sup> <a name="cdnPolicy" id="@dschmidt/provider-google.ComputeBackendBucket.property.cdnPolicy"></a>

```typescript
public readonly cdnPolicy: ComputeBackendBucketCdnPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyOutputReference">ComputeBackendBucketCdnPolicyOutputReference</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeBackendBucket.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeBackendBucket.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeBackendBucket.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeBackendBucketTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketTimeoutsOutputReference">ComputeBackendBucketTimeoutsOutputReference</a>

---

##### `bucketNameInput`<sup>Optional</sup> <a name="bucketNameInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.bucketNameInput"></a>

```typescript
public readonly bucketNameInput: string;
```

- *Type:* string

---

##### `cdnPolicyInput`<sup>Optional</sup> <a name="cdnPolicyInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.cdnPolicyInput"></a>

```typescript
public readonly cdnPolicyInput: ComputeBackendBucketCdnPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy">ComputeBackendBucketCdnPolicy</a>

---

##### `customResponseHeadersInput`<sup>Optional</sup> <a name="customResponseHeadersInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.customResponseHeadersInput"></a>

```typescript
public readonly customResponseHeadersInput: string[];
```

- *Type:* string[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `edgeSecurityPolicyInput`<sup>Optional</sup> <a name="edgeSecurityPolicyInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.edgeSecurityPolicyInput"></a>

```typescript
public readonly edgeSecurityPolicyInput: string;
```

- *Type:* string

---

##### `enableCdnInput`<sup>Optional</sup> <a name="enableCdnInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.enableCdnInput"></a>

```typescript
public readonly enableCdnInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeBackendBucket.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeBackendBucketTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendBucketTimeouts">ComputeBackendBucketTimeouts</a>

---

##### `bucketName`<sup>Required</sup> <a name="bucketName" id="@dschmidt/provider-google.ComputeBackendBucket.property.bucketName"></a>

```typescript
public readonly bucketName: string;
```

- *Type:* string

---

##### `customResponseHeaders`<sup>Required</sup> <a name="customResponseHeaders" id="@dschmidt/provider-google.ComputeBackendBucket.property.customResponseHeaders"></a>

```typescript
public readonly customResponseHeaders: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeBackendBucket.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `edgeSecurityPolicy`<sup>Required</sup> <a name="edgeSecurityPolicy" id="@dschmidt/provider-google.ComputeBackendBucket.property.edgeSecurityPolicy"></a>

```typescript
public readonly edgeSecurityPolicy: string;
```

- *Type:* string

---

##### `enableCdn`<sup>Required</sup> <a name="enableCdn" id="@dschmidt/provider-google.ComputeBackendBucket.property.enableCdn"></a>

```typescript
public readonly enableCdn: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendBucket.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeBackendBucket.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeBackendBucket.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucket.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeBackendBucket.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeBackendBucketSignedUrlKey <a name="ComputeBackendBucketSignedUrlKey" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key google_compute_backend_bucket_signed_url_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.Initializer"></a>

```typescript
import { ComputeBackendBucketSignedUrlKey } from '@dschmidt/provider-google'

new ComputeBackendBucketSignedUrlKey(scope: Construct, id: string, config: ComputeBackendBucketSignedUrlKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig">ComputeBackendBucketSignedUrlKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig">ComputeBackendBucketSignedUrlKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeBackendBucketSignedUrlKeyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts">ComputeBackendBucketSignedUrlKeyTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.isConstruct"></a>

```typescript
import { ComputeBackendBucketSignedUrlKey } from '@dschmidt/provider-google'

ComputeBackendBucketSignedUrlKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeoutsOutputReference">ComputeBackendBucketSignedUrlKeyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.backendBucketInput">backendBucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.keyValueInput">keyValueInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts">ComputeBackendBucketSignedUrlKeyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.backendBucket">backendBucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.keyValue">keyValue</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeBackendBucketSignedUrlKeyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeoutsOutputReference">ComputeBackendBucketSignedUrlKeyTimeoutsOutputReference</a>

---

##### `backendBucketInput`<sup>Optional</sup> <a name="backendBucketInput" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.backendBucketInput"></a>

```typescript
public readonly backendBucketInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `keyValueInput`<sup>Optional</sup> <a name="keyValueInput" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.keyValueInput"></a>

```typescript
public readonly keyValueInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeBackendBucketSignedUrlKeyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts">ComputeBackendBucketSignedUrlKeyTimeouts</a>

---

##### `backendBucket`<sup>Required</sup> <a name="backendBucket" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.backendBucket"></a>

```typescript
public readonly backendBucket: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `keyValue`<sup>Required</sup> <a name="keyValue" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.keyValue"></a>

```typescript
public readonly keyValue: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeBackendService <a name="ComputeBackendService" id="@dschmidt/provider-google.ComputeBackendService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service google_compute_backend_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeBackendService.Initializer"></a>

```typescript
import { ComputeBackendService } from '@dschmidt/provider-google'

new ComputeBackendService(scope: Construct, id: string, config: ComputeBackendServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig">ComputeBackendServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeBackendService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeBackendService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceConfig">ComputeBackendServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.putBackend">putBackend</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.putCdnPolicy">putCdnPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.putCircuitBreakers">putCircuitBreakers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.putConsistentHash">putConsistentHash</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.putIap">putIap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.putLogConfig">putLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.putOutlierDetection">putOutlierDetection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.putSecuritySettings">putSecuritySettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetAffinityCookieTtlSec">resetAffinityCookieTtlSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetBackend">resetBackend</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetCdnPolicy">resetCdnPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetCircuitBreakers">resetCircuitBreakers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetConnectionDrainingTimeoutSec">resetConnectionDrainingTimeoutSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetConsistentHash">resetConsistentHash</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetCustomRequestHeaders">resetCustomRequestHeaders</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetCustomResponseHeaders">resetCustomResponseHeaders</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetEnableCdn">resetEnableCdn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetHealthChecks">resetHealthChecks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetIap">resetIap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetLoadBalancingScheme">resetLoadBalancingScheme</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetLocalityLbPolicy">resetLocalityLbPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetLogConfig">resetLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetOutlierDetection">resetOutlierDetection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetPortName">resetPortName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetProtocol">resetProtocol</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetSecurityPolicy">resetSecurityPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetSecuritySettings">resetSecuritySettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetSessionAffinity">resetSessionAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.resetTimeoutSec">resetTimeoutSec</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeBackendService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeBackendService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeBackendService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeBackendService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeBackendService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeBackendService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeBackendService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeBackendService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeBackendService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeBackendService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeBackendService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeBackendService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeBackendService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeBackendService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeBackendService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeBackendService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeBackendService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeBackendService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBackend` <a name="putBackend" id="@dschmidt/provider-google.ComputeBackendService.putBackend"></a>

```typescript
public putBackend(value: IResolvable | ComputeBackendServiceBackend[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.putBackend.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendServiceBackend">ComputeBackendServiceBackend</a>[]

---

##### `putCdnPolicy` <a name="putCdnPolicy" id="@dschmidt/provider-google.ComputeBackendService.putCdnPolicy"></a>

```typescript
public putCdnPolicy(value: ComputeBackendServiceCdnPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.putCdnPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy">ComputeBackendServiceCdnPolicy</a>

---

##### `putCircuitBreakers` <a name="putCircuitBreakers" id="@dschmidt/provider-google.ComputeBackendService.putCircuitBreakers"></a>

```typescript
public putCircuitBreakers(value: ComputeBackendServiceCircuitBreakers): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.putCircuitBreakers.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers">ComputeBackendServiceCircuitBreakers</a>

---

##### `putConsistentHash` <a name="putConsistentHash" id="@dschmidt/provider-google.ComputeBackendService.putConsistentHash"></a>

```typescript
public putConsistentHash(value: ComputeBackendServiceConsistentHash): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.putConsistentHash.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHash">ComputeBackendServiceConsistentHash</a>

---

##### `putIap` <a name="putIap" id="@dschmidt/provider-google.ComputeBackendService.putIap"></a>

```typescript
public putIap(value: ComputeBackendServiceIap): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.putIap.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceIap">ComputeBackendServiceIap</a>

---

##### `putLogConfig` <a name="putLogConfig" id="@dschmidt/provider-google.ComputeBackendService.putLogConfig"></a>

```typescript
public putLogConfig(value: ComputeBackendServiceLogConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.putLogConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceLogConfig">ComputeBackendServiceLogConfig</a>

---

##### `putOutlierDetection` <a name="putOutlierDetection" id="@dschmidt/provider-google.ComputeBackendService.putOutlierDetection"></a>

```typescript
public putOutlierDetection(value: ComputeBackendServiceOutlierDetection): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.putOutlierDetection.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection">ComputeBackendServiceOutlierDetection</a>

---

##### `putSecuritySettings` <a name="putSecuritySettings" id="@dschmidt/provider-google.ComputeBackendService.putSecuritySettings"></a>

```typescript
public putSecuritySettings(value: ComputeBackendServiceSecuritySettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.putSecuritySettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceSecuritySettings">ComputeBackendServiceSecuritySettings</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeBackendService.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeBackendServiceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendService.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceTimeouts">ComputeBackendServiceTimeouts</a>

---

##### `resetAffinityCookieTtlSec` <a name="resetAffinityCookieTtlSec" id="@dschmidt/provider-google.ComputeBackendService.resetAffinityCookieTtlSec"></a>

```typescript
public resetAffinityCookieTtlSec(): void
```

##### `resetBackend` <a name="resetBackend" id="@dschmidt/provider-google.ComputeBackendService.resetBackend"></a>

```typescript
public resetBackend(): void
```

##### `resetCdnPolicy` <a name="resetCdnPolicy" id="@dschmidt/provider-google.ComputeBackendService.resetCdnPolicy"></a>

```typescript
public resetCdnPolicy(): void
```

##### `resetCircuitBreakers` <a name="resetCircuitBreakers" id="@dschmidt/provider-google.ComputeBackendService.resetCircuitBreakers"></a>

```typescript
public resetCircuitBreakers(): void
```

##### `resetConnectionDrainingTimeoutSec` <a name="resetConnectionDrainingTimeoutSec" id="@dschmidt/provider-google.ComputeBackendService.resetConnectionDrainingTimeoutSec"></a>

```typescript
public resetConnectionDrainingTimeoutSec(): void
```

##### `resetConsistentHash` <a name="resetConsistentHash" id="@dschmidt/provider-google.ComputeBackendService.resetConsistentHash"></a>

```typescript
public resetConsistentHash(): void
```

##### `resetCustomRequestHeaders` <a name="resetCustomRequestHeaders" id="@dschmidt/provider-google.ComputeBackendService.resetCustomRequestHeaders"></a>

```typescript
public resetCustomRequestHeaders(): void
```

##### `resetCustomResponseHeaders` <a name="resetCustomResponseHeaders" id="@dschmidt/provider-google.ComputeBackendService.resetCustomResponseHeaders"></a>

```typescript
public resetCustomResponseHeaders(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeBackendService.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEnableCdn` <a name="resetEnableCdn" id="@dschmidt/provider-google.ComputeBackendService.resetEnableCdn"></a>

```typescript
public resetEnableCdn(): void
```

##### `resetHealthChecks` <a name="resetHealthChecks" id="@dschmidt/provider-google.ComputeBackendService.resetHealthChecks"></a>

```typescript
public resetHealthChecks(): void
```

##### `resetIap` <a name="resetIap" id="@dschmidt/provider-google.ComputeBackendService.resetIap"></a>

```typescript
public resetIap(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeBackendService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLoadBalancingScheme` <a name="resetLoadBalancingScheme" id="@dschmidt/provider-google.ComputeBackendService.resetLoadBalancingScheme"></a>

```typescript
public resetLoadBalancingScheme(): void
```

##### `resetLocalityLbPolicy` <a name="resetLocalityLbPolicy" id="@dschmidt/provider-google.ComputeBackendService.resetLocalityLbPolicy"></a>

```typescript
public resetLocalityLbPolicy(): void
```

##### `resetLogConfig` <a name="resetLogConfig" id="@dschmidt/provider-google.ComputeBackendService.resetLogConfig"></a>

```typescript
public resetLogConfig(): void
```

##### `resetOutlierDetection` <a name="resetOutlierDetection" id="@dschmidt/provider-google.ComputeBackendService.resetOutlierDetection"></a>

```typescript
public resetOutlierDetection(): void
```

##### `resetPortName` <a name="resetPortName" id="@dschmidt/provider-google.ComputeBackendService.resetPortName"></a>

```typescript
public resetPortName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeBackendService.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProtocol` <a name="resetProtocol" id="@dschmidt/provider-google.ComputeBackendService.resetProtocol"></a>

```typescript
public resetProtocol(): void
```

##### `resetSecurityPolicy` <a name="resetSecurityPolicy" id="@dschmidt/provider-google.ComputeBackendService.resetSecurityPolicy"></a>

```typescript
public resetSecurityPolicy(): void
```

##### `resetSecuritySettings` <a name="resetSecuritySettings" id="@dschmidt/provider-google.ComputeBackendService.resetSecuritySettings"></a>

```typescript
public resetSecuritySettings(): void
```

##### `resetSessionAffinity` <a name="resetSessionAffinity" id="@dschmidt/provider-google.ComputeBackendService.resetSessionAffinity"></a>

```typescript
public resetSessionAffinity(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeBackendService.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTimeoutSec` <a name="resetTimeoutSec" id="@dschmidt/provider-google.ComputeBackendService.resetTimeoutSec"></a>

```typescript
public resetTimeoutSec(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeBackendService.isConstruct"></a>

```typescript
import { ComputeBackendService } from '@dschmidt/provider-google'

ComputeBackendService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeBackendService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.backend">backend</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackendList">ComputeBackendServiceBackendList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.cdnPolicy">cdnPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyOutputReference">ComputeBackendServiceCdnPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.circuitBreakers">circuitBreakers</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakersOutputReference">ComputeBackendServiceCircuitBreakersOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.consistentHash">consistentHash</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashOutputReference">ComputeBackendServiceConsistentHashOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.iap">iap</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceIapOutputReference">ComputeBackendServiceIapOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceLogConfigOutputReference">ComputeBackendServiceLogConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.outlierDetection">outlierDetection</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionOutputReference">ComputeBackendServiceOutlierDetectionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.securitySettings">securitySettings</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSecuritySettingsOutputReference">ComputeBackendServiceSecuritySettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceTimeoutsOutputReference">ComputeBackendServiceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.affinityCookieTtlSecInput">affinityCookieTtlSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.backendInput">backendInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeBackendServiceBackend">ComputeBackendServiceBackend</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.cdnPolicyInput">cdnPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy">ComputeBackendServiceCdnPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.circuitBreakersInput">circuitBreakersInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers">ComputeBackendServiceCircuitBreakers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.connectionDrainingTimeoutSecInput">connectionDrainingTimeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.consistentHashInput">consistentHashInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHash">ComputeBackendServiceConsistentHash</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.customRequestHeadersInput">customRequestHeadersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.customResponseHeadersInput">customResponseHeadersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.enableCdnInput">enableCdnInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.healthChecksInput">healthChecksInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.iapInput">iapInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceIap">ComputeBackendServiceIap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.loadBalancingSchemeInput">loadBalancingSchemeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.localityLbPolicyInput">localityLbPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.logConfigInput">logConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceLogConfig">ComputeBackendServiceLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.outlierDetectionInput">outlierDetectionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection">ComputeBackendServiceOutlierDetection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.portNameInput">portNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.protocolInput">protocolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.securityPolicyInput">securityPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.securitySettingsInput">securitySettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSecuritySettings">ComputeBackendServiceSecuritySettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.sessionAffinityInput">sessionAffinityInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.timeoutSecInput">timeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeBackendServiceTimeouts">ComputeBackendServiceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.affinityCookieTtlSec">affinityCookieTtlSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.connectionDrainingTimeoutSec">connectionDrainingTimeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.customRequestHeaders">customRequestHeaders</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.customResponseHeaders">customResponseHeaders</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.enableCdn">enableCdn</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.healthChecks">healthChecks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.localityLbPolicy">localityLbPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.portName">portName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.protocol">protocol</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.securityPolicy">securityPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.sessionAffinity">sessionAffinity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeBackendService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeBackendService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeBackendService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeBackendService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeBackendService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeBackendService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeBackendService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeBackendService.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeBackendService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeBackendService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeBackendService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeBackendService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeBackendService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeBackendService.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `backend`<sup>Required</sup> <a name="backend" id="@dschmidt/provider-google.ComputeBackendService.property.backend"></a>

```typescript
public readonly backend: ComputeBackendServiceBackendList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceBackendList">ComputeBackendServiceBackendList</a>

---

##### `cdnPolicy`<sup>Required</sup> <a name="cdnPolicy" id="@dschmidt/provider-google.ComputeBackendService.property.cdnPolicy"></a>

```typescript
public readonly cdnPolicy: ComputeBackendServiceCdnPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyOutputReference">ComputeBackendServiceCdnPolicyOutputReference</a>

---

##### `circuitBreakers`<sup>Required</sup> <a name="circuitBreakers" id="@dschmidt/provider-google.ComputeBackendService.property.circuitBreakers"></a>

```typescript
public readonly circuitBreakers: ComputeBackendServiceCircuitBreakersOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakersOutputReference">ComputeBackendServiceCircuitBreakersOutputReference</a>

---

##### `consistentHash`<sup>Required</sup> <a name="consistentHash" id="@dschmidt/provider-google.ComputeBackendService.property.consistentHash"></a>

```typescript
public readonly consistentHash: ComputeBackendServiceConsistentHashOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashOutputReference">ComputeBackendServiceConsistentHashOutputReference</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeBackendService.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeBackendService.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `iap`<sup>Required</sup> <a name="iap" id="@dschmidt/provider-google.ComputeBackendService.property.iap"></a>

```typescript
public readonly iap: ComputeBackendServiceIapOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceIapOutputReference">ComputeBackendServiceIapOutputReference</a>

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeBackendService.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeBackendServiceLogConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceLogConfigOutputReference">ComputeBackendServiceLogConfigOutputReference</a>

---

##### `outlierDetection`<sup>Required</sup> <a name="outlierDetection" id="@dschmidt/provider-google.ComputeBackendService.property.outlierDetection"></a>

```typescript
public readonly outlierDetection: ComputeBackendServiceOutlierDetectionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionOutputReference">ComputeBackendServiceOutlierDetectionOutputReference</a>

---

##### `securitySettings`<sup>Required</sup> <a name="securitySettings" id="@dschmidt/provider-google.ComputeBackendService.property.securitySettings"></a>

```typescript
public readonly securitySettings: ComputeBackendServiceSecuritySettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceSecuritySettingsOutputReference">ComputeBackendServiceSecuritySettingsOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeBackendService.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeBackendService.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeBackendServiceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceTimeoutsOutputReference">ComputeBackendServiceTimeoutsOutputReference</a>

---

##### `affinityCookieTtlSecInput`<sup>Optional</sup> <a name="affinityCookieTtlSecInput" id="@dschmidt/provider-google.ComputeBackendService.property.affinityCookieTtlSecInput"></a>

```typescript
public readonly affinityCookieTtlSecInput: number;
```

- *Type:* number

---

##### `backendInput`<sup>Optional</sup> <a name="backendInput" id="@dschmidt/provider-google.ComputeBackendService.property.backendInput"></a>

```typescript
public readonly backendInput: IResolvable | ComputeBackendServiceBackend[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendServiceBackend">ComputeBackendServiceBackend</a>[]

---

##### `cdnPolicyInput`<sup>Optional</sup> <a name="cdnPolicyInput" id="@dschmidt/provider-google.ComputeBackendService.property.cdnPolicyInput"></a>

```typescript
public readonly cdnPolicyInput: ComputeBackendServiceCdnPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy">ComputeBackendServiceCdnPolicy</a>

---

##### `circuitBreakersInput`<sup>Optional</sup> <a name="circuitBreakersInput" id="@dschmidt/provider-google.ComputeBackendService.property.circuitBreakersInput"></a>

```typescript
public readonly circuitBreakersInput: ComputeBackendServiceCircuitBreakers;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers">ComputeBackendServiceCircuitBreakers</a>

---

##### `connectionDrainingTimeoutSecInput`<sup>Optional</sup> <a name="connectionDrainingTimeoutSecInput" id="@dschmidt/provider-google.ComputeBackendService.property.connectionDrainingTimeoutSecInput"></a>

```typescript
public readonly connectionDrainingTimeoutSecInput: number;
```

- *Type:* number

---

##### `consistentHashInput`<sup>Optional</sup> <a name="consistentHashInput" id="@dschmidt/provider-google.ComputeBackendService.property.consistentHashInput"></a>

```typescript
public readonly consistentHashInput: ComputeBackendServiceConsistentHash;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHash">ComputeBackendServiceConsistentHash</a>

---

##### `customRequestHeadersInput`<sup>Optional</sup> <a name="customRequestHeadersInput" id="@dschmidt/provider-google.ComputeBackendService.property.customRequestHeadersInput"></a>

```typescript
public readonly customRequestHeadersInput: string[];
```

- *Type:* string[]

---

##### `customResponseHeadersInput`<sup>Optional</sup> <a name="customResponseHeadersInput" id="@dschmidt/provider-google.ComputeBackendService.property.customResponseHeadersInput"></a>

```typescript
public readonly customResponseHeadersInput: string[];
```

- *Type:* string[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeBackendService.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `enableCdnInput`<sup>Optional</sup> <a name="enableCdnInput" id="@dschmidt/provider-google.ComputeBackendService.property.enableCdnInput"></a>

```typescript
public readonly enableCdnInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `healthChecksInput`<sup>Optional</sup> <a name="healthChecksInput" id="@dschmidt/provider-google.ComputeBackendService.property.healthChecksInput"></a>

```typescript
public readonly healthChecksInput: string[];
```

- *Type:* string[]

---

##### `iapInput`<sup>Optional</sup> <a name="iapInput" id="@dschmidt/provider-google.ComputeBackendService.property.iapInput"></a>

```typescript
public readonly iapInput: ComputeBackendServiceIap;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceIap">ComputeBackendServiceIap</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeBackendService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `loadBalancingSchemeInput`<sup>Optional</sup> <a name="loadBalancingSchemeInput" id="@dschmidt/provider-google.ComputeBackendService.property.loadBalancingSchemeInput"></a>

```typescript
public readonly loadBalancingSchemeInput: string;
```

- *Type:* string

---

##### `localityLbPolicyInput`<sup>Optional</sup> <a name="localityLbPolicyInput" id="@dschmidt/provider-google.ComputeBackendService.property.localityLbPolicyInput"></a>

```typescript
public readonly localityLbPolicyInput: string;
```

- *Type:* string

---

##### `logConfigInput`<sup>Optional</sup> <a name="logConfigInput" id="@dschmidt/provider-google.ComputeBackendService.property.logConfigInput"></a>

```typescript
public readonly logConfigInput: ComputeBackendServiceLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceLogConfig">ComputeBackendServiceLogConfig</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeBackendService.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `outlierDetectionInput`<sup>Optional</sup> <a name="outlierDetectionInput" id="@dschmidt/provider-google.ComputeBackendService.property.outlierDetectionInput"></a>

```typescript
public readonly outlierDetectionInput: ComputeBackendServiceOutlierDetection;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection">ComputeBackendServiceOutlierDetection</a>

---

##### `portNameInput`<sup>Optional</sup> <a name="portNameInput" id="@dschmidt/provider-google.ComputeBackendService.property.portNameInput"></a>

```typescript
public readonly portNameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeBackendService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `protocolInput`<sup>Optional</sup> <a name="protocolInput" id="@dschmidt/provider-google.ComputeBackendService.property.protocolInput"></a>

```typescript
public readonly protocolInput: string;
```

- *Type:* string

---

##### `securityPolicyInput`<sup>Optional</sup> <a name="securityPolicyInput" id="@dschmidt/provider-google.ComputeBackendService.property.securityPolicyInput"></a>

```typescript
public readonly securityPolicyInput: string;
```

- *Type:* string

---

##### `securitySettingsInput`<sup>Optional</sup> <a name="securitySettingsInput" id="@dschmidt/provider-google.ComputeBackendService.property.securitySettingsInput"></a>

```typescript
public readonly securitySettingsInput: ComputeBackendServiceSecuritySettings;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceSecuritySettings">ComputeBackendServiceSecuritySettings</a>

---

##### `sessionAffinityInput`<sup>Optional</sup> <a name="sessionAffinityInput" id="@dschmidt/provider-google.ComputeBackendService.property.sessionAffinityInput"></a>

```typescript
public readonly sessionAffinityInput: string;
```

- *Type:* string

---

##### `timeoutSecInput`<sup>Optional</sup> <a name="timeoutSecInput" id="@dschmidt/provider-google.ComputeBackendService.property.timeoutSecInput"></a>

```typescript
public readonly timeoutSecInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeBackendService.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeBackendServiceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendServiceTimeouts">ComputeBackendServiceTimeouts</a>

---

##### `affinityCookieTtlSec`<sup>Required</sup> <a name="affinityCookieTtlSec" id="@dschmidt/provider-google.ComputeBackendService.property.affinityCookieTtlSec"></a>

```typescript
public readonly affinityCookieTtlSec: number;
```

- *Type:* number

---

##### `connectionDrainingTimeoutSec`<sup>Required</sup> <a name="connectionDrainingTimeoutSec" id="@dschmidt/provider-google.ComputeBackendService.property.connectionDrainingTimeoutSec"></a>

```typescript
public readonly connectionDrainingTimeoutSec: number;
```

- *Type:* number

---

##### `customRequestHeaders`<sup>Required</sup> <a name="customRequestHeaders" id="@dschmidt/provider-google.ComputeBackendService.property.customRequestHeaders"></a>

```typescript
public readonly customRequestHeaders: string[];
```

- *Type:* string[]

---

##### `customResponseHeaders`<sup>Required</sup> <a name="customResponseHeaders" id="@dschmidt/provider-google.ComputeBackendService.property.customResponseHeaders"></a>

```typescript
public readonly customResponseHeaders: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeBackendService.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `enableCdn`<sup>Required</sup> <a name="enableCdn" id="@dschmidt/provider-google.ComputeBackendService.property.enableCdn"></a>

```typescript
public readonly enableCdn: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `healthChecks`<sup>Required</sup> <a name="healthChecks" id="@dschmidt/provider-google.ComputeBackendService.property.healthChecks"></a>

```typescript
public readonly healthChecks: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `loadBalancingScheme`<sup>Required</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.ComputeBackendService.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

---

##### `localityLbPolicy`<sup>Required</sup> <a name="localityLbPolicy" id="@dschmidt/provider-google.ComputeBackendService.property.localityLbPolicy"></a>

```typescript
public readonly localityLbPolicy: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeBackendService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `portName`<sup>Required</sup> <a name="portName" id="@dschmidt/provider-google.ComputeBackendService.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeBackendService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `protocol`<sup>Required</sup> <a name="protocol" id="@dschmidt/provider-google.ComputeBackendService.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

---

##### `securityPolicy`<sup>Required</sup> <a name="securityPolicy" id="@dschmidt/provider-google.ComputeBackendService.property.securityPolicy"></a>

```typescript
public readonly securityPolicy: string;
```

- *Type:* string

---

##### `sessionAffinity`<sup>Required</sup> <a name="sessionAffinity" id="@dschmidt/provider-google.ComputeBackendService.property.sessionAffinity"></a>

```typescript
public readonly sessionAffinity: string;
```

- *Type:* string

---

##### `timeoutSec`<sup>Required</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeBackendService.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeBackendService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeBackendServiceSignedUrlKey <a name="ComputeBackendServiceSignedUrlKey" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key google_compute_backend_service_signed_url_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.Initializer"></a>

```typescript
import { ComputeBackendServiceSignedUrlKey } from '@dschmidt/provider-google'

new ComputeBackendServiceSignedUrlKey(scope: Construct, id: string, config: ComputeBackendServiceSignedUrlKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig">ComputeBackendServiceSignedUrlKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig">ComputeBackendServiceSignedUrlKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeBackendServiceSignedUrlKeyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts">ComputeBackendServiceSignedUrlKeyTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.isConstruct"></a>

```typescript
import { ComputeBackendServiceSignedUrlKey } from '@dschmidt/provider-google'

ComputeBackendServiceSignedUrlKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeoutsOutputReference">ComputeBackendServiceSignedUrlKeyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.backendServiceInput">backendServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.keyValueInput">keyValueInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts">ComputeBackendServiceSignedUrlKeyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.backendService">backendService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.keyValue">keyValue</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeBackendServiceSignedUrlKeyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeoutsOutputReference">ComputeBackendServiceSignedUrlKeyTimeoutsOutputReference</a>

---

##### `backendServiceInput`<sup>Optional</sup> <a name="backendServiceInput" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.backendServiceInput"></a>

```typescript
public readonly backendServiceInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `keyValueInput`<sup>Optional</sup> <a name="keyValueInput" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.keyValueInput"></a>

```typescript
public readonly keyValueInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeBackendServiceSignedUrlKeyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts">ComputeBackendServiceSignedUrlKeyTimeouts</a>

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `keyValue`<sup>Required</sup> <a name="keyValue" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.keyValue"></a>

```typescript
public readonly keyValue: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeDisk <a name="ComputeDisk" id="@dschmidt/provider-google.ComputeDisk"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_disk google_compute_disk}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeDisk.Initializer"></a>

```typescript
import { ComputeDisk } from '@dschmidt/provider-google'

new ComputeDisk(scope: Construct, id: string, config: ComputeDiskConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskConfig">ComputeDiskConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeDisk.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDisk.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeDisk.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskConfig">ComputeDiskConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.putDiskEncryptionKey">putDiskEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.putSourceImageEncryptionKey">putSourceImageEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.putSourceSnapshotEncryptionKey">putSourceSnapshotEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetDiskEncryptionKey">resetDiskEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetImage">resetImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetPhysicalBlockSizeBytes">resetPhysicalBlockSizeBytes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetProvisionedIops">resetProvisionedIops</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetSize">resetSize</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetSnapshot">resetSnapshot</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetSourceImageEncryptionKey">resetSourceImageEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetSourceSnapshotEncryptionKey">resetSourceSnapshotEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetType">resetType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeDisk.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeDisk.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeDisk.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDisk.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeDisk.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeDisk.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeDisk.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeDisk.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeDisk.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeDisk.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeDisk.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeDisk.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeDisk.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeDisk.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeDisk.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeDisk.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeDisk.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeDisk.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeDisk.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDisk.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDiskEncryptionKey` <a name="putDiskEncryptionKey" id="@dschmidt/provider-google.ComputeDisk.putDiskEncryptionKey"></a>

```typescript
public putDiskEncryptionKey(value: ComputeDiskDiskEncryptionKey): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDisk.putDiskEncryptionKey.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKey">ComputeDiskDiskEncryptionKey</a>

---

##### `putSourceImageEncryptionKey` <a name="putSourceImageEncryptionKey" id="@dschmidt/provider-google.ComputeDisk.putSourceImageEncryptionKey"></a>

```typescript
public putSourceImageEncryptionKey(value: ComputeDiskSourceImageEncryptionKey): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDisk.putSourceImageEncryptionKey.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey">ComputeDiskSourceImageEncryptionKey</a>

---

##### `putSourceSnapshotEncryptionKey` <a name="putSourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeDisk.putSourceSnapshotEncryptionKey"></a>

```typescript
public putSourceSnapshotEncryptionKey(value: ComputeDiskSourceSnapshotEncryptionKey): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDisk.putSourceSnapshotEncryptionKey.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey">ComputeDiskSourceSnapshotEncryptionKey</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeDisk.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeDiskTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDisk.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskTimeouts">ComputeDiskTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeDisk.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDiskEncryptionKey` <a name="resetDiskEncryptionKey" id="@dschmidt/provider-google.ComputeDisk.resetDiskEncryptionKey"></a>

```typescript
public resetDiskEncryptionKey(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeDisk.resetId"></a>

```typescript
public resetId(): void
```

##### `resetImage` <a name="resetImage" id="@dschmidt/provider-google.ComputeDisk.resetImage"></a>

```typescript
public resetImage(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComputeDisk.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetPhysicalBlockSizeBytes` <a name="resetPhysicalBlockSizeBytes" id="@dschmidt/provider-google.ComputeDisk.resetPhysicalBlockSizeBytes"></a>

```typescript
public resetPhysicalBlockSizeBytes(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeDisk.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProvisionedIops` <a name="resetProvisionedIops" id="@dschmidt/provider-google.ComputeDisk.resetProvisionedIops"></a>

```typescript
public resetProvisionedIops(): void
```

##### `resetSize` <a name="resetSize" id="@dschmidt/provider-google.ComputeDisk.resetSize"></a>

```typescript
public resetSize(): void
```

##### `resetSnapshot` <a name="resetSnapshot" id="@dschmidt/provider-google.ComputeDisk.resetSnapshot"></a>

```typescript
public resetSnapshot(): void
```

##### `resetSourceImageEncryptionKey` <a name="resetSourceImageEncryptionKey" id="@dschmidt/provider-google.ComputeDisk.resetSourceImageEncryptionKey"></a>

```typescript
public resetSourceImageEncryptionKey(): void
```

##### `resetSourceSnapshotEncryptionKey` <a name="resetSourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeDisk.resetSourceSnapshotEncryptionKey"></a>

```typescript
public resetSourceSnapshotEncryptionKey(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeDisk.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.ComputeDisk.resetType"></a>

```typescript
public resetType(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeDisk.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeDisk.isConstruct"></a>

```typescript
import { ComputeDisk } from '@dschmidt/provider-google'

ComputeDisk.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeDisk.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.diskEncryptionKey">diskEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKeyOutputReference">ComputeDiskDiskEncryptionKeyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.lastAttachTimestamp">lastAttachTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.lastDetachTimestamp">lastDetachTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.sourceImageEncryptionKey">sourceImageEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKeyOutputReference">ComputeDiskSourceImageEncryptionKeyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.sourceImageId">sourceImageId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.sourceSnapshotEncryptionKey">sourceSnapshotEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKeyOutputReference">ComputeDiskSourceSnapshotEncryptionKeyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.sourceSnapshotId">sourceSnapshotId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskTimeoutsOutputReference">ComputeDiskTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.users">users</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.diskEncryptionKeyInput">diskEncryptionKeyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKey">ComputeDiskDiskEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.imageInput">imageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.physicalBlockSizeBytesInput">physicalBlockSizeBytesInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.provisionedIopsInput">provisionedIopsInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.sizeInput">sizeInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.snapshotInput">snapshotInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.sourceImageEncryptionKeyInput">sourceImageEncryptionKeyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey">ComputeDiskSourceImageEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.sourceSnapshotEncryptionKeyInput">sourceSnapshotEncryptionKeyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey">ComputeDiskSourceSnapshotEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeDiskTimeouts">ComputeDiskTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.image">image</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.physicalBlockSizeBytes">physicalBlockSizeBytes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.provisionedIops">provisionedIops</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.snapshot">snapshot</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeDisk.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeDisk.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeDisk.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeDisk.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeDisk.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeDisk.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeDisk.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDisk.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDisk.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDisk.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDisk.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDisk.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDisk.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDisk.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeDisk.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `diskEncryptionKey`<sup>Required</sup> <a name="diskEncryptionKey" id="@dschmidt/provider-google.ComputeDisk.property.diskEncryptionKey"></a>

```typescript
public readonly diskEncryptionKey: ComputeDiskDiskEncryptionKeyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKeyOutputReference">ComputeDiskDiskEncryptionKeyOutputReference</a>

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.ComputeDisk.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `lastAttachTimestamp`<sup>Required</sup> <a name="lastAttachTimestamp" id="@dschmidt/provider-google.ComputeDisk.property.lastAttachTimestamp"></a>

```typescript
public readonly lastAttachTimestamp: string;
```

- *Type:* string

---

##### `lastDetachTimestamp`<sup>Required</sup> <a name="lastDetachTimestamp" id="@dschmidt/provider-google.ComputeDisk.property.lastDetachTimestamp"></a>

```typescript
public readonly lastDetachTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeDisk.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `sourceImageEncryptionKey`<sup>Required</sup> <a name="sourceImageEncryptionKey" id="@dschmidt/provider-google.ComputeDisk.property.sourceImageEncryptionKey"></a>

```typescript
public readonly sourceImageEncryptionKey: ComputeDiskSourceImageEncryptionKeyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKeyOutputReference">ComputeDiskSourceImageEncryptionKeyOutputReference</a>

---

##### `sourceImageId`<sup>Required</sup> <a name="sourceImageId" id="@dschmidt/provider-google.ComputeDisk.property.sourceImageId"></a>

```typescript
public readonly sourceImageId: string;
```

- *Type:* string

---

##### `sourceSnapshotEncryptionKey`<sup>Required</sup> <a name="sourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeDisk.property.sourceSnapshotEncryptionKey"></a>

```typescript
public readonly sourceSnapshotEncryptionKey: ComputeDiskSourceSnapshotEncryptionKeyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKeyOutputReference">ComputeDiskSourceSnapshotEncryptionKeyOutputReference</a>

---

##### `sourceSnapshotId`<sup>Required</sup> <a name="sourceSnapshotId" id="@dschmidt/provider-google.ComputeDisk.property.sourceSnapshotId"></a>

```typescript
public readonly sourceSnapshotId: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeDisk.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeDiskTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskTimeoutsOutputReference">ComputeDiskTimeoutsOutputReference</a>

---

##### `users`<sup>Required</sup> <a name="users" id="@dschmidt/provider-google.ComputeDisk.property.users"></a>

```typescript
public readonly users: string[];
```

- *Type:* string[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeDisk.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `diskEncryptionKeyInput`<sup>Optional</sup> <a name="diskEncryptionKeyInput" id="@dschmidt/provider-google.ComputeDisk.property.diskEncryptionKeyInput"></a>

```typescript
public readonly diskEncryptionKeyInput: ComputeDiskDiskEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKey">ComputeDiskDiskEncryptionKey</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeDisk.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `imageInput`<sup>Optional</sup> <a name="imageInput" id="@dschmidt/provider-google.ComputeDisk.property.imageInput"></a>

```typescript
public readonly imageInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComputeDisk.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeDisk.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `physicalBlockSizeBytesInput`<sup>Optional</sup> <a name="physicalBlockSizeBytesInput" id="@dschmidt/provider-google.ComputeDisk.property.physicalBlockSizeBytesInput"></a>

```typescript
public readonly physicalBlockSizeBytesInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeDisk.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `provisionedIopsInput`<sup>Optional</sup> <a name="provisionedIopsInput" id="@dschmidt/provider-google.ComputeDisk.property.provisionedIopsInput"></a>

```typescript
public readonly provisionedIopsInput: number;
```

- *Type:* number

---

##### `sizeInput`<sup>Optional</sup> <a name="sizeInput" id="@dschmidt/provider-google.ComputeDisk.property.sizeInput"></a>

```typescript
public readonly sizeInput: number;
```

- *Type:* number

---

##### `snapshotInput`<sup>Optional</sup> <a name="snapshotInput" id="@dschmidt/provider-google.ComputeDisk.property.snapshotInput"></a>

```typescript
public readonly snapshotInput: string;
```

- *Type:* string

---

##### `sourceImageEncryptionKeyInput`<sup>Optional</sup> <a name="sourceImageEncryptionKeyInput" id="@dschmidt/provider-google.ComputeDisk.property.sourceImageEncryptionKeyInput"></a>

```typescript
public readonly sourceImageEncryptionKeyInput: ComputeDiskSourceImageEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey">ComputeDiskSourceImageEncryptionKey</a>

---

##### `sourceSnapshotEncryptionKeyInput`<sup>Optional</sup> <a name="sourceSnapshotEncryptionKeyInput" id="@dschmidt/provider-google.ComputeDisk.property.sourceSnapshotEncryptionKeyInput"></a>

```typescript
public readonly sourceSnapshotEncryptionKeyInput: ComputeDiskSourceSnapshotEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey">ComputeDiskSourceSnapshotEncryptionKey</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeDisk.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeDiskTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeDiskTimeouts">ComputeDiskTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.ComputeDisk.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeDisk.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeDisk.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDisk.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.ComputeDisk.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComputeDisk.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDisk.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `physicalBlockSizeBytes`<sup>Required</sup> <a name="physicalBlockSizeBytes" id="@dschmidt/provider-google.ComputeDisk.property.physicalBlockSizeBytes"></a>

```typescript
public readonly physicalBlockSizeBytes: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeDisk.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `provisionedIops`<sup>Required</sup> <a name="provisionedIops" id="@dschmidt/provider-google.ComputeDisk.property.provisionedIops"></a>

```typescript
public readonly provisionedIops: number;
```

- *Type:* number

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.ComputeDisk.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `snapshot`<sup>Required</sup> <a name="snapshot" id="@dschmidt/provider-google.ComputeDisk.property.snapshot"></a>

```typescript
public readonly snapshot: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeDisk.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDisk.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDisk.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeDisk.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeDiskIamBinding <a name="ComputeDiskIamBinding" id="@dschmidt/provider-google.ComputeDiskIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding google_compute_disk_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeDiskIamBinding.Initializer"></a>

```typescript
import { ComputeDiskIamBinding } from '@dschmidt/provider-google'

new ComputeDiskIamBinding(scope: Construct, id: string, config: ComputeDiskIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig">ComputeDiskIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeDiskIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeDiskIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig">ComputeDiskIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeDiskIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeDiskIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeDiskIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDiskIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeDiskIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeDiskIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeDiskIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeDiskIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeDiskIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeDiskIamBinding.putCondition"></a>

```typescript
public putCondition(value: ComputeDiskIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDiskIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamBindingCondition">ComputeDiskIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeDiskIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeDiskIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeDiskIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeDiskIamBinding.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeDiskIamBinding.isConstruct"></a>

```typescript
import { ComputeDiskIamBinding } from '@dschmidt/provider-google'

ComputeDiskIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeDiskIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConditionOutputReference">ComputeDiskIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingCondition">ComputeDiskIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.condition"></a>

```typescript
public readonly condition: ComputeDiskIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamBindingConditionOutputReference">ComputeDiskIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeDiskIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamBindingCondition">ComputeDiskIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeDiskIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeDiskIamMember <a name="ComputeDiskIamMember" id="@dschmidt/provider-google.ComputeDiskIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member google_compute_disk_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeDiskIamMember.Initializer"></a>

```typescript
import { ComputeDiskIamMember } from '@dschmidt/provider-google'

new ComputeDiskIamMember(scope: Construct, id: string, config: ComputeDiskIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig">ComputeDiskIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeDiskIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeDiskIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig">ComputeDiskIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeDiskIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeDiskIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeDiskIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDiskIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeDiskIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeDiskIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeDiskIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeDiskIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeDiskIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeDiskIamMember.putCondition"></a>

```typescript
public putCondition(value: ComputeDiskIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDiskIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamMemberCondition">ComputeDiskIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeDiskIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeDiskIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeDiskIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeDiskIamMember.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeDiskIamMember.isConstruct"></a>

```typescript
import { ComputeDiskIamMember } from '@dschmidt/provider-google'

ComputeDiskIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeDiskIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConditionOutputReference">ComputeDiskIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberCondition">ComputeDiskIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeDiskIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeDiskIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeDiskIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeDiskIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeDiskIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeDiskIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeDiskIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDiskIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDiskIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDiskIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDiskIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDiskIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDiskIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDiskIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeDiskIamMember.property.condition"></a>

```typescript
public readonly condition: ComputeDiskIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamMemberConditionOutputReference">ComputeDiskIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeDiskIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeDiskIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeDiskIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamMemberCondition">ComputeDiskIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeDiskIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ComputeDiskIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeDiskIamMember.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeDiskIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeDiskIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeDiskIamMember.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeDiskIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDiskIamMember.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeDiskIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeDiskIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDiskIamMember.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeDiskIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeDiskIamPolicy <a name="ComputeDiskIamPolicy" id="@dschmidt/provider-google.ComputeDiskIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy google_compute_disk_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeDiskIamPolicy.Initializer"></a>

```typescript
import { ComputeDiskIamPolicy } from '@dschmidt/provider-google'

new ComputeDiskIamPolicy(scope: Construct, id: string, config: ComputeDiskIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig">ComputeDiskIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeDiskIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeDiskIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig">ComputeDiskIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeDiskIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeDiskIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeDiskIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDiskIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeDiskIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeDiskIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeDiskIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeDiskIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeDiskIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeDiskIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeDiskIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeDiskIamPolicy.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeDiskIamPolicy.isConstruct"></a>

```typescript
import { ComputeDiskIamPolicy } from '@dschmidt/provider-google'

ComputeDiskIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeDiskIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeDiskIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeDiskResourcePolicyAttachment <a name="ComputeDiskResourcePolicyAttachment" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment google_compute_disk_resource_policy_attachment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.Initializer"></a>

```typescript
import { ComputeDiskResourcePolicyAttachment } from '@dschmidt/provider-google'

new ComputeDiskResourcePolicyAttachment(scope: Construct, id: string, config: ComputeDiskResourcePolicyAttachmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig">ComputeDiskResourcePolicyAttachmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig">ComputeDiskResourcePolicyAttachmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeDiskResourcePolicyAttachmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts">ComputeDiskResourcePolicyAttachmentTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.isConstruct"></a>

```typescript
import { ComputeDiskResourcePolicyAttachment } from '@dschmidt/provider-google'

ComputeDiskResourcePolicyAttachment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeoutsOutputReference">ComputeDiskResourcePolicyAttachmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.diskInput">diskInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts">ComputeDiskResourcePolicyAttachmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.disk">disk</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeDiskResourcePolicyAttachmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeoutsOutputReference">ComputeDiskResourcePolicyAttachmentTimeoutsOutputReference</a>

---

##### `diskInput`<sup>Optional</sup> <a name="diskInput" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.diskInput"></a>

```typescript
public readonly diskInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeDiskResourcePolicyAttachmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts">ComputeDiskResourcePolicyAttachmentTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `disk`<sup>Required</sup> <a name="disk" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.disk"></a>

```typescript
public readonly disk: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeExternalVpnGateway <a name="ComputeExternalVpnGateway" id="@dschmidt/provider-google.ComputeExternalVpnGateway"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway google_compute_external_vpn_gateway}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeExternalVpnGateway.Initializer"></a>

```typescript
import { ComputeExternalVpnGateway } from '@dschmidt/provider-google'

new ComputeExternalVpnGateway(scope: Construct, id: string, config: ComputeExternalVpnGatewayConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig">ComputeExternalVpnGatewayConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeExternalVpnGateway.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeExternalVpnGateway.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeExternalVpnGateway.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig">ComputeExternalVpnGatewayConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.putInterface">putInterface</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.resetInterface">resetInterface</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.resetRedundancyType">resetRedundancyType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeExternalVpnGateway.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeExternalVpnGateway.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeExternalVpnGateway.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeExternalVpnGateway.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeExternalVpnGateway.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeExternalVpnGateway.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeExternalVpnGateway.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeExternalVpnGateway.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeExternalVpnGateway.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeExternalVpnGateway.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putInterface` <a name="putInterface" id="@dschmidt/provider-google.ComputeExternalVpnGateway.putInterface"></a>

```typescript
public putInterface(value: IResolvable | ComputeExternalVpnGatewayInterface[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeExternalVpnGateway.putInterface.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayInterface">ComputeExternalVpnGatewayInterface</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeExternalVpnGateway.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeExternalVpnGatewayTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeExternalVpnGateway.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts">ComputeExternalVpnGatewayTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeExternalVpnGateway.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeExternalVpnGateway.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInterface` <a name="resetInterface" id="@dschmidt/provider-google.ComputeExternalVpnGateway.resetInterface"></a>

```typescript
public resetInterface(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeExternalVpnGateway.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRedundancyType` <a name="resetRedundancyType" id="@dschmidt/provider-google.ComputeExternalVpnGateway.resetRedundancyType"></a>

```typescript
public resetRedundancyType(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeExternalVpnGateway.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeExternalVpnGateway.isConstruct"></a>

```typescript
import { ComputeExternalVpnGateway } from '@dschmidt/provider-google'

ComputeExternalVpnGateway.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeExternalVpnGateway.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.interface">interface</a></code> | <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayInterfaceList">ComputeExternalVpnGatewayInterfaceList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayTimeoutsOutputReference">ComputeExternalVpnGatewayTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.interfaceInput">interfaceInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayInterface">ComputeExternalVpnGatewayInterface</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.redundancyTypeInput">redundancyTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts">ComputeExternalVpnGatewayTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.redundancyType">redundancyType</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `interface`<sup>Required</sup> <a name="interface" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.interface"></a>

```typescript
public readonly interface: ComputeExternalVpnGatewayInterfaceList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayInterfaceList">ComputeExternalVpnGatewayInterfaceList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeExternalVpnGatewayTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayTimeoutsOutputReference">ComputeExternalVpnGatewayTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `interfaceInput`<sup>Optional</sup> <a name="interfaceInput" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.interfaceInput"></a>

```typescript
public readonly interfaceInput: IResolvable | ComputeExternalVpnGatewayInterface[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayInterface">ComputeExternalVpnGatewayInterface</a>[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `redundancyTypeInput`<sup>Optional</sup> <a name="redundancyTypeInput" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.redundancyTypeInput"></a>

```typescript
public readonly redundancyTypeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeExternalVpnGatewayTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts">ComputeExternalVpnGatewayTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `redundancyType`<sup>Required</sup> <a name="redundancyType" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.redundancyType"></a>

```typescript
public readonly redundancyType: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGateway.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeExternalVpnGateway.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeFirewall <a name="ComputeFirewall" id="@dschmidt/provider-google.ComputeFirewall"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_firewall google_compute_firewall}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeFirewall.Initializer"></a>

```typescript
import { ComputeFirewall } from '@dschmidt/provider-google'

new ComputeFirewall(scope: Construct, id: string, config: ComputeFirewallConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig">ComputeFirewallConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeFirewall.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewall.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeFirewall.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallConfig">ComputeFirewallConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.putAllow">putAllow</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.putDeny">putDeny</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.putLogConfig">putLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetAllow">resetAllow</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetDeny">resetDeny</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetDestinationRanges">resetDestinationRanges</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetDirection">resetDirection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetEnableLogging">resetEnableLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetLogConfig">resetLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetPriority">resetPriority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetSourceRanges">resetSourceRanges</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetSourceServiceAccounts">resetSourceServiceAccounts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetSourceTags">resetSourceTags</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetTargetServiceAccounts">resetTargetServiceAccounts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetTargetTags">resetTargetTags</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeFirewall.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeFirewall.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeFirewall.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewall.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeFirewall.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeFirewall.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeFirewall.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeFirewall.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeFirewall.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeFirewall.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeFirewall.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeFirewall.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeFirewall.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeFirewall.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeFirewall.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeFirewall.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeFirewall.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeFirewall.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeFirewall.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewall.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAllow` <a name="putAllow" id="@dschmidt/provider-google.ComputeFirewall.putAllow"></a>

```typescript
public putAllow(value: IResolvable | ComputeFirewallAllow[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewall.putAllow.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallAllow">ComputeFirewallAllow</a>[]

---

##### `putDeny` <a name="putDeny" id="@dschmidt/provider-google.ComputeFirewall.putDeny"></a>

```typescript
public putDeny(value: IResolvable | ComputeFirewallDeny[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewall.putDeny.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallDeny">ComputeFirewallDeny</a>[]

---

##### `putLogConfig` <a name="putLogConfig" id="@dschmidt/provider-google.ComputeFirewall.putLogConfig"></a>

```typescript
public putLogConfig(value: ComputeFirewallLogConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewall.putLogConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallLogConfig">ComputeFirewallLogConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeFirewall.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeFirewallTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewall.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallTimeouts">ComputeFirewallTimeouts</a>

---

##### `resetAllow` <a name="resetAllow" id="@dschmidt/provider-google.ComputeFirewall.resetAllow"></a>

```typescript
public resetAllow(): void
```

##### `resetDeny` <a name="resetDeny" id="@dschmidt/provider-google.ComputeFirewall.resetDeny"></a>

```typescript
public resetDeny(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeFirewall.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDestinationRanges` <a name="resetDestinationRanges" id="@dschmidt/provider-google.ComputeFirewall.resetDestinationRanges"></a>

```typescript
public resetDestinationRanges(): void
```

##### `resetDirection` <a name="resetDirection" id="@dschmidt/provider-google.ComputeFirewall.resetDirection"></a>

```typescript
public resetDirection(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.ComputeFirewall.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetEnableLogging` <a name="resetEnableLogging" id="@dschmidt/provider-google.ComputeFirewall.resetEnableLogging"></a>

```typescript
public resetEnableLogging(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeFirewall.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLogConfig` <a name="resetLogConfig" id="@dschmidt/provider-google.ComputeFirewall.resetLogConfig"></a>

```typescript
public resetLogConfig(): void
```

##### `resetPriority` <a name="resetPriority" id="@dschmidt/provider-google.ComputeFirewall.resetPriority"></a>

```typescript
public resetPriority(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeFirewall.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSourceRanges` <a name="resetSourceRanges" id="@dschmidt/provider-google.ComputeFirewall.resetSourceRanges"></a>

```typescript
public resetSourceRanges(): void
```

##### `resetSourceServiceAccounts` <a name="resetSourceServiceAccounts" id="@dschmidt/provider-google.ComputeFirewall.resetSourceServiceAccounts"></a>

```typescript
public resetSourceServiceAccounts(): void
```

##### `resetSourceTags` <a name="resetSourceTags" id="@dschmidt/provider-google.ComputeFirewall.resetSourceTags"></a>

```typescript
public resetSourceTags(): void
```

##### `resetTargetServiceAccounts` <a name="resetTargetServiceAccounts" id="@dschmidt/provider-google.ComputeFirewall.resetTargetServiceAccounts"></a>

```typescript
public resetTargetServiceAccounts(): void
```

##### `resetTargetTags` <a name="resetTargetTags" id="@dschmidt/provider-google.ComputeFirewall.resetTargetTags"></a>

```typescript
public resetTargetTags(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeFirewall.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeFirewall.isConstruct"></a>

```typescript
import { ComputeFirewall } from '@dschmidt/provider-google'

ComputeFirewall.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeFirewall.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.allow">allow</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallAllowList">ComputeFirewallAllowList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.deny">deny</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallDenyList">ComputeFirewallDenyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallLogConfigOutputReference">ComputeFirewallLogConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallTimeoutsOutputReference">ComputeFirewallTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.allowInput">allowInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeFirewallAllow">ComputeFirewallAllow</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.denyInput">denyInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeFirewallDeny">ComputeFirewallDeny</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.destinationRangesInput">destinationRangesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.directionInput">directionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.enableLoggingInput">enableLoggingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.logConfigInput">logConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallLogConfig">ComputeFirewallLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.priorityInput">priorityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.sourceRangesInput">sourceRangesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.sourceServiceAccountsInput">sourceServiceAccountsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.sourceTagsInput">sourceTagsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.targetServiceAccountsInput">targetServiceAccountsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.targetTagsInput">targetTagsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeFirewallTimeouts">ComputeFirewallTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.destinationRanges">destinationRanges</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.direction">direction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.enableLogging">enableLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.priority">priority</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.sourceRanges">sourceRanges</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.sourceServiceAccounts">sourceServiceAccounts</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.sourceTags">sourceTags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.targetServiceAccounts">targetServiceAccounts</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.targetTags">targetTags</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeFirewall.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeFirewall.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeFirewall.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeFirewall.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeFirewall.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeFirewall.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeFirewall.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeFirewall.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeFirewall.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeFirewall.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeFirewall.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeFirewall.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeFirewall.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeFirewall.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `allow`<sup>Required</sup> <a name="allow" id="@dschmidt/provider-google.ComputeFirewall.property.allow"></a>

```typescript
public readonly allow: ComputeFirewallAllowList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallAllowList">ComputeFirewallAllowList</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeFirewall.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `deny`<sup>Required</sup> <a name="deny" id="@dschmidt/provider-google.ComputeFirewall.property.deny"></a>

```typescript
public readonly deny: ComputeFirewallDenyList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallDenyList">ComputeFirewallDenyList</a>

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeFirewall.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeFirewallLogConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallLogConfigOutputReference">ComputeFirewallLogConfigOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeFirewall.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeFirewall.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeFirewallTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallTimeoutsOutputReference">ComputeFirewallTimeoutsOutputReference</a>

---

##### `allowInput`<sup>Optional</sup> <a name="allowInput" id="@dschmidt/provider-google.ComputeFirewall.property.allowInput"></a>

```typescript
public readonly allowInput: IResolvable | ComputeFirewallAllow[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallAllow">ComputeFirewallAllow</a>[]

---

##### `denyInput`<sup>Optional</sup> <a name="denyInput" id="@dschmidt/provider-google.ComputeFirewall.property.denyInput"></a>

```typescript
public readonly denyInput: IResolvable | ComputeFirewallDeny[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallDeny">ComputeFirewallDeny</a>[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeFirewall.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `destinationRangesInput`<sup>Optional</sup> <a name="destinationRangesInput" id="@dschmidt/provider-google.ComputeFirewall.property.destinationRangesInput"></a>

```typescript
public readonly destinationRangesInput: string[];
```

- *Type:* string[]

---

##### `directionInput`<sup>Optional</sup> <a name="directionInput" id="@dschmidt/provider-google.ComputeFirewall.property.directionInput"></a>

```typescript
public readonly directionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.ComputeFirewall.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableLoggingInput`<sup>Optional</sup> <a name="enableLoggingInput" id="@dschmidt/provider-google.ComputeFirewall.property.enableLoggingInput"></a>

```typescript
public readonly enableLoggingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeFirewall.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `logConfigInput`<sup>Optional</sup> <a name="logConfigInput" id="@dschmidt/provider-google.ComputeFirewall.property.logConfigInput"></a>

```typescript
public readonly logConfigInput: ComputeFirewallLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallLogConfig">ComputeFirewallLogConfig</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeFirewall.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeFirewall.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `priorityInput`<sup>Optional</sup> <a name="priorityInput" id="@dschmidt/provider-google.ComputeFirewall.property.priorityInput"></a>

```typescript
public readonly priorityInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeFirewall.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `sourceRangesInput`<sup>Optional</sup> <a name="sourceRangesInput" id="@dschmidt/provider-google.ComputeFirewall.property.sourceRangesInput"></a>

```typescript
public readonly sourceRangesInput: string[];
```

- *Type:* string[]

---

##### `sourceServiceAccountsInput`<sup>Optional</sup> <a name="sourceServiceAccountsInput" id="@dschmidt/provider-google.ComputeFirewall.property.sourceServiceAccountsInput"></a>

```typescript
public readonly sourceServiceAccountsInput: string[];
```

- *Type:* string[]

---

##### `sourceTagsInput`<sup>Optional</sup> <a name="sourceTagsInput" id="@dschmidt/provider-google.ComputeFirewall.property.sourceTagsInput"></a>

```typescript
public readonly sourceTagsInput: string[];
```

- *Type:* string[]

---

##### `targetServiceAccountsInput`<sup>Optional</sup> <a name="targetServiceAccountsInput" id="@dschmidt/provider-google.ComputeFirewall.property.targetServiceAccountsInput"></a>

```typescript
public readonly targetServiceAccountsInput: string[];
```

- *Type:* string[]

---

##### `targetTagsInput`<sup>Optional</sup> <a name="targetTagsInput" id="@dschmidt/provider-google.ComputeFirewall.property.targetTagsInput"></a>

```typescript
public readonly targetTagsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeFirewall.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeFirewallTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallTimeouts">ComputeFirewallTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeFirewall.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `destinationRanges`<sup>Required</sup> <a name="destinationRanges" id="@dschmidt/provider-google.ComputeFirewall.property.destinationRanges"></a>

```typescript
public readonly destinationRanges: string[];
```

- *Type:* string[]

---

##### `direction`<sup>Required</sup> <a name="direction" id="@dschmidt/provider-google.ComputeFirewall.property.direction"></a>

```typescript
public readonly direction: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeFirewall.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableLogging`<sup>Required</sup> <a name="enableLogging" id="@dschmidt/provider-google.ComputeFirewall.property.enableLogging"></a>

```typescript
public readonly enableLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewall.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeFirewall.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeFirewall.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.ComputeFirewall.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeFirewall.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `sourceRanges`<sup>Required</sup> <a name="sourceRanges" id="@dschmidt/provider-google.ComputeFirewall.property.sourceRanges"></a>

```typescript
public readonly sourceRanges: string[];
```

- *Type:* string[]

---

##### `sourceServiceAccounts`<sup>Required</sup> <a name="sourceServiceAccounts" id="@dschmidt/provider-google.ComputeFirewall.property.sourceServiceAccounts"></a>

```typescript
public readonly sourceServiceAccounts: string[];
```

- *Type:* string[]

---

##### `sourceTags`<sup>Required</sup> <a name="sourceTags" id="@dschmidt/provider-google.ComputeFirewall.property.sourceTags"></a>

```typescript
public readonly sourceTags: string[];
```

- *Type:* string[]

---

##### `targetServiceAccounts`<sup>Required</sup> <a name="targetServiceAccounts" id="@dschmidt/provider-google.ComputeFirewall.property.targetServiceAccounts"></a>

```typescript
public readonly targetServiceAccounts: string[];
```

- *Type:* string[]

---

##### `targetTags`<sup>Required</sup> <a name="targetTags" id="@dschmidt/provider-google.ComputeFirewall.property.targetTags"></a>

```typescript
public readonly targetTags: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewall.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeFirewall.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeFirewallPolicy <a name="ComputeFirewallPolicy" id="@dschmidt/provider-google.ComputeFirewallPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy google_compute_firewall_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeFirewallPolicy.Initializer"></a>

```typescript
import { ComputeFirewallPolicy } from '@dschmidt/provider-google'

new ComputeFirewallPolicy(scope: Construct, id: string, config: ComputeFirewallPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig">ComputeFirewallPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeFirewallPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeFirewallPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig">ComputeFirewallPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeFirewallPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeFirewallPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeFirewallPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewallPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeFirewallPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeFirewallPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeFirewallPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeFirewallPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeFirewallPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeFirewallPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeFirewallPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewallPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeouts">ComputeFirewallPolicyTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeFirewallPolicy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeFirewallPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeFirewallPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeFirewallPolicy.isConstruct"></a>

```typescript
import { ComputeFirewallPolicy } from '@dschmidt/provider-google'

ComputeFirewallPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeFirewallPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.firewallPolicyId">firewallPolicyId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.ruleTupleCount">ruleTupleCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.selfLinkWithId">selfLinkWithId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeoutsOutputReference">ComputeFirewallPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.shortNameInput">shortNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeouts">ComputeFirewallPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.shortName">shortName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `firewallPolicyId`<sup>Required</sup> <a name="firewallPolicyId" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.firewallPolicyId"></a>

```typescript
public readonly firewallPolicyId: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `ruleTupleCount`<sup>Required</sup> <a name="ruleTupleCount" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.ruleTupleCount"></a>

```typescript
public readonly ruleTupleCount: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `selfLinkWithId`<sup>Required</sup> <a name="selfLinkWithId" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.selfLinkWithId"></a>

```typescript
public readonly selfLinkWithId: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeFirewallPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeoutsOutputReference">ComputeFirewallPolicyTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `shortNameInput`<sup>Optional</sup> <a name="shortNameInput" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.shortNameInput"></a>

```typescript
public readonly shortNameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeFirewallPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeouts">ComputeFirewallPolicyTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeFirewallPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeFirewallPolicyAssociation <a name="ComputeFirewallPolicyAssociation" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association google_compute_firewall_policy_association}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.Initializer"></a>

```typescript
import { ComputeFirewallPolicyAssociation } from '@dschmidt/provider-google'

new ComputeFirewallPolicyAssociation(scope: Construct, id: string, config: ComputeFirewallPolicyAssociationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig">ComputeFirewallPolicyAssociationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig">ComputeFirewallPolicyAssociationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeFirewallPolicyAssociationTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts">ComputeFirewallPolicyAssociationTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.isConstruct"></a>

```typescript
import { ComputeFirewallPolicyAssociation } from '@dschmidt/provider-google'

ComputeFirewallPolicyAssociation.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.shortName">shortName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeoutsOutputReference">ComputeFirewallPolicyAssociationTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.attachmentTargetInput">attachmentTargetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.firewallPolicyInput">firewallPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts">ComputeFirewallPolicyAssociationTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.attachmentTarget">attachmentTarget</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.firewallPolicy">firewallPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeFirewallPolicyAssociationTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeoutsOutputReference">ComputeFirewallPolicyAssociationTimeoutsOutputReference</a>

---

##### `attachmentTargetInput`<sup>Optional</sup> <a name="attachmentTargetInput" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.attachmentTargetInput"></a>

```typescript
public readonly attachmentTargetInput: string;
```

- *Type:* string

---

##### `firewallPolicyInput`<sup>Optional</sup> <a name="firewallPolicyInput" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.firewallPolicyInput"></a>

```typescript
public readonly firewallPolicyInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeFirewallPolicyAssociationTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts">ComputeFirewallPolicyAssociationTimeouts</a>

---

##### `attachmentTarget`<sup>Required</sup> <a name="attachmentTarget" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.attachmentTarget"></a>

```typescript
public readonly attachmentTarget: string;
```

- *Type:* string

---

##### `firewallPolicy`<sup>Required</sup> <a name="firewallPolicy" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.firewallPolicy"></a>

```typescript
public readonly firewallPolicy: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociation.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeFirewallPolicyRule <a name="ComputeFirewallPolicyRule" id="@dschmidt/provider-google.ComputeFirewallPolicyRule"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule google_compute_firewall_policy_rule}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.Initializer"></a>

```typescript
import { ComputeFirewallPolicyRule } from '@dschmidt/provider-google'

new ComputeFirewallPolicyRule(scope: Construct, id: string, config: ComputeFirewallPolicyRuleConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig">ComputeFirewallPolicyRuleConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig">ComputeFirewallPolicyRuleConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.putMatch">putMatch</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.resetEnableLogging">resetEnableLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.resetTargetResources">resetTargetResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.resetTargetServiceAccounts">resetTargetServiceAccounts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMatch` <a name="putMatch" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.putMatch"></a>

```typescript
public putMatch(value: ComputeFirewallPolicyRuleMatch): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.putMatch.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch">ComputeFirewallPolicyRuleMatch</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeFirewallPolicyRuleTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts">ComputeFirewallPolicyRuleTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetEnableLogging` <a name="resetEnableLogging" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.resetEnableLogging"></a>

```typescript
public resetEnableLogging(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTargetResources` <a name="resetTargetResources" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.resetTargetResources"></a>

```typescript
public resetTargetResources(): void
```

##### `resetTargetServiceAccounts` <a name="resetTargetServiceAccounts" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.resetTargetServiceAccounts"></a>

```typescript
public resetTargetServiceAccounts(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.isConstruct"></a>

```typescript
import { ComputeFirewallPolicyRule } from '@dschmidt/provider-google'

ComputeFirewallPolicyRule.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.kind">kind</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.match">match</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchOutputReference">ComputeFirewallPolicyRuleMatchOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.ruleTupleCount">ruleTupleCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeoutsOutputReference">ComputeFirewallPolicyRuleTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.actionInput">actionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.directionInput">directionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.enableLoggingInput">enableLoggingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.firewallPolicyInput">firewallPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.matchInput">matchInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch">ComputeFirewallPolicyRuleMatch</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.priorityInput">priorityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.targetResourcesInput">targetResourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.targetServiceAccountsInput">targetServiceAccountsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts">ComputeFirewallPolicyRuleTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.direction">direction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.enableLogging">enableLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.firewallPolicy">firewallPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.priority">priority</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.targetResources">targetResources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.targetServiceAccounts">targetServiceAccounts</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

---

##### `match`<sup>Required</sup> <a name="match" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.match"></a>

```typescript
public readonly match: ComputeFirewallPolicyRuleMatchOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchOutputReference">ComputeFirewallPolicyRuleMatchOutputReference</a>

---

##### `ruleTupleCount`<sup>Required</sup> <a name="ruleTupleCount" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.ruleTupleCount"></a>

```typescript
public readonly ruleTupleCount: number;
```

- *Type:* number

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeFirewallPolicyRuleTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeoutsOutputReference">ComputeFirewallPolicyRuleTimeoutsOutputReference</a>

---

##### `actionInput`<sup>Optional</sup> <a name="actionInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.actionInput"></a>

```typescript
public readonly actionInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `directionInput`<sup>Optional</sup> <a name="directionInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.directionInput"></a>

```typescript
public readonly directionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableLoggingInput`<sup>Optional</sup> <a name="enableLoggingInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.enableLoggingInput"></a>

```typescript
public readonly enableLoggingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `firewallPolicyInput`<sup>Optional</sup> <a name="firewallPolicyInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.firewallPolicyInput"></a>

```typescript
public readonly firewallPolicyInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `matchInput`<sup>Optional</sup> <a name="matchInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.matchInput"></a>

```typescript
public readonly matchInput: ComputeFirewallPolicyRuleMatch;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch">ComputeFirewallPolicyRuleMatch</a>

---

##### `priorityInput`<sup>Optional</sup> <a name="priorityInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.priorityInput"></a>

```typescript
public readonly priorityInput: number;
```

- *Type:* number

---

##### `targetResourcesInput`<sup>Optional</sup> <a name="targetResourcesInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.targetResourcesInput"></a>

```typescript
public readonly targetResourcesInput: string[];
```

- *Type:* string[]

---

##### `targetServiceAccountsInput`<sup>Optional</sup> <a name="targetServiceAccountsInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.targetServiceAccountsInput"></a>

```typescript
public readonly targetServiceAccountsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeFirewallPolicyRuleTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts">ComputeFirewallPolicyRuleTimeouts</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `direction`<sup>Required</sup> <a name="direction" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.direction"></a>

```typescript
public readonly direction: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableLogging`<sup>Required</sup> <a name="enableLogging" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.enableLogging"></a>

```typescript
public readonly enableLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `firewallPolicy`<sup>Required</sup> <a name="firewallPolicy" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.firewallPolicy"></a>

```typescript
public readonly firewallPolicy: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

---

##### `targetResources`<sup>Required</sup> <a name="targetResources" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.targetResources"></a>

```typescript
public readonly targetResources: string[];
```

- *Type:* string[]

---

##### `targetServiceAccounts`<sup>Required</sup> <a name="targetServiceAccounts" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.targetServiceAccounts"></a>

```typescript
public readonly targetServiceAccounts: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRule.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeFirewallPolicyRule.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeForwardingRule <a name="ComputeForwardingRule" id="@dschmidt/provider-google.ComputeForwardingRule"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule google_compute_forwarding_rule}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeForwardingRule.Initializer"></a>

```typescript
import { ComputeForwardingRule } from '@dschmidt/provider-google'

new ComputeForwardingRule(scope: Construct, id: string, config: ComputeForwardingRuleConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig">ComputeForwardingRuleConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeForwardingRule.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeForwardingRule.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeForwardingRule.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig">ComputeForwardingRuleConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.putServiceDirectoryRegistrations">putServiceDirectoryRegistrations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetAllowGlobalAccess">resetAllowGlobalAccess</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetAllPorts">resetAllPorts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetBackendService">resetBackendService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetIpAddress">resetIpAddress</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetIpProtocol">resetIpProtocol</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetIsMirroringCollector">resetIsMirroringCollector</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetLoadBalancingScheme">resetLoadBalancingScheme</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetNetworkTier">resetNetworkTier</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetPortRange">resetPortRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetPorts">resetPorts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetServiceDirectoryRegistrations">resetServiceDirectoryRegistrations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetServiceLabel">resetServiceLabel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetSubnetwork">resetSubnetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetTarget">resetTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeForwardingRule.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeForwardingRule.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeForwardingRule.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeForwardingRule.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeForwardingRule.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeForwardingRule.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeForwardingRule.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeForwardingRule.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeForwardingRule.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeForwardingRule.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putServiceDirectoryRegistrations` <a name="putServiceDirectoryRegistrations" id="@dschmidt/provider-google.ComputeForwardingRule.putServiceDirectoryRegistrations"></a>

```typescript
public putServiceDirectoryRegistrations(value: IResolvable | ComputeForwardingRuleServiceDirectoryRegistrations[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeForwardingRule.putServiceDirectoryRegistrations.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations">ComputeForwardingRuleServiceDirectoryRegistrations</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeForwardingRule.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeForwardingRuleTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeForwardingRule.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeouts">ComputeForwardingRuleTimeouts</a>

---

##### `resetAllowGlobalAccess` <a name="resetAllowGlobalAccess" id="@dschmidt/provider-google.ComputeForwardingRule.resetAllowGlobalAccess"></a>

```typescript
public resetAllowGlobalAccess(): void
```

##### `resetAllPorts` <a name="resetAllPorts" id="@dschmidt/provider-google.ComputeForwardingRule.resetAllPorts"></a>

```typescript
public resetAllPorts(): void
```

##### `resetBackendService` <a name="resetBackendService" id="@dschmidt/provider-google.ComputeForwardingRule.resetBackendService"></a>

```typescript
public resetBackendService(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeForwardingRule.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeForwardingRule.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpAddress` <a name="resetIpAddress" id="@dschmidt/provider-google.ComputeForwardingRule.resetIpAddress"></a>

```typescript
public resetIpAddress(): void
```

##### `resetIpProtocol` <a name="resetIpProtocol" id="@dschmidt/provider-google.ComputeForwardingRule.resetIpProtocol"></a>

```typescript
public resetIpProtocol(): void
```

##### `resetIsMirroringCollector` <a name="resetIsMirroringCollector" id="@dschmidt/provider-google.ComputeForwardingRule.resetIsMirroringCollector"></a>

```typescript
public resetIsMirroringCollector(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComputeForwardingRule.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLoadBalancingScheme` <a name="resetLoadBalancingScheme" id="@dschmidt/provider-google.ComputeForwardingRule.resetLoadBalancingScheme"></a>

```typescript
public resetLoadBalancingScheme(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.ComputeForwardingRule.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetNetworkTier` <a name="resetNetworkTier" id="@dschmidt/provider-google.ComputeForwardingRule.resetNetworkTier"></a>

```typescript
public resetNetworkTier(): void
```

##### `resetPortRange` <a name="resetPortRange" id="@dschmidt/provider-google.ComputeForwardingRule.resetPortRange"></a>

```typescript
public resetPortRange(): void
```

##### `resetPorts` <a name="resetPorts" id="@dschmidt/provider-google.ComputeForwardingRule.resetPorts"></a>

```typescript
public resetPorts(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeForwardingRule.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeForwardingRule.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetServiceDirectoryRegistrations` <a name="resetServiceDirectoryRegistrations" id="@dschmidt/provider-google.ComputeForwardingRule.resetServiceDirectoryRegistrations"></a>

```typescript
public resetServiceDirectoryRegistrations(): void
```

##### `resetServiceLabel` <a name="resetServiceLabel" id="@dschmidt/provider-google.ComputeForwardingRule.resetServiceLabel"></a>

```typescript
public resetServiceLabel(): void
```

##### `resetSubnetwork` <a name="resetSubnetwork" id="@dschmidt/provider-google.ComputeForwardingRule.resetSubnetwork"></a>

```typescript
public resetSubnetwork(): void
```

##### `resetTarget` <a name="resetTarget" id="@dschmidt/provider-google.ComputeForwardingRule.resetTarget"></a>

```typescript
public resetTarget(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeForwardingRule.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeForwardingRule.isConstruct"></a>

```typescript
import { ComputeForwardingRule } from '@dschmidt/provider-google'

ComputeForwardingRule.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeForwardingRule.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.pscConnectionId">pscConnectionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.pscConnectionStatus">pscConnectionStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.serviceDirectoryRegistrations">serviceDirectoryRegistrations</a></code> | <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrationsList">ComputeForwardingRuleServiceDirectoryRegistrationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeoutsOutputReference">ComputeForwardingRuleTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.allowGlobalAccessInput">allowGlobalAccessInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.allPortsInput">allPortsInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.backendServiceInput">backendServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.ipAddressInput">ipAddressInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.ipProtocolInput">ipProtocolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.isMirroringCollectorInput">isMirroringCollectorInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.loadBalancingSchemeInput">loadBalancingSchemeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.networkTierInput">networkTierInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.portRangeInput">portRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.portsInput">portsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.serviceDirectoryRegistrationsInput">serviceDirectoryRegistrationsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations">ComputeForwardingRuleServiceDirectoryRegistrations</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.serviceLabelInput">serviceLabelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.subnetworkInput">subnetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.targetInput">targetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeouts">ComputeForwardingRuleTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.allowGlobalAccess">allowGlobalAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.allPorts">allPorts</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.backendService">backendService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.ipAddress">ipAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.ipProtocol">ipProtocol</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.isMirroringCollector">isMirroringCollector</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.networkTier">networkTier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.portRange">portRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.ports">ports</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.serviceLabel">serviceLabel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.target">target</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeForwardingRule.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeForwardingRule.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeForwardingRule.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeForwardingRule.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeForwardingRule.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeForwardingRule.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeForwardingRule.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeForwardingRule.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeForwardingRule.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeForwardingRule.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeForwardingRule.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeForwardingRule.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeForwardingRule.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeForwardingRule.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeForwardingRule.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.ComputeForwardingRule.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `pscConnectionId`<sup>Required</sup> <a name="pscConnectionId" id="@dschmidt/provider-google.ComputeForwardingRule.property.pscConnectionId"></a>

```typescript
public readonly pscConnectionId: string;
```

- *Type:* string

---

##### `pscConnectionStatus`<sup>Required</sup> <a name="pscConnectionStatus" id="@dschmidt/provider-google.ComputeForwardingRule.property.pscConnectionStatus"></a>

```typescript
public readonly pscConnectionStatus: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeForwardingRule.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serviceDirectoryRegistrations`<sup>Required</sup> <a name="serviceDirectoryRegistrations" id="@dschmidt/provider-google.ComputeForwardingRule.property.serviceDirectoryRegistrations"></a>

```typescript
public readonly serviceDirectoryRegistrations: ComputeForwardingRuleServiceDirectoryRegistrationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrationsList">ComputeForwardingRuleServiceDirectoryRegistrationsList</a>

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.ComputeForwardingRule.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeForwardingRule.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeForwardingRuleTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeoutsOutputReference">ComputeForwardingRuleTimeoutsOutputReference</a>

---

##### `allowGlobalAccessInput`<sup>Optional</sup> <a name="allowGlobalAccessInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.allowGlobalAccessInput"></a>

```typescript
public readonly allowGlobalAccessInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `allPortsInput`<sup>Optional</sup> <a name="allPortsInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.allPortsInput"></a>

```typescript
public readonly allPortsInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `backendServiceInput`<sup>Optional</sup> <a name="backendServiceInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.backendServiceInput"></a>

```typescript
public readonly backendServiceInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ipAddressInput`<sup>Optional</sup> <a name="ipAddressInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.ipAddressInput"></a>

```typescript
public readonly ipAddressInput: string;
```

- *Type:* string

---

##### `ipProtocolInput`<sup>Optional</sup> <a name="ipProtocolInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.ipProtocolInput"></a>

```typescript
public readonly ipProtocolInput: string;
```

- *Type:* string

---

##### `isMirroringCollectorInput`<sup>Optional</sup> <a name="isMirroringCollectorInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.isMirroringCollectorInput"></a>

```typescript
public readonly isMirroringCollectorInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `loadBalancingSchemeInput`<sup>Optional</sup> <a name="loadBalancingSchemeInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.loadBalancingSchemeInput"></a>

```typescript
public readonly loadBalancingSchemeInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `networkTierInput`<sup>Optional</sup> <a name="networkTierInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.networkTierInput"></a>

```typescript
public readonly networkTierInput: string;
```

- *Type:* string

---

##### `portRangeInput`<sup>Optional</sup> <a name="portRangeInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.portRangeInput"></a>

```typescript
public readonly portRangeInput: string;
```

- *Type:* string

---

##### `portsInput`<sup>Optional</sup> <a name="portsInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.portsInput"></a>

```typescript
public readonly portsInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `serviceDirectoryRegistrationsInput`<sup>Optional</sup> <a name="serviceDirectoryRegistrationsInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.serviceDirectoryRegistrationsInput"></a>

```typescript
public readonly serviceDirectoryRegistrationsInput: IResolvable | ComputeForwardingRuleServiceDirectoryRegistrations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations">ComputeForwardingRuleServiceDirectoryRegistrations</a>[]

---

##### `serviceLabelInput`<sup>Optional</sup> <a name="serviceLabelInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.serviceLabelInput"></a>

```typescript
public readonly serviceLabelInput: string;
```

- *Type:* string

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: string;
```

- *Type:* string

---

##### `targetInput`<sup>Optional</sup> <a name="targetInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.targetInput"></a>

```typescript
public readonly targetInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeForwardingRule.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeForwardingRuleTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeouts">ComputeForwardingRuleTimeouts</a>

---

##### `allowGlobalAccess`<sup>Required</sup> <a name="allowGlobalAccess" id="@dschmidt/provider-google.ComputeForwardingRule.property.allowGlobalAccess"></a>

```typescript
public readonly allowGlobalAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `allPorts`<sup>Required</sup> <a name="allPorts" id="@dschmidt/provider-google.ComputeForwardingRule.property.allPorts"></a>

```typescript
public readonly allPorts: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeForwardingRule.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeForwardingRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeForwardingRule.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeForwardingRule.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

---

##### `ipProtocol`<sup>Required</sup> <a name="ipProtocol" id="@dschmidt/provider-google.ComputeForwardingRule.property.ipProtocol"></a>

```typescript
public readonly ipProtocol: string;
```

- *Type:* string

---

##### `isMirroringCollector`<sup>Required</sup> <a name="isMirroringCollector" id="@dschmidt/provider-google.ComputeForwardingRule.property.isMirroringCollector"></a>

```typescript
public readonly isMirroringCollector: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComputeForwardingRule.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `loadBalancingScheme`<sup>Required</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.ComputeForwardingRule.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeForwardingRule.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeForwardingRule.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `networkTier`<sup>Required</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeForwardingRule.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

---

##### `portRange`<sup>Required</sup> <a name="portRange" id="@dschmidt/provider-google.ComputeForwardingRule.property.portRange"></a>

```typescript
public readonly portRange: string;
```

- *Type:* string

---

##### `ports`<sup>Required</sup> <a name="ports" id="@dschmidt/provider-google.ComputeForwardingRule.property.ports"></a>

```typescript
public readonly ports: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeForwardingRule.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeForwardingRule.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `serviceLabel`<sup>Required</sup> <a name="serviceLabel" id="@dschmidt/provider-google.ComputeForwardingRule.property.serviceLabel"></a>

```typescript
public readonly serviceLabel: string;
```

- *Type:* string

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeForwardingRule.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeForwardingRule.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRule.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeForwardingRule.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeGlobalAddress <a name="ComputeGlobalAddress" id="@dschmidt/provider-google.ComputeGlobalAddress"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_global_address google_compute_global_address}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeGlobalAddress.Initializer"></a>

```typescript
import { ComputeGlobalAddress } from '@dschmidt/provider-google'

new ComputeGlobalAddress(scope: Construct, id: string, config: ComputeGlobalAddressConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig">ComputeGlobalAddressConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeGlobalAddress.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalAddress.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeGlobalAddress.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig">ComputeGlobalAddressConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetAddress">resetAddress</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetAddressType">resetAddressType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetIpVersion">resetIpVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetPrefixLength">resetPrefixLength</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetPurpose">resetPurpose</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeGlobalAddress.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeGlobalAddress.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeGlobalAddress.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalAddress.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeGlobalAddress.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeGlobalAddress.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeGlobalAddress.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeGlobalAddress.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeGlobalAddress.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalAddress.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeGlobalAddress.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeGlobalAddressTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalAddress.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalAddressTimeouts">ComputeGlobalAddressTimeouts</a>

---

##### `resetAddress` <a name="resetAddress" id="@dschmidt/provider-google.ComputeGlobalAddress.resetAddress"></a>

```typescript
public resetAddress(): void
```

##### `resetAddressType` <a name="resetAddressType" id="@dschmidt/provider-google.ComputeGlobalAddress.resetAddressType"></a>

```typescript
public resetAddressType(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeGlobalAddress.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeGlobalAddress.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpVersion` <a name="resetIpVersion" id="@dschmidt/provider-google.ComputeGlobalAddress.resetIpVersion"></a>

```typescript
public resetIpVersion(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.ComputeGlobalAddress.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetPrefixLength` <a name="resetPrefixLength" id="@dschmidt/provider-google.ComputeGlobalAddress.resetPrefixLength"></a>

```typescript
public resetPrefixLength(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeGlobalAddress.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPurpose` <a name="resetPurpose" id="@dschmidt/provider-google.ComputeGlobalAddress.resetPurpose"></a>

```typescript
public resetPurpose(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeGlobalAddress.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeGlobalAddress.isConstruct"></a>

```typescript
import { ComputeGlobalAddress } from '@dschmidt/provider-google'

ComputeGlobalAddress.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeGlobalAddress.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressTimeoutsOutputReference">ComputeGlobalAddressTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.addressInput">addressInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.addressTypeInput">addressTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.ipVersionInput">ipVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.prefixLengthInput">prefixLengthInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.purposeInput">purposeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeGlobalAddressTimeouts">ComputeGlobalAddressTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.address">address</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.addressType">addressType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.ipVersion">ipVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.prefixLength">prefixLength</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.purpose">purpose</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeGlobalAddress.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeGlobalAddress.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeGlobalAddress.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeGlobalAddress.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeGlobalAddress.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeGlobalAddress.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeGlobalAddress.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeGlobalAddress.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeGlobalAddress.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeGlobalAddress.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeGlobalAddress.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeGlobalAddress.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeGlobalAddress.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeGlobalAddress.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeGlobalAddress.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeGlobalAddress.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeGlobalAddress.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeGlobalAddressTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalAddressTimeoutsOutputReference">ComputeGlobalAddressTimeoutsOutputReference</a>

---

##### `addressInput`<sup>Optional</sup> <a name="addressInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.addressInput"></a>

```typescript
public readonly addressInput: string;
```

- *Type:* string

---

##### `addressTypeInput`<sup>Optional</sup> <a name="addressTypeInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.addressTypeInput"></a>

```typescript
public readonly addressTypeInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ipVersionInput`<sup>Optional</sup> <a name="ipVersionInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.ipVersionInput"></a>

```typescript
public readonly ipVersionInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `prefixLengthInput`<sup>Optional</sup> <a name="prefixLengthInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.prefixLengthInput"></a>

```typescript
public readonly prefixLengthInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `purposeInput`<sup>Optional</sup> <a name="purposeInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.purposeInput"></a>

```typescript
public readonly purposeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeGlobalAddress.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeGlobalAddressTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeGlobalAddressTimeouts">ComputeGlobalAddressTimeouts</a>

---

##### `address`<sup>Required</sup> <a name="address" id="@dschmidt/provider-google.ComputeGlobalAddress.property.address"></a>

```typescript
public readonly address: string;
```

- *Type:* string

---

##### `addressType`<sup>Required</sup> <a name="addressType" id="@dschmidt/provider-google.ComputeGlobalAddress.property.addressType"></a>

```typescript
public readonly addressType: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeGlobalAddress.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalAddress.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ipVersion`<sup>Required</sup> <a name="ipVersion" id="@dschmidt/provider-google.ComputeGlobalAddress.property.ipVersion"></a>

```typescript
public readonly ipVersion: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeGlobalAddress.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeGlobalAddress.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `prefixLength`<sup>Required</sup> <a name="prefixLength" id="@dschmidt/provider-google.ComputeGlobalAddress.property.prefixLength"></a>

```typescript
public readonly prefixLength: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeGlobalAddress.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `purpose`<sup>Required</sup> <a name="purpose" id="@dschmidt/provider-google.ComputeGlobalAddress.property.purpose"></a>

```typescript
public readonly purpose: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddress.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeGlobalAddress.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeGlobalForwardingRule <a name="ComputeGlobalForwardingRule" id="@dschmidt/provider-google.ComputeGlobalForwardingRule"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule google_compute_global_forwarding_rule}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.Initializer"></a>

```typescript
import { ComputeGlobalForwardingRule } from '@dschmidt/provider-google'

new ComputeGlobalForwardingRule(scope: Construct, id: string, config: ComputeGlobalForwardingRuleConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig">ComputeGlobalForwardingRuleConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig">ComputeGlobalForwardingRuleConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.putMetadataFilters">putMetadataFilters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetIpAddress">resetIpAddress</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetIpProtocol">resetIpProtocol</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetIpVersion">resetIpVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetLoadBalancingScheme">resetLoadBalancingScheme</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetMetadataFilters">resetMetadataFilters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetPortRange">resetPortRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMetadataFilters` <a name="putMetadataFilters" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.putMetadataFilters"></a>

```typescript
public putMetadataFilters(value: IResolvable | ComputeGlobalForwardingRuleMetadataFilters[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.putMetadataFilters.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters">ComputeGlobalForwardingRuleMetadataFilters</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeGlobalForwardingRuleTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts">ComputeGlobalForwardingRuleTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpAddress` <a name="resetIpAddress" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetIpAddress"></a>

```typescript
public resetIpAddress(): void
```

##### `resetIpProtocol` <a name="resetIpProtocol" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetIpProtocol"></a>

```typescript
public resetIpProtocol(): void
```

##### `resetIpVersion` <a name="resetIpVersion" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetIpVersion"></a>

```typescript
public resetIpVersion(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLoadBalancingScheme` <a name="resetLoadBalancingScheme" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetLoadBalancingScheme"></a>

```typescript
public resetLoadBalancingScheme(): void
```

##### `resetMetadataFilters` <a name="resetMetadataFilters" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetMetadataFilters"></a>

```typescript
public resetMetadataFilters(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetPortRange` <a name="resetPortRange" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetPortRange"></a>

```typescript
public resetPortRange(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.isConstruct"></a>

```typescript
import { ComputeGlobalForwardingRule } from '@dschmidt/provider-google'

ComputeGlobalForwardingRule.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.metadataFilters">metadataFilters</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersList">ComputeGlobalForwardingRuleMetadataFiltersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.pscConnectionId">pscConnectionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.pscConnectionStatus">pscConnectionStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeoutsOutputReference">ComputeGlobalForwardingRuleTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipAddressInput">ipAddressInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipProtocolInput">ipProtocolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipVersionInput">ipVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.loadBalancingSchemeInput">loadBalancingSchemeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.metadataFiltersInput">metadataFiltersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters">ComputeGlobalForwardingRuleMetadataFilters</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.portRangeInput">portRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.targetInput">targetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts">ComputeGlobalForwardingRuleTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipAddress">ipAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipProtocol">ipProtocol</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipVersion">ipVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.portRange">portRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.target">target</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `metadataFilters`<sup>Required</sup> <a name="metadataFilters" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.metadataFilters"></a>

```typescript
public readonly metadataFilters: ComputeGlobalForwardingRuleMetadataFiltersList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersList">ComputeGlobalForwardingRuleMetadataFiltersList</a>

---

##### `pscConnectionId`<sup>Required</sup> <a name="pscConnectionId" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.pscConnectionId"></a>

```typescript
public readonly pscConnectionId: string;
```

- *Type:* string

---

##### `pscConnectionStatus`<sup>Required</sup> <a name="pscConnectionStatus" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.pscConnectionStatus"></a>

```typescript
public readonly pscConnectionStatus: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeGlobalForwardingRuleTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeoutsOutputReference">ComputeGlobalForwardingRuleTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ipAddressInput`<sup>Optional</sup> <a name="ipAddressInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipAddressInput"></a>

```typescript
public readonly ipAddressInput: string;
```

- *Type:* string

---

##### `ipProtocolInput`<sup>Optional</sup> <a name="ipProtocolInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipProtocolInput"></a>

```typescript
public readonly ipProtocolInput: string;
```

- *Type:* string

---

##### `ipVersionInput`<sup>Optional</sup> <a name="ipVersionInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipVersionInput"></a>

```typescript
public readonly ipVersionInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `loadBalancingSchemeInput`<sup>Optional</sup> <a name="loadBalancingSchemeInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.loadBalancingSchemeInput"></a>

```typescript
public readonly loadBalancingSchemeInput: string;
```

- *Type:* string

---

##### `metadataFiltersInput`<sup>Optional</sup> <a name="metadataFiltersInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.metadataFiltersInput"></a>

```typescript
public readonly metadataFiltersInput: IResolvable | ComputeGlobalForwardingRuleMetadataFilters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters">ComputeGlobalForwardingRuleMetadataFilters</a>[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `portRangeInput`<sup>Optional</sup> <a name="portRangeInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.portRangeInput"></a>

```typescript
public readonly portRangeInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `targetInput`<sup>Optional</sup> <a name="targetInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.targetInput"></a>

```typescript
public readonly targetInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeGlobalForwardingRuleTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts">ComputeGlobalForwardingRuleTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

---

##### `ipProtocol`<sup>Required</sup> <a name="ipProtocol" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipProtocol"></a>

```typescript
public readonly ipProtocol: string;
```

- *Type:* string

---

##### `ipVersion`<sup>Required</sup> <a name="ipVersion" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.ipVersion"></a>

```typescript
public readonly ipVersion: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `loadBalancingScheme`<sup>Required</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `portRange`<sup>Required</sup> <a name="portRange" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.portRange"></a>

```typescript
public readonly portRange: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRule.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeGlobalForwardingRule.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeGlobalNetworkEndpoint <a name="ComputeGlobalNetworkEndpoint" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint google_compute_global_network_endpoint}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.Initializer"></a>

```typescript
import { ComputeGlobalNetworkEndpoint } from '@dschmidt/provider-google'

new ComputeGlobalNetworkEndpoint(scope: Construct, id: string, config: ComputeGlobalNetworkEndpointConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig">ComputeGlobalNetworkEndpointConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig">ComputeGlobalNetworkEndpointConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetFqdn">resetFqdn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetIpAddress">resetIpAddress</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeGlobalNetworkEndpointTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts">ComputeGlobalNetworkEndpointTimeouts</a>

---

##### `resetFqdn` <a name="resetFqdn" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetFqdn"></a>

```typescript
public resetFqdn(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpAddress` <a name="resetIpAddress" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetIpAddress"></a>

```typescript
public resetIpAddress(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.isConstruct"></a>

```typescript
import { ComputeGlobalNetworkEndpoint } from '@dschmidt/provider-google'

ComputeGlobalNetworkEndpoint.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeoutsOutputReference">ComputeGlobalNetworkEndpointTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.fqdnInput">fqdnInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.globalNetworkEndpointGroupInput">globalNetworkEndpointGroupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.ipAddressInput">ipAddressInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.portInput">portInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts">ComputeGlobalNetworkEndpointTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.globalNetworkEndpointGroup">globalNetworkEndpointGroup</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.ipAddress">ipAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeGlobalNetworkEndpointTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeoutsOutputReference">ComputeGlobalNetworkEndpointTimeoutsOutputReference</a>

---

##### `fqdnInput`<sup>Optional</sup> <a name="fqdnInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.fqdnInput"></a>

```typescript
public readonly fqdnInput: string;
```

- *Type:* string

---

##### `globalNetworkEndpointGroupInput`<sup>Optional</sup> <a name="globalNetworkEndpointGroupInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.globalNetworkEndpointGroupInput"></a>

```typescript
public readonly globalNetworkEndpointGroupInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ipAddressInput`<sup>Optional</sup> <a name="ipAddressInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.ipAddressInput"></a>

```typescript
public readonly ipAddressInput: string;
```

- *Type:* string

---

##### `portInput`<sup>Optional</sup> <a name="portInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.portInput"></a>

```typescript
public readonly portInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeGlobalNetworkEndpointTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts">ComputeGlobalNetworkEndpointTimeouts</a>

---

##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.fqdn"></a>

```typescript
public readonly fqdn: string;
```

- *Type:* string

---

##### `globalNetworkEndpointGroup`<sup>Required</sup> <a name="globalNetworkEndpointGroup" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.globalNetworkEndpointGroup"></a>

```typescript
public readonly globalNetworkEndpointGroup: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpoint.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeGlobalNetworkEndpointGroup <a name="ComputeGlobalNetworkEndpointGroup" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group google_compute_global_network_endpoint_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.Initializer"></a>

```typescript
import { ComputeGlobalNetworkEndpointGroup } from '@dschmidt/provider-google'

new ComputeGlobalNetworkEndpointGroup(scope: Construct, id: string, config: ComputeGlobalNetworkEndpointGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig">ComputeGlobalNetworkEndpointGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig">ComputeGlobalNetworkEndpointGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetDefaultPort">resetDefaultPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeGlobalNetworkEndpointGroupTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts">ComputeGlobalNetworkEndpointGroupTimeouts</a>

---

##### `resetDefaultPort` <a name="resetDefaultPort" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetDefaultPort"></a>

```typescript
public resetDefaultPort(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.isConstruct"></a>

```typescript
import { ComputeGlobalNetworkEndpointGroup } from '@dschmidt/provider-google'

ComputeGlobalNetworkEndpointGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeoutsOutputReference">ComputeGlobalNetworkEndpointGroupTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.defaultPortInput">defaultPortInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.networkEndpointTypeInput">networkEndpointTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts">ComputeGlobalNetworkEndpointGroupTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.defaultPort">defaultPort</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.networkEndpointType">networkEndpointType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeGlobalNetworkEndpointGroupTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeoutsOutputReference">ComputeGlobalNetworkEndpointGroupTimeoutsOutputReference</a>

---

##### `defaultPortInput`<sup>Optional</sup> <a name="defaultPortInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.defaultPortInput"></a>

```typescript
public readonly defaultPortInput: number;
```

- *Type:* number

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkEndpointTypeInput`<sup>Optional</sup> <a name="networkEndpointTypeInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.networkEndpointTypeInput"></a>

```typescript
public readonly networkEndpointTypeInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeGlobalNetworkEndpointGroupTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts">ComputeGlobalNetworkEndpointGroupTimeouts</a>

---

##### `defaultPort`<sup>Required</sup> <a name="defaultPort" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.defaultPort"></a>

```typescript
public readonly defaultPort: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `networkEndpointType`<sup>Required</sup> <a name="networkEndpointType" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.networkEndpointType"></a>

```typescript
public readonly networkEndpointType: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeHaVpnGateway <a name="ComputeHaVpnGateway" id="@dschmidt/provider-google.ComputeHaVpnGateway"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway google_compute_ha_vpn_gateway}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeHaVpnGateway.Initializer"></a>

```typescript
import { ComputeHaVpnGateway } from '@dschmidt/provider-google'

new ComputeHaVpnGateway(scope: Construct, id: string, config: ComputeHaVpnGatewayConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig">ComputeHaVpnGatewayConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeHaVpnGateway.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeHaVpnGateway.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeHaVpnGateway.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig">ComputeHaVpnGatewayConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.putVpnInterfaces">putVpnInterfaces</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.resetVpnInterfaces">resetVpnInterfaces</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeHaVpnGateway.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeHaVpnGateway.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeHaVpnGateway.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHaVpnGateway.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeHaVpnGateway.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeHaVpnGateway.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeHaVpnGateway.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeHaVpnGateway.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeHaVpnGateway.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHaVpnGateway.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeHaVpnGateway.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeHaVpnGatewayTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHaVpnGateway.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts">ComputeHaVpnGatewayTimeouts</a>

---

##### `putVpnInterfaces` <a name="putVpnInterfaces" id="@dschmidt/provider-google.ComputeHaVpnGateway.putVpnInterfaces"></a>

```typescript
public putVpnInterfaces(value: IResolvable | ComputeHaVpnGatewayVpnInterfaces[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHaVpnGateway.putVpnInterfaces.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces">ComputeHaVpnGatewayVpnInterfaces</a>[]

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeHaVpnGateway.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeHaVpnGateway.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeHaVpnGateway.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeHaVpnGateway.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeHaVpnGateway.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVpnInterfaces` <a name="resetVpnInterfaces" id="@dschmidt/provider-google.ComputeHaVpnGateway.resetVpnInterfaces"></a>

```typescript
public resetVpnInterfaces(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeHaVpnGateway.isConstruct"></a>

```typescript
import { ComputeHaVpnGateway } from '@dschmidt/provider-google'

ComputeHaVpnGateway.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeHaVpnGateway.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayTimeoutsOutputReference">ComputeHaVpnGatewayTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.vpnInterfaces">vpnInterfaces</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfacesList">ComputeHaVpnGatewayVpnInterfacesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts">ComputeHaVpnGatewayTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.vpnInterfacesInput">vpnInterfacesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces">ComputeHaVpnGatewayVpnInterfaces</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeHaVpnGatewayTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayTimeoutsOutputReference">ComputeHaVpnGatewayTimeoutsOutputReference</a>

---

##### `vpnInterfaces`<sup>Required</sup> <a name="vpnInterfaces" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.vpnInterfaces"></a>

```typescript
public readonly vpnInterfaces: ComputeHaVpnGatewayVpnInterfacesList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfacesList">ComputeHaVpnGatewayVpnInterfacesList</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeHaVpnGatewayTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts">ComputeHaVpnGatewayTimeouts</a>

---

##### `vpnInterfacesInput`<sup>Optional</sup> <a name="vpnInterfacesInput" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.vpnInterfacesInput"></a>

```typescript
public readonly vpnInterfacesInput: IResolvable | ComputeHaVpnGatewayVpnInterfaces[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces">ComputeHaVpnGatewayVpnInterfaces</a>[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGateway.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeHaVpnGateway.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeHealthCheck <a name="ComputeHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_health_check google_compute_health_check}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeHealthCheck.Initializer"></a>

```typescript
import { ComputeHealthCheck } from '@dschmidt/provider-google'

new ComputeHealthCheck(scope: Construct, id: string, config: ComputeHealthCheckConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig">ComputeHealthCheckConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeHealthCheck.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeHealthCheck.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeHealthCheck.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckConfig">ComputeHealthCheckConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.putGrpcHealthCheck">putGrpcHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.putHttp2HealthCheck">putHttp2HealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.putHttpHealthCheck">putHttpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.putHttpsHealthCheck">putHttpsHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.putLogConfig">putLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.putSslHealthCheck">putSslHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.putTcpHealthCheck">putTcpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetCheckIntervalSec">resetCheckIntervalSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetGrpcHealthCheck">resetGrpcHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetHealthyThreshold">resetHealthyThreshold</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetHttp2HealthCheck">resetHttp2HealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetHttpHealthCheck">resetHttpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetHttpsHealthCheck">resetHttpsHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetLogConfig">resetLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetSslHealthCheck">resetSslHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetTcpHealthCheck">resetTcpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetTimeoutSec">resetTimeoutSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.resetUnhealthyThreshold">resetUnhealthyThreshold</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeHealthCheck.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeHealthCheck.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeHealthCheck.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHealthCheck.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeHealthCheck.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeHealthCheck.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeHealthCheck.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeHealthCheck.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeHealthCheck.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHealthCheck.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putGrpcHealthCheck` <a name="putGrpcHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.putGrpcHealthCheck"></a>

```typescript
public putGrpcHealthCheck(value: ComputeHealthCheckGrpcHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHealthCheck.putGrpcHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck">ComputeHealthCheckGrpcHealthCheck</a>

---

##### `putHttp2HealthCheck` <a name="putHttp2HealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.putHttp2HealthCheck"></a>

```typescript
public putHttp2HealthCheck(value: ComputeHealthCheckHttp2HealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHealthCheck.putHttp2HealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck">ComputeHealthCheckHttp2HealthCheck</a>

---

##### `putHttpHealthCheck` <a name="putHttpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.putHttpHealthCheck"></a>

```typescript
public putHttpHealthCheck(value: ComputeHealthCheckHttpHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHealthCheck.putHttpHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck">ComputeHealthCheckHttpHealthCheck</a>

---

##### `putHttpsHealthCheck` <a name="putHttpsHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.putHttpsHealthCheck"></a>

```typescript
public putHttpsHealthCheck(value: ComputeHealthCheckHttpsHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHealthCheck.putHttpsHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck">ComputeHealthCheckHttpsHealthCheck</a>

---

##### `putLogConfig` <a name="putLogConfig" id="@dschmidt/provider-google.ComputeHealthCheck.putLogConfig"></a>

```typescript
public putLogConfig(value: ComputeHealthCheckLogConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHealthCheck.putLogConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckLogConfig">ComputeHealthCheckLogConfig</a>

---

##### `putSslHealthCheck` <a name="putSslHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.putSslHealthCheck"></a>

```typescript
public putSslHealthCheck(value: ComputeHealthCheckSslHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHealthCheck.putSslHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck">ComputeHealthCheckSslHealthCheck</a>

---

##### `putTcpHealthCheck` <a name="putTcpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.putTcpHealthCheck"></a>

```typescript
public putTcpHealthCheck(value: ComputeHealthCheckTcpHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHealthCheck.putTcpHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck">ComputeHealthCheckTcpHealthCheck</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeHealthCheck.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeHealthCheckTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHealthCheck.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckTimeouts">ComputeHealthCheckTimeouts</a>

---

##### `resetCheckIntervalSec` <a name="resetCheckIntervalSec" id="@dschmidt/provider-google.ComputeHealthCheck.resetCheckIntervalSec"></a>

```typescript
public resetCheckIntervalSec(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeHealthCheck.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetGrpcHealthCheck` <a name="resetGrpcHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.resetGrpcHealthCheck"></a>

```typescript
public resetGrpcHealthCheck(): void
```

##### `resetHealthyThreshold` <a name="resetHealthyThreshold" id="@dschmidt/provider-google.ComputeHealthCheck.resetHealthyThreshold"></a>

```typescript
public resetHealthyThreshold(): void
```

##### `resetHttp2HealthCheck` <a name="resetHttp2HealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.resetHttp2HealthCheck"></a>

```typescript
public resetHttp2HealthCheck(): void
```

##### `resetHttpHealthCheck` <a name="resetHttpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.resetHttpHealthCheck"></a>

```typescript
public resetHttpHealthCheck(): void
```

##### `resetHttpsHealthCheck` <a name="resetHttpsHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.resetHttpsHealthCheck"></a>

```typescript
public resetHttpsHealthCheck(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeHealthCheck.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLogConfig` <a name="resetLogConfig" id="@dschmidt/provider-google.ComputeHealthCheck.resetLogConfig"></a>

```typescript
public resetLogConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeHealthCheck.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSslHealthCheck` <a name="resetSslHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.resetSslHealthCheck"></a>

```typescript
public resetSslHealthCheck(): void
```

##### `resetTcpHealthCheck` <a name="resetTcpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.resetTcpHealthCheck"></a>

```typescript
public resetTcpHealthCheck(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeHealthCheck.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTimeoutSec` <a name="resetTimeoutSec" id="@dschmidt/provider-google.ComputeHealthCheck.resetTimeoutSec"></a>

```typescript
public resetTimeoutSec(): void
```

##### `resetUnhealthyThreshold` <a name="resetUnhealthyThreshold" id="@dschmidt/provider-google.ComputeHealthCheck.resetUnhealthyThreshold"></a>

```typescript
public resetUnhealthyThreshold(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeHealthCheck.isConstruct"></a>

```typescript
import { ComputeHealthCheck } from '@dschmidt/provider-google'

ComputeHealthCheck.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeHealthCheck.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.grpcHealthCheck">grpcHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheckOutputReference">ComputeHealthCheckGrpcHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.http2HealthCheck">http2HealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheckOutputReference">ComputeHealthCheckHttp2HealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.httpHealthCheck">httpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheckOutputReference">ComputeHealthCheckHttpHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.httpsHealthCheck">httpsHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheckOutputReference">ComputeHealthCheckHttpsHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckLogConfigOutputReference">ComputeHealthCheckLogConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.sslHealthCheck">sslHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheckOutputReference">ComputeHealthCheckSslHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.tcpHealthCheck">tcpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheckOutputReference">ComputeHealthCheckTcpHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTimeoutsOutputReference">ComputeHealthCheckTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.checkIntervalSecInput">checkIntervalSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.grpcHealthCheckInput">grpcHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck">ComputeHealthCheckGrpcHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.healthyThresholdInput">healthyThresholdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.http2HealthCheckInput">http2HealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck">ComputeHealthCheckHttp2HealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.httpHealthCheckInput">httpHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck">ComputeHealthCheckHttpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.httpsHealthCheckInput">httpsHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck">ComputeHealthCheckHttpsHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.logConfigInput">logConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckLogConfig">ComputeHealthCheckLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.sslHealthCheckInput">sslHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck">ComputeHealthCheckSslHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.tcpHealthCheckInput">tcpHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck">ComputeHealthCheckTcpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.timeoutSecInput">timeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeHealthCheckTimeouts">ComputeHealthCheckTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.unhealthyThresholdInput">unhealthyThresholdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.checkIntervalSec">checkIntervalSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.healthyThreshold">healthyThreshold</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.unhealthyThreshold">unhealthyThreshold</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeHealthCheck.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeHealthCheck.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeHealthCheck.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeHealthCheck.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeHealthCheck.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeHealthCheck.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeHealthCheck.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeHealthCheck.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeHealthCheck.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeHealthCheck.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeHealthCheck.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeHealthCheck.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeHealthCheck.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeHealthCheck.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeHealthCheck.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `grpcHealthCheck`<sup>Required</sup> <a name="grpcHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.property.grpcHealthCheck"></a>

```typescript
public readonly grpcHealthCheck: ComputeHealthCheckGrpcHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheckOutputReference">ComputeHealthCheckGrpcHealthCheckOutputReference</a>

---

##### `http2HealthCheck`<sup>Required</sup> <a name="http2HealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.property.http2HealthCheck"></a>

```typescript
public readonly http2HealthCheck: ComputeHealthCheckHttp2HealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheckOutputReference">ComputeHealthCheckHttp2HealthCheckOutputReference</a>

---

##### `httpHealthCheck`<sup>Required</sup> <a name="httpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.property.httpHealthCheck"></a>

```typescript
public readonly httpHealthCheck: ComputeHealthCheckHttpHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheckOutputReference">ComputeHealthCheckHttpHealthCheckOutputReference</a>

---

##### `httpsHealthCheck`<sup>Required</sup> <a name="httpsHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.property.httpsHealthCheck"></a>

```typescript
public readonly httpsHealthCheck: ComputeHealthCheckHttpsHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheckOutputReference">ComputeHealthCheckHttpsHealthCheckOutputReference</a>

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeHealthCheck.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeHealthCheckLogConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckLogConfigOutputReference">ComputeHealthCheckLogConfigOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeHealthCheck.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `sslHealthCheck`<sup>Required</sup> <a name="sslHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.property.sslHealthCheck"></a>

```typescript
public readonly sslHealthCheck: ComputeHealthCheckSslHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheckOutputReference">ComputeHealthCheckSslHealthCheckOutputReference</a>

---

##### `tcpHealthCheck`<sup>Required</sup> <a name="tcpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheck.property.tcpHealthCheck"></a>

```typescript
public readonly tcpHealthCheck: ComputeHealthCheckTcpHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheckOutputReference">ComputeHealthCheckTcpHealthCheckOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeHealthCheck.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeHealthCheckTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckTimeoutsOutputReference">ComputeHealthCheckTimeoutsOutputReference</a>

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeHealthCheck.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `checkIntervalSecInput`<sup>Optional</sup> <a name="checkIntervalSecInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.checkIntervalSecInput"></a>

```typescript
public readonly checkIntervalSecInput: number;
```

- *Type:* number

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `grpcHealthCheckInput`<sup>Optional</sup> <a name="grpcHealthCheckInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.grpcHealthCheckInput"></a>

```typescript
public readonly grpcHealthCheckInput: ComputeHealthCheckGrpcHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck">ComputeHealthCheckGrpcHealthCheck</a>

---

##### `healthyThresholdInput`<sup>Optional</sup> <a name="healthyThresholdInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.healthyThresholdInput"></a>

```typescript
public readonly healthyThresholdInput: number;
```

- *Type:* number

---

##### `http2HealthCheckInput`<sup>Optional</sup> <a name="http2HealthCheckInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.http2HealthCheckInput"></a>

```typescript
public readonly http2HealthCheckInput: ComputeHealthCheckHttp2HealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck">ComputeHealthCheckHttp2HealthCheck</a>

---

##### `httpHealthCheckInput`<sup>Optional</sup> <a name="httpHealthCheckInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.httpHealthCheckInput"></a>

```typescript
public readonly httpHealthCheckInput: ComputeHealthCheckHttpHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck">ComputeHealthCheckHttpHealthCheck</a>

---

##### `httpsHealthCheckInput`<sup>Optional</sup> <a name="httpsHealthCheckInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.httpsHealthCheckInput"></a>

```typescript
public readonly httpsHealthCheckInput: ComputeHealthCheckHttpsHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck">ComputeHealthCheckHttpsHealthCheck</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `logConfigInput`<sup>Optional</sup> <a name="logConfigInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.logConfigInput"></a>

```typescript
public readonly logConfigInput: ComputeHealthCheckLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckLogConfig">ComputeHealthCheckLogConfig</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `sslHealthCheckInput`<sup>Optional</sup> <a name="sslHealthCheckInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.sslHealthCheckInput"></a>

```typescript
public readonly sslHealthCheckInput: ComputeHealthCheckSslHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck">ComputeHealthCheckSslHealthCheck</a>

---

##### `tcpHealthCheckInput`<sup>Optional</sup> <a name="tcpHealthCheckInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.tcpHealthCheckInput"></a>

```typescript
public readonly tcpHealthCheckInput: ComputeHealthCheckTcpHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck">ComputeHealthCheckTcpHealthCheck</a>

---

##### `timeoutSecInput`<sup>Optional</sup> <a name="timeoutSecInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.timeoutSecInput"></a>

```typescript
public readonly timeoutSecInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeHealthCheckTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeHealthCheckTimeouts">ComputeHealthCheckTimeouts</a>

---

##### `unhealthyThresholdInput`<sup>Optional</sup> <a name="unhealthyThresholdInput" id="@dschmidt/provider-google.ComputeHealthCheck.property.unhealthyThresholdInput"></a>

```typescript
public readonly unhealthyThresholdInput: number;
```

- *Type:* number

---

##### `checkIntervalSec`<sup>Required</sup> <a name="checkIntervalSec" id="@dschmidt/provider-google.ComputeHealthCheck.property.checkIntervalSec"></a>

```typescript
public readonly checkIntervalSec: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeHealthCheck.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `healthyThreshold`<sup>Required</sup> <a name="healthyThreshold" id="@dschmidt/provider-google.ComputeHealthCheck.property.healthyThreshold"></a>

```typescript
public readonly healthyThreshold: number;
```

- *Type:* number

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeHealthCheck.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeHealthCheck.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeHealthCheck.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `timeoutSec`<sup>Required</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeHealthCheck.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

---

##### `unhealthyThreshold`<sup>Required</sup> <a name="unhealthyThreshold" id="@dschmidt/provider-google.ComputeHealthCheck.property.unhealthyThreshold"></a>

```typescript
public readonly unhealthyThreshold: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheck.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeHealthCheck.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeHttpHealthCheck <a name="ComputeHttpHealthCheck" id="@dschmidt/provider-google.ComputeHttpHealthCheck"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check google_compute_http_health_check}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeHttpHealthCheck.Initializer"></a>

```typescript
import { ComputeHttpHealthCheck } from '@dschmidt/provider-google'

new ComputeHttpHealthCheck(scope: Construct, id: string, config: ComputeHttpHealthCheckConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig">ComputeHttpHealthCheckConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeHttpHealthCheck.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeHttpHealthCheck.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeHttpHealthCheck.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig">ComputeHttpHealthCheckConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetCheckIntervalSec">resetCheckIntervalSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetHealthyThreshold">resetHealthyThreshold</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetHost">resetHost</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetPort">resetPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetRequestPath">resetRequestPath</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetTimeoutSec">resetTimeoutSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.resetUnhealthyThreshold">resetUnhealthyThreshold</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeHttpHealthCheck.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeHttpHealthCheck.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeHttpHealthCheck.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHttpHealthCheck.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeHttpHealthCheck.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeHttpHealthCheck.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeHttpHealthCheck.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeHttpHealthCheck.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpHealthCheck.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeHttpHealthCheck.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeHttpHealthCheckTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHttpHealthCheck.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts">ComputeHttpHealthCheckTimeouts</a>

---

##### `resetCheckIntervalSec` <a name="resetCheckIntervalSec" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetCheckIntervalSec"></a>

```typescript
public resetCheckIntervalSec(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetHealthyThreshold` <a name="resetHealthyThreshold" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetHealthyThreshold"></a>

```typescript
public resetHealthyThreshold(): void
```

##### `resetHost` <a name="resetHost" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetHost"></a>

```typescript
public resetHost(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPort` <a name="resetPort" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetPort"></a>

```typescript
public resetPort(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRequestPath` <a name="resetRequestPath" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetRequestPath"></a>

```typescript
public resetRequestPath(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTimeoutSec` <a name="resetTimeoutSec" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetTimeoutSec"></a>

```typescript
public resetTimeoutSec(): void
```

##### `resetUnhealthyThreshold` <a name="resetUnhealthyThreshold" id="@dschmidt/provider-google.ComputeHttpHealthCheck.resetUnhealthyThreshold"></a>

```typescript
public resetUnhealthyThreshold(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeHttpHealthCheck.isConstruct"></a>

```typescript
import { ComputeHttpHealthCheck } from '@dschmidt/provider-google'

ComputeHttpHealthCheck.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeHttpHealthCheck.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeoutsOutputReference">ComputeHttpHealthCheckTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.checkIntervalSecInput">checkIntervalSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.healthyThresholdInput">healthyThresholdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.hostInput">hostInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.portInput">portInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.requestPathInput">requestPathInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.timeoutSecInput">timeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts">ComputeHttpHealthCheckTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.unhealthyThresholdInput">unhealthyThresholdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.checkIntervalSec">checkIntervalSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.healthyThreshold">healthyThreshold</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.host">host</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.requestPath">requestPath</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.unhealthyThreshold">unhealthyThreshold</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeHttpHealthCheckTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeoutsOutputReference">ComputeHttpHealthCheckTimeoutsOutputReference</a>

---

##### `checkIntervalSecInput`<sup>Optional</sup> <a name="checkIntervalSecInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.checkIntervalSecInput"></a>

```typescript
public readonly checkIntervalSecInput: number;
```

- *Type:* number

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `healthyThresholdInput`<sup>Optional</sup> <a name="healthyThresholdInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.healthyThresholdInput"></a>

```typescript
public readonly healthyThresholdInput: number;
```

- *Type:* number

---

##### `hostInput`<sup>Optional</sup> <a name="hostInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.hostInput"></a>

```typescript
public readonly hostInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `portInput`<sup>Optional</sup> <a name="portInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.portInput"></a>

```typescript
public readonly portInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `requestPathInput`<sup>Optional</sup> <a name="requestPathInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.requestPathInput"></a>

```typescript
public readonly requestPathInput: string;
```

- *Type:* string

---

##### `timeoutSecInput`<sup>Optional</sup> <a name="timeoutSecInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.timeoutSecInput"></a>

```typescript
public readonly timeoutSecInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeHttpHealthCheckTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts">ComputeHttpHealthCheckTimeouts</a>

---

##### `unhealthyThresholdInput`<sup>Optional</sup> <a name="unhealthyThresholdInput" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.unhealthyThresholdInput"></a>

```typescript
public readonly unhealthyThresholdInput: number;
```

- *Type:* number

---

##### `checkIntervalSec`<sup>Required</sup> <a name="checkIntervalSec" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.checkIntervalSec"></a>

```typescript
public readonly checkIntervalSec: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `healthyThreshold`<sup>Required</sup> <a name="healthyThreshold" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.healthyThreshold"></a>

```typescript
public readonly healthyThreshold: number;
```

- *Type:* number

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `requestPath`<sup>Required</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

---

##### `timeoutSec`<sup>Required</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

---

##### `unhealthyThreshold`<sup>Required</sup> <a name="unhealthyThreshold" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.unhealthyThreshold"></a>

```typescript
public readonly unhealthyThreshold: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheck.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeHttpHealthCheck.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeHttpsHealthCheck <a name="ComputeHttpsHealthCheck" id="@dschmidt/provider-google.ComputeHttpsHealthCheck"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check google_compute_https_health_check}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.Initializer"></a>

```typescript
import { ComputeHttpsHealthCheck } from '@dschmidt/provider-google'

new ComputeHttpsHealthCheck(scope: Construct, id: string, config: ComputeHttpsHealthCheckConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig">ComputeHttpsHealthCheckConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig">ComputeHttpsHealthCheckConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetCheckIntervalSec">resetCheckIntervalSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetHealthyThreshold">resetHealthyThreshold</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetHost">resetHost</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetPort">resetPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetRequestPath">resetRequestPath</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetTimeoutSec">resetTimeoutSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.resetUnhealthyThreshold">resetUnhealthyThreshold</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeHttpsHealthCheckTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts">ComputeHttpsHealthCheckTimeouts</a>

---

##### `resetCheckIntervalSec` <a name="resetCheckIntervalSec" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetCheckIntervalSec"></a>

```typescript
public resetCheckIntervalSec(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetHealthyThreshold` <a name="resetHealthyThreshold" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetHealthyThreshold"></a>

```typescript
public resetHealthyThreshold(): void
```

##### `resetHost` <a name="resetHost" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetHost"></a>

```typescript
public resetHost(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPort` <a name="resetPort" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetPort"></a>

```typescript
public resetPort(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRequestPath` <a name="resetRequestPath" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetRequestPath"></a>

```typescript
public resetRequestPath(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTimeoutSec` <a name="resetTimeoutSec" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetTimeoutSec"></a>

```typescript
public resetTimeoutSec(): void
```

##### `resetUnhealthyThreshold` <a name="resetUnhealthyThreshold" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.resetUnhealthyThreshold"></a>

```typescript
public resetUnhealthyThreshold(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.isConstruct"></a>

```typescript
import { ComputeHttpsHealthCheck } from '@dschmidt/provider-google'

ComputeHttpsHealthCheck.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeoutsOutputReference">ComputeHttpsHealthCheckTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.checkIntervalSecInput">checkIntervalSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.healthyThresholdInput">healthyThresholdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.hostInput">hostInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.portInput">portInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.requestPathInput">requestPathInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.timeoutSecInput">timeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts">ComputeHttpsHealthCheckTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.unhealthyThresholdInput">unhealthyThresholdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.checkIntervalSec">checkIntervalSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.healthyThreshold">healthyThreshold</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.host">host</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.requestPath">requestPath</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.unhealthyThreshold">unhealthyThreshold</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeHttpsHealthCheckTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeoutsOutputReference">ComputeHttpsHealthCheckTimeoutsOutputReference</a>

---

##### `checkIntervalSecInput`<sup>Optional</sup> <a name="checkIntervalSecInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.checkIntervalSecInput"></a>

```typescript
public readonly checkIntervalSecInput: number;
```

- *Type:* number

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `healthyThresholdInput`<sup>Optional</sup> <a name="healthyThresholdInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.healthyThresholdInput"></a>

```typescript
public readonly healthyThresholdInput: number;
```

- *Type:* number

---

##### `hostInput`<sup>Optional</sup> <a name="hostInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.hostInput"></a>

```typescript
public readonly hostInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `portInput`<sup>Optional</sup> <a name="portInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.portInput"></a>

```typescript
public readonly portInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `requestPathInput`<sup>Optional</sup> <a name="requestPathInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.requestPathInput"></a>

```typescript
public readonly requestPathInput: string;
```

- *Type:* string

---

##### `timeoutSecInput`<sup>Optional</sup> <a name="timeoutSecInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.timeoutSecInput"></a>

```typescript
public readonly timeoutSecInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeHttpsHealthCheckTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts">ComputeHttpsHealthCheckTimeouts</a>

---

##### `unhealthyThresholdInput`<sup>Optional</sup> <a name="unhealthyThresholdInput" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.unhealthyThresholdInput"></a>

```typescript
public readonly unhealthyThresholdInput: number;
```

- *Type:* number

---

##### `checkIntervalSec`<sup>Required</sup> <a name="checkIntervalSec" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.checkIntervalSec"></a>

```typescript
public readonly checkIntervalSec: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `healthyThreshold`<sup>Required</sup> <a name="healthyThreshold" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.healthyThreshold"></a>

```typescript
public readonly healthyThreshold: number;
```

- *Type:* number

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `requestPath`<sup>Required</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

---

##### `timeoutSec`<sup>Required</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

---

##### `unhealthyThreshold`<sup>Required</sup> <a name="unhealthyThreshold" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.unhealthyThreshold"></a>

```typescript
public readonly unhealthyThreshold: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheck.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeHttpsHealthCheck.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeImage <a name="ComputeImage" id="@dschmidt/provider-google.ComputeImage"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_image google_compute_image}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeImage.Initializer"></a>

```typescript
import { ComputeImage } from '@dschmidt/provider-google'

new ComputeImage(scope: Construct, id: string, config: ComputeImageConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImage.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeImage.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeImage.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageConfig">ComputeImageConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeImage.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeImage.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeImage.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageConfig">ComputeImageConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImage.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeImage.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeImage.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeImage.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.putGuestOsFeatures">putGuestOsFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.putRawDisk">putRawDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetDiskSizeGb">resetDiskSizeGb</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetFamily">resetFamily</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetGuestOsFeatures">resetGuestOsFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetLicenses">resetLicenses</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetRawDisk">resetRawDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetSourceDisk">resetSourceDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetSourceImage">resetSourceImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetSourceSnapshot">resetSourceSnapshot</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeImage.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeImage.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeImage.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeImage.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeImage.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeImage.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeImage.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeImage.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeImage.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeImage.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeImage.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeImage.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeImage.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeImage.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeImage.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeImage.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeImage.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeImage.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeImage.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImage.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putGuestOsFeatures` <a name="putGuestOsFeatures" id="@dschmidt/provider-google.ComputeImage.putGuestOsFeatures"></a>

```typescript
public putGuestOsFeatures(value: IResolvable | ComputeImageGuestOsFeatures[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeImage.putGuestOsFeatures.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeImageGuestOsFeatures">ComputeImageGuestOsFeatures</a>[]

---

##### `putRawDisk` <a name="putRawDisk" id="@dschmidt/provider-google.ComputeImage.putRawDisk"></a>

```typescript
public putRawDisk(value: ComputeImageRawDisk): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeImage.putRawDisk.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageRawDisk">ComputeImageRawDisk</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeImage.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeImageTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeImage.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageTimeouts">ComputeImageTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeImage.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDiskSizeGb` <a name="resetDiskSizeGb" id="@dschmidt/provider-google.ComputeImage.resetDiskSizeGb"></a>

```typescript
public resetDiskSizeGb(): void
```

##### `resetFamily` <a name="resetFamily" id="@dschmidt/provider-google.ComputeImage.resetFamily"></a>

```typescript
public resetFamily(): void
```

##### `resetGuestOsFeatures` <a name="resetGuestOsFeatures" id="@dschmidt/provider-google.ComputeImage.resetGuestOsFeatures"></a>

```typescript
public resetGuestOsFeatures(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeImage.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComputeImage.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLicenses` <a name="resetLicenses" id="@dschmidt/provider-google.ComputeImage.resetLicenses"></a>

```typescript
public resetLicenses(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeImage.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRawDisk` <a name="resetRawDisk" id="@dschmidt/provider-google.ComputeImage.resetRawDisk"></a>

```typescript
public resetRawDisk(): void
```

##### `resetSourceDisk` <a name="resetSourceDisk" id="@dschmidt/provider-google.ComputeImage.resetSourceDisk"></a>

```typescript
public resetSourceDisk(): void
```

##### `resetSourceImage` <a name="resetSourceImage" id="@dschmidt/provider-google.ComputeImage.resetSourceImage"></a>

```typescript
public resetSourceImage(): void
```

##### `resetSourceSnapshot` <a name="resetSourceSnapshot" id="@dschmidt/provider-google.ComputeImage.resetSourceSnapshot"></a>

```typescript
public resetSourceSnapshot(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeImage.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImage.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeImage.isConstruct"></a>

```typescript
import { ComputeImage } from '@dschmidt/provider-google'

ComputeImage.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeImage.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.archiveSizeBytes">archiveSizeBytes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.guestOsFeatures">guestOsFeatures</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageGuestOsFeaturesList">ComputeImageGuestOsFeaturesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.rawDisk">rawDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageRawDiskOutputReference">ComputeImageRawDiskOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageTimeoutsOutputReference">ComputeImageTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.diskSizeGbInput">diskSizeGbInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.familyInput">familyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.guestOsFeaturesInput">guestOsFeaturesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeImageGuestOsFeatures">ComputeImageGuestOsFeatures</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.licensesInput">licensesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.rawDiskInput">rawDiskInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageRawDisk">ComputeImageRawDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.sourceDiskInput">sourceDiskInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.sourceImageInput">sourceImageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.sourceSnapshotInput">sourceSnapshotInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeImageTimeouts">ComputeImageTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.family">family</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.licenses">licenses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.sourceDisk">sourceDisk</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.sourceImage">sourceImage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.sourceSnapshot">sourceSnapshot</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeImage.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeImage.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeImage.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeImage.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeImage.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeImage.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeImage.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeImage.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeImage.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeImage.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeImage.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeImage.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeImage.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeImage.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `archiveSizeBytes`<sup>Required</sup> <a name="archiveSizeBytes" id="@dschmidt/provider-google.ComputeImage.property.archiveSizeBytes"></a>

```typescript
public readonly archiveSizeBytes: number;
```

- *Type:* number

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeImage.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `guestOsFeatures`<sup>Required</sup> <a name="guestOsFeatures" id="@dschmidt/provider-google.ComputeImage.property.guestOsFeatures"></a>

```typescript
public readonly guestOsFeatures: ComputeImageGuestOsFeaturesList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageGuestOsFeaturesList">ComputeImageGuestOsFeaturesList</a>

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.ComputeImage.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `rawDisk`<sup>Required</sup> <a name="rawDisk" id="@dschmidt/provider-google.ComputeImage.property.rawDisk"></a>

```typescript
public readonly rawDisk: ComputeImageRawDiskOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageRawDiskOutputReference">ComputeImageRawDiskOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeImage.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeImage.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeImageTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageTimeoutsOutputReference">ComputeImageTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeImage.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `diskSizeGbInput`<sup>Optional</sup> <a name="diskSizeGbInput" id="@dschmidt/provider-google.ComputeImage.property.diskSizeGbInput"></a>

```typescript
public readonly diskSizeGbInput: number;
```

- *Type:* number

---

##### `familyInput`<sup>Optional</sup> <a name="familyInput" id="@dschmidt/provider-google.ComputeImage.property.familyInput"></a>

```typescript
public readonly familyInput: string;
```

- *Type:* string

---

##### `guestOsFeaturesInput`<sup>Optional</sup> <a name="guestOsFeaturesInput" id="@dschmidt/provider-google.ComputeImage.property.guestOsFeaturesInput"></a>

```typescript
public readonly guestOsFeaturesInput: IResolvable | ComputeImageGuestOsFeatures[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeImageGuestOsFeatures">ComputeImageGuestOsFeatures</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeImage.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComputeImage.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `licensesInput`<sup>Optional</sup> <a name="licensesInput" id="@dschmidt/provider-google.ComputeImage.property.licensesInput"></a>

```typescript
public readonly licensesInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeImage.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeImage.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `rawDiskInput`<sup>Optional</sup> <a name="rawDiskInput" id="@dschmidt/provider-google.ComputeImage.property.rawDiskInput"></a>

```typescript
public readonly rawDiskInput: ComputeImageRawDisk;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageRawDisk">ComputeImageRawDisk</a>

---

##### `sourceDiskInput`<sup>Optional</sup> <a name="sourceDiskInput" id="@dschmidt/provider-google.ComputeImage.property.sourceDiskInput"></a>

```typescript
public readonly sourceDiskInput: string;
```

- *Type:* string

---

##### `sourceImageInput`<sup>Optional</sup> <a name="sourceImageInput" id="@dschmidt/provider-google.ComputeImage.property.sourceImageInput"></a>

```typescript
public readonly sourceImageInput: string;
```

- *Type:* string

---

##### `sourceSnapshotInput`<sup>Optional</sup> <a name="sourceSnapshotInput" id="@dschmidt/provider-google.ComputeImage.property.sourceSnapshotInput"></a>

```typescript
public readonly sourceSnapshotInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeImage.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeImageTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeImageTimeouts">ComputeImageTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeImage.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `diskSizeGb`<sup>Required</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.ComputeImage.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

---

##### `family`<sup>Required</sup> <a name="family" id="@dschmidt/provider-google.ComputeImage.property.family"></a>

```typescript
public readonly family: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeImage.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComputeImage.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `licenses`<sup>Required</sup> <a name="licenses" id="@dschmidt/provider-google.ComputeImage.property.licenses"></a>

```typescript
public readonly licenses: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeImage.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeImage.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `sourceDisk`<sup>Required</sup> <a name="sourceDisk" id="@dschmidt/provider-google.ComputeImage.property.sourceDisk"></a>

```typescript
public readonly sourceDisk: string;
```

- *Type:* string

---

##### `sourceImage`<sup>Required</sup> <a name="sourceImage" id="@dschmidt/provider-google.ComputeImage.property.sourceImage"></a>

```typescript
public readonly sourceImage: string;
```

- *Type:* string

---

##### `sourceSnapshot`<sup>Required</sup> <a name="sourceSnapshot" id="@dschmidt/provider-google.ComputeImage.property.sourceSnapshot"></a>

```typescript
public readonly sourceSnapshot: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImage.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeImage.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeImageIamBinding <a name="ComputeImageIamBinding" id="@dschmidt/provider-google.ComputeImageIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding google_compute_image_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeImageIamBinding.Initializer"></a>

```typescript
import { ComputeImageIamBinding } from '@dschmidt/provider-google'

new ComputeImageIamBinding(scope: Construct, id: string, config: ComputeImageIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig">ComputeImageIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeImageIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeImageIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig">ComputeImageIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeImageIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeImageIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeImageIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeImageIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeImageIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeImageIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeImageIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeImageIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeImageIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeImageIamBinding.putCondition"></a>

```typescript
public putCondition(value: ComputeImageIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeImageIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamBindingCondition">ComputeImageIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeImageIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeImageIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeImageIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeImageIamBinding.isConstruct"></a>

```typescript
import { ComputeImageIamBinding } from '@dschmidt/provider-google'

ComputeImageIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeImageIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConditionOutputReference">ComputeImageIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingCondition">ComputeImageIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.imageInput">imageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.image">image</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeImageIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeImageIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeImageIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeImageIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeImageIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeImageIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeImageIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeImageIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeImageIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeImageIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeImageIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeImageIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeImageIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeImageIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeImageIamBinding.property.condition"></a>

```typescript
public readonly condition: ComputeImageIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamBindingConditionOutputReference">ComputeImageIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeImageIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeImageIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeImageIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamBindingCondition">ComputeImageIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeImageIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `imageInput`<sup>Optional</sup> <a name="imageInput" id="@dschmidt/provider-google.ComputeImageIamBinding.property.imageInput"></a>

```typescript
public readonly imageInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ComputeImageIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeImageIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeImageIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.ComputeImageIamBinding.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeImageIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeImageIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeImageIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeImageIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeImageIamMember <a name="ComputeImageIamMember" id="@dschmidt/provider-google.ComputeImageIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member google_compute_image_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeImageIamMember.Initializer"></a>

```typescript
import { ComputeImageIamMember } from '@dschmidt/provider-google'

new ComputeImageIamMember(scope: Construct, id: string, config: ComputeImageIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig">ComputeImageIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeImageIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeImageIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig">ComputeImageIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeImageIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeImageIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeImageIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeImageIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeImageIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeImageIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeImageIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeImageIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeImageIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeImageIamMember.putCondition"></a>

```typescript
public putCondition(value: ComputeImageIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeImageIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamMemberCondition">ComputeImageIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeImageIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeImageIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeImageIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeImageIamMember.isConstruct"></a>

```typescript
import { ComputeImageIamMember } from '@dschmidt/provider-google'

ComputeImageIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeImageIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConditionOutputReference">ComputeImageIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberCondition">ComputeImageIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.imageInput">imageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.image">image</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeImageIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeImageIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeImageIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeImageIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeImageIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeImageIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeImageIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeImageIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeImageIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeImageIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeImageIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeImageIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeImageIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeImageIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeImageIamMember.property.condition"></a>

```typescript
public readonly condition: ComputeImageIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamMemberConditionOutputReference">ComputeImageIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeImageIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeImageIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeImageIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamMemberCondition">ComputeImageIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeImageIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `imageInput`<sup>Optional</sup> <a name="imageInput" id="@dschmidt/provider-google.ComputeImageIamMember.property.imageInput"></a>

```typescript
public readonly imageInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ComputeImageIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeImageIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeImageIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.ComputeImageIamMember.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeImageIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeImageIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeImageIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeImageIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeImageIamPolicy <a name="ComputeImageIamPolicy" id="@dschmidt/provider-google.ComputeImageIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_policy google_compute_image_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeImageIamPolicy.Initializer"></a>

```typescript
import { ComputeImageIamPolicy } from '@dschmidt/provider-google'

new ComputeImageIamPolicy(scope: Construct, id: string, config: ComputeImageIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig">ComputeImageIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeImageIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeImageIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig">ComputeImageIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeImageIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeImageIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeImageIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeImageIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeImageIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeImageIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeImageIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeImageIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeImageIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeImageIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeImageIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeImageIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeImageIamPolicy.isConstruct"></a>

```typescript
import { ComputeImageIamPolicy } from '@dschmidt/provider-google'

ComputeImageIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeImageIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.imageInput">imageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.image">image</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `imageInput`<sup>Optional</sup> <a name="imageInput" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.imageInput"></a>

```typescript
public readonly imageInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeImageIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInstance <a name="ComputeInstance" id="@dschmidt/provider-google.ComputeInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_instance google_compute_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInstance.Initializer"></a>

```typescript
import { ComputeInstance } from '@dschmidt/provider-google'

new ComputeInstance(scope: Construct, id: string, config: ComputeInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig">ComputeInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceConfig">ComputeInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putAdvancedMachineFeatures">putAdvancedMachineFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putAttachedDisk">putAttachedDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putBootDisk">putBootDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putConfidentialInstanceConfig">putConfidentialInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putGuestAccelerator">putGuestAccelerator</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putNetworkInterface">putNetworkInterface</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putReservationAffinity">putReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putScheduling">putScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putScratchDisk">putScratchDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putServiceAccount">putServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putShieldedInstanceConfig">putShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetAdvancedMachineFeatures">resetAdvancedMachineFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetAllowStoppingForUpdate">resetAllowStoppingForUpdate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetAttachedDisk">resetAttachedDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetCanIpForward">resetCanIpForward</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetConfidentialInstanceConfig">resetConfidentialInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetDeletionProtection">resetDeletionProtection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetDesiredStatus">resetDesiredStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetEnableDisplay">resetEnableDisplay</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetGuestAccelerator">resetGuestAccelerator</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetHostname">resetHostname</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetMetadata">resetMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetMetadataStartupScript">resetMetadataStartupScript</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetMinCpuPlatform">resetMinCpuPlatform</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetReservationAffinity">resetReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetResourcePolicies">resetResourcePolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetScheduling">resetScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetScratchDisk">resetScratchDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetServiceAccount">resetServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetShieldedInstanceConfig">resetShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetTags">resetTags</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAdvancedMachineFeatures` <a name="putAdvancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstance.putAdvancedMachineFeatures"></a>

```typescript
public putAdvancedMachineFeatures(value: ComputeInstanceAdvancedMachineFeatures): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putAdvancedMachineFeatures.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures">ComputeInstanceAdvancedMachineFeatures</a>

---

##### `putAttachedDisk` <a name="putAttachedDisk" id="@dschmidt/provider-google.ComputeInstance.putAttachedDisk"></a>

```typescript
public putAttachedDisk(value: IResolvable | ComputeInstanceAttachedDisk[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putAttachedDisk.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk">ComputeInstanceAttachedDisk</a>[]

---

##### `putBootDisk` <a name="putBootDisk" id="@dschmidt/provider-google.ComputeInstance.putBootDisk"></a>

```typescript
public putBootDisk(value: ComputeInstanceBootDisk): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putBootDisk.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceBootDisk">ComputeInstanceBootDisk</a>

---

##### `putConfidentialInstanceConfig` <a name="putConfidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstance.putConfidentialInstanceConfig"></a>

```typescript
public putConfidentialInstanceConfig(value: ComputeInstanceConfidentialInstanceConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putConfidentialInstanceConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfig">ComputeInstanceConfidentialInstanceConfig</a>

---

##### `putGuestAccelerator` <a name="putGuestAccelerator" id="@dschmidt/provider-google.ComputeInstance.putGuestAccelerator"></a>

```typescript
public putGuestAccelerator(value: IResolvable | ComputeInstanceGuestAccelerator[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putGuestAccelerator.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGuestAccelerator">ComputeInstanceGuestAccelerator</a>[]

---

##### `putNetworkInterface` <a name="putNetworkInterface" id="@dschmidt/provider-google.ComputeInstance.putNetworkInterface"></a>

```typescript
public putNetworkInterface(value: IResolvable | ComputeInstanceNetworkInterface[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putNetworkInterface.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface">ComputeInstanceNetworkInterface</a>[]

---

##### `putReservationAffinity` <a name="putReservationAffinity" id="@dschmidt/provider-google.ComputeInstance.putReservationAffinity"></a>

```typescript
public putReservationAffinity(value: ComputeInstanceReservationAffinity): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putReservationAffinity.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinity">ComputeInstanceReservationAffinity</a>

---

##### `putScheduling` <a name="putScheduling" id="@dschmidt/provider-google.ComputeInstance.putScheduling"></a>

```typescript
public putScheduling(value: ComputeInstanceScheduling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putScheduling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceScheduling">ComputeInstanceScheduling</a>

---

##### `putScratchDisk` <a name="putScratchDisk" id="@dschmidt/provider-google.ComputeInstance.putScratchDisk"></a>

```typescript
public putScratchDisk(value: IResolvable | ComputeInstanceScratchDisk[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putScratchDisk.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceScratchDisk">ComputeInstanceScratchDisk</a>[]

---

##### `putServiceAccount` <a name="putServiceAccount" id="@dschmidt/provider-google.ComputeInstance.putServiceAccount"></a>

```typescript
public putServiceAccount(value: ComputeInstanceServiceAccount): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putServiceAccount.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceServiceAccount">ComputeInstanceServiceAccount</a>

---

##### `putShieldedInstanceConfig` <a name="putShieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstance.putShieldedInstanceConfig"></a>

```typescript
public putShieldedInstanceConfig(value: ComputeInstanceShieldedInstanceConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putShieldedInstanceConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig">ComputeInstanceShieldedInstanceConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTimeouts">ComputeInstanceTimeouts</a>

---

##### `resetAdvancedMachineFeatures` <a name="resetAdvancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstance.resetAdvancedMachineFeatures"></a>

```typescript
public resetAdvancedMachineFeatures(): void
```

##### `resetAllowStoppingForUpdate` <a name="resetAllowStoppingForUpdate" id="@dschmidt/provider-google.ComputeInstance.resetAllowStoppingForUpdate"></a>

```typescript
public resetAllowStoppingForUpdate(): void
```

##### `resetAttachedDisk` <a name="resetAttachedDisk" id="@dschmidt/provider-google.ComputeInstance.resetAttachedDisk"></a>

```typescript
public resetAttachedDisk(): void
```

##### `resetCanIpForward` <a name="resetCanIpForward" id="@dschmidt/provider-google.ComputeInstance.resetCanIpForward"></a>

```typescript
public resetCanIpForward(): void
```

##### `resetConfidentialInstanceConfig` <a name="resetConfidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstance.resetConfidentialInstanceConfig"></a>

```typescript
public resetConfidentialInstanceConfig(): void
```

##### `resetDeletionProtection` <a name="resetDeletionProtection" id="@dschmidt/provider-google.ComputeInstance.resetDeletionProtection"></a>

```typescript
public resetDeletionProtection(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeInstance.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDesiredStatus` <a name="resetDesiredStatus" id="@dschmidt/provider-google.ComputeInstance.resetDesiredStatus"></a>

```typescript
public resetDesiredStatus(): void
```

##### `resetEnableDisplay` <a name="resetEnableDisplay" id="@dschmidt/provider-google.ComputeInstance.resetEnableDisplay"></a>

```typescript
public resetEnableDisplay(): void
```

##### `resetGuestAccelerator` <a name="resetGuestAccelerator" id="@dschmidt/provider-google.ComputeInstance.resetGuestAccelerator"></a>

```typescript
public resetGuestAccelerator(): void
```

##### `resetHostname` <a name="resetHostname" id="@dschmidt/provider-google.ComputeInstance.resetHostname"></a>

```typescript
public resetHostname(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComputeInstance.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMetadata` <a name="resetMetadata" id="@dschmidt/provider-google.ComputeInstance.resetMetadata"></a>

```typescript
public resetMetadata(): void
```

##### `resetMetadataStartupScript` <a name="resetMetadataStartupScript" id="@dschmidt/provider-google.ComputeInstance.resetMetadataStartupScript"></a>

```typescript
public resetMetadataStartupScript(): void
```

##### `resetMinCpuPlatform` <a name="resetMinCpuPlatform" id="@dschmidt/provider-google.ComputeInstance.resetMinCpuPlatform"></a>

```typescript
public resetMinCpuPlatform(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetReservationAffinity` <a name="resetReservationAffinity" id="@dschmidt/provider-google.ComputeInstance.resetReservationAffinity"></a>

```typescript
public resetReservationAffinity(): void
```

##### `resetResourcePolicies` <a name="resetResourcePolicies" id="@dschmidt/provider-google.ComputeInstance.resetResourcePolicies"></a>

```typescript
public resetResourcePolicies(): void
```

##### `resetScheduling` <a name="resetScheduling" id="@dschmidt/provider-google.ComputeInstance.resetScheduling"></a>

```typescript
public resetScheduling(): void
```

##### `resetScratchDisk` <a name="resetScratchDisk" id="@dschmidt/provider-google.ComputeInstance.resetScratchDisk"></a>

```typescript
public resetScratchDisk(): void
```

##### `resetServiceAccount` <a name="resetServiceAccount" id="@dschmidt/provider-google.ComputeInstance.resetServiceAccount"></a>

```typescript
public resetServiceAccount(): void
```

##### `resetShieldedInstanceConfig` <a name="resetShieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstance.resetShieldedInstanceConfig"></a>

```typescript
public resetShieldedInstanceConfig(): void
```

##### `resetTags` <a name="resetTags" id="@dschmidt/provider-google.ComputeInstance.resetTags"></a>

```typescript
public resetTags(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeInstance.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInstance.isConstruct"></a>

```typescript
import { ComputeInstance } from '@dschmidt/provider-google'

ComputeInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.advancedMachineFeatures">advancedMachineFeatures</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeaturesOutputReference">ComputeInstanceAdvancedMachineFeaturesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.attachedDisk">attachedDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceAttachedDiskList">ComputeInstanceAttachedDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.bootDisk">bootDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDiskOutputReference">ComputeInstanceBootDiskOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.confidentialInstanceConfig">confidentialInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfigOutputReference">ComputeInstanceConfidentialInstanceConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.cpuPlatform">cpuPlatform</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.currentStatus">currentStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.guestAccelerator">guestAccelerator</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGuestAcceleratorList">ComputeInstanceGuestAcceleratorList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.instanceId">instanceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.metadataFingerprint">metadataFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.networkInterface">networkInterface</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceList">ComputeInstanceNetworkInterfaceList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinityOutputReference">ComputeInstanceReservationAffinityOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceSchedulingOutputReference">ComputeInstanceSchedulingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.scratchDisk">scratchDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceScratchDiskList">ComputeInstanceScratchDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.serviceAccount">serviceAccount</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceServiceAccountOutputReference">ComputeInstanceServiceAccountOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfigOutputReference">ComputeInstanceShieldedInstanceConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.tagsFingerprint">tagsFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTimeoutsOutputReference">ComputeInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.advancedMachineFeaturesInput">advancedMachineFeaturesInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures">ComputeInstanceAdvancedMachineFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.allowStoppingForUpdateInput">allowStoppingForUpdateInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.attachedDiskInput">attachedDiskInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk">ComputeInstanceAttachedDisk</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.bootDiskInput">bootDiskInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDisk">ComputeInstanceBootDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.canIpForwardInput">canIpForwardInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.confidentialInstanceConfigInput">confidentialInstanceConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfig">ComputeInstanceConfidentialInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.deletionProtectionInput">deletionProtectionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.desiredStatusInput">desiredStatusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.enableDisplayInput">enableDisplayInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.guestAcceleratorInput">guestAcceleratorInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGuestAccelerator">ComputeInstanceGuestAccelerator</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.hostnameInput">hostnameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.machineTypeInput">machineTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.metadataInput">metadataInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.metadataStartupScriptInput">metadataStartupScriptInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.minCpuPlatformInput">minCpuPlatformInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.networkInterfaceInput">networkInterfaceInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface">ComputeInstanceNetworkInterface</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.reservationAffinityInput">reservationAffinityInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinity">ComputeInstanceReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.resourcePoliciesInput">resourcePoliciesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.schedulingInput">schedulingInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceScheduling">ComputeInstanceScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.scratchDiskInput">scratchDiskInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceScratchDisk">ComputeInstanceScratchDisk</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.serviceAccountInput">serviceAccountInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceServiceAccount">ComputeInstanceServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.shieldedInstanceConfigInput">shieldedInstanceConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig">ComputeInstanceShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.tagsInput">tagsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTimeouts">ComputeInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.allowStoppingForUpdate">allowStoppingForUpdate</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.canIpForward">canIpForward</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.desiredStatus">desiredStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.enableDisplay">enableDisplay</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.hostname">hostname</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.machineType">machineType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.metadataStartupScript">metadataStartupScript</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.resourcePolicies">resourcePolicies</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `advancedMachineFeatures`<sup>Required</sup> <a name="advancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstance.property.advancedMachineFeatures"></a>

```typescript
public readonly advancedMachineFeatures: ComputeInstanceAdvancedMachineFeaturesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeaturesOutputReference">ComputeInstanceAdvancedMachineFeaturesOutputReference</a>

---

##### `attachedDisk`<sup>Required</sup> <a name="attachedDisk" id="@dschmidt/provider-google.ComputeInstance.property.attachedDisk"></a>

```typescript
public readonly attachedDisk: ComputeInstanceAttachedDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceAttachedDiskList">ComputeInstanceAttachedDiskList</a>

---

##### `bootDisk`<sup>Required</sup> <a name="bootDisk" id="@dschmidt/provider-google.ComputeInstance.property.bootDisk"></a>

```typescript
public readonly bootDisk: ComputeInstanceBootDiskOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceBootDiskOutputReference">ComputeInstanceBootDiskOutputReference</a>

---

##### `confidentialInstanceConfig`<sup>Required</sup> <a name="confidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstance.property.confidentialInstanceConfig"></a>

```typescript
public readonly confidentialInstanceConfig: ComputeInstanceConfidentialInstanceConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfigOutputReference">ComputeInstanceConfidentialInstanceConfigOutputReference</a>

---

##### `cpuPlatform`<sup>Required</sup> <a name="cpuPlatform" id="@dschmidt/provider-google.ComputeInstance.property.cpuPlatform"></a>

```typescript
public readonly cpuPlatform: string;
```

- *Type:* string

---

##### `currentStatus`<sup>Required</sup> <a name="currentStatus" id="@dschmidt/provider-google.ComputeInstance.property.currentStatus"></a>

```typescript
public readonly currentStatus: string;
```

- *Type:* string

---

##### `guestAccelerator`<sup>Required</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.ComputeInstance.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: ComputeInstanceGuestAcceleratorList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGuestAcceleratorList">ComputeInstanceGuestAcceleratorList</a>

---

##### `instanceId`<sup>Required</sup> <a name="instanceId" id="@dschmidt/provider-google.ComputeInstance.property.instanceId"></a>

```typescript
public readonly instanceId: string;
```

- *Type:* string

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.ComputeInstance.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `metadataFingerprint`<sup>Required</sup> <a name="metadataFingerprint" id="@dschmidt/provider-google.ComputeInstance.property.metadataFingerprint"></a>

```typescript
public readonly metadataFingerprint: string;
```

- *Type:* string

---

##### `networkInterface`<sup>Required</sup> <a name="networkInterface" id="@dschmidt/provider-google.ComputeInstance.property.networkInterface"></a>

```typescript
public readonly networkInterface: ComputeInstanceNetworkInterfaceList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceList">ComputeInstanceNetworkInterfaceList</a>

---

##### `reservationAffinity`<sup>Required</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.ComputeInstance.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: ComputeInstanceReservationAffinityOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinityOutputReference">ComputeInstanceReservationAffinityOutputReference</a>

---

##### `scheduling`<sup>Required</sup> <a name="scheduling" id="@dschmidt/provider-google.ComputeInstance.property.scheduling"></a>

```typescript
public readonly scheduling: ComputeInstanceSchedulingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceSchedulingOutputReference">ComputeInstanceSchedulingOutputReference</a>

---

##### `scratchDisk`<sup>Required</sup> <a name="scratchDisk" id="@dschmidt/provider-google.ComputeInstance.property.scratchDisk"></a>

```typescript
public readonly scratchDisk: ComputeInstanceScratchDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceScratchDiskList">ComputeInstanceScratchDiskList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeInstance.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ComputeInstance.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: ComputeInstanceServiceAccountOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceServiceAccountOutputReference">ComputeInstanceServiceAccountOutputReference</a>

---

##### `shieldedInstanceConfig`<sup>Required</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstance.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: ComputeInstanceShieldedInstanceConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfigOutputReference">ComputeInstanceShieldedInstanceConfigOutputReference</a>

---

##### `tagsFingerprint`<sup>Required</sup> <a name="tagsFingerprint" id="@dschmidt/provider-google.ComputeInstance.property.tagsFingerprint"></a>

```typescript
public readonly tagsFingerprint: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstance.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTimeoutsOutputReference">ComputeInstanceTimeoutsOutputReference</a>

---

##### `advancedMachineFeaturesInput`<sup>Optional</sup> <a name="advancedMachineFeaturesInput" id="@dschmidt/provider-google.ComputeInstance.property.advancedMachineFeaturesInput"></a>

```typescript
public readonly advancedMachineFeaturesInput: ComputeInstanceAdvancedMachineFeatures;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures">ComputeInstanceAdvancedMachineFeatures</a>

---

##### `allowStoppingForUpdateInput`<sup>Optional</sup> <a name="allowStoppingForUpdateInput" id="@dschmidt/provider-google.ComputeInstance.property.allowStoppingForUpdateInput"></a>

```typescript
public readonly allowStoppingForUpdateInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `attachedDiskInput`<sup>Optional</sup> <a name="attachedDiskInput" id="@dschmidt/provider-google.ComputeInstance.property.attachedDiskInput"></a>

```typescript
public readonly attachedDiskInput: IResolvable | ComputeInstanceAttachedDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk">ComputeInstanceAttachedDisk</a>[]

---

##### `bootDiskInput`<sup>Optional</sup> <a name="bootDiskInput" id="@dschmidt/provider-google.ComputeInstance.property.bootDiskInput"></a>

```typescript
public readonly bootDiskInput: ComputeInstanceBootDisk;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceBootDisk">ComputeInstanceBootDisk</a>

---

##### `canIpForwardInput`<sup>Optional</sup> <a name="canIpForwardInput" id="@dschmidt/provider-google.ComputeInstance.property.canIpForwardInput"></a>

```typescript
public readonly canIpForwardInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `confidentialInstanceConfigInput`<sup>Optional</sup> <a name="confidentialInstanceConfigInput" id="@dschmidt/provider-google.ComputeInstance.property.confidentialInstanceConfigInput"></a>

```typescript
public readonly confidentialInstanceConfigInput: ComputeInstanceConfidentialInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfig">ComputeInstanceConfidentialInstanceConfig</a>

---

##### `deletionProtectionInput`<sup>Optional</sup> <a name="deletionProtectionInput" id="@dschmidt/provider-google.ComputeInstance.property.deletionProtectionInput"></a>

```typescript
public readonly deletionProtectionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeInstance.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `desiredStatusInput`<sup>Optional</sup> <a name="desiredStatusInput" id="@dschmidt/provider-google.ComputeInstance.property.desiredStatusInput"></a>

```typescript
public readonly desiredStatusInput: string;
```

- *Type:* string

---

##### `enableDisplayInput`<sup>Optional</sup> <a name="enableDisplayInput" id="@dschmidt/provider-google.ComputeInstance.property.enableDisplayInput"></a>

```typescript
public readonly enableDisplayInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `guestAcceleratorInput`<sup>Optional</sup> <a name="guestAcceleratorInput" id="@dschmidt/provider-google.ComputeInstance.property.guestAcceleratorInput"></a>

```typescript
public readonly guestAcceleratorInput: IResolvable | ComputeInstanceGuestAccelerator[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGuestAccelerator">ComputeInstanceGuestAccelerator</a>[]

---

##### `hostnameInput`<sup>Optional</sup> <a name="hostnameInput" id="@dschmidt/provider-google.ComputeInstance.property.hostnameInput"></a>

```typescript
public readonly hostnameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComputeInstance.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `machineTypeInput`<sup>Optional</sup> <a name="machineTypeInput" id="@dschmidt/provider-google.ComputeInstance.property.machineTypeInput"></a>

```typescript
public readonly machineTypeInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.ComputeInstance.property.metadataInput"></a>

```typescript
public readonly metadataInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `metadataStartupScriptInput`<sup>Optional</sup> <a name="metadataStartupScriptInput" id="@dschmidt/provider-google.ComputeInstance.property.metadataStartupScriptInput"></a>

```typescript
public readonly metadataStartupScriptInput: string;
```

- *Type:* string

---

##### `minCpuPlatformInput`<sup>Optional</sup> <a name="minCpuPlatformInput" id="@dschmidt/provider-google.ComputeInstance.property.minCpuPlatformInput"></a>

```typescript
public readonly minCpuPlatformInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInterfaceInput`<sup>Optional</sup> <a name="networkInterfaceInput" id="@dschmidt/provider-google.ComputeInstance.property.networkInterfaceInput"></a>

```typescript
public readonly networkInterfaceInput: IResolvable | ComputeInstanceNetworkInterface[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface">ComputeInstanceNetworkInterface</a>[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `reservationAffinityInput`<sup>Optional</sup> <a name="reservationAffinityInput" id="@dschmidt/provider-google.ComputeInstance.property.reservationAffinityInput"></a>

```typescript
public readonly reservationAffinityInput: ComputeInstanceReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinity">ComputeInstanceReservationAffinity</a>

---

##### `resourcePoliciesInput`<sup>Optional</sup> <a name="resourcePoliciesInput" id="@dschmidt/provider-google.ComputeInstance.property.resourcePoliciesInput"></a>

```typescript
public readonly resourcePoliciesInput: string[];
```

- *Type:* string[]

---

##### `schedulingInput`<sup>Optional</sup> <a name="schedulingInput" id="@dschmidt/provider-google.ComputeInstance.property.schedulingInput"></a>

```typescript
public readonly schedulingInput: ComputeInstanceScheduling;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceScheduling">ComputeInstanceScheduling</a>

---

##### `scratchDiskInput`<sup>Optional</sup> <a name="scratchDiskInput" id="@dschmidt/provider-google.ComputeInstance.property.scratchDiskInput"></a>

```typescript
public readonly scratchDiskInput: IResolvable | ComputeInstanceScratchDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceScratchDisk">ComputeInstanceScratchDisk</a>[]

---

##### `serviceAccountInput`<sup>Optional</sup> <a name="serviceAccountInput" id="@dschmidt/provider-google.ComputeInstance.property.serviceAccountInput"></a>

```typescript
public readonly serviceAccountInput: ComputeInstanceServiceAccount;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceServiceAccount">ComputeInstanceServiceAccount</a>

---

##### `shieldedInstanceConfigInput`<sup>Optional</sup> <a name="shieldedInstanceConfigInput" id="@dschmidt/provider-google.ComputeInstance.property.shieldedInstanceConfigInput"></a>

```typescript
public readonly shieldedInstanceConfigInput: ComputeInstanceShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig">ComputeInstanceShieldedInstanceConfig</a>

---

##### `tagsInput`<sup>Optional</sup> <a name="tagsInput" id="@dschmidt/provider-google.ComputeInstance.property.tagsInput"></a>

```typescript
public readonly tagsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTimeouts">ComputeInstanceTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeInstance.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `allowStoppingForUpdate`<sup>Required</sup> <a name="allowStoppingForUpdate" id="@dschmidt/provider-google.ComputeInstance.property.allowStoppingForUpdate"></a>

```typescript
public readonly allowStoppingForUpdate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `canIpForward`<sup>Required</sup> <a name="canIpForward" id="@dschmidt/provider-google.ComputeInstance.property.canIpForward"></a>

```typescript
public readonly canIpForward: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.ComputeInstance.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstance.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `desiredStatus`<sup>Required</sup> <a name="desiredStatus" id="@dschmidt/provider-google.ComputeInstance.property.desiredStatus"></a>

```typescript
public readonly desiredStatus: string;
```

- *Type:* string

---

##### `enableDisplay`<sup>Required</sup> <a name="enableDisplay" id="@dschmidt/provider-google.ComputeInstance.property.enableDisplay"></a>

```typescript
public readonly enableDisplay: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `hostname`<sup>Required</sup> <a name="hostname" id="@dschmidt/provider-google.ComputeInstance.property.hostname"></a>

```typescript
public readonly hostname: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComputeInstance.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.ComputeInstance.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeInstance.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `metadataStartupScript`<sup>Required</sup> <a name="metadataStartupScript" id="@dschmidt/provider-google.ComputeInstance.property.metadataStartupScript"></a>

```typescript
public readonly metadataStartupScript: string;
```

- *Type:* string

---

##### `minCpuPlatform`<sup>Required</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ComputeInstance.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `resourcePolicies`<sup>Required</sup> <a name="resourcePolicies" id="@dschmidt/provider-google.ComputeInstance.property.resourcePolicies"></a>

```typescript
public readonly resourcePolicies: string[];
```

- *Type:* string[]

---

##### `tags`<sup>Required</sup> <a name="tags" id="@dschmidt/provider-google.ComputeInstance.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstance.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInstanceFromTemplate <a name="ComputeInstanceFromTemplate" id="@dschmidt/provider-google.ComputeInstanceFromTemplate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template google_compute_instance_from_template}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplate } from '@dschmidt/provider-google'

new ComputeInstanceFromTemplate(scope: Construct, id: string, config: ComputeInstanceFromTemplateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig">ComputeInstanceFromTemplateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig">ComputeInstanceFromTemplateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putAdvancedMachineFeatures">putAdvancedMachineFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putAttachedDisk">putAttachedDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putBootDisk">putBootDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putConfidentialInstanceConfig">putConfidentialInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putGuestAccelerator">putGuestAccelerator</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putNetworkInterface">putNetworkInterface</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putReservationAffinity">putReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putScheduling">putScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putScratchDisk">putScratchDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putServiceAccount">putServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putShieldedInstanceConfig">putShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetAdvancedMachineFeatures">resetAdvancedMachineFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetAllowStoppingForUpdate">resetAllowStoppingForUpdate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetAttachedDisk">resetAttachedDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetBootDisk">resetBootDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetCanIpForward">resetCanIpForward</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetConfidentialInstanceConfig">resetConfidentialInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetDeletionProtection">resetDeletionProtection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetDesiredStatus">resetDesiredStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetEnableDisplay">resetEnableDisplay</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetGuestAccelerator">resetGuestAccelerator</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetHostname">resetHostname</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetMachineType">resetMachineType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetMetadata">resetMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetMetadataStartupScript">resetMetadataStartupScript</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetMinCpuPlatform">resetMinCpuPlatform</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetNetworkInterface">resetNetworkInterface</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetReservationAffinity">resetReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetResourcePolicies">resetResourcePolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetScheduling">resetScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetScratchDisk">resetScratchDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetServiceAccount">resetServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetShieldedInstanceConfig">resetShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetTags">resetTags</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAdvancedMachineFeatures` <a name="putAdvancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putAdvancedMachineFeatures"></a>

```typescript
public putAdvancedMachineFeatures(value: ComputeInstanceFromTemplateAdvancedMachineFeatures): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putAdvancedMachineFeatures.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures">ComputeInstanceFromTemplateAdvancedMachineFeatures</a>

---

##### `putAttachedDisk` <a name="putAttachedDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putAttachedDisk"></a>

```typescript
public putAttachedDisk(value: IResolvable | ComputeInstanceFromTemplateAttachedDisk[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putAttachedDisk.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk">ComputeInstanceFromTemplateAttachedDisk</a>[]

---

##### `putBootDisk` <a name="putBootDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putBootDisk"></a>

```typescript
public putBootDisk(value: ComputeInstanceFromTemplateBootDisk): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putBootDisk.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk">ComputeInstanceFromTemplateBootDisk</a>

---

##### `putConfidentialInstanceConfig` <a name="putConfidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putConfidentialInstanceConfig"></a>

```typescript
public putConfidentialInstanceConfig(value: ComputeInstanceFromTemplateConfidentialInstanceConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putConfidentialInstanceConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfig">ComputeInstanceFromTemplateConfidentialInstanceConfig</a>

---

##### `putGuestAccelerator` <a name="putGuestAccelerator" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putGuestAccelerator"></a>

```typescript
public putGuestAccelerator(value: IResolvable | ComputeInstanceFromTemplateGuestAccelerator[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putGuestAccelerator.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator">ComputeInstanceFromTemplateGuestAccelerator</a>[]

---

##### `putNetworkInterface` <a name="putNetworkInterface" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putNetworkInterface"></a>

```typescript
public putNetworkInterface(value: IResolvable | ComputeInstanceFromTemplateNetworkInterface[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putNetworkInterface.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface">ComputeInstanceFromTemplateNetworkInterface</a>[]

---

##### `putReservationAffinity` <a name="putReservationAffinity" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putReservationAffinity"></a>

```typescript
public putReservationAffinity(value: ComputeInstanceFromTemplateReservationAffinity): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putReservationAffinity.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity">ComputeInstanceFromTemplateReservationAffinity</a>

---

##### `putScheduling` <a name="putScheduling" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putScheduling"></a>

```typescript
public putScheduling(value: ComputeInstanceFromTemplateScheduling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putScheduling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling">ComputeInstanceFromTemplateScheduling</a>

---

##### `putScratchDisk` <a name="putScratchDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putScratchDisk"></a>

```typescript
public putScratchDisk(value: IResolvable | ComputeInstanceFromTemplateScratchDisk[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putScratchDisk.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDisk">ComputeInstanceFromTemplateScratchDisk</a>[]

---

##### `putServiceAccount` <a name="putServiceAccount" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putServiceAccount"></a>

```typescript
public putServiceAccount(value: IResolvable | ComputeInstanceFromTemplateServiceAccount[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putServiceAccount.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount">ComputeInstanceFromTemplateServiceAccount</a>[]

---

##### `putShieldedInstanceConfig` <a name="putShieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putShieldedInstanceConfig"></a>

```typescript
public putShieldedInstanceConfig(value: ComputeInstanceFromTemplateShieldedInstanceConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putShieldedInstanceConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig">ComputeInstanceFromTemplateShieldedInstanceConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeInstanceFromTemplateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts">ComputeInstanceFromTemplateTimeouts</a>

---

##### `resetAdvancedMachineFeatures` <a name="resetAdvancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetAdvancedMachineFeatures"></a>

```typescript
public resetAdvancedMachineFeatures(): void
```

##### `resetAllowStoppingForUpdate` <a name="resetAllowStoppingForUpdate" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetAllowStoppingForUpdate"></a>

```typescript
public resetAllowStoppingForUpdate(): void
```

##### `resetAttachedDisk` <a name="resetAttachedDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetAttachedDisk"></a>

```typescript
public resetAttachedDisk(): void
```

##### `resetBootDisk` <a name="resetBootDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetBootDisk"></a>

```typescript
public resetBootDisk(): void
```

##### `resetCanIpForward` <a name="resetCanIpForward" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetCanIpForward"></a>

```typescript
public resetCanIpForward(): void
```

##### `resetConfidentialInstanceConfig` <a name="resetConfidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetConfidentialInstanceConfig"></a>

```typescript
public resetConfidentialInstanceConfig(): void
```

##### `resetDeletionProtection` <a name="resetDeletionProtection" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetDeletionProtection"></a>

```typescript
public resetDeletionProtection(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDesiredStatus` <a name="resetDesiredStatus" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetDesiredStatus"></a>

```typescript
public resetDesiredStatus(): void
```

##### `resetEnableDisplay` <a name="resetEnableDisplay" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetEnableDisplay"></a>

```typescript
public resetEnableDisplay(): void
```

##### `resetGuestAccelerator` <a name="resetGuestAccelerator" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetGuestAccelerator"></a>

```typescript
public resetGuestAccelerator(): void
```

##### `resetHostname` <a name="resetHostname" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetHostname"></a>

```typescript
public resetHostname(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMachineType` <a name="resetMachineType" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetMachineType"></a>

```typescript
public resetMachineType(): void
```

##### `resetMetadata` <a name="resetMetadata" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetMetadata"></a>

```typescript
public resetMetadata(): void
```

##### `resetMetadataStartupScript` <a name="resetMetadataStartupScript" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetMetadataStartupScript"></a>

```typescript
public resetMetadataStartupScript(): void
```

##### `resetMinCpuPlatform` <a name="resetMinCpuPlatform" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetMinCpuPlatform"></a>

```typescript
public resetMinCpuPlatform(): void
```

##### `resetNetworkInterface` <a name="resetNetworkInterface" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetNetworkInterface"></a>

```typescript
public resetNetworkInterface(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetReservationAffinity` <a name="resetReservationAffinity" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetReservationAffinity"></a>

```typescript
public resetReservationAffinity(): void
```

##### `resetResourcePolicies` <a name="resetResourcePolicies" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetResourcePolicies"></a>

```typescript
public resetResourcePolicies(): void
```

##### `resetScheduling` <a name="resetScheduling" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetScheduling"></a>

```typescript
public resetScheduling(): void
```

##### `resetScratchDisk` <a name="resetScratchDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetScratchDisk"></a>

```typescript
public resetScratchDisk(): void
```

##### `resetServiceAccount` <a name="resetServiceAccount" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetServiceAccount"></a>

```typescript
public resetServiceAccount(): void
```

##### `resetShieldedInstanceConfig` <a name="resetShieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetShieldedInstanceConfig"></a>

```typescript
public resetShieldedInstanceConfig(): void
```

##### `resetTags` <a name="resetTags" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetTags"></a>

```typescript
public resetTags(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.isConstruct"></a>

```typescript
import { ComputeInstanceFromTemplate } from '@dschmidt/provider-google'

ComputeInstanceFromTemplate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.advancedMachineFeatures">advancedMachineFeatures</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference">ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.attachedDisk">attachedDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDiskList">ComputeInstanceFromTemplateAttachedDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.bootDisk">bootDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskOutputReference">ComputeInstanceFromTemplateBootDiskOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.confidentialInstanceConfig">confidentialInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfigOutputReference">ComputeInstanceFromTemplateConfidentialInstanceConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.cpuPlatform">cpuPlatform</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.currentStatus">currentStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.guestAccelerator">guestAccelerator</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAcceleratorList">ComputeInstanceFromTemplateGuestAcceleratorList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.instanceId">instanceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadataFingerprint">metadataFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.networkInterface">networkInterface</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceList">ComputeInstanceFromTemplateNetworkInterfaceList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinityOutputReference">ComputeInstanceFromTemplateReservationAffinityOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingOutputReference">ComputeInstanceFromTemplateSchedulingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.scratchDisk">scratchDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDiskList">ComputeInstanceFromTemplateScratchDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.serviceAccount">serviceAccount</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccountList">ComputeInstanceFromTemplateServiceAccountList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfigOutputReference">ComputeInstanceFromTemplateShieldedInstanceConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.tagsFingerprint">tagsFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeoutsOutputReference">ComputeInstanceFromTemplateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.advancedMachineFeaturesInput">advancedMachineFeaturesInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures">ComputeInstanceFromTemplateAdvancedMachineFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.allowStoppingForUpdateInput">allowStoppingForUpdateInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.attachedDiskInput">attachedDiskInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk">ComputeInstanceFromTemplateAttachedDisk</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.bootDiskInput">bootDiskInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk">ComputeInstanceFromTemplateBootDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.canIpForwardInput">canIpForwardInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.confidentialInstanceConfigInput">confidentialInstanceConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfig">ComputeInstanceFromTemplateConfidentialInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.deletionProtectionInput">deletionProtectionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.desiredStatusInput">desiredStatusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.enableDisplayInput">enableDisplayInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.guestAcceleratorInput">guestAcceleratorInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator">ComputeInstanceFromTemplateGuestAccelerator</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.hostnameInput">hostnameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.machineTypeInput">machineTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadataInput">metadataInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadataStartupScriptInput">metadataStartupScriptInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.minCpuPlatformInput">minCpuPlatformInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.networkInterfaceInput">networkInterfaceInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface">ComputeInstanceFromTemplateNetworkInterface</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.reservationAffinityInput">reservationAffinityInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity">ComputeInstanceFromTemplateReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.resourcePoliciesInput">resourcePoliciesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.schedulingInput">schedulingInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling">ComputeInstanceFromTemplateScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.scratchDiskInput">scratchDiskInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDisk">ComputeInstanceFromTemplateScratchDisk</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.serviceAccountInput">serviceAccountInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount">ComputeInstanceFromTemplateServiceAccount</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.shieldedInstanceConfigInput">shieldedInstanceConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig">ComputeInstanceFromTemplateShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.sourceInstanceTemplateInput">sourceInstanceTemplateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.tagsInput">tagsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts">ComputeInstanceFromTemplateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.allowStoppingForUpdate">allowStoppingForUpdate</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.canIpForward">canIpForward</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.desiredStatus">desiredStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.enableDisplay">enableDisplay</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.hostname">hostname</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.machineType">machineType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadataStartupScript">metadataStartupScript</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.resourcePolicies">resourcePolicies</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.sourceInstanceTemplate">sourceInstanceTemplate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `advancedMachineFeatures`<sup>Required</sup> <a name="advancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.advancedMachineFeatures"></a>

```typescript
public readonly advancedMachineFeatures: ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference">ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference</a>

---

##### `attachedDisk`<sup>Required</sup> <a name="attachedDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.attachedDisk"></a>

```typescript
public readonly attachedDisk: ComputeInstanceFromTemplateAttachedDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDiskList">ComputeInstanceFromTemplateAttachedDiskList</a>

---

##### `bootDisk`<sup>Required</sup> <a name="bootDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.bootDisk"></a>

```typescript
public readonly bootDisk: ComputeInstanceFromTemplateBootDiskOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskOutputReference">ComputeInstanceFromTemplateBootDiskOutputReference</a>

---

##### `confidentialInstanceConfig`<sup>Required</sup> <a name="confidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.confidentialInstanceConfig"></a>

```typescript
public readonly confidentialInstanceConfig: ComputeInstanceFromTemplateConfidentialInstanceConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfigOutputReference">ComputeInstanceFromTemplateConfidentialInstanceConfigOutputReference</a>

---

##### `cpuPlatform`<sup>Required</sup> <a name="cpuPlatform" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.cpuPlatform"></a>

```typescript
public readonly cpuPlatform: string;
```

- *Type:* string

---

##### `currentStatus`<sup>Required</sup> <a name="currentStatus" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.currentStatus"></a>

```typescript
public readonly currentStatus: string;
```

- *Type:* string

---

##### `guestAccelerator`<sup>Required</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: ComputeInstanceFromTemplateGuestAcceleratorList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAcceleratorList">ComputeInstanceFromTemplateGuestAcceleratorList</a>

---

##### `instanceId`<sup>Required</sup> <a name="instanceId" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.instanceId"></a>

```typescript
public readonly instanceId: string;
```

- *Type:* string

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `metadataFingerprint`<sup>Required</sup> <a name="metadataFingerprint" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadataFingerprint"></a>

```typescript
public readonly metadataFingerprint: string;
```

- *Type:* string

---

##### `networkInterface`<sup>Required</sup> <a name="networkInterface" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.networkInterface"></a>

```typescript
public readonly networkInterface: ComputeInstanceFromTemplateNetworkInterfaceList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceList">ComputeInstanceFromTemplateNetworkInterfaceList</a>

---

##### `reservationAffinity`<sup>Required</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: ComputeInstanceFromTemplateReservationAffinityOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinityOutputReference">ComputeInstanceFromTemplateReservationAffinityOutputReference</a>

---

##### `scheduling`<sup>Required</sup> <a name="scheduling" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.scheduling"></a>

```typescript
public readonly scheduling: ComputeInstanceFromTemplateSchedulingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingOutputReference">ComputeInstanceFromTemplateSchedulingOutputReference</a>

---

##### `scratchDisk`<sup>Required</sup> <a name="scratchDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.scratchDisk"></a>

```typescript
public readonly scratchDisk: ComputeInstanceFromTemplateScratchDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDiskList">ComputeInstanceFromTemplateScratchDiskList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: ComputeInstanceFromTemplateServiceAccountList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccountList">ComputeInstanceFromTemplateServiceAccountList</a>

---

##### `shieldedInstanceConfig`<sup>Required</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: ComputeInstanceFromTemplateShieldedInstanceConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfigOutputReference">ComputeInstanceFromTemplateShieldedInstanceConfigOutputReference</a>

---

##### `tagsFingerprint`<sup>Required</sup> <a name="tagsFingerprint" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.tagsFingerprint"></a>

```typescript
public readonly tagsFingerprint: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceFromTemplateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeoutsOutputReference">ComputeInstanceFromTemplateTimeoutsOutputReference</a>

---

##### `advancedMachineFeaturesInput`<sup>Optional</sup> <a name="advancedMachineFeaturesInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.advancedMachineFeaturesInput"></a>

```typescript
public readonly advancedMachineFeaturesInput: ComputeInstanceFromTemplateAdvancedMachineFeatures;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures">ComputeInstanceFromTemplateAdvancedMachineFeatures</a>

---

##### `allowStoppingForUpdateInput`<sup>Optional</sup> <a name="allowStoppingForUpdateInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.allowStoppingForUpdateInput"></a>

```typescript
public readonly allowStoppingForUpdateInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `attachedDiskInput`<sup>Optional</sup> <a name="attachedDiskInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.attachedDiskInput"></a>

```typescript
public readonly attachedDiskInput: IResolvable | ComputeInstanceFromTemplateAttachedDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk">ComputeInstanceFromTemplateAttachedDisk</a>[]

---

##### `bootDiskInput`<sup>Optional</sup> <a name="bootDiskInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.bootDiskInput"></a>

```typescript
public readonly bootDiskInput: ComputeInstanceFromTemplateBootDisk;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk">ComputeInstanceFromTemplateBootDisk</a>

---

##### `canIpForwardInput`<sup>Optional</sup> <a name="canIpForwardInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.canIpForwardInput"></a>

```typescript
public readonly canIpForwardInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `confidentialInstanceConfigInput`<sup>Optional</sup> <a name="confidentialInstanceConfigInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.confidentialInstanceConfigInput"></a>

```typescript
public readonly confidentialInstanceConfigInput: ComputeInstanceFromTemplateConfidentialInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfig">ComputeInstanceFromTemplateConfidentialInstanceConfig</a>

---

##### `deletionProtectionInput`<sup>Optional</sup> <a name="deletionProtectionInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.deletionProtectionInput"></a>

```typescript
public readonly deletionProtectionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `desiredStatusInput`<sup>Optional</sup> <a name="desiredStatusInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.desiredStatusInput"></a>

```typescript
public readonly desiredStatusInput: string;
```

- *Type:* string

---

##### `enableDisplayInput`<sup>Optional</sup> <a name="enableDisplayInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.enableDisplayInput"></a>

```typescript
public readonly enableDisplayInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `guestAcceleratorInput`<sup>Optional</sup> <a name="guestAcceleratorInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.guestAcceleratorInput"></a>

```typescript
public readonly guestAcceleratorInput: IResolvable | ComputeInstanceFromTemplateGuestAccelerator[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator">ComputeInstanceFromTemplateGuestAccelerator</a>[]

---

##### `hostnameInput`<sup>Optional</sup> <a name="hostnameInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.hostnameInput"></a>

```typescript
public readonly hostnameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `machineTypeInput`<sup>Optional</sup> <a name="machineTypeInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.machineTypeInput"></a>

```typescript
public readonly machineTypeInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadataInput"></a>

```typescript
public readonly metadataInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `metadataStartupScriptInput`<sup>Optional</sup> <a name="metadataStartupScriptInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadataStartupScriptInput"></a>

```typescript
public readonly metadataStartupScriptInput: string;
```

- *Type:* string

---

##### `minCpuPlatformInput`<sup>Optional</sup> <a name="minCpuPlatformInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.minCpuPlatformInput"></a>

```typescript
public readonly minCpuPlatformInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInterfaceInput`<sup>Optional</sup> <a name="networkInterfaceInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.networkInterfaceInput"></a>

```typescript
public readonly networkInterfaceInput: IResolvable | ComputeInstanceFromTemplateNetworkInterface[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface">ComputeInstanceFromTemplateNetworkInterface</a>[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `reservationAffinityInput`<sup>Optional</sup> <a name="reservationAffinityInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.reservationAffinityInput"></a>

```typescript
public readonly reservationAffinityInput: ComputeInstanceFromTemplateReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity">ComputeInstanceFromTemplateReservationAffinity</a>

---

##### `resourcePoliciesInput`<sup>Optional</sup> <a name="resourcePoliciesInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.resourcePoliciesInput"></a>

```typescript
public readonly resourcePoliciesInput: string[];
```

- *Type:* string[]

---

##### `schedulingInput`<sup>Optional</sup> <a name="schedulingInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.schedulingInput"></a>

```typescript
public readonly schedulingInput: ComputeInstanceFromTemplateScheduling;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling">ComputeInstanceFromTemplateScheduling</a>

---

##### `scratchDiskInput`<sup>Optional</sup> <a name="scratchDiskInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.scratchDiskInput"></a>

```typescript
public readonly scratchDiskInput: IResolvable | ComputeInstanceFromTemplateScratchDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDisk">ComputeInstanceFromTemplateScratchDisk</a>[]

---

##### `serviceAccountInput`<sup>Optional</sup> <a name="serviceAccountInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.serviceAccountInput"></a>

```typescript
public readonly serviceAccountInput: IResolvable | ComputeInstanceFromTemplateServiceAccount[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount">ComputeInstanceFromTemplateServiceAccount</a>[]

---

##### `shieldedInstanceConfigInput`<sup>Optional</sup> <a name="shieldedInstanceConfigInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.shieldedInstanceConfigInput"></a>

```typescript
public readonly shieldedInstanceConfigInput: ComputeInstanceFromTemplateShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig">ComputeInstanceFromTemplateShieldedInstanceConfig</a>

---

##### `sourceInstanceTemplateInput`<sup>Optional</sup> <a name="sourceInstanceTemplateInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.sourceInstanceTemplateInput"></a>

```typescript
public readonly sourceInstanceTemplateInput: string;
```

- *Type:* string

---

##### `tagsInput`<sup>Optional</sup> <a name="tagsInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.tagsInput"></a>

```typescript
public readonly tagsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeInstanceFromTemplateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts">ComputeInstanceFromTemplateTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `allowStoppingForUpdate`<sup>Required</sup> <a name="allowStoppingForUpdate" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.allowStoppingForUpdate"></a>

```typescript
public readonly allowStoppingForUpdate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `canIpForward`<sup>Required</sup> <a name="canIpForward" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.canIpForward"></a>

```typescript
public readonly canIpForward: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `desiredStatus`<sup>Required</sup> <a name="desiredStatus" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.desiredStatus"></a>

```typescript
public readonly desiredStatus: string;
```

- *Type:* string

---

##### `enableDisplay`<sup>Required</sup> <a name="enableDisplay" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.enableDisplay"></a>

```typescript
public readonly enableDisplay: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `hostname`<sup>Required</sup> <a name="hostname" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.hostname"></a>

```typescript
public readonly hostname: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `metadataStartupScript`<sup>Required</sup> <a name="metadataStartupScript" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.metadataStartupScript"></a>

```typescript
public readonly metadataStartupScript: string;
```

- *Type:* string

---

##### `minCpuPlatform`<sup>Required</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `resourcePolicies`<sup>Required</sup> <a name="resourcePolicies" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.resourcePolicies"></a>

```typescript
public readonly resourcePolicies: string[];
```

- *Type:* string[]

---

##### `sourceInstanceTemplate`<sup>Required</sup> <a name="sourceInstanceTemplate" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.sourceInstanceTemplate"></a>

```typescript
public readonly sourceInstanceTemplate: string;
```

- *Type:* string

---

##### `tags`<sup>Required</sup> <a name="tags" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInstanceFromTemplate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInstanceGroup <a name="ComputeInstanceGroup" id="@dschmidt/provider-google.ComputeInstanceGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group google_compute_instance_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInstanceGroup.Initializer"></a>

```typescript
import { ComputeInstanceGroup } from '@dschmidt/provider-google'

new ComputeInstanceGroup(scope: Construct, id: string, config: ComputeInstanceGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig">ComputeInstanceGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInstanceGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInstanceGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig">ComputeInstanceGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.putNamedPort">putNamedPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.resetInstances">resetInstances</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.resetNamedPort">resetNamedPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInstanceGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInstanceGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInstanceGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInstanceGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInstanceGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInstanceGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putNamedPort` <a name="putNamedPort" id="@dschmidt/provider-google.ComputeInstanceGroup.putNamedPort"></a>

```typescript
public putNamedPort(value: IResolvable | ComputeInstanceGroupNamedPort[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroup.putNamedPort.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPort">ComputeInstanceGroupNamedPort</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeInstanceGroup.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeInstanceGroupTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroup.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeouts">ComputeInstanceGroupTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeInstanceGroup.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInstanceGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInstances` <a name="resetInstances" id="@dschmidt/provider-google.ComputeInstanceGroup.resetInstances"></a>

```typescript
public resetInstances(): void
```

##### `resetNamedPort` <a name="resetNamedPort" id="@dschmidt/provider-google.ComputeInstanceGroup.resetNamedPort"></a>

```typescript
public resetNamedPort(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.ComputeInstanceGroup.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInstanceGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeInstanceGroup.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeInstanceGroup.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInstanceGroup.isConstruct"></a>

```typescript
import { ComputeInstanceGroup } from '@dschmidt/provider-google'

ComputeInstanceGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInstanceGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.namedPort">namedPort</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortList">ComputeInstanceGroupNamedPortList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeoutsOutputReference">ComputeInstanceGroupTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.instancesInput">instancesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.namedPortInput">namedPortInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPort">ComputeInstanceGroupNamedPort</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeouts">ComputeInstanceGroupTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.instances">instances</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInstanceGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInstanceGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInstanceGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInstanceGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInstanceGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInstanceGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInstanceGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceGroup.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceGroup.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `namedPort`<sup>Required</sup> <a name="namedPort" id="@dschmidt/provider-google.ComputeInstanceGroup.property.namedPort"></a>

```typescript
public readonly namedPort: ComputeInstanceGroupNamedPortList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortList">ComputeInstanceGroupNamedPortList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeInstanceGroup.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.ComputeInstanceGroup.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceGroup.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceGroupTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeoutsOutputReference">ComputeInstanceGroupTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeInstanceGroup.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInstanceGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instancesInput`<sup>Optional</sup> <a name="instancesInput" id="@dschmidt/provider-google.ComputeInstanceGroup.property.instancesInput"></a>

```typescript
public readonly instancesInput: string[];
```

- *Type:* string[]

---

##### `namedPortInput`<sup>Optional</sup> <a name="namedPortInput" id="@dschmidt/provider-google.ComputeInstanceGroup.property.namedPortInput"></a>

```typescript
public readonly namedPortInput: IResolvable | ComputeInstanceGroupNamedPort[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPort">ComputeInstanceGroupNamedPort</a>[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeInstanceGroup.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeInstanceGroup.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInstanceGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeInstanceGroup.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeInstanceGroupTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeouts">ComputeInstanceGroupTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeInstanceGroup.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceGroup.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instances`<sup>Required</sup> <a name="instances" id="@dschmidt/provider-google.ComputeInstanceGroup.property.instances"></a>

```typescript
public readonly instances: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeInstanceGroup.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceGroup.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInstanceGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInstanceGroupManager <a name="ComputeInstanceGroupManager" id="@dschmidt/provider-google.ComputeInstanceGroupManager"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager google_compute_instance_group_manager}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInstanceGroupManager.Initializer"></a>

```typescript
import { ComputeInstanceGroupManager } from '@dschmidt/provider-google'

new ComputeInstanceGroupManager(scope: Construct, id: string, config: ComputeInstanceGroupManagerConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig">ComputeInstanceGroupManagerConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInstanceGroupManager.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceGroupManager.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInstanceGroupManager.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig">ComputeInstanceGroupManagerConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.putAutoHealingPolicies">putAutoHealingPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.putNamedPort">putNamedPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.putStatefulDisk">putStatefulDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.putUpdatePolicy">putUpdatePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.putVersion">putVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetAutoHealingPolicies">resetAutoHealingPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetNamedPort">resetNamedPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetStatefulDisk">resetStatefulDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetTargetPools">resetTargetPools</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetTargetSize">resetTargetSize</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetUpdatePolicy">resetUpdatePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetWaitForInstances">resetWaitForInstances</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetWaitForInstancesStatus">resetWaitForInstancesStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInstanceGroupManager.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInstanceGroupManager.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInstanceGroupManager.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroupManager.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceGroupManager.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInstanceGroupManager.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInstanceGroupManager.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInstanceGroupManager.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupManager.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAutoHealingPolicies` <a name="putAutoHealingPolicies" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putAutoHealingPolicies"></a>

```typescript
public putAutoHealingPolicies(value: ComputeInstanceGroupManagerAutoHealingPolicies): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putAutoHealingPolicies.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies">ComputeInstanceGroupManagerAutoHealingPolicies</a>

---

##### `putNamedPort` <a name="putNamedPort" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putNamedPort"></a>

```typescript
public putNamedPort(value: IResolvable | ComputeInstanceGroupManagerNamedPort[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putNamedPort.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort">ComputeInstanceGroupManagerNamedPort</a>[]

---

##### `putStatefulDisk` <a name="putStatefulDisk" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putStatefulDisk"></a>

```typescript
public putStatefulDisk(value: IResolvable | ComputeInstanceGroupManagerStatefulDisk[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putStatefulDisk.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk">ComputeInstanceGroupManagerStatefulDisk</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeInstanceGroupManagerTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts">ComputeInstanceGroupManagerTimeouts</a>

---

##### `putUpdatePolicy` <a name="putUpdatePolicy" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putUpdatePolicy"></a>

```typescript
public putUpdatePolicy(value: ComputeInstanceGroupManagerUpdatePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putUpdatePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy">ComputeInstanceGroupManagerUpdatePolicy</a>

---

##### `putVersion` <a name="putVersion" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putVersion"></a>

```typescript
public putVersion(value: IResolvable | ComputeInstanceGroupManagerVersion[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroupManager.putVersion.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersion">ComputeInstanceGroupManagerVersion</a>[]

---

##### `resetAutoHealingPolicies` <a name="resetAutoHealingPolicies" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetAutoHealingPolicies"></a>

```typescript
public resetAutoHealingPolicies(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNamedPort` <a name="resetNamedPort" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetNamedPort"></a>

```typescript
public resetNamedPort(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetStatefulDisk` <a name="resetStatefulDisk" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetStatefulDisk"></a>

```typescript
public resetStatefulDisk(): void
```

##### `resetTargetPools` <a name="resetTargetPools" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetTargetPools"></a>

```typescript
public resetTargetPools(): void
```

##### `resetTargetSize` <a name="resetTargetSize" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetTargetSize"></a>

```typescript
public resetTargetSize(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUpdatePolicy` <a name="resetUpdatePolicy" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetUpdatePolicy"></a>

```typescript
public resetUpdatePolicy(): void
```

##### `resetWaitForInstances` <a name="resetWaitForInstances" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetWaitForInstances"></a>

```typescript
public resetWaitForInstances(): void
```

##### `resetWaitForInstancesStatus` <a name="resetWaitForInstancesStatus" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetWaitForInstancesStatus"></a>

```typescript
public resetWaitForInstancesStatus(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeInstanceGroupManager.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInstanceGroupManager.isConstruct"></a>

```typescript
import { ComputeInstanceGroupManager } from '@dschmidt/provider-google'

ComputeInstanceGroupManager.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInstanceGroupManager.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.autoHealingPolicies">autoHealingPolicies</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPoliciesOutputReference">ComputeInstanceGroupManagerAutoHealingPoliciesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.instanceGroup">instanceGroup</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.namedPort">namedPort</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPortList">ComputeInstanceGroupManagerNamedPortList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.operation">operation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.statefulDisk">statefulDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDiskList">ComputeInstanceGroupManagerStatefulDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatusList">ComputeInstanceGroupManagerStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeoutsOutputReference">ComputeInstanceGroupManagerTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.updatePolicy">updatePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicyOutputReference">ComputeInstanceGroupManagerUpdatePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.version">version</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersionList">ComputeInstanceGroupManagerVersionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.autoHealingPoliciesInput">autoHealingPoliciesInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies">ComputeInstanceGroupManagerAutoHealingPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.baseInstanceNameInput">baseInstanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.namedPortInput">namedPortInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort">ComputeInstanceGroupManagerNamedPort</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.statefulDiskInput">statefulDiskInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk">ComputeInstanceGroupManagerStatefulDisk</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.targetPoolsInput">targetPoolsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.targetSizeInput">targetSizeInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts">ComputeInstanceGroupManagerTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.updatePolicyInput">updatePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy">ComputeInstanceGroupManagerUpdatePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.versionInput">versionInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersion">ComputeInstanceGroupManagerVersion</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.waitForInstancesInput">waitForInstancesInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.waitForInstancesStatusInput">waitForInstancesStatusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.baseInstanceName">baseInstanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.targetPools">targetPools</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.targetSize">targetSize</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.waitForInstances">waitForInstances</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.waitForInstancesStatus">waitForInstancesStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoHealingPolicies`<sup>Required</sup> <a name="autoHealingPolicies" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.autoHealingPolicies"></a>

```typescript
public readonly autoHealingPolicies: ComputeInstanceGroupManagerAutoHealingPoliciesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPoliciesOutputReference">ComputeInstanceGroupManagerAutoHealingPoliciesOutputReference</a>

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `instanceGroup`<sup>Required</sup> <a name="instanceGroup" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.instanceGroup"></a>

```typescript
public readonly instanceGroup: string;
```

- *Type:* string

---

##### `namedPort`<sup>Required</sup> <a name="namedPort" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.namedPort"></a>

```typescript
public readonly namedPort: ComputeInstanceGroupManagerNamedPortList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPortList">ComputeInstanceGroupManagerNamedPortList</a>

---

##### `operation`<sup>Required</sup> <a name="operation" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.operation"></a>

```typescript
public readonly operation: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `statefulDisk`<sup>Required</sup> <a name="statefulDisk" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.statefulDisk"></a>

```typescript
public readonly statefulDisk: ComputeInstanceGroupManagerStatefulDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDiskList">ComputeInstanceGroupManagerStatefulDiskList</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.status"></a>

```typescript
public readonly status: ComputeInstanceGroupManagerStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatusList">ComputeInstanceGroupManagerStatusList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceGroupManagerTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeoutsOutputReference">ComputeInstanceGroupManagerTimeoutsOutputReference</a>

---

##### `updatePolicy`<sup>Required</sup> <a name="updatePolicy" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.updatePolicy"></a>

```typescript
public readonly updatePolicy: ComputeInstanceGroupManagerUpdatePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicyOutputReference">ComputeInstanceGroupManagerUpdatePolicyOutputReference</a>

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.version"></a>

```typescript
public readonly version: ComputeInstanceGroupManagerVersionList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersionList">ComputeInstanceGroupManagerVersionList</a>

---

##### `autoHealingPoliciesInput`<sup>Optional</sup> <a name="autoHealingPoliciesInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.autoHealingPoliciesInput"></a>

```typescript
public readonly autoHealingPoliciesInput: ComputeInstanceGroupManagerAutoHealingPolicies;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies">ComputeInstanceGroupManagerAutoHealingPolicies</a>

---

##### `baseInstanceNameInput`<sup>Optional</sup> <a name="baseInstanceNameInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.baseInstanceNameInput"></a>

```typescript
public readonly baseInstanceNameInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `namedPortInput`<sup>Optional</sup> <a name="namedPortInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.namedPortInput"></a>

```typescript
public readonly namedPortInput: IResolvable | ComputeInstanceGroupManagerNamedPort[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort">ComputeInstanceGroupManagerNamedPort</a>[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `statefulDiskInput`<sup>Optional</sup> <a name="statefulDiskInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.statefulDiskInput"></a>

```typescript
public readonly statefulDiskInput: IResolvable | ComputeInstanceGroupManagerStatefulDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk">ComputeInstanceGroupManagerStatefulDisk</a>[]

---

##### `targetPoolsInput`<sup>Optional</sup> <a name="targetPoolsInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.targetPoolsInput"></a>

```typescript
public readonly targetPoolsInput: string[];
```

- *Type:* string[]

---

##### `targetSizeInput`<sup>Optional</sup> <a name="targetSizeInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.targetSizeInput"></a>

```typescript
public readonly targetSizeInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeInstanceGroupManagerTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts">ComputeInstanceGroupManagerTimeouts</a>

---

##### `updatePolicyInput`<sup>Optional</sup> <a name="updatePolicyInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.updatePolicyInput"></a>

```typescript
public readonly updatePolicyInput: ComputeInstanceGroupManagerUpdatePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy">ComputeInstanceGroupManagerUpdatePolicy</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.versionInput"></a>

```typescript
public readonly versionInput: IResolvable | ComputeInstanceGroupManagerVersion[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersion">ComputeInstanceGroupManagerVersion</a>[]

---

##### `waitForInstancesInput`<sup>Optional</sup> <a name="waitForInstancesInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.waitForInstancesInput"></a>

```typescript
public readonly waitForInstancesInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `waitForInstancesStatusInput`<sup>Optional</sup> <a name="waitForInstancesStatusInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.waitForInstancesStatusInput"></a>

```typescript
public readonly waitForInstancesStatusInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `baseInstanceName`<sup>Required</sup> <a name="baseInstanceName" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.baseInstanceName"></a>

```typescript
public readonly baseInstanceName: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `targetPools`<sup>Required</sup> <a name="targetPools" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.targetPools"></a>

```typescript
public readonly targetPools: string[];
```

- *Type:* string[]

---

##### `targetSize`<sup>Required</sup> <a name="targetSize" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.targetSize"></a>

```typescript
public readonly targetSize: number;
```

- *Type:* number

---

##### `waitForInstances`<sup>Required</sup> <a name="waitForInstances" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.waitForInstances"></a>

```typescript
public readonly waitForInstances: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `waitForInstancesStatus`<sup>Required</sup> <a name="waitForInstancesStatus" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.waitForInstancesStatus"></a>

```typescript
public readonly waitForInstancesStatus: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManager.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInstanceGroupManager.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInstanceGroupNamedPortA <a name="ComputeInstanceGroupNamedPortA" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port google_compute_instance_group_named_port}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.Initializer"></a>

```typescript
import { ComputeInstanceGroupNamedPortA } from '@dschmidt/provider-google'

new ComputeInstanceGroupNamedPortA(scope: Construct, id: string, config: ComputeInstanceGroupNamedPortAConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig">ComputeInstanceGroupNamedPortAConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig">ComputeInstanceGroupNamedPortAConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeInstanceGroupNamedPortTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts">ComputeInstanceGroupNamedPortTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.isConstruct"></a>

```typescript
import { ComputeInstanceGroupNamedPortA } from '@dschmidt/provider-google'

ComputeInstanceGroupNamedPortA.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeoutsOutputReference">ComputeInstanceGroupNamedPortTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.groupInput">groupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.portInput">portInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts">ComputeInstanceGroupNamedPortTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.group">group</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceGroupNamedPortTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeoutsOutputReference">ComputeInstanceGroupNamedPortTimeoutsOutputReference</a>

---

##### `groupInput`<sup>Optional</sup> <a name="groupInput" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.groupInput"></a>

```typescript
public readonly groupInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `portInput`<sup>Optional</sup> <a name="portInput" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.portInput"></a>

```typescript
public readonly portInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeInstanceGroupNamedPortTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts">ComputeInstanceGroupNamedPortTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `group`<sup>Required</sup> <a name="group" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.group"></a>

```typescript
public readonly group: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortA.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInstanceIamBinding <a name="ComputeInstanceIamBinding" id="@dschmidt/provider-google.ComputeInstanceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding google_compute_instance_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInstanceIamBinding.Initializer"></a>

```typescript
import { ComputeInstanceIamBinding } from '@dschmidt/provider-google'

new ComputeInstanceIamBinding(scope: Construct, id: string, config: ComputeInstanceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig">ComputeInstanceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInstanceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInstanceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig">ComputeInstanceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInstanceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInstanceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInstanceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInstanceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInstanceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInstanceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeInstanceIamBinding.putCondition"></a>

```typescript
public putCondition(value: ComputeInstanceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamBindingCondition">ComputeInstanceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeInstanceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInstanceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInstanceIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeInstanceIamBinding.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInstanceIamBinding.isConstruct"></a>

```typescript
import { ComputeInstanceIamBinding } from '@dschmidt/provider-google'

ComputeInstanceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInstanceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConditionOutputReference">ComputeInstanceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingCondition">ComputeInstanceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.instanceNameInput">instanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.instanceName">instanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.condition"></a>

```typescript
public readonly condition: ComputeInstanceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConditionOutputReference">ComputeInstanceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamBindingCondition">ComputeInstanceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceNameInput`<sup>Optional</sup> <a name="instanceNameInput" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.instanceNameInput"></a>

```typescript
public readonly instanceNameInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInstanceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInstanceIamMember <a name="ComputeInstanceIamMember" id="@dschmidt/provider-google.ComputeInstanceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member google_compute_instance_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInstanceIamMember.Initializer"></a>

```typescript
import { ComputeInstanceIamMember } from '@dschmidt/provider-google'

new ComputeInstanceIamMember(scope: Construct, id: string, config: ComputeInstanceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig">ComputeInstanceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInstanceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInstanceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig">ComputeInstanceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInstanceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInstanceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInstanceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInstanceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInstanceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInstanceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeInstanceIamMember.putCondition"></a>

```typescript
public putCondition(value: ComputeInstanceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamMemberCondition">ComputeInstanceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeInstanceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInstanceIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInstanceIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeInstanceIamMember.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInstanceIamMember.isConstruct"></a>

```typescript
import { ComputeInstanceIamMember } from '@dschmidt/provider-google'

ComputeInstanceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInstanceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConditionOutputReference">ComputeInstanceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberCondition">ComputeInstanceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.instanceNameInput">instanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.instanceName">instanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.condition"></a>

```typescript
public readonly condition: ComputeInstanceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConditionOutputReference">ComputeInstanceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamMemberCondition">ComputeInstanceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceNameInput`<sup>Optional</sup> <a name="instanceNameInput" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.instanceNameInput"></a>

```typescript
public readonly instanceNameInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInstanceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInstanceIamPolicy <a name="ComputeInstanceIamPolicy" id="@dschmidt/provider-google.ComputeInstanceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy google_compute_instance_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.Initializer"></a>

```typescript
import { ComputeInstanceIamPolicy } from '@dschmidt/provider-google'

new ComputeInstanceIamPolicy(scope: Construct, id: string, config: ComputeInstanceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig">ComputeInstanceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig">ComputeInstanceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.isConstruct"></a>

```typescript
import { ComputeInstanceIamPolicy } from '@dschmidt/provider-google'

ComputeInstanceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.instanceNameInput">instanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.instanceName">instanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceNameInput`<sup>Optional</sup> <a name="instanceNameInput" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.instanceNameInput"></a>

```typescript
public readonly instanceNameInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInstanceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInstanceTemplate <a name="ComputeInstanceTemplate" id="@dschmidt/provider-google.ComputeInstanceTemplate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template google_compute_instance_template}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInstanceTemplate.Initializer"></a>

```typescript
import { ComputeInstanceTemplate } from '@dschmidt/provider-google'

new ComputeInstanceTemplate(scope: Construct, id: string, config: ComputeInstanceTemplateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig">ComputeInstanceTemplateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInstanceTemplate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceTemplate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInstanceTemplate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig">ComputeInstanceTemplateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putAdvancedMachineFeatures">putAdvancedMachineFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putConfidentialInstanceConfig">putConfidentialInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putDisk">putDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putGuestAccelerator">putGuestAccelerator</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putNetworkInterface">putNetworkInterface</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putReservationAffinity">putReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putScheduling">putScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putServiceAccount">putServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putShieldedInstanceConfig">putShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetAdvancedMachineFeatures">resetAdvancedMachineFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetCanIpForward">resetCanIpForward</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetConfidentialInstanceConfig">resetConfidentialInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetGuestAccelerator">resetGuestAccelerator</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetInstanceDescription">resetInstanceDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetMetadata">resetMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetMetadataStartupScript">resetMetadataStartupScript</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetMinCpuPlatform">resetMinCpuPlatform</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetNamePrefix">resetNamePrefix</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetNetworkInterface">resetNetworkInterface</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetReservationAffinity">resetReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetScheduling">resetScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetServiceAccount">resetServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetShieldedInstanceConfig">resetShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetTags">resetTags</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInstanceTemplate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInstanceTemplate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInstanceTemplate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceTemplate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInstanceTemplate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInstanceTemplate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInstanceTemplate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInstanceTemplate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAdvancedMachineFeatures` <a name="putAdvancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceTemplate.putAdvancedMachineFeatures"></a>

```typescript
public putAdvancedMachineFeatures(value: ComputeInstanceTemplateAdvancedMachineFeatures): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putAdvancedMachineFeatures.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures">ComputeInstanceTemplateAdvancedMachineFeatures</a>

---

##### `putConfidentialInstanceConfig` <a name="putConfidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplate.putConfidentialInstanceConfig"></a>

```typescript
public putConfidentialInstanceConfig(value: ComputeInstanceTemplateConfidentialInstanceConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putConfidentialInstanceConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfig">ComputeInstanceTemplateConfidentialInstanceConfig</a>

---

##### `putDisk` <a name="putDisk" id="@dschmidt/provider-google.ComputeInstanceTemplate.putDisk"></a>

```typescript
public putDisk(value: IResolvable | ComputeInstanceTemplateDisk[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putDisk.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk">ComputeInstanceTemplateDisk</a>[]

---

##### `putGuestAccelerator` <a name="putGuestAccelerator" id="@dschmidt/provider-google.ComputeInstanceTemplate.putGuestAccelerator"></a>

```typescript
public putGuestAccelerator(value: IResolvable | ComputeInstanceTemplateGuestAccelerator[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putGuestAccelerator.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator">ComputeInstanceTemplateGuestAccelerator</a>[]

---

##### `putNetworkInterface` <a name="putNetworkInterface" id="@dschmidt/provider-google.ComputeInstanceTemplate.putNetworkInterface"></a>

```typescript
public putNetworkInterface(value: IResolvable | ComputeInstanceTemplateNetworkInterface[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putNetworkInterface.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface">ComputeInstanceTemplateNetworkInterface</a>[]

---

##### `putReservationAffinity` <a name="putReservationAffinity" id="@dschmidt/provider-google.ComputeInstanceTemplate.putReservationAffinity"></a>

```typescript
public putReservationAffinity(value: ComputeInstanceTemplateReservationAffinity): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putReservationAffinity.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity">ComputeInstanceTemplateReservationAffinity</a>

---

##### `putScheduling` <a name="putScheduling" id="@dschmidt/provider-google.ComputeInstanceTemplate.putScheduling"></a>

```typescript
public putScheduling(value: ComputeInstanceTemplateScheduling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putScheduling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling">ComputeInstanceTemplateScheduling</a>

---

##### `putServiceAccount` <a name="putServiceAccount" id="@dschmidt/provider-google.ComputeInstanceTemplate.putServiceAccount"></a>

```typescript
public putServiceAccount(value: ComputeInstanceTemplateServiceAccount): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putServiceAccount.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount">ComputeInstanceTemplateServiceAccount</a>

---

##### `putShieldedInstanceConfig` <a name="putShieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplate.putShieldedInstanceConfig"></a>

```typescript
public putShieldedInstanceConfig(value: ComputeInstanceTemplateShieldedInstanceConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putShieldedInstanceConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig">ComputeInstanceTemplateShieldedInstanceConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeInstanceTemplate.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeInstanceTemplateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInstanceTemplate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateTimeouts">ComputeInstanceTemplateTimeouts</a>

---

##### `resetAdvancedMachineFeatures` <a name="resetAdvancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetAdvancedMachineFeatures"></a>

```typescript
public resetAdvancedMachineFeatures(): void
```

##### `resetCanIpForward` <a name="resetCanIpForward" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetCanIpForward"></a>

```typescript
public resetCanIpForward(): void
```

##### `resetConfidentialInstanceConfig` <a name="resetConfidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetConfidentialInstanceConfig"></a>

```typescript
public resetConfidentialInstanceConfig(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetGuestAccelerator` <a name="resetGuestAccelerator" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetGuestAccelerator"></a>

```typescript
public resetGuestAccelerator(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInstanceDescription` <a name="resetInstanceDescription" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetInstanceDescription"></a>

```typescript
public resetInstanceDescription(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMetadata` <a name="resetMetadata" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetMetadata"></a>

```typescript
public resetMetadata(): void
```

##### `resetMetadataStartupScript` <a name="resetMetadataStartupScript" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetMetadataStartupScript"></a>

```typescript
public resetMetadataStartupScript(): void
```

##### `resetMinCpuPlatform` <a name="resetMinCpuPlatform" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetMinCpuPlatform"></a>

```typescript
public resetMinCpuPlatform(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetName"></a>

```typescript
public resetName(): void
```

##### `resetNamePrefix` <a name="resetNamePrefix" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetNamePrefix"></a>

```typescript
public resetNamePrefix(): void
```

##### `resetNetworkInterface` <a name="resetNetworkInterface" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetNetworkInterface"></a>

```typescript
public resetNetworkInterface(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetReservationAffinity` <a name="resetReservationAffinity" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetReservationAffinity"></a>

```typescript
public resetReservationAffinity(): void
```

##### `resetScheduling` <a name="resetScheduling" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetScheduling"></a>

```typescript
public resetScheduling(): void
```

##### `resetServiceAccount` <a name="resetServiceAccount" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetServiceAccount"></a>

```typescript
public resetServiceAccount(): void
```

##### `resetShieldedInstanceConfig` <a name="resetShieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetShieldedInstanceConfig"></a>

```typescript
public resetShieldedInstanceConfig(): void
```

##### `resetTags` <a name="resetTags" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetTags"></a>

```typescript
public resetTags(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeInstanceTemplate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInstanceTemplate.isConstruct"></a>

```typescript
import { ComputeInstanceTemplate } from '@dschmidt/provider-google'

ComputeInstanceTemplate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInstanceTemplate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.advancedMachineFeatures">advancedMachineFeatures</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeaturesOutputReference">ComputeInstanceTemplateAdvancedMachineFeaturesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.confidentialInstanceConfig">confidentialInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfigOutputReference">ComputeInstanceTemplateConfidentialInstanceConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.disk">disk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDiskList">ComputeInstanceTemplateDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.guestAccelerator">guestAccelerator</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateGuestAcceleratorList">ComputeInstanceTemplateGuestAcceleratorList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.metadataFingerprint">metadataFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.networkInterface">networkInterface</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceList">ComputeInstanceTemplateNetworkInterfaceList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinityOutputReference">ComputeInstanceTemplateReservationAffinityOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateSchedulingOutputReference">ComputeInstanceTemplateSchedulingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.serviceAccount">serviceAccount</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateServiceAccountOutputReference">ComputeInstanceTemplateServiceAccountOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfigOutputReference">ComputeInstanceTemplateShieldedInstanceConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.tagsFingerprint">tagsFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateTimeoutsOutputReference">ComputeInstanceTemplateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.advancedMachineFeaturesInput">advancedMachineFeaturesInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures">ComputeInstanceTemplateAdvancedMachineFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.canIpForwardInput">canIpForwardInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.confidentialInstanceConfigInput">confidentialInstanceConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfig">ComputeInstanceTemplateConfidentialInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.diskInput">diskInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk">ComputeInstanceTemplateDisk</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.guestAcceleratorInput">guestAcceleratorInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator">ComputeInstanceTemplateGuestAccelerator</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.instanceDescriptionInput">instanceDescriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.machineTypeInput">machineTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.metadataInput">metadataInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.metadataStartupScriptInput">metadataStartupScriptInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.minCpuPlatformInput">minCpuPlatformInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.namePrefixInput">namePrefixInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.networkInterfaceInput">networkInterfaceInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface">ComputeInstanceTemplateNetworkInterface</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.reservationAffinityInput">reservationAffinityInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity">ComputeInstanceTemplateReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.schedulingInput">schedulingInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling">ComputeInstanceTemplateScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.serviceAccountInput">serviceAccountInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount">ComputeInstanceTemplateServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.shieldedInstanceConfigInput">shieldedInstanceConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig">ComputeInstanceTemplateShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.tagsInput">tagsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateTimeouts">ComputeInstanceTemplateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.canIpForward">canIpForward</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.instanceDescription">instanceDescription</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.machineType">machineType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.metadataStartupScript">metadataStartupScript</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.namePrefix">namePrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `advancedMachineFeatures`<sup>Required</sup> <a name="advancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.advancedMachineFeatures"></a>

```typescript
public readonly advancedMachineFeatures: ComputeInstanceTemplateAdvancedMachineFeaturesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeaturesOutputReference">ComputeInstanceTemplateAdvancedMachineFeaturesOutputReference</a>

---

##### `confidentialInstanceConfig`<sup>Required</sup> <a name="confidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.confidentialInstanceConfig"></a>

```typescript
public readonly confidentialInstanceConfig: ComputeInstanceTemplateConfidentialInstanceConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfigOutputReference">ComputeInstanceTemplateConfidentialInstanceConfigOutputReference</a>

---

##### `disk`<sup>Required</sup> <a name="disk" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.disk"></a>

```typescript
public readonly disk: ComputeInstanceTemplateDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateDiskList">ComputeInstanceTemplateDiskList</a>

---

##### `guestAccelerator`<sup>Required</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: ComputeInstanceTemplateGuestAcceleratorList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateGuestAcceleratorList">ComputeInstanceTemplateGuestAcceleratorList</a>

---

##### `metadataFingerprint`<sup>Required</sup> <a name="metadataFingerprint" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.metadataFingerprint"></a>

```typescript
public readonly metadataFingerprint: string;
```

- *Type:* string

---

##### `networkInterface`<sup>Required</sup> <a name="networkInterface" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.networkInterface"></a>

```typescript
public readonly networkInterface: ComputeInstanceTemplateNetworkInterfaceList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceList">ComputeInstanceTemplateNetworkInterfaceList</a>

---

##### `reservationAffinity`<sup>Required</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: ComputeInstanceTemplateReservationAffinityOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinityOutputReference">ComputeInstanceTemplateReservationAffinityOutputReference</a>

---

##### `scheduling`<sup>Required</sup> <a name="scheduling" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.scheduling"></a>

```typescript
public readonly scheduling: ComputeInstanceTemplateSchedulingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateSchedulingOutputReference">ComputeInstanceTemplateSchedulingOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: ComputeInstanceTemplateServiceAccountOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateServiceAccountOutputReference">ComputeInstanceTemplateServiceAccountOutputReference</a>

---

##### `shieldedInstanceConfig`<sup>Required</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: ComputeInstanceTemplateShieldedInstanceConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfigOutputReference">ComputeInstanceTemplateShieldedInstanceConfigOutputReference</a>

---

##### `tagsFingerprint`<sup>Required</sup> <a name="tagsFingerprint" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.tagsFingerprint"></a>

```typescript
public readonly tagsFingerprint: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceTemplateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateTimeoutsOutputReference">ComputeInstanceTemplateTimeoutsOutputReference</a>

---

##### `advancedMachineFeaturesInput`<sup>Optional</sup> <a name="advancedMachineFeaturesInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.advancedMachineFeaturesInput"></a>

```typescript
public readonly advancedMachineFeaturesInput: ComputeInstanceTemplateAdvancedMachineFeatures;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures">ComputeInstanceTemplateAdvancedMachineFeatures</a>

---

##### `canIpForwardInput`<sup>Optional</sup> <a name="canIpForwardInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.canIpForwardInput"></a>

```typescript
public readonly canIpForwardInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `confidentialInstanceConfigInput`<sup>Optional</sup> <a name="confidentialInstanceConfigInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.confidentialInstanceConfigInput"></a>

```typescript
public readonly confidentialInstanceConfigInput: ComputeInstanceTemplateConfidentialInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfig">ComputeInstanceTemplateConfidentialInstanceConfig</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `diskInput`<sup>Optional</sup> <a name="diskInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.diskInput"></a>

```typescript
public readonly diskInput: IResolvable | ComputeInstanceTemplateDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk">ComputeInstanceTemplateDisk</a>[]

---

##### `guestAcceleratorInput`<sup>Optional</sup> <a name="guestAcceleratorInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.guestAcceleratorInput"></a>

```typescript
public readonly guestAcceleratorInput: IResolvable | ComputeInstanceTemplateGuestAccelerator[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator">ComputeInstanceTemplateGuestAccelerator</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceDescriptionInput`<sup>Optional</sup> <a name="instanceDescriptionInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.instanceDescriptionInput"></a>

```typescript
public readonly instanceDescriptionInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `machineTypeInput`<sup>Optional</sup> <a name="machineTypeInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.machineTypeInput"></a>

```typescript
public readonly machineTypeInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.metadataInput"></a>

```typescript
public readonly metadataInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `metadataStartupScriptInput`<sup>Optional</sup> <a name="metadataStartupScriptInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.metadataStartupScriptInput"></a>

```typescript
public readonly metadataStartupScriptInput: string;
```

- *Type:* string

---

##### `minCpuPlatformInput`<sup>Optional</sup> <a name="minCpuPlatformInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.minCpuPlatformInput"></a>

```typescript
public readonly minCpuPlatformInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `namePrefixInput`<sup>Optional</sup> <a name="namePrefixInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.namePrefixInput"></a>

```typescript
public readonly namePrefixInput: string;
```

- *Type:* string

---

##### `networkInterfaceInput`<sup>Optional</sup> <a name="networkInterfaceInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.networkInterfaceInput"></a>

```typescript
public readonly networkInterfaceInput: IResolvable | ComputeInstanceTemplateNetworkInterface[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface">ComputeInstanceTemplateNetworkInterface</a>[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `reservationAffinityInput`<sup>Optional</sup> <a name="reservationAffinityInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.reservationAffinityInput"></a>

```typescript
public readonly reservationAffinityInput: ComputeInstanceTemplateReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity">ComputeInstanceTemplateReservationAffinity</a>

---

##### `schedulingInput`<sup>Optional</sup> <a name="schedulingInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.schedulingInput"></a>

```typescript
public readonly schedulingInput: ComputeInstanceTemplateScheduling;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling">ComputeInstanceTemplateScheduling</a>

---

##### `serviceAccountInput`<sup>Optional</sup> <a name="serviceAccountInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.serviceAccountInput"></a>

```typescript
public readonly serviceAccountInput: ComputeInstanceTemplateServiceAccount;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount">ComputeInstanceTemplateServiceAccount</a>

---

##### `shieldedInstanceConfigInput`<sup>Optional</sup> <a name="shieldedInstanceConfigInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.shieldedInstanceConfigInput"></a>

```typescript
public readonly shieldedInstanceConfigInput: ComputeInstanceTemplateShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig">ComputeInstanceTemplateShieldedInstanceConfig</a>

---

##### `tagsInput`<sup>Optional</sup> <a name="tagsInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.tagsInput"></a>

```typescript
public readonly tagsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeInstanceTemplateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateTimeouts">ComputeInstanceTemplateTimeouts</a>

---

##### `canIpForward`<sup>Required</sup> <a name="canIpForward" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.canIpForward"></a>

```typescript
public readonly canIpForward: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceDescription`<sup>Required</sup> <a name="instanceDescription" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.instanceDescription"></a>

```typescript
public readonly instanceDescription: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `metadataStartupScript`<sup>Required</sup> <a name="metadataStartupScript" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.metadataStartupScript"></a>

```typescript
public readonly metadataStartupScript: string;
```

- *Type:* string

---

##### `minCpuPlatform`<sup>Required</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `namePrefix`<sup>Required</sup> <a name="namePrefix" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `tags`<sup>Required</sup> <a name="tags" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInstanceTemplate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeInterconnectAttachment <a name="ComputeInterconnectAttachment" id="@dschmidt/provider-google.ComputeInterconnectAttachment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment google_compute_interconnect_attachment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeInterconnectAttachment.Initializer"></a>

```typescript
import { ComputeInterconnectAttachment } from '@dschmidt/provider-google'

new ComputeInterconnectAttachment(scope: Construct, id: string, config: ComputeInterconnectAttachmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig">ComputeInterconnectAttachmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeInterconnectAttachment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInterconnectAttachment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeInterconnectAttachment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig">ComputeInterconnectAttachmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetAdminEnabled">resetAdminEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetBandwidth">resetBandwidth</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetCandidateSubnets">resetCandidateSubnets</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetEdgeAvailabilityDomain">resetEdgeAvailabilityDomain</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetEncryption">resetEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetInterconnect">resetInterconnect</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetIpsecInternalAddresses">resetIpsecInternalAddresses</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetMtu">resetMtu</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetType">resetType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.resetVlanTag8021Q">resetVlanTag8021Q</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeInterconnectAttachment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeInterconnectAttachment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeInterconnectAttachment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInterconnectAttachment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeInterconnectAttachment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeInterconnectAttachment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeInterconnectAttachment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeInterconnectAttachment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeInterconnectAttachment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeInterconnectAttachment.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeInterconnectAttachmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeInterconnectAttachment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts">ComputeInterconnectAttachmentTimeouts</a>

---

##### `resetAdminEnabled` <a name="resetAdminEnabled" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetAdminEnabled"></a>

```typescript
public resetAdminEnabled(): void
```

##### `resetBandwidth` <a name="resetBandwidth" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetBandwidth"></a>

```typescript
public resetBandwidth(): void
```

##### `resetCandidateSubnets` <a name="resetCandidateSubnets" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetCandidateSubnets"></a>

```typescript
public resetCandidateSubnets(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEdgeAvailabilityDomain` <a name="resetEdgeAvailabilityDomain" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetEdgeAvailabilityDomain"></a>

```typescript
public resetEdgeAvailabilityDomain(): void
```

##### `resetEncryption` <a name="resetEncryption" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetEncryption"></a>

```typescript
public resetEncryption(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInterconnect` <a name="resetInterconnect" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetInterconnect"></a>

```typescript
public resetInterconnect(): void
```

##### `resetIpsecInternalAddresses` <a name="resetIpsecInternalAddresses" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetIpsecInternalAddresses"></a>

```typescript
public resetIpsecInternalAddresses(): void
```

##### `resetMtu` <a name="resetMtu" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetMtu"></a>

```typescript
public resetMtu(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetType"></a>

```typescript
public resetType(): void
```

##### `resetVlanTag8021Q` <a name="resetVlanTag8021Q" id="@dschmidt/provider-google.ComputeInterconnectAttachment.resetVlanTag8021Q"></a>

```typescript
public resetVlanTag8021Q(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeInterconnectAttachment.isConstruct"></a>

```typescript
import { ComputeInterconnectAttachment } from '@dschmidt/provider-google'

ComputeInterconnectAttachment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeInterconnectAttachment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.cloudRouterIpAddress">cloudRouterIpAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.customerRouterIpAddress">customerRouterIpAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.googleReferenceId">googleReferenceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.pairingKey">pairingKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.partnerAsn">partnerAsn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.privateInterconnectInfo">privateInterconnectInfo</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentPrivateInterconnectInfoList">ComputeInterconnectAttachmentPrivateInterconnectInfoList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeoutsOutputReference">ComputeInterconnectAttachmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.adminEnabledInput">adminEnabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.bandwidthInput">bandwidthInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.candidateSubnetsInput">candidateSubnetsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.edgeAvailabilityDomainInput">edgeAvailabilityDomainInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.encryptionInput">encryptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.interconnectInput">interconnectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.ipsecInternalAddressesInput">ipsecInternalAddressesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.mtuInput">mtuInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.routerInput">routerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts">ComputeInterconnectAttachmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.vlanTag8021QInput">vlanTag8021QInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.adminEnabled">adminEnabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.bandwidth">bandwidth</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.candidateSubnets">candidateSubnets</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.edgeAvailabilityDomain">edgeAvailabilityDomain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.encryption">encryption</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.interconnect">interconnect</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.ipsecInternalAddresses">ipsecInternalAddresses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.mtu">mtu</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.router">router</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.vlanTag8021Q">vlanTag8021Q</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cloudRouterIpAddress`<sup>Required</sup> <a name="cloudRouterIpAddress" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.cloudRouterIpAddress"></a>

```typescript
public readonly cloudRouterIpAddress: string;
```

- *Type:* string

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `customerRouterIpAddress`<sup>Required</sup> <a name="customerRouterIpAddress" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.customerRouterIpAddress"></a>

```typescript
public readonly customerRouterIpAddress: string;
```

- *Type:* string

---

##### `googleReferenceId`<sup>Required</sup> <a name="googleReferenceId" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.googleReferenceId"></a>

```typescript
public readonly googleReferenceId: string;
```

- *Type:* string

---

##### `pairingKey`<sup>Required</sup> <a name="pairingKey" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.pairingKey"></a>

```typescript
public readonly pairingKey: string;
```

- *Type:* string

---

##### `partnerAsn`<sup>Required</sup> <a name="partnerAsn" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.partnerAsn"></a>

```typescript
public readonly partnerAsn: string;
```

- *Type:* string

---

##### `privateInterconnectInfo`<sup>Required</sup> <a name="privateInterconnectInfo" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.privateInterconnectInfo"></a>

```typescript
public readonly privateInterconnectInfo: ComputeInterconnectAttachmentPrivateInterconnectInfoList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentPrivateInterconnectInfoList">ComputeInterconnectAttachmentPrivateInterconnectInfoList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInterconnectAttachmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeoutsOutputReference">ComputeInterconnectAttachmentTimeoutsOutputReference</a>

---

##### `adminEnabledInput`<sup>Optional</sup> <a name="adminEnabledInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.adminEnabledInput"></a>

```typescript
public readonly adminEnabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `bandwidthInput`<sup>Optional</sup> <a name="bandwidthInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.bandwidthInput"></a>

```typescript
public readonly bandwidthInput: string;
```

- *Type:* string

---

##### `candidateSubnetsInput`<sup>Optional</sup> <a name="candidateSubnetsInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.candidateSubnetsInput"></a>

```typescript
public readonly candidateSubnetsInput: string[];
```

- *Type:* string[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `edgeAvailabilityDomainInput`<sup>Optional</sup> <a name="edgeAvailabilityDomainInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.edgeAvailabilityDomainInput"></a>

```typescript
public readonly edgeAvailabilityDomainInput: string;
```

- *Type:* string

---

##### `encryptionInput`<sup>Optional</sup> <a name="encryptionInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.encryptionInput"></a>

```typescript
public readonly encryptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `interconnectInput`<sup>Optional</sup> <a name="interconnectInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.interconnectInput"></a>

```typescript
public readonly interconnectInput: string;
```

- *Type:* string

---

##### `ipsecInternalAddressesInput`<sup>Optional</sup> <a name="ipsecInternalAddressesInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.ipsecInternalAddressesInput"></a>

```typescript
public readonly ipsecInternalAddressesInput: string[];
```

- *Type:* string[]

---

##### `mtuInput`<sup>Optional</sup> <a name="mtuInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.mtuInput"></a>

```typescript
public readonly mtuInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `routerInput`<sup>Optional</sup> <a name="routerInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.routerInput"></a>

```typescript
public readonly routerInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeInterconnectAttachmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts">ComputeInterconnectAttachmentTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `vlanTag8021QInput`<sup>Optional</sup> <a name="vlanTag8021QInput" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.vlanTag8021QInput"></a>

```typescript
public readonly vlanTag8021QInput: number;
```

- *Type:* number

---

##### `adminEnabled`<sup>Required</sup> <a name="adminEnabled" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.adminEnabled"></a>

```typescript
public readonly adminEnabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `bandwidth`<sup>Required</sup> <a name="bandwidth" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.bandwidth"></a>

```typescript
public readonly bandwidth: string;
```

- *Type:* string

---

##### `candidateSubnets`<sup>Required</sup> <a name="candidateSubnets" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.candidateSubnets"></a>

```typescript
public readonly candidateSubnets: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `edgeAvailabilityDomain`<sup>Required</sup> <a name="edgeAvailabilityDomain" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.edgeAvailabilityDomain"></a>

```typescript
public readonly edgeAvailabilityDomain: string;
```

- *Type:* string

---

##### `encryption`<sup>Required</sup> <a name="encryption" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.encryption"></a>

```typescript
public readonly encryption: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `interconnect`<sup>Required</sup> <a name="interconnect" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.interconnect"></a>

```typescript
public readonly interconnect: string;
```

- *Type:* string

---

##### `ipsecInternalAddresses`<sup>Required</sup> <a name="ipsecInternalAddresses" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.ipsecInternalAddresses"></a>

```typescript
public readonly ipsecInternalAddresses: string[];
```

- *Type:* string[]

---

##### `mtu`<sup>Required</sup> <a name="mtu" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.mtu"></a>

```typescript
public readonly mtu: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `router`<sup>Required</sup> <a name="router" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `vlanTag8021Q`<sup>Required</sup> <a name="vlanTag8021Q" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.vlanTag8021Q"></a>

```typescript
public readonly vlanTag8021Q: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeInterconnectAttachment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeManagedSslCertificate <a name="ComputeManagedSslCertificate" id="@dschmidt/provider-google.ComputeManagedSslCertificate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate google_compute_managed_ssl_certificate}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeManagedSslCertificate.Initializer"></a>

```typescript
import { ComputeManagedSslCertificate } from '@dschmidt/provider-google'

new ComputeManagedSslCertificate(scope: Construct, id: string, config?: ComputeManagedSslCertificateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig">ComputeManagedSslCertificateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeManagedSslCertificate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeManagedSslCertificate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.ComputeManagedSslCertificate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig">ComputeManagedSslCertificateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.putManaged">putManaged</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.resetCertificateId">resetCertificateId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.resetManaged">resetManaged</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.resetType">resetType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeManagedSslCertificate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeManagedSslCertificate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeManagedSslCertificate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeManagedSslCertificate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeManagedSslCertificate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeManagedSslCertificate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeManagedSslCertificate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeManagedSslCertificate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeManagedSslCertificate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeManagedSslCertificate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putManaged` <a name="putManaged" id="@dschmidt/provider-google.ComputeManagedSslCertificate.putManaged"></a>

```typescript
public putManaged(value: ComputeManagedSslCertificateManaged): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeManagedSslCertificate.putManaged.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateManaged">ComputeManagedSslCertificateManaged</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeManagedSslCertificate.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeManagedSslCertificateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeManagedSslCertificate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts">ComputeManagedSslCertificateTimeouts</a>

---

##### `resetCertificateId` <a name="resetCertificateId" id="@dschmidt/provider-google.ComputeManagedSslCertificate.resetCertificateId"></a>

```typescript
public resetCertificateId(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeManagedSslCertificate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeManagedSslCertificate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetManaged` <a name="resetManaged" id="@dschmidt/provider-google.ComputeManagedSslCertificate.resetManaged"></a>

```typescript
public resetManaged(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.ComputeManagedSslCertificate.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeManagedSslCertificate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeManagedSslCertificate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.ComputeManagedSslCertificate.resetType"></a>

```typescript
public resetType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeManagedSslCertificate.isConstruct"></a>

```typescript
import { ComputeManagedSslCertificate } from '@dschmidt/provider-google'

ComputeManagedSslCertificate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeManagedSslCertificate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.expireTime">expireTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.managed">managed</a></code> | <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateManagedOutputReference">ComputeManagedSslCertificateManagedOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.subjectAlternativeNames">subjectAlternativeNames</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateTimeoutsOutputReference">ComputeManagedSslCertificateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.certificateIdInput">certificateIdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.managedInput">managedInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateManaged">ComputeManagedSslCertificateManaged</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts">ComputeManagedSslCertificateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.certificateId">certificateId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `expireTime`<sup>Required</sup> <a name="expireTime" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.expireTime"></a>

```typescript
public readonly expireTime: string;
```

- *Type:* string

---

##### `managed`<sup>Required</sup> <a name="managed" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.managed"></a>

```typescript
public readonly managed: ComputeManagedSslCertificateManagedOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateManagedOutputReference">ComputeManagedSslCertificateManagedOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `subjectAlternativeNames`<sup>Required</sup> <a name="subjectAlternativeNames" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.subjectAlternativeNames"></a>

```typescript
public readonly subjectAlternativeNames: string[];
```

- *Type:* string[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeManagedSslCertificateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateTimeoutsOutputReference">ComputeManagedSslCertificateTimeoutsOutputReference</a>

---

##### `certificateIdInput`<sup>Optional</sup> <a name="certificateIdInput" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.certificateIdInput"></a>

```typescript
public readonly certificateIdInput: number;
```

- *Type:* number

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `managedInput`<sup>Optional</sup> <a name="managedInput" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.managedInput"></a>

```typescript
public readonly managedInput: ComputeManagedSslCertificateManaged;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateManaged">ComputeManagedSslCertificateManaged</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeManagedSslCertificateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts">ComputeManagedSslCertificateTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `certificateId`<sup>Required</sup> <a name="certificateId" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.certificateId"></a>

```typescript
public readonly certificateId: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeManagedSslCertificate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeNetwork <a name="ComputeNetwork" id="@dschmidt/provider-google.ComputeNetwork"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_network google_compute_network}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeNetwork.Initializer"></a>

```typescript
import { ComputeNetwork } from '@dschmidt/provider-google'

new ComputeNetwork(scope: Construct, id: string, config: ComputeNetworkConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig">ComputeNetworkConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeNetwork.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetwork.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeNetwork.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkConfig">ComputeNetworkConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetAutoCreateSubnetworks">resetAutoCreateSubnetworks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetDeleteDefaultRoutesOnCreate">resetDeleteDefaultRoutesOnCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetEnableUlaInternalIpv6">resetEnableUlaInternalIpv6</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetInternalIpv6Range">resetInternalIpv6Range</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetMtu">resetMtu</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetRoutingMode">resetRoutingMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeNetwork.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeNetwork.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeNetwork.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetwork.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeNetwork.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeNetwork.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeNetwork.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeNetwork.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeNetwork.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeNetwork.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeNetwork.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeNetwork.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeNetwork.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeNetwork.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeNetwork.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeNetwork.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeNetwork.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeNetwork.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeNetwork.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetwork.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeNetwork.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeNetworkTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetwork.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkTimeouts">ComputeNetworkTimeouts</a>

---

##### `resetAutoCreateSubnetworks` <a name="resetAutoCreateSubnetworks" id="@dschmidt/provider-google.ComputeNetwork.resetAutoCreateSubnetworks"></a>

```typescript
public resetAutoCreateSubnetworks(): void
```

##### `resetDeleteDefaultRoutesOnCreate` <a name="resetDeleteDefaultRoutesOnCreate" id="@dschmidt/provider-google.ComputeNetwork.resetDeleteDefaultRoutesOnCreate"></a>

```typescript
public resetDeleteDefaultRoutesOnCreate(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeNetwork.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEnableUlaInternalIpv6` <a name="resetEnableUlaInternalIpv6" id="@dschmidt/provider-google.ComputeNetwork.resetEnableUlaInternalIpv6"></a>

```typescript
public resetEnableUlaInternalIpv6(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeNetwork.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInternalIpv6Range` <a name="resetInternalIpv6Range" id="@dschmidt/provider-google.ComputeNetwork.resetInternalIpv6Range"></a>

```typescript
public resetInternalIpv6Range(): void
```

##### `resetMtu` <a name="resetMtu" id="@dschmidt/provider-google.ComputeNetwork.resetMtu"></a>

```typescript
public resetMtu(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeNetwork.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRoutingMode` <a name="resetRoutingMode" id="@dschmidt/provider-google.ComputeNetwork.resetRoutingMode"></a>

```typescript
public resetRoutingMode(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeNetwork.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeNetwork.isConstruct"></a>

```typescript
import { ComputeNetwork } from '@dschmidt/provider-google'

ComputeNetwork.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeNetwork.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.gatewayIpv4">gatewayIpv4</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkTimeoutsOutputReference">ComputeNetworkTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.autoCreateSubnetworksInput">autoCreateSubnetworksInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.deleteDefaultRoutesOnCreateInput">deleteDefaultRoutesOnCreateInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.enableUlaInternalIpv6Input">enableUlaInternalIpv6Input</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.internalIpv6RangeInput">internalIpv6RangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.mtuInput">mtuInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.routingModeInput">routingModeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeNetworkTimeouts">ComputeNetworkTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.autoCreateSubnetworks">autoCreateSubnetworks</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.deleteDefaultRoutesOnCreate">deleteDefaultRoutesOnCreate</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.enableUlaInternalIpv6">enableUlaInternalIpv6</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.internalIpv6Range">internalIpv6Range</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.mtu">mtu</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.routingMode">routingMode</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeNetwork.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeNetwork.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeNetwork.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeNetwork.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeNetwork.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeNetwork.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeNetwork.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetwork.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetwork.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetwork.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetwork.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetwork.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetwork.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetwork.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `gatewayIpv4`<sup>Required</sup> <a name="gatewayIpv4" id="@dschmidt/provider-google.ComputeNetwork.property.gatewayIpv4"></a>

```typescript
public readonly gatewayIpv4: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeNetwork.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetwork.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkTimeoutsOutputReference">ComputeNetworkTimeoutsOutputReference</a>

---

##### `autoCreateSubnetworksInput`<sup>Optional</sup> <a name="autoCreateSubnetworksInput" id="@dschmidt/provider-google.ComputeNetwork.property.autoCreateSubnetworksInput"></a>

```typescript
public readonly autoCreateSubnetworksInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `deleteDefaultRoutesOnCreateInput`<sup>Optional</sup> <a name="deleteDefaultRoutesOnCreateInput" id="@dschmidt/provider-google.ComputeNetwork.property.deleteDefaultRoutesOnCreateInput"></a>

```typescript
public readonly deleteDefaultRoutesOnCreateInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeNetwork.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `enableUlaInternalIpv6Input`<sup>Optional</sup> <a name="enableUlaInternalIpv6Input" id="@dschmidt/provider-google.ComputeNetwork.property.enableUlaInternalIpv6Input"></a>

```typescript
public readonly enableUlaInternalIpv6Input: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeNetwork.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `internalIpv6RangeInput`<sup>Optional</sup> <a name="internalIpv6RangeInput" id="@dschmidt/provider-google.ComputeNetwork.property.internalIpv6RangeInput"></a>

```typescript
public readonly internalIpv6RangeInput: string;
```

- *Type:* string

---

##### `mtuInput`<sup>Optional</sup> <a name="mtuInput" id="@dschmidt/provider-google.ComputeNetwork.property.mtuInput"></a>

```typescript
public readonly mtuInput: number;
```

- *Type:* number

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeNetwork.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeNetwork.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `routingModeInput`<sup>Optional</sup> <a name="routingModeInput" id="@dschmidt/provider-google.ComputeNetwork.property.routingModeInput"></a>

```typescript
public readonly routingModeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeNetwork.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeNetworkTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeNetworkTimeouts">ComputeNetworkTimeouts</a>

---

##### `autoCreateSubnetworks`<sup>Required</sup> <a name="autoCreateSubnetworks" id="@dschmidt/provider-google.ComputeNetwork.property.autoCreateSubnetworks"></a>

```typescript
public readonly autoCreateSubnetworks: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `deleteDefaultRoutesOnCreate`<sup>Required</sup> <a name="deleteDefaultRoutesOnCreate" id="@dschmidt/provider-google.ComputeNetwork.property.deleteDefaultRoutesOnCreate"></a>

```typescript
public readonly deleteDefaultRoutesOnCreate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeNetwork.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `enableUlaInternalIpv6`<sup>Required</sup> <a name="enableUlaInternalIpv6" id="@dschmidt/provider-google.ComputeNetwork.property.enableUlaInternalIpv6"></a>

```typescript
public readonly enableUlaInternalIpv6: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetwork.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `internalIpv6Range`<sup>Required</sup> <a name="internalIpv6Range" id="@dschmidt/provider-google.ComputeNetwork.property.internalIpv6Range"></a>

```typescript
public readonly internalIpv6Range: string;
```

- *Type:* string

---

##### `mtu`<sup>Required</sup> <a name="mtu" id="@dschmidt/provider-google.ComputeNetwork.property.mtu"></a>

```typescript
public readonly mtu: number;
```

- *Type:* number

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeNetwork.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeNetwork.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `routingMode`<sup>Required</sup> <a name="routingMode" id="@dschmidt/provider-google.ComputeNetwork.property.routingMode"></a>

```typescript
public readonly routingMode: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetwork.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeNetwork.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeNetworkEndpoint <a name="ComputeNetworkEndpoint" id="@dschmidt/provider-google.ComputeNetworkEndpoint"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint google_compute_network_endpoint}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeNetworkEndpoint.Initializer"></a>

```typescript
import { ComputeNetworkEndpoint } from '@dschmidt/provider-google'

new ComputeNetworkEndpoint(scope: Construct, id: string, config: ComputeNetworkEndpointConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig">ComputeNetworkEndpointConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeNetworkEndpoint.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkEndpoint.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeNetworkEndpoint.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig">ComputeNetworkEndpointConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.resetInstance">resetInstance</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.resetPort">resetPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeNetworkEndpoint.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeNetworkEndpoint.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeNetworkEndpoint.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetworkEndpoint.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeNetworkEndpoint.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeNetworkEndpoint.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeNetworkEndpoint.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeNetworkEndpoint.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeNetworkEndpoint.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpoint.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeNetworkEndpoint.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeNetworkEndpointTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetworkEndpoint.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkEndpointTimeouts">ComputeNetworkEndpointTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeNetworkEndpoint.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInstance` <a name="resetInstance" id="@dschmidt/provider-google.ComputeNetworkEndpoint.resetInstance"></a>

```typescript
public resetInstance(): void
```

##### `resetPort` <a name="resetPort" id="@dschmidt/provider-google.ComputeNetworkEndpoint.resetPort"></a>

```typescript
public resetPort(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeNetworkEndpoint.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeNetworkEndpoint.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeNetworkEndpoint.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeNetworkEndpoint.isConstruct"></a>

```typescript
import { ComputeNetworkEndpoint } from '@dschmidt/provider-google'

ComputeNetworkEndpoint.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeNetworkEndpoint.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointTimeoutsOutputReference">ComputeNetworkEndpointTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.ipAddressInput">ipAddressInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.networkEndpointGroupInput">networkEndpointGroupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.portInput">portInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeNetworkEndpointTimeouts">ComputeNetworkEndpointTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.ipAddress">ipAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.networkEndpointGroup">networkEndpointGroup</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkEndpointTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkEndpointTimeoutsOutputReference">ComputeNetworkEndpointTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `ipAddressInput`<sup>Optional</sup> <a name="ipAddressInput" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.ipAddressInput"></a>

```typescript
public readonly ipAddressInput: string;
```

- *Type:* string

---

##### `networkEndpointGroupInput`<sup>Optional</sup> <a name="networkEndpointGroupInput" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.networkEndpointGroupInput"></a>

```typescript
public readonly networkEndpointGroupInput: string;
```

- *Type:* string

---

##### `portInput`<sup>Optional</sup> <a name="portInput" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.portInput"></a>

```typescript
public readonly portInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeNetworkEndpointTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeNetworkEndpointTimeouts">ComputeNetworkEndpointTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

---

##### `networkEndpointGroup`<sup>Required</sup> <a name="networkEndpointGroup" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.networkEndpointGroup"></a>

```typescript
public readonly networkEndpointGroup: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpoint.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeNetworkEndpoint.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeNetworkEndpointGroup <a name="ComputeNetworkEndpointGroup" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group google_compute_network_endpoint_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.Initializer"></a>

```typescript
import { ComputeNetworkEndpointGroup } from '@dschmidt/provider-google'

new ComputeNetworkEndpointGroup(scope: Construct, id: string, config: ComputeNetworkEndpointGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig">ComputeNetworkEndpointGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig">ComputeNetworkEndpointGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetDefaultPort">resetDefaultPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetNetworkEndpointType">resetNetworkEndpointType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetSubnetwork">resetSubnetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeNetworkEndpointGroupTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts">ComputeNetworkEndpointGroupTimeouts</a>

---

##### `resetDefaultPort` <a name="resetDefaultPort" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetDefaultPort"></a>

```typescript
public resetDefaultPort(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNetworkEndpointType` <a name="resetNetworkEndpointType" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetNetworkEndpointType"></a>

```typescript
public resetNetworkEndpointType(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSubnetwork` <a name="resetSubnetwork" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetSubnetwork"></a>

```typescript
public resetSubnetwork(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.isConstruct"></a>

```typescript
import { ComputeNetworkEndpointGroup } from '@dschmidt/provider-google'

ComputeNetworkEndpointGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeoutsOutputReference">ComputeNetworkEndpointGroupTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.defaultPortInput">defaultPortInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.networkEndpointTypeInput">networkEndpointTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.subnetworkInput">subnetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts">ComputeNetworkEndpointGroupTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.defaultPort">defaultPort</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.networkEndpointType">networkEndpointType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkEndpointGroupTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeoutsOutputReference">ComputeNetworkEndpointGroupTimeoutsOutputReference</a>

---

##### `defaultPortInput`<sup>Optional</sup> <a name="defaultPortInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.defaultPortInput"></a>

```typescript
public readonly defaultPortInput: number;
```

- *Type:* number

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkEndpointTypeInput`<sup>Optional</sup> <a name="networkEndpointTypeInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.networkEndpointTypeInput"></a>

```typescript
public readonly networkEndpointTypeInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeNetworkEndpointGroupTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts">ComputeNetworkEndpointGroupTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `defaultPort`<sup>Required</sup> <a name="defaultPort" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.defaultPort"></a>

```typescript
public readonly defaultPort: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `networkEndpointType`<sup>Required</sup> <a name="networkEndpointType" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.networkEndpointType"></a>

```typescript
public readonly networkEndpointType: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeNetworkEndpointGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeNetworkPeering <a name="ComputeNetworkPeering" id="@dschmidt/provider-google.ComputeNetworkPeering"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering google_compute_network_peering}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeNetworkPeering.Initializer"></a>

```typescript
import { ComputeNetworkPeering } from '@dschmidt/provider-google'

new ComputeNetworkPeering(scope: Construct, id: string, config: ComputeNetworkPeeringConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig">ComputeNetworkPeeringConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeNetworkPeering.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkPeering.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeNetworkPeering.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig">ComputeNetworkPeeringConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.resetExportCustomRoutes">resetExportCustomRoutes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.resetExportSubnetRoutesWithPublicIp">resetExportSubnetRoutesWithPublicIp</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.resetImportCustomRoutes">resetImportCustomRoutes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.resetImportSubnetRoutesWithPublicIp">resetImportSubnetRoutesWithPublicIp</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeNetworkPeering.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeNetworkPeering.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeNetworkPeering.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetworkPeering.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeNetworkPeering.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeNetworkPeering.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeNetworkPeering.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeNetworkPeering.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeNetworkPeering.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeering.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeNetworkPeering.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeNetworkPeeringTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetworkPeering.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeouts">ComputeNetworkPeeringTimeouts</a>

---

##### `resetExportCustomRoutes` <a name="resetExportCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeering.resetExportCustomRoutes"></a>

```typescript
public resetExportCustomRoutes(): void
```

##### `resetExportSubnetRoutesWithPublicIp` <a name="resetExportSubnetRoutesWithPublicIp" id="@dschmidt/provider-google.ComputeNetworkPeering.resetExportSubnetRoutesWithPublicIp"></a>

```typescript
public resetExportSubnetRoutesWithPublicIp(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeNetworkPeering.resetId"></a>

```typescript
public resetId(): void
```

##### `resetImportCustomRoutes` <a name="resetImportCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeering.resetImportCustomRoutes"></a>

```typescript
public resetImportCustomRoutes(): void
```

##### `resetImportSubnetRoutesWithPublicIp` <a name="resetImportSubnetRoutesWithPublicIp" id="@dschmidt/provider-google.ComputeNetworkPeering.resetImportSubnetRoutesWithPublicIp"></a>

```typescript
public resetImportSubnetRoutesWithPublicIp(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeNetworkPeering.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeNetworkPeering.isConstruct"></a>

```typescript
import { ComputeNetworkPeering } from '@dschmidt/provider-google'

ComputeNetworkPeering.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeNetworkPeering.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.stateDetails">stateDetails</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeoutsOutputReference">ComputeNetworkPeeringTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.exportCustomRoutesInput">exportCustomRoutesInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.exportSubnetRoutesWithPublicIpInput">exportSubnetRoutesWithPublicIpInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.importCustomRoutesInput">importCustomRoutesInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.importSubnetRoutesWithPublicIpInput">importSubnetRoutesWithPublicIpInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.peerNetworkInput">peerNetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeouts">ComputeNetworkPeeringTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.exportCustomRoutes">exportCustomRoutes</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.exportSubnetRoutesWithPublicIp">exportSubnetRoutesWithPublicIp</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.importCustomRoutes">importCustomRoutes</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.importSubnetRoutesWithPublicIp">importSubnetRoutesWithPublicIp</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.peerNetwork">peerNetwork</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeNetworkPeering.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeNetworkPeering.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeNetworkPeering.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeNetworkPeering.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeNetworkPeering.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeNetworkPeering.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeNetworkPeering.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetworkPeering.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetworkPeering.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetworkPeering.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetworkPeering.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetworkPeering.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetworkPeering.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetworkPeering.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.ComputeNetworkPeering.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `stateDetails`<sup>Required</sup> <a name="stateDetails" id="@dschmidt/provider-google.ComputeNetworkPeering.property.stateDetails"></a>

```typescript
public readonly stateDetails: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetworkPeering.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkPeeringTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeoutsOutputReference">ComputeNetworkPeeringTimeoutsOutputReference</a>

---

##### `exportCustomRoutesInput`<sup>Optional</sup> <a name="exportCustomRoutesInput" id="@dschmidt/provider-google.ComputeNetworkPeering.property.exportCustomRoutesInput"></a>

```typescript
public readonly exportCustomRoutesInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `exportSubnetRoutesWithPublicIpInput`<sup>Optional</sup> <a name="exportSubnetRoutesWithPublicIpInput" id="@dschmidt/provider-google.ComputeNetworkPeering.property.exportSubnetRoutesWithPublicIpInput"></a>

```typescript
public readonly exportSubnetRoutesWithPublicIpInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeNetworkPeering.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `importCustomRoutesInput`<sup>Optional</sup> <a name="importCustomRoutesInput" id="@dschmidt/provider-google.ComputeNetworkPeering.property.importCustomRoutesInput"></a>

```typescript
public readonly importCustomRoutesInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `importSubnetRoutesWithPublicIpInput`<sup>Optional</sup> <a name="importSubnetRoutesWithPublicIpInput" id="@dschmidt/provider-google.ComputeNetworkPeering.property.importSubnetRoutesWithPublicIpInput"></a>

```typescript
public readonly importSubnetRoutesWithPublicIpInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeNetworkPeering.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeNetworkPeering.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `peerNetworkInput`<sup>Optional</sup> <a name="peerNetworkInput" id="@dschmidt/provider-google.ComputeNetworkPeering.property.peerNetworkInput"></a>

```typescript
public readonly peerNetworkInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeNetworkPeering.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeNetworkPeeringTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeouts">ComputeNetworkPeeringTimeouts</a>

---

##### `exportCustomRoutes`<sup>Required</sup> <a name="exportCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeering.property.exportCustomRoutes"></a>

```typescript
public readonly exportCustomRoutes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `exportSubnetRoutesWithPublicIp`<sup>Required</sup> <a name="exportSubnetRoutesWithPublicIp" id="@dschmidt/provider-google.ComputeNetworkPeering.property.exportSubnetRoutesWithPublicIp"></a>

```typescript
public readonly exportSubnetRoutesWithPublicIp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkPeering.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `importCustomRoutes`<sup>Required</sup> <a name="importCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeering.property.importCustomRoutes"></a>

```typescript
public readonly importCustomRoutes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `importSubnetRoutesWithPublicIp`<sup>Required</sup> <a name="importSubnetRoutesWithPublicIp" id="@dschmidt/provider-google.ComputeNetworkPeering.property.importSubnetRoutesWithPublicIp"></a>

```typescript
public readonly importSubnetRoutesWithPublicIp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeNetworkPeering.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeNetworkPeering.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `peerNetwork`<sup>Required</sup> <a name="peerNetwork" id="@dschmidt/provider-google.ComputeNetworkPeering.property.peerNetwork"></a>

```typescript
public readonly peerNetwork: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeering.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeNetworkPeering.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeNetworkPeeringRoutesConfig <a name="ComputeNetworkPeeringRoutesConfig" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config google_compute_network_peering_routes_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.Initializer"></a>

```typescript
import { ComputeNetworkPeeringRoutesConfig } from '@dschmidt/provider-google'

new ComputeNetworkPeeringRoutesConfig(scope: Construct, id: string, config: ComputeNetworkPeeringRoutesConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig">ComputeNetworkPeeringRoutesConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig">ComputeNetworkPeeringRoutesConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeNetworkPeeringRoutesConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts">ComputeNetworkPeeringRoutesConfigTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.isConstruct"></a>

```typescript
import { ComputeNetworkPeeringRoutesConfig } from '@dschmidt/provider-google'

ComputeNetworkPeeringRoutesConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeoutsOutputReference">ComputeNetworkPeeringRoutesConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.exportCustomRoutesInput">exportCustomRoutesInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.importCustomRoutesInput">importCustomRoutesInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.peeringInput">peeringInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts">ComputeNetworkPeeringRoutesConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.exportCustomRoutes">exportCustomRoutes</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.importCustomRoutes">importCustomRoutes</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.peering">peering</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkPeeringRoutesConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeoutsOutputReference">ComputeNetworkPeeringRoutesConfigTimeoutsOutputReference</a>

---

##### `exportCustomRoutesInput`<sup>Optional</sup> <a name="exportCustomRoutesInput" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.exportCustomRoutesInput"></a>

```typescript
public readonly exportCustomRoutesInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `importCustomRoutesInput`<sup>Optional</sup> <a name="importCustomRoutesInput" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.importCustomRoutesInput"></a>

```typescript
public readonly importCustomRoutesInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `peeringInput`<sup>Optional</sup> <a name="peeringInput" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.peeringInput"></a>

```typescript
public readonly peeringInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeNetworkPeeringRoutesConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts">ComputeNetworkPeeringRoutesConfigTimeouts</a>

---

##### `exportCustomRoutes`<sup>Required</sup> <a name="exportCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.exportCustomRoutes"></a>

```typescript
public readonly exportCustomRoutes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `importCustomRoutes`<sup>Required</sup> <a name="importCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.importCustomRoutes"></a>

```typescript
public readonly importCustomRoutes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `peering`<sup>Required</sup> <a name="peering" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.peering"></a>

```typescript
public readonly peering: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeNodeGroup <a name="ComputeNodeGroup" id="@dschmidt/provider-google.ComputeNodeGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_node_group google_compute_node_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeNodeGroup.Initializer"></a>

```typescript
import { ComputeNodeGroup } from '@dschmidt/provider-google'

new ComputeNodeGroup(scope: Construct, id: string, config: ComputeNodeGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig">ComputeNodeGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeNodeGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNodeGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeNodeGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupConfig">ComputeNodeGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.putAutoscalingPolicy">putAutoscalingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.putMaintenanceWindow">putMaintenanceWindow</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetAutoscalingPolicy">resetAutoscalingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetInitialSize">resetInitialSize</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetMaintenancePolicy">resetMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetMaintenanceWindow">resetMaintenanceWindow</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetSize">resetSize</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeNodeGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeNodeGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeNodeGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNodeGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeNodeGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeNodeGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeNodeGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeNodeGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeNodeGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAutoscalingPolicy` <a name="putAutoscalingPolicy" id="@dschmidt/provider-google.ComputeNodeGroup.putAutoscalingPolicy"></a>

```typescript
public putAutoscalingPolicy(value: ComputeNodeGroupAutoscalingPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNodeGroup.putAutoscalingPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy">ComputeNodeGroupAutoscalingPolicy</a>

---

##### `putMaintenanceWindow` <a name="putMaintenanceWindow" id="@dschmidt/provider-google.ComputeNodeGroup.putMaintenanceWindow"></a>

```typescript
public putMaintenanceWindow(value: ComputeNodeGroupMaintenanceWindow): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNodeGroup.putMaintenanceWindow.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindow">ComputeNodeGroupMaintenanceWindow</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeNodeGroup.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeNodeGroupTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNodeGroup.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupTimeouts">ComputeNodeGroupTimeouts</a>

---

##### `resetAutoscalingPolicy` <a name="resetAutoscalingPolicy" id="@dschmidt/provider-google.ComputeNodeGroup.resetAutoscalingPolicy"></a>

```typescript
public resetAutoscalingPolicy(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeNodeGroup.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeNodeGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInitialSize` <a name="resetInitialSize" id="@dschmidt/provider-google.ComputeNodeGroup.resetInitialSize"></a>

```typescript
public resetInitialSize(): void
```

##### `resetMaintenancePolicy` <a name="resetMaintenancePolicy" id="@dschmidt/provider-google.ComputeNodeGroup.resetMaintenancePolicy"></a>

```typescript
public resetMaintenancePolicy(): void
```

##### `resetMaintenanceWindow` <a name="resetMaintenanceWindow" id="@dschmidt/provider-google.ComputeNodeGroup.resetMaintenanceWindow"></a>

```typescript
public resetMaintenanceWindow(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.ComputeNodeGroup.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeNodeGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSize` <a name="resetSize" id="@dschmidt/provider-google.ComputeNodeGroup.resetSize"></a>

```typescript
public resetSize(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeNodeGroup.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeNodeGroup.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeNodeGroup.isConstruct"></a>

```typescript
import { ComputeNodeGroup } from '@dschmidt/provider-google'

ComputeNodeGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeNodeGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.autoscalingPolicy">autoscalingPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicyOutputReference">ComputeNodeGroupAutoscalingPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.maintenanceWindow">maintenanceWindow</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindowOutputReference">ComputeNodeGroupMaintenanceWindowOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeGroupTimeoutsOutputReference">ComputeNodeGroupTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.autoscalingPolicyInput">autoscalingPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy">ComputeNodeGroupAutoscalingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.initialSizeInput">initialSizeInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.maintenancePolicyInput">maintenancePolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.maintenanceWindowInput">maintenanceWindowInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindow">ComputeNodeGroupMaintenanceWindow</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.nodeTemplateInput">nodeTemplateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.sizeInput">sizeInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeNodeGroupTimeouts">ComputeNodeGroupTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.initialSize">initialSize</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.maintenancePolicy">maintenancePolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.nodeTemplate">nodeTemplate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeNodeGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeNodeGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeNodeGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeNodeGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeNodeGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeNodeGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeNodeGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNodeGroup.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNodeGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNodeGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNodeGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNodeGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNodeGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNodeGroup.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscalingPolicy`<sup>Required</sup> <a name="autoscalingPolicy" id="@dschmidt/provider-google.ComputeNodeGroup.property.autoscalingPolicy"></a>

```typescript
public readonly autoscalingPolicy: ComputeNodeGroupAutoscalingPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicyOutputReference">ComputeNodeGroupAutoscalingPolicyOutputReference</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeNodeGroup.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `maintenanceWindow`<sup>Required</sup> <a name="maintenanceWindow" id="@dschmidt/provider-google.ComputeNodeGroup.property.maintenanceWindow"></a>

```typescript
public readonly maintenanceWindow: ComputeNodeGroupMaintenanceWindowOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindowOutputReference">ComputeNodeGroupMaintenanceWindowOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeNodeGroup.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNodeGroup.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNodeGroupTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupTimeoutsOutputReference">ComputeNodeGroupTimeoutsOutputReference</a>

---

##### `autoscalingPolicyInput`<sup>Optional</sup> <a name="autoscalingPolicyInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.autoscalingPolicyInput"></a>

```typescript
public readonly autoscalingPolicyInput: ComputeNodeGroupAutoscalingPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy">ComputeNodeGroupAutoscalingPolicy</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `initialSizeInput`<sup>Optional</sup> <a name="initialSizeInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.initialSizeInput"></a>

```typescript
public readonly initialSizeInput: number;
```

- *Type:* number

---

##### `maintenancePolicyInput`<sup>Optional</sup> <a name="maintenancePolicyInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.maintenancePolicyInput"></a>

```typescript
public readonly maintenancePolicyInput: string;
```

- *Type:* string

---

##### `maintenanceWindowInput`<sup>Optional</sup> <a name="maintenanceWindowInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.maintenanceWindowInput"></a>

```typescript
public readonly maintenanceWindowInput: ComputeNodeGroupMaintenanceWindow;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindow">ComputeNodeGroupMaintenanceWindow</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `nodeTemplateInput`<sup>Optional</sup> <a name="nodeTemplateInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.nodeTemplateInput"></a>

```typescript
public readonly nodeTemplateInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `sizeInput`<sup>Optional</sup> <a name="sizeInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.sizeInput"></a>

```typescript
public readonly sizeInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeNodeGroupTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeNodeGroupTimeouts">ComputeNodeGroupTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeNodeGroup.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeNodeGroup.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNodeGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `initialSize`<sup>Required</sup> <a name="initialSize" id="@dschmidt/provider-google.ComputeNodeGroup.property.initialSize"></a>

```typescript
public readonly initialSize: number;
```

- *Type:* number

---

##### `maintenancePolicy`<sup>Required</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.ComputeNodeGroup.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeNodeGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `nodeTemplate`<sup>Required</sup> <a name="nodeTemplate" id="@dschmidt/provider-google.ComputeNodeGroup.property.nodeTemplate"></a>

```typescript
public readonly nodeTemplate: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeNodeGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.ComputeNodeGroup.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeNodeGroup.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeNodeGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeNodeTemplate <a name="ComputeNodeTemplate" id="@dschmidt/provider-google.ComputeNodeTemplate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_node_template google_compute_node_template}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeNodeTemplate.Initializer"></a>

```typescript
import { ComputeNodeTemplate } from '@dschmidt/provider-google'

new ComputeNodeTemplate(scope: Construct, id: string, config?: ComputeNodeTemplateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig">ComputeNodeTemplateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeNodeTemplate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNodeTemplate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.ComputeNodeTemplate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig">ComputeNodeTemplateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.putNodeTypeFlexibility">putNodeTypeFlexibility</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.putServerBinding">putServerBinding</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetCpuOvercommitType">resetCpuOvercommitType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetNodeAffinityLabels">resetNodeAffinityLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetNodeType">resetNodeType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetNodeTypeFlexibility">resetNodeTypeFlexibility</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetServerBinding">resetServerBinding</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeNodeTemplate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeNodeTemplate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeNodeTemplate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNodeTemplate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeNodeTemplate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeNodeTemplate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeNodeTemplate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeNodeTemplate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeNodeTemplate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeNodeTemplate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putNodeTypeFlexibility` <a name="putNodeTypeFlexibility" id="@dschmidt/provider-google.ComputeNodeTemplate.putNodeTypeFlexibility"></a>

```typescript
public putNodeTypeFlexibility(value: ComputeNodeTemplateNodeTypeFlexibility): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNodeTemplate.putNodeTypeFlexibility.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility">ComputeNodeTemplateNodeTypeFlexibility</a>

---

##### `putServerBinding` <a name="putServerBinding" id="@dschmidt/provider-google.ComputeNodeTemplate.putServerBinding"></a>

```typescript
public putServerBinding(value: ComputeNodeTemplateServerBinding): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNodeTemplate.putServerBinding.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateServerBinding">ComputeNodeTemplateServerBinding</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeNodeTemplate.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeNodeTemplateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeNodeTemplate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateTimeouts">ComputeNodeTemplateTimeouts</a>

---

##### `resetCpuOvercommitType` <a name="resetCpuOvercommitType" id="@dschmidt/provider-google.ComputeNodeTemplate.resetCpuOvercommitType"></a>

```typescript
public resetCpuOvercommitType(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeNodeTemplate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeNodeTemplate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.ComputeNodeTemplate.resetName"></a>

```typescript
public resetName(): void
```

##### `resetNodeAffinityLabels` <a name="resetNodeAffinityLabels" id="@dschmidt/provider-google.ComputeNodeTemplate.resetNodeAffinityLabels"></a>

```typescript
public resetNodeAffinityLabels(): void
```

##### `resetNodeType` <a name="resetNodeType" id="@dschmidt/provider-google.ComputeNodeTemplate.resetNodeType"></a>

```typescript
public resetNodeType(): void
```

##### `resetNodeTypeFlexibility` <a name="resetNodeTypeFlexibility" id="@dschmidt/provider-google.ComputeNodeTemplate.resetNodeTypeFlexibility"></a>

```typescript
public resetNodeTypeFlexibility(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeNodeTemplate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeNodeTemplate.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetServerBinding` <a name="resetServerBinding" id="@dschmidt/provider-google.ComputeNodeTemplate.resetServerBinding"></a>

```typescript
public resetServerBinding(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeNodeTemplate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeNodeTemplate.isConstruct"></a>

```typescript
import { ComputeNodeTemplate } from '@dschmidt/provider-google'

ComputeNodeTemplate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeNodeTemplate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.nodeTypeFlexibility">nodeTypeFlexibility</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibilityOutputReference">ComputeNodeTemplateNodeTypeFlexibilityOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.serverBinding">serverBinding</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateServerBindingOutputReference">ComputeNodeTemplateServerBindingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateTimeoutsOutputReference">ComputeNodeTemplateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.cpuOvercommitTypeInput">cpuOvercommitTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.nodeAffinityLabelsInput">nodeAffinityLabelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.nodeTypeFlexibilityInput">nodeTypeFlexibilityInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility">ComputeNodeTemplateNodeTypeFlexibility</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.nodeTypeInput">nodeTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.serverBindingInput">serverBindingInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateServerBinding">ComputeNodeTemplateServerBinding</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeNodeTemplateTimeouts">ComputeNodeTemplateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.cpuOvercommitType">cpuOvercommitType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.nodeAffinityLabels">nodeAffinityLabels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.nodeType">nodeType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeNodeTemplate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeNodeTemplate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeNodeTemplate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeNodeTemplate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeNodeTemplate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeNodeTemplate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeNodeTemplate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNodeTemplate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNodeTemplate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNodeTemplate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNodeTemplate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNodeTemplate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNodeTemplate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNodeTemplate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeNodeTemplate.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `nodeTypeFlexibility`<sup>Required</sup> <a name="nodeTypeFlexibility" id="@dschmidt/provider-google.ComputeNodeTemplate.property.nodeTypeFlexibility"></a>

```typescript
public readonly nodeTypeFlexibility: ComputeNodeTemplateNodeTypeFlexibilityOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibilityOutputReference">ComputeNodeTemplateNodeTypeFlexibilityOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeNodeTemplate.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serverBinding`<sup>Required</sup> <a name="serverBinding" id="@dschmidt/provider-google.ComputeNodeTemplate.property.serverBinding"></a>

```typescript
public readonly serverBinding: ComputeNodeTemplateServerBindingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateServerBindingOutputReference">ComputeNodeTemplateServerBindingOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNodeTemplate.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNodeTemplateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateTimeoutsOutputReference">ComputeNodeTemplateTimeoutsOutputReference</a>

---

##### `cpuOvercommitTypeInput`<sup>Optional</sup> <a name="cpuOvercommitTypeInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.cpuOvercommitTypeInput"></a>

```typescript
public readonly cpuOvercommitTypeInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `nodeAffinityLabelsInput`<sup>Optional</sup> <a name="nodeAffinityLabelsInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.nodeAffinityLabelsInput"></a>

```typescript
public readonly nodeAffinityLabelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nodeTypeFlexibilityInput`<sup>Optional</sup> <a name="nodeTypeFlexibilityInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.nodeTypeFlexibilityInput"></a>

```typescript
public readonly nodeTypeFlexibilityInput: ComputeNodeTemplateNodeTypeFlexibility;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility">ComputeNodeTemplateNodeTypeFlexibility</a>

---

##### `nodeTypeInput`<sup>Optional</sup> <a name="nodeTypeInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.nodeTypeInput"></a>

```typescript
public readonly nodeTypeInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `serverBindingInput`<sup>Optional</sup> <a name="serverBindingInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.serverBindingInput"></a>

```typescript
public readonly serverBindingInput: ComputeNodeTemplateServerBinding;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateServerBinding">ComputeNodeTemplateServerBinding</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeNodeTemplate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeNodeTemplateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeNodeTemplateTimeouts">ComputeNodeTemplateTimeouts</a>

---

##### `cpuOvercommitType`<sup>Required</sup> <a name="cpuOvercommitType" id="@dschmidt/provider-google.ComputeNodeTemplate.property.cpuOvercommitType"></a>

```typescript
public readonly cpuOvercommitType: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeNodeTemplate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeNodeTemplate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeNodeTemplate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `nodeAffinityLabels`<sup>Required</sup> <a name="nodeAffinityLabels" id="@dschmidt/provider-google.ComputeNodeTemplate.property.nodeAffinityLabels"></a>

```typescript
public readonly nodeAffinityLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nodeType`<sup>Required</sup> <a name="nodeType" id="@dschmidt/provider-google.ComputeNodeTemplate.property.nodeType"></a>

```typescript
public readonly nodeType: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeNodeTemplate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeNodeTemplate.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeNodeTemplate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputePacketMirroring <a name="ComputePacketMirroring" id="@dschmidt/provider-google.ComputePacketMirroring"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring google_compute_packet_mirroring}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputePacketMirroring.Initializer"></a>

```typescript
import { ComputePacketMirroring } from '@dschmidt/provider-google'

new ComputePacketMirroring(scope: Construct, id: string, config: ComputePacketMirroringConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig">ComputePacketMirroringConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputePacketMirroring.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputePacketMirroring.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputePacketMirroring.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringConfig">ComputePacketMirroringConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.putCollectorIlb">putCollectorIlb</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.putFilter">putFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.putMirroredResources">putMirroredResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.putNetwork">putNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.resetPriority">resetPriority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputePacketMirroring.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputePacketMirroring.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputePacketMirroring.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputePacketMirroring.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputePacketMirroring.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputePacketMirroring.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputePacketMirroring.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputePacketMirroring.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputePacketMirroring.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePacketMirroring.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCollectorIlb` <a name="putCollectorIlb" id="@dschmidt/provider-google.ComputePacketMirroring.putCollectorIlb"></a>

```typescript
public putCollectorIlb(value: ComputePacketMirroringCollectorIlb): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputePacketMirroring.putCollectorIlb.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringCollectorIlb">ComputePacketMirroringCollectorIlb</a>

---

##### `putFilter` <a name="putFilter" id="@dschmidt/provider-google.ComputePacketMirroring.putFilter"></a>

```typescript
public putFilter(value: ComputePacketMirroringFilter): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputePacketMirroring.putFilter.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringFilter">ComputePacketMirroringFilter</a>

---

##### `putMirroredResources` <a name="putMirroredResources" id="@dschmidt/provider-google.ComputePacketMirroring.putMirroredResources"></a>

```typescript
public putMirroredResources(value: ComputePacketMirroringMirroredResources): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputePacketMirroring.putMirroredResources.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResources">ComputePacketMirroringMirroredResources</a>

---

##### `putNetwork` <a name="putNetwork" id="@dschmidt/provider-google.ComputePacketMirroring.putNetwork"></a>

```typescript
public putNetwork(value: ComputePacketMirroringNetwork): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputePacketMirroring.putNetwork.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringNetwork">ComputePacketMirroringNetwork</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputePacketMirroring.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputePacketMirroringTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputePacketMirroring.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringTimeouts">ComputePacketMirroringTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputePacketMirroring.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.ComputePacketMirroring.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputePacketMirroring.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPriority` <a name="resetPriority" id="@dschmidt/provider-google.ComputePacketMirroring.resetPriority"></a>

```typescript
public resetPriority(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputePacketMirroring.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputePacketMirroring.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputePacketMirroring.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputePacketMirroring.isConstruct"></a>

```typescript
import { ComputePacketMirroring } from '@dschmidt/provider-google'

ComputePacketMirroring.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputePacketMirroring.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.collectorIlb">collectorIlb</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringCollectorIlbOutputReference">ComputePacketMirroringCollectorIlbOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.filter">filter</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringFilterOutputReference">ComputePacketMirroringFilterOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.mirroredResources">mirroredResources</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesOutputReference">ComputePacketMirroringMirroredResourcesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.network">network</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringNetworkOutputReference">ComputePacketMirroringNetworkOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringTimeoutsOutputReference">ComputePacketMirroringTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.collectorIlbInput">collectorIlbInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringCollectorIlb">ComputePacketMirroringCollectorIlb</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.filterInput">filterInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringFilter">ComputePacketMirroringFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.mirroredResourcesInput">mirroredResourcesInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResources">ComputePacketMirroringMirroredResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.networkInput">networkInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringNetwork">ComputePacketMirroringNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.priorityInput">priorityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputePacketMirroringTimeouts">ComputePacketMirroringTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.priority">priority</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputePacketMirroring.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputePacketMirroring.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputePacketMirroring.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputePacketMirroring.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputePacketMirroring.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputePacketMirroring.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputePacketMirroring.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputePacketMirroring.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputePacketMirroring.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputePacketMirroring.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputePacketMirroring.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputePacketMirroring.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputePacketMirroring.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputePacketMirroring.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `collectorIlb`<sup>Required</sup> <a name="collectorIlb" id="@dschmidt/provider-google.ComputePacketMirroring.property.collectorIlb"></a>

```typescript
public readonly collectorIlb: ComputePacketMirroringCollectorIlbOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringCollectorIlbOutputReference">ComputePacketMirroringCollectorIlbOutputReference</a>

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.ComputePacketMirroring.property.filter"></a>

```typescript
public readonly filter: ComputePacketMirroringFilterOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringFilterOutputReference">ComputePacketMirroringFilterOutputReference</a>

---

##### `mirroredResources`<sup>Required</sup> <a name="mirroredResources" id="@dschmidt/provider-google.ComputePacketMirroring.property.mirroredResources"></a>

```typescript
public readonly mirroredResources: ComputePacketMirroringMirroredResourcesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesOutputReference">ComputePacketMirroringMirroredResourcesOutputReference</a>

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputePacketMirroring.property.network"></a>

```typescript
public readonly network: ComputePacketMirroringNetworkOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringNetworkOutputReference">ComputePacketMirroringNetworkOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputePacketMirroring.property.timeouts"></a>

```typescript
public readonly timeouts: ComputePacketMirroringTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringTimeoutsOutputReference">ComputePacketMirroringTimeoutsOutputReference</a>

---

##### `collectorIlbInput`<sup>Optional</sup> <a name="collectorIlbInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.collectorIlbInput"></a>

```typescript
public readonly collectorIlbInput: ComputePacketMirroringCollectorIlb;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringCollectorIlb">ComputePacketMirroringCollectorIlb</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.filterInput"></a>

```typescript
public readonly filterInput: ComputePacketMirroringFilter;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringFilter">ComputePacketMirroringFilter</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `mirroredResourcesInput`<sup>Optional</sup> <a name="mirroredResourcesInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.mirroredResourcesInput"></a>

```typescript
public readonly mirroredResourcesInput: ComputePacketMirroringMirroredResources;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResources">ComputePacketMirroringMirroredResources</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.networkInput"></a>

```typescript
public readonly networkInput: ComputePacketMirroringNetwork;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringNetwork">ComputePacketMirroringNetwork</a>

---

##### `priorityInput`<sup>Optional</sup> <a name="priorityInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.priorityInput"></a>

```typescript
public readonly priorityInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputePacketMirroring.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputePacketMirroringTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputePacketMirroringTimeouts">ComputePacketMirroringTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputePacketMirroring.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputePacketMirroring.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputePacketMirroring.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.ComputePacketMirroring.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputePacketMirroring.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputePacketMirroring.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroring.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputePacketMirroring.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputePerInstanceConfig <a name="ComputePerInstanceConfig" id="@dschmidt/provider-google.ComputePerInstanceConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config google_compute_per_instance_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputePerInstanceConfig.Initializer"></a>

```typescript
import { ComputePerInstanceConfig } from '@dschmidt/provider-google'

new ComputePerInstanceConfig(scope: Construct, id: string, config: ComputePerInstanceConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig">ComputePerInstanceConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputePerInstanceConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputePerInstanceConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputePerInstanceConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig">ComputePerInstanceConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.putPreservedState">putPreservedState</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.resetMinimalAction">resetMinimalAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.resetMostDisruptiveAllowedAction">resetMostDisruptiveAllowedAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.resetPreservedState">resetPreservedState</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.resetRemoveInstanceStateOnDestroy">resetRemoveInstanceStateOnDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputePerInstanceConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputePerInstanceConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputePerInstanceConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputePerInstanceConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputePerInstanceConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputePerInstanceConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputePerInstanceConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputePerInstanceConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputePerInstanceConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputePerInstanceConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putPreservedState` <a name="putPreservedState" id="@dschmidt/provider-google.ComputePerInstanceConfig.putPreservedState"></a>

```typescript
public putPreservedState(value: ComputePerInstanceConfigPreservedState): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputePerInstanceConfig.putPreservedState.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedState">ComputePerInstanceConfigPreservedState</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputePerInstanceConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputePerInstanceConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputePerInstanceConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeouts">ComputePerInstanceConfigTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputePerInstanceConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMinimalAction` <a name="resetMinimalAction" id="@dschmidt/provider-google.ComputePerInstanceConfig.resetMinimalAction"></a>

```typescript
public resetMinimalAction(): void
```

##### `resetMostDisruptiveAllowedAction` <a name="resetMostDisruptiveAllowedAction" id="@dschmidt/provider-google.ComputePerInstanceConfig.resetMostDisruptiveAllowedAction"></a>

```typescript
public resetMostDisruptiveAllowedAction(): void
```

##### `resetPreservedState` <a name="resetPreservedState" id="@dschmidt/provider-google.ComputePerInstanceConfig.resetPreservedState"></a>

```typescript
public resetPreservedState(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputePerInstanceConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRemoveInstanceStateOnDestroy` <a name="resetRemoveInstanceStateOnDestroy" id="@dschmidt/provider-google.ComputePerInstanceConfig.resetRemoveInstanceStateOnDestroy"></a>

```typescript
public resetRemoveInstanceStateOnDestroy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputePerInstanceConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputePerInstanceConfig.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputePerInstanceConfig.isConstruct"></a>

```typescript
import { ComputePerInstanceConfig } from '@dschmidt/provider-google'

ComputePerInstanceConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputePerInstanceConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.preservedState">preservedState</a></code> | <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateOutputReference">ComputePerInstanceConfigPreservedStateOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeoutsOutputReference">ComputePerInstanceConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.instanceGroupManagerInput">instanceGroupManagerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.minimalActionInput">minimalActionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.mostDisruptiveAllowedActionInput">mostDisruptiveAllowedActionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.preservedStateInput">preservedStateInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedState">ComputePerInstanceConfigPreservedState</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.removeInstanceStateOnDestroyInput">removeInstanceStateOnDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeouts">ComputePerInstanceConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.instanceGroupManager">instanceGroupManager</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.minimalAction">minimalAction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.mostDisruptiveAllowedAction">mostDisruptiveAllowedAction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.removeInstanceStateOnDestroy">removeInstanceStateOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `preservedState`<sup>Required</sup> <a name="preservedState" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.preservedState"></a>

```typescript
public readonly preservedState: ComputePerInstanceConfigPreservedStateOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateOutputReference">ComputePerInstanceConfigPreservedStateOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputePerInstanceConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeoutsOutputReference">ComputePerInstanceConfigTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceGroupManagerInput`<sup>Optional</sup> <a name="instanceGroupManagerInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.instanceGroupManagerInput"></a>

```typescript
public readonly instanceGroupManagerInput: string;
```

- *Type:* string

---

##### `minimalActionInput`<sup>Optional</sup> <a name="minimalActionInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.minimalActionInput"></a>

```typescript
public readonly minimalActionInput: string;
```

- *Type:* string

---

##### `mostDisruptiveAllowedActionInput`<sup>Optional</sup> <a name="mostDisruptiveAllowedActionInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.mostDisruptiveAllowedActionInput"></a>

```typescript
public readonly mostDisruptiveAllowedActionInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `preservedStateInput`<sup>Optional</sup> <a name="preservedStateInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.preservedStateInput"></a>

```typescript
public readonly preservedStateInput: ComputePerInstanceConfigPreservedState;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedState">ComputePerInstanceConfigPreservedState</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `removeInstanceStateOnDestroyInput`<sup>Optional</sup> <a name="removeInstanceStateOnDestroyInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.removeInstanceStateOnDestroyInput"></a>

```typescript
public readonly removeInstanceStateOnDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputePerInstanceConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeouts">ComputePerInstanceConfigTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceGroupManager`<sup>Required</sup> <a name="instanceGroupManager" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.instanceGroupManager"></a>

```typescript
public readonly instanceGroupManager: string;
```

- *Type:* string

---

##### `minimalAction`<sup>Required</sup> <a name="minimalAction" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.minimalAction"></a>

```typescript
public readonly minimalAction: string;
```

- *Type:* string

---

##### `mostDisruptiveAllowedAction`<sup>Required</sup> <a name="mostDisruptiveAllowedAction" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.mostDisruptiveAllowedAction"></a>

```typescript
public readonly mostDisruptiveAllowedAction: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `removeInstanceStateOnDestroy`<sup>Required</sup> <a name="removeInstanceStateOnDestroy" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.removeInstanceStateOnDestroy"></a>

```typescript
public readonly removeInstanceStateOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputePerInstanceConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeProjectDefaultNetworkTier <a name="ComputeProjectDefaultNetworkTier" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_project_default_network_tier google_compute_project_default_network_tier}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.Initializer"></a>

```typescript
import { ComputeProjectDefaultNetworkTier } from '@dschmidt/provider-google'

new ComputeProjectDefaultNetworkTier(scope: Construct, id: string, config: ComputeProjectDefaultNetworkTierConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig">ComputeProjectDefaultNetworkTierConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig">ComputeProjectDefaultNetworkTierConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeProjectDefaultNetworkTierTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeouts">ComputeProjectDefaultNetworkTierTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.isConstruct"></a>

```typescript
import { ComputeProjectDefaultNetworkTier } from '@dschmidt/provider-google'

ComputeProjectDefaultNetworkTier.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeoutsOutputReference">ComputeProjectDefaultNetworkTierTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.networkTierInput">networkTierInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeouts">ComputeProjectDefaultNetworkTierTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.networkTier">networkTier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeProjectDefaultNetworkTierTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeoutsOutputReference">ComputeProjectDefaultNetworkTierTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `networkTierInput`<sup>Optional</sup> <a name="networkTierInput" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.networkTierInput"></a>

```typescript
public readonly networkTierInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeProjectDefaultNetworkTierTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeouts">ComputeProjectDefaultNetworkTierTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `networkTier`<sup>Required</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTier.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeProjectMetadata <a name="ComputeProjectMetadata" id="@dschmidt/provider-google.ComputeProjectMetadata"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata google_compute_project_metadata}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeProjectMetadata.Initializer"></a>

```typescript
import { ComputeProjectMetadata } from '@dschmidt/provider-google'

new ComputeProjectMetadata(scope: Construct, id: string, config: ComputeProjectMetadataConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig">ComputeProjectMetadataConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeProjectMetadata.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeProjectMetadata.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeProjectMetadata.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig">ComputeProjectMetadataConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeProjectMetadata.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeProjectMetadata.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeProjectMetadata.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeProjectMetadata.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeProjectMetadata.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeProjectMetadata.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeProjectMetadata.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeProjectMetadata.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeProjectMetadata.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadata.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeProjectMetadata.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeProjectMetadataTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeProjectMetadata.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectMetadataTimeouts">ComputeProjectMetadataTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeProjectMetadata.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeProjectMetadata.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeProjectMetadata.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeProjectMetadata.isConstruct"></a>

```typescript
import { ComputeProjectMetadata } from '@dschmidt/provider-google'

ComputeProjectMetadata.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeProjectMetadata.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataTimeoutsOutputReference">ComputeProjectMetadataTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.metadataInput">metadataInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeProjectMetadataTimeouts">ComputeProjectMetadataTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeProjectMetadata.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeProjectMetadata.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeProjectMetadata.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeProjectMetadata.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeProjectMetadata.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeProjectMetadata.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeProjectMetadata.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeProjectMetadata.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeProjectMetadata.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeProjectMetadata.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeProjectMetadata.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeProjectMetadata.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeProjectMetadata.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeProjectMetadata.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeProjectMetadata.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeProjectMetadataTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectMetadataTimeoutsOutputReference">ComputeProjectMetadataTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeProjectMetadata.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.ComputeProjectMetadata.property.metadataInput"></a>

```typescript
public readonly metadataInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeProjectMetadata.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeProjectMetadata.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeProjectMetadataTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeProjectMetadataTimeouts">ComputeProjectMetadataTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeProjectMetadata.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeProjectMetadata.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeProjectMetadata.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadata.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeProjectMetadata.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeProjectMetadataItem <a name="ComputeProjectMetadataItem" id="@dschmidt/provider-google.ComputeProjectMetadataItem"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item google_compute_project_metadata_item}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeProjectMetadataItem.Initializer"></a>

```typescript
import { ComputeProjectMetadataItem } from '@dschmidt/provider-google'

new ComputeProjectMetadataItem(scope: Construct, id: string, config: ComputeProjectMetadataItemConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig">ComputeProjectMetadataItemConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeProjectMetadataItem.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeProjectMetadataItem.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeProjectMetadataItem.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig">ComputeProjectMetadataItemConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeProjectMetadataItem.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeProjectMetadataItem.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeProjectMetadataItem.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeProjectMetadataItem.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeProjectMetadataItem.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeProjectMetadataItem.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeProjectMetadataItem.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeProjectMetadataItem.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeProjectMetadataItem.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeProjectMetadataItem.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeProjectMetadataItem.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeProjectMetadataItemTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeProjectMetadataItem.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts">ComputeProjectMetadataItemTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeProjectMetadataItem.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeProjectMetadataItem.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeProjectMetadataItem.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeProjectMetadataItem.isConstruct"></a>

```typescript
import { ComputeProjectMetadataItem } from '@dschmidt/provider-google'

ComputeProjectMetadataItem.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeProjectMetadataItem.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeoutsOutputReference">ComputeProjectMetadataItemTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.keyInput">keyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts">ComputeProjectMetadataItemTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.valueInput">valueInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.key">key</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.value">value</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeProjectMetadataItemTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeoutsOutputReference">ComputeProjectMetadataItemTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `keyInput`<sup>Optional</sup> <a name="keyInput" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.keyInput"></a>

```typescript
public readonly keyInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeProjectMetadataItemTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts">ComputeProjectMetadataItemTimeouts</a>

---

##### `valueInput`<sup>Optional</sup> <a name="valueInput" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.valueInput"></a>

```typescript
public readonly valueInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItem.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeProjectMetadataItem.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionAutoscaler <a name="ComputeRegionAutoscaler" id="@dschmidt/provider-google.ComputeRegionAutoscaler"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler google_compute_region_autoscaler}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionAutoscaler.Initializer"></a>

```typescript
import { ComputeRegionAutoscaler } from '@dschmidt/provider-google'

new ComputeRegionAutoscaler(scope: Construct, id: string, config: ComputeRegionAutoscalerConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig">ComputeRegionAutoscalerConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionAutoscaler.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionAutoscaler.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionAutoscaler.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig">ComputeRegionAutoscalerConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.putAutoscalingPolicy">putAutoscalingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionAutoscaler.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionAutoscaler.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionAutoscaler.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionAutoscaler.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionAutoscaler.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionAutoscaler.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionAutoscaler.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionAutoscaler.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionAutoscaler.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionAutoscaler.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAutoscalingPolicy` <a name="putAutoscalingPolicy" id="@dschmidt/provider-google.ComputeRegionAutoscaler.putAutoscalingPolicy"></a>

```typescript
public putAutoscalingPolicy(value: ComputeRegionAutoscalerAutoscalingPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionAutoscaler.putAutoscalingPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy">ComputeRegionAutoscalerAutoscalingPolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionAutoscaler.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionAutoscalerTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionAutoscaler.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts">ComputeRegionAutoscalerTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionAutoscaler.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionAutoscaler.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionAutoscaler.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionAutoscaler.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionAutoscaler.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionAutoscaler.isConstruct"></a>

```typescript
import { ComputeRegionAutoscaler } from '@dschmidt/provider-google'

ComputeRegionAutoscaler.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionAutoscaler.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.autoscalingPolicy">autoscalingPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyOutputReference">ComputeRegionAutoscalerAutoscalingPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeoutsOutputReference">ComputeRegionAutoscalerTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.autoscalingPolicyInput">autoscalingPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy">ComputeRegionAutoscalerAutoscalingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.targetInput">targetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts">ComputeRegionAutoscalerTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.target">target</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscalingPolicy`<sup>Required</sup> <a name="autoscalingPolicy" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.autoscalingPolicy"></a>

```typescript
public readonly autoscalingPolicy: ComputeRegionAutoscalerAutoscalingPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyOutputReference">ComputeRegionAutoscalerAutoscalingPolicyOutputReference</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionAutoscalerTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeoutsOutputReference">ComputeRegionAutoscalerTimeoutsOutputReference</a>

---

##### `autoscalingPolicyInput`<sup>Optional</sup> <a name="autoscalingPolicyInput" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.autoscalingPolicyInput"></a>

```typescript
public readonly autoscalingPolicyInput: ComputeRegionAutoscalerAutoscalingPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy">ComputeRegionAutoscalerAutoscalingPolicy</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `targetInput`<sup>Optional</sup> <a name="targetInput" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.targetInput"></a>

```typescript
public readonly targetInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionAutoscalerTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts">ComputeRegionAutoscalerTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscaler.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionAutoscaler.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionBackendService <a name="ComputeRegionBackendService" id="@dschmidt/provider-google.ComputeRegionBackendService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service google_compute_region_backend_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionBackendService.Initializer"></a>

```typescript
import { ComputeRegionBackendService } from '@dschmidt/provider-google'

new ComputeRegionBackendService(scope: Construct, id: string, config: ComputeRegionBackendServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig">ComputeRegionBackendServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionBackendService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionBackendService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionBackendService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig">ComputeRegionBackendServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.putBackend">putBackend</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.putCdnPolicy">putCdnPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.putCircuitBreakers">putCircuitBreakers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.putConsistentHash">putConsistentHash</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.putFailoverPolicy">putFailoverPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.putIap">putIap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.putLogConfig">putLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.putOutlierDetection">putOutlierDetection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetAffinityCookieTtlSec">resetAffinityCookieTtlSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetBackend">resetBackend</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetCdnPolicy">resetCdnPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetCircuitBreakers">resetCircuitBreakers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetConnectionDrainingTimeoutSec">resetConnectionDrainingTimeoutSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetConsistentHash">resetConsistentHash</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetEnableCdn">resetEnableCdn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetFailoverPolicy">resetFailoverPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetHealthChecks">resetHealthChecks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetIap">resetIap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetLoadBalancingScheme">resetLoadBalancingScheme</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetLocalityLbPolicy">resetLocalityLbPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetLogConfig">resetLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetOutlierDetection">resetOutlierDetection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetPortName">resetPortName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetProtocol">resetProtocol</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetSessionAffinity">resetSessionAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.resetTimeoutSec">resetTimeoutSec</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionBackendService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionBackendService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionBackendService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionBackendService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionBackendService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionBackendService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionBackendService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionBackendService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionBackendService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBackend` <a name="putBackend" id="@dschmidt/provider-google.ComputeRegionBackendService.putBackend"></a>

```typescript
public putBackend(value: IResolvable | ComputeRegionBackendServiceBackend[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.putBackend.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend">ComputeRegionBackendServiceBackend</a>[]

---

##### `putCdnPolicy` <a name="putCdnPolicy" id="@dschmidt/provider-google.ComputeRegionBackendService.putCdnPolicy"></a>

```typescript
public putCdnPolicy(value: ComputeRegionBackendServiceCdnPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.putCdnPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy">ComputeRegionBackendServiceCdnPolicy</a>

---

##### `putCircuitBreakers` <a name="putCircuitBreakers" id="@dschmidt/provider-google.ComputeRegionBackendService.putCircuitBreakers"></a>

```typescript
public putCircuitBreakers(value: ComputeRegionBackendServiceCircuitBreakers): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.putCircuitBreakers.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers">ComputeRegionBackendServiceCircuitBreakers</a>

---

##### `putConsistentHash` <a name="putConsistentHash" id="@dschmidt/provider-google.ComputeRegionBackendService.putConsistentHash"></a>

```typescript
public putConsistentHash(value: ComputeRegionBackendServiceConsistentHash): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.putConsistentHash.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash">ComputeRegionBackendServiceConsistentHash</a>

---

##### `putFailoverPolicy` <a name="putFailoverPolicy" id="@dschmidt/provider-google.ComputeRegionBackendService.putFailoverPolicy"></a>

```typescript
public putFailoverPolicy(value: ComputeRegionBackendServiceFailoverPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.putFailoverPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy">ComputeRegionBackendServiceFailoverPolicy</a>

---

##### `putIap` <a name="putIap" id="@dschmidt/provider-google.ComputeRegionBackendService.putIap"></a>

```typescript
public putIap(value: ComputeRegionBackendServiceIap): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.putIap.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceIap">ComputeRegionBackendServiceIap</a>

---

##### `putLogConfig` <a name="putLogConfig" id="@dschmidt/provider-google.ComputeRegionBackendService.putLogConfig"></a>

```typescript
public putLogConfig(value: ComputeRegionBackendServiceLogConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.putLogConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig">ComputeRegionBackendServiceLogConfig</a>

---

##### `putOutlierDetection` <a name="putOutlierDetection" id="@dschmidt/provider-google.ComputeRegionBackendService.putOutlierDetection"></a>

```typescript
public putOutlierDetection(value: ComputeRegionBackendServiceOutlierDetection): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.putOutlierDetection.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection">ComputeRegionBackendServiceOutlierDetection</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionBackendService.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionBackendServiceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionBackendService.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts">ComputeRegionBackendServiceTimeouts</a>

---

##### `resetAffinityCookieTtlSec` <a name="resetAffinityCookieTtlSec" id="@dschmidt/provider-google.ComputeRegionBackendService.resetAffinityCookieTtlSec"></a>

```typescript
public resetAffinityCookieTtlSec(): void
```

##### `resetBackend` <a name="resetBackend" id="@dschmidt/provider-google.ComputeRegionBackendService.resetBackend"></a>

```typescript
public resetBackend(): void
```

##### `resetCdnPolicy` <a name="resetCdnPolicy" id="@dschmidt/provider-google.ComputeRegionBackendService.resetCdnPolicy"></a>

```typescript
public resetCdnPolicy(): void
```

##### `resetCircuitBreakers` <a name="resetCircuitBreakers" id="@dschmidt/provider-google.ComputeRegionBackendService.resetCircuitBreakers"></a>

```typescript
public resetCircuitBreakers(): void
```

##### `resetConnectionDrainingTimeoutSec` <a name="resetConnectionDrainingTimeoutSec" id="@dschmidt/provider-google.ComputeRegionBackendService.resetConnectionDrainingTimeoutSec"></a>

```typescript
public resetConnectionDrainingTimeoutSec(): void
```

##### `resetConsistentHash` <a name="resetConsistentHash" id="@dschmidt/provider-google.ComputeRegionBackendService.resetConsistentHash"></a>

```typescript
public resetConsistentHash(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionBackendService.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEnableCdn` <a name="resetEnableCdn" id="@dschmidt/provider-google.ComputeRegionBackendService.resetEnableCdn"></a>

```typescript
public resetEnableCdn(): void
```

##### `resetFailoverPolicy` <a name="resetFailoverPolicy" id="@dschmidt/provider-google.ComputeRegionBackendService.resetFailoverPolicy"></a>

```typescript
public resetFailoverPolicy(): void
```

##### `resetHealthChecks` <a name="resetHealthChecks" id="@dschmidt/provider-google.ComputeRegionBackendService.resetHealthChecks"></a>

```typescript
public resetHealthChecks(): void
```

##### `resetIap` <a name="resetIap" id="@dschmidt/provider-google.ComputeRegionBackendService.resetIap"></a>

```typescript
public resetIap(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionBackendService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLoadBalancingScheme` <a name="resetLoadBalancingScheme" id="@dschmidt/provider-google.ComputeRegionBackendService.resetLoadBalancingScheme"></a>

```typescript
public resetLoadBalancingScheme(): void
```

##### `resetLocalityLbPolicy` <a name="resetLocalityLbPolicy" id="@dschmidt/provider-google.ComputeRegionBackendService.resetLocalityLbPolicy"></a>

```typescript
public resetLocalityLbPolicy(): void
```

##### `resetLogConfig` <a name="resetLogConfig" id="@dschmidt/provider-google.ComputeRegionBackendService.resetLogConfig"></a>

```typescript
public resetLogConfig(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.ComputeRegionBackendService.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetOutlierDetection` <a name="resetOutlierDetection" id="@dschmidt/provider-google.ComputeRegionBackendService.resetOutlierDetection"></a>

```typescript
public resetOutlierDetection(): void
```

##### `resetPortName` <a name="resetPortName" id="@dschmidt/provider-google.ComputeRegionBackendService.resetPortName"></a>

```typescript
public resetPortName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionBackendService.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProtocol` <a name="resetProtocol" id="@dschmidt/provider-google.ComputeRegionBackendService.resetProtocol"></a>

```typescript
public resetProtocol(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionBackendService.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSessionAffinity` <a name="resetSessionAffinity" id="@dschmidt/provider-google.ComputeRegionBackendService.resetSessionAffinity"></a>

```typescript
public resetSessionAffinity(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionBackendService.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTimeoutSec` <a name="resetTimeoutSec" id="@dschmidt/provider-google.ComputeRegionBackendService.resetTimeoutSec"></a>

```typescript
public resetTimeoutSec(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionBackendService.isConstruct"></a>

```typescript
import { ComputeRegionBackendService } from '@dschmidt/provider-google'

ComputeRegionBackendService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionBackendService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.backend">backend</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackendList">ComputeRegionBackendServiceBackendList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.cdnPolicy">cdnPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyOutputReference">ComputeRegionBackendServiceCdnPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.circuitBreakers">circuitBreakers</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakersOutputReference">ComputeRegionBackendServiceCircuitBreakersOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.consistentHash">consistentHash</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashOutputReference">ComputeRegionBackendServiceConsistentHashOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.failoverPolicy">failoverPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicyOutputReference">ComputeRegionBackendServiceFailoverPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.iap">iap</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceIapOutputReference">ComputeRegionBackendServiceIapOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceLogConfigOutputReference">ComputeRegionBackendServiceLogConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.outlierDetection">outlierDetection</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionOutputReference">ComputeRegionBackendServiceOutlierDetectionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeoutsOutputReference">ComputeRegionBackendServiceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.affinityCookieTtlSecInput">affinityCookieTtlSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.backendInput">backendInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend">ComputeRegionBackendServiceBackend</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.cdnPolicyInput">cdnPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy">ComputeRegionBackendServiceCdnPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.circuitBreakersInput">circuitBreakersInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers">ComputeRegionBackendServiceCircuitBreakers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.connectionDrainingTimeoutSecInput">connectionDrainingTimeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.consistentHashInput">consistentHashInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash">ComputeRegionBackendServiceConsistentHash</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.enableCdnInput">enableCdnInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.failoverPolicyInput">failoverPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy">ComputeRegionBackendServiceFailoverPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.healthChecksInput">healthChecksInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.iapInput">iapInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceIap">ComputeRegionBackendServiceIap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.loadBalancingSchemeInput">loadBalancingSchemeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.localityLbPolicyInput">localityLbPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.logConfigInput">logConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig">ComputeRegionBackendServiceLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.outlierDetectionInput">outlierDetectionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection">ComputeRegionBackendServiceOutlierDetection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.portNameInput">portNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.protocolInput">protocolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.sessionAffinityInput">sessionAffinityInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.timeoutSecInput">timeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts">ComputeRegionBackendServiceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.affinityCookieTtlSec">affinityCookieTtlSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.connectionDrainingTimeoutSec">connectionDrainingTimeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.enableCdn">enableCdn</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.healthChecks">healthChecks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.localityLbPolicy">localityLbPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.portName">portName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.protocol">protocol</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.sessionAffinity">sessionAffinity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionBackendService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionBackendService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionBackendService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionBackendService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionBackendService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionBackendService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionBackendService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionBackendService.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionBackendService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionBackendService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionBackendService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionBackendService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionBackendService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionBackendService.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `backend`<sup>Required</sup> <a name="backend" id="@dschmidt/provider-google.ComputeRegionBackendService.property.backend"></a>

```typescript
public readonly backend: ComputeRegionBackendServiceBackendList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackendList">ComputeRegionBackendServiceBackendList</a>

---

##### `cdnPolicy`<sup>Required</sup> <a name="cdnPolicy" id="@dschmidt/provider-google.ComputeRegionBackendService.property.cdnPolicy"></a>

```typescript
public readonly cdnPolicy: ComputeRegionBackendServiceCdnPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyOutputReference">ComputeRegionBackendServiceCdnPolicyOutputReference</a>

---

##### `circuitBreakers`<sup>Required</sup> <a name="circuitBreakers" id="@dschmidt/provider-google.ComputeRegionBackendService.property.circuitBreakers"></a>

```typescript
public readonly circuitBreakers: ComputeRegionBackendServiceCircuitBreakersOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakersOutputReference">ComputeRegionBackendServiceCircuitBreakersOutputReference</a>

---

##### `consistentHash`<sup>Required</sup> <a name="consistentHash" id="@dschmidt/provider-google.ComputeRegionBackendService.property.consistentHash"></a>

```typescript
public readonly consistentHash: ComputeRegionBackendServiceConsistentHashOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashOutputReference">ComputeRegionBackendServiceConsistentHashOutputReference</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeRegionBackendService.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `failoverPolicy`<sup>Required</sup> <a name="failoverPolicy" id="@dschmidt/provider-google.ComputeRegionBackendService.property.failoverPolicy"></a>

```typescript
public readonly failoverPolicy: ComputeRegionBackendServiceFailoverPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicyOutputReference">ComputeRegionBackendServiceFailoverPolicyOutputReference</a>

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeRegionBackendService.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `iap`<sup>Required</sup> <a name="iap" id="@dschmidt/provider-google.ComputeRegionBackendService.property.iap"></a>

```typescript
public readonly iap: ComputeRegionBackendServiceIapOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceIapOutputReference">ComputeRegionBackendServiceIapOutputReference</a>

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeRegionBackendService.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeRegionBackendServiceLogConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceLogConfigOutputReference">ComputeRegionBackendServiceLogConfigOutputReference</a>

---

##### `outlierDetection`<sup>Required</sup> <a name="outlierDetection" id="@dschmidt/provider-google.ComputeRegionBackendService.property.outlierDetection"></a>

```typescript
public readonly outlierDetection: ComputeRegionBackendServiceOutlierDetectionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionOutputReference">ComputeRegionBackendServiceOutlierDetectionOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionBackendService.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionBackendService.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionBackendServiceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeoutsOutputReference">ComputeRegionBackendServiceTimeoutsOutputReference</a>

---

##### `affinityCookieTtlSecInput`<sup>Optional</sup> <a name="affinityCookieTtlSecInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.affinityCookieTtlSecInput"></a>

```typescript
public readonly affinityCookieTtlSecInput: number;
```

- *Type:* number

---

##### `backendInput`<sup>Optional</sup> <a name="backendInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.backendInput"></a>

```typescript
public readonly backendInput: IResolvable | ComputeRegionBackendServiceBackend[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend">ComputeRegionBackendServiceBackend</a>[]

---

##### `cdnPolicyInput`<sup>Optional</sup> <a name="cdnPolicyInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.cdnPolicyInput"></a>

```typescript
public readonly cdnPolicyInput: ComputeRegionBackendServiceCdnPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy">ComputeRegionBackendServiceCdnPolicy</a>

---

##### `circuitBreakersInput`<sup>Optional</sup> <a name="circuitBreakersInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.circuitBreakersInput"></a>

```typescript
public readonly circuitBreakersInput: ComputeRegionBackendServiceCircuitBreakers;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers">ComputeRegionBackendServiceCircuitBreakers</a>

---

##### `connectionDrainingTimeoutSecInput`<sup>Optional</sup> <a name="connectionDrainingTimeoutSecInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.connectionDrainingTimeoutSecInput"></a>

```typescript
public readonly connectionDrainingTimeoutSecInput: number;
```

- *Type:* number

---

##### `consistentHashInput`<sup>Optional</sup> <a name="consistentHashInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.consistentHashInput"></a>

```typescript
public readonly consistentHashInput: ComputeRegionBackendServiceConsistentHash;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash">ComputeRegionBackendServiceConsistentHash</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `enableCdnInput`<sup>Optional</sup> <a name="enableCdnInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.enableCdnInput"></a>

```typescript
public readonly enableCdnInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `failoverPolicyInput`<sup>Optional</sup> <a name="failoverPolicyInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.failoverPolicyInput"></a>

```typescript
public readonly failoverPolicyInput: ComputeRegionBackendServiceFailoverPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy">ComputeRegionBackendServiceFailoverPolicy</a>

---

##### `healthChecksInput`<sup>Optional</sup> <a name="healthChecksInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.healthChecksInput"></a>

```typescript
public readonly healthChecksInput: string[];
```

- *Type:* string[]

---

##### `iapInput`<sup>Optional</sup> <a name="iapInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.iapInput"></a>

```typescript
public readonly iapInput: ComputeRegionBackendServiceIap;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceIap">ComputeRegionBackendServiceIap</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `loadBalancingSchemeInput`<sup>Optional</sup> <a name="loadBalancingSchemeInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.loadBalancingSchemeInput"></a>

```typescript
public readonly loadBalancingSchemeInput: string;
```

- *Type:* string

---

##### `localityLbPolicyInput`<sup>Optional</sup> <a name="localityLbPolicyInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.localityLbPolicyInput"></a>

```typescript
public readonly localityLbPolicyInput: string;
```

- *Type:* string

---

##### `logConfigInput`<sup>Optional</sup> <a name="logConfigInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.logConfigInput"></a>

```typescript
public readonly logConfigInput: ComputeRegionBackendServiceLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig">ComputeRegionBackendServiceLogConfig</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `outlierDetectionInput`<sup>Optional</sup> <a name="outlierDetectionInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.outlierDetectionInput"></a>

```typescript
public readonly outlierDetectionInput: ComputeRegionBackendServiceOutlierDetection;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection">ComputeRegionBackendServiceOutlierDetection</a>

---

##### `portNameInput`<sup>Optional</sup> <a name="portNameInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.portNameInput"></a>

```typescript
public readonly portNameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `protocolInput`<sup>Optional</sup> <a name="protocolInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.protocolInput"></a>

```typescript
public readonly protocolInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `sessionAffinityInput`<sup>Optional</sup> <a name="sessionAffinityInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.sessionAffinityInput"></a>

```typescript
public readonly sessionAffinityInput: string;
```

- *Type:* string

---

##### `timeoutSecInput`<sup>Optional</sup> <a name="timeoutSecInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.timeoutSecInput"></a>

```typescript
public readonly timeoutSecInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionBackendService.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionBackendServiceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts">ComputeRegionBackendServiceTimeouts</a>

---

##### `affinityCookieTtlSec`<sup>Required</sup> <a name="affinityCookieTtlSec" id="@dschmidt/provider-google.ComputeRegionBackendService.property.affinityCookieTtlSec"></a>

```typescript
public readonly affinityCookieTtlSec: number;
```

- *Type:* number

---

##### `connectionDrainingTimeoutSec`<sup>Required</sup> <a name="connectionDrainingTimeoutSec" id="@dschmidt/provider-google.ComputeRegionBackendService.property.connectionDrainingTimeoutSec"></a>

```typescript
public readonly connectionDrainingTimeoutSec: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionBackendService.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `enableCdn`<sup>Required</sup> <a name="enableCdn" id="@dschmidt/provider-google.ComputeRegionBackendService.property.enableCdn"></a>

```typescript
public readonly enableCdn: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `healthChecks`<sup>Required</sup> <a name="healthChecks" id="@dschmidt/provider-google.ComputeRegionBackendService.property.healthChecks"></a>

```typescript
public readonly healthChecks: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionBackendService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `loadBalancingScheme`<sup>Required</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.ComputeRegionBackendService.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

---

##### `localityLbPolicy`<sup>Required</sup> <a name="localityLbPolicy" id="@dschmidt/provider-google.ComputeRegionBackendService.property.localityLbPolicy"></a>

```typescript
public readonly localityLbPolicy: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionBackendService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeRegionBackendService.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `portName`<sup>Required</sup> <a name="portName" id="@dschmidt/provider-google.ComputeRegionBackendService.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionBackendService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `protocol`<sup>Required</sup> <a name="protocol" id="@dschmidt/provider-google.ComputeRegionBackendService.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionBackendService.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `sessionAffinity`<sup>Required</sup> <a name="sessionAffinity" id="@dschmidt/provider-google.ComputeRegionBackendService.property.sessionAffinity"></a>

```typescript
public readonly sessionAffinity: string;
```

- *Type:* string

---

##### `timeoutSec`<sup>Required</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeRegionBackendService.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionBackendService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionDisk <a name="ComputeRegionDisk" id="@dschmidt/provider-google.ComputeRegionDisk"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk google_compute_region_disk}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionDisk.Initializer"></a>

```typescript
import { ComputeRegionDisk } from '@dschmidt/provider-google'

new ComputeRegionDisk(scope: Construct, id: string, config: ComputeRegionDiskConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig">ComputeRegionDiskConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionDisk.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDisk.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionDisk.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskConfig">ComputeRegionDiskConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.putDiskEncryptionKey">putDiskEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.putSourceSnapshotEncryptionKey">putSourceSnapshotEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetDiskEncryptionKey">resetDiskEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetPhysicalBlockSizeBytes">resetPhysicalBlockSizeBytes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetSize">resetSize</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetSnapshot">resetSnapshot</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetSourceSnapshotEncryptionKey">resetSourceSnapshotEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.resetType">resetType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionDisk.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionDisk.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionDisk.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDisk.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDisk.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionDisk.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDisk.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionDisk.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionDisk.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDisk.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDiskEncryptionKey` <a name="putDiskEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDisk.putDiskEncryptionKey"></a>

```typescript
public putDiskEncryptionKey(value: ComputeRegionDiskDiskEncryptionKey): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDisk.putDiskEncryptionKey.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey">ComputeRegionDiskDiskEncryptionKey</a>

---

##### `putSourceSnapshotEncryptionKey` <a name="putSourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDisk.putSourceSnapshotEncryptionKey"></a>

```typescript
public putSourceSnapshotEncryptionKey(value: ComputeRegionDiskSourceSnapshotEncryptionKey): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDisk.putSourceSnapshotEncryptionKey.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKey">ComputeRegionDiskSourceSnapshotEncryptionKey</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionDisk.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionDiskTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDisk.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskTimeouts">ComputeRegionDiskTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionDisk.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDiskEncryptionKey` <a name="resetDiskEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDisk.resetDiskEncryptionKey"></a>

```typescript
public resetDiskEncryptionKey(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionDisk.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComputeRegionDisk.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetPhysicalBlockSizeBytes` <a name="resetPhysicalBlockSizeBytes" id="@dschmidt/provider-google.ComputeRegionDisk.resetPhysicalBlockSizeBytes"></a>

```typescript
public resetPhysicalBlockSizeBytes(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionDisk.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionDisk.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSize` <a name="resetSize" id="@dschmidt/provider-google.ComputeRegionDisk.resetSize"></a>

```typescript
public resetSize(): void
```

##### `resetSnapshot` <a name="resetSnapshot" id="@dschmidt/provider-google.ComputeRegionDisk.resetSnapshot"></a>

```typescript
public resetSnapshot(): void
```

##### `resetSourceSnapshotEncryptionKey` <a name="resetSourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDisk.resetSourceSnapshotEncryptionKey"></a>

```typescript
public resetSourceSnapshotEncryptionKey(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionDisk.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.ComputeRegionDisk.resetType"></a>

```typescript
public resetType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionDisk.isConstruct"></a>

```typescript
import { ComputeRegionDisk } from '@dschmidt/provider-google'

ComputeRegionDisk.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionDisk.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.diskEncryptionKey">diskEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKeyOutputReference">ComputeRegionDiskDiskEncryptionKeyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.lastAttachTimestamp">lastAttachTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.lastDetachTimestamp">lastDetachTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.sourceSnapshotEncryptionKey">sourceSnapshotEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKeyOutputReference">ComputeRegionDiskSourceSnapshotEncryptionKeyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.sourceSnapshotId">sourceSnapshotId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskTimeoutsOutputReference">ComputeRegionDiskTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.users">users</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.diskEncryptionKeyInput">diskEncryptionKeyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey">ComputeRegionDiskDiskEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.physicalBlockSizeBytesInput">physicalBlockSizeBytesInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.replicaZonesInput">replicaZonesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.sizeInput">sizeInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.snapshotInput">snapshotInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.sourceSnapshotEncryptionKeyInput">sourceSnapshotEncryptionKeyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKey">ComputeRegionDiskSourceSnapshotEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionDiskTimeouts">ComputeRegionDiskTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.physicalBlockSizeBytes">physicalBlockSizeBytes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.replicaZones">replicaZones</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.snapshot">snapshot</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionDisk.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionDisk.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionDisk.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionDisk.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionDisk.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionDisk.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionDisk.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDisk.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDisk.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDisk.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDisk.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDisk.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDisk.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDisk.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeRegionDisk.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `diskEncryptionKey`<sup>Required</sup> <a name="diskEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDisk.property.diskEncryptionKey"></a>

```typescript
public readonly diskEncryptionKey: ComputeRegionDiskDiskEncryptionKeyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKeyOutputReference">ComputeRegionDiskDiskEncryptionKeyOutputReference</a>

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.ComputeRegionDisk.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `lastAttachTimestamp`<sup>Required</sup> <a name="lastAttachTimestamp" id="@dschmidt/provider-google.ComputeRegionDisk.property.lastAttachTimestamp"></a>

```typescript
public readonly lastAttachTimestamp: string;
```

- *Type:* string

---

##### `lastDetachTimestamp`<sup>Required</sup> <a name="lastDetachTimestamp" id="@dschmidt/provider-google.ComputeRegionDisk.property.lastDetachTimestamp"></a>

```typescript
public readonly lastDetachTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionDisk.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `sourceSnapshotEncryptionKey`<sup>Required</sup> <a name="sourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDisk.property.sourceSnapshotEncryptionKey"></a>

```typescript
public readonly sourceSnapshotEncryptionKey: ComputeRegionDiskSourceSnapshotEncryptionKeyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKeyOutputReference">ComputeRegionDiskSourceSnapshotEncryptionKeyOutputReference</a>

---

##### `sourceSnapshotId`<sup>Required</sup> <a name="sourceSnapshotId" id="@dschmidt/provider-google.ComputeRegionDisk.property.sourceSnapshotId"></a>

```typescript
public readonly sourceSnapshotId: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionDisk.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionDiskTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskTimeoutsOutputReference">ComputeRegionDiskTimeoutsOutputReference</a>

---

##### `users`<sup>Required</sup> <a name="users" id="@dschmidt/provider-google.ComputeRegionDisk.property.users"></a>

```typescript
public readonly users: string[];
```

- *Type:* string[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `diskEncryptionKeyInput`<sup>Optional</sup> <a name="diskEncryptionKeyInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.diskEncryptionKeyInput"></a>

```typescript
public readonly diskEncryptionKeyInput: ComputeRegionDiskDiskEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey">ComputeRegionDiskDiskEncryptionKey</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `physicalBlockSizeBytesInput`<sup>Optional</sup> <a name="physicalBlockSizeBytesInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.physicalBlockSizeBytesInput"></a>

```typescript
public readonly physicalBlockSizeBytesInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `replicaZonesInput`<sup>Optional</sup> <a name="replicaZonesInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.replicaZonesInput"></a>

```typescript
public readonly replicaZonesInput: string[];
```

- *Type:* string[]

---

##### `sizeInput`<sup>Optional</sup> <a name="sizeInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.sizeInput"></a>

```typescript
public readonly sizeInput: number;
```

- *Type:* number

---

##### `snapshotInput`<sup>Optional</sup> <a name="snapshotInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.snapshotInput"></a>

```typescript
public readonly snapshotInput: string;
```

- *Type:* string

---

##### `sourceSnapshotEncryptionKeyInput`<sup>Optional</sup> <a name="sourceSnapshotEncryptionKeyInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.sourceSnapshotEncryptionKeyInput"></a>

```typescript
public readonly sourceSnapshotEncryptionKeyInput: ComputeRegionDiskSourceSnapshotEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKey">ComputeRegionDiskSourceSnapshotEncryptionKey</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionDiskTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionDiskTimeouts">ComputeRegionDiskTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.ComputeRegionDisk.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionDisk.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDisk.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComputeRegionDisk.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDisk.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `physicalBlockSizeBytes`<sup>Required</sup> <a name="physicalBlockSizeBytes" id="@dschmidt/provider-google.ComputeRegionDisk.property.physicalBlockSizeBytes"></a>

```typescript
public readonly physicalBlockSizeBytes: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDisk.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDisk.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `replicaZones`<sup>Required</sup> <a name="replicaZones" id="@dschmidt/provider-google.ComputeRegionDisk.property.replicaZones"></a>

```typescript
public readonly replicaZones: string[];
```

- *Type:* string[]

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.ComputeRegionDisk.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `snapshot`<sup>Required</sup> <a name="snapshot" id="@dschmidt/provider-google.ComputeRegionDisk.property.snapshot"></a>

```typescript
public readonly snapshot: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeRegionDisk.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDisk.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionDisk.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionDiskIamBinding <a name="ComputeRegionDiskIamBinding" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding google_compute_region_disk_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.Initializer"></a>

```typescript
import { ComputeRegionDiskIamBinding } from '@dschmidt/provider-google'

new ComputeRegionDiskIamBinding(scope: Construct, id: string, config: ComputeRegionDiskIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig">ComputeRegionDiskIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig">ComputeRegionDiskIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.putCondition"></a>

```typescript
public putCondition(value: ComputeRegionDiskIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition">ComputeRegionDiskIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.isConstruct"></a>

```typescript
import { ComputeRegionDiskIamBinding } from '@dschmidt/provider-google'

ComputeRegionDiskIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConditionOutputReference">ComputeRegionDiskIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition">ComputeRegionDiskIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.condition"></a>

```typescript
public readonly condition: ComputeRegionDiskIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConditionOutputReference">ComputeRegionDiskIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeRegionDiskIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition">ComputeRegionDiskIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionDiskIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionDiskIamMember <a name="ComputeRegionDiskIamMember" id="@dschmidt/provider-google.ComputeRegionDiskIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member google_compute_region_disk_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.Initializer"></a>

```typescript
import { ComputeRegionDiskIamMember } from '@dschmidt/provider-google'

new ComputeRegionDiskIamMember(scope: Construct, id: string, config: ComputeRegionDiskIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig">ComputeRegionDiskIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig">ComputeRegionDiskIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.putCondition"></a>

```typescript
public putCondition(value: ComputeRegionDiskIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition">ComputeRegionDiskIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.isConstruct"></a>

```typescript
import { ComputeRegionDiskIamMember } from '@dschmidt/provider-google'

ComputeRegionDiskIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConditionOutputReference">ComputeRegionDiskIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition">ComputeRegionDiskIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.condition"></a>

```typescript
public readonly condition: ComputeRegionDiskIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConditionOutputReference">ComputeRegionDiskIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeRegionDiskIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition">ComputeRegionDiskIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionDiskIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionDiskIamPolicy <a name="ComputeRegionDiskIamPolicy" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy google_compute_region_disk_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.Initializer"></a>

```typescript
import { ComputeRegionDiskIamPolicy } from '@dschmidt/provider-google'

new ComputeRegionDiskIamPolicy(scope: Construct, id: string, config: ComputeRegionDiskIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig">ComputeRegionDiskIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig">ComputeRegionDiskIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.isConstruct"></a>

```typescript
import { ComputeRegionDiskIamPolicy } from '@dschmidt/provider-google'

ComputeRegionDiskIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionDiskResourcePolicyAttachment <a name="ComputeRegionDiskResourcePolicyAttachment" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment google_compute_region_disk_resource_policy_attachment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.Initializer"></a>

```typescript
import { ComputeRegionDiskResourcePolicyAttachment } from '@dschmidt/provider-google'

new ComputeRegionDiskResourcePolicyAttachment(scope: Construct, id: string, config: ComputeRegionDiskResourcePolicyAttachmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig">ComputeRegionDiskResourcePolicyAttachmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig">ComputeRegionDiskResourcePolicyAttachmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionDiskResourcePolicyAttachmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts">ComputeRegionDiskResourcePolicyAttachmentTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.isConstruct"></a>

```typescript
import { ComputeRegionDiskResourcePolicyAttachment } from '@dschmidt/provider-google'

ComputeRegionDiskResourcePolicyAttachment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeoutsOutputReference">ComputeRegionDiskResourcePolicyAttachmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.diskInput">diskInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts">ComputeRegionDiskResourcePolicyAttachmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.disk">disk</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionDiskResourcePolicyAttachmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeoutsOutputReference">ComputeRegionDiskResourcePolicyAttachmentTimeoutsOutputReference</a>

---

##### `diskInput`<sup>Optional</sup> <a name="diskInput" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.diskInput"></a>

```typescript
public readonly diskInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionDiskResourcePolicyAttachmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts">ComputeRegionDiskResourcePolicyAttachmentTimeouts</a>

---

##### `disk`<sup>Required</sup> <a name="disk" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.disk"></a>

```typescript
public readonly disk: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionHealthCheck <a name="ComputeRegionHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check google_compute_region_health_check}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionHealthCheck.Initializer"></a>

```typescript
import { ComputeRegionHealthCheck } from '@dschmidt/provider-google'

new ComputeRegionHealthCheck(scope: Construct, id: string, config: ComputeRegionHealthCheckConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig">ComputeRegionHealthCheckConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionHealthCheck.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionHealthCheck.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionHealthCheck.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig">ComputeRegionHealthCheckConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.putGrpcHealthCheck">putGrpcHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.putHttp2HealthCheck">putHttp2HealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.putHttpHealthCheck">putHttpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.putHttpsHealthCheck">putHttpsHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.putLogConfig">putLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.putSslHealthCheck">putSslHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.putTcpHealthCheck">putTcpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetCheckIntervalSec">resetCheckIntervalSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetGrpcHealthCheck">resetGrpcHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetHealthyThreshold">resetHealthyThreshold</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetHttp2HealthCheck">resetHttp2HealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetHttpHealthCheck">resetHttpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetHttpsHealthCheck">resetHttpsHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetLogConfig">resetLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetSslHealthCheck">resetSslHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetTcpHealthCheck">resetTcpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetTimeoutSec">resetTimeoutSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.resetUnhealthyThreshold">resetUnhealthyThreshold</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionHealthCheck.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionHealthCheck.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionHealthCheck.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionHealthCheck.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionHealthCheck.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionHealthCheck.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionHealthCheck.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionHealthCheck.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionHealthCheck.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putGrpcHealthCheck` <a name="putGrpcHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putGrpcHealthCheck"></a>

```typescript
public putGrpcHealthCheck(value: ComputeRegionHealthCheckGrpcHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putGrpcHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck">ComputeRegionHealthCheckGrpcHealthCheck</a>

---

##### `putHttp2HealthCheck` <a name="putHttp2HealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putHttp2HealthCheck"></a>

```typescript
public putHttp2HealthCheck(value: ComputeRegionHealthCheckHttp2HealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putHttp2HealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck">ComputeRegionHealthCheckHttp2HealthCheck</a>

---

##### `putHttpHealthCheck` <a name="putHttpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putHttpHealthCheck"></a>

```typescript
public putHttpHealthCheck(value: ComputeRegionHealthCheckHttpHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putHttpHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck">ComputeRegionHealthCheckHttpHealthCheck</a>

---

##### `putHttpsHealthCheck` <a name="putHttpsHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putHttpsHealthCheck"></a>

```typescript
public putHttpsHealthCheck(value: ComputeRegionHealthCheckHttpsHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putHttpsHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck">ComputeRegionHealthCheckHttpsHealthCheck</a>

---

##### `putLogConfig` <a name="putLogConfig" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putLogConfig"></a>

```typescript
public putLogConfig(value: ComputeRegionHealthCheckLogConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putLogConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckLogConfig">ComputeRegionHealthCheckLogConfig</a>

---

##### `putSslHealthCheck` <a name="putSslHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putSslHealthCheck"></a>

```typescript
public putSslHealthCheck(value: ComputeRegionHealthCheckSslHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putSslHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck">ComputeRegionHealthCheckSslHealthCheck</a>

---

##### `putTcpHealthCheck` <a name="putTcpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putTcpHealthCheck"></a>

```typescript
public putTcpHealthCheck(value: ComputeRegionHealthCheckTcpHealthCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putTcpHealthCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck">ComputeRegionHealthCheckTcpHealthCheck</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionHealthCheckTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionHealthCheck.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts">ComputeRegionHealthCheckTimeouts</a>

---

##### `resetCheckIntervalSec` <a name="resetCheckIntervalSec" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetCheckIntervalSec"></a>

```typescript
public resetCheckIntervalSec(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetGrpcHealthCheck` <a name="resetGrpcHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetGrpcHealthCheck"></a>

```typescript
public resetGrpcHealthCheck(): void
```

##### `resetHealthyThreshold` <a name="resetHealthyThreshold" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetHealthyThreshold"></a>

```typescript
public resetHealthyThreshold(): void
```

##### `resetHttp2HealthCheck` <a name="resetHttp2HealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetHttp2HealthCheck"></a>

```typescript
public resetHttp2HealthCheck(): void
```

##### `resetHttpHealthCheck` <a name="resetHttpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetHttpHealthCheck"></a>

```typescript
public resetHttpHealthCheck(): void
```

##### `resetHttpsHealthCheck` <a name="resetHttpsHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetHttpsHealthCheck"></a>

```typescript
public resetHttpsHealthCheck(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLogConfig` <a name="resetLogConfig" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetLogConfig"></a>

```typescript
public resetLogConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSslHealthCheck` <a name="resetSslHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetSslHealthCheck"></a>

```typescript
public resetSslHealthCheck(): void
```

##### `resetTcpHealthCheck` <a name="resetTcpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetTcpHealthCheck"></a>

```typescript
public resetTcpHealthCheck(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTimeoutSec` <a name="resetTimeoutSec" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetTimeoutSec"></a>

```typescript
public resetTimeoutSec(): void
```

##### `resetUnhealthyThreshold` <a name="resetUnhealthyThreshold" id="@dschmidt/provider-google.ComputeRegionHealthCheck.resetUnhealthyThreshold"></a>

```typescript
public resetUnhealthyThreshold(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionHealthCheck.isConstruct"></a>

```typescript
import { ComputeRegionHealthCheck } from '@dschmidt/provider-google'

ComputeRegionHealthCheck.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionHealthCheck.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.grpcHealthCheck">grpcHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheckOutputReference">ComputeRegionHealthCheckGrpcHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.http2HealthCheck">http2HealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheckOutputReference">ComputeRegionHealthCheckHttp2HealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.httpHealthCheck">httpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheckOutputReference">ComputeRegionHealthCheckHttpHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.httpsHealthCheck">httpsHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheckOutputReference">ComputeRegionHealthCheckHttpsHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckLogConfigOutputReference">ComputeRegionHealthCheckLogConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.sslHealthCheck">sslHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheckOutputReference">ComputeRegionHealthCheckSslHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.tcpHealthCheck">tcpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheckOutputReference">ComputeRegionHealthCheckTcpHealthCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeoutsOutputReference">ComputeRegionHealthCheckTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.checkIntervalSecInput">checkIntervalSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.grpcHealthCheckInput">grpcHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck">ComputeRegionHealthCheckGrpcHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.healthyThresholdInput">healthyThresholdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.http2HealthCheckInput">http2HealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck">ComputeRegionHealthCheckHttp2HealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.httpHealthCheckInput">httpHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck">ComputeRegionHealthCheckHttpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.httpsHealthCheckInput">httpsHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck">ComputeRegionHealthCheckHttpsHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.logConfigInput">logConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckLogConfig">ComputeRegionHealthCheckLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.sslHealthCheckInput">sslHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck">ComputeRegionHealthCheckSslHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.tcpHealthCheckInput">tcpHealthCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck">ComputeRegionHealthCheckTcpHealthCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.timeoutSecInput">timeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts">ComputeRegionHealthCheckTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.unhealthyThresholdInput">unhealthyThresholdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.checkIntervalSec">checkIntervalSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.healthyThreshold">healthyThreshold</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.unhealthyThreshold">unhealthyThreshold</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `grpcHealthCheck`<sup>Required</sup> <a name="grpcHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.grpcHealthCheck"></a>

```typescript
public readonly grpcHealthCheck: ComputeRegionHealthCheckGrpcHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheckOutputReference">ComputeRegionHealthCheckGrpcHealthCheckOutputReference</a>

---

##### `http2HealthCheck`<sup>Required</sup> <a name="http2HealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.http2HealthCheck"></a>

```typescript
public readonly http2HealthCheck: ComputeRegionHealthCheckHttp2HealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheckOutputReference">ComputeRegionHealthCheckHttp2HealthCheckOutputReference</a>

---

##### `httpHealthCheck`<sup>Required</sup> <a name="httpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.httpHealthCheck"></a>

```typescript
public readonly httpHealthCheck: ComputeRegionHealthCheckHttpHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheckOutputReference">ComputeRegionHealthCheckHttpHealthCheckOutputReference</a>

---

##### `httpsHealthCheck`<sup>Required</sup> <a name="httpsHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.httpsHealthCheck"></a>

```typescript
public readonly httpsHealthCheck: ComputeRegionHealthCheckHttpsHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheckOutputReference">ComputeRegionHealthCheckHttpsHealthCheckOutputReference</a>

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeRegionHealthCheckLogConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckLogConfigOutputReference">ComputeRegionHealthCheckLogConfigOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `sslHealthCheck`<sup>Required</sup> <a name="sslHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.sslHealthCheck"></a>

```typescript
public readonly sslHealthCheck: ComputeRegionHealthCheckSslHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheckOutputReference">ComputeRegionHealthCheckSslHealthCheckOutputReference</a>

---

##### `tcpHealthCheck`<sup>Required</sup> <a name="tcpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.tcpHealthCheck"></a>

```typescript
public readonly tcpHealthCheck: ComputeRegionHealthCheckTcpHealthCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheckOutputReference">ComputeRegionHealthCheckTcpHealthCheckOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionHealthCheckTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeoutsOutputReference">ComputeRegionHealthCheckTimeoutsOutputReference</a>

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `checkIntervalSecInput`<sup>Optional</sup> <a name="checkIntervalSecInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.checkIntervalSecInput"></a>

```typescript
public readonly checkIntervalSecInput: number;
```

- *Type:* number

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `grpcHealthCheckInput`<sup>Optional</sup> <a name="grpcHealthCheckInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.grpcHealthCheckInput"></a>

```typescript
public readonly grpcHealthCheckInput: ComputeRegionHealthCheckGrpcHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck">ComputeRegionHealthCheckGrpcHealthCheck</a>

---

##### `healthyThresholdInput`<sup>Optional</sup> <a name="healthyThresholdInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.healthyThresholdInput"></a>

```typescript
public readonly healthyThresholdInput: number;
```

- *Type:* number

---

##### `http2HealthCheckInput`<sup>Optional</sup> <a name="http2HealthCheckInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.http2HealthCheckInput"></a>

```typescript
public readonly http2HealthCheckInput: ComputeRegionHealthCheckHttp2HealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck">ComputeRegionHealthCheckHttp2HealthCheck</a>

---

##### `httpHealthCheckInput`<sup>Optional</sup> <a name="httpHealthCheckInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.httpHealthCheckInput"></a>

```typescript
public readonly httpHealthCheckInput: ComputeRegionHealthCheckHttpHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck">ComputeRegionHealthCheckHttpHealthCheck</a>

---

##### `httpsHealthCheckInput`<sup>Optional</sup> <a name="httpsHealthCheckInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.httpsHealthCheckInput"></a>

```typescript
public readonly httpsHealthCheckInput: ComputeRegionHealthCheckHttpsHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck">ComputeRegionHealthCheckHttpsHealthCheck</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `logConfigInput`<sup>Optional</sup> <a name="logConfigInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.logConfigInput"></a>

```typescript
public readonly logConfigInput: ComputeRegionHealthCheckLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckLogConfig">ComputeRegionHealthCheckLogConfig</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `sslHealthCheckInput`<sup>Optional</sup> <a name="sslHealthCheckInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.sslHealthCheckInput"></a>

```typescript
public readonly sslHealthCheckInput: ComputeRegionHealthCheckSslHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck">ComputeRegionHealthCheckSslHealthCheck</a>

---

##### `tcpHealthCheckInput`<sup>Optional</sup> <a name="tcpHealthCheckInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.tcpHealthCheckInput"></a>

```typescript
public readonly tcpHealthCheckInput: ComputeRegionHealthCheckTcpHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck">ComputeRegionHealthCheckTcpHealthCheck</a>

---

##### `timeoutSecInput`<sup>Optional</sup> <a name="timeoutSecInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.timeoutSecInput"></a>

```typescript
public readonly timeoutSecInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionHealthCheckTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts">ComputeRegionHealthCheckTimeouts</a>

---

##### `unhealthyThresholdInput`<sup>Optional</sup> <a name="unhealthyThresholdInput" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.unhealthyThresholdInput"></a>

```typescript
public readonly unhealthyThresholdInput: number;
```

- *Type:* number

---

##### `checkIntervalSec`<sup>Required</sup> <a name="checkIntervalSec" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.checkIntervalSec"></a>

```typescript
public readonly checkIntervalSec: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `healthyThreshold`<sup>Required</sup> <a name="healthyThreshold" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.healthyThreshold"></a>

```typescript
public readonly healthyThreshold: number;
```

- *Type:* number

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `timeoutSec`<sup>Required</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

---

##### `unhealthyThreshold`<sup>Required</sup> <a name="unhealthyThreshold" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.unhealthyThreshold"></a>

```typescript
public readonly unhealthyThreshold: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheck.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionHealthCheck.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionInstanceGroupManager <a name="ComputeRegionInstanceGroupManager" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager google_compute_region_instance_group_manager}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManager } from '@dschmidt/provider-google'

new ComputeRegionInstanceGroupManager(scope: Construct, id: string, config: ComputeRegionInstanceGroupManagerConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig">ComputeRegionInstanceGroupManagerConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig">ComputeRegionInstanceGroupManagerConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putAutoHealingPolicies">putAutoHealingPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putNamedPort">putNamedPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putStatefulDisk">putStatefulDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putUpdatePolicy">putUpdatePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putVersion">putVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetAutoHealingPolicies">resetAutoHealingPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetDistributionPolicyTargetShape">resetDistributionPolicyTargetShape</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetDistributionPolicyZones">resetDistributionPolicyZones</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetNamedPort">resetNamedPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetStatefulDisk">resetStatefulDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetTargetPools">resetTargetPools</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetTargetSize">resetTargetSize</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetUpdatePolicy">resetUpdatePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetWaitForInstances">resetWaitForInstances</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetWaitForInstancesStatus">resetWaitForInstancesStatus</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAutoHealingPolicies` <a name="putAutoHealingPolicies" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putAutoHealingPolicies"></a>

```typescript
public putAutoHealingPolicies(value: ComputeRegionInstanceGroupManagerAutoHealingPolicies): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putAutoHealingPolicies.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies">ComputeRegionInstanceGroupManagerAutoHealingPolicies</a>

---

##### `putNamedPort` <a name="putNamedPort" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putNamedPort"></a>

```typescript
public putNamedPort(value: IResolvable | ComputeRegionInstanceGroupManagerNamedPort[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putNamedPort.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort">ComputeRegionInstanceGroupManagerNamedPort</a>[]

---

##### `putStatefulDisk` <a name="putStatefulDisk" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putStatefulDisk"></a>

```typescript
public putStatefulDisk(value: IResolvable | ComputeRegionInstanceGroupManagerStatefulDisk[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putStatefulDisk.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk">ComputeRegionInstanceGroupManagerStatefulDisk</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionInstanceGroupManagerTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts">ComputeRegionInstanceGroupManagerTimeouts</a>

---

##### `putUpdatePolicy` <a name="putUpdatePolicy" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putUpdatePolicy"></a>

```typescript
public putUpdatePolicy(value: ComputeRegionInstanceGroupManagerUpdatePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putUpdatePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy">ComputeRegionInstanceGroupManagerUpdatePolicy</a>

---

##### `putVersion` <a name="putVersion" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putVersion"></a>

```typescript
public putVersion(value: IResolvable | ComputeRegionInstanceGroupManagerVersion[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.putVersion.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion">ComputeRegionInstanceGroupManagerVersion</a>[]

---

##### `resetAutoHealingPolicies` <a name="resetAutoHealingPolicies" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetAutoHealingPolicies"></a>

```typescript
public resetAutoHealingPolicies(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDistributionPolicyTargetShape` <a name="resetDistributionPolicyTargetShape" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetDistributionPolicyTargetShape"></a>

```typescript
public resetDistributionPolicyTargetShape(): void
```

##### `resetDistributionPolicyZones` <a name="resetDistributionPolicyZones" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetDistributionPolicyZones"></a>

```typescript
public resetDistributionPolicyZones(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNamedPort` <a name="resetNamedPort" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetNamedPort"></a>

```typescript
public resetNamedPort(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetStatefulDisk` <a name="resetStatefulDisk" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetStatefulDisk"></a>

```typescript
public resetStatefulDisk(): void
```

##### `resetTargetPools` <a name="resetTargetPools" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetTargetPools"></a>

```typescript
public resetTargetPools(): void
```

##### `resetTargetSize` <a name="resetTargetSize" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetTargetSize"></a>

```typescript
public resetTargetSize(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUpdatePolicy` <a name="resetUpdatePolicy" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetUpdatePolicy"></a>

```typescript
public resetUpdatePolicy(): void
```

##### `resetWaitForInstances` <a name="resetWaitForInstances" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetWaitForInstances"></a>

```typescript
public resetWaitForInstances(): void
```

##### `resetWaitForInstancesStatus` <a name="resetWaitForInstancesStatus" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.resetWaitForInstancesStatus"></a>

```typescript
public resetWaitForInstancesStatus(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.isConstruct"></a>

```typescript
import { ComputeRegionInstanceGroupManager } from '@dschmidt/provider-google'

ComputeRegionInstanceGroupManager.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.autoHealingPolicies">autoHealingPolicies</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPoliciesOutputReference">ComputeRegionInstanceGroupManagerAutoHealingPoliciesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.instanceGroup">instanceGroup</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.namedPort">namedPort</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPortList">ComputeRegionInstanceGroupManagerNamedPortList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.statefulDisk">statefulDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDiskList">ComputeRegionInstanceGroupManagerStatefulDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatusList">ComputeRegionInstanceGroupManagerStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeoutsOutputReference">ComputeRegionInstanceGroupManagerTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.updatePolicy">updatePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicyOutputReference">ComputeRegionInstanceGroupManagerUpdatePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.version">version</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionList">ComputeRegionInstanceGroupManagerVersionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.autoHealingPoliciesInput">autoHealingPoliciesInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies">ComputeRegionInstanceGroupManagerAutoHealingPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.baseInstanceNameInput">baseInstanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.distributionPolicyTargetShapeInput">distributionPolicyTargetShapeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.distributionPolicyZonesInput">distributionPolicyZonesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.namedPortInput">namedPortInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort">ComputeRegionInstanceGroupManagerNamedPort</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.statefulDiskInput">statefulDiskInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk">ComputeRegionInstanceGroupManagerStatefulDisk</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.targetPoolsInput">targetPoolsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.targetSizeInput">targetSizeInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts">ComputeRegionInstanceGroupManagerTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.updatePolicyInput">updatePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy">ComputeRegionInstanceGroupManagerUpdatePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.versionInput">versionInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion">ComputeRegionInstanceGroupManagerVersion</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.waitForInstancesInput">waitForInstancesInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.waitForInstancesStatusInput">waitForInstancesStatusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.baseInstanceName">baseInstanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.distributionPolicyTargetShape">distributionPolicyTargetShape</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.distributionPolicyZones">distributionPolicyZones</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.targetPools">targetPools</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.targetSize">targetSize</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.waitForInstances">waitForInstances</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.waitForInstancesStatus">waitForInstancesStatus</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoHealingPolicies`<sup>Required</sup> <a name="autoHealingPolicies" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.autoHealingPolicies"></a>

```typescript
public readonly autoHealingPolicies: ComputeRegionInstanceGroupManagerAutoHealingPoliciesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPoliciesOutputReference">ComputeRegionInstanceGroupManagerAutoHealingPoliciesOutputReference</a>

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `instanceGroup`<sup>Required</sup> <a name="instanceGroup" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.instanceGroup"></a>

```typescript
public readonly instanceGroup: string;
```

- *Type:* string

---

##### `namedPort`<sup>Required</sup> <a name="namedPort" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.namedPort"></a>

```typescript
public readonly namedPort: ComputeRegionInstanceGroupManagerNamedPortList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPortList">ComputeRegionInstanceGroupManagerNamedPortList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `statefulDisk`<sup>Required</sup> <a name="statefulDisk" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.statefulDisk"></a>

```typescript
public readonly statefulDisk: ComputeRegionInstanceGroupManagerStatefulDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDiskList">ComputeRegionInstanceGroupManagerStatefulDiskList</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.status"></a>

```typescript
public readonly status: ComputeRegionInstanceGroupManagerStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatusList">ComputeRegionInstanceGroupManagerStatusList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionInstanceGroupManagerTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeoutsOutputReference">ComputeRegionInstanceGroupManagerTimeoutsOutputReference</a>

---

##### `updatePolicy`<sup>Required</sup> <a name="updatePolicy" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.updatePolicy"></a>

```typescript
public readonly updatePolicy: ComputeRegionInstanceGroupManagerUpdatePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicyOutputReference">ComputeRegionInstanceGroupManagerUpdatePolicyOutputReference</a>

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.version"></a>

```typescript
public readonly version: ComputeRegionInstanceGroupManagerVersionList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionList">ComputeRegionInstanceGroupManagerVersionList</a>

---

##### `autoHealingPoliciesInput`<sup>Optional</sup> <a name="autoHealingPoliciesInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.autoHealingPoliciesInput"></a>

```typescript
public readonly autoHealingPoliciesInput: ComputeRegionInstanceGroupManagerAutoHealingPolicies;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies">ComputeRegionInstanceGroupManagerAutoHealingPolicies</a>

---

##### `baseInstanceNameInput`<sup>Optional</sup> <a name="baseInstanceNameInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.baseInstanceNameInput"></a>

```typescript
public readonly baseInstanceNameInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `distributionPolicyTargetShapeInput`<sup>Optional</sup> <a name="distributionPolicyTargetShapeInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.distributionPolicyTargetShapeInput"></a>

```typescript
public readonly distributionPolicyTargetShapeInput: string;
```

- *Type:* string

---

##### `distributionPolicyZonesInput`<sup>Optional</sup> <a name="distributionPolicyZonesInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.distributionPolicyZonesInput"></a>

```typescript
public readonly distributionPolicyZonesInput: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `namedPortInput`<sup>Optional</sup> <a name="namedPortInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.namedPortInput"></a>

```typescript
public readonly namedPortInput: IResolvable | ComputeRegionInstanceGroupManagerNamedPort[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort">ComputeRegionInstanceGroupManagerNamedPort</a>[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `statefulDiskInput`<sup>Optional</sup> <a name="statefulDiskInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.statefulDiskInput"></a>

```typescript
public readonly statefulDiskInput: IResolvable | ComputeRegionInstanceGroupManagerStatefulDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk">ComputeRegionInstanceGroupManagerStatefulDisk</a>[]

---

##### `targetPoolsInput`<sup>Optional</sup> <a name="targetPoolsInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.targetPoolsInput"></a>

```typescript
public readonly targetPoolsInput: string[];
```

- *Type:* string[]

---

##### `targetSizeInput`<sup>Optional</sup> <a name="targetSizeInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.targetSizeInput"></a>

```typescript
public readonly targetSizeInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionInstanceGroupManagerTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts">ComputeRegionInstanceGroupManagerTimeouts</a>

---

##### `updatePolicyInput`<sup>Optional</sup> <a name="updatePolicyInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.updatePolicyInput"></a>

```typescript
public readonly updatePolicyInput: ComputeRegionInstanceGroupManagerUpdatePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy">ComputeRegionInstanceGroupManagerUpdatePolicy</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.versionInput"></a>

```typescript
public readonly versionInput: IResolvable | ComputeRegionInstanceGroupManagerVersion[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion">ComputeRegionInstanceGroupManagerVersion</a>[]

---

##### `waitForInstancesInput`<sup>Optional</sup> <a name="waitForInstancesInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.waitForInstancesInput"></a>

```typescript
public readonly waitForInstancesInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `waitForInstancesStatusInput`<sup>Optional</sup> <a name="waitForInstancesStatusInput" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.waitForInstancesStatusInput"></a>

```typescript
public readonly waitForInstancesStatusInput: string;
```

- *Type:* string

---

##### `baseInstanceName`<sup>Required</sup> <a name="baseInstanceName" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.baseInstanceName"></a>

```typescript
public readonly baseInstanceName: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `distributionPolicyTargetShape`<sup>Required</sup> <a name="distributionPolicyTargetShape" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.distributionPolicyTargetShape"></a>

```typescript
public readonly distributionPolicyTargetShape: string;
```

- *Type:* string

---

##### `distributionPolicyZones`<sup>Required</sup> <a name="distributionPolicyZones" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.distributionPolicyZones"></a>

```typescript
public readonly distributionPolicyZones: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `targetPools`<sup>Required</sup> <a name="targetPools" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.targetPools"></a>

```typescript
public readonly targetPools: string[];
```

- *Type:* string[]

---

##### `targetSize`<sup>Required</sup> <a name="targetSize" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.targetSize"></a>

```typescript
public readonly targetSize: number;
```

- *Type:* number

---

##### `waitForInstances`<sup>Required</sup> <a name="waitForInstances" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.waitForInstances"></a>

```typescript
public readonly waitForInstances: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `waitForInstancesStatus`<sup>Required</sup> <a name="waitForInstancesStatus" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.waitForInstancesStatus"></a>

```typescript
public readonly waitForInstancesStatus: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManager.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionNetworkEndpointGroup <a name="ComputeRegionNetworkEndpointGroup" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group google_compute_region_network_endpoint_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.Initializer"></a>

```typescript
import { ComputeRegionNetworkEndpointGroup } from '@dschmidt/provider-google'

new ComputeRegionNetworkEndpointGroup(scope: Construct, id: string, config: ComputeRegionNetworkEndpointGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig">ComputeRegionNetworkEndpointGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig">ComputeRegionNetworkEndpointGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putAppEngine">putAppEngine</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putCloudFunction">putCloudFunction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putCloudRun">putCloudRun</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetAppEngine">resetAppEngine</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetCloudFunction">resetCloudFunction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetCloudRun">resetCloudRun</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetNetworkEndpointType">resetNetworkEndpointType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetPscTargetService">resetPscTargetService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetSubnetwork">resetSubnetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAppEngine` <a name="putAppEngine" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putAppEngine"></a>

```typescript
public putAppEngine(value: ComputeRegionNetworkEndpointGroupAppEngine): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putAppEngine.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine">ComputeRegionNetworkEndpointGroupAppEngine</a>

---

##### `putCloudFunction` <a name="putCloudFunction" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putCloudFunction"></a>

```typescript
public putCloudFunction(value: ComputeRegionNetworkEndpointGroupCloudFunction): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putCloudFunction.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction">ComputeRegionNetworkEndpointGroupCloudFunction</a>

---

##### `putCloudRun` <a name="putCloudRun" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putCloudRun"></a>

```typescript
public putCloudRun(value: ComputeRegionNetworkEndpointGroupCloudRun): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putCloudRun.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun">ComputeRegionNetworkEndpointGroupCloudRun</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionNetworkEndpointGroupTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts">ComputeRegionNetworkEndpointGroupTimeouts</a>

---

##### `resetAppEngine` <a name="resetAppEngine" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetAppEngine"></a>

```typescript
public resetAppEngine(): void
```

##### `resetCloudFunction` <a name="resetCloudFunction" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetCloudFunction"></a>

```typescript
public resetCloudFunction(): void
```

##### `resetCloudRun` <a name="resetCloudRun" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetCloudRun"></a>

```typescript
public resetCloudRun(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetNetworkEndpointType` <a name="resetNetworkEndpointType" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetNetworkEndpointType"></a>

```typescript
public resetNetworkEndpointType(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPscTargetService` <a name="resetPscTargetService" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetPscTargetService"></a>

```typescript
public resetPscTargetService(): void
```

##### `resetSubnetwork` <a name="resetSubnetwork" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetSubnetwork"></a>

```typescript
public resetSubnetwork(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.isConstruct"></a>

```typescript
import { ComputeRegionNetworkEndpointGroup } from '@dschmidt/provider-google'

ComputeRegionNetworkEndpointGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.appEngine">appEngine</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngineOutputReference">ComputeRegionNetworkEndpointGroupAppEngineOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cloudFunction">cloudFunction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunctionOutputReference">ComputeRegionNetworkEndpointGroupCloudFunctionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cloudRun">cloudRun</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRunOutputReference">ComputeRegionNetworkEndpointGroupCloudRunOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeoutsOutputReference">ComputeRegionNetworkEndpointGroupTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.appEngineInput">appEngineInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine">ComputeRegionNetworkEndpointGroupAppEngine</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cloudFunctionInput">cloudFunctionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction">ComputeRegionNetworkEndpointGroupCloudFunction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cloudRunInput">cloudRunInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun">ComputeRegionNetworkEndpointGroupCloudRun</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.networkEndpointTypeInput">networkEndpointTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.pscTargetServiceInput">pscTargetServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.subnetworkInput">subnetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts">ComputeRegionNetworkEndpointGroupTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.networkEndpointType">networkEndpointType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.pscTargetService">pscTargetService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appEngine`<sup>Required</sup> <a name="appEngine" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.appEngine"></a>

```typescript
public readonly appEngine: ComputeRegionNetworkEndpointGroupAppEngineOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngineOutputReference">ComputeRegionNetworkEndpointGroupAppEngineOutputReference</a>

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: ComputeRegionNetworkEndpointGroupCloudFunctionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunctionOutputReference">ComputeRegionNetworkEndpointGroupCloudFunctionOutputReference</a>

---

##### `cloudRun`<sup>Required</sup> <a name="cloudRun" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cloudRun"></a>

```typescript
public readonly cloudRun: ComputeRegionNetworkEndpointGroupCloudRunOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRunOutputReference">ComputeRegionNetworkEndpointGroupCloudRunOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionNetworkEndpointGroupTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeoutsOutputReference">ComputeRegionNetworkEndpointGroupTimeoutsOutputReference</a>

---

##### `appEngineInput`<sup>Optional</sup> <a name="appEngineInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.appEngineInput"></a>

```typescript
public readonly appEngineInput: ComputeRegionNetworkEndpointGroupAppEngine;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine">ComputeRegionNetworkEndpointGroupAppEngine</a>

---

##### `cloudFunctionInput`<sup>Optional</sup> <a name="cloudFunctionInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cloudFunctionInput"></a>

```typescript
public readonly cloudFunctionInput: ComputeRegionNetworkEndpointGroupCloudFunction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction">ComputeRegionNetworkEndpointGroupCloudFunction</a>

---

##### `cloudRunInput`<sup>Optional</sup> <a name="cloudRunInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.cloudRunInput"></a>

```typescript
public readonly cloudRunInput: ComputeRegionNetworkEndpointGroupCloudRun;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun">ComputeRegionNetworkEndpointGroupCloudRun</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkEndpointTypeInput`<sup>Optional</sup> <a name="networkEndpointTypeInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.networkEndpointTypeInput"></a>

```typescript
public readonly networkEndpointTypeInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `pscTargetServiceInput`<sup>Optional</sup> <a name="pscTargetServiceInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.pscTargetServiceInput"></a>

```typescript
public readonly pscTargetServiceInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionNetworkEndpointGroupTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts">ComputeRegionNetworkEndpointGroupTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `networkEndpointType`<sup>Required</sup> <a name="networkEndpointType" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.networkEndpointType"></a>

```typescript
public readonly networkEndpointType: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `pscTargetService`<sup>Required</sup> <a name="pscTargetService" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.pscTargetService"></a>

```typescript
public readonly pscTargetService: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionPerInstanceConfig <a name="ComputeRegionPerInstanceConfig" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config google_compute_region_per_instance_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.Initializer"></a>

```typescript
import { ComputeRegionPerInstanceConfig } from '@dschmidt/provider-google'

new ComputeRegionPerInstanceConfig(scope: Construct, id: string, config: ComputeRegionPerInstanceConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig">ComputeRegionPerInstanceConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig">ComputeRegionPerInstanceConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.putPreservedState">putPreservedState</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetMinimalAction">resetMinimalAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetMostDisruptiveAllowedAction">resetMostDisruptiveAllowedAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetPreservedState">resetPreservedState</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetRemoveInstanceStateOnDestroy">resetRemoveInstanceStateOnDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putPreservedState` <a name="putPreservedState" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.putPreservedState"></a>

```typescript
public putPreservedState(value: ComputeRegionPerInstanceConfigPreservedState): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.putPreservedState.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState">ComputeRegionPerInstanceConfigPreservedState</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionPerInstanceConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts">ComputeRegionPerInstanceConfigTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMinimalAction` <a name="resetMinimalAction" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetMinimalAction"></a>

```typescript
public resetMinimalAction(): void
```

##### `resetMostDisruptiveAllowedAction` <a name="resetMostDisruptiveAllowedAction" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetMostDisruptiveAllowedAction"></a>

```typescript
public resetMostDisruptiveAllowedAction(): void
```

##### `resetPreservedState` <a name="resetPreservedState" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetPreservedState"></a>

```typescript
public resetPreservedState(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetRemoveInstanceStateOnDestroy` <a name="resetRemoveInstanceStateOnDestroy" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetRemoveInstanceStateOnDestroy"></a>

```typescript
public resetRemoveInstanceStateOnDestroy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.isConstruct"></a>

```typescript
import { ComputeRegionPerInstanceConfig } from '@dschmidt/provider-google'

ComputeRegionPerInstanceConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.preservedState">preservedState</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateOutputReference">ComputeRegionPerInstanceConfigPreservedStateOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeoutsOutputReference">ComputeRegionPerInstanceConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.minimalActionInput">minimalActionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.mostDisruptiveAllowedActionInput">mostDisruptiveAllowedActionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.preservedStateInput">preservedStateInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState">ComputeRegionPerInstanceConfigPreservedState</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.regionInstanceGroupManagerInput">regionInstanceGroupManagerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.removeInstanceStateOnDestroyInput">removeInstanceStateOnDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts">ComputeRegionPerInstanceConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.minimalAction">minimalAction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.mostDisruptiveAllowedAction">mostDisruptiveAllowedAction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.regionInstanceGroupManager">regionInstanceGroupManager</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.removeInstanceStateOnDestroy">removeInstanceStateOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `preservedState`<sup>Required</sup> <a name="preservedState" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.preservedState"></a>

```typescript
public readonly preservedState: ComputeRegionPerInstanceConfigPreservedStateOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateOutputReference">ComputeRegionPerInstanceConfigPreservedStateOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionPerInstanceConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeoutsOutputReference">ComputeRegionPerInstanceConfigTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `minimalActionInput`<sup>Optional</sup> <a name="minimalActionInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.minimalActionInput"></a>

```typescript
public readonly minimalActionInput: string;
```

- *Type:* string

---

##### `mostDisruptiveAllowedActionInput`<sup>Optional</sup> <a name="mostDisruptiveAllowedActionInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.mostDisruptiveAllowedActionInput"></a>

```typescript
public readonly mostDisruptiveAllowedActionInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `preservedStateInput`<sup>Optional</sup> <a name="preservedStateInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.preservedStateInput"></a>

```typescript
public readonly preservedStateInput: ComputeRegionPerInstanceConfigPreservedState;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState">ComputeRegionPerInstanceConfigPreservedState</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `regionInstanceGroupManagerInput`<sup>Optional</sup> <a name="regionInstanceGroupManagerInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.regionInstanceGroupManagerInput"></a>

```typescript
public readonly regionInstanceGroupManagerInput: string;
```

- *Type:* string

---

##### `removeInstanceStateOnDestroyInput`<sup>Optional</sup> <a name="removeInstanceStateOnDestroyInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.removeInstanceStateOnDestroyInput"></a>

```typescript
public readonly removeInstanceStateOnDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionPerInstanceConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts">ComputeRegionPerInstanceConfigTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `minimalAction`<sup>Required</sup> <a name="minimalAction" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.minimalAction"></a>

```typescript
public readonly minimalAction: string;
```

- *Type:* string

---

##### `mostDisruptiveAllowedAction`<sup>Required</sup> <a name="mostDisruptiveAllowedAction" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.mostDisruptiveAllowedAction"></a>

```typescript
public readonly mostDisruptiveAllowedAction: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `regionInstanceGroupManager`<sup>Required</sup> <a name="regionInstanceGroupManager" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.regionInstanceGroupManager"></a>

```typescript
public readonly regionInstanceGroupManager: string;
```

- *Type:* string

---

##### `removeInstanceStateOnDestroy`<sup>Required</sup> <a name="removeInstanceStateOnDestroy" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.removeInstanceStateOnDestroy"></a>

```typescript
public readonly removeInstanceStateOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionSslCertificate <a name="ComputeRegionSslCertificate" id="@dschmidt/provider-google.ComputeRegionSslCertificate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate google_compute_region_ssl_certificate}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionSslCertificate.Initializer"></a>

```typescript
import { ComputeRegionSslCertificate } from '@dschmidt/provider-google'

new ComputeRegionSslCertificate(scope: Construct, id: string, config: ComputeRegionSslCertificateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig">ComputeRegionSslCertificateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionSslCertificate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionSslCertificate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionSslCertificate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig">ComputeRegionSslCertificateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.resetNamePrefix">resetNamePrefix</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionSslCertificate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionSslCertificate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionSslCertificate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionSslCertificate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionSslCertificate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionSslCertificate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionSslCertificate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionSslCertificate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionSslCertificate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionSslCertificate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionSslCertificate.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionSslCertificateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionSslCertificate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts">ComputeRegionSslCertificateTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionSslCertificate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionSslCertificate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.ComputeRegionSslCertificate.resetName"></a>

```typescript
public resetName(): void
```

##### `resetNamePrefix` <a name="resetNamePrefix" id="@dschmidt/provider-google.ComputeRegionSslCertificate.resetNamePrefix"></a>

```typescript
public resetNamePrefix(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionSslCertificate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionSslCertificate.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionSslCertificate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionSslCertificate.isConstruct"></a>

```typescript
import { ComputeRegionSslCertificate } from '@dschmidt/provider-google'

ComputeRegionSslCertificate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionSslCertificate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.certificateId">certificateId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateTimeoutsOutputReference">ComputeRegionSslCertificateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.certificateInput">certificateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.namePrefixInput">namePrefixInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.privateKeyInput">privateKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts">ComputeRegionSslCertificateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.certificate">certificate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.namePrefix">namePrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.privateKey">privateKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificateId`<sup>Required</sup> <a name="certificateId" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.certificateId"></a>

```typescript
public readonly certificateId: number;
```

- *Type:* number

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionSslCertificateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionSslCertificateTimeoutsOutputReference">ComputeRegionSslCertificateTimeoutsOutputReference</a>

---

##### `certificateInput`<sup>Optional</sup> <a name="certificateInput" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.certificateInput"></a>

```typescript
public readonly certificateInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `namePrefixInput`<sup>Optional</sup> <a name="namePrefixInput" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.namePrefixInput"></a>

```typescript
public readonly namePrefixInput: string;
```

- *Type:* string

---

##### `privateKeyInput`<sup>Optional</sup> <a name="privateKeyInput" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.privateKeyInput"></a>

```typescript
public readonly privateKeyInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionSslCertificateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts">ComputeRegionSslCertificateTimeouts</a>

---

##### `certificate`<sup>Required</sup> <a name="certificate" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.certificate"></a>

```typescript
public readonly certificate: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `namePrefix`<sup>Required</sup> <a name="namePrefix" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

---

##### `privateKey`<sup>Required</sup> <a name="privateKey" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.privateKey"></a>

```typescript
public readonly privateKey: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionSslCertificate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionTargetHttpProxy <a name="ComputeRegionTargetHttpProxy" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy google_compute_region_target_http_proxy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.Initializer"></a>

```typescript
import { ComputeRegionTargetHttpProxy } from '@dschmidt/provider-google'

new ComputeRegionTargetHttpProxy(scope: Construct, id: string, config: ComputeRegionTargetHttpProxyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig">ComputeRegionTargetHttpProxyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig">ComputeRegionTargetHttpProxyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionTargetHttpProxyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts">ComputeRegionTargetHttpProxyTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.isConstruct"></a>

```typescript
import { ComputeRegionTargetHttpProxy } from '@dschmidt/provider-google'

ComputeRegionTargetHttpProxy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.proxyId">proxyId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeoutsOutputReference">ComputeRegionTargetHttpProxyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts">ComputeRegionTargetHttpProxyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.urlMapInput">urlMapInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.urlMap">urlMap</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `proxyId`<sup>Required</sup> <a name="proxyId" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.proxyId"></a>

```typescript
public readonly proxyId: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionTargetHttpProxyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeoutsOutputReference">ComputeRegionTargetHttpProxyTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionTargetHttpProxyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts">ComputeRegionTargetHttpProxyTimeouts</a>

---

##### `urlMapInput`<sup>Optional</sup> <a name="urlMapInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.urlMapInput"></a>

```typescript
public readonly urlMapInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `urlMap`<sup>Required</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionTargetHttpsProxy <a name="ComputeRegionTargetHttpsProxy" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy google_compute_region_target_https_proxy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.Initializer"></a>

```typescript
import { ComputeRegionTargetHttpsProxy } from '@dschmidt/provider-google'

new ComputeRegionTargetHttpsProxy(scope: Construct, id: string, config: ComputeRegionTargetHttpsProxyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig">ComputeRegionTargetHttpsProxyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig">ComputeRegionTargetHttpsProxyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionTargetHttpsProxyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts">ComputeRegionTargetHttpsProxyTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.isConstruct"></a>

```typescript
import { ComputeRegionTargetHttpsProxy } from '@dschmidt/provider-google'

ComputeRegionTargetHttpsProxy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.proxyId">proxyId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeoutsOutputReference">ComputeRegionTargetHttpsProxyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.sslCertificatesInput">sslCertificatesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts">ComputeRegionTargetHttpsProxyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.urlMapInput">urlMapInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.sslCertificates">sslCertificates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.urlMap">urlMap</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `proxyId`<sup>Required</sup> <a name="proxyId" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.proxyId"></a>

```typescript
public readonly proxyId: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionTargetHttpsProxyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeoutsOutputReference">ComputeRegionTargetHttpsProxyTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `sslCertificatesInput`<sup>Optional</sup> <a name="sslCertificatesInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.sslCertificatesInput"></a>

```typescript
public readonly sslCertificatesInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionTargetHttpsProxyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts">ComputeRegionTargetHttpsProxyTimeouts</a>

---

##### `urlMapInput`<sup>Optional</sup> <a name="urlMapInput" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.urlMapInput"></a>

```typescript
public readonly urlMapInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `sslCertificates`<sup>Required</sup> <a name="sslCertificates" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.sslCertificates"></a>

```typescript
public readonly sslCertificates: string[];
```

- *Type:* string[]

---

##### `urlMap`<sup>Required</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRegionUrlMap <a name="ComputeRegionUrlMap" id="@dschmidt/provider-google.ComputeRegionUrlMap"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map google_compute_region_url_map}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRegionUrlMap.Initializer"></a>

```typescript
import { ComputeRegionUrlMap } from '@dschmidt/provider-google'

new ComputeRegionUrlMap(scope: Construct, id: string, config: ComputeRegionUrlMapConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig">ComputeRegionUrlMapConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRegionUrlMap.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionUrlMap.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRegionUrlMap.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig">ComputeRegionUrlMapConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.putDefaultUrlRedirect">putDefaultUrlRedirect</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.putHostRule">putHostRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.putPathMatcher">putPathMatcher</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.putTest">putTest</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetDefaultService">resetDefaultService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetDefaultUrlRedirect">resetDefaultUrlRedirect</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetHostRule">resetHostRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetPathMatcher">resetPathMatcher</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetTest">resetTest</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRegionUrlMap.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRegionUrlMap.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionUrlMap.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionUrlMap.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRegionUrlMap.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRegionUrlMap.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRegionUrlMap.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRegionUrlMap.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRegionUrlMap.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDefaultUrlRedirect` <a name="putDefaultUrlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMap.putDefaultUrlRedirect"></a>

```typescript
public putDefaultUrlRedirect(value: ComputeRegionUrlMapDefaultUrlRedirect): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionUrlMap.putDefaultUrlRedirect.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect">ComputeRegionUrlMapDefaultUrlRedirect</a>

---

##### `putHostRule` <a name="putHostRule" id="@dschmidt/provider-google.ComputeRegionUrlMap.putHostRule"></a>

```typescript
public putHostRule(value: IResolvable | ComputeRegionUrlMapHostRule[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionUrlMap.putHostRule.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRule">ComputeRegionUrlMapHostRule</a>[]

---

##### `putPathMatcher` <a name="putPathMatcher" id="@dschmidt/provider-google.ComputeRegionUrlMap.putPathMatcher"></a>

```typescript
public putPathMatcher(value: IResolvable | ComputeRegionUrlMapPathMatcher[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionUrlMap.putPathMatcher.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher">ComputeRegionUrlMapPathMatcher</a>[]

---

##### `putTest` <a name="putTest" id="@dschmidt/provider-google.ComputeRegionUrlMap.putTest"></a>

```typescript
public putTest(value: IResolvable | ComputeRegionUrlMapTest[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionUrlMap.putTest.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTest">ComputeRegionUrlMapTest</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRegionUrlMap.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRegionUrlMapTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionUrlMap.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeouts">ComputeRegionUrlMapTimeouts</a>

---

##### `resetDefaultService` <a name="resetDefaultService" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetDefaultService"></a>

```typescript
public resetDefaultService(): void
```

##### `resetDefaultUrlRedirect` <a name="resetDefaultUrlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetDefaultUrlRedirect"></a>

```typescript
public resetDefaultUrlRedirect(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetHostRule` <a name="resetHostRule" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetHostRule"></a>

```typescript
public resetHostRule(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPathMatcher` <a name="resetPathMatcher" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetPathMatcher"></a>

```typescript
public resetPathMatcher(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTest` <a name="resetTest" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetTest"></a>

```typescript
public resetTest(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRegionUrlMap.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRegionUrlMap.isConstruct"></a>

```typescript
import { ComputeRegionUrlMap } from '@dschmidt/provider-google'

ComputeRegionUrlMap.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRegionUrlMap.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.defaultUrlRedirect">defaultUrlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirectOutputReference">ComputeRegionUrlMapDefaultUrlRedirectOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.hostRule">hostRule</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRuleList">ComputeRegionUrlMapHostRuleList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.mapId">mapId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.pathMatcher">pathMatcher</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherList">ComputeRegionUrlMapPathMatcherList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.test">test</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTestList">ComputeRegionUrlMapTestList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeoutsOutputReference">ComputeRegionUrlMapTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.defaultServiceInput">defaultServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.defaultUrlRedirectInput">defaultUrlRedirectInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect">ComputeRegionUrlMapDefaultUrlRedirect</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.hostRuleInput">hostRuleInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRule">ComputeRegionUrlMapHostRule</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.pathMatcherInput">pathMatcherInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher">ComputeRegionUrlMapPathMatcher</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.testInput">testInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTest">ComputeRegionUrlMapTest</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeouts">ComputeRegionUrlMapTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.defaultService">defaultService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `defaultUrlRedirect`<sup>Required</sup> <a name="defaultUrlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.defaultUrlRedirect"></a>

```typescript
public readonly defaultUrlRedirect: ComputeRegionUrlMapDefaultUrlRedirectOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirectOutputReference">ComputeRegionUrlMapDefaultUrlRedirectOutputReference</a>

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `hostRule`<sup>Required</sup> <a name="hostRule" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.hostRule"></a>

```typescript
public readonly hostRule: ComputeRegionUrlMapHostRuleList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRuleList">ComputeRegionUrlMapHostRuleList</a>

---

##### `mapId`<sup>Required</sup> <a name="mapId" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.mapId"></a>

```typescript
public readonly mapId: number;
```

- *Type:* number

---

##### `pathMatcher`<sup>Required</sup> <a name="pathMatcher" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.pathMatcher"></a>

```typescript
public readonly pathMatcher: ComputeRegionUrlMapPathMatcherList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherList">ComputeRegionUrlMapPathMatcherList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `test`<sup>Required</sup> <a name="test" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.test"></a>

```typescript
public readonly test: ComputeRegionUrlMapTestList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTestList">ComputeRegionUrlMapTestList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionUrlMapTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeoutsOutputReference">ComputeRegionUrlMapTimeoutsOutputReference</a>

---

##### `defaultServiceInput`<sup>Optional</sup> <a name="defaultServiceInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.defaultServiceInput"></a>

```typescript
public readonly defaultServiceInput: string;
```

- *Type:* string

---

##### `defaultUrlRedirectInput`<sup>Optional</sup> <a name="defaultUrlRedirectInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.defaultUrlRedirectInput"></a>

```typescript
public readonly defaultUrlRedirectInput: ComputeRegionUrlMapDefaultUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect">ComputeRegionUrlMapDefaultUrlRedirect</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `hostRuleInput`<sup>Optional</sup> <a name="hostRuleInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.hostRuleInput"></a>

```typescript
public readonly hostRuleInput: IResolvable | ComputeRegionUrlMapHostRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRule">ComputeRegionUrlMapHostRule</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `pathMatcherInput`<sup>Optional</sup> <a name="pathMatcherInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.pathMatcherInput"></a>

```typescript
public readonly pathMatcherInput: IResolvable | ComputeRegionUrlMapPathMatcher[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher">ComputeRegionUrlMapPathMatcher</a>[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `testInput`<sup>Optional</sup> <a name="testInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.testInput"></a>

```typescript
public readonly testInput: IResolvable | ComputeRegionUrlMapTest[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTest">ComputeRegionUrlMapTest</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRegionUrlMapTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeouts">ComputeRegionUrlMapTimeouts</a>

---

##### `defaultService`<sup>Required</sup> <a name="defaultService" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.defaultService"></a>

```typescript
public readonly defaultService: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMap.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRegionUrlMap.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeReservation <a name="ComputeReservation" id="@dschmidt/provider-google.ComputeReservation"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_reservation google_compute_reservation}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeReservation.Initializer"></a>

```typescript
import { ComputeReservation } from '@dschmidt/provider-google'

new ComputeReservation(scope: Construct, id: string, config: ComputeReservationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationConfig">ComputeReservationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeReservation.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeReservation.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeReservation.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationConfig">ComputeReservationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.putShareSettings">putShareSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.putSpecificReservation">putSpecificReservation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.resetShareSettings">resetShareSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.resetSpecificReservationRequired">resetSpecificReservationRequired</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeReservation.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeReservation.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeReservation.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeReservation.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeReservation.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeReservation.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeReservation.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeReservation.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeReservation.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeReservation.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeReservation.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeReservation.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeReservation.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeReservation.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeReservation.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeReservation.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeReservation.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeReservation.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeReservation.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeReservation.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putShareSettings` <a name="putShareSettings" id="@dschmidt/provider-google.ComputeReservation.putShareSettings"></a>

```typescript
public putShareSettings(value: ComputeReservationShareSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeReservation.putShareSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationShareSettings">ComputeReservationShareSettings</a>

---

##### `putSpecificReservation` <a name="putSpecificReservation" id="@dschmidt/provider-google.ComputeReservation.putSpecificReservation"></a>

```typescript
public putSpecificReservation(value: ComputeReservationSpecificReservation): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeReservation.putSpecificReservation.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationSpecificReservation">ComputeReservationSpecificReservation</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeReservation.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeReservationTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeReservation.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationTimeouts">ComputeReservationTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeReservation.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeReservation.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeReservation.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetShareSettings` <a name="resetShareSettings" id="@dschmidt/provider-google.ComputeReservation.resetShareSettings"></a>

```typescript
public resetShareSettings(): void
```

##### `resetSpecificReservationRequired` <a name="resetSpecificReservationRequired" id="@dschmidt/provider-google.ComputeReservation.resetSpecificReservationRequired"></a>

```typescript
public resetSpecificReservationRequired(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeReservation.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeReservation.isConstruct"></a>

```typescript
import { ComputeReservation } from '@dschmidt/provider-google'

ComputeReservation.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeReservation.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.commitment">commitment</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.shareSettings">shareSettings</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationShareSettingsOutputReference">ComputeReservationShareSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.specificReservation">specificReservation</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationOutputReference">ComputeReservationSpecificReservationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.status">status</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationTimeoutsOutputReference">ComputeReservationTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.shareSettingsInput">shareSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationShareSettings">ComputeReservationShareSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.specificReservationInput">specificReservationInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservation">ComputeReservationSpecificReservation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.specificReservationRequiredInput">specificReservationRequiredInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeReservationTimeouts">ComputeReservationTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.specificReservationRequired">specificReservationRequired</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeReservation.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeReservation.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeReservation.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeReservation.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeReservation.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeReservation.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeReservation.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeReservation.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeReservation.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeReservation.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeReservation.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeReservation.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeReservation.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeReservation.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `commitment`<sup>Required</sup> <a name="commitment" id="@dschmidt/provider-google.ComputeReservation.property.commitment"></a>

```typescript
public readonly commitment: string;
```

- *Type:* string

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeReservation.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeReservation.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `shareSettings`<sup>Required</sup> <a name="shareSettings" id="@dschmidt/provider-google.ComputeReservation.property.shareSettings"></a>

```typescript
public readonly shareSettings: ComputeReservationShareSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationShareSettingsOutputReference">ComputeReservationShareSettingsOutputReference</a>

---

##### `specificReservation`<sup>Required</sup> <a name="specificReservation" id="@dschmidt/provider-google.ComputeReservation.property.specificReservation"></a>

```typescript
public readonly specificReservation: ComputeReservationSpecificReservationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationOutputReference">ComputeReservationSpecificReservationOutputReference</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.ComputeReservation.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeReservation.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeReservationTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationTimeoutsOutputReference">ComputeReservationTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeReservation.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeReservation.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeReservation.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeReservation.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `shareSettingsInput`<sup>Optional</sup> <a name="shareSettingsInput" id="@dschmidt/provider-google.ComputeReservation.property.shareSettingsInput"></a>

```typescript
public readonly shareSettingsInput: ComputeReservationShareSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationShareSettings">ComputeReservationShareSettings</a>

---

##### `specificReservationInput`<sup>Optional</sup> <a name="specificReservationInput" id="@dschmidt/provider-google.ComputeReservation.property.specificReservationInput"></a>

```typescript
public readonly specificReservationInput: ComputeReservationSpecificReservation;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationSpecificReservation">ComputeReservationSpecificReservation</a>

---

##### `specificReservationRequiredInput`<sup>Optional</sup> <a name="specificReservationRequiredInput" id="@dschmidt/provider-google.ComputeReservation.property.specificReservationRequiredInput"></a>

```typescript
public readonly specificReservationRequiredInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeReservation.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeReservationTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeReservationTimeouts">ComputeReservationTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeReservation.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeReservation.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeReservation.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeReservation.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeReservation.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `specificReservationRequired`<sup>Required</sup> <a name="specificReservationRequired" id="@dschmidt/provider-google.ComputeReservation.property.specificReservationRequired"></a>

```typescript
public readonly specificReservationRequired: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeReservation.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservation.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeReservation.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeResourcePolicy <a name="ComputeResourcePolicy" id="@dschmidt/provider-google.ComputeResourcePolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy google_compute_resource_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeResourcePolicy.Initializer"></a>

```typescript
import { ComputeResourcePolicy } from '@dschmidt/provider-google'

new ComputeResourcePolicy(scope: Construct, id: string, config: ComputeResourcePolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig">ComputeResourcePolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeResourcePolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeResourcePolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeResourcePolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig">ComputeResourcePolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.putGroupPlacementPolicy">putGroupPlacementPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.putInstanceSchedulePolicy">putInstanceSchedulePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.putSnapshotSchedulePolicy">putSnapshotSchedulePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.resetGroupPlacementPolicy">resetGroupPlacementPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.resetInstanceSchedulePolicy">resetInstanceSchedulePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.resetSnapshotSchedulePolicy">resetSnapshotSchedulePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeResourcePolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeResourcePolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeResourcePolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeResourcePolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeResourcePolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeResourcePolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeResourcePolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeResourcePolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeResourcePolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeResourcePolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putGroupPlacementPolicy` <a name="putGroupPlacementPolicy" id="@dschmidt/provider-google.ComputeResourcePolicy.putGroupPlacementPolicy"></a>

```typescript
public putGroupPlacementPolicy(value: ComputeResourcePolicyGroupPlacementPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeResourcePolicy.putGroupPlacementPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy">ComputeResourcePolicyGroupPlacementPolicy</a>

---

##### `putInstanceSchedulePolicy` <a name="putInstanceSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicy.putInstanceSchedulePolicy"></a>

```typescript
public putInstanceSchedulePolicy(value: ComputeResourcePolicyInstanceSchedulePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeResourcePolicy.putInstanceSchedulePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy">ComputeResourcePolicyInstanceSchedulePolicy</a>

---

##### `putSnapshotSchedulePolicy` <a name="putSnapshotSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicy.putSnapshotSchedulePolicy"></a>

```typescript
public putSnapshotSchedulePolicy(value: ComputeResourcePolicySnapshotSchedulePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeResourcePolicy.putSnapshotSchedulePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy">ComputeResourcePolicySnapshotSchedulePolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeResourcePolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeResourcePolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeResourcePolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyTimeouts">ComputeResourcePolicyTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeResourcePolicy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetGroupPlacementPolicy` <a name="resetGroupPlacementPolicy" id="@dschmidt/provider-google.ComputeResourcePolicy.resetGroupPlacementPolicy"></a>

```typescript
public resetGroupPlacementPolicy(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeResourcePolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInstanceSchedulePolicy` <a name="resetInstanceSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicy.resetInstanceSchedulePolicy"></a>

```typescript
public resetInstanceSchedulePolicy(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeResourcePolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeResourcePolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSnapshotSchedulePolicy` <a name="resetSnapshotSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicy.resetSnapshotSchedulePolicy"></a>

```typescript
public resetSnapshotSchedulePolicy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeResourcePolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeResourcePolicy.isConstruct"></a>

```typescript
import { ComputeResourcePolicy } from '@dschmidt/provider-google'

ComputeResourcePolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeResourcePolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.groupPlacementPolicy">groupPlacementPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicyOutputReference">ComputeResourcePolicyGroupPlacementPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.instanceSchedulePolicy">instanceSchedulePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyOutputReference">ComputeResourcePolicyInstanceSchedulePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.snapshotSchedulePolicy">snapshotSchedulePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyOutputReference">ComputeResourcePolicySnapshotSchedulePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyTimeoutsOutputReference">ComputeResourcePolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.groupPlacementPolicyInput">groupPlacementPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy">ComputeResourcePolicyGroupPlacementPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.instanceSchedulePolicyInput">instanceSchedulePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy">ComputeResourcePolicyInstanceSchedulePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.snapshotSchedulePolicyInput">snapshotSchedulePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy">ComputeResourcePolicySnapshotSchedulePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeResourcePolicyTimeouts">ComputeResourcePolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeResourcePolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeResourcePolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeResourcePolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeResourcePolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeResourcePolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeResourcePolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeResourcePolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeResourcePolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeResourcePolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeResourcePolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeResourcePolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeResourcePolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeResourcePolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeResourcePolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `groupPlacementPolicy`<sup>Required</sup> <a name="groupPlacementPolicy" id="@dschmidt/provider-google.ComputeResourcePolicy.property.groupPlacementPolicy"></a>

```typescript
public readonly groupPlacementPolicy: ComputeResourcePolicyGroupPlacementPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicyOutputReference">ComputeResourcePolicyGroupPlacementPolicyOutputReference</a>

---

##### `instanceSchedulePolicy`<sup>Required</sup> <a name="instanceSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicy.property.instanceSchedulePolicy"></a>

```typescript
public readonly instanceSchedulePolicy: ComputeResourcePolicyInstanceSchedulePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyOutputReference">ComputeResourcePolicyInstanceSchedulePolicyOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeResourcePolicy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `snapshotSchedulePolicy`<sup>Required</sup> <a name="snapshotSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicy.property.snapshotSchedulePolicy"></a>

```typescript
public readonly snapshotSchedulePolicy: ComputeResourcePolicySnapshotSchedulePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyOutputReference">ComputeResourcePolicySnapshotSchedulePolicyOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeResourcePolicy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeResourcePolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyTimeoutsOutputReference">ComputeResourcePolicyTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeResourcePolicy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `groupPlacementPolicyInput`<sup>Optional</sup> <a name="groupPlacementPolicyInput" id="@dschmidt/provider-google.ComputeResourcePolicy.property.groupPlacementPolicyInput"></a>

```typescript
public readonly groupPlacementPolicyInput: ComputeResourcePolicyGroupPlacementPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy">ComputeResourcePolicyGroupPlacementPolicy</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeResourcePolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceSchedulePolicyInput`<sup>Optional</sup> <a name="instanceSchedulePolicyInput" id="@dschmidt/provider-google.ComputeResourcePolicy.property.instanceSchedulePolicyInput"></a>

```typescript
public readonly instanceSchedulePolicyInput: ComputeResourcePolicyInstanceSchedulePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy">ComputeResourcePolicyInstanceSchedulePolicy</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeResourcePolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeResourcePolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeResourcePolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `snapshotSchedulePolicyInput`<sup>Optional</sup> <a name="snapshotSchedulePolicyInput" id="@dschmidt/provider-google.ComputeResourcePolicy.property.snapshotSchedulePolicyInput"></a>

```typescript
public readonly snapshotSchedulePolicyInput: ComputeResourcePolicySnapshotSchedulePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy">ComputeResourcePolicySnapshotSchedulePolicy</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeResourcePolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeResourcePolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeResourcePolicyTimeouts">ComputeResourcePolicyTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeResourcePolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeResourcePolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeResourcePolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeResourcePolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeResourcePolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeResourcePolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRoute <a name="ComputeRoute" id="@dschmidt/provider-google.ComputeRoute"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_route google_compute_route}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRoute.Initializer"></a>

```typescript
import { ComputeRoute } from '@dschmidt/provider-google'

new ComputeRoute(scope: Construct, id: string, config: ComputeRouteConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouteConfig">ComputeRouteConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRoute.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRoute.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRoute.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouteConfig">ComputeRouteConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetNextHopGateway">resetNextHopGateway</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetNextHopIlb">resetNextHopIlb</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetNextHopInstance">resetNextHopInstance</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetNextHopInstanceZone">resetNextHopInstanceZone</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetNextHopIp">resetNextHopIp</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetNextHopVpnTunnel">resetNextHopVpnTunnel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetPriority">resetPriority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetTags">resetTags</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRoute.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRoute.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRoute.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRoute.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRoute.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRoute.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRoute.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRoute.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRoute.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRoute.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRoute.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRoute.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRoute.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRoute.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRoute.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRoute.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRoute.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRoute.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRoute.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRoute.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRoute.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRouteTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRoute.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouteTimeouts">ComputeRouteTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRoute.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRoute.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNextHopGateway` <a name="resetNextHopGateway" id="@dschmidt/provider-google.ComputeRoute.resetNextHopGateway"></a>

```typescript
public resetNextHopGateway(): void
```

##### `resetNextHopIlb` <a name="resetNextHopIlb" id="@dschmidt/provider-google.ComputeRoute.resetNextHopIlb"></a>

```typescript
public resetNextHopIlb(): void
```

##### `resetNextHopInstance` <a name="resetNextHopInstance" id="@dschmidt/provider-google.ComputeRoute.resetNextHopInstance"></a>

```typescript
public resetNextHopInstance(): void
```

##### `resetNextHopInstanceZone` <a name="resetNextHopInstanceZone" id="@dschmidt/provider-google.ComputeRoute.resetNextHopInstanceZone"></a>

```typescript
public resetNextHopInstanceZone(): void
```

##### `resetNextHopIp` <a name="resetNextHopIp" id="@dschmidt/provider-google.ComputeRoute.resetNextHopIp"></a>

```typescript
public resetNextHopIp(): void
```

##### `resetNextHopVpnTunnel` <a name="resetNextHopVpnTunnel" id="@dschmidt/provider-google.ComputeRoute.resetNextHopVpnTunnel"></a>

```typescript
public resetNextHopVpnTunnel(): void
```

##### `resetPriority` <a name="resetPriority" id="@dschmidt/provider-google.ComputeRoute.resetPriority"></a>

```typescript
public resetPriority(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRoute.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTags` <a name="resetTags" id="@dschmidt/provider-google.ComputeRoute.resetTags"></a>

```typescript
public resetTags(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRoute.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRoute.isConstruct"></a>

```typescript
import { ComputeRoute } from '@dschmidt/provider-google'

ComputeRoute.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRoute.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopNetwork">nextHopNetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouteTimeoutsOutputReference">ComputeRouteTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.destRangeInput">destRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopGatewayInput">nextHopGatewayInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopIlbInput">nextHopIlbInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopInstanceInput">nextHopInstanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopInstanceZoneInput">nextHopInstanceZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopIpInput">nextHopIpInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopVpnTunnelInput">nextHopVpnTunnelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.priorityInput">priorityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.tagsInput">tagsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouteTimeouts">ComputeRouteTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.destRange">destRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopGateway">nextHopGateway</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopIlb">nextHopIlb</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopInstance">nextHopInstance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopInstanceZone">nextHopInstanceZone</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopIp">nextHopIp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.nextHopVpnTunnel">nextHopVpnTunnel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.priority">priority</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRoute.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRoute.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRoute.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRoute.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRoute.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRoute.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRoute.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRoute.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRoute.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRoute.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRoute.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRoute.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRoute.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRoute.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `nextHopNetwork`<sup>Required</sup> <a name="nextHopNetwork" id="@dschmidt/provider-google.ComputeRoute.property.nextHopNetwork"></a>

```typescript
public readonly nextHopNetwork: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRoute.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRoute.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouteTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouteTimeoutsOutputReference">ComputeRouteTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRoute.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `destRangeInput`<sup>Optional</sup> <a name="destRangeInput" id="@dschmidt/provider-google.ComputeRoute.property.destRangeInput"></a>

```typescript
public readonly destRangeInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRoute.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRoute.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeRoute.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `nextHopGatewayInput`<sup>Optional</sup> <a name="nextHopGatewayInput" id="@dschmidt/provider-google.ComputeRoute.property.nextHopGatewayInput"></a>

```typescript
public readonly nextHopGatewayInput: string;
```

- *Type:* string

---

##### `nextHopIlbInput`<sup>Optional</sup> <a name="nextHopIlbInput" id="@dschmidt/provider-google.ComputeRoute.property.nextHopIlbInput"></a>

```typescript
public readonly nextHopIlbInput: string;
```

- *Type:* string

---

##### `nextHopInstanceInput`<sup>Optional</sup> <a name="nextHopInstanceInput" id="@dschmidt/provider-google.ComputeRoute.property.nextHopInstanceInput"></a>

```typescript
public readonly nextHopInstanceInput: string;
```

- *Type:* string

---

##### `nextHopInstanceZoneInput`<sup>Optional</sup> <a name="nextHopInstanceZoneInput" id="@dschmidt/provider-google.ComputeRoute.property.nextHopInstanceZoneInput"></a>

```typescript
public readonly nextHopInstanceZoneInput: string;
```

- *Type:* string

---

##### `nextHopIpInput`<sup>Optional</sup> <a name="nextHopIpInput" id="@dschmidt/provider-google.ComputeRoute.property.nextHopIpInput"></a>

```typescript
public readonly nextHopIpInput: string;
```

- *Type:* string

---

##### `nextHopVpnTunnelInput`<sup>Optional</sup> <a name="nextHopVpnTunnelInput" id="@dschmidt/provider-google.ComputeRoute.property.nextHopVpnTunnelInput"></a>

```typescript
public readonly nextHopVpnTunnelInput: string;
```

- *Type:* string

---

##### `priorityInput`<sup>Optional</sup> <a name="priorityInput" id="@dschmidt/provider-google.ComputeRoute.property.priorityInput"></a>

```typescript
public readonly priorityInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRoute.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `tagsInput`<sup>Optional</sup> <a name="tagsInput" id="@dschmidt/provider-google.ComputeRoute.property.tagsInput"></a>

```typescript
public readonly tagsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRoute.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRouteTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouteTimeouts">ComputeRouteTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRoute.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `destRange`<sup>Required</sup> <a name="destRange" id="@dschmidt/provider-google.ComputeRoute.property.destRange"></a>

```typescript
public readonly destRange: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRoute.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRoute.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeRoute.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `nextHopGateway`<sup>Required</sup> <a name="nextHopGateway" id="@dschmidt/provider-google.ComputeRoute.property.nextHopGateway"></a>

```typescript
public readonly nextHopGateway: string;
```

- *Type:* string

---

##### `nextHopIlb`<sup>Required</sup> <a name="nextHopIlb" id="@dschmidt/provider-google.ComputeRoute.property.nextHopIlb"></a>

```typescript
public readonly nextHopIlb: string;
```

- *Type:* string

---

##### `nextHopInstance`<sup>Required</sup> <a name="nextHopInstance" id="@dschmidt/provider-google.ComputeRoute.property.nextHopInstance"></a>

```typescript
public readonly nextHopInstance: string;
```

- *Type:* string

---

##### `nextHopInstanceZone`<sup>Required</sup> <a name="nextHopInstanceZone" id="@dschmidt/provider-google.ComputeRoute.property.nextHopInstanceZone"></a>

```typescript
public readonly nextHopInstanceZone: string;
```

- *Type:* string

---

##### `nextHopIp`<sup>Required</sup> <a name="nextHopIp" id="@dschmidt/provider-google.ComputeRoute.property.nextHopIp"></a>

```typescript
public readonly nextHopIp: string;
```

- *Type:* string

---

##### `nextHopVpnTunnel`<sup>Required</sup> <a name="nextHopVpnTunnel" id="@dschmidt/provider-google.ComputeRoute.property.nextHopVpnTunnel"></a>

```typescript
public readonly nextHopVpnTunnel: string;
```

- *Type:* string

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.ComputeRoute.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRoute.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `tags`<sup>Required</sup> <a name="tags" id="@dschmidt/provider-google.ComputeRoute.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRoute.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRoute.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRouter <a name="ComputeRouter" id="@dschmidt/provider-google.ComputeRouter"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_router google_compute_router}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRouter.Initializer"></a>

```typescript
import { ComputeRouter } from '@dschmidt/provider-google'

new ComputeRouter(scope: Construct, id: string, config: ComputeRouterConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterConfig">ComputeRouterConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRouter.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouter.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRouter.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterConfig">ComputeRouterConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.putBgp">putBgp</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.resetBgp">resetBgp</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.resetEncryptedInterconnectRouter">resetEncryptedInterconnectRouter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRouter.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRouter.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRouter.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouter.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRouter.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRouter.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRouter.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRouter.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRouter.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRouter.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRouter.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRouter.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRouter.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRouter.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRouter.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRouter.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRouter.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRouter.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRouter.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouter.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBgp` <a name="putBgp" id="@dschmidt/provider-google.ComputeRouter.putBgp"></a>

```typescript
public putBgp(value: ComputeRouterBgp): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouter.putBgp.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterBgp">ComputeRouterBgp</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRouter.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRouterTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouter.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterTimeouts">ComputeRouterTimeouts</a>

---

##### `resetBgp` <a name="resetBgp" id="@dschmidt/provider-google.ComputeRouter.resetBgp"></a>

```typescript
public resetBgp(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeRouter.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEncryptedInterconnectRouter` <a name="resetEncryptedInterconnectRouter" id="@dschmidt/provider-google.ComputeRouter.resetEncryptedInterconnectRouter"></a>

```typescript
public resetEncryptedInterconnectRouter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRouter.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRouter.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRouter.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRouter.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRouter.isConstruct"></a>

```typescript
import { ComputeRouter } from '@dschmidt/provider-google'

ComputeRouter.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRouter.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.bgp">bgp</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterBgpOutputReference">ComputeRouterBgpOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterTimeoutsOutputReference">ComputeRouterTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.bgpInput">bgpInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterBgp">ComputeRouterBgp</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.encryptedInterconnectRouterInput">encryptedInterconnectRouterInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouterTimeouts">ComputeRouterTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.encryptedInterconnectRouter">encryptedInterconnectRouter</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRouter.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRouter.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRouter.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRouter.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRouter.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRouter.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRouter.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRouter.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRouter.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRouter.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRouter.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRouter.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRouter.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRouter.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bgp`<sup>Required</sup> <a name="bgp" id="@dschmidt/provider-google.ComputeRouter.property.bgp"></a>

```typescript
public readonly bgp: ComputeRouterBgpOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterBgpOutputReference">ComputeRouterBgpOutputReference</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeRouter.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeRouter.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRouter.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouterTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterTimeoutsOutputReference">ComputeRouterTimeoutsOutputReference</a>

---

##### `bgpInput`<sup>Optional</sup> <a name="bgpInput" id="@dschmidt/provider-google.ComputeRouter.property.bgpInput"></a>

```typescript
public readonly bgpInput: ComputeRouterBgp;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterBgp">ComputeRouterBgp</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeRouter.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `encryptedInterconnectRouterInput`<sup>Optional</sup> <a name="encryptedInterconnectRouterInput" id="@dschmidt/provider-google.ComputeRouter.property.encryptedInterconnectRouterInput"></a>

```typescript
public readonly encryptedInterconnectRouterInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRouter.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRouter.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeRouter.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRouter.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRouter.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRouter.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRouterTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterTimeouts">ComputeRouterTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeRouter.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `encryptedInterconnectRouter`<sup>Required</sup> <a name="encryptedInterconnectRouter" id="@dschmidt/provider-google.ComputeRouter.property.encryptedInterconnectRouter"></a>

```typescript
public readonly encryptedInterconnectRouter: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouter.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouter.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeRouter.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRouter.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRouter.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouter.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRouter.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRouterInterface <a name="ComputeRouterInterface" id="@dschmidt/provider-google.ComputeRouterInterface"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface google_compute_router_interface}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRouterInterface.Initializer"></a>

```typescript
import { ComputeRouterInterface } from '@dschmidt/provider-google'

new ComputeRouterInterface(scope: Construct, id: string, config: ComputeRouterInterfaceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig">ComputeRouterInterfaceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRouterInterface.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterInterface.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRouterInterface.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig">ComputeRouterInterfaceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.resetInterconnectAttachment">resetInterconnectAttachment</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.resetIpRange">resetIpRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.resetVpnTunnel">resetVpnTunnel</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRouterInterface.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRouterInterface.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRouterInterface.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterInterface.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRouterInterface.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRouterInterface.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRouterInterface.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRouterInterface.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRouterInterface.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterInterface.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRouterInterface.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRouterInterfaceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterInterface.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterInterfaceTimeouts">ComputeRouterInterfaceTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRouterInterface.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInterconnectAttachment` <a name="resetInterconnectAttachment" id="@dschmidt/provider-google.ComputeRouterInterface.resetInterconnectAttachment"></a>

```typescript
public resetInterconnectAttachment(): void
```

##### `resetIpRange` <a name="resetIpRange" id="@dschmidt/provider-google.ComputeRouterInterface.resetIpRange"></a>

```typescript
public resetIpRange(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRouterInterface.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRouterInterface.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRouterInterface.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVpnTunnel` <a name="resetVpnTunnel" id="@dschmidt/provider-google.ComputeRouterInterface.resetVpnTunnel"></a>

```typescript
public resetVpnTunnel(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRouterInterface.isConstruct"></a>

```typescript
import { ComputeRouterInterface } from '@dschmidt/provider-google'

ComputeRouterInterface.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRouterInterface.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceTimeoutsOutputReference">ComputeRouterInterfaceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.interconnectAttachmentInput">interconnectAttachmentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.ipRangeInput">ipRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.routerInput">routerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouterInterfaceTimeouts">ComputeRouterInterfaceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.vpnTunnelInput">vpnTunnelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.interconnectAttachment">interconnectAttachment</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.ipRange">ipRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.router">router</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.vpnTunnel">vpnTunnel</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRouterInterface.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRouterInterface.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRouterInterface.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRouterInterface.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRouterInterface.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRouterInterface.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRouterInterface.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRouterInterface.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRouterInterface.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRouterInterface.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRouterInterface.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRouterInterface.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRouterInterface.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRouterInterface.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRouterInterface.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouterInterfaceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterInterfaceTimeoutsOutputReference">ComputeRouterInterfaceTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRouterInterface.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `interconnectAttachmentInput`<sup>Optional</sup> <a name="interconnectAttachmentInput" id="@dschmidt/provider-google.ComputeRouterInterface.property.interconnectAttachmentInput"></a>

```typescript
public readonly interconnectAttachmentInput: string;
```

- *Type:* string

---

##### `ipRangeInput`<sup>Optional</sup> <a name="ipRangeInput" id="@dschmidt/provider-google.ComputeRouterInterface.property.ipRangeInput"></a>

```typescript
public readonly ipRangeInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRouterInterface.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRouterInterface.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRouterInterface.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `routerInput`<sup>Optional</sup> <a name="routerInput" id="@dschmidt/provider-google.ComputeRouterInterface.property.routerInput"></a>

```typescript
public readonly routerInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRouterInterface.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRouterInterfaceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterInterfaceTimeouts">ComputeRouterInterfaceTimeouts</a>

---

##### `vpnTunnelInput`<sup>Optional</sup> <a name="vpnTunnelInput" id="@dschmidt/provider-google.ComputeRouterInterface.property.vpnTunnelInput"></a>

```typescript
public readonly vpnTunnelInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterInterface.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `interconnectAttachment`<sup>Required</sup> <a name="interconnectAttachment" id="@dschmidt/provider-google.ComputeRouterInterface.property.interconnectAttachment"></a>

```typescript
public readonly interconnectAttachment: string;
```

- *Type:* string

---

##### `ipRange`<sup>Required</sup> <a name="ipRange" id="@dschmidt/provider-google.ComputeRouterInterface.property.ipRange"></a>

```typescript
public readonly ipRange: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouterInterface.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRouterInterface.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRouterInterface.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `router`<sup>Required</sup> <a name="router" id="@dschmidt/provider-google.ComputeRouterInterface.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

---

##### `vpnTunnel`<sup>Required</sup> <a name="vpnTunnel" id="@dschmidt/provider-google.ComputeRouterInterface.property.vpnTunnel"></a>

```typescript
public readonly vpnTunnel: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterface.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRouterInterface.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRouterNat <a name="ComputeRouterNat" id="@dschmidt/provider-google.ComputeRouterNat"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat google_compute_router_nat}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRouterNat.Initializer"></a>

```typescript
import { ComputeRouterNat } from '@dschmidt/provider-google'

new ComputeRouterNat(scope: Construct, id: string, config: ComputeRouterNatConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig">ComputeRouterNatConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRouterNat.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterNat.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRouterNat.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterNatConfig">ComputeRouterNatConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.putLogConfig">putLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.putSubnetwork">putSubnetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetDrainNatIps">resetDrainNatIps</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetEnableDynamicPortAllocation">resetEnableDynamicPortAllocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetEnableEndpointIndependentMapping">resetEnableEndpointIndependentMapping</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetIcmpIdleTimeoutSec">resetIcmpIdleTimeoutSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetLogConfig">resetLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetMaxPortsPerVm">resetMaxPortsPerVm</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetMinPortsPerVm">resetMinPortsPerVm</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetNatIps">resetNatIps</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetSubnetwork">resetSubnetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetTcpEstablishedIdleTimeoutSec">resetTcpEstablishedIdleTimeoutSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetTcpTransitoryIdleTimeoutSec">resetTcpTransitoryIdleTimeoutSec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.resetUdpIdleTimeoutSec">resetUdpIdleTimeoutSec</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRouterNat.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRouterNat.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRouterNat.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterNat.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRouterNat.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRouterNat.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRouterNat.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRouterNat.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRouterNat.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRouterNat.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterNat.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putLogConfig` <a name="putLogConfig" id="@dschmidt/provider-google.ComputeRouterNat.putLogConfig"></a>

```typescript
public putLogConfig(value: ComputeRouterNatLogConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterNat.putLogConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterNatLogConfig">ComputeRouterNatLogConfig</a>

---

##### `putSubnetwork` <a name="putSubnetwork" id="@dschmidt/provider-google.ComputeRouterNat.putSubnetwork"></a>

```typescript
public putSubnetwork(value: IResolvable | ComputeRouterNatSubnetwork[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterNat.putSubnetwork.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterNatSubnetwork">ComputeRouterNatSubnetwork</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRouterNat.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRouterNatTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterNat.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterNatTimeouts">ComputeRouterNatTimeouts</a>

---

##### `resetDrainNatIps` <a name="resetDrainNatIps" id="@dschmidt/provider-google.ComputeRouterNat.resetDrainNatIps"></a>

```typescript
public resetDrainNatIps(): void
```

##### `resetEnableDynamicPortAllocation` <a name="resetEnableDynamicPortAllocation" id="@dschmidt/provider-google.ComputeRouterNat.resetEnableDynamicPortAllocation"></a>

```typescript
public resetEnableDynamicPortAllocation(): void
```

##### `resetEnableEndpointIndependentMapping` <a name="resetEnableEndpointIndependentMapping" id="@dschmidt/provider-google.ComputeRouterNat.resetEnableEndpointIndependentMapping"></a>

```typescript
public resetEnableEndpointIndependentMapping(): void
```

##### `resetIcmpIdleTimeoutSec` <a name="resetIcmpIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNat.resetIcmpIdleTimeoutSec"></a>

```typescript
public resetIcmpIdleTimeoutSec(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRouterNat.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLogConfig` <a name="resetLogConfig" id="@dschmidt/provider-google.ComputeRouterNat.resetLogConfig"></a>

```typescript
public resetLogConfig(): void
```

##### `resetMaxPortsPerVm` <a name="resetMaxPortsPerVm" id="@dschmidt/provider-google.ComputeRouterNat.resetMaxPortsPerVm"></a>

```typescript
public resetMaxPortsPerVm(): void
```

##### `resetMinPortsPerVm` <a name="resetMinPortsPerVm" id="@dschmidt/provider-google.ComputeRouterNat.resetMinPortsPerVm"></a>

```typescript
public resetMinPortsPerVm(): void
```

##### `resetNatIps` <a name="resetNatIps" id="@dschmidt/provider-google.ComputeRouterNat.resetNatIps"></a>

```typescript
public resetNatIps(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRouterNat.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRouterNat.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSubnetwork` <a name="resetSubnetwork" id="@dschmidt/provider-google.ComputeRouterNat.resetSubnetwork"></a>

```typescript
public resetSubnetwork(): void
```

##### `resetTcpEstablishedIdleTimeoutSec` <a name="resetTcpEstablishedIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNat.resetTcpEstablishedIdleTimeoutSec"></a>

```typescript
public resetTcpEstablishedIdleTimeoutSec(): void
```

##### `resetTcpTransitoryIdleTimeoutSec` <a name="resetTcpTransitoryIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNat.resetTcpTransitoryIdleTimeoutSec"></a>

```typescript
public resetTcpTransitoryIdleTimeoutSec(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRouterNat.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUdpIdleTimeoutSec` <a name="resetUdpIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNat.resetUdpIdleTimeoutSec"></a>

```typescript
public resetUdpIdleTimeoutSec(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRouterNat.isConstruct"></a>

```typescript
import { ComputeRouterNat } from '@dschmidt/provider-google'

ComputeRouterNat.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRouterNat.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterNatLogConfigOutputReference">ComputeRouterNatLogConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.subnetwork">subnetwork</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterNatSubnetworkList">ComputeRouterNatSubnetworkList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterNatTimeoutsOutputReference">ComputeRouterNatTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.drainNatIpsInput">drainNatIpsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.enableDynamicPortAllocationInput">enableDynamicPortAllocationInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.enableEndpointIndependentMappingInput">enableEndpointIndependentMappingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.icmpIdleTimeoutSecInput">icmpIdleTimeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.logConfigInput">logConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterNatLogConfig">ComputeRouterNatLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.maxPortsPerVmInput">maxPortsPerVmInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.minPortsPerVmInput">minPortsPerVmInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.natIpAllocateOptionInput">natIpAllocateOptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.natIpsInput">natIpsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.routerInput">routerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.sourceSubnetworkIpRangesToNatInput">sourceSubnetworkIpRangesToNatInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.subnetworkInput">subnetworkInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouterNatSubnetwork">ComputeRouterNatSubnetwork</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.tcpEstablishedIdleTimeoutSecInput">tcpEstablishedIdleTimeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.tcpTransitoryIdleTimeoutSecInput">tcpTransitoryIdleTimeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouterNatTimeouts">ComputeRouterNatTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.udpIdleTimeoutSecInput">udpIdleTimeoutSecInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.drainNatIps">drainNatIps</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.enableDynamicPortAllocation">enableDynamicPortAllocation</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.enableEndpointIndependentMapping">enableEndpointIndependentMapping</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.icmpIdleTimeoutSec">icmpIdleTimeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.maxPortsPerVm">maxPortsPerVm</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.minPortsPerVm">minPortsPerVm</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.natIpAllocateOption">natIpAllocateOption</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.natIps">natIps</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.router">router</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.sourceSubnetworkIpRangesToNat">sourceSubnetworkIpRangesToNat</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.tcpEstablishedIdleTimeoutSec">tcpEstablishedIdleTimeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.tcpTransitoryIdleTimeoutSec">tcpTransitoryIdleTimeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.udpIdleTimeoutSec">udpIdleTimeoutSec</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRouterNat.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRouterNat.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRouterNat.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRouterNat.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRouterNat.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRouterNat.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRouterNat.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRouterNat.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRouterNat.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRouterNat.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRouterNat.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRouterNat.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRouterNat.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRouterNat.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeRouterNat.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeRouterNatLogConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterNatLogConfigOutputReference">ComputeRouterNatLogConfigOutputReference</a>

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeRouterNat.property.subnetwork"></a>

```typescript
public readonly subnetwork: ComputeRouterNatSubnetworkList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterNatSubnetworkList">ComputeRouterNatSubnetworkList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRouterNat.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouterNatTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterNatTimeoutsOutputReference">ComputeRouterNatTimeoutsOutputReference</a>

---

##### `drainNatIpsInput`<sup>Optional</sup> <a name="drainNatIpsInput" id="@dschmidt/provider-google.ComputeRouterNat.property.drainNatIpsInput"></a>

```typescript
public readonly drainNatIpsInput: string[];
```

- *Type:* string[]

---

##### `enableDynamicPortAllocationInput`<sup>Optional</sup> <a name="enableDynamicPortAllocationInput" id="@dschmidt/provider-google.ComputeRouterNat.property.enableDynamicPortAllocationInput"></a>

```typescript
public readonly enableDynamicPortAllocationInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableEndpointIndependentMappingInput`<sup>Optional</sup> <a name="enableEndpointIndependentMappingInput" id="@dschmidt/provider-google.ComputeRouterNat.property.enableEndpointIndependentMappingInput"></a>

```typescript
public readonly enableEndpointIndependentMappingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `icmpIdleTimeoutSecInput`<sup>Optional</sup> <a name="icmpIdleTimeoutSecInput" id="@dschmidt/provider-google.ComputeRouterNat.property.icmpIdleTimeoutSecInput"></a>

```typescript
public readonly icmpIdleTimeoutSecInput: number;
```

- *Type:* number

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRouterNat.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `logConfigInput`<sup>Optional</sup> <a name="logConfigInput" id="@dschmidt/provider-google.ComputeRouterNat.property.logConfigInput"></a>

```typescript
public readonly logConfigInput: ComputeRouterNatLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterNatLogConfig">ComputeRouterNatLogConfig</a>

---

##### `maxPortsPerVmInput`<sup>Optional</sup> <a name="maxPortsPerVmInput" id="@dschmidt/provider-google.ComputeRouterNat.property.maxPortsPerVmInput"></a>

```typescript
public readonly maxPortsPerVmInput: number;
```

- *Type:* number

---

##### `minPortsPerVmInput`<sup>Optional</sup> <a name="minPortsPerVmInput" id="@dschmidt/provider-google.ComputeRouterNat.property.minPortsPerVmInput"></a>

```typescript
public readonly minPortsPerVmInput: number;
```

- *Type:* number

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRouterNat.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `natIpAllocateOptionInput`<sup>Optional</sup> <a name="natIpAllocateOptionInput" id="@dschmidt/provider-google.ComputeRouterNat.property.natIpAllocateOptionInput"></a>

```typescript
public readonly natIpAllocateOptionInput: string;
```

- *Type:* string

---

##### `natIpsInput`<sup>Optional</sup> <a name="natIpsInput" id="@dschmidt/provider-google.ComputeRouterNat.property.natIpsInput"></a>

```typescript
public readonly natIpsInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRouterNat.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRouterNat.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `routerInput`<sup>Optional</sup> <a name="routerInput" id="@dschmidt/provider-google.ComputeRouterNat.property.routerInput"></a>

```typescript
public readonly routerInput: string;
```

- *Type:* string

---

##### `sourceSubnetworkIpRangesToNatInput`<sup>Optional</sup> <a name="sourceSubnetworkIpRangesToNatInput" id="@dschmidt/provider-google.ComputeRouterNat.property.sourceSubnetworkIpRangesToNatInput"></a>

```typescript
public readonly sourceSubnetworkIpRangesToNatInput: string;
```

- *Type:* string

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.ComputeRouterNat.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: IResolvable | ComputeRouterNatSubnetwork[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterNatSubnetwork">ComputeRouterNatSubnetwork</a>[]

---

##### `tcpEstablishedIdleTimeoutSecInput`<sup>Optional</sup> <a name="tcpEstablishedIdleTimeoutSecInput" id="@dschmidt/provider-google.ComputeRouterNat.property.tcpEstablishedIdleTimeoutSecInput"></a>

```typescript
public readonly tcpEstablishedIdleTimeoutSecInput: number;
```

- *Type:* number

---

##### `tcpTransitoryIdleTimeoutSecInput`<sup>Optional</sup> <a name="tcpTransitoryIdleTimeoutSecInput" id="@dschmidt/provider-google.ComputeRouterNat.property.tcpTransitoryIdleTimeoutSecInput"></a>

```typescript
public readonly tcpTransitoryIdleTimeoutSecInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRouterNat.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRouterNatTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterNatTimeouts">ComputeRouterNatTimeouts</a>

---

##### `udpIdleTimeoutSecInput`<sup>Optional</sup> <a name="udpIdleTimeoutSecInput" id="@dschmidt/provider-google.ComputeRouterNat.property.udpIdleTimeoutSecInput"></a>

```typescript
public readonly udpIdleTimeoutSecInput: number;
```

- *Type:* number

---

##### `drainNatIps`<sup>Required</sup> <a name="drainNatIps" id="@dschmidt/provider-google.ComputeRouterNat.property.drainNatIps"></a>

```typescript
public readonly drainNatIps: string[];
```

- *Type:* string[]

---

##### `enableDynamicPortAllocation`<sup>Required</sup> <a name="enableDynamicPortAllocation" id="@dschmidt/provider-google.ComputeRouterNat.property.enableDynamicPortAllocation"></a>

```typescript
public readonly enableDynamicPortAllocation: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableEndpointIndependentMapping`<sup>Required</sup> <a name="enableEndpointIndependentMapping" id="@dschmidt/provider-google.ComputeRouterNat.property.enableEndpointIndependentMapping"></a>

```typescript
public readonly enableEndpointIndependentMapping: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `icmpIdleTimeoutSec`<sup>Required</sup> <a name="icmpIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNat.property.icmpIdleTimeoutSec"></a>

```typescript
public readonly icmpIdleTimeoutSec: number;
```

- *Type:* number

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterNat.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `maxPortsPerVm`<sup>Required</sup> <a name="maxPortsPerVm" id="@dschmidt/provider-google.ComputeRouterNat.property.maxPortsPerVm"></a>

```typescript
public readonly maxPortsPerVm: number;
```

- *Type:* number

---

##### `minPortsPerVm`<sup>Required</sup> <a name="minPortsPerVm" id="@dschmidt/provider-google.ComputeRouterNat.property.minPortsPerVm"></a>

```typescript
public readonly minPortsPerVm: number;
```

- *Type:* number

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouterNat.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `natIpAllocateOption`<sup>Required</sup> <a name="natIpAllocateOption" id="@dschmidt/provider-google.ComputeRouterNat.property.natIpAllocateOption"></a>

```typescript
public readonly natIpAllocateOption: string;
```

- *Type:* string

---

##### `natIps`<sup>Required</sup> <a name="natIps" id="@dschmidt/provider-google.ComputeRouterNat.property.natIps"></a>

```typescript
public readonly natIps: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRouterNat.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRouterNat.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `router`<sup>Required</sup> <a name="router" id="@dschmidt/provider-google.ComputeRouterNat.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

---

##### `sourceSubnetworkIpRangesToNat`<sup>Required</sup> <a name="sourceSubnetworkIpRangesToNat" id="@dschmidt/provider-google.ComputeRouterNat.property.sourceSubnetworkIpRangesToNat"></a>

```typescript
public readonly sourceSubnetworkIpRangesToNat: string;
```

- *Type:* string

---

##### `tcpEstablishedIdleTimeoutSec`<sup>Required</sup> <a name="tcpEstablishedIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNat.property.tcpEstablishedIdleTimeoutSec"></a>

```typescript
public readonly tcpEstablishedIdleTimeoutSec: number;
```

- *Type:* number

---

##### `tcpTransitoryIdleTimeoutSec`<sup>Required</sup> <a name="tcpTransitoryIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNat.property.tcpTransitoryIdleTimeoutSec"></a>

```typescript
public readonly tcpTransitoryIdleTimeoutSec: number;
```

- *Type:* number

---

##### `udpIdleTimeoutSec`<sup>Required</sup> <a name="udpIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNat.property.udpIdleTimeoutSec"></a>

```typescript
public readonly udpIdleTimeoutSec: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNat.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRouterNat.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeRouterPeer <a name="ComputeRouterPeer" id="@dschmidt/provider-google.ComputeRouterPeer"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer google_compute_router_peer}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeRouterPeer.Initializer"></a>

```typescript
import { ComputeRouterPeer } from '@dschmidt/provider-google'

new ComputeRouterPeer(scope: Construct, id: string, config: ComputeRouterPeerConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig">ComputeRouterPeerConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeRouterPeer.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterPeer.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeRouterPeer.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterPeerConfig">ComputeRouterPeerConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.putAdvertisedIpRanges">putAdvertisedIpRanges</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.putBfd">putBfd</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetAdvertisedGroups">resetAdvertisedGroups</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetAdvertisedIpRanges">resetAdvertisedIpRanges</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetAdvertisedRoutePriority">resetAdvertisedRoutePriority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetAdvertiseMode">resetAdvertiseMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetBfd">resetBfd</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetEnable">resetEnable</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetIpAddress">resetIpAddress</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeRouterPeer.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeRouterPeer.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRouterPeer.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterPeer.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeRouterPeer.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeRouterPeer.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeRouterPeer.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeRouterPeer.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeRouterPeer.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeRouterPeer.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAdvertisedIpRanges` <a name="putAdvertisedIpRanges" id="@dschmidt/provider-google.ComputeRouterPeer.putAdvertisedIpRanges"></a>

```typescript
public putAdvertisedIpRanges(value: IResolvable | ComputeRouterPeerAdvertisedIpRanges[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterPeer.putAdvertisedIpRanges.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges">ComputeRouterPeerAdvertisedIpRanges</a>[]

---

##### `putBfd` <a name="putBfd" id="@dschmidt/provider-google.ComputeRouterPeer.putBfd"></a>

```typescript
public putBfd(value: ComputeRouterPeerBfd): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterPeer.putBfd.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterPeerBfd">ComputeRouterPeerBfd</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeRouterPeer.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeRouterPeerTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRouterPeer.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterPeerTimeouts">ComputeRouterPeerTimeouts</a>

---

##### `resetAdvertisedGroups` <a name="resetAdvertisedGroups" id="@dschmidt/provider-google.ComputeRouterPeer.resetAdvertisedGroups"></a>

```typescript
public resetAdvertisedGroups(): void
```

##### `resetAdvertisedIpRanges` <a name="resetAdvertisedIpRanges" id="@dschmidt/provider-google.ComputeRouterPeer.resetAdvertisedIpRanges"></a>

```typescript
public resetAdvertisedIpRanges(): void
```

##### `resetAdvertisedRoutePriority` <a name="resetAdvertisedRoutePriority" id="@dschmidt/provider-google.ComputeRouterPeer.resetAdvertisedRoutePriority"></a>

```typescript
public resetAdvertisedRoutePriority(): void
```

##### `resetAdvertiseMode` <a name="resetAdvertiseMode" id="@dschmidt/provider-google.ComputeRouterPeer.resetAdvertiseMode"></a>

```typescript
public resetAdvertiseMode(): void
```

##### `resetBfd` <a name="resetBfd" id="@dschmidt/provider-google.ComputeRouterPeer.resetBfd"></a>

```typescript
public resetBfd(): void
```

##### `resetEnable` <a name="resetEnable" id="@dschmidt/provider-google.ComputeRouterPeer.resetEnable"></a>

```typescript
public resetEnable(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeRouterPeer.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpAddress` <a name="resetIpAddress" id="@dschmidt/provider-google.ComputeRouterPeer.resetIpAddress"></a>

```typescript
public resetIpAddress(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeRouterPeer.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeRouterPeer.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeRouterPeer.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeRouterPeer.isConstruct"></a>

```typescript
import { ComputeRouterPeer } from '@dschmidt/provider-google'

ComputeRouterPeer.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeRouterPeer.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.advertisedIpRanges">advertisedIpRanges</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRangesList">ComputeRouterPeerAdvertisedIpRangesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.bfd">bfd</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterPeerBfdOutputReference">ComputeRouterPeerBfdOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.managementType">managementType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterPeerTimeoutsOutputReference">ComputeRouterPeerTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.advertisedGroupsInput">advertisedGroupsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.advertisedIpRangesInput">advertisedIpRangesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges">ComputeRouterPeerAdvertisedIpRanges</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.advertisedRoutePriorityInput">advertisedRoutePriorityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.advertiseModeInput">advertiseModeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.bfdInput">bfdInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterPeerBfd">ComputeRouterPeerBfd</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.enableInput">enableInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.interfaceInput">interfaceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.ipAddressInput">ipAddressInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.peerAsnInput">peerAsnInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.peerIpAddressInput">peerIpAddressInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.routerInput">routerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouterPeerTimeouts">ComputeRouterPeerTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.advertisedGroups">advertisedGroups</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.advertisedRoutePriority">advertisedRoutePriority</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.advertiseMode">advertiseMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.enable">enable</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.interface">interface</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.ipAddress">ipAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.peerAsn">peerAsn</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.peerIpAddress">peerIpAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.router">router</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeRouterPeer.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeRouterPeer.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeRouterPeer.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeRouterPeer.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeRouterPeer.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeRouterPeer.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeRouterPeer.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRouterPeer.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRouterPeer.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRouterPeer.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRouterPeer.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRouterPeer.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRouterPeer.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRouterPeer.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `advertisedIpRanges`<sup>Required</sup> <a name="advertisedIpRanges" id="@dschmidt/provider-google.ComputeRouterPeer.property.advertisedIpRanges"></a>

```typescript
public readonly advertisedIpRanges: ComputeRouterPeerAdvertisedIpRangesList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRangesList">ComputeRouterPeerAdvertisedIpRangesList</a>

---

##### `bfd`<sup>Required</sup> <a name="bfd" id="@dschmidt/provider-google.ComputeRouterPeer.property.bfd"></a>

```typescript
public readonly bfd: ComputeRouterPeerBfdOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterPeerBfdOutputReference">ComputeRouterPeerBfdOutputReference</a>

---

##### `managementType`<sup>Required</sup> <a name="managementType" id="@dschmidt/provider-google.ComputeRouterPeer.property.managementType"></a>

```typescript
public readonly managementType: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRouterPeer.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouterPeerTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterPeerTimeoutsOutputReference">ComputeRouterPeerTimeoutsOutputReference</a>

---

##### `advertisedGroupsInput`<sup>Optional</sup> <a name="advertisedGroupsInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.advertisedGroupsInput"></a>

```typescript
public readonly advertisedGroupsInput: string[];
```

- *Type:* string[]

---

##### `advertisedIpRangesInput`<sup>Optional</sup> <a name="advertisedIpRangesInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.advertisedIpRangesInput"></a>

```typescript
public readonly advertisedIpRangesInput: IResolvable | ComputeRouterPeerAdvertisedIpRanges[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges">ComputeRouterPeerAdvertisedIpRanges</a>[]

---

##### `advertisedRoutePriorityInput`<sup>Optional</sup> <a name="advertisedRoutePriorityInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.advertisedRoutePriorityInput"></a>

```typescript
public readonly advertisedRoutePriorityInput: number;
```

- *Type:* number

---

##### `advertiseModeInput`<sup>Optional</sup> <a name="advertiseModeInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.advertiseModeInput"></a>

```typescript
public readonly advertiseModeInput: string;
```

- *Type:* string

---

##### `bfdInput`<sup>Optional</sup> <a name="bfdInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.bfdInput"></a>

```typescript
public readonly bfdInput: ComputeRouterPeerBfd;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterPeerBfd">ComputeRouterPeerBfd</a>

---

##### `enableInput`<sup>Optional</sup> <a name="enableInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.enableInput"></a>

```typescript
public readonly enableInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `interfaceInput`<sup>Optional</sup> <a name="interfaceInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.interfaceInput"></a>

```typescript
public readonly interfaceInput: string;
```

- *Type:* string

---

##### `ipAddressInput`<sup>Optional</sup> <a name="ipAddressInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.ipAddressInput"></a>

```typescript
public readonly ipAddressInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `peerAsnInput`<sup>Optional</sup> <a name="peerAsnInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.peerAsnInput"></a>

```typescript
public readonly peerAsnInput: number;
```

- *Type:* number

---

##### `peerIpAddressInput`<sup>Optional</sup> <a name="peerIpAddressInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.peerIpAddressInput"></a>

```typescript
public readonly peerIpAddressInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `routerInput`<sup>Optional</sup> <a name="routerInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.routerInput"></a>

```typescript
public readonly routerInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeRouterPeer.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeRouterPeerTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterPeerTimeouts">ComputeRouterPeerTimeouts</a>

---

##### `advertisedGroups`<sup>Required</sup> <a name="advertisedGroups" id="@dschmidt/provider-google.ComputeRouterPeer.property.advertisedGroups"></a>

```typescript
public readonly advertisedGroups: string[];
```

- *Type:* string[]

---

##### `advertisedRoutePriority`<sup>Required</sup> <a name="advertisedRoutePriority" id="@dschmidt/provider-google.ComputeRouterPeer.property.advertisedRoutePriority"></a>

```typescript
public readonly advertisedRoutePriority: number;
```

- *Type:* number

---

##### `advertiseMode`<sup>Required</sup> <a name="advertiseMode" id="@dschmidt/provider-google.ComputeRouterPeer.property.advertiseMode"></a>

```typescript
public readonly advertiseMode: string;
```

- *Type:* string

---

##### `enable`<sup>Required</sup> <a name="enable" id="@dschmidt/provider-google.ComputeRouterPeer.property.enable"></a>

```typescript
public readonly enable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterPeer.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `interface`<sup>Required</sup> <a name="interface" id="@dschmidt/provider-google.ComputeRouterPeer.property.interface"></a>

```typescript
public readonly interface: string;
```

- *Type:* string

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeRouterPeer.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouterPeer.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `peerAsn`<sup>Required</sup> <a name="peerAsn" id="@dschmidt/provider-google.ComputeRouterPeer.property.peerAsn"></a>

```typescript
public readonly peerAsn: number;
```

- *Type:* number

---

##### `peerIpAddress`<sup>Required</sup> <a name="peerIpAddress" id="@dschmidt/provider-google.ComputeRouterPeer.property.peerIpAddress"></a>

```typescript
public readonly peerIpAddress: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeRouterPeer.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRouterPeer.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `router`<sup>Required</sup> <a name="router" id="@dschmidt/provider-google.ComputeRouterPeer.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeer.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeRouterPeer.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSecurityPolicy <a name="ComputeSecurityPolicy" id="@dschmidt/provider-google.ComputeSecurityPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy google_compute_security_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSecurityPolicy.Initializer"></a>

```typescript
import { ComputeSecurityPolicy } from '@dschmidt/provider-google'

new ComputeSecurityPolicy(scope: Construct, id: string, config: ComputeSecurityPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig">ComputeSecurityPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSecurityPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSecurityPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSecurityPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig">ComputeSecurityPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.putAdaptiveProtectionConfig">putAdaptiveProtectionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.putAdvancedOptionsConfig">putAdvancedOptionsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.putRule">putRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.resetAdaptiveProtectionConfig">resetAdaptiveProtectionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.resetAdvancedOptionsConfig">resetAdvancedOptionsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.resetRule">resetRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.resetType">resetType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSecurityPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSecurityPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSecurityPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSecurityPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSecurityPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSecurityPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSecurityPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSecurityPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSecurityPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSecurityPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAdaptiveProtectionConfig` <a name="putAdaptiveProtectionConfig" id="@dschmidt/provider-google.ComputeSecurityPolicy.putAdaptiveProtectionConfig"></a>

```typescript
public putAdaptiveProtectionConfig(value: ComputeSecurityPolicyAdaptiveProtectionConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSecurityPolicy.putAdaptiveProtectionConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfig">ComputeSecurityPolicyAdaptiveProtectionConfig</a>

---

##### `putAdvancedOptionsConfig` <a name="putAdvancedOptionsConfig" id="@dschmidt/provider-google.ComputeSecurityPolicy.putAdvancedOptionsConfig"></a>

```typescript
public putAdvancedOptionsConfig(value: ComputeSecurityPolicyAdvancedOptionsConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSecurityPolicy.putAdvancedOptionsConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig">ComputeSecurityPolicyAdvancedOptionsConfig</a>

---

##### `putRule` <a name="putRule" id="@dschmidt/provider-google.ComputeSecurityPolicy.putRule"></a>

```typescript
public putRule(value: IResolvable | ComputeSecurityPolicyRule[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSecurityPolicy.putRule.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule">ComputeSecurityPolicyRule</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeSecurityPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeSecurityPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSecurityPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeouts">ComputeSecurityPolicyTimeouts</a>

---

##### `resetAdaptiveProtectionConfig` <a name="resetAdaptiveProtectionConfig" id="@dschmidt/provider-google.ComputeSecurityPolicy.resetAdaptiveProtectionConfig"></a>

```typescript
public resetAdaptiveProtectionConfig(): void
```

##### `resetAdvancedOptionsConfig` <a name="resetAdvancedOptionsConfig" id="@dschmidt/provider-google.ComputeSecurityPolicy.resetAdvancedOptionsConfig"></a>

```typescript
public resetAdvancedOptionsConfig(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeSecurityPolicy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSecurityPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSecurityPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRule` <a name="resetRule" id="@dschmidt/provider-google.ComputeSecurityPolicy.resetRule"></a>

```typescript
public resetRule(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeSecurityPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.ComputeSecurityPolicy.resetType"></a>

```typescript
public resetType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSecurityPolicy.isConstruct"></a>

```typescript
import { ComputeSecurityPolicy } from '@dschmidt/provider-google'

ComputeSecurityPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSecurityPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.adaptiveProtectionConfig">adaptiveProtectionConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigOutputReference">ComputeSecurityPolicyAdaptiveProtectionConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.advancedOptionsConfig">advancedOptionsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfigOutputReference">ComputeSecurityPolicyAdvancedOptionsConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.rule">rule</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleList">ComputeSecurityPolicyRuleList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeoutsOutputReference">ComputeSecurityPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.adaptiveProtectionConfigInput">adaptiveProtectionConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfig">ComputeSecurityPolicyAdaptiveProtectionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.advancedOptionsConfigInput">advancedOptionsConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig">ComputeSecurityPolicyAdvancedOptionsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.ruleInput">ruleInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule">ComputeSecurityPolicyRule</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeouts">ComputeSecurityPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `adaptiveProtectionConfig`<sup>Required</sup> <a name="adaptiveProtectionConfig" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.adaptiveProtectionConfig"></a>

```typescript
public readonly adaptiveProtectionConfig: ComputeSecurityPolicyAdaptiveProtectionConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigOutputReference">ComputeSecurityPolicyAdaptiveProtectionConfigOutputReference</a>

---

##### `advancedOptionsConfig`<sup>Required</sup> <a name="advancedOptionsConfig" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.advancedOptionsConfig"></a>

```typescript
public readonly advancedOptionsConfig: ComputeSecurityPolicyAdvancedOptionsConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfigOutputReference">ComputeSecurityPolicyAdvancedOptionsConfigOutputReference</a>

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `rule`<sup>Required</sup> <a name="rule" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.rule"></a>

```typescript
public readonly rule: ComputeSecurityPolicyRuleList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleList">ComputeSecurityPolicyRuleList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSecurityPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeoutsOutputReference">ComputeSecurityPolicyTimeoutsOutputReference</a>

---

##### `adaptiveProtectionConfigInput`<sup>Optional</sup> <a name="adaptiveProtectionConfigInput" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.adaptiveProtectionConfigInput"></a>

```typescript
public readonly adaptiveProtectionConfigInput: ComputeSecurityPolicyAdaptiveProtectionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfig">ComputeSecurityPolicyAdaptiveProtectionConfig</a>

---

##### `advancedOptionsConfigInput`<sup>Optional</sup> <a name="advancedOptionsConfigInput" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.advancedOptionsConfigInput"></a>

```typescript
public readonly advancedOptionsConfigInput: ComputeSecurityPolicyAdvancedOptionsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig">ComputeSecurityPolicyAdvancedOptionsConfig</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `ruleInput`<sup>Optional</sup> <a name="ruleInput" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.ruleInput"></a>

```typescript
public readonly ruleInput: IResolvable | ComputeSecurityPolicyRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule">ComputeSecurityPolicyRule</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeSecurityPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeouts">ComputeSecurityPolicyTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSecurityPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeServiceAttachment <a name="ComputeServiceAttachment" id="@dschmidt/provider-google.ComputeServiceAttachment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment google_compute_service_attachment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeServiceAttachment.Initializer"></a>

```typescript
import { ComputeServiceAttachment } from '@dschmidt/provider-google'

new ComputeServiceAttachment(scope: Construct, id: string, config: ComputeServiceAttachmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig">ComputeServiceAttachmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeServiceAttachment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeServiceAttachment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeServiceAttachment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig">ComputeServiceAttachmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.putConsumerAcceptLists">putConsumerAcceptLists</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.resetConsumerAcceptLists">resetConsumerAcceptLists</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.resetConsumerRejectLists">resetConsumerRejectLists</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.resetDomainNames">resetDomainNames</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeServiceAttachment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeServiceAttachment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeServiceAttachment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeServiceAttachment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeServiceAttachment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeServiceAttachment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeServiceAttachment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeServiceAttachment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeServiceAttachment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeServiceAttachment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putConsumerAcceptLists` <a name="putConsumerAcceptLists" id="@dschmidt/provider-google.ComputeServiceAttachment.putConsumerAcceptLists"></a>

```typescript
public putConsumerAcceptLists(value: IResolvable | ComputeServiceAttachmentConsumerAcceptLists[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeServiceAttachment.putConsumerAcceptLists.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists">ComputeServiceAttachmentConsumerAcceptLists</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeServiceAttachment.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeServiceAttachmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeServiceAttachment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeouts">ComputeServiceAttachmentTimeouts</a>

---

##### `resetConsumerAcceptLists` <a name="resetConsumerAcceptLists" id="@dschmidt/provider-google.ComputeServiceAttachment.resetConsumerAcceptLists"></a>

```typescript
public resetConsumerAcceptLists(): void
```

##### `resetConsumerRejectLists` <a name="resetConsumerRejectLists" id="@dschmidt/provider-google.ComputeServiceAttachment.resetConsumerRejectLists"></a>

```typescript
public resetConsumerRejectLists(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeServiceAttachment.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDomainNames` <a name="resetDomainNames" id="@dschmidt/provider-google.ComputeServiceAttachment.resetDomainNames"></a>

```typescript
public resetDomainNames(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeServiceAttachment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeServiceAttachment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeServiceAttachment.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeServiceAttachment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeServiceAttachment.isConstruct"></a>

```typescript
import { ComputeServiceAttachment } from '@dschmidt/provider-google'

ComputeServiceAttachment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeServiceAttachment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.connectedEndpoints">connectedEndpoints</a></code> | <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConnectedEndpointsList">ComputeServiceAttachmentConnectedEndpointsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.consumerAcceptLists">consumerAcceptLists</a></code> | <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptListsList">ComputeServiceAttachmentConsumerAcceptListsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeoutsOutputReference">ComputeServiceAttachmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.connectionPreferenceInput">connectionPreferenceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.consumerAcceptListsInput">consumerAcceptListsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists">ComputeServiceAttachmentConsumerAcceptLists</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.consumerRejectListsInput">consumerRejectListsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.domainNamesInput">domainNamesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.enableProxyProtocolInput">enableProxyProtocolInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.natSubnetsInput">natSubnetsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.targetServiceInput">targetServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeouts">ComputeServiceAttachmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.connectionPreference">connectionPreference</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.consumerRejectLists">consumerRejectLists</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.domainNames">domainNames</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.enableProxyProtocol">enableProxyProtocol</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.natSubnets">natSubnets</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.targetService">targetService</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeServiceAttachment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeServiceAttachment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeServiceAttachment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeServiceAttachment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeServiceAttachment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeServiceAttachment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeServiceAttachment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeServiceAttachment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeServiceAttachment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeServiceAttachment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeServiceAttachment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeServiceAttachment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeServiceAttachment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeServiceAttachment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `connectedEndpoints`<sup>Required</sup> <a name="connectedEndpoints" id="@dschmidt/provider-google.ComputeServiceAttachment.property.connectedEndpoints"></a>

```typescript
public readonly connectedEndpoints: ComputeServiceAttachmentConnectedEndpointsList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeServiceAttachmentConnectedEndpointsList">ComputeServiceAttachmentConnectedEndpointsList</a>

---

##### `consumerAcceptLists`<sup>Required</sup> <a name="consumerAcceptLists" id="@dschmidt/provider-google.ComputeServiceAttachment.property.consumerAcceptLists"></a>

```typescript
public readonly consumerAcceptLists: ComputeServiceAttachmentConsumerAcceptListsList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptListsList">ComputeServiceAttachmentConsumerAcceptListsList</a>

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeServiceAttachment.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeServiceAttachment.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeServiceAttachment.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeServiceAttachmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeoutsOutputReference">ComputeServiceAttachmentTimeoutsOutputReference</a>

---

##### `connectionPreferenceInput`<sup>Optional</sup> <a name="connectionPreferenceInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.connectionPreferenceInput"></a>

```typescript
public readonly connectionPreferenceInput: string;
```

- *Type:* string

---

##### `consumerAcceptListsInput`<sup>Optional</sup> <a name="consumerAcceptListsInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.consumerAcceptListsInput"></a>

```typescript
public readonly consumerAcceptListsInput: IResolvable | ComputeServiceAttachmentConsumerAcceptLists[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists">ComputeServiceAttachmentConsumerAcceptLists</a>[]

---

##### `consumerRejectListsInput`<sup>Optional</sup> <a name="consumerRejectListsInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.consumerRejectListsInput"></a>

```typescript
public readonly consumerRejectListsInput: string[];
```

- *Type:* string[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `domainNamesInput`<sup>Optional</sup> <a name="domainNamesInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.domainNamesInput"></a>

```typescript
public readonly domainNamesInput: string[];
```

- *Type:* string[]

---

##### `enableProxyProtocolInput`<sup>Optional</sup> <a name="enableProxyProtocolInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.enableProxyProtocolInput"></a>

```typescript
public readonly enableProxyProtocolInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `natSubnetsInput`<sup>Optional</sup> <a name="natSubnetsInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.natSubnetsInput"></a>

```typescript
public readonly natSubnetsInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `targetServiceInput`<sup>Optional</sup> <a name="targetServiceInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.targetServiceInput"></a>

```typescript
public readonly targetServiceInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeServiceAttachment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeServiceAttachmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeouts">ComputeServiceAttachmentTimeouts</a>

---

##### `connectionPreference`<sup>Required</sup> <a name="connectionPreference" id="@dschmidt/provider-google.ComputeServiceAttachment.property.connectionPreference"></a>

```typescript
public readonly connectionPreference: string;
```

- *Type:* string

---

##### `consumerRejectLists`<sup>Required</sup> <a name="consumerRejectLists" id="@dschmidt/provider-google.ComputeServiceAttachment.property.consumerRejectLists"></a>

```typescript
public readonly consumerRejectLists: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeServiceAttachment.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `domainNames`<sup>Required</sup> <a name="domainNames" id="@dschmidt/provider-google.ComputeServiceAttachment.property.domainNames"></a>

```typescript
public readonly domainNames: string[];
```

- *Type:* string[]

---

##### `enableProxyProtocol`<sup>Required</sup> <a name="enableProxyProtocol" id="@dschmidt/provider-google.ComputeServiceAttachment.property.enableProxyProtocol"></a>

```typescript
public readonly enableProxyProtocol: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeServiceAttachment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeServiceAttachment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `natSubnets`<sup>Required</sup> <a name="natSubnets" id="@dschmidt/provider-google.ComputeServiceAttachment.property.natSubnets"></a>

```typescript
public readonly natSubnets: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeServiceAttachment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeServiceAttachment.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `targetService`<sup>Required</sup> <a name="targetService" id="@dschmidt/provider-google.ComputeServiceAttachment.property.targetService"></a>

```typescript
public readonly targetService: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeServiceAttachment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSharedVpcHostProject <a name="ComputeSharedVpcHostProject" id="@dschmidt/provider-google.ComputeSharedVpcHostProject"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_host_project google_compute_shared_vpc_host_project}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.Initializer"></a>

```typescript
import { ComputeSharedVpcHostProject } from '@dschmidt/provider-google'

new ComputeSharedVpcHostProject(scope: Construct, id: string, config: ComputeSharedVpcHostProjectConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig">ComputeSharedVpcHostProjectConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig">ComputeSharedVpcHostProjectConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeSharedVpcHostProjectTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts">ComputeSharedVpcHostProjectTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.isConstruct"></a>

```typescript
import { ComputeSharedVpcHostProject } from '@dschmidt/provider-google'

ComputeSharedVpcHostProject.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeoutsOutputReference">ComputeSharedVpcHostProjectTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts">ComputeSharedVpcHostProjectTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSharedVpcHostProjectTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeoutsOutputReference">ComputeSharedVpcHostProjectTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeSharedVpcHostProjectTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts">ComputeSharedVpcHostProjectTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProject.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSharedVpcHostProject.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSharedVpcServiceProject <a name="ComputeSharedVpcServiceProject" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project google_compute_shared_vpc_service_project}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.Initializer"></a>

```typescript
import { ComputeSharedVpcServiceProject } from '@dschmidt/provider-google'

new ComputeSharedVpcServiceProject(scope: Construct, id: string, config: ComputeSharedVpcServiceProjectConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig">ComputeSharedVpcServiceProjectConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig">ComputeSharedVpcServiceProjectConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeSharedVpcServiceProjectTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts">ComputeSharedVpcServiceProjectTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.isConstruct"></a>

```typescript
import { ComputeSharedVpcServiceProject } from '@dschmidt/provider-google'

ComputeSharedVpcServiceProject.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeoutsOutputReference">ComputeSharedVpcServiceProjectTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.hostProjectInput">hostProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.serviceProjectInput">serviceProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts">ComputeSharedVpcServiceProjectTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.hostProject">hostProject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.serviceProject">serviceProject</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSharedVpcServiceProjectTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeoutsOutputReference">ComputeSharedVpcServiceProjectTimeoutsOutputReference</a>

---

##### `hostProjectInput`<sup>Optional</sup> <a name="hostProjectInput" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.hostProjectInput"></a>

```typescript
public readonly hostProjectInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `serviceProjectInput`<sup>Optional</sup> <a name="serviceProjectInput" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.serviceProjectInput"></a>

```typescript
public readonly serviceProjectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeSharedVpcServiceProjectTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts">ComputeSharedVpcServiceProjectTimeouts</a>

---

##### `hostProject`<sup>Required</sup> <a name="hostProject" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.hostProject"></a>

```typescript
public readonly hostProject: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `serviceProject`<sup>Required</sup> <a name="serviceProject" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.serviceProject"></a>

```typescript
public readonly serviceProject: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSharedVpcServiceProject.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSnapshot <a name="ComputeSnapshot" id="@dschmidt/provider-google.ComputeSnapshot"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot google_compute_snapshot}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSnapshot.Initializer"></a>

```typescript
import { ComputeSnapshot } from '@dschmidt/provider-google'

new ComputeSnapshot(scope: Construct, id: string, config: ComputeSnapshotConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig">ComputeSnapshotConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSnapshot.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshot.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSnapshot.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotConfig">ComputeSnapshotConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.putSnapshotEncryptionKey">putSnapshotEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.putSourceDiskEncryptionKey">putSourceDiskEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetSnapshotEncryptionKey">resetSnapshotEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetSourceDiskEncryptionKey">resetSourceDiskEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetStorageLocations">resetStorageLocations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSnapshot.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSnapshot.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSnapshot.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSnapshot.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSnapshot.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSnapshot.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSnapshot.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSnapshot.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSnapshot.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSnapshot.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshot.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSnapshotEncryptionKey` <a name="putSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshot.putSnapshotEncryptionKey"></a>

```typescript
public putSnapshotEncryptionKey(value: ComputeSnapshotSnapshotEncryptionKey): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSnapshot.putSnapshotEncryptionKey.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey">ComputeSnapshotSnapshotEncryptionKey</a>

---

##### `putSourceDiskEncryptionKey` <a name="putSourceDiskEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshot.putSourceDiskEncryptionKey"></a>

```typescript
public putSourceDiskEncryptionKey(value: ComputeSnapshotSourceDiskEncryptionKey): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSnapshot.putSourceDiskEncryptionKey.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey">ComputeSnapshotSourceDiskEncryptionKey</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeSnapshot.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeSnapshotTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSnapshot.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotTimeouts">ComputeSnapshotTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeSnapshot.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSnapshot.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.ComputeSnapshot.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSnapshot.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSnapshotEncryptionKey` <a name="resetSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshot.resetSnapshotEncryptionKey"></a>

```typescript
public resetSnapshotEncryptionKey(): void
```

##### `resetSourceDiskEncryptionKey` <a name="resetSourceDiskEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshot.resetSourceDiskEncryptionKey"></a>

```typescript
public resetSourceDiskEncryptionKey(): void
```

##### `resetStorageLocations` <a name="resetStorageLocations" id="@dschmidt/provider-google.ComputeSnapshot.resetStorageLocations"></a>

```typescript
public resetStorageLocations(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeSnapshot.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeSnapshot.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSnapshot.isConstruct"></a>

```typescript
import { ComputeSnapshot } from '@dschmidt/provider-google'

ComputeSnapshot.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSnapshot.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.licenses">licenses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.snapshotEncryptionKey">snapshotEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKeyOutputReference">ComputeSnapshotSnapshotEncryptionKeyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.snapshotId">snapshotId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.sourceDiskEncryptionKey">sourceDiskEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKeyOutputReference">ComputeSnapshotSourceDiskEncryptionKeyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.storageBytes">storageBytes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotTimeoutsOutputReference">ComputeSnapshotTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.snapshotEncryptionKeyInput">snapshotEncryptionKeyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey">ComputeSnapshotSnapshotEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.sourceDiskEncryptionKeyInput">sourceDiskEncryptionKeyInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey">ComputeSnapshotSourceDiskEncryptionKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.sourceDiskInput">sourceDiskInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.storageLocationsInput">storageLocationsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSnapshotTimeouts">ComputeSnapshotTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.sourceDisk">sourceDisk</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.storageLocations">storageLocations</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSnapshot.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSnapshot.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSnapshot.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSnapshot.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSnapshot.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSnapshot.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSnapshot.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSnapshot.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSnapshot.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSnapshot.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSnapshot.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSnapshot.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSnapshot.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSnapshot.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeSnapshot.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `diskSizeGb`<sup>Required</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.ComputeSnapshot.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.ComputeSnapshot.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `licenses`<sup>Required</sup> <a name="licenses" id="@dschmidt/provider-google.ComputeSnapshot.property.licenses"></a>

```typescript
public readonly licenses: string[];
```

- *Type:* string[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeSnapshot.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `snapshotEncryptionKey`<sup>Required</sup> <a name="snapshotEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshot.property.snapshotEncryptionKey"></a>

```typescript
public readonly snapshotEncryptionKey: ComputeSnapshotSnapshotEncryptionKeyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKeyOutputReference">ComputeSnapshotSnapshotEncryptionKeyOutputReference</a>

---

##### `snapshotId`<sup>Required</sup> <a name="snapshotId" id="@dschmidt/provider-google.ComputeSnapshot.property.snapshotId"></a>

```typescript
public readonly snapshotId: number;
```

- *Type:* number

---

##### `sourceDiskEncryptionKey`<sup>Required</sup> <a name="sourceDiskEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshot.property.sourceDiskEncryptionKey"></a>

```typescript
public readonly sourceDiskEncryptionKey: ComputeSnapshotSourceDiskEncryptionKeyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKeyOutputReference">ComputeSnapshotSourceDiskEncryptionKeyOutputReference</a>

---

##### `storageBytes`<sup>Required</sup> <a name="storageBytes" id="@dschmidt/provider-google.ComputeSnapshot.property.storageBytes"></a>

```typescript
public readonly storageBytes: number;
```

- *Type:* number

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSnapshot.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSnapshotTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotTimeoutsOutputReference">ComputeSnapshotTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeSnapshot.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSnapshot.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.ComputeSnapshot.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeSnapshot.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSnapshot.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `snapshotEncryptionKeyInput`<sup>Optional</sup> <a name="snapshotEncryptionKeyInput" id="@dschmidt/provider-google.ComputeSnapshot.property.snapshotEncryptionKeyInput"></a>

```typescript
public readonly snapshotEncryptionKeyInput: ComputeSnapshotSnapshotEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey">ComputeSnapshotSnapshotEncryptionKey</a>

---

##### `sourceDiskEncryptionKeyInput`<sup>Optional</sup> <a name="sourceDiskEncryptionKeyInput" id="@dschmidt/provider-google.ComputeSnapshot.property.sourceDiskEncryptionKeyInput"></a>

```typescript
public readonly sourceDiskEncryptionKeyInput: ComputeSnapshotSourceDiskEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey">ComputeSnapshotSourceDiskEncryptionKey</a>

---

##### `sourceDiskInput`<sup>Optional</sup> <a name="sourceDiskInput" id="@dschmidt/provider-google.ComputeSnapshot.property.sourceDiskInput"></a>

```typescript
public readonly sourceDiskInput: string;
```

- *Type:* string

---

##### `storageLocationsInput`<sup>Optional</sup> <a name="storageLocationsInput" id="@dschmidt/provider-google.ComputeSnapshot.property.storageLocationsInput"></a>

```typescript
public readonly storageLocationsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeSnapshot.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeSnapshotTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSnapshotTimeouts">ComputeSnapshotTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeSnapshot.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeSnapshot.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshot.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.ComputeSnapshot.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSnapshot.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSnapshot.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `sourceDisk`<sup>Required</sup> <a name="sourceDisk" id="@dschmidt/provider-google.ComputeSnapshot.property.sourceDisk"></a>

```typescript
public readonly sourceDisk: string;
```

- *Type:* string

---

##### `storageLocations`<sup>Required</sup> <a name="storageLocations" id="@dschmidt/provider-google.ComputeSnapshot.property.storageLocations"></a>

```typescript
public readonly storageLocations: string[];
```

- *Type:* string[]

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeSnapshot.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshot.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSnapshot.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSnapshotIamBinding <a name="ComputeSnapshotIamBinding" id="@dschmidt/provider-google.ComputeSnapshotIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding google_compute_snapshot_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.Initializer"></a>

```typescript
import { ComputeSnapshotIamBinding } from '@dschmidt/provider-google'

new ComputeSnapshotIamBinding(scope: Construct, id: string, config: ComputeSnapshotIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig">ComputeSnapshotIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig">ComputeSnapshotIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.putCondition"></a>

```typescript
public putCondition(value: ComputeSnapshotIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingCondition">ComputeSnapshotIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.isConstruct"></a>

```typescript
import { ComputeSnapshotIamBinding } from '@dschmidt/provider-google'

ComputeSnapshotIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConditionOutputReference">ComputeSnapshotIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingCondition">ComputeSnapshotIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.condition"></a>

```typescript
public readonly condition: ComputeSnapshotIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConditionOutputReference">ComputeSnapshotIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeSnapshotIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingCondition">ComputeSnapshotIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSnapshotIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSnapshotIamMember <a name="ComputeSnapshotIamMember" id="@dschmidt/provider-google.ComputeSnapshotIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member google_compute_snapshot_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSnapshotIamMember.Initializer"></a>

```typescript
import { ComputeSnapshotIamMember } from '@dschmidt/provider-google'

new ComputeSnapshotIamMember(scope: Construct, id: string, config: ComputeSnapshotIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig">ComputeSnapshotIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSnapshotIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSnapshotIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig">ComputeSnapshotIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSnapshotIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSnapshotIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSnapshotIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSnapshotIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSnapshotIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSnapshotIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSnapshotIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSnapshotIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSnapshotIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeSnapshotIamMember.putCondition"></a>

```typescript
public putCondition(value: ComputeSnapshotIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSnapshotIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberCondition">ComputeSnapshotIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeSnapshotIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSnapshotIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSnapshotIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSnapshotIamMember.isConstruct"></a>

```typescript
import { ComputeSnapshotIamMember } from '@dschmidt/provider-google'

ComputeSnapshotIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSnapshotIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConditionOutputReference">ComputeSnapshotIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberCondition">ComputeSnapshotIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.condition"></a>

```typescript
public readonly condition: ComputeSnapshotIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConditionOutputReference">ComputeSnapshotIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeSnapshotIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberCondition">ComputeSnapshotIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSnapshotIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSnapshotIamPolicy <a name="ComputeSnapshotIamPolicy" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_policy google_compute_snapshot_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.Initializer"></a>

```typescript
import { ComputeSnapshotIamPolicy } from '@dschmidt/provider-google'

new ComputeSnapshotIamPolicy(scope: Construct, id: string, config: ComputeSnapshotIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig">ComputeSnapshotIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig">ComputeSnapshotIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.isConstruct"></a>

```typescript
import { ComputeSnapshotIamPolicy } from '@dschmidt/provider-google'

ComputeSnapshotIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSnapshotIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSslCertificate <a name="ComputeSslCertificate" id="@dschmidt/provider-google.ComputeSslCertificate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate google_compute_ssl_certificate}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSslCertificate.Initializer"></a>

```typescript
import { ComputeSslCertificate } from '@dschmidt/provider-google'

new ComputeSslCertificate(scope: Construct, id: string, config: ComputeSslCertificateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig">ComputeSslCertificateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSslCertificate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSslCertificate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSslCertificate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSslCertificateConfig">ComputeSslCertificateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.resetNamePrefix">resetNamePrefix</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSslCertificate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSslCertificate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSslCertificate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSslCertificate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSslCertificate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSslCertificate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSslCertificate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSslCertificate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSslCertificate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslCertificate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeSslCertificate.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeSslCertificateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSslCertificate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSslCertificateTimeouts">ComputeSslCertificateTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeSslCertificate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSslCertificate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.ComputeSslCertificate.resetName"></a>

```typescript
public resetName(): void
```

##### `resetNamePrefix` <a name="resetNamePrefix" id="@dschmidt/provider-google.ComputeSslCertificate.resetNamePrefix"></a>

```typescript
public resetNamePrefix(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSslCertificate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeSslCertificate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSslCertificate.isConstruct"></a>

```typescript
import { ComputeSslCertificate } from '@dschmidt/provider-google'

ComputeSslCertificate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSslCertificate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.certificateId">certificateId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSslCertificateTimeoutsOutputReference">ComputeSslCertificateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.certificateInput">certificateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.namePrefixInput">namePrefixInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.privateKeyInput">privateKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSslCertificateTimeouts">ComputeSslCertificateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.certificate">certificate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.namePrefix">namePrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.privateKey">privateKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSslCertificate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSslCertificate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSslCertificate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSslCertificate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSslCertificate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSslCertificate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSslCertificate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSslCertificate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSslCertificate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSslCertificate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSslCertificate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSslCertificate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSslCertificate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSslCertificate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificateId`<sup>Required</sup> <a name="certificateId" id="@dschmidt/provider-google.ComputeSslCertificate.property.certificateId"></a>

```typescript
public readonly certificateId: number;
```

- *Type:* number

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeSslCertificate.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeSslCertificate.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSslCertificate.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSslCertificateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSslCertificateTimeoutsOutputReference">ComputeSslCertificateTimeoutsOutputReference</a>

---

##### `certificateInput`<sup>Optional</sup> <a name="certificateInput" id="@dschmidt/provider-google.ComputeSslCertificate.property.certificateInput"></a>

```typescript
public readonly certificateInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeSslCertificate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSslCertificate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeSslCertificate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `namePrefixInput`<sup>Optional</sup> <a name="namePrefixInput" id="@dschmidt/provider-google.ComputeSslCertificate.property.namePrefixInput"></a>

```typescript
public readonly namePrefixInput: string;
```

- *Type:* string

---

##### `privateKeyInput`<sup>Optional</sup> <a name="privateKeyInput" id="@dschmidt/provider-google.ComputeSslCertificate.property.privateKeyInput"></a>

```typescript
public readonly privateKeyInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSslCertificate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeSslCertificate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeSslCertificateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSslCertificateTimeouts">ComputeSslCertificateTimeouts</a>

---

##### `certificate`<sup>Required</sup> <a name="certificate" id="@dschmidt/provider-google.ComputeSslCertificate.property.certificate"></a>

```typescript
public readonly certificate: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeSslCertificate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSslCertificate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSslCertificate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `namePrefix`<sup>Required</sup> <a name="namePrefix" id="@dschmidt/provider-google.ComputeSslCertificate.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

---

##### `privateKey`<sup>Required</sup> <a name="privateKey" id="@dschmidt/provider-google.ComputeSslCertificate.property.privateKey"></a>

```typescript
public readonly privateKey: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSslCertificate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSslCertificate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSslPolicy <a name="ComputeSslPolicy" id="@dschmidt/provider-google.ComputeSslPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy google_compute_ssl_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSslPolicy.Initializer"></a>

```typescript
import { ComputeSslPolicy } from '@dschmidt/provider-google'

new ComputeSslPolicy(scope: Construct, id: string, config: ComputeSslPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig">ComputeSslPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSslPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSslPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSslPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSslPolicyConfig">ComputeSslPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.resetCustomFeatures">resetCustomFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.resetMinTlsVersion">resetMinTlsVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.resetProfile">resetProfile</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSslPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSslPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSslPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSslPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSslPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSslPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSslPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSslPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSslPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSslPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeSslPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeSslPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSslPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSslPolicyTimeouts">ComputeSslPolicyTimeouts</a>

---

##### `resetCustomFeatures` <a name="resetCustomFeatures" id="@dschmidt/provider-google.ComputeSslPolicy.resetCustomFeatures"></a>

```typescript
public resetCustomFeatures(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeSslPolicy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSslPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMinTlsVersion` <a name="resetMinTlsVersion" id="@dschmidt/provider-google.ComputeSslPolicy.resetMinTlsVersion"></a>

```typescript
public resetMinTlsVersion(): void
```

##### `resetProfile` <a name="resetProfile" id="@dschmidt/provider-google.ComputeSslPolicy.resetProfile"></a>

```typescript
public resetProfile(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSslPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeSslPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSslPolicy.isConstruct"></a>

```typescript
import { ComputeSslPolicy } from '@dschmidt/provider-google'

ComputeSslPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSslPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.enabledFeatures">enabledFeatures</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSslPolicyTimeoutsOutputReference">ComputeSslPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.customFeaturesInput">customFeaturesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.minTlsVersionInput">minTlsVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.profileInput">profileInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSslPolicyTimeouts">ComputeSslPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.customFeatures">customFeatures</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.minTlsVersion">minTlsVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.profile">profile</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSslPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSslPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSslPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSslPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSslPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSslPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSslPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSslPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSslPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSslPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSslPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSslPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSslPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSslPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeSslPolicy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `enabledFeatures`<sup>Required</sup> <a name="enabledFeatures" id="@dschmidt/provider-google.ComputeSslPolicy.property.enabledFeatures"></a>

```typescript
public readonly enabledFeatures: string[];
```

- *Type:* string[]

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeSslPolicy.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeSslPolicy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSslPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSslPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSslPolicyTimeoutsOutputReference">ComputeSslPolicyTimeoutsOutputReference</a>

---

##### `customFeaturesInput`<sup>Optional</sup> <a name="customFeaturesInput" id="@dschmidt/provider-google.ComputeSslPolicy.property.customFeaturesInput"></a>

```typescript
public readonly customFeaturesInput: string[];
```

- *Type:* string[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeSslPolicy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSslPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `minTlsVersionInput`<sup>Optional</sup> <a name="minTlsVersionInput" id="@dschmidt/provider-google.ComputeSslPolicy.property.minTlsVersionInput"></a>

```typescript
public readonly minTlsVersionInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeSslPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `profileInput`<sup>Optional</sup> <a name="profileInput" id="@dschmidt/provider-google.ComputeSslPolicy.property.profileInput"></a>

```typescript
public readonly profileInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSslPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeSslPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeSslPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSslPolicyTimeouts">ComputeSslPolicyTimeouts</a>

---

##### `customFeatures`<sup>Required</sup> <a name="customFeatures" id="@dschmidt/provider-google.ComputeSslPolicy.property.customFeatures"></a>

```typescript
public readonly customFeatures: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeSslPolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSslPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `minTlsVersion`<sup>Required</sup> <a name="minTlsVersion" id="@dschmidt/provider-google.ComputeSslPolicy.property.minTlsVersion"></a>

```typescript
public readonly minTlsVersion: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSslPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `profile`<sup>Required</sup> <a name="profile" id="@dschmidt/provider-google.ComputeSslPolicy.property.profile"></a>

```typescript
public readonly profile: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSslPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSslPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSubnetwork <a name="ComputeSubnetwork" id="@dschmidt/provider-google.ComputeSubnetwork"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork google_compute_subnetwork}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSubnetwork.Initializer"></a>

```typescript
import { ComputeSubnetwork } from '@dschmidt/provider-google'

new ComputeSubnetwork(scope: Construct, id: string, config: ComputeSubnetworkConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig">ComputeSubnetworkConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSubnetwork.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetwork.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSubnetwork.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkConfig">ComputeSubnetworkConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.putLogConfig">putLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.putSecondaryIpRange">putSecondaryIpRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetIpv6AccessType">resetIpv6AccessType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetLogConfig">resetLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetPrivateIpGoogleAccess">resetPrivateIpGoogleAccess</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetPrivateIpv6GoogleAccess">resetPrivateIpv6GoogleAccess</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetPurpose">resetPurpose</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetRole">resetRole</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetSecondaryIpRange">resetSecondaryIpRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetStackType">resetStackType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSubnetwork.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSubnetwork.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSubnetwork.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSubnetwork.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSubnetwork.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSubnetwork.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSubnetwork.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSubnetwork.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSubnetwork.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetwork.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putLogConfig` <a name="putLogConfig" id="@dschmidt/provider-google.ComputeSubnetwork.putLogConfig"></a>

```typescript
public putLogConfig(value: ComputeSubnetworkLogConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSubnetwork.putLogConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig">ComputeSubnetworkLogConfig</a>

---

##### `putSecondaryIpRange` <a name="putSecondaryIpRange" id="@dschmidt/provider-google.ComputeSubnetwork.putSecondaryIpRange"></a>

```typescript
public putSecondaryIpRange(value: IResolvable | ComputeSubnetworkSecondaryIpRange[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSubnetwork.putSecondaryIpRange.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange">ComputeSubnetworkSecondaryIpRange</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeSubnetwork.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeSubnetworkTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSubnetwork.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkTimeouts">ComputeSubnetworkTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeSubnetwork.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSubnetwork.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpv6AccessType` <a name="resetIpv6AccessType" id="@dschmidt/provider-google.ComputeSubnetwork.resetIpv6AccessType"></a>

```typescript
public resetIpv6AccessType(): void
```

##### `resetLogConfig` <a name="resetLogConfig" id="@dschmidt/provider-google.ComputeSubnetwork.resetLogConfig"></a>

```typescript
public resetLogConfig(): void
```

##### `resetPrivateIpGoogleAccess` <a name="resetPrivateIpGoogleAccess" id="@dschmidt/provider-google.ComputeSubnetwork.resetPrivateIpGoogleAccess"></a>

```typescript
public resetPrivateIpGoogleAccess(): void
```

##### `resetPrivateIpv6GoogleAccess` <a name="resetPrivateIpv6GoogleAccess" id="@dschmidt/provider-google.ComputeSubnetwork.resetPrivateIpv6GoogleAccess"></a>

```typescript
public resetPrivateIpv6GoogleAccess(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSubnetwork.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPurpose` <a name="resetPurpose" id="@dschmidt/provider-google.ComputeSubnetwork.resetPurpose"></a>

```typescript
public resetPurpose(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeSubnetwork.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetRole` <a name="resetRole" id="@dschmidt/provider-google.ComputeSubnetwork.resetRole"></a>

```typescript
public resetRole(): void
```

##### `resetSecondaryIpRange` <a name="resetSecondaryIpRange" id="@dschmidt/provider-google.ComputeSubnetwork.resetSecondaryIpRange"></a>

```typescript
public resetSecondaryIpRange(): void
```

##### `resetStackType` <a name="resetStackType" id="@dschmidt/provider-google.ComputeSubnetwork.resetStackType"></a>

```typescript
public resetStackType(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeSubnetwork.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSubnetwork.isConstruct"></a>

```typescript
import { ComputeSubnetwork } from '@dschmidt/provider-google'

ComputeSubnetwork.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSubnetwork.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.externalIpv6Prefix">externalIpv6Prefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.gatewayAddress">gatewayAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.ipv6CidrRange">ipv6CidrRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfigOutputReference">ComputeSubnetworkLogConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.secondaryIpRange">secondaryIpRange</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRangeList">ComputeSubnetworkSecondaryIpRangeList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkTimeoutsOutputReference">ComputeSubnetworkTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.ipCidrRangeInput">ipCidrRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.ipv6AccessTypeInput">ipv6AccessTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.logConfigInput">logConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig">ComputeSubnetworkLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.privateIpGoogleAccessInput">privateIpGoogleAccessInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.privateIpv6GoogleAccessInput">privateIpv6GoogleAccessInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.purposeInput">purposeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.secondaryIpRangeInput">secondaryIpRangeInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange">ComputeSubnetworkSecondaryIpRange</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.stackTypeInput">stackTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSubnetworkTimeouts">ComputeSubnetworkTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.ipCidrRange">ipCidrRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.ipv6AccessType">ipv6AccessType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.privateIpGoogleAccess">privateIpGoogleAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.privateIpv6GoogleAccess">privateIpv6GoogleAccess</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.purpose">purpose</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.stackType">stackType</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSubnetwork.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSubnetwork.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSubnetwork.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSubnetwork.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSubnetwork.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSubnetwork.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSubnetwork.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSubnetwork.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSubnetwork.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSubnetwork.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSubnetwork.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSubnetwork.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSubnetwork.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSubnetwork.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeSubnetwork.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `externalIpv6Prefix`<sup>Required</sup> <a name="externalIpv6Prefix" id="@dschmidt/provider-google.ComputeSubnetwork.property.externalIpv6Prefix"></a>

```typescript
public readonly externalIpv6Prefix: string;
```

- *Type:* string

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeSubnetwork.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `gatewayAddress`<sup>Required</sup> <a name="gatewayAddress" id="@dschmidt/provider-google.ComputeSubnetwork.property.gatewayAddress"></a>

```typescript
public readonly gatewayAddress: string;
```

- *Type:* string

---

##### `ipv6CidrRange`<sup>Required</sup> <a name="ipv6CidrRange" id="@dschmidt/provider-google.ComputeSubnetwork.property.ipv6CidrRange"></a>

```typescript
public readonly ipv6CidrRange: string;
```

- *Type:* string

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeSubnetwork.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeSubnetworkLogConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfigOutputReference">ComputeSubnetworkLogConfigOutputReference</a>

---

##### `secondaryIpRange`<sup>Required</sup> <a name="secondaryIpRange" id="@dschmidt/provider-google.ComputeSubnetwork.property.secondaryIpRange"></a>

```typescript
public readonly secondaryIpRange: ComputeSubnetworkSecondaryIpRangeList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRangeList">ComputeSubnetworkSecondaryIpRangeList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeSubnetwork.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSubnetwork.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSubnetworkTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkTimeoutsOutputReference">ComputeSubnetworkTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ipCidrRangeInput`<sup>Optional</sup> <a name="ipCidrRangeInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.ipCidrRangeInput"></a>

```typescript
public readonly ipCidrRangeInput: string;
```

- *Type:* string

---

##### `ipv6AccessTypeInput`<sup>Optional</sup> <a name="ipv6AccessTypeInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.ipv6AccessTypeInput"></a>

```typescript
public readonly ipv6AccessTypeInput: string;
```

- *Type:* string

---

##### `logConfigInput`<sup>Optional</sup> <a name="logConfigInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.logConfigInput"></a>

```typescript
public readonly logConfigInput: ComputeSubnetworkLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig">ComputeSubnetworkLogConfig</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `privateIpGoogleAccessInput`<sup>Optional</sup> <a name="privateIpGoogleAccessInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.privateIpGoogleAccessInput"></a>

```typescript
public readonly privateIpGoogleAccessInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `privateIpv6GoogleAccessInput`<sup>Optional</sup> <a name="privateIpv6GoogleAccessInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.privateIpv6GoogleAccessInput"></a>

```typescript
public readonly privateIpv6GoogleAccessInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `purposeInput`<sup>Optional</sup> <a name="purposeInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.purposeInput"></a>

```typescript
public readonly purposeInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `secondaryIpRangeInput`<sup>Optional</sup> <a name="secondaryIpRangeInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.secondaryIpRangeInput"></a>

```typescript
public readonly secondaryIpRangeInput: IResolvable | ComputeSubnetworkSecondaryIpRange[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange">ComputeSubnetworkSecondaryIpRange</a>[]

---

##### `stackTypeInput`<sup>Optional</sup> <a name="stackTypeInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.stackTypeInput"></a>

```typescript
public readonly stackTypeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeSubnetwork.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeSubnetworkTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSubnetworkTimeouts">ComputeSubnetworkTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeSubnetwork.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetwork.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ipCidrRange`<sup>Required</sup> <a name="ipCidrRange" id="@dschmidt/provider-google.ComputeSubnetwork.property.ipCidrRange"></a>

```typescript
public readonly ipCidrRange: string;
```

- *Type:* string

---

##### `ipv6AccessType`<sup>Required</sup> <a name="ipv6AccessType" id="@dschmidt/provider-google.ComputeSubnetwork.property.ipv6AccessType"></a>

```typescript
public readonly ipv6AccessType: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSubnetwork.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeSubnetwork.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `privateIpGoogleAccess`<sup>Required</sup> <a name="privateIpGoogleAccess" id="@dschmidt/provider-google.ComputeSubnetwork.property.privateIpGoogleAccess"></a>

```typescript
public readonly privateIpGoogleAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `privateIpv6GoogleAccess`<sup>Required</sup> <a name="privateIpv6GoogleAccess" id="@dschmidt/provider-google.ComputeSubnetwork.property.privateIpv6GoogleAccess"></a>

```typescript
public readonly privateIpv6GoogleAccess: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSubnetwork.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `purpose`<sup>Required</sup> <a name="purpose" id="@dschmidt/provider-google.ComputeSubnetwork.property.purpose"></a>

```typescript
public readonly purpose: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeSubnetwork.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeSubnetwork.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `stackType`<sup>Required</sup> <a name="stackType" id="@dschmidt/provider-google.ComputeSubnetwork.property.stackType"></a>

```typescript
public readonly stackType: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetwork.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSubnetwork.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSubnetworkIamBinding <a name="ComputeSubnetworkIamBinding" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding google_compute_subnetwork_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.Initializer"></a>

```typescript
import { ComputeSubnetworkIamBinding } from '@dschmidt/provider-google'

new ComputeSubnetworkIamBinding(scope: Construct, id: string, config: ComputeSubnetworkIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig">ComputeSubnetworkIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig">ComputeSubnetworkIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.putCondition"></a>

```typescript
public putCondition(value: ComputeSubnetworkIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition">ComputeSubnetworkIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.isConstruct"></a>

```typescript
import { ComputeSubnetworkIamBinding } from '@dschmidt/provider-google'

ComputeSubnetworkIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConditionOutputReference">ComputeSubnetworkIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition">ComputeSubnetworkIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.subnetworkInput">subnetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.condition"></a>

```typescript
public readonly condition: ComputeSubnetworkIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConditionOutputReference">ComputeSubnetworkIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeSubnetworkIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition">ComputeSubnetworkIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSubnetworkIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSubnetworkIamMember <a name="ComputeSubnetworkIamMember" id="@dschmidt/provider-google.ComputeSubnetworkIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member google_compute_subnetwork_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.Initializer"></a>

```typescript
import { ComputeSubnetworkIamMember } from '@dschmidt/provider-google'

new ComputeSubnetworkIamMember(scope: Construct, id: string, config: ComputeSubnetworkIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig">ComputeSubnetworkIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig">ComputeSubnetworkIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.putCondition"></a>

```typescript
public putCondition(value: ComputeSubnetworkIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition">ComputeSubnetworkIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.isConstruct"></a>

```typescript
import { ComputeSubnetworkIamMember } from '@dschmidt/provider-google'

ComputeSubnetworkIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConditionOutputReference">ComputeSubnetworkIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition">ComputeSubnetworkIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.subnetworkInput">subnetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.condition"></a>

```typescript
public readonly condition: ComputeSubnetworkIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConditionOutputReference">ComputeSubnetworkIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ComputeSubnetworkIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition">ComputeSubnetworkIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSubnetworkIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeSubnetworkIamPolicy <a name="ComputeSubnetworkIamPolicy" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy google_compute_subnetwork_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.Initializer"></a>

```typescript
import { ComputeSubnetworkIamPolicy } from '@dschmidt/provider-google'

new ComputeSubnetworkIamPolicy(scope: Construct, id: string, config: ComputeSubnetworkIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig">ComputeSubnetworkIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig">ComputeSubnetworkIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.isConstruct"></a>

```typescript
import { ComputeSubnetworkIamPolicy } from '@dschmidt/provider-google'

ComputeSubnetworkIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.subnetworkInput">subnetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeTargetGrpcProxy <a name="ComputeTargetGrpcProxy" id="@dschmidt/provider-google.ComputeTargetGrpcProxy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy google_compute_target_grpc_proxy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.Initializer"></a>

```typescript
import { ComputeTargetGrpcProxy } from '@dschmidt/provider-google'

new ComputeTargetGrpcProxy(scope: Construct, id: string, config: ComputeTargetGrpcProxyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig">ComputeTargetGrpcProxyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig">ComputeTargetGrpcProxyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.resetUrlMap">resetUrlMap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.resetValidateForProxyless">resetValidateForProxyless</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeTargetGrpcProxyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts">ComputeTargetGrpcProxyTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUrlMap` <a name="resetUrlMap" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.resetUrlMap"></a>

```typescript
public resetUrlMap(): void
```

##### `resetValidateForProxyless` <a name="resetValidateForProxyless" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.resetValidateForProxyless"></a>

```typescript
public resetValidateForProxyless(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.isConstruct"></a>

```typescript
import { ComputeTargetGrpcProxy } from '@dschmidt/provider-google'

ComputeTargetGrpcProxy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.selfLinkWithId">selfLinkWithId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeoutsOutputReference">ComputeTargetGrpcProxyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts">ComputeTargetGrpcProxyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.urlMapInput">urlMapInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.validateForProxylessInput">validateForProxylessInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.urlMap">urlMap</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.validateForProxyless">validateForProxyless</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `selfLinkWithId`<sup>Required</sup> <a name="selfLinkWithId" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.selfLinkWithId"></a>

```typescript
public readonly selfLinkWithId: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetGrpcProxyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeoutsOutputReference">ComputeTargetGrpcProxyTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeTargetGrpcProxyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts">ComputeTargetGrpcProxyTimeouts</a>

---

##### `urlMapInput`<sup>Optional</sup> <a name="urlMapInput" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.urlMapInput"></a>

```typescript
public readonly urlMapInput: string;
```

- *Type:* string

---

##### `validateForProxylessInput`<sup>Optional</sup> <a name="validateForProxylessInput" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.validateForProxylessInput"></a>

```typescript
public readonly validateForProxylessInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `urlMap`<sup>Required</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

---

##### `validateForProxyless`<sup>Required</sup> <a name="validateForProxyless" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.validateForProxyless"></a>

```typescript
public readonly validateForProxyless: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeTargetGrpcProxy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeTargetHttpProxy <a name="ComputeTargetHttpProxy" id="@dschmidt/provider-google.ComputeTargetHttpProxy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy google_compute_target_http_proxy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeTargetHttpProxy.Initializer"></a>

```typescript
import { ComputeTargetHttpProxy } from '@dschmidt/provider-google'

new ComputeTargetHttpProxy(scope: Construct, id: string, config: ComputeTargetHttpProxyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig">ComputeTargetHttpProxyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeTargetHttpProxy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetHttpProxy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeTargetHttpProxy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig">ComputeTargetHttpProxyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.resetProxyBind">resetProxyBind</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeTargetHttpProxy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeTargetHttpProxy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeTargetHttpProxy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetHttpProxy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeTargetHttpProxy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeTargetHttpProxy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeTargetHttpProxy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeTargetHttpProxy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeTargetHttpProxy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpProxy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeTargetHttpProxy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeTargetHttpProxyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetHttpProxy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts">ComputeTargetHttpProxyTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeTargetHttpProxy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeTargetHttpProxy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeTargetHttpProxy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProxyBind` <a name="resetProxyBind" id="@dschmidt/provider-google.ComputeTargetHttpProxy.resetProxyBind"></a>

```typescript
public resetProxyBind(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeTargetHttpProxy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeTargetHttpProxy.isConstruct"></a>

```typescript
import { ComputeTargetHttpProxy } from '@dschmidt/provider-google'

ComputeTargetHttpProxy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeTargetHttpProxy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.proxyId">proxyId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeoutsOutputReference">ComputeTargetHttpProxyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.proxyBindInput">proxyBindInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts">ComputeTargetHttpProxyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.urlMapInput">urlMapInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.proxyBind">proxyBind</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.urlMap">urlMap</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `proxyId`<sup>Required</sup> <a name="proxyId" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.proxyId"></a>

```typescript
public readonly proxyId: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetHttpProxyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeoutsOutputReference">ComputeTargetHttpProxyTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `proxyBindInput`<sup>Optional</sup> <a name="proxyBindInput" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.proxyBindInput"></a>

```typescript
public readonly proxyBindInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeTargetHttpProxyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts">ComputeTargetHttpProxyTimeouts</a>

---

##### `urlMapInput`<sup>Optional</sup> <a name="urlMapInput" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.urlMapInput"></a>

```typescript
public readonly urlMapInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `proxyBind`<sup>Required</sup> <a name="proxyBind" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.proxyBind"></a>

```typescript
public readonly proxyBind: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `urlMap`<sup>Required</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeTargetHttpProxy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeTargetHttpsProxy <a name="ComputeTargetHttpsProxy" id="@dschmidt/provider-google.ComputeTargetHttpsProxy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy google_compute_target_https_proxy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.Initializer"></a>

```typescript
import { ComputeTargetHttpsProxy } from '@dschmidt/provider-google'

new ComputeTargetHttpsProxy(scope: Construct, id: string, config: ComputeTargetHttpsProxyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig">ComputeTargetHttpsProxyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig">ComputeTargetHttpsProxyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetCertificateMap">resetCertificateMap</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetProxyBind">resetProxyBind</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetQuicOverride">resetQuicOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetSslCertificates">resetSslCertificates</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetSslPolicy">resetSslPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeTargetHttpsProxyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts">ComputeTargetHttpsProxyTimeouts</a>

---

##### `resetCertificateMap` <a name="resetCertificateMap" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetCertificateMap"></a>

```typescript
public resetCertificateMap(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProxyBind` <a name="resetProxyBind" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetProxyBind"></a>

```typescript
public resetProxyBind(): void
```

##### `resetQuicOverride` <a name="resetQuicOverride" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetQuicOverride"></a>

```typescript
public resetQuicOverride(): void
```

##### `resetSslCertificates` <a name="resetSslCertificates" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetSslCertificates"></a>

```typescript
public resetSslCertificates(): void
```

##### `resetSslPolicy` <a name="resetSslPolicy" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetSslPolicy"></a>

```typescript
public resetSslPolicy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.isConstruct"></a>

```typescript
import { ComputeTargetHttpsProxy } from '@dschmidt/provider-google'

ComputeTargetHttpsProxy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.proxyId">proxyId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeoutsOutputReference">ComputeTargetHttpsProxyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.certificateMapInput">certificateMapInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.proxyBindInput">proxyBindInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.quicOverrideInput">quicOverrideInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.sslCertificatesInput">sslCertificatesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.sslPolicyInput">sslPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts">ComputeTargetHttpsProxyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.urlMapInput">urlMapInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.certificateMap">certificateMap</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.proxyBind">proxyBind</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.quicOverride">quicOverride</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.sslCertificates">sslCertificates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.sslPolicy">sslPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.urlMap">urlMap</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `proxyId`<sup>Required</sup> <a name="proxyId" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.proxyId"></a>

```typescript
public readonly proxyId: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetHttpsProxyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeoutsOutputReference">ComputeTargetHttpsProxyTimeoutsOutputReference</a>

---

##### `certificateMapInput`<sup>Optional</sup> <a name="certificateMapInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.certificateMapInput"></a>

```typescript
public readonly certificateMapInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `proxyBindInput`<sup>Optional</sup> <a name="proxyBindInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.proxyBindInput"></a>

```typescript
public readonly proxyBindInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `quicOverrideInput`<sup>Optional</sup> <a name="quicOverrideInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.quicOverrideInput"></a>

```typescript
public readonly quicOverrideInput: string;
```

- *Type:* string

---

##### `sslCertificatesInput`<sup>Optional</sup> <a name="sslCertificatesInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.sslCertificatesInput"></a>

```typescript
public readonly sslCertificatesInput: string[];
```

- *Type:* string[]

---

##### `sslPolicyInput`<sup>Optional</sup> <a name="sslPolicyInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.sslPolicyInput"></a>

```typescript
public readonly sslPolicyInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeTargetHttpsProxyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts">ComputeTargetHttpsProxyTimeouts</a>

---

##### `urlMapInput`<sup>Optional</sup> <a name="urlMapInput" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.urlMapInput"></a>

```typescript
public readonly urlMapInput: string;
```

- *Type:* string

---

##### `certificateMap`<sup>Required</sup> <a name="certificateMap" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.certificateMap"></a>

```typescript
public readonly certificateMap: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `proxyBind`<sup>Required</sup> <a name="proxyBind" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.proxyBind"></a>

```typescript
public readonly proxyBind: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `quicOverride`<sup>Required</sup> <a name="quicOverride" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.quicOverride"></a>

```typescript
public readonly quicOverride: string;
```

- *Type:* string

---

##### `sslCertificates`<sup>Required</sup> <a name="sslCertificates" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.sslCertificates"></a>

```typescript
public readonly sslCertificates: string[];
```

- *Type:* string[]

---

##### `sslPolicy`<sup>Required</sup> <a name="sslPolicy" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.sslPolicy"></a>

```typescript
public readonly sslPolicy: string;
```

- *Type:* string

---

##### `urlMap`<sup>Required</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeTargetHttpsProxy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeTargetInstance <a name="ComputeTargetInstance" id="@dschmidt/provider-google.ComputeTargetInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance google_compute_target_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeTargetInstance.Initializer"></a>

```typescript
import { ComputeTargetInstance } from '@dschmidt/provider-google'

new ComputeTargetInstance(scope: Construct, id: string, config: ComputeTargetInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig">ComputeTargetInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeTargetInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeTargetInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig">ComputeTargetInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.resetNatPolicy">resetNatPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeTargetInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeTargetInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeTargetInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeTargetInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeTargetInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeTargetInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeTargetInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeTargetInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeTargetInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeTargetInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetInstanceTimeouts">ComputeTargetInstanceTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeTargetInstance.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeTargetInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNatPolicy` <a name="resetNatPolicy" id="@dschmidt/provider-google.ComputeTargetInstance.resetNatPolicy"></a>

```typescript
public resetNatPolicy(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeTargetInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeTargetInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.ComputeTargetInstance.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeTargetInstance.isConstruct"></a>

```typescript
import { ComputeTargetInstance } from '@dschmidt/provider-google'

ComputeTargetInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeTargetInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceTimeoutsOutputReference">ComputeTargetInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.natPolicyInput">natPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeTargetInstanceTimeouts">ComputeTargetInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.natPolicy">natPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeTargetInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeTargetInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeTargetInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeTargetInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeTargetInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeTargetInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeTargetInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeTargetInstance.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeTargetInstance.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetInstance.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetInstanceTimeoutsOutputReference">ComputeTargetInstanceTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeTargetInstance.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeTargetInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.ComputeTargetInstance.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeTargetInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `natPolicyInput`<sup>Optional</sup> <a name="natPolicyInput" id="@dschmidt/provider-google.ComputeTargetInstance.property.natPolicyInput"></a>

```typescript
public readonly natPolicyInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeTargetInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeTargetInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeTargetInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeTargetInstanceTimeouts">ComputeTargetInstanceTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.ComputeTargetInstance.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetInstance.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.ComputeTargetInstance.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `natPolicy`<sup>Required</sup> <a name="natPolicy" id="@dschmidt/provider-google.ComputeTargetInstance.property.natPolicy"></a>

```typescript
public readonly natPolicy: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeTargetInstance.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeTargetInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeTargetPool <a name="ComputeTargetPool" id="@dschmidt/provider-google.ComputeTargetPool"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool google_compute_target_pool}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeTargetPool.Initializer"></a>

```typescript
import { ComputeTargetPool } from '@dschmidt/provider-google'

new ComputeTargetPool(scope: Construct, id: string, config: ComputeTargetPoolConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig">ComputeTargetPoolConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeTargetPool.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetPool.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeTargetPool.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetPoolConfig">ComputeTargetPoolConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetBackupPool">resetBackupPool</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetFailoverRatio">resetFailoverRatio</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetHealthChecks">resetHealthChecks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetInstances">resetInstances</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetSessionAffinity">resetSessionAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeTargetPool.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeTargetPool.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeTargetPool.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetPool.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeTargetPool.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeTargetPool.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeTargetPool.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeTargetPool.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeTargetPool.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeTargetPool.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetPool.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeTargetPool.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeTargetPoolTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetPool.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetPoolTimeouts">ComputeTargetPoolTimeouts</a>

---

##### `resetBackupPool` <a name="resetBackupPool" id="@dschmidt/provider-google.ComputeTargetPool.resetBackupPool"></a>

```typescript
public resetBackupPool(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeTargetPool.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetFailoverRatio` <a name="resetFailoverRatio" id="@dschmidt/provider-google.ComputeTargetPool.resetFailoverRatio"></a>

```typescript
public resetFailoverRatio(): void
```

##### `resetHealthChecks` <a name="resetHealthChecks" id="@dschmidt/provider-google.ComputeTargetPool.resetHealthChecks"></a>

```typescript
public resetHealthChecks(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeTargetPool.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInstances` <a name="resetInstances" id="@dschmidt/provider-google.ComputeTargetPool.resetInstances"></a>

```typescript
public resetInstances(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeTargetPool.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeTargetPool.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSessionAffinity` <a name="resetSessionAffinity" id="@dschmidt/provider-google.ComputeTargetPool.resetSessionAffinity"></a>

```typescript
public resetSessionAffinity(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeTargetPool.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeTargetPool.isConstruct"></a>

```typescript
import { ComputeTargetPool } from '@dschmidt/provider-google'

ComputeTargetPool.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeTargetPool.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetPoolTimeoutsOutputReference">ComputeTargetPoolTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.backupPoolInput">backupPoolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.failoverRatioInput">failoverRatioInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.healthChecksInput">healthChecksInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.instancesInput">instancesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.sessionAffinityInput">sessionAffinityInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeTargetPoolTimeouts">ComputeTargetPoolTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.backupPool">backupPool</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.failoverRatio">failoverRatio</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.healthChecks">healthChecks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.instances">instances</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.sessionAffinity">sessionAffinity</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeTargetPool.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeTargetPool.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeTargetPool.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeTargetPool.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeTargetPool.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeTargetPool.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeTargetPool.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetPool.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetPool.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetPool.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetPool.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetPool.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetPool.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetPool.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeTargetPool.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetPool.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetPoolTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetPoolTimeoutsOutputReference">ComputeTargetPoolTimeoutsOutputReference</a>

---

##### `backupPoolInput`<sup>Optional</sup> <a name="backupPoolInput" id="@dschmidt/provider-google.ComputeTargetPool.property.backupPoolInput"></a>

```typescript
public readonly backupPoolInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeTargetPool.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `failoverRatioInput`<sup>Optional</sup> <a name="failoverRatioInput" id="@dschmidt/provider-google.ComputeTargetPool.property.failoverRatioInput"></a>

```typescript
public readonly failoverRatioInput: number;
```

- *Type:* number

---

##### `healthChecksInput`<sup>Optional</sup> <a name="healthChecksInput" id="@dschmidt/provider-google.ComputeTargetPool.property.healthChecksInput"></a>

```typescript
public readonly healthChecksInput: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeTargetPool.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instancesInput`<sup>Optional</sup> <a name="instancesInput" id="@dschmidt/provider-google.ComputeTargetPool.property.instancesInput"></a>

```typescript
public readonly instancesInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeTargetPool.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeTargetPool.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeTargetPool.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `sessionAffinityInput`<sup>Optional</sup> <a name="sessionAffinityInput" id="@dschmidt/provider-google.ComputeTargetPool.property.sessionAffinityInput"></a>

```typescript
public readonly sessionAffinityInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeTargetPool.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeTargetPoolTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeTargetPoolTimeouts">ComputeTargetPoolTimeouts</a>

---

##### `backupPool`<sup>Required</sup> <a name="backupPool" id="@dschmidt/provider-google.ComputeTargetPool.property.backupPool"></a>

```typescript
public readonly backupPool: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetPool.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `failoverRatio`<sup>Required</sup> <a name="failoverRatio" id="@dschmidt/provider-google.ComputeTargetPool.property.failoverRatio"></a>

```typescript
public readonly failoverRatio: number;
```

- *Type:* number

---

##### `healthChecks`<sup>Required</sup> <a name="healthChecks" id="@dschmidt/provider-google.ComputeTargetPool.property.healthChecks"></a>

```typescript
public readonly healthChecks: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetPool.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instances`<sup>Required</sup> <a name="instances" id="@dschmidt/provider-google.ComputeTargetPool.property.instances"></a>

```typescript
public readonly instances: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetPool.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetPool.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeTargetPool.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `sessionAffinity`<sup>Required</sup> <a name="sessionAffinity" id="@dschmidt/provider-google.ComputeTargetPool.property.sessionAffinity"></a>

```typescript
public readonly sessionAffinity: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPool.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeTargetPool.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeTargetSslProxy <a name="ComputeTargetSslProxy" id="@dschmidt/provider-google.ComputeTargetSslProxy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy google_compute_target_ssl_proxy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeTargetSslProxy.Initializer"></a>

```typescript
import { ComputeTargetSslProxy } from '@dschmidt/provider-google'

new ComputeTargetSslProxy(scope: Construct, id: string, config: ComputeTargetSslProxyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig">ComputeTargetSslProxyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeTargetSslProxy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetSslProxy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeTargetSslProxy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig">ComputeTargetSslProxyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.resetProxyHeader">resetProxyHeader</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.resetSslPolicy">resetSslPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeTargetSslProxy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeTargetSslProxy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeTargetSslProxy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetSslProxy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeTargetSslProxy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeTargetSslProxy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeTargetSslProxy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeTargetSslProxy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeTargetSslProxy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetSslProxy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeTargetSslProxy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeTargetSslProxyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetSslProxy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeouts">ComputeTargetSslProxyTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeTargetSslProxy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeTargetSslProxy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeTargetSslProxy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProxyHeader` <a name="resetProxyHeader" id="@dschmidt/provider-google.ComputeTargetSslProxy.resetProxyHeader"></a>

```typescript
public resetProxyHeader(): void
```

##### `resetSslPolicy` <a name="resetSslPolicy" id="@dschmidt/provider-google.ComputeTargetSslProxy.resetSslPolicy"></a>

```typescript
public resetSslPolicy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeTargetSslProxy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeTargetSslProxy.isConstruct"></a>

```typescript
import { ComputeTargetSslProxy } from '@dschmidt/provider-google'

ComputeTargetSslProxy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeTargetSslProxy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.proxyId">proxyId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeoutsOutputReference">ComputeTargetSslProxyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.backendServiceInput">backendServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.proxyHeaderInput">proxyHeaderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.sslCertificatesInput">sslCertificatesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.sslPolicyInput">sslPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeouts">ComputeTargetSslProxyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.backendService">backendService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.sslCertificates">sslCertificates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.sslPolicy">sslPolicy</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `proxyId`<sup>Required</sup> <a name="proxyId" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.proxyId"></a>

```typescript
public readonly proxyId: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetSslProxyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeoutsOutputReference">ComputeTargetSslProxyTimeoutsOutputReference</a>

---

##### `backendServiceInput`<sup>Optional</sup> <a name="backendServiceInput" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.backendServiceInput"></a>

```typescript
public readonly backendServiceInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `proxyHeaderInput`<sup>Optional</sup> <a name="proxyHeaderInput" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.proxyHeaderInput"></a>

```typescript
public readonly proxyHeaderInput: string;
```

- *Type:* string

---

##### `sslCertificatesInput`<sup>Optional</sup> <a name="sslCertificatesInput" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.sslCertificatesInput"></a>

```typescript
public readonly sslCertificatesInput: string[];
```

- *Type:* string[]

---

##### `sslPolicyInput`<sup>Optional</sup> <a name="sslPolicyInput" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.sslPolicyInput"></a>

```typescript
public readonly sslPolicyInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeTargetSslProxyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeouts">ComputeTargetSslProxyTimeouts</a>

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `proxyHeader`<sup>Required</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

---

##### `sslCertificates`<sup>Required</sup> <a name="sslCertificates" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.sslCertificates"></a>

```typescript
public readonly sslCertificates: string[];
```

- *Type:* string[]

---

##### `sslPolicy`<sup>Required</sup> <a name="sslPolicy" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.sslPolicy"></a>

```typescript
public readonly sslPolicy: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeTargetSslProxy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeTargetTcpProxy <a name="ComputeTargetTcpProxy" id="@dschmidt/provider-google.ComputeTargetTcpProxy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy google_compute_target_tcp_proxy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeTargetTcpProxy.Initializer"></a>

```typescript
import { ComputeTargetTcpProxy } from '@dschmidt/provider-google'

new ComputeTargetTcpProxy(scope: Construct, id: string, config: ComputeTargetTcpProxyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig">ComputeTargetTcpProxyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeTargetTcpProxy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetTcpProxy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeTargetTcpProxy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig">ComputeTargetTcpProxyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.resetProxyBind">resetProxyBind</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.resetProxyHeader">resetProxyHeader</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeTargetTcpProxy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeTargetTcpProxy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeTargetTcpProxy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetTcpProxy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeTargetTcpProxy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeTargetTcpProxy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeTargetTcpProxy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeTargetTcpProxy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeTargetTcpProxy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeTargetTcpProxy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeTargetTcpProxy.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeTargetTcpProxyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeTargetTcpProxy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts">ComputeTargetTcpProxyTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeTargetTcpProxy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeTargetTcpProxy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeTargetTcpProxy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProxyBind` <a name="resetProxyBind" id="@dschmidt/provider-google.ComputeTargetTcpProxy.resetProxyBind"></a>

```typescript
public resetProxyBind(): void
```

##### `resetProxyHeader` <a name="resetProxyHeader" id="@dschmidt/provider-google.ComputeTargetTcpProxy.resetProxyHeader"></a>

```typescript
public resetProxyHeader(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeTargetTcpProxy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeTargetTcpProxy.isConstruct"></a>

```typescript
import { ComputeTargetTcpProxy } from '@dschmidt/provider-google'

ComputeTargetTcpProxy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeTargetTcpProxy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyId">proxyId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeoutsOutputReference">ComputeTargetTcpProxyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.backendServiceInput">backendServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyBindInput">proxyBindInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyHeaderInput">proxyHeaderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts">ComputeTargetTcpProxyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.backendService">backendService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyBind">proxyBind</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `proxyId`<sup>Required</sup> <a name="proxyId" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyId"></a>

```typescript
public readonly proxyId: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetTcpProxyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeoutsOutputReference">ComputeTargetTcpProxyTimeoutsOutputReference</a>

---

##### `backendServiceInput`<sup>Optional</sup> <a name="backendServiceInput" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.backendServiceInput"></a>

```typescript
public readonly backendServiceInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `proxyBindInput`<sup>Optional</sup> <a name="proxyBindInput" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyBindInput"></a>

```typescript
public readonly proxyBindInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `proxyHeaderInput`<sup>Optional</sup> <a name="proxyHeaderInput" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyHeaderInput"></a>

```typescript
public readonly proxyHeaderInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeTargetTcpProxyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts">ComputeTargetTcpProxyTimeouts</a>

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `proxyBind`<sup>Required</sup> <a name="proxyBind" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyBind"></a>

```typescript
public readonly proxyBind: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `proxyHeader`<sup>Required</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeTargetTcpProxy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeUrlMap <a name="ComputeUrlMap" id="@dschmidt/provider-google.ComputeUrlMap"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_url_map google_compute_url_map}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeUrlMap.Initializer"></a>

```typescript
import { ComputeUrlMap } from '@dschmidt/provider-google'

new ComputeUrlMap(scope: Construct, id: string, config: ComputeUrlMapConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig">ComputeUrlMapConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeUrlMap.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeUrlMap.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeUrlMap.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapConfig">ComputeUrlMapConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.putDefaultRouteAction">putDefaultRouteAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.putDefaultUrlRedirect">putDefaultUrlRedirect</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.putHeaderAction">putHeaderAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.putHostRule">putHostRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.putPathMatcher">putPathMatcher</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.putTest">putTest</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetDefaultRouteAction">resetDefaultRouteAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetDefaultService">resetDefaultService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetDefaultUrlRedirect">resetDefaultUrlRedirect</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetHeaderAction">resetHeaderAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetHostRule">resetHostRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetPathMatcher">resetPathMatcher</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetTest">resetTest</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeUrlMap.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeUrlMap.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeUrlMap.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeUrlMap.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeUrlMap.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeUrlMap.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeUrlMap.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeUrlMap.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeUrlMap.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeUrlMap.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeUrlMap.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDefaultRouteAction` <a name="putDefaultRouteAction" id="@dschmidt/provider-google.ComputeUrlMap.putDefaultRouteAction"></a>

```typescript
public putDefaultRouteAction(value: ComputeUrlMapDefaultRouteAction): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeUrlMap.putDefaultRouteAction.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction">ComputeUrlMapDefaultRouteAction</a>

---

##### `putDefaultUrlRedirect` <a name="putDefaultUrlRedirect" id="@dschmidt/provider-google.ComputeUrlMap.putDefaultUrlRedirect"></a>

```typescript
public putDefaultUrlRedirect(value: ComputeUrlMapDefaultUrlRedirect): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeUrlMap.putDefaultUrlRedirect.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect">ComputeUrlMapDefaultUrlRedirect</a>

---

##### `putHeaderAction` <a name="putHeaderAction" id="@dschmidt/provider-google.ComputeUrlMap.putHeaderAction"></a>

```typescript
public putHeaderAction(value: ComputeUrlMapHeaderAction): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeUrlMap.putHeaderAction.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapHeaderAction">ComputeUrlMapHeaderAction</a>

---

##### `putHostRule` <a name="putHostRule" id="@dschmidt/provider-google.ComputeUrlMap.putHostRule"></a>

```typescript
public putHostRule(value: IResolvable | ComputeUrlMapHostRule[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeUrlMap.putHostRule.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapHostRule">ComputeUrlMapHostRule</a>[]

---

##### `putPathMatcher` <a name="putPathMatcher" id="@dschmidt/provider-google.ComputeUrlMap.putPathMatcher"></a>

```typescript
public putPathMatcher(value: IResolvable | ComputeUrlMapPathMatcher[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeUrlMap.putPathMatcher.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher">ComputeUrlMapPathMatcher</a>[]

---

##### `putTest` <a name="putTest" id="@dschmidt/provider-google.ComputeUrlMap.putTest"></a>

```typescript
public putTest(value: IResolvable | ComputeUrlMapTest[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeUrlMap.putTest.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapTest">ComputeUrlMapTest</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeUrlMap.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeUrlMapTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeUrlMap.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapTimeouts">ComputeUrlMapTimeouts</a>

---

##### `resetDefaultRouteAction` <a name="resetDefaultRouteAction" id="@dschmidt/provider-google.ComputeUrlMap.resetDefaultRouteAction"></a>

```typescript
public resetDefaultRouteAction(): void
```

##### `resetDefaultService` <a name="resetDefaultService" id="@dschmidt/provider-google.ComputeUrlMap.resetDefaultService"></a>

```typescript
public resetDefaultService(): void
```

##### `resetDefaultUrlRedirect` <a name="resetDefaultUrlRedirect" id="@dschmidt/provider-google.ComputeUrlMap.resetDefaultUrlRedirect"></a>

```typescript
public resetDefaultUrlRedirect(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeUrlMap.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetHeaderAction` <a name="resetHeaderAction" id="@dschmidt/provider-google.ComputeUrlMap.resetHeaderAction"></a>

```typescript
public resetHeaderAction(): void
```

##### `resetHostRule` <a name="resetHostRule" id="@dschmidt/provider-google.ComputeUrlMap.resetHostRule"></a>

```typescript
public resetHostRule(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeUrlMap.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPathMatcher` <a name="resetPathMatcher" id="@dschmidt/provider-google.ComputeUrlMap.resetPathMatcher"></a>

```typescript
public resetPathMatcher(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeUrlMap.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTest` <a name="resetTest" id="@dschmidt/provider-google.ComputeUrlMap.resetTest"></a>

```typescript
public resetTest(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeUrlMap.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeUrlMap.isConstruct"></a>

```typescript
import { ComputeUrlMap } from '@dschmidt/provider-google'

ComputeUrlMap.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeUrlMap.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.defaultRouteAction">defaultRouteAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionOutputReference">ComputeUrlMapDefaultRouteActionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.defaultUrlRedirect">defaultUrlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirectOutputReference">ComputeUrlMapDefaultUrlRedirectOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionOutputReference">ComputeUrlMapHeaderActionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.hostRule">hostRule</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapHostRuleList">ComputeUrlMapHostRuleList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.mapId">mapId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.pathMatcher">pathMatcher</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherList">ComputeUrlMapPathMatcherList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.test">test</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapTestList">ComputeUrlMapTestList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapTimeoutsOutputReference">ComputeUrlMapTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.defaultRouteActionInput">defaultRouteActionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction">ComputeUrlMapDefaultRouteAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.defaultServiceInput">defaultServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.defaultUrlRedirectInput">defaultUrlRedirectInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect">ComputeUrlMapDefaultUrlRedirect</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.headerActionInput">headerActionInput</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderAction">ComputeUrlMapHeaderAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.hostRuleInput">hostRuleInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapHostRule">ComputeUrlMapHostRule</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.pathMatcherInput">pathMatcherInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher">ComputeUrlMapPathMatcher</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.testInput">testInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapTest">ComputeUrlMapTest</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapTimeouts">ComputeUrlMapTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.defaultService">defaultService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeUrlMap.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeUrlMap.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeUrlMap.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeUrlMap.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeUrlMap.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeUrlMap.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeUrlMap.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeUrlMap.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeUrlMap.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeUrlMap.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeUrlMap.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeUrlMap.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeUrlMap.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeUrlMap.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeUrlMap.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `defaultRouteAction`<sup>Required</sup> <a name="defaultRouteAction" id="@dschmidt/provider-google.ComputeUrlMap.property.defaultRouteAction"></a>

```typescript
public readonly defaultRouteAction: ComputeUrlMapDefaultRouteActionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionOutputReference">ComputeUrlMapDefaultRouteActionOutputReference</a>

---

##### `defaultUrlRedirect`<sup>Required</sup> <a name="defaultUrlRedirect" id="@dschmidt/provider-google.ComputeUrlMap.property.defaultUrlRedirect"></a>

```typescript
public readonly defaultUrlRedirect: ComputeUrlMapDefaultUrlRedirectOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirectOutputReference">ComputeUrlMapDefaultUrlRedirectOutputReference</a>

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.ComputeUrlMap.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `headerAction`<sup>Required</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeUrlMap.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeUrlMapHeaderActionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionOutputReference">ComputeUrlMapHeaderActionOutputReference</a>

---

##### `hostRule`<sup>Required</sup> <a name="hostRule" id="@dschmidt/provider-google.ComputeUrlMap.property.hostRule"></a>

```typescript
public readonly hostRule: ComputeUrlMapHostRuleList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapHostRuleList">ComputeUrlMapHostRuleList</a>

---

##### `mapId`<sup>Required</sup> <a name="mapId" id="@dschmidt/provider-google.ComputeUrlMap.property.mapId"></a>

```typescript
public readonly mapId: number;
```

- *Type:* number

---

##### `pathMatcher`<sup>Required</sup> <a name="pathMatcher" id="@dschmidt/provider-google.ComputeUrlMap.property.pathMatcher"></a>

```typescript
public readonly pathMatcher: ComputeUrlMapPathMatcherList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherList">ComputeUrlMapPathMatcherList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeUrlMap.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `test`<sup>Required</sup> <a name="test" id="@dschmidt/provider-google.ComputeUrlMap.property.test"></a>

```typescript
public readonly test: ComputeUrlMapTestList;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapTestList">ComputeUrlMapTestList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeUrlMap.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeUrlMapTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapTimeoutsOutputReference">ComputeUrlMapTimeoutsOutputReference</a>

---

##### `defaultRouteActionInput`<sup>Optional</sup> <a name="defaultRouteActionInput" id="@dschmidt/provider-google.ComputeUrlMap.property.defaultRouteActionInput"></a>

```typescript
public readonly defaultRouteActionInput: ComputeUrlMapDefaultRouteAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction">ComputeUrlMapDefaultRouteAction</a>

---

##### `defaultServiceInput`<sup>Optional</sup> <a name="defaultServiceInput" id="@dschmidt/provider-google.ComputeUrlMap.property.defaultServiceInput"></a>

```typescript
public readonly defaultServiceInput: string;
```

- *Type:* string

---

##### `defaultUrlRedirectInput`<sup>Optional</sup> <a name="defaultUrlRedirectInput" id="@dschmidt/provider-google.ComputeUrlMap.property.defaultUrlRedirectInput"></a>

```typescript
public readonly defaultUrlRedirectInput: ComputeUrlMapDefaultUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect">ComputeUrlMapDefaultUrlRedirect</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeUrlMap.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `headerActionInput`<sup>Optional</sup> <a name="headerActionInput" id="@dschmidt/provider-google.ComputeUrlMap.property.headerActionInput"></a>

```typescript
public readonly headerActionInput: ComputeUrlMapHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapHeaderAction">ComputeUrlMapHeaderAction</a>

---

##### `hostRuleInput`<sup>Optional</sup> <a name="hostRuleInput" id="@dschmidt/provider-google.ComputeUrlMap.property.hostRuleInput"></a>

```typescript
public readonly hostRuleInput: IResolvable | ComputeUrlMapHostRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapHostRule">ComputeUrlMapHostRule</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeUrlMap.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeUrlMap.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `pathMatcherInput`<sup>Optional</sup> <a name="pathMatcherInput" id="@dschmidt/provider-google.ComputeUrlMap.property.pathMatcherInput"></a>

```typescript
public readonly pathMatcherInput: IResolvable | ComputeUrlMapPathMatcher[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher">ComputeUrlMapPathMatcher</a>[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeUrlMap.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `testInput`<sup>Optional</sup> <a name="testInput" id="@dschmidt/provider-google.ComputeUrlMap.property.testInput"></a>

```typescript
public readonly testInput: IResolvable | ComputeUrlMapTest[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapTest">ComputeUrlMapTest</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeUrlMap.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeUrlMapTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapTimeouts">ComputeUrlMapTimeouts</a>

---

##### `defaultService`<sup>Required</sup> <a name="defaultService" id="@dschmidt/provider-google.ComputeUrlMap.property.defaultService"></a>

```typescript
public readonly defaultService: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeUrlMap.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeUrlMap.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeUrlMap.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeUrlMap.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMap.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeUrlMap.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeVpnGateway <a name="ComputeVpnGateway" id="@dschmidt/provider-google.ComputeVpnGateway"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway google_compute_vpn_gateway}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeVpnGateway.Initializer"></a>

```typescript
import { ComputeVpnGateway } from '@dschmidt/provider-google'

new ComputeVpnGateway(scope: Construct, id: string, config: ComputeVpnGatewayConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig">ComputeVpnGatewayConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeVpnGateway.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeVpnGateway.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeVpnGateway.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig">ComputeVpnGatewayConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeVpnGateway.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeVpnGateway.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeVpnGateway.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeVpnGateway.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeVpnGateway.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeVpnGateway.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeVpnGateway.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeVpnGateway.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeVpnGateway.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnGateway.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeVpnGateway.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeVpnGatewayTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeVpnGateway.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeVpnGatewayTimeouts">ComputeVpnGatewayTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeVpnGateway.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeVpnGateway.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeVpnGateway.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeVpnGateway.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeVpnGateway.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeVpnGateway.isConstruct"></a>

```typescript
import { ComputeVpnGateway } from '@dschmidt/provider-google'

ComputeVpnGateway.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeVpnGateway.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.gatewayId">gatewayId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayTimeoutsOutputReference">ComputeVpnGatewayTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeVpnGatewayTimeouts">ComputeVpnGatewayTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeVpnGateway.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeVpnGateway.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeVpnGateway.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeVpnGateway.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeVpnGateway.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeVpnGateway.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeVpnGateway.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeVpnGateway.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeVpnGateway.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeVpnGateway.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeVpnGateway.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeVpnGateway.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeVpnGateway.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeVpnGateway.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeVpnGateway.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `gatewayId`<sup>Required</sup> <a name="gatewayId" id="@dschmidt/provider-google.ComputeVpnGateway.property.gatewayId"></a>

```typescript
public readonly gatewayId: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeVpnGateway.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeVpnGateway.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeVpnGatewayTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeVpnGatewayTimeoutsOutputReference">ComputeVpnGatewayTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeVpnGateway.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeVpnGateway.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeVpnGateway.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ComputeVpnGateway.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeVpnGateway.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeVpnGateway.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeVpnGateway.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeVpnGatewayTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeVpnGatewayTimeouts">ComputeVpnGatewayTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeVpnGateway.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeVpnGateway.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeVpnGateway.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeVpnGateway.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeVpnGateway.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeVpnGateway.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGateway.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeVpnGateway.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ComputeVpnTunnel <a name="ComputeVpnTunnel" id="@dschmidt/provider-google.ComputeVpnTunnel"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel google_compute_vpn_tunnel}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ComputeVpnTunnel.Initializer"></a>

```typescript
import { ComputeVpnTunnel } from '@dschmidt/provider-google'

new ComputeVpnTunnel(scope: Construct, id: string, config: ComputeVpnTunnelConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig">ComputeVpnTunnelConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ComputeVpnTunnel.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeVpnTunnel.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ComputeVpnTunnel.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig">ComputeVpnTunnelConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetIkeVersion">resetIkeVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetLocalTrafficSelector">resetLocalTrafficSelector</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetPeerExternalGateway">resetPeerExternalGateway</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetPeerExternalGatewayInterface">resetPeerExternalGatewayInterface</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetPeerGcpGateway">resetPeerGcpGateway</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetPeerIp">resetPeerIp</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetRemoteTrafficSelector">resetRemoteTrafficSelector</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetRouter">resetRouter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetTargetVpnGateway">resetTargetVpnGateway</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetVpnGateway">resetVpnGateway</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.resetVpnGatewayInterface">resetVpnGatewayInterface</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ComputeVpnTunnel.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ComputeVpnTunnel.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeVpnTunnel.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeVpnTunnel.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ComputeVpnTunnel.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ComputeVpnTunnel.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ComputeVpnTunnel.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ComputeVpnTunnel.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ComputeVpnTunnel.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ComputeVpnTunnel.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ComputeVpnTunnel.putTimeouts"></a>

```typescript
public putTimeouts(value: ComputeVpnTunnelTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeVpnTunnel.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ComputeVpnTunnelTimeouts">ComputeVpnTunnelTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ComputeVpnTunnel.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ComputeVpnTunnel.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIkeVersion` <a name="resetIkeVersion" id="@dschmidt/provider-google.ComputeVpnTunnel.resetIkeVersion"></a>

```typescript
public resetIkeVersion(): void
```

##### `resetLocalTrafficSelector` <a name="resetLocalTrafficSelector" id="@dschmidt/provider-google.ComputeVpnTunnel.resetLocalTrafficSelector"></a>

```typescript
public resetLocalTrafficSelector(): void
```

##### `resetPeerExternalGateway` <a name="resetPeerExternalGateway" id="@dschmidt/provider-google.ComputeVpnTunnel.resetPeerExternalGateway"></a>

```typescript
public resetPeerExternalGateway(): void
```

##### `resetPeerExternalGatewayInterface` <a name="resetPeerExternalGatewayInterface" id="@dschmidt/provider-google.ComputeVpnTunnel.resetPeerExternalGatewayInterface"></a>

```typescript
public resetPeerExternalGatewayInterface(): void
```

##### `resetPeerGcpGateway` <a name="resetPeerGcpGateway" id="@dschmidt/provider-google.ComputeVpnTunnel.resetPeerGcpGateway"></a>

```typescript
public resetPeerGcpGateway(): void
```

##### `resetPeerIp` <a name="resetPeerIp" id="@dschmidt/provider-google.ComputeVpnTunnel.resetPeerIp"></a>

```typescript
public resetPeerIp(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ComputeVpnTunnel.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.ComputeVpnTunnel.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetRemoteTrafficSelector` <a name="resetRemoteTrafficSelector" id="@dschmidt/provider-google.ComputeVpnTunnel.resetRemoteTrafficSelector"></a>

```typescript
public resetRemoteTrafficSelector(): void
```

##### `resetRouter` <a name="resetRouter" id="@dschmidt/provider-google.ComputeVpnTunnel.resetRouter"></a>

```typescript
public resetRouter(): void
```

##### `resetTargetVpnGateway` <a name="resetTargetVpnGateway" id="@dschmidt/provider-google.ComputeVpnTunnel.resetTargetVpnGateway"></a>

```typescript
public resetTargetVpnGateway(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ComputeVpnTunnel.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVpnGateway` <a name="resetVpnGateway" id="@dschmidt/provider-google.ComputeVpnTunnel.resetVpnGateway"></a>

```typescript
public resetVpnGateway(): void
```

##### `resetVpnGatewayInterface` <a name="resetVpnGatewayInterface" id="@dschmidt/provider-google.ComputeVpnTunnel.resetVpnGatewayInterface"></a>

```typescript
public resetVpnGatewayInterface(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ComputeVpnTunnel.isConstruct"></a>

```typescript
import { ComputeVpnTunnel } from '@dschmidt/provider-google'

ComputeVpnTunnel.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ComputeVpnTunnel.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.detailedStatus">detailedStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.sharedSecretHash">sharedSecretHash</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelTimeoutsOutputReference">ComputeVpnTunnelTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.tunnelId">tunnelId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.ikeVersionInput">ikeVersionInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.localTrafficSelectorInput">localTrafficSelectorInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.peerExternalGatewayInput">peerExternalGatewayInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.peerExternalGatewayInterfaceInput">peerExternalGatewayInterfaceInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.peerGcpGatewayInput">peerGcpGatewayInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.peerIpInput">peerIpInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.remoteTrafficSelectorInput">remoteTrafficSelectorInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.routerInput">routerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.sharedSecretInput">sharedSecretInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.targetVpnGatewayInput">targetVpnGatewayInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeVpnTunnelTimeouts">ComputeVpnTunnelTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.vpnGatewayInput">vpnGatewayInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.vpnGatewayInterfaceInput">vpnGatewayInterfaceInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.ikeVersion">ikeVersion</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.localTrafficSelector">localTrafficSelector</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.peerExternalGateway">peerExternalGateway</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.peerExternalGatewayInterface">peerExternalGatewayInterface</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.peerGcpGateway">peerGcpGateway</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.peerIp">peerIp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.remoteTrafficSelector">remoteTrafficSelector</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.router">router</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.sharedSecret">sharedSecret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.targetVpnGateway">targetVpnGateway</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.vpnGateway">vpnGateway</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.vpnGatewayInterface">vpnGatewayInterface</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ComputeVpnTunnel.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ComputeVpnTunnel.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ComputeVpnTunnel.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ComputeVpnTunnel.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ComputeVpnTunnel.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ComputeVpnTunnel.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ComputeVpnTunnel.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeVpnTunnel.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeVpnTunnel.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeVpnTunnel.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeVpnTunnel.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeVpnTunnel.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeVpnTunnel.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeVpnTunnel.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.ComputeVpnTunnel.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `detailedStatus`<sup>Required</sup> <a name="detailedStatus" id="@dschmidt/provider-google.ComputeVpnTunnel.property.detailedStatus"></a>

```typescript
public readonly detailedStatus: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ComputeVpnTunnel.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `sharedSecretHash`<sup>Required</sup> <a name="sharedSecretHash" id="@dschmidt/provider-google.ComputeVpnTunnel.property.sharedSecretHash"></a>

```typescript
public readonly sharedSecretHash: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeVpnTunnel.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeVpnTunnelTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeVpnTunnelTimeoutsOutputReference">ComputeVpnTunnelTimeoutsOutputReference</a>

---

##### `tunnelId`<sup>Required</sup> <a name="tunnelId" id="@dschmidt/provider-google.ComputeVpnTunnel.property.tunnelId"></a>

```typescript
public readonly tunnelId: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ikeVersionInput`<sup>Optional</sup> <a name="ikeVersionInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.ikeVersionInput"></a>

```typescript
public readonly ikeVersionInput: number;
```

- *Type:* number

---

##### `localTrafficSelectorInput`<sup>Optional</sup> <a name="localTrafficSelectorInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.localTrafficSelectorInput"></a>

```typescript
public readonly localTrafficSelectorInput: string[];
```

- *Type:* string[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `peerExternalGatewayInput`<sup>Optional</sup> <a name="peerExternalGatewayInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.peerExternalGatewayInput"></a>

```typescript
public readonly peerExternalGatewayInput: string;
```

- *Type:* string

---

##### `peerExternalGatewayInterfaceInput`<sup>Optional</sup> <a name="peerExternalGatewayInterfaceInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.peerExternalGatewayInterfaceInput"></a>

```typescript
public readonly peerExternalGatewayInterfaceInput: number;
```

- *Type:* number

---

##### `peerGcpGatewayInput`<sup>Optional</sup> <a name="peerGcpGatewayInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.peerGcpGatewayInput"></a>

```typescript
public readonly peerGcpGatewayInput: string;
```

- *Type:* string

---

##### `peerIpInput`<sup>Optional</sup> <a name="peerIpInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.peerIpInput"></a>

```typescript
public readonly peerIpInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `remoteTrafficSelectorInput`<sup>Optional</sup> <a name="remoteTrafficSelectorInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.remoteTrafficSelectorInput"></a>

```typescript
public readonly remoteTrafficSelectorInput: string[];
```

- *Type:* string[]

---

##### `routerInput`<sup>Optional</sup> <a name="routerInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.routerInput"></a>

```typescript
public readonly routerInput: string;
```

- *Type:* string

---

##### `sharedSecretInput`<sup>Optional</sup> <a name="sharedSecretInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.sharedSecretInput"></a>

```typescript
public readonly sharedSecretInput: string;
```

- *Type:* string

---

##### `targetVpnGatewayInput`<sup>Optional</sup> <a name="targetVpnGatewayInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.targetVpnGatewayInput"></a>

```typescript
public readonly targetVpnGatewayInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ComputeVpnTunnelTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeVpnTunnelTimeouts">ComputeVpnTunnelTimeouts</a>

---

##### `vpnGatewayInput`<sup>Optional</sup> <a name="vpnGatewayInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.vpnGatewayInput"></a>

```typescript
public readonly vpnGatewayInput: string;
```

- *Type:* string

---

##### `vpnGatewayInterfaceInput`<sup>Optional</sup> <a name="vpnGatewayInterfaceInput" id="@dschmidt/provider-google.ComputeVpnTunnel.property.vpnGatewayInterfaceInput"></a>

```typescript
public readonly vpnGatewayInterfaceInput: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ComputeVpnTunnel.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeVpnTunnel.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ikeVersion`<sup>Required</sup> <a name="ikeVersion" id="@dschmidt/provider-google.ComputeVpnTunnel.property.ikeVersion"></a>

```typescript
public readonly ikeVersion: number;
```

- *Type:* number

---

##### `localTrafficSelector`<sup>Required</sup> <a name="localTrafficSelector" id="@dschmidt/provider-google.ComputeVpnTunnel.property.localTrafficSelector"></a>

```typescript
public readonly localTrafficSelector: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeVpnTunnel.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `peerExternalGateway`<sup>Required</sup> <a name="peerExternalGateway" id="@dschmidt/provider-google.ComputeVpnTunnel.property.peerExternalGateway"></a>

```typescript
public readonly peerExternalGateway: string;
```

- *Type:* string

---

##### `peerExternalGatewayInterface`<sup>Required</sup> <a name="peerExternalGatewayInterface" id="@dschmidt/provider-google.ComputeVpnTunnel.property.peerExternalGatewayInterface"></a>

```typescript
public readonly peerExternalGatewayInterface: number;
```

- *Type:* number

---

##### `peerGcpGateway`<sup>Required</sup> <a name="peerGcpGateway" id="@dschmidt/provider-google.ComputeVpnTunnel.property.peerGcpGateway"></a>

```typescript
public readonly peerGcpGateway: string;
```

- *Type:* string

---

##### `peerIp`<sup>Required</sup> <a name="peerIp" id="@dschmidt/provider-google.ComputeVpnTunnel.property.peerIp"></a>

```typescript
public readonly peerIp: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeVpnTunnel.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeVpnTunnel.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `remoteTrafficSelector`<sup>Required</sup> <a name="remoteTrafficSelector" id="@dschmidt/provider-google.ComputeVpnTunnel.property.remoteTrafficSelector"></a>

```typescript
public readonly remoteTrafficSelector: string[];
```

- *Type:* string[]

---

##### `router`<sup>Required</sup> <a name="router" id="@dschmidt/provider-google.ComputeVpnTunnel.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

---

##### `sharedSecret`<sup>Required</sup> <a name="sharedSecret" id="@dschmidt/provider-google.ComputeVpnTunnel.property.sharedSecret"></a>

```typescript
public readonly sharedSecret: string;
```

- *Type:* string

---

##### `targetVpnGateway`<sup>Required</sup> <a name="targetVpnGateway" id="@dschmidt/provider-google.ComputeVpnTunnel.property.targetVpnGateway"></a>

```typescript
public readonly targetVpnGateway: string;
```

- *Type:* string

---

##### `vpnGateway`<sup>Required</sup> <a name="vpnGateway" id="@dschmidt/provider-google.ComputeVpnTunnel.property.vpnGateway"></a>

```typescript
public readonly vpnGateway: string;
```

- *Type:* string

---

##### `vpnGatewayInterface`<sup>Required</sup> <a name="vpnGatewayInterface" id="@dschmidt/provider-google.ComputeVpnTunnel.property.vpnGatewayInterface"></a>

```typescript
public readonly vpnGatewayInterface: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnel.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ComputeVpnTunnel.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerAnalysisNote <a name="ContainerAnalysisNote" id="@dschmidt/provider-google.ContainerAnalysisNote"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note google_container_analysis_note}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerAnalysisNote.Initializer"></a>

```typescript
import { ContainerAnalysisNote } from '@dschmidt/provider-google'

new ContainerAnalysisNote(scope: Construct, id: string, config: ContainerAnalysisNoteConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig">ContainerAnalysisNoteConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerAnalysisNote.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAnalysisNote.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAnalysisNote.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig">ContainerAnalysisNoteConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.putAttestationAuthority">putAttestationAuthority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.putRelatedUrl">putRelatedUrl</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.resetExpirationTime">resetExpirationTime</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.resetLongDescription">resetLongDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.resetRelatedNoteNames">resetRelatedNoteNames</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.resetRelatedUrl">resetRelatedUrl</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.resetShortDescription">resetShortDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerAnalysisNote.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerAnalysisNote.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerAnalysisNote.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAnalysisNote.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerAnalysisNote.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerAnalysisNote.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerAnalysisNote.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerAnalysisNote.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerAnalysisNote.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisNote.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAttestationAuthority` <a name="putAttestationAuthority" id="@dschmidt/provider-google.ContainerAnalysisNote.putAttestationAuthority"></a>

```typescript
public putAttestationAuthority(value: ContainerAnalysisNoteAttestationAuthority): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAnalysisNote.putAttestationAuthority.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthority">ContainerAnalysisNoteAttestationAuthority</a>

---

##### `putRelatedUrl` <a name="putRelatedUrl" id="@dschmidt/provider-google.ContainerAnalysisNote.putRelatedUrl"></a>

```typescript
public putRelatedUrl(value: IResolvable | ContainerAnalysisNoteRelatedUrl[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAnalysisNote.putRelatedUrl.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl">ContainerAnalysisNoteRelatedUrl</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ContainerAnalysisNote.putTimeouts"></a>

```typescript
public putTimeouts(value: ContainerAnalysisNoteTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAnalysisNote.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeouts">ContainerAnalysisNoteTimeouts</a>

---

##### `resetExpirationTime` <a name="resetExpirationTime" id="@dschmidt/provider-google.ContainerAnalysisNote.resetExpirationTime"></a>

```typescript
public resetExpirationTime(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerAnalysisNote.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLongDescription` <a name="resetLongDescription" id="@dschmidt/provider-google.ContainerAnalysisNote.resetLongDescription"></a>

```typescript
public resetLongDescription(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerAnalysisNote.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRelatedNoteNames` <a name="resetRelatedNoteNames" id="@dschmidt/provider-google.ContainerAnalysisNote.resetRelatedNoteNames"></a>

```typescript
public resetRelatedNoteNames(): void
```

##### `resetRelatedUrl` <a name="resetRelatedUrl" id="@dschmidt/provider-google.ContainerAnalysisNote.resetRelatedUrl"></a>

```typescript
public resetRelatedUrl(): void
```

##### `resetShortDescription` <a name="resetShortDescription" id="@dschmidt/provider-google.ContainerAnalysisNote.resetShortDescription"></a>

```typescript
public resetShortDescription(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ContainerAnalysisNote.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerAnalysisNote.isConstruct"></a>

```typescript
import { ContainerAnalysisNote } from '@dschmidt/provider-google'

ContainerAnalysisNote.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerAnalysisNote.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.attestationAuthority">attestationAuthority</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthorityOutputReference">ContainerAnalysisNoteAttestationAuthorityOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.kind">kind</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.relatedUrl">relatedUrl</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrlList">ContainerAnalysisNoteRelatedUrlList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeoutsOutputReference">ContainerAnalysisNoteTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.attestationAuthorityInput">attestationAuthorityInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthority">ContainerAnalysisNoteAttestationAuthority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.expirationTimeInput">expirationTimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.longDescriptionInput">longDescriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.relatedNoteNamesInput">relatedNoteNamesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.relatedUrlInput">relatedUrlInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl">ContainerAnalysisNoteRelatedUrl</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.shortDescriptionInput">shortDescriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeouts">ContainerAnalysisNoteTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.expirationTime">expirationTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.longDescription">longDescription</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.relatedNoteNames">relatedNoteNames</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.shortDescription">shortDescription</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerAnalysisNote.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerAnalysisNote.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerAnalysisNote.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerAnalysisNote.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerAnalysisNote.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerAnalysisNote.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerAnalysisNote.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAnalysisNote.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAnalysisNote.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAnalysisNote.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAnalysisNote.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAnalysisNote.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAnalysisNote.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAnalysisNote.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestationAuthority`<sup>Required</sup> <a name="attestationAuthority" id="@dschmidt/provider-google.ContainerAnalysisNote.property.attestationAuthority"></a>

```typescript
public readonly attestationAuthority: ContainerAnalysisNoteAttestationAuthorityOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthorityOutputReference">ContainerAnalysisNoteAttestationAuthorityOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ContainerAnalysisNote.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.ContainerAnalysisNote.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

---

##### `relatedUrl`<sup>Required</sup> <a name="relatedUrl" id="@dschmidt/provider-google.ContainerAnalysisNote.property.relatedUrl"></a>

```typescript
public readonly relatedUrl: ContainerAnalysisNoteRelatedUrlList;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrlList">ContainerAnalysisNoteRelatedUrlList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAnalysisNote.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAnalysisNoteTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeoutsOutputReference">ContainerAnalysisNoteTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ContainerAnalysisNote.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `attestationAuthorityInput`<sup>Optional</sup> <a name="attestationAuthorityInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.attestationAuthorityInput"></a>

```typescript
public readonly attestationAuthorityInput: ContainerAnalysisNoteAttestationAuthority;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthority">ContainerAnalysisNoteAttestationAuthority</a>

---

##### `expirationTimeInput`<sup>Optional</sup> <a name="expirationTimeInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.expirationTimeInput"></a>

```typescript
public readonly expirationTimeInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `longDescriptionInput`<sup>Optional</sup> <a name="longDescriptionInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.longDescriptionInput"></a>

```typescript
public readonly longDescriptionInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `relatedNoteNamesInput`<sup>Optional</sup> <a name="relatedNoteNamesInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.relatedNoteNamesInput"></a>

```typescript
public readonly relatedNoteNamesInput: string[];
```

- *Type:* string[]

---

##### `relatedUrlInput`<sup>Optional</sup> <a name="relatedUrlInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.relatedUrlInput"></a>

```typescript
public readonly relatedUrlInput: IResolvable | ContainerAnalysisNoteRelatedUrl[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl">ContainerAnalysisNoteRelatedUrl</a>[]

---

##### `shortDescriptionInput`<sup>Optional</sup> <a name="shortDescriptionInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.shortDescriptionInput"></a>

```typescript
public readonly shortDescriptionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ContainerAnalysisNote.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ContainerAnalysisNoteTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeouts">ContainerAnalysisNoteTimeouts</a>

---

##### `expirationTime`<sup>Required</sup> <a name="expirationTime" id="@dschmidt/provider-google.ContainerAnalysisNote.property.expirationTime"></a>

```typescript
public readonly expirationTime: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAnalysisNote.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `longDescription`<sup>Required</sup> <a name="longDescription" id="@dschmidt/provider-google.ContainerAnalysisNote.property.longDescription"></a>

```typescript
public readonly longDescription: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAnalysisNote.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerAnalysisNote.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `relatedNoteNames`<sup>Required</sup> <a name="relatedNoteNames" id="@dschmidt/provider-google.ContainerAnalysisNote.property.relatedNoteNames"></a>

```typescript
public readonly relatedNoteNames: string[];
```

- *Type:* string[]

---

##### `shortDescription`<sup>Required</sup> <a name="shortDescription" id="@dschmidt/provider-google.ContainerAnalysisNote.property.shortDescription"></a>

```typescript
public readonly shortDescription: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNote.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerAnalysisNote.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerAnalysisOccurrence <a name="ContainerAnalysisOccurrence" id="@dschmidt/provider-google.ContainerAnalysisOccurrence"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence google_container_analysis_occurrence}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.Initializer"></a>

```typescript
import { ContainerAnalysisOccurrence } from '@dschmidt/provider-google'

new ContainerAnalysisOccurrence(scope: Construct, id: string, config: ContainerAnalysisOccurrenceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig">ContainerAnalysisOccurrenceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig">ContainerAnalysisOccurrenceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.putAttestation">putAttestation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.resetRemediation">resetRemediation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAttestation` <a name="putAttestation" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.putAttestation"></a>

```typescript
public putAttestation(value: ContainerAnalysisOccurrenceAttestation): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.putAttestation.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation">ContainerAnalysisOccurrenceAttestation</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.putTimeouts"></a>

```typescript
public putTimeouts(value: ContainerAnalysisOccurrenceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts">ContainerAnalysisOccurrenceTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRemediation` <a name="resetRemediation" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.resetRemediation"></a>

```typescript
public resetRemediation(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.isConstruct"></a>

```typescript
import { ContainerAnalysisOccurrence } from '@dschmidt/provider-google'

ContainerAnalysisOccurrence.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.attestation">attestation</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationOutputReference">ContainerAnalysisOccurrenceAttestationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.kind">kind</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeoutsOutputReference">ContainerAnalysisOccurrenceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.attestationInput">attestationInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation">ContainerAnalysisOccurrenceAttestation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.noteNameInput">noteNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.remediationInput">remediationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.resourceUriInput">resourceUriInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts">ContainerAnalysisOccurrenceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.noteName">noteName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.remediation">remediation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.resourceUri">resourceUri</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestation`<sup>Required</sup> <a name="attestation" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.attestation"></a>

```typescript
public readonly attestation: ContainerAnalysisOccurrenceAttestationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationOutputReference">ContainerAnalysisOccurrenceAttestationOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAnalysisOccurrenceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeoutsOutputReference">ContainerAnalysisOccurrenceTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `attestationInput`<sup>Optional</sup> <a name="attestationInput" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.attestationInput"></a>

```typescript
public readonly attestationInput: ContainerAnalysisOccurrenceAttestation;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation">ContainerAnalysisOccurrenceAttestation</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `noteNameInput`<sup>Optional</sup> <a name="noteNameInput" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.noteNameInput"></a>

```typescript
public readonly noteNameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `remediationInput`<sup>Optional</sup> <a name="remediationInput" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.remediationInput"></a>

```typescript
public readonly remediationInput: string;
```

- *Type:* string

---

##### `resourceUriInput`<sup>Optional</sup> <a name="resourceUriInput" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.resourceUriInput"></a>

```typescript
public readonly resourceUriInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ContainerAnalysisOccurrenceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts">ContainerAnalysisOccurrenceTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `noteName`<sup>Required</sup> <a name="noteName" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.noteName"></a>

```typescript
public readonly noteName: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `remediation`<sup>Required</sup> <a name="remediation" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.remediation"></a>

```typescript
public readonly remediation: string;
```

- *Type:* string

---

##### `resourceUri`<sup>Required</sup> <a name="resourceUri" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.resourceUri"></a>

```typescript
public readonly resourceUri: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrence.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerAnalysisOccurrence.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerAwsCluster <a name="ContainerAwsCluster" id="@dschmidt/provider-google.ContainerAwsCluster"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster google_container_aws_cluster}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerAwsCluster.Initializer"></a>

```typescript
import { ContainerAwsCluster } from '@dschmidt/provider-google'

new ContainerAwsCluster(scope: Construct, id: string, config: ContainerAwsClusterConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig">ContainerAwsClusterConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerAwsCluster.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAwsCluster.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAwsCluster.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterConfig">ContainerAwsClusterConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.putAuthorization">putAuthorization</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.putControlPlane">putControlPlane</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.putFleet">putFleet</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.putNetworking">putNetworking</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.resetAnnotations">resetAnnotations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerAwsCluster.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerAwsCluster.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerAwsCluster.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsCluster.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerAwsCluster.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerAwsCluster.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerAwsCluster.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerAwsCluster.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerAwsCluster.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsCluster.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAuthorization` <a name="putAuthorization" id="@dschmidt/provider-google.ContainerAwsCluster.putAuthorization"></a>

```typescript
public putAuthorization(value: ContainerAwsClusterAuthorization): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsCluster.putAuthorization.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorization">ContainerAwsClusterAuthorization</a>

---

##### `putControlPlane` <a name="putControlPlane" id="@dschmidt/provider-google.ContainerAwsCluster.putControlPlane"></a>

```typescript
public putControlPlane(value: ContainerAwsClusterControlPlane): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsCluster.putControlPlane.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane">ContainerAwsClusterControlPlane</a>

---

##### `putFleet` <a name="putFleet" id="@dschmidt/provider-google.ContainerAwsCluster.putFleet"></a>

```typescript
public putFleet(value: ContainerAwsClusterFleet): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsCluster.putFleet.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterFleet">ContainerAwsClusterFleet</a>

---

##### `putNetworking` <a name="putNetworking" id="@dschmidt/provider-google.ContainerAwsCluster.putNetworking"></a>

```typescript
public putNetworking(value: ContainerAwsClusterNetworking): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsCluster.putNetworking.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterNetworking">ContainerAwsClusterNetworking</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ContainerAwsCluster.putTimeouts"></a>

```typescript
public putTimeouts(value: ContainerAwsClusterTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsCluster.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterTimeouts">ContainerAwsClusterTimeouts</a>

---

##### `resetAnnotations` <a name="resetAnnotations" id="@dschmidt/provider-google.ContainerAwsCluster.resetAnnotations"></a>

```typescript
public resetAnnotations(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ContainerAwsCluster.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerAwsCluster.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerAwsCluster.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ContainerAwsCluster.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerAwsCluster.isConstruct"></a>

```typescript
import { ContainerAwsCluster } from '@dschmidt/provider-google'

ContainerAwsCluster.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerAwsCluster.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.authorization">authorization</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorizationOutputReference">ContainerAwsClusterAuthorizationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.controlPlane">controlPlane</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneOutputReference">ContainerAwsClusterControlPlaneOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.endpoint">endpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.fleet">fleet</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterFleetOutputReference">ContainerAwsClusterFleetOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.networking">networking</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterNetworkingOutputReference">ContainerAwsClusterNetworkingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.reconciling">reconciling</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterTimeoutsOutputReference">ContainerAwsClusterTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.workloadIdentityConfig">workloadIdentityConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterWorkloadIdentityConfigList">ContainerAwsClusterWorkloadIdentityConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.annotationsInput">annotationsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.authorizationInput">authorizationInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorization">ContainerAwsClusterAuthorization</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.awsRegionInput">awsRegionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.controlPlaneInput">controlPlaneInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane">ContainerAwsClusterControlPlane</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.fleetInput">fleetInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterFleet">ContainerAwsClusterFleet</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.networkingInput">networkingInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterNetworking">ContainerAwsClusterNetworking</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAwsClusterTimeouts">ContainerAwsClusterTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.awsRegion">awsRegion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerAwsCluster.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerAwsCluster.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerAwsCluster.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerAwsCluster.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerAwsCluster.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerAwsCluster.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerAwsCluster.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAwsCluster.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAwsCluster.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAwsCluster.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAwsCluster.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAwsCluster.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAwsCluster.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAwsCluster.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `authorization`<sup>Required</sup> <a name="authorization" id="@dschmidt/provider-google.ContainerAwsCluster.property.authorization"></a>

```typescript
public readonly authorization: ContainerAwsClusterAuthorizationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorizationOutputReference">ContainerAwsClusterAuthorizationOutputReference</a>

---

##### `controlPlane`<sup>Required</sup> <a name="controlPlane" id="@dschmidt/provider-google.ContainerAwsCluster.property.controlPlane"></a>

```typescript
public readonly controlPlane: ContainerAwsClusterControlPlaneOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneOutputReference">ContainerAwsClusterControlPlaneOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ContainerAwsCluster.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `endpoint`<sup>Required</sup> <a name="endpoint" id="@dschmidt/provider-google.ContainerAwsCluster.property.endpoint"></a>

```typescript
public readonly endpoint: string;
```

- *Type:* string

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ContainerAwsCluster.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `fleet`<sup>Required</sup> <a name="fleet" id="@dschmidt/provider-google.ContainerAwsCluster.property.fleet"></a>

```typescript
public readonly fleet: ContainerAwsClusterFleetOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterFleetOutputReference">ContainerAwsClusterFleetOutputReference</a>

---

##### `networking`<sup>Required</sup> <a name="networking" id="@dschmidt/provider-google.ContainerAwsCluster.property.networking"></a>

```typescript
public readonly networking: ContainerAwsClusterNetworkingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterNetworkingOutputReference">ContainerAwsClusterNetworkingOutputReference</a>

---

##### `reconciling`<sup>Required</sup> <a name="reconciling" id="@dschmidt/provider-google.ContainerAwsCluster.property.reconciling"></a>

```typescript
public readonly reconciling: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.ContainerAwsCluster.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAwsCluster.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAwsClusterTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterTimeoutsOutputReference">ContainerAwsClusterTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.ContainerAwsCluster.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ContainerAwsCluster.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `workloadIdentityConfig`<sup>Required</sup> <a name="workloadIdentityConfig" id="@dschmidt/provider-google.ContainerAwsCluster.property.workloadIdentityConfig"></a>

```typescript
public readonly workloadIdentityConfig: ContainerAwsClusterWorkloadIdentityConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterWorkloadIdentityConfigList">ContainerAwsClusterWorkloadIdentityConfigList</a>

---

##### `annotationsInput`<sup>Optional</sup> <a name="annotationsInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.annotationsInput"></a>

```typescript
public readonly annotationsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `authorizationInput`<sup>Optional</sup> <a name="authorizationInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.authorizationInput"></a>

```typescript
public readonly authorizationInput: ContainerAwsClusterAuthorization;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorization">ContainerAwsClusterAuthorization</a>

---

##### `awsRegionInput`<sup>Optional</sup> <a name="awsRegionInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.awsRegionInput"></a>

```typescript
public readonly awsRegionInput: string;
```

- *Type:* string

---

##### `controlPlaneInput`<sup>Optional</sup> <a name="controlPlaneInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.controlPlaneInput"></a>

```typescript
public readonly controlPlaneInput: ContainerAwsClusterControlPlane;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane">ContainerAwsClusterControlPlane</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `fleetInput`<sup>Optional</sup> <a name="fleetInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.fleetInput"></a>

```typescript
public readonly fleetInput: ContainerAwsClusterFleet;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterFleet">ContainerAwsClusterFleet</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkingInput`<sup>Optional</sup> <a name="networkingInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.networkingInput"></a>

```typescript
public readonly networkingInput: ContainerAwsClusterNetworking;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterNetworking">ContainerAwsClusterNetworking</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ContainerAwsCluster.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ContainerAwsClusterTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAwsClusterTimeouts">ContainerAwsClusterTimeouts</a>

---

##### `annotations`<sup>Required</sup> <a name="annotations" id="@dschmidt/provider-google.ContainerAwsCluster.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `awsRegion`<sup>Required</sup> <a name="awsRegion" id="@dschmidt/provider-google.ContainerAwsCluster.property.awsRegion"></a>

```typescript
public readonly awsRegion: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ContainerAwsCluster.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAwsCluster.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAwsCluster.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAwsCluster.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerAwsCluster.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsCluster.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerAwsCluster.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerAwsNodePool <a name="ContainerAwsNodePool" id="@dschmidt/provider-google.ContainerAwsNodePool"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool google_container_aws_node_pool}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerAwsNodePool.Initializer"></a>

```typescript
import { ContainerAwsNodePool } from '@dschmidt/provider-google'

new ContainerAwsNodePool(scope: Construct, id: string, config: ContainerAwsNodePoolConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig">ContainerAwsNodePoolConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerAwsNodePool.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAwsNodePool.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAwsNodePool.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig">ContainerAwsNodePoolConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.putAutoscaling">putAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.putConfig">putConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.putMaxPodsConstraint">putMaxPodsConstraint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.resetAnnotations">resetAnnotations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerAwsNodePool.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerAwsNodePool.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerAwsNodePool.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsNodePool.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerAwsNodePool.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerAwsNodePool.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerAwsNodePool.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerAwsNodePool.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerAwsNodePool.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAwsNodePool.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAutoscaling` <a name="putAutoscaling" id="@dschmidt/provider-google.ContainerAwsNodePool.putAutoscaling"></a>

```typescript
public putAutoscaling(value: ContainerAwsNodePoolAutoscaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsNodePool.putAutoscaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling">ContainerAwsNodePoolAutoscaling</a>

---

##### `putConfig` <a name="putConfig" id="@dschmidt/provider-google.ContainerAwsNodePool.putConfig"></a>

```typescript
public putConfig(value: ContainerAwsNodePoolConfigA): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsNodePool.putConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA">ContainerAwsNodePoolConfigA</a>

---

##### `putMaxPodsConstraint` <a name="putMaxPodsConstraint" id="@dschmidt/provider-google.ContainerAwsNodePool.putMaxPodsConstraint"></a>

```typescript
public putMaxPodsConstraint(value: ContainerAwsNodePoolMaxPodsConstraint): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsNodePool.putMaxPodsConstraint.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraint">ContainerAwsNodePoolMaxPodsConstraint</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ContainerAwsNodePool.putTimeouts"></a>

```typescript
public putTimeouts(value: ContainerAwsNodePoolTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsNodePool.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeouts">ContainerAwsNodePoolTimeouts</a>

---

##### `resetAnnotations` <a name="resetAnnotations" id="@dschmidt/provider-google.ContainerAwsNodePool.resetAnnotations"></a>

```typescript
public resetAnnotations(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerAwsNodePool.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerAwsNodePool.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ContainerAwsNodePool.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerAwsNodePool.isConstruct"></a>

```typescript
import { ContainerAwsNodePool } from '@dschmidt/provider-google'

ContainerAwsNodePool.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerAwsNodePool.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.autoscaling">autoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolAutoscalingOutputReference">ContainerAwsNodePoolAutoscalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigAOutputReference">ContainerAwsNodePoolConfigAOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.maxPodsConstraint">maxPodsConstraint</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraintOutputReference">ContainerAwsNodePoolMaxPodsConstraintOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.reconciling">reconciling</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeoutsOutputReference">ContainerAwsNodePoolTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.annotationsInput">annotationsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.autoscalingInput">autoscalingInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling">ContainerAwsNodePoolAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.clusterInput">clusterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.configInput">configInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA">ContainerAwsNodePoolConfigA</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.maxPodsConstraintInput">maxPodsConstraintInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraint">ContainerAwsNodePoolMaxPodsConstraint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.subnetIdInput">subnetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeouts">ContainerAwsNodePoolTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.versionInput">versionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.cluster">cluster</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.subnetId">subnetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.version">version</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerAwsNodePool.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerAwsNodePool.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerAwsNodePool.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerAwsNodePool.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerAwsNodePool.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerAwsNodePool.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerAwsNodePool.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAwsNodePool.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAwsNodePool.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAwsNodePool.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAwsNodePool.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAwsNodePool.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAwsNodePool.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAwsNodePool.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscaling`<sup>Required</sup> <a name="autoscaling" id="@dschmidt/provider-google.ContainerAwsNodePool.property.autoscaling"></a>

```typescript
public readonly autoscaling: ContainerAwsNodePoolAutoscalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolAutoscalingOutputReference">ContainerAwsNodePoolAutoscalingOutputReference</a>

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAwsNodePool.property.config"></a>

```typescript
public readonly config: ContainerAwsNodePoolConfigAOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigAOutputReference">ContainerAwsNodePoolConfigAOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ContainerAwsNodePool.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ContainerAwsNodePool.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `maxPodsConstraint`<sup>Required</sup> <a name="maxPodsConstraint" id="@dschmidt/provider-google.ContainerAwsNodePool.property.maxPodsConstraint"></a>

```typescript
public readonly maxPodsConstraint: ContainerAwsNodePoolMaxPodsConstraintOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraintOutputReference">ContainerAwsNodePoolMaxPodsConstraintOutputReference</a>

---

##### `reconciling`<sup>Required</sup> <a name="reconciling" id="@dschmidt/provider-google.ContainerAwsNodePool.property.reconciling"></a>

```typescript
public readonly reconciling: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.ContainerAwsNodePool.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAwsNodePool.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAwsNodePoolTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeoutsOutputReference">ContainerAwsNodePoolTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.ContainerAwsNodePool.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ContainerAwsNodePool.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `annotationsInput`<sup>Optional</sup> <a name="annotationsInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.annotationsInput"></a>

```typescript
public readonly annotationsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `autoscalingInput`<sup>Optional</sup> <a name="autoscalingInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.autoscalingInput"></a>

```typescript
public readonly autoscalingInput: ContainerAwsNodePoolAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling">ContainerAwsNodePoolAutoscaling</a>

---

##### `clusterInput`<sup>Optional</sup> <a name="clusterInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.clusterInput"></a>

```typescript
public readonly clusterInput: string;
```

- *Type:* string

---

##### `configInput`<sup>Optional</sup> <a name="configInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.configInput"></a>

```typescript
public readonly configInput: ContainerAwsNodePoolConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA">ContainerAwsNodePoolConfigA</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `maxPodsConstraintInput`<sup>Optional</sup> <a name="maxPodsConstraintInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.maxPodsConstraintInput"></a>

```typescript
public readonly maxPodsConstraintInput: ContainerAwsNodePoolMaxPodsConstraint;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraint">ContainerAwsNodePoolMaxPodsConstraint</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `subnetIdInput`<sup>Optional</sup> <a name="subnetIdInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.subnetIdInput"></a>

```typescript
public readonly subnetIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ContainerAwsNodePoolTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeouts">ContainerAwsNodePoolTimeouts</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.ContainerAwsNodePool.property.versionInput"></a>

```typescript
public readonly versionInput: string;
```

- *Type:* string

---

##### `annotations`<sup>Required</sup> <a name="annotations" id="@dschmidt/provider-google.ContainerAwsNodePool.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.ContainerAwsNodePool.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAwsNodePool.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAwsNodePool.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAwsNodePool.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerAwsNodePool.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `subnetId`<sup>Required</sup> <a name="subnetId" id="@dschmidt/provider-google.ContainerAwsNodePool.property.subnetId"></a>

```typescript
public readonly subnetId: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ContainerAwsNodePool.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePool.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerAwsNodePool.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerAzureClient <a name="ContainerAzureClient" id="@dschmidt/provider-google.ContainerAzureClient"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_azure_client google_container_azure_client}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerAzureClient.Initializer"></a>

```typescript
import { ContainerAzureClient } from '@dschmidt/provider-google'

new ContainerAzureClient(scope: Construct, id: string, config: ContainerAzureClientConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig">ContainerAzureClientConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerAzureClient.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAzureClient.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAzureClient.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClientConfig">ContainerAzureClientConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerAzureClient.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerAzureClient.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerAzureClient.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureClient.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerAzureClient.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerAzureClient.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerAzureClient.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerAzureClient.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerAzureClient.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerAzureClient.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureClient.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ContainerAzureClient.putTimeouts"></a>

```typescript
public putTimeouts(value: ContainerAzureClientTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureClient.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClientTimeouts">ContainerAzureClientTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerAzureClient.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerAzureClient.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ContainerAzureClient.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerAzureClient.isConstruct"></a>

```typescript
import { ContainerAzureClient } from '@dschmidt/provider-google'

ContainerAzureClient.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerAzureClient.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.certificate">certificate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClientTimeoutsOutputReference">ContainerAzureClientTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.applicationIdInput">applicationIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.tenantIdInput">tenantIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAzureClientTimeouts">ContainerAzureClientTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.applicationId">applicationId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.tenantId">tenantId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerAzureClient.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerAzureClient.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerAzureClient.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerAzureClient.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerAzureClient.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerAzureClient.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerAzureClient.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAzureClient.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAzureClient.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAzureClient.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAzureClient.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAzureClient.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAzureClient.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAzureClient.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificate`<sup>Required</sup> <a name="certificate" id="@dschmidt/provider-google.ContainerAzureClient.property.certificate"></a>

```typescript
public readonly certificate: string;
```

- *Type:* string

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ContainerAzureClient.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAzureClient.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAzureClientTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClientTimeoutsOutputReference">ContainerAzureClientTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.ContainerAzureClient.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `applicationIdInput`<sup>Optional</sup> <a name="applicationIdInput" id="@dschmidt/provider-google.ContainerAzureClient.property.applicationIdInput"></a>

```typescript
public readonly applicationIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerAzureClient.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ContainerAzureClient.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ContainerAzureClient.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerAzureClient.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `tenantIdInput`<sup>Optional</sup> <a name="tenantIdInput" id="@dschmidt/provider-google.ContainerAzureClient.property.tenantIdInput"></a>

```typescript
public readonly tenantIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ContainerAzureClient.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ContainerAzureClientTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAzureClientTimeouts">ContainerAzureClientTimeouts</a>

---

##### `applicationId`<sup>Required</sup> <a name="applicationId" id="@dschmidt/provider-google.ContainerAzureClient.property.applicationId"></a>

```typescript
public readonly applicationId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAzureClient.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAzureClient.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAzureClient.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerAzureClient.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `tenantId`<sup>Required</sup> <a name="tenantId" id="@dschmidt/provider-google.ContainerAzureClient.property.tenantId"></a>

```typescript
public readonly tenantId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClient.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerAzureClient.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerAzureCluster <a name="ContainerAzureCluster" id="@dschmidt/provider-google.ContainerAzureCluster"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster google_container_azure_cluster}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerAzureCluster.Initializer"></a>

```typescript
import { ContainerAzureCluster } from '@dschmidt/provider-google'

new ContainerAzureCluster(scope: Construct, id: string, config: ContainerAzureClusterConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig">ContainerAzureClusterConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerAzureCluster.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAzureCluster.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAzureCluster.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterConfig">ContainerAzureClusterConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.putAuthorization">putAuthorization</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.putControlPlane">putControlPlane</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.putFleet">putFleet</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.putNetworking">putNetworking</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.resetAnnotations">resetAnnotations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerAzureCluster.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerAzureCluster.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerAzureCluster.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureCluster.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerAzureCluster.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerAzureCluster.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerAzureCluster.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerAzureCluster.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerAzureCluster.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureCluster.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAuthorization` <a name="putAuthorization" id="@dschmidt/provider-google.ContainerAzureCluster.putAuthorization"></a>

```typescript
public putAuthorization(value: ContainerAzureClusterAuthorization): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureCluster.putAuthorization.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorization">ContainerAzureClusterAuthorization</a>

---

##### `putControlPlane` <a name="putControlPlane" id="@dschmidt/provider-google.ContainerAzureCluster.putControlPlane"></a>

```typescript
public putControlPlane(value: ContainerAzureClusterControlPlane): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureCluster.putControlPlane.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane">ContainerAzureClusterControlPlane</a>

---

##### `putFleet` <a name="putFleet" id="@dschmidt/provider-google.ContainerAzureCluster.putFleet"></a>

```typescript
public putFleet(value: ContainerAzureClusterFleet): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureCluster.putFleet.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterFleet">ContainerAzureClusterFleet</a>

---

##### `putNetworking` <a name="putNetworking" id="@dschmidt/provider-google.ContainerAzureCluster.putNetworking"></a>

```typescript
public putNetworking(value: ContainerAzureClusterNetworking): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureCluster.putNetworking.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterNetworking">ContainerAzureClusterNetworking</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ContainerAzureCluster.putTimeouts"></a>

```typescript
public putTimeouts(value: ContainerAzureClusterTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureCluster.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterTimeouts">ContainerAzureClusterTimeouts</a>

---

##### `resetAnnotations` <a name="resetAnnotations" id="@dschmidt/provider-google.ContainerAzureCluster.resetAnnotations"></a>

```typescript
public resetAnnotations(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ContainerAzureCluster.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerAzureCluster.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerAzureCluster.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ContainerAzureCluster.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerAzureCluster.isConstruct"></a>

```typescript
import { ContainerAzureCluster } from '@dschmidt/provider-google'

ContainerAzureCluster.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerAzureCluster.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.authorization">authorization</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorizationOutputReference">ContainerAzureClusterAuthorizationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.controlPlane">controlPlane</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneOutputReference">ContainerAzureClusterControlPlaneOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.endpoint">endpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.fleet">fleet</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterFleetOutputReference">ContainerAzureClusterFleetOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.networking">networking</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterNetworkingOutputReference">ContainerAzureClusterNetworkingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.reconciling">reconciling</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterTimeoutsOutputReference">ContainerAzureClusterTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.workloadIdentityConfig">workloadIdentityConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterWorkloadIdentityConfigList">ContainerAzureClusterWorkloadIdentityConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.annotationsInput">annotationsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.authorizationInput">authorizationInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorization">ContainerAzureClusterAuthorization</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.azureRegionInput">azureRegionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.clientInput">clientInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.controlPlaneInput">controlPlaneInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane">ContainerAzureClusterControlPlane</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.fleetInput">fleetInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterFleet">ContainerAzureClusterFleet</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.networkingInput">networkingInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterNetworking">ContainerAzureClusterNetworking</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.resourceGroupIdInput">resourceGroupIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAzureClusterTimeouts">ContainerAzureClusterTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.azureRegion">azureRegion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.client">client</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.resourceGroupId">resourceGroupId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerAzureCluster.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerAzureCluster.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerAzureCluster.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerAzureCluster.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerAzureCluster.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerAzureCluster.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerAzureCluster.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAzureCluster.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAzureCluster.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAzureCluster.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAzureCluster.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAzureCluster.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAzureCluster.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAzureCluster.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `authorization`<sup>Required</sup> <a name="authorization" id="@dschmidt/provider-google.ContainerAzureCluster.property.authorization"></a>

```typescript
public readonly authorization: ContainerAzureClusterAuthorizationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorizationOutputReference">ContainerAzureClusterAuthorizationOutputReference</a>

---

##### `controlPlane`<sup>Required</sup> <a name="controlPlane" id="@dschmidt/provider-google.ContainerAzureCluster.property.controlPlane"></a>

```typescript
public readonly controlPlane: ContainerAzureClusterControlPlaneOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneOutputReference">ContainerAzureClusterControlPlaneOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ContainerAzureCluster.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `endpoint`<sup>Required</sup> <a name="endpoint" id="@dschmidt/provider-google.ContainerAzureCluster.property.endpoint"></a>

```typescript
public readonly endpoint: string;
```

- *Type:* string

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ContainerAzureCluster.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `fleet`<sup>Required</sup> <a name="fleet" id="@dschmidt/provider-google.ContainerAzureCluster.property.fleet"></a>

```typescript
public readonly fleet: ContainerAzureClusterFleetOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterFleetOutputReference">ContainerAzureClusterFleetOutputReference</a>

---

##### `networking`<sup>Required</sup> <a name="networking" id="@dschmidt/provider-google.ContainerAzureCluster.property.networking"></a>

```typescript
public readonly networking: ContainerAzureClusterNetworkingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterNetworkingOutputReference">ContainerAzureClusterNetworkingOutputReference</a>

---

##### `reconciling`<sup>Required</sup> <a name="reconciling" id="@dschmidt/provider-google.ContainerAzureCluster.property.reconciling"></a>

```typescript
public readonly reconciling: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.ContainerAzureCluster.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAzureCluster.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAzureClusterTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterTimeoutsOutputReference">ContainerAzureClusterTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.ContainerAzureCluster.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ContainerAzureCluster.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `workloadIdentityConfig`<sup>Required</sup> <a name="workloadIdentityConfig" id="@dschmidt/provider-google.ContainerAzureCluster.property.workloadIdentityConfig"></a>

```typescript
public readonly workloadIdentityConfig: ContainerAzureClusterWorkloadIdentityConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterWorkloadIdentityConfigList">ContainerAzureClusterWorkloadIdentityConfigList</a>

---

##### `annotationsInput`<sup>Optional</sup> <a name="annotationsInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.annotationsInput"></a>

```typescript
public readonly annotationsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `authorizationInput`<sup>Optional</sup> <a name="authorizationInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.authorizationInput"></a>

```typescript
public readonly authorizationInput: ContainerAzureClusterAuthorization;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorization">ContainerAzureClusterAuthorization</a>

---

##### `azureRegionInput`<sup>Optional</sup> <a name="azureRegionInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.azureRegionInput"></a>

```typescript
public readonly azureRegionInput: string;
```

- *Type:* string

---

##### `clientInput`<sup>Optional</sup> <a name="clientInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.clientInput"></a>

```typescript
public readonly clientInput: string;
```

- *Type:* string

---

##### `controlPlaneInput`<sup>Optional</sup> <a name="controlPlaneInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.controlPlaneInput"></a>

```typescript
public readonly controlPlaneInput: ContainerAzureClusterControlPlane;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane">ContainerAzureClusterControlPlane</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `fleetInput`<sup>Optional</sup> <a name="fleetInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.fleetInput"></a>

```typescript
public readonly fleetInput: ContainerAzureClusterFleet;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterFleet">ContainerAzureClusterFleet</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkingInput`<sup>Optional</sup> <a name="networkingInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.networkingInput"></a>

```typescript
public readonly networkingInput: ContainerAzureClusterNetworking;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterNetworking">ContainerAzureClusterNetworking</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `resourceGroupIdInput`<sup>Optional</sup> <a name="resourceGroupIdInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.resourceGroupIdInput"></a>

```typescript
public readonly resourceGroupIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ContainerAzureCluster.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ContainerAzureClusterTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAzureClusterTimeouts">ContainerAzureClusterTimeouts</a>

---

##### `annotations`<sup>Required</sup> <a name="annotations" id="@dschmidt/provider-google.ContainerAzureCluster.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `azureRegion`<sup>Required</sup> <a name="azureRegion" id="@dschmidt/provider-google.ContainerAzureCluster.property.azureRegion"></a>

```typescript
public readonly azureRegion: string;
```

- *Type:* string

---

##### `client`<sup>Required</sup> <a name="client" id="@dschmidt/provider-google.ContainerAzureCluster.property.client"></a>

```typescript
public readonly client: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ContainerAzureCluster.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAzureCluster.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAzureCluster.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAzureCluster.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerAzureCluster.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `resourceGroupId`<sup>Required</sup> <a name="resourceGroupId" id="@dschmidt/provider-google.ContainerAzureCluster.property.resourceGroupId"></a>

```typescript
public readonly resourceGroupId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureCluster.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerAzureCluster.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerAzureNodePool <a name="ContainerAzureNodePool" id="@dschmidt/provider-google.ContainerAzureNodePool"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool google_container_azure_node_pool}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerAzureNodePool.Initializer"></a>

```typescript
import { ContainerAzureNodePool } from '@dschmidt/provider-google'

new ContainerAzureNodePool(scope: Construct, id: string, config: ContainerAzureNodePoolConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig">ContainerAzureNodePoolConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerAzureNodePool.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAzureNodePool.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAzureNodePool.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig">ContainerAzureNodePoolConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.putAutoscaling">putAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.putConfig">putConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.putMaxPodsConstraint">putMaxPodsConstraint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.resetAnnotations">resetAnnotations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.resetAzureAvailabilityZone">resetAzureAvailabilityZone</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerAzureNodePool.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerAzureNodePool.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerAzureNodePool.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureNodePool.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerAzureNodePool.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerAzureNodePool.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerAzureNodePool.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerAzureNodePool.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerAzureNodePool.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerAzureNodePool.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAutoscaling` <a name="putAutoscaling" id="@dschmidt/provider-google.ContainerAzureNodePool.putAutoscaling"></a>

```typescript
public putAutoscaling(value: ContainerAzureNodePoolAutoscaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureNodePool.putAutoscaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling">ContainerAzureNodePoolAutoscaling</a>

---

##### `putConfig` <a name="putConfig" id="@dschmidt/provider-google.ContainerAzureNodePool.putConfig"></a>

```typescript
public putConfig(value: ContainerAzureNodePoolConfigA): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureNodePool.putConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA">ContainerAzureNodePoolConfigA</a>

---

##### `putMaxPodsConstraint` <a name="putMaxPodsConstraint" id="@dschmidt/provider-google.ContainerAzureNodePool.putMaxPodsConstraint"></a>

```typescript
public putMaxPodsConstraint(value: ContainerAzureNodePoolMaxPodsConstraint): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureNodePool.putMaxPodsConstraint.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraint">ContainerAzureNodePoolMaxPodsConstraint</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ContainerAzureNodePool.putTimeouts"></a>

```typescript
public putTimeouts(value: ContainerAzureNodePoolTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAzureNodePool.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeouts">ContainerAzureNodePoolTimeouts</a>

---

##### `resetAnnotations` <a name="resetAnnotations" id="@dschmidt/provider-google.ContainerAzureNodePool.resetAnnotations"></a>

```typescript
public resetAnnotations(): void
```

##### `resetAzureAvailabilityZone` <a name="resetAzureAvailabilityZone" id="@dschmidt/provider-google.ContainerAzureNodePool.resetAzureAvailabilityZone"></a>

```typescript
public resetAzureAvailabilityZone(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerAzureNodePool.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerAzureNodePool.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ContainerAzureNodePool.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerAzureNodePool.isConstruct"></a>

```typescript
import { ContainerAzureNodePool } from '@dschmidt/provider-google'

ContainerAzureNodePool.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerAzureNodePool.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.autoscaling">autoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolAutoscalingOutputReference">ContainerAzureNodePoolAutoscalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigAOutputReference">ContainerAzureNodePoolConfigAOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.maxPodsConstraint">maxPodsConstraint</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraintOutputReference">ContainerAzureNodePoolMaxPodsConstraintOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.reconciling">reconciling</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeoutsOutputReference">ContainerAzureNodePoolTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.annotationsInput">annotationsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.autoscalingInput">autoscalingInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling">ContainerAzureNodePoolAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.azureAvailabilityZoneInput">azureAvailabilityZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.clusterInput">clusterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.configInput">configInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA">ContainerAzureNodePoolConfigA</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.maxPodsConstraintInput">maxPodsConstraintInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraint">ContainerAzureNodePoolMaxPodsConstraint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.subnetIdInput">subnetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeouts">ContainerAzureNodePoolTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.versionInput">versionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.azureAvailabilityZone">azureAvailabilityZone</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.cluster">cluster</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.subnetId">subnetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.version">version</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerAzureNodePool.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerAzureNodePool.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerAzureNodePool.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerAzureNodePool.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerAzureNodePool.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerAzureNodePool.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerAzureNodePool.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAzureNodePool.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAzureNodePool.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAzureNodePool.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAzureNodePool.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAzureNodePool.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAzureNodePool.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAzureNodePool.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscaling`<sup>Required</sup> <a name="autoscaling" id="@dschmidt/provider-google.ContainerAzureNodePool.property.autoscaling"></a>

```typescript
public readonly autoscaling: ContainerAzureNodePoolAutoscalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolAutoscalingOutputReference">ContainerAzureNodePoolAutoscalingOutputReference</a>

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAzureNodePool.property.config"></a>

```typescript
public readonly config: ContainerAzureNodePoolConfigAOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigAOutputReference">ContainerAzureNodePoolConfigAOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ContainerAzureNodePool.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ContainerAzureNodePool.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `maxPodsConstraint`<sup>Required</sup> <a name="maxPodsConstraint" id="@dschmidt/provider-google.ContainerAzureNodePool.property.maxPodsConstraint"></a>

```typescript
public readonly maxPodsConstraint: ContainerAzureNodePoolMaxPodsConstraintOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraintOutputReference">ContainerAzureNodePoolMaxPodsConstraintOutputReference</a>

---

##### `reconciling`<sup>Required</sup> <a name="reconciling" id="@dschmidt/provider-google.ContainerAzureNodePool.property.reconciling"></a>

```typescript
public readonly reconciling: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.ContainerAzureNodePool.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAzureNodePool.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAzureNodePoolTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeoutsOutputReference">ContainerAzureNodePoolTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.ContainerAzureNodePool.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ContainerAzureNodePool.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `annotationsInput`<sup>Optional</sup> <a name="annotationsInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.annotationsInput"></a>

```typescript
public readonly annotationsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `autoscalingInput`<sup>Optional</sup> <a name="autoscalingInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.autoscalingInput"></a>

```typescript
public readonly autoscalingInput: ContainerAzureNodePoolAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling">ContainerAzureNodePoolAutoscaling</a>

---

##### `azureAvailabilityZoneInput`<sup>Optional</sup> <a name="azureAvailabilityZoneInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.azureAvailabilityZoneInput"></a>

```typescript
public readonly azureAvailabilityZoneInput: string;
```

- *Type:* string

---

##### `clusterInput`<sup>Optional</sup> <a name="clusterInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.clusterInput"></a>

```typescript
public readonly clusterInput: string;
```

- *Type:* string

---

##### `configInput`<sup>Optional</sup> <a name="configInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.configInput"></a>

```typescript
public readonly configInput: ContainerAzureNodePoolConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA">ContainerAzureNodePoolConfigA</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `maxPodsConstraintInput`<sup>Optional</sup> <a name="maxPodsConstraintInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.maxPodsConstraintInput"></a>

```typescript
public readonly maxPodsConstraintInput: ContainerAzureNodePoolMaxPodsConstraint;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraint">ContainerAzureNodePoolMaxPodsConstraint</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `subnetIdInput`<sup>Optional</sup> <a name="subnetIdInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.subnetIdInput"></a>

```typescript
public readonly subnetIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ContainerAzureNodePoolTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeouts">ContainerAzureNodePoolTimeouts</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.ContainerAzureNodePool.property.versionInput"></a>

```typescript
public readonly versionInput: string;
```

- *Type:* string

---

##### `annotations`<sup>Required</sup> <a name="annotations" id="@dschmidt/provider-google.ContainerAzureNodePool.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `azureAvailabilityZone`<sup>Required</sup> <a name="azureAvailabilityZone" id="@dschmidt/provider-google.ContainerAzureNodePool.property.azureAvailabilityZone"></a>

```typescript
public readonly azureAvailabilityZone: string;
```

- *Type:* string

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.ContainerAzureNodePool.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerAzureNodePool.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAzureNodePool.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAzureNodePool.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerAzureNodePool.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `subnetId`<sup>Required</sup> <a name="subnetId" id="@dschmidt/provider-google.ContainerAzureNodePool.property.subnetId"></a>

```typescript
public readonly subnetId: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ContainerAzureNodePool.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePool.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerAzureNodePool.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerCluster <a name="ContainerCluster" id="@dschmidt/provider-google.ContainerCluster"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_cluster google_container_cluster}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerCluster.Initializer"></a>

```typescript
import { ContainerCluster } from '@dschmidt/provider-google'

new ContainerCluster(scope: Construct, id: string, config: ContainerClusterConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterConfig">ContainerClusterConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerCluster.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerCluster.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerCluster.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterConfig">ContainerClusterConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putAddonsConfig">putAddonsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putAuthenticatorGroupsConfig">putAuthenticatorGroupsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putBinaryAuthorization">putBinaryAuthorization</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putClusterAutoscaling">putClusterAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putConfidentialNodes">putConfidentialNodes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putDatabaseEncryption">putDatabaseEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putDefaultSnatStatus">putDefaultSnatStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putDnsConfig">putDnsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putIpAllocationPolicy">putIpAllocationPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putLoggingConfig">putLoggingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putMaintenancePolicy">putMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putMasterAuth">putMasterAuth</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putMasterAuthorizedNetworksConfig">putMasterAuthorizedNetworksConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putMeshCertificates">putMeshCertificates</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putMonitoringConfig">putMonitoringConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putNetworkPolicy">putNetworkPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putNodeConfig">putNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putNodePool">putNodePool</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putNotificationConfig">putNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putPrivateClusterConfig">putPrivateClusterConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putReleaseChannel">putReleaseChannel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putResourceUsageExportConfig">putResourceUsageExportConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putServiceExternalIpsConfig">putServiceExternalIpsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putVerticalPodAutoscaling">putVerticalPodAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.putWorkloadIdentityConfig">putWorkloadIdentityConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetAddonsConfig">resetAddonsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetAuthenticatorGroupsConfig">resetAuthenticatorGroupsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetBinaryAuthorization">resetBinaryAuthorization</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetClusterAutoscaling">resetClusterAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetClusterIpv4Cidr">resetClusterIpv4Cidr</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetConfidentialNodes">resetConfidentialNodes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetDatabaseEncryption">resetDatabaseEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetDatapathProvider">resetDatapathProvider</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetDefaultMaxPodsPerNode">resetDefaultMaxPodsPerNode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetDefaultSnatStatus">resetDefaultSnatStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetDnsConfig">resetDnsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetEnableAutopilot">resetEnableAutopilot</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetEnableBinaryAuthorization">resetEnableBinaryAuthorization</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetEnableIntranodeVisibility">resetEnableIntranodeVisibility</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetEnableKubernetesAlpha">resetEnableKubernetesAlpha</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetEnableLegacyAbac">resetEnableLegacyAbac</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetEnableShieldedNodes">resetEnableShieldedNodes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetEnableTpu">resetEnableTpu</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetInitialNodeCount">resetInitialNodeCount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetIpAllocationPolicy">resetIpAllocationPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetLoggingConfig">resetLoggingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetLoggingService">resetLoggingService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetMaintenancePolicy">resetMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetMasterAuth">resetMasterAuth</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetMasterAuthorizedNetworksConfig">resetMasterAuthorizedNetworksConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetMeshCertificates">resetMeshCertificates</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetMinMasterVersion">resetMinMasterVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetMonitoringConfig">resetMonitoringConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetMonitoringService">resetMonitoringService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetNetworkingMode">resetNetworkingMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetNetworkPolicy">resetNetworkPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetNodeConfig">resetNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetNodeLocations">resetNodeLocations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetNodePool">resetNodePool</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetNodeVersion">resetNodeVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetNotificationConfig">resetNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetPrivateClusterConfig">resetPrivateClusterConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetPrivateIpv6GoogleAccess">resetPrivateIpv6GoogleAccess</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetReleaseChannel">resetReleaseChannel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetRemoveDefaultNodePool">resetRemoveDefaultNodePool</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetResourceLabels">resetResourceLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetResourceUsageExportConfig">resetResourceUsageExportConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetServiceExternalIpsConfig">resetServiceExternalIpsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetSubnetwork">resetSubnetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetVerticalPodAutoscaling">resetVerticalPodAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.resetWorkloadIdentityConfig">resetWorkloadIdentityConfig</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerCluster.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerCluster.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerCluster.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerCluster.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerCluster.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerCluster.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerCluster.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerCluster.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerCluster.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerCluster.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerCluster.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerCluster.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerCluster.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerCluster.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerCluster.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerCluster.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerCluster.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerCluster.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerCluster.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAddonsConfig` <a name="putAddonsConfig" id="@dschmidt/provider-google.ContainerCluster.putAddonsConfig"></a>

```typescript
public putAddonsConfig(value: ContainerClusterAddonsConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putAddonsConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig">ContainerClusterAddonsConfig</a>

---

##### `putAuthenticatorGroupsConfig` <a name="putAuthenticatorGroupsConfig" id="@dschmidt/provider-google.ContainerCluster.putAuthenticatorGroupsConfig"></a>

```typescript
public putAuthenticatorGroupsConfig(value: ContainerClusterAuthenticatorGroupsConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putAuthenticatorGroupsConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfig">ContainerClusterAuthenticatorGroupsConfig</a>

---

##### `putBinaryAuthorization` <a name="putBinaryAuthorization" id="@dschmidt/provider-google.ContainerCluster.putBinaryAuthorization"></a>

```typescript
public putBinaryAuthorization(value: ContainerClusterBinaryAuthorization): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putBinaryAuthorization.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterBinaryAuthorization">ContainerClusterBinaryAuthorization</a>

---

##### `putClusterAutoscaling` <a name="putClusterAutoscaling" id="@dschmidt/provider-google.ContainerCluster.putClusterAutoscaling"></a>

```typescript
public putClusterAutoscaling(value: ContainerClusterClusterAutoscaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putClusterAutoscaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscaling">ContainerClusterClusterAutoscaling</a>

---

##### `putConfidentialNodes` <a name="putConfidentialNodes" id="@dschmidt/provider-google.ContainerCluster.putConfidentialNodes"></a>

```typescript
public putConfidentialNodes(value: ContainerClusterConfidentialNodes): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putConfidentialNodes.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterConfidentialNodes">ContainerClusterConfidentialNodes</a>

---

##### `putDatabaseEncryption` <a name="putDatabaseEncryption" id="@dschmidt/provider-google.ContainerCluster.putDatabaseEncryption"></a>

```typescript
public putDatabaseEncryption(value: ContainerClusterDatabaseEncryption): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putDatabaseEncryption.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDatabaseEncryption">ContainerClusterDatabaseEncryption</a>

---

##### `putDefaultSnatStatus` <a name="putDefaultSnatStatus" id="@dschmidt/provider-google.ContainerCluster.putDefaultSnatStatus"></a>

```typescript
public putDefaultSnatStatus(value: ContainerClusterDefaultSnatStatus): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putDefaultSnatStatus.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDefaultSnatStatus">ContainerClusterDefaultSnatStatus</a>

---

##### `putDnsConfig` <a name="putDnsConfig" id="@dschmidt/provider-google.ContainerCluster.putDnsConfig"></a>

```typescript
public putDnsConfig(value: ContainerClusterDnsConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putDnsConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDnsConfig">ContainerClusterDnsConfig</a>

---

##### `putIpAllocationPolicy` <a name="putIpAllocationPolicy" id="@dschmidt/provider-google.ContainerCluster.putIpAllocationPolicy"></a>

```typescript
public putIpAllocationPolicy(value: ContainerClusterIpAllocationPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putIpAllocationPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicy">ContainerClusterIpAllocationPolicy</a>

---

##### `putLoggingConfig` <a name="putLoggingConfig" id="@dschmidt/provider-google.ContainerCluster.putLoggingConfig"></a>

```typescript
public putLoggingConfig(value: ContainerClusterLoggingConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putLoggingConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterLoggingConfig">ContainerClusterLoggingConfig</a>

---

##### `putMaintenancePolicy` <a name="putMaintenancePolicy" id="@dschmidt/provider-google.ContainerCluster.putMaintenancePolicy"></a>

```typescript
public putMaintenancePolicy(value: ContainerClusterMaintenancePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putMaintenancePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicy">ContainerClusterMaintenancePolicy</a>

---

##### `putMasterAuth` <a name="putMasterAuth" id="@dschmidt/provider-google.ContainerCluster.putMasterAuth"></a>

```typescript
public putMasterAuth(value: ContainerClusterMasterAuth): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putMasterAuth.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMasterAuth">ContainerClusterMasterAuth</a>

---

##### `putMasterAuthorizedNetworksConfig` <a name="putMasterAuthorizedNetworksConfig" id="@dschmidt/provider-google.ContainerCluster.putMasterAuthorizedNetworksConfig"></a>

```typescript
public putMasterAuthorizedNetworksConfig(value: ContainerClusterMasterAuthorizedNetworksConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putMasterAuthorizedNetworksConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfig">ContainerClusterMasterAuthorizedNetworksConfig</a>

---

##### `putMeshCertificates` <a name="putMeshCertificates" id="@dschmidt/provider-google.ContainerCluster.putMeshCertificates"></a>

```typescript
public putMeshCertificates(value: ContainerClusterMeshCertificates): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putMeshCertificates.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMeshCertificates">ContainerClusterMeshCertificates</a>

---

##### `putMonitoringConfig` <a name="putMonitoringConfig" id="@dschmidt/provider-google.ContainerCluster.putMonitoringConfig"></a>

```typescript
public putMonitoringConfig(value: ContainerClusterMonitoringConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putMonitoringConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMonitoringConfig">ContainerClusterMonitoringConfig</a>

---

##### `putNetworkPolicy` <a name="putNetworkPolicy" id="@dschmidt/provider-google.ContainerCluster.putNetworkPolicy"></a>

```typescript
public putNetworkPolicy(value: ContainerClusterNetworkPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putNetworkPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNetworkPolicy">ContainerClusterNetworkPolicy</a>

---

##### `putNodeConfig` <a name="putNodeConfig" id="@dschmidt/provider-google.ContainerCluster.putNodeConfig"></a>

```typescript
public putNodeConfig(value: ContainerClusterNodeConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putNodeConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodeConfig">ContainerClusterNodeConfig</a>

---

##### `putNodePool` <a name="putNodePool" id="@dschmidt/provider-google.ContainerCluster.putNodePool"></a>

```typescript
public putNodePool(value: IResolvable | ContainerClusterNodePool[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putNodePool.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterNodePool">ContainerClusterNodePool</a>[]

---

##### `putNotificationConfig` <a name="putNotificationConfig" id="@dschmidt/provider-google.ContainerCluster.putNotificationConfig"></a>

```typescript
public putNotificationConfig(value: ContainerClusterNotificationConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putNotificationConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNotificationConfig">ContainerClusterNotificationConfig</a>

---

##### `putPrivateClusterConfig` <a name="putPrivateClusterConfig" id="@dschmidt/provider-google.ContainerCluster.putPrivateClusterConfig"></a>

```typescript
public putPrivateClusterConfig(value: ContainerClusterPrivateClusterConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putPrivateClusterConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfig">ContainerClusterPrivateClusterConfig</a>

---

##### `putReleaseChannel` <a name="putReleaseChannel" id="@dschmidt/provider-google.ContainerCluster.putReleaseChannel"></a>

```typescript
public putReleaseChannel(value: ContainerClusterReleaseChannel): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putReleaseChannel.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterReleaseChannel">ContainerClusterReleaseChannel</a>

---

##### `putResourceUsageExportConfig` <a name="putResourceUsageExportConfig" id="@dschmidt/provider-google.ContainerCluster.putResourceUsageExportConfig"></a>

```typescript
public putResourceUsageExportConfig(value: ContainerClusterResourceUsageExportConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putResourceUsageExportConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig">ContainerClusterResourceUsageExportConfig</a>

---

##### `putServiceExternalIpsConfig` <a name="putServiceExternalIpsConfig" id="@dschmidt/provider-google.ContainerCluster.putServiceExternalIpsConfig"></a>

```typescript
public putServiceExternalIpsConfig(value: ContainerClusterServiceExternalIpsConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putServiceExternalIpsConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfig">ContainerClusterServiceExternalIpsConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ContainerCluster.putTimeouts"></a>

```typescript
public putTimeouts(value: ContainerClusterTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterTimeouts">ContainerClusterTimeouts</a>

---

##### `putVerticalPodAutoscaling` <a name="putVerticalPodAutoscaling" id="@dschmidt/provider-google.ContainerCluster.putVerticalPodAutoscaling"></a>

```typescript
public putVerticalPodAutoscaling(value: ContainerClusterVerticalPodAutoscaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putVerticalPodAutoscaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterVerticalPodAutoscaling">ContainerClusterVerticalPodAutoscaling</a>

---

##### `putWorkloadIdentityConfig` <a name="putWorkloadIdentityConfig" id="@dschmidt/provider-google.ContainerCluster.putWorkloadIdentityConfig"></a>

```typescript
public putWorkloadIdentityConfig(value: ContainerClusterWorkloadIdentityConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerCluster.putWorkloadIdentityConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfig">ContainerClusterWorkloadIdentityConfig</a>

---

##### `resetAddonsConfig` <a name="resetAddonsConfig" id="@dschmidt/provider-google.ContainerCluster.resetAddonsConfig"></a>

```typescript
public resetAddonsConfig(): void
```

##### `resetAuthenticatorGroupsConfig` <a name="resetAuthenticatorGroupsConfig" id="@dschmidt/provider-google.ContainerCluster.resetAuthenticatorGroupsConfig"></a>

```typescript
public resetAuthenticatorGroupsConfig(): void
```

##### `resetBinaryAuthorization` <a name="resetBinaryAuthorization" id="@dschmidt/provider-google.ContainerCluster.resetBinaryAuthorization"></a>

```typescript
public resetBinaryAuthorization(): void
```

##### `resetClusterAutoscaling` <a name="resetClusterAutoscaling" id="@dschmidt/provider-google.ContainerCluster.resetClusterAutoscaling"></a>

```typescript
public resetClusterAutoscaling(): void
```

##### `resetClusterIpv4Cidr` <a name="resetClusterIpv4Cidr" id="@dschmidt/provider-google.ContainerCluster.resetClusterIpv4Cidr"></a>

```typescript
public resetClusterIpv4Cidr(): void
```

##### `resetConfidentialNodes` <a name="resetConfidentialNodes" id="@dschmidt/provider-google.ContainerCluster.resetConfidentialNodes"></a>

```typescript
public resetConfidentialNodes(): void
```

##### `resetDatabaseEncryption` <a name="resetDatabaseEncryption" id="@dschmidt/provider-google.ContainerCluster.resetDatabaseEncryption"></a>

```typescript
public resetDatabaseEncryption(): void
```

##### `resetDatapathProvider` <a name="resetDatapathProvider" id="@dschmidt/provider-google.ContainerCluster.resetDatapathProvider"></a>

```typescript
public resetDatapathProvider(): void
```

##### `resetDefaultMaxPodsPerNode` <a name="resetDefaultMaxPodsPerNode" id="@dschmidt/provider-google.ContainerCluster.resetDefaultMaxPodsPerNode"></a>

```typescript
public resetDefaultMaxPodsPerNode(): void
```

##### `resetDefaultSnatStatus` <a name="resetDefaultSnatStatus" id="@dschmidt/provider-google.ContainerCluster.resetDefaultSnatStatus"></a>

```typescript
public resetDefaultSnatStatus(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ContainerCluster.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDnsConfig` <a name="resetDnsConfig" id="@dschmidt/provider-google.ContainerCluster.resetDnsConfig"></a>

```typescript
public resetDnsConfig(): void
```

##### `resetEnableAutopilot` <a name="resetEnableAutopilot" id="@dschmidt/provider-google.ContainerCluster.resetEnableAutopilot"></a>

```typescript
public resetEnableAutopilot(): void
```

##### `resetEnableBinaryAuthorization` <a name="resetEnableBinaryAuthorization" id="@dschmidt/provider-google.ContainerCluster.resetEnableBinaryAuthorization"></a>

```typescript
public resetEnableBinaryAuthorization(): void
```

##### `resetEnableIntranodeVisibility` <a name="resetEnableIntranodeVisibility" id="@dschmidt/provider-google.ContainerCluster.resetEnableIntranodeVisibility"></a>

```typescript
public resetEnableIntranodeVisibility(): void
```

##### `resetEnableKubernetesAlpha` <a name="resetEnableKubernetesAlpha" id="@dschmidt/provider-google.ContainerCluster.resetEnableKubernetesAlpha"></a>

```typescript
public resetEnableKubernetesAlpha(): void
```

##### `resetEnableLegacyAbac` <a name="resetEnableLegacyAbac" id="@dschmidt/provider-google.ContainerCluster.resetEnableLegacyAbac"></a>

```typescript
public resetEnableLegacyAbac(): void
```

##### `resetEnableShieldedNodes` <a name="resetEnableShieldedNodes" id="@dschmidt/provider-google.ContainerCluster.resetEnableShieldedNodes"></a>

```typescript
public resetEnableShieldedNodes(): void
```

##### `resetEnableTpu` <a name="resetEnableTpu" id="@dschmidt/provider-google.ContainerCluster.resetEnableTpu"></a>

```typescript
public resetEnableTpu(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerCluster.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInitialNodeCount` <a name="resetInitialNodeCount" id="@dschmidt/provider-google.ContainerCluster.resetInitialNodeCount"></a>

```typescript
public resetInitialNodeCount(): void
```

##### `resetIpAllocationPolicy` <a name="resetIpAllocationPolicy" id="@dschmidt/provider-google.ContainerCluster.resetIpAllocationPolicy"></a>

```typescript
public resetIpAllocationPolicy(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.ContainerCluster.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetLoggingConfig` <a name="resetLoggingConfig" id="@dschmidt/provider-google.ContainerCluster.resetLoggingConfig"></a>

```typescript
public resetLoggingConfig(): void
```

##### `resetLoggingService` <a name="resetLoggingService" id="@dschmidt/provider-google.ContainerCluster.resetLoggingService"></a>

```typescript
public resetLoggingService(): void
```

##### `resetMaintenancePolicy` <a name="resetMaintenancePolicy" id="@dschmidt/provider-google.ContainerCluster.resetMaintenancePolicy"></a>

```typescript
public resetMaintenancePolicy(): void
```

##### `resetMasterAuth` <a name="resetMasterAuth" id="@dschmidt/provider-google.ContainerCluster.resetMasterAuth"></a>

```typescript
public resetMasterAuth(): void
```

##### `resetMasterAuthorizedNetworksConfig` <a name="resetMasterAuthorizedNetworksConfig" id="@dschmidt/provider-google.ContainerCluster.resetMasterAuthorizedNetworksConfig"></a>

```typescript
public resetMasterAuthorizedNetworksConfig(): void
```

##### `resetMeshCertificates` <a name="resetMeshCertificates" id="@dschmidt/provider-google.ContainerCluster.resetMeshCertificates"></a>

```typescript
public resetMeshCertificates(): void
```

##### `resetMinMasterVersion` <a name="resetMinMasterVersion" id="@dschmidt/provider-google.ContainerCluster.resetMinMasterVersion"></a>

```typescript
public resetMinMasterVersion(): void
```

##### `resetMonitoringConfig` <a name="resetMonitoringConfig" id="@dschmidt/provider-google.ContainerCluster.resetMonitoringConfig"></a>

```typescript
public resetMonitoringConfig(): void
```

##### `resetMonitoringService` <a name="resetMonitoringService" id="@dschmidt/provider-google.ContainerCluster.resetMonitoringService"></a>

```typescript
public resetMonitoringService(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.ContainerCluster.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetNetworkingMode` <a name="resetNetworkingMode" id="@dschmidt/provider-google.ContainerCluster.resetNetworkingMode"></a>

```typescript
public resetNetworkingMode(): void
```

##### `resetNetworkPolicy` <a name="resetNetworkPolicy" id="@dschmidt/provider-google.ContainerCluster.resetNetworkPolicy"></a>

```typescript
public resetNetworkPolicy(): void
```

##### `resetNodeConfig` <a name="resetNodeConfig" id="@dschmidt/provider-google.ContainerCluster.resetNodeConfig"></a>

```typescript
public resetNodeConfig(): void
```

##### `resetNodeLocations` <a name="resetNodeLocations" id="@dschmidt/provider-google.ContainerCluster.resetNodeLocations"></a>

```typescript
public resetNodeLocations(): void
```

##### `resetNodePool` <a name="resetNodePool" id="@dschmidt/provider-google.ContainerCluster.resetNodePool"></a>

```typescript
public resetNodePool(): void
```

##### `resetNodeVersion` <a name="resetNodeVersion" id="@dschmidt/provider-google.ContainerCluster.resetNodeVersion"></a>

```typescript
public resetNodeVersion(): void
```

##### `resetNotificationConfig` <a name="resetNotificationConfig" id="@dschmidt/provider-google.ContainerCluster.resetNotificationConfig"></a>

```typescript
public resetNotificationConfig(): void
```

##### `resetPrivateClusterConfig` <a name="resetPrivateClusterConfig" id="@dschmidt/provider-google.ContainerCluster.resetPrivateClusterConfig"></a>

```typescript
public resetPrivateClusterConfig(): void
```

##### `resetPrivateIpv6GoogleAccess` <a name="resetPrivateIpv6GoogleAccess" id="@dschmidt/provider-google.ContainerCluster.resetPrivateIpv6GoogleAccess"></a>

```typescript
public resetPrivateIpv6GoogleAccess(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerCluster.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetReleaseChannel` <a name="resetReleaseChannel" id="@dschmidt/provider-google.ContainerCluster.resetReleaseChannel"></a>

```typescript
public resetReleaseChannel(): void
```

##### `resetRemoveDefaultNodePool` <a name="resetRemoveDefaultNodePool" id="@dschmidt/provider-google.ContainerCluster.resetRemoveDefaultNodePool"></a>

```typescript
public resetRemoveDefaultNodePool(): void
```

##### `resetResourceLabels` <a name="resetResourceLabels" id="@dschmidt/provider-google.ContainerCluster.resetResourceLabels"></a>

```typescript
public resetResourceLabels(): void
```

##### `resetResourceUsageExportConfig` <a name="resetResourceUsageExportConfig" id="@dschmidt/provider-google.ContainerCluster.resetResourceUsageExportConfig"></a>

```typescript
public resetResourceUsageExportConfig(): void
```

##### `resetServiceExternalIpsConfig` <a name="resetServiceExternalIpsConfig" id="@dschmidt/provider-google.ContainerCluster.resetServiceExternalIpsConfig"></a>

```typescript
public resetServiceExternalIpsConfig(): void
```

##### `resetSubnetwork` <a name="resetSubnetwork" id="@dschmidt/provider-google.ContainerCluster.resetSubnetwork"></a>

```typescript
public resetSubnetwork(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ContainerCluster.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVerticalPodAutoscaling` <a name="resetVerticalPodAutoscaling" id="@dschmidt/provider-google.ContainerCluster.resetVerticalPodAutoscaling"></a>

```typescript
public resetVerticalPodAutoscaling(): void
```

##### `resetWorkloadIdentityConfig` <a name="resetWorkloadIdentityConfig" id="@dschmidt/provider-google.ContainerCluster.resetWorkloadIdentityConfig"></a>

```typescript
public resetWorkloadIdentityConfig(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerCluster.isConstruct"></a>

```typescript
import { ContainerCluster } from '@dschmidt/provider-google'

ContainerCluster.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerCluster.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.addonsConfig">addonsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigOutputReference">ContainerClusterAddonsConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.authenticatorGroupsConfig">authenticatorGroupsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfigOutputReference">ContainerClusterAuthenticatorGroupsConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.binaryAuthorization">binaryAuthorization</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterBinaryAuthorizationOutputReference">ContainerClusterBinaryAuthorizationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.clusterAutoscaling">clusterAutoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingOutputReference">ContainerClusterClusterAutoscalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.confidentialNodes">confidentialNodes</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterConfidentialNodesOutputReference">ContainerClusterConfidentialNodesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.databaseEncryption">databaseEncryption</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterDatabaseEncryptionOutputReference">ContainerClusterDatabaseEncryptionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.defaultSnatStatus">defaultSnatStatus</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterDefaultSnatStatusOutputReference">ContainerClusterDefaultSnatStatusOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.dnsConfig">dnsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterDnsConfigOutputReference">ContainerClusterDnsConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.endpoint">endpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.ipAllocationPolicy">ipAllocationPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicyOutputReference">ContainerClusterIpAllocationPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterLoggingConfigOutputReference">ContainerClusterLoggingConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.maintenancePolicy">maintenancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyOutputReference">ContainerClusterMaintenancePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.masterAuth">masterAuth</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuthOutputReference">ContainerClusterMasterAuthOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.masterAuthorizedNetworksConfig">masterAuthorizedNetworksConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigOutputReference">ContainerClusterMasterAuthorizedNetworksConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.masterVersion">masterVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.meshCertificates">meshCertificates</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMeshCertificatesOutputReference">ContainerClusterMeshCertificatesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.monitoringConfig">monitoringConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMonitoringConfigOutputReference">ContainerClusterMonitoringConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.networkPolicy">networkPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNetworkPolicyOutputReference">ContainerClusterNetworkPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigOutputReference">ContainerClusterNodeConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.nodePool">nodePool</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolList">ContainerClusterNodePoolList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNotificationConfigOutputReference">ContainerClusterNotificationConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.operation">operation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.privateClusterConfig">privateClusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfigOutputReference">ContainerClusterPrivateClusterConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.releaseChannel">releaseChannel</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterReleaseChannelOutputReference">ContainerClusterReleaseChannelOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.resourceUsageExportConfig">resourceUsageExportConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfigOutputReference">ContainerClusterResourceUsageExportConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.serviceExternalIpsConfig">serviceExternalIpsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfigOutputReference">ContainerClusterServiceExternalIpsConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.servicesIpv4Cidr">servicesIpv4Cidr</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterTimeoutsOutputReference">ContainerClusterTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.tpuIpv4CidrBlock">tpuIpv4CidrBlock</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.verticalPodAutoscaling">verticalPodAutoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterVerticalPodAutoscalingOutputReference">ContainerClusterVerticalPodAutoscalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.workloadIdentityConfig">workloadIdentityConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfigOutputReference">ContainerClusterWorkloadIdentityConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.addonsConfigInput">addonsConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig">ContainerClusterAddonsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.authenticatorGroupsConfigInput">authenticatorGroupsConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfig">ContainerClusterAuthenticatorGroupsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.binaryAuthorizationInput">binaryAuthorizationInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterBinaryAuthorization">ContainerClusterBinaryAuthorization</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.clusterAutoscalingInput">clusterAutoscalingInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscaling">ContainerClusterClusterAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.clusterIpv4CidrInput">clusterIpv4CidrInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.confidentialNodesInput">confidentialNodesInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterConfidentialNodes">ContainerClusterConfidentialNodes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.databaseEncryptionInput">databaseEncryptionInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterDatabaseEncryption">ContainerClusterDatabaseEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.datapathProviderInput">datapathProviderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.defaultMaxPodsPerNodeInput">defaultMaxPodsPerNodeInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.defaultSnatStatusInput">defaultSnatStatusInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterDefaultSnatStatus">ContainerClusterDefaultSnatStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.dnsConfigInput">dnsConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterDnsConfig">ContainerClusterDnsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableAutopilotInput">enableAutopilotInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableBinaryAuthorizationInput">enableBinaryAuthorizationInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableIntranodeVisibilityInput">enableIntranodeVisibilityInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableKubernetesAlphaInput">enableKubernetesAlphaInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableLegacyAbacInput">enableLegacyAbacInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableShieldedNodesInput">enableShieldedNodesInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableTpuInput">enableTpuInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.initialNodeCountInput">initialNodeCountInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.ipAllocationPolicyInput">ipAllocationPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicy">ContainerClusterIpAllocationPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.loggingConfigInput">loggingConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterLoggingConfig">ContainerClusterLoggingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.loggingServiceInput">loggingServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.maintenancePolicyInput">maintenancePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicy">ContainerClusterMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.masterAuthInput">masterAuthInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuth">ContainerClusterMasterAuth</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.masterAuthorizedNetworksConfigInput">masterAuthorizedNetworksConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfig">ContainerClusterMasterAuthorizedNetworksConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.meshCertificatesInput">meshCertificatesInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMeshCertificates">ContainerClusterMeshCertificates</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.minMasterVersionInput">minMasterVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.monitoringConfigInput">monitoringConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMonitoringConfig">ContainerClusterMonitoringConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.monitoringServiceInput">monitoringServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.networkingModeInput">networkingModeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.networkPolicyInput">networkPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNetworkPolicy">ContainerClusterNetworkPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.nodeConfigInput">nodeConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig">ContainerClusterNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.nodeLocationsInput">nodeLocationsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.nodePoolInput">nodePoolInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterNodePool">ContainerClusterNodePool</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.nodeVersionInput">nodeVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.notificationConfigInput">notificationConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNotificationConfig">ContainerClusterNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.privateClusterConfigInput">privateClusterConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfig">ContainerClusterPrivateClusterConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.privateIpv6GoogleAccessInput">privateIpv6GoogleAccessInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.releaseChannelInput">releaseChannelInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterReleaseChannel">ContainerClusterReleaseChannel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.removeDefaultNodePoolInput">removeDefaultNodePoolInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.resourceLabelsInput">resourceLabelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.resourceUsageExportConfigInput">resourceUsageExportConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig">ContainerClusterResourceUsageExportConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.serviceExternalIpsConfigInput">serviceExternalIpsConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfig">ContainerClusterServiceExternalIpsConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.subnetworkInput">subnetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterTimeouts">ContainerClusterTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.verticalPodAutoscalingInput">verticalPodAutoscalingInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterVerticalPodAutoscaling">ContainerClusterVerticalPodAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.workloadIdentityConfigInput">workloadIdentityConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfig">ContainerClusterWorkloadIdentityConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.clusterIpv4Cidr">clusterIpv4Cidr</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.datapathProvider">datapathProvider</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.defaultMaxPodsPerNode">defaultMaxPodsPerNode</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableAutopilot">enableAutopilot</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableBinaryAuthorization">enableBinaryAuthorization</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableIntranodeVisibility">enableIntranodeVisibility</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableKubernetesAlpha">enableKubernetesAlpha</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableLegacyAbac">enableLegacyAbac</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableShieldedNodes">enableShieldedNodes</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.enableTpu">enableTpu</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.initialNodeCount">initialNodeCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.loggingService">loggingService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.minMasterVersion">minMasterVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.monitoringService">monitoringService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.networkingMode">networkingMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.nodeLocations">nodeLocations</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.nodeVersion">nodeVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.privateIpv6GoogleAccess">privateIpv6GoogleAccess</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.removeDefaultNodePool">removeDefaultNodePool</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.resourceLabels">resourceLabels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerCluster.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerCluster.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerCluster.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerCluster.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerCluster.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerCluster.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerCluster.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerCluster.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerCluster.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerCluster.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerCluster.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerCluster.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerCluster.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerCluster.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `addonsConfig`<sup>Required</sup> <a name="addonsConfig" id="@dschmidt/provider-google.ContainerCluster.property.addonsConfig"></a>

```typescript
public readonly addonsConfig: ContainerClusterAddonsConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigOutputReference">ContainerClusterAddonsConfigOutputReference</a>

---

##### `authenticatorGroupsConfig`<sup>Required</sup> <a name="authenticatorGroupsConfig" id="@dschmidt/provider-google.ContainerCluster.property.authenticatorGroupsConfig"></a>

```typescript
public readonly authenticatorGroupsConfig: ContainerClusterAuthenticatorGroupsConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfigOutputReference">ContainerClusterAuthenticatorGroupsConfigOutputReference</a>

---

##### `binaryAuthorization`<sup>Required</sup> <a name="binaryAuthorization" id="@dschmidt/provider-google.ContainerCluster.property.binaryAuthorization"></a>

```typescript
public readonly binaryAuthorization: ContainerClusterBinaryAuthorizationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterBinaryAuthorizationOutputReference">ContainerClusterBinaryAuthorizationOutputReference</a>

---

##### `clusterAutoscaling`<sup>Required</sup> <a name="clusterAutoscaling" id="@dschmidt/provider-google.ContainerCluster.property.clusterAutoscaling"></a>

```typescript
public readonly clusterAutoscaling: ContainerClusterClusterAutoscalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingOutputReference">ContainerClusterClusterAutoscalingOutputReference</a>

---

##### `confidentialNodes`<sup>Required</sup> <a name="confidentialNodes" id="@dschmidt/provider-google.ContainerCluster.property.confidentialNodes"></a>

```typescript
public readonly confidentialNodes: ContainerClusterConfidentialNodesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterConfidentialNodesOutputReference">ContainerClusterConfidentialNodesOutputReference</a>

---

##### `databaseEncryption`<sup>Required</sup> <a name="databaseEncryption" id="@dschmidt/provider-google.ContainerCluster.property.databaseEncryption"></a>

```typescript
public readonly databaseEncryption: ContainerClusterDatabaseEncryptionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDatabaseEncryptionOutputReference">ContainerClusterDatabaseEncryptionOutputReference</a>

---

##### `defaultSnatStatus`<sup>Required</sup> <a name="defaultSnatStatus" id="@dschmidt/provider-google.ContainerCluster.property.defaultSnatStatus"></a>

```typescript
public readonly defaultSnatStatus: ContainerClusterDefaultSnatStatusOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDefaultSnatStatusOutputReference">ContainerClusterDefaultSnatStatusOutputReference</a>

---

##### `dnsConfig`<sup>Required</sup> <a name="dnsConfig" id="@dschmidt/provider-google.ContainerCluster.property.dnsConfig"></a>

```typescript
public readonly dnsConfig: ContainerClusterDnsConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDnsConfigOutputReference">ContainerClusterDnsConfigOutputReference</a>

---

##### `endpoint`<sup>Required</sup> <a name="endpoint" id="@dschmidt/provider-google.ContainerCluster.property.endpoint"></a>

```typescript
public readonly endpoint: string;
```

- *Type:* string

---

##### `ipAllocationPolicy`<sup>Required</sup> <a name="ipAllocationPolicy" id="@dschmidt/provider-google.ContainerCluster.property.ipAllocationPolicy"></a>

```typescript
public readonly ipAllocationPolicy: ContainerClusterIpAllocationPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicyOutputReference">ContainerClusterIpAllocationPolicyOutputReference</a>

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.ContainerCluster.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `loggingConfig`<sup>Required</sup> <a name="loggingConfig" id="@dschmidt/provider-google.ContainerCluster.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: ContainerClusterLoggingConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterLoggingConfigOutputReference">ContainerClusterLoggingConfigOutputReference</a>

---

##### `maintenancePolicy`<sup>Required</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.ContainerCluster.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: ContainerClusterMaintenancePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyOutputReference">ContainerClusterMaintenancePolicyOutputReference</a>

---

##### `masterAuth`<sup>Required</sup> <a name="masterAuth" id="@dschmidt/provider-google.ContainerCluster.property.masterAuth"></a>

```typescript
public readonly masterAuth: ContainerClusterMasterAuthOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMasterAuthOutputReference">ContainerClusterMasterAuthOutputReference</a>

---

##### `masterAuthorizedNetworksConfig`<sup>Required</sup> <a name="masterAuthorizedNetworksConfig" id="@dschmidt/provider-google.ContainerCluster.property.masterAuthorizedNetworksConfig"></a>

```typescript
public readonly masterAuthorizedNetworksConfig: ContainerClusterMasterAuthorizedNetworksConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigOutputReference">ContainerClusterMasterAuthorizedNetworksConfigOutputReference</a>

---

##### `masterVersion`<sup>Required</sup> <a name="masterVersion" id="@dschmidt/provider-google.ContainerCluster.property.masterVersion"></a>

```typescript
public readonly masterVersion: string;
```

- *Type:* string

---

##### `meshCertificates`<sup>Required</sup> <a name="meshCertificates" id="@dschmidt/provider-google.ContainerCluster.property.meshCertificates"></a>

```typescript
public readonly meshCertificates: ContainerClusterMeshCertificatesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMeshCertificatesOutputReference">ContainerClusterMeshCertificatesOutputReference</a>

---

##### `monitoringConfig`<sup>Required</sup> <a name="monitoringConfig" id="@dschmidt/provider-google.ContainerCluster.property.monitoringConfig"></a>

```typescript
public readonly monitoringConfig: ContainerClusterMonitoringConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMonitoringConfigOutputReference">ContainerClusterMonitoringConfigOutputReference</a>

---

##### `networkPolicy`<sup>Required</sup> <a name="networkPolicy" id="@dschmidt/provider-google.ContainerCluster.property.networkPolicy"></a>

```typescript
public readonly networkPolicy: ContainerClusterNetworkPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNetworkPolicyOutputReference">ContainerClusterNetworkPolicyOutputReference</a>

---

##### `nodeConfig`<sup>Required</sup> <a name="nodeConfig" id="@dschmidt/provider-google.ContainerCluster.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: ContainerClusterNodeConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigOutputReference">ContainerClusterNodeConfigOutputReference</a>

---

##### `nodePool`<sup>Required</sup> <a name="nodePool" id="@dschmidt/provider-google.ContainerCluster.property.nodePool"></a>

```typescript
public readonly nodePool: ContainerClusterNodePoolList;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolList">ContainerClusterNodePoolList</a>

---

##### `notificationConfig`<sup>Required</sup> <a name="notificationConfig" id="@dschmidt/provider-google.ContainerCluster.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: ContainerClusterNotificationConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNotificationConfigOutputReference">ContainerClusterNotificationConfigOutputReference</a>

---

##### `operation`<sup>Required</sup> <a name="operation" id="@dschmidt/provider-google.ContainerCluster.property.operation"></a>

```typescript
public readonly operation: string;
```

- *Type:* string

---

##### `privateClusterConfig`<sup>Required</sup> <a name="privateClusterConfig" id="@dschmidt/provider-google.ContainerCluster.property.privateClusterConfig"></a>

```typescript
public readonly privateClusterConfig: ContainerClusterPrivateClusterConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfigOutputReference">ContainerClusterPrivateClusterConfigOutputReference</a>

---

##### `releaseChannel`<sup>Required</sup> <a name="releaseChannel" id="@dschmidt/provider-google.ContainerCluster.property.releaseChannel"></a>

```typescript
public readonly releaseChannel: ContainerClusterReleaseChannelOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterReleaseChannelOutputReference">ContainerClusterReleaseChannelOutputReference</a>

---

##### `resourceUsageExportConfig`<sup>Required</sup> <a name="resourceUsageExportConfig" id="@dschmidt/provider-google.ContainerCluster.property.resourceUsageExportConfig"></a>

```typescript
public readonly resourceUsageExportConfig: ContainerClusterResourceUsageExportConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfigOutputReference">ContainerClusterResourceUsageExportConfigOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.ContainerCluster.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serviceExternalIpsConfig`<sup>Required</sup> <a name="serviceExternalIpsConfig" id="@dschmidt/provider-google.ContainerCluster.property.serviceExternalIpsConfig"></a>

```typescript
public readonly serviceExternalIpsConfig: ContainerClusterServiceExternalIpsConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfigOutputReference">ContainerClusterServiceExternalIpsConfigOutputReference</a>

---

##### `servicesIpv4Cidr`<sup>Required</sup> <a name="servicesIpv4Cidr" id="@dschmidt/provider-google.ContainerCluster.property.servicesIpv4Cidr"></a>

```typescript
public readonly servicesIpv4Cidr: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerCluster.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerClusterTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterTimeoutsOutputReference">ContainerClusterTimeoutsOutputReference</a>

---

##### `tpuIpv4CidrBlock`<sup>Required</sup> <a name="tpuIpv4CidrBlock" id="@dschmidt/provider-google.ContainerCluster.property.tpuIpv4CidrBlock"></a>

```typescript
public readonly tpuIpv4CidrBlock: string;
```

- *Type:* string

---

##### `verticalPodAutoscaling`<sup>Required</sup> <a name="verticalPodAutoscaling" id="@dschmidt/provider-google.ContainerCluster.property.verticalPodAutoscaling"></a>

```typescript
public readonly verticalPodAutoscaling: ContainerClusterVerticalPodAutoscalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterVerticalPodAutoscalingOutputReference">ContainerClusterVerticalPodAutoscalingOutputReference</a>

---

##### `workloadIdentityConfig`<sup>Required</sup> <a name="workloadIdentityConfig" id="@dschmidt/provider-google.ContainerCluster.property.workloadIdentityConfig"></a>

```typescript
public readonly workloadIdentityConfig: ContainerClusterWorkloadIdentityConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfigOutputReference">ContainerClusterWorkloadIdentityConfigOutputReference</a>

---

##### `addonsConfigInput`<sup>Optional</sup> <a name="addonsConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.addonsConfigInput"></a>

```typescript
public readonly addonsConfigInput: ContainerClusterAddonsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig">ContainerClusterAddonsConfig</a>

---

##### `authenticatorGroupsConfigInput`<sup>Optional</sup> <a name="authenticatorGroupsConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.authenticatorGroupsConfigInput"></a>

```typescript
public readonly authenticatorGroupsConfigInput: ContainerClusterAuthenticatorGroupsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfig">ContainerClusterAuthenticatorGroupsConfig</a>

---

##### `binaryAuthorizationInput`<sup>Optional</sup> <a name="binaryAuthorizationInput" id="@dschmidt/provider-google.ContainerCluster.property.binaryAuthorizationInput"></a>

```typescript
public readonly binaryAuthorizationInput: ContainerClusterBinaryAuthorization;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterBinaryAuthorization">ContainerClusterBinaryAuthorization</a>

---

##### `clusterAutoscalingInput`<sup>Optional</sup> <a name="clusterAutoscalingInput" id="@dschmidt/provider-google.ContainerCluster.property.clusterAutoscalingInput"></a>

```typescript
public readonly clusterAutoscalingInput: ContainerClusterClusterAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscaling">ContainerClusterClusterAutoscaling</a>

---

##### `clusterIpv4CidrInput`<sup>Optional</sup> <a name="clusterIpv4CidrInput" id="@dschmidt/provider-google.ContainerCluster.property.clusterIpv4CidrInput"></a>

```typescript
public readonly clusterIpv4CidrInput: string;
```

- *Type:* string

---

##### `confidentialNodesInput`<sup>Optional</sup> <a name="confidentialNodesInput" id="@dschmidt/provider-google.ContainerCluster.property.confidentialNodesInput"></a>

```typescript
public readonly confidentialNodesInput: ContainerClusterConfidentialNodes;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterConfidentialNodes">ContainerClusterConfidentialNodes</a>

---

##### `databaseEncryptionInput`<sup>Optional</sup> <a name="databaseEncryptionInput" id="@dschmidt/provider-google.ContainerCluster.property.databaseEncryptionInput"></a>

```typescript
public readonly databaseEncryptionInput: ContainerClusterDatabaseEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDatabaseEncryption">ContainerClusterDatabaseEncryption</a>

---

##### `datapathProviderInput`<sup>Optional</sup> <a name="datapathProviderInput" id="@dschmidt/provider-google.ContainerCluster.property.datapathProviderInput"></a>

```typescript
public readonly datapathProviderInput: string;
```

- *Type:* string

---

##### `defaultMaxPodsPerNodeInput`<sup>Optional</sup> <a name="defaultMaxPodsPerNodeInput" id="@dschmidt/provider-google.ContainerCluster.property.defaultMaxPodsPerNodeInput"></a>

```typescript
public readonly defaultMaxPodsPerNodeInput: number;
```

- *Type:* number

---

##### `defaultSnatStatusInput`<sup>Optional</sup> <a name="defaultSnatStatusInput" id="@dschmidt/provider-google.ContainerCluster.property.defaultSnatStatusInput"></a>

```typescript
public readonly defaultSnatStatusInput: ContainerClusterDefaultSnatStatus;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDefaultSnatStatus">ContainerClusterDefaultSnatStatus</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ContainerCluster.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `dnsConfigInput`<sup>Optional</sup> <a name="dnsConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.dnsConfigInput"></a>

```typescript
public readonly dnsConfigInput: ContainerClusterDnsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDnsConfig">ContainerClusterDnsConfig</a>

---

##### `enableAutopilotInput`<sup>Optional</sup> <a name="enableAutopilotInput" id="@dschmidt/provider-google.ContainerCluster.property.enableAutopilotInput"></a>

```typescript
public readonly enableAutopilotInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableBinaryAuthorizationInput`<sup>Optional</sup> <a name="enableBinaryAuthorizationInput" id="@dschmidt/provider-google.ContainerCluster.property.enableBinaryAuthorizationInput"></a>

```typescript
public readonly enableBinaryAuthorizationInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableIntranodeVisibilityInput`<sup>Optional</sup> <a name="enableIntranodeVisibilityInput" id="@dschmidt/provider-google.ContainerCluster.property.enableIntranodeVisibilityInput"></a>

```typescript
public readonly enableIntranodeVisibilityInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableKubernetesAlphaInput`<sup>Optional</sup> <a name="enableKubernetesAlphaInput" id="@dschmidt/provider-google.ContainerCluster.property.enableKubernetesAlphaInput"></a>

```typescript
public readonly enableKubernetesAlphaInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableLegacyAbacInput`<sup>Optional</sup> <a name="enableLegacyAbacInput" id="@dschmidt/provider-google.ContainerCluster.property.enableLegacyAbacInput"></a>

```typescript
public readonly enableLegacyAbacInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableShieldedNodesInput`<sup>Optional</sup> <a name="enableShieldedNodesInput" id="@dschmidt/provider-google.ContainerCluster.property.enableShieldedNodesInput"></a>

```typescript
public readonly enableShieldedNodesInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableTpuInput`<sup>Optional</sup> <a name="enableTpuInput" id="@dschmidt/provider-google.ContainerCluster.property.enableTpuInput"></a>

```typescript
public readonly enableTpuInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerCluster.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `initialNodeCountInput`<sup>Optional</sup> <a name="initialNodeCountInput" id="@dschmidt/provider-google.ContainerCluster.property.initialNodeCountInput"></a>

```typescript
public readonly initialNodeCountInput: number;
```

- *Type:* number

---

##### `ipAllocationPolicyInput`<sup>Optional</sup> <a name="ipAllocationPolicyInput" id="@dschmidt/provider-google.ContainerCluster.property.ipAllocationPolicyInput"></a>

```typescript
public readonly ipAllocationPolicyInput: ContainerClusterIpAllocationPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicy">ContainerClusterIpAllocationPolicy</a>

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ContainerCluster.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `loggingConfigInput`<sup>Optional</sup> <a name="loggingConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.loggingConfigInput"></a>

```typescript
public readonly loggingConfigInput: ContainerClusterLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterLoggingConfig">ContainerClusterLoggingConfig</a>

---

##### `loggingServiceInput`<sup>Optional</sup> <a name="loggingServiceInput" id="@dschmidt/provider-google.ContainerCluster.property.loggingServiceInput"></a>

```typescript
public readonly loggingServiceInput: string;
```

- *Type:* string

---

##### `maintenancePolicyInput`<sup>Optional</sup> <a name="maintenancePolicyInput" id="@dschmidt/provider-google.ContainerCluster.property.maintenancePolicyInput"></a>

```typescript
public readonly maintenancePolicyInput: ContainerClusterMaintenancePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicy">ContainerClusterMaintenancePolicy</a>

---

##### `masterAuthInput`<sup>Optional</sup> <a name="masterAuthInput" id="@dschmidt/provider-google.ContainerCluster.property.masterAuthInput"></a>

```typescript
public readonly masterAuthInput: ContainerClusterMasterAuth;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMasterAuth">ContainerClusterMasterAuth</a>

---

##### `masterAuthorizedNetworksConfigInput`<sup>Optional</sup> <a name="masterAuthorizedNetworksConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.masterAuthorizedNetworksConfigInput"></a>

```typescript
public readonly masterAuthorizedNetworksConfigInput: ContainerClusterMasterAuthorizedNetworksConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfig">ContainerClusterMasterAuthorizedNetworksConfig</a>

---

##### `meshCertificatesInput`<sup>Optional</sup> <a name="meshCertificatesInput" id="@dschmidt/provider-google.ContainerCluster.property.meshCertificatesInput"></a>

```typescript
public readonly meshCertificatesInput: ContainerClusterMeshCertificates;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMeshCertificates">ContainerClusterMeshCertificates</a>

---

##### `minMasterVersionInput`<sup>Optional</sup> <a name="minMasterVersionInput" id="@dschmidt/provider-google.ContainerCluster.property.minMasterVersionInput"></a>

```typescript
public readonly minMasterVersionInput: string;
```

- *Type:* string

---

##### `monitoringConfigInput`<sup>Optional</sup> <a name="monitoringConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.monitoringConfigInput"></a>

```typescript
public readonly monitoringConfigInput: ContainerClusterMonitoringConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMonitoringConfig">ContainerClusterMonitoringConfig</a>

---

##### `monitoringServiceInput`<sup>Optional</sup> <a name="monitoringServiceInput" id="@dschmidt/provider-google.ContainerCluster.property.monitoringServiceInput"></a>

```typescript
public readonly monitoringServiceInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ContainerCluster.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkingModeInput`<sup>Optional</sup> <a name="networkingModeInput" id="@dschmidt/provider-google.ContainerCluster.property.networkingModeInput"></a>

```typescript
public readonly networkingModeInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ContainerCluster.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `networkPolicyInput`<sup>Optional</sup> <a name="networkPolicyInput" id="@dschmidt/provider-google.ContainerCluster.property.networkPolicyInput"></a>

```typescript
public readonly networkPolicyInput: ContainerClusterNetworkPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNetworkPolicy">ContainerClusterNetworkPolicy</a>

---

##### `nodeConfigInput`<sup>Optional</sup> <a name="nodeConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.nodeConfigInput"></a>

```typescript
public readonly nodeConfigInput: ContainerClusterNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodeConfig">ContainerClusterNodeConfig</a>

---

##### `nodeLocationsInput`<sup>Optional</sup> <a name="nodeLocationsInput" id="@dschmidt/provider-google.ContainerCluster.property.nodeLocationsInput"></a>

```typescript
public readonly nodeLocationsInput: string[];
```

- *Type:* string[]

---

##### `nodePoolInput`<sup>Optional</sup> <a name="nodePoolInput" id="@dschmidt/provider-google.ContainerCluster.property.nodePoolInput"></a>

```typescript
public readonly nodePoolInput: IResolvable | ContainerClusterNodePool[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterNodePool">ContainerClusterNodePool</a>[]

---

##### `nodeVersionInput`<sup>Optional</sup> <a name="nodeVersionInput" id="@dschmidt/provider-google.ContainerCluster.property.nodeVersionInput"></a>

```typescript
public readonly nodeVersionInput: string;
```

- *Type:* string

---

##### `notificationConfigInput`<sup>Optional</sup> <a name="notificationConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.notificationConfigInput"></a>

```typescript
public readonly notificationConfigInput: ContainerClusterNotificationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNotificationConfig">ContainerClusterNotificationConfig</a>

---

##### `privateClusterConfigInput`<sup>Optional</sup> <a name="privateClusterConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.privateClusterConfigInput"></a>

```typescript
public readonly privateClusterConfigInput: ContainerClusterPrivateClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfig">ContainerClusterPrivateClusterConfig</a>

---

##### `privateIpv6GoogleAccessInput`<sup>Optional</sup> <a name="privateIpv6GoogleAccessInput" id="@dschmidt/provider-google.ContainerCluster.property.privateIpv6GoogleAccessInput"></a>

```typescript
public readonly privateIpv6GoogleAccessInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerCluster.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `releaseChannelInput`<sup>Optional</sup> <a name="releaseChannelInput" id="@dschmidt/provider-google.ContainerCluster.property.releaseChannelInput"></a>

```typescript
public readonly releaseChannelInput: ContainerClusterReleaseChannel;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterReleaseChannel">ContainerClusterReleaseChannel</a>

---

##### `removeDefaultNodePoolInput`<sup>Optional</sup> <a name="removeDefaultNodePoolInput" id="@dschmidt/provider-google.ContainerCluster.property.removeDefaultNodePoolInput"></a>

```typescript
public readonly removeDefaultNodePoolInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `resourceLabelsInput`<sup>Optional</sup> <a name="resourceLabelsInput" id="@dschmidt/provider-google.ContainerCluster.property.resourceLabelsInput"></a>

```typescript
public readonly resourceLabelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `resourceUsageExportConfigInput`<sup>Optional</sup> <a name="resourceUsageExportConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.resourceUsageExportConfigInput"></a>

```typescript
public readonly resourceUsageExportConfigInput: ContainerClusterResourceUsageExportConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig">ContainerClusterResourceUsageExportConfig</a>

---

##### `serviceExternalIpsConfigInput`<sup>Optional</sup> <a name="serviceExternalIpsConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.serviceExternalIpsConfigInput"></a>

```typescript
public readonly serviceExternalIpsConfigInput: ContainerClusterServiceExternalIpsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfig">ContainerClusterServiceExternalIpsConfig</a>

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.ContainerCluster.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ContainerCluster.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ContainerClusterTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterTimeouts">ContainerClusterTimeouts</a>

---

##### `verticalPodAutoscalingInput`<sup>Optional</sup> <a name="verticalPodAutoscalingInput" id="@dschmidt/provider-google.ContainerCluster.property.verticalPodAutoscalingInput"></a>

```typescript
public readonly verticalPodAutoscalingInput: ContainerClusterVerticalPodAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterVerticalPodAutoscaling">ContainerClusterVerticalPodAutoscaling</a>

---

##### `workloadIdentityConfigInput`<sup>Optional</sup> <a name="workloadIdentityConfigInput" id="@dschmidt/provider-google.ContainerCluster.property.workloadIdentityConfigInput"></a>

```typescript
public readonly workloadIdentityConfigInput: ContainerClusterWorkloadIdentityConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfig">ContainerClusterWorkloadIdentityConfig</a>

---

##### `clusterIpv4Cidr`<sup>Required</sup> <a name="clusterIpv4Cidr" id="@dschmidt/provider-google.ContainerCluster.property.clusterIpv4Cidr"></a>

```typescript
public readonly clusterIpv4Cidr: string;
```

- *Type:* string

---

##### `datapathProvider`<sup>Required</sup> <a name="datapathProvider" id="@dschmidt/provider-google.ContainerCluster.property.datapathProvider"></a>

```typescript
public readonly datapathProvider: string;
```

- *Type:* string

---

##### `defaultMaxPodsPerNode`<sup>Required</sup> <a name="defaultMaxPodsPerNode" id="@dschmidt/provider-google.ContainerCluster.property.defaultMaxPodsPerNode"></a>

```typescript
public readonly defaultMaxPodsPerNode: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ContainerCluster.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `enableAutopilot`<sup>Required</sup> <a name="enableAutopilot" id="@dschmidt/provider-google.ContainerCluster.property.enableAutopilot"></a>

```typescript
public readonly enableAutopilot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableBinaryAuthorization`<sup>Required</sup> <a name="enableBinaryAuthorization" id="@dschmidt/provider-google.ContainerCluster.property.enableBinaryAuthorization"></a>

```typescript
public readonly enableBinaryAuthorization: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableIntranodeVisibility`<sup>Required</sup> <a name="enableIntranodeVisibility" id="@dschmidt/provider-google.ContainerCluster.property.enableIntranodeVisibility"></a>

```typescript
public readonly enableIntranodeVisibility: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableKubernetesAlpha`<sup>Required</sup> <a name="enableKubernetesAlpha" id="@dschmidt/provider-google.ContainerCluster.property.enableKubernetesAlpha"></a>

```typescript
public readonly enableKubernetesAlpha: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableLegacyAbac`<sup>Required</sup> <a name="enableLegacyAbac" id="@dschmidt/provider-google.ContainerCluster.property.enableLegacyAbac"></a>

```typescript
public readonly enableLegacyAbac: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableShieldedNodes`<sup>Required</sup> <a name="enableShieldedNodes" id="@dschmidt/provider-google.ContainerCluster.property.enableShieldedNodes"></a>

```typescript
public readonly enableShieldedNodes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableTpu`<sup>Required</sup> <a name="enableTpu" id="@dschmidt/provider-google.ContainerCluster.property.enableTpu"></a>

```typescript
public readonly enableTpu: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerCluster.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `initialNodeCount`<sup>Required</sup> <a name="initialNodeCount" id="@dschmidt/provider-google.ContainerCluster.property.initialNodeCount"></a>

```typescript
public readonly initialNodeCount: number;
```

- *Type:* number

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerCluster.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `loggingService`<sup>Required</sup> <a name="loggingService" id="@dschmidt/provider-google.ContainerCluster.property.loggingService"></a>

```typescript
public readonly loggingService: string;
```

- *Type:* string

---

##### `minMasterVersion`<sup>Required</sup> <a name="minMasterVersion" id="@dschmidt/provider-google.ContainerCluster.property.minMasterVersion"></a>

```typescript
public readonly minMasterVersion: string;
```

- *Type:* string

---

##### `monitoringService`<sup>Required</sup> <a name="monitoringService" id="@dschmidt/provider-google.ContainerCluster.property.monitoringService"></a>

```typescript
public readonly monitoringService: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerCluster.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ContainerCluster.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `networkingMode`<sup>Required</sup> <a name="networkingMode" id="@dschmidt/provider-google.ContainerCluster.property.networkingMode"></a>

```typescript
public readonly networkingMode: string;
```

- *Type:* string

---

##### `nodeLocations`<sup>Required</sup> <a name="nodeLocations" id="@dschmidt/provider-google.ContainerCluster.property.nodeLocations"></a>

```typescript
public readonly nodeLocations: string[];
```

- *Type:* string[]

---

##### `nodeVersion`<sup>Required</sup> <a name="nodeVersion" id="@dschmidt/provider-google.ContainerCluster.property.nodeVersion"></a>

```typescript
public readonly nodeVersion: string;
```

- *Type:* string

---

##### `privateIpv6GoogleAccess`<sup>Required</sup> <a name="privateIpv6GoogleAccess" id="@dschmidt/provider-google.ContainerCluster.property.privateIpv6GoogleAccess"></a>

```typescript
public readonly privateIpv6GoogleAccess: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerCluster.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `removeDefaultNodePool`<sup>Required</sup> <a name="removeDefaultNodePool" id="@dschmidt/provider-google.ContainerCluster.property.removeDefaultNodePool"></a>

```typescript
public readonly removeDefaultNodePool: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `resourceLabels`<sup>Required</sup> <a name="resourceLabels" id="@dschmidt/provider-google.ContainerCluster.property.resourceLabels"></a>

```typescript
public readonly resourceLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ContainerCluster.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerCluster.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerCluster.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerNodePool <a name="ContainerNodePool" id="@dschmidt/provider-google.ContainerNodePool"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_node_pool google_container_node_pool}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerNodePool.Initializer"></a>

```typescript
import { ContainerNodePool } from '@dschmidt/provider-google'

new ContainerNodePool(scope: Construct, id: string, config: ContainerNodePoolConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig">ContainerNodePoolConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerNodePool.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerNodePool.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerNodePool.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolConfig">ContainerNodePoolConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.putAutoscaling">putAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.putManagement">putManagement</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.putNodeConfig">putNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.putUpgradeSettings">putUpgradeSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetAutoscaling">resetAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetInitialNodeCount">resetInitialNodeCount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetManagement">resetManagement</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetMaxPodsPerNode">resetMaxPodsPerNode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetNamePrefix">resetNamePrefix</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetNodeConfig">resetNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetNodeCount">resetNodeCount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetNodeLocations">resetNodeLocations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetUpgradeSettings">resetUpgradeSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.resetVersion">resetVersion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerNodePool.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerNodePool.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerNodePool.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerNodePool.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerNodePool.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerNodePool.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerNodePool.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerNodePool.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerNodePool.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerNodePool.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerNodePool.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerNodePool.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerNodePool.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerNodePool.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerNodePool.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerNodePool.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerNodePool.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerNodePool.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerNodePool.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerNodePool.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAutoscaling` <a name="putAutoscaling" id="@dschmidt/provider-google.ContainerNodePool.putAutoscaling"></a>

```typescript
public putAutoscaling(value: ContainerNodePoolAutoscaling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerNodePool.putAutoscaling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolAutoscaling">ContainerNodePoolAutoscaling</a>

---

##### `putManagement` <a name="putManagement" id="@dschmidt/provider-google.ContainerNodePool.putManagement"></a>

```typescript
public putManagement(value: ContainerNodePoolManagement): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerNodePool.putManagement.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolManagement">ContainerNodePoolManagement</a>

---

##### `putNodeConfig` <a name="putNodeConfig" id="@dschmidt/provider-google.ContainerNodePool.putNodeConfig"></a>

```typescript
public putNodeConfig(value: ContainerNodePoolNodeConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerNodePool.putNodeConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig">ContainerNodePoolNodeConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ContainerNodePool.putTimeouts"></a>

```typescript
public putTimeouts(value: ContainerNodePoolTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerNodePool.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolTimeouts">ContainerNodePoolTimeouts</a>

---

##### `putUpgradeSettings` <a name="putUpgradeSettings" id="@dschmidt/provider-google.ContainerNodePool.putUpgradeSettings"></a>

```typescript
public putUpgradeSettings(value: ContainerNodePoolUpgradeSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerNodePool.putUpgradeSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolUpgradeSettings">ContainerNodePoolUpgradeSettings</a>

---

##### `resetAutoscaling` <a name="resetAutoscaling" id="@dschmidt/provider-google.ContainerNodePool.resetAutoscaling"></a>

```typescript
public resetAutoscaling(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerNodePool.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInitialNodeCount` <a name="resetInitialNodeCount" id="@dschmidt/provider-google.ContainerNodePool.resetInitialNodeCount"></a>

```typescript
public resetInitialNodeCount(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.ContainerNodePool.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetManagement` <a name="resetManagement" id="@dschmidt/provider-google.ContainerNodePool.resetManagement"></a>

```typescript
public resetManagement(): void
```

##### `resetMaxPodsPerNode` <a name="resetMaxPodsPerNode" id="@dschmidt/provider-google.ContainerNodePool.resetMaxPodsPerNode"></a>

```typescript
public resetMaxPodsPerNode(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.ContainerNodePool.resetName"></a>

```typescript
public resetName(): void
```

##### `resetNamePrefix` <a name="resetNamePrefix" id="@dschmidt/provider-google.ContainerNodePool.resetNamePrefix"></a>

```typescript
public resetNamePrefix(): void
```

##### `resetNodeConfig` <a name="resetNodeConfig" id="@dschmidt/provider-google.ContainerNodePool.resetNodeConfig"></a>

```typescript
public resetNodeConfig(): void
```

##### `resetNodeCount` <a name="resetNodeCount" id="@dschmidt/provider-google.ContainerNodePool.resetNodeCount"></a>

```typescript
public resetNodeCount(): void
```

##### `resetNodeLocations` <a name="resetNodeLocations" id="@dschmidt/provider-google.ContainerNodePool.resetNodeLocations"></a>

```typescript
public resetNodeLocations(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerNodePool.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ContainerNodePool.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUpgradeSettings` <a name="resetUpgradeSettings" id="@dschmidt/provider-google.ContainerNodePool.resetUpgradeSettings"></a>

```typescript
public resetUpgradeSettings(): void
```

##### `resetVersion` <a name="resetVersion" id="@dschmidt/provider-google.ContainerNodePool.resetVersion"></a>

```typescript
public resetVersion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerNodePool.isConstruct"></a>

```typescript
import { ContainerNodePool } from '@dschmidt/provider-google'

ContainerNodePool.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerNodePool.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.autoscaling">autoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolAutoscalingOutputReference">ContainerNodePoolAutoscalingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.instanceGroupUrls">instanceGroupUrls</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.managedInstanceGroupUrls">managedInstanceGroupUrls</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.management">management</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolManagementOutputReference">ContainerNodePoolManagementOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigOutputReference">ContainerNodePoolNodeConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.operation">operation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolTimeoutsOutputReference">ContainerNodePoolTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.upgradeSettings">upgradeSettings</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolUpgradeSettingsOutputReference">ContainerNodePoolUpgradeSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.autoscalingInput">autoscalingInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolAutoscaling">ContainerNodePoolAutoscaling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.clusterInput">clusterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.initialNodeCountInput">initialNodeCountInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.managementInput">managementInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolManagement">ContainerNodePoolManagement</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.maxPodsPerNodeInput">maxPodsPerNodeInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.namePrefixInput">namePrefixInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.nodeConfigInput">nodeConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig">ContainerNodePoolNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.nodeCountInput">nodeCountInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.nodeLocationsInput">nodeLocationsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerNodePoolTimeouts">ContainerNodePoolTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.upgradeSettingsInput">upgradeSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolUpgradeSettings">ContainerNodePoolUpgradeSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.versionInput">versionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.cluster">cluster</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.initialNodeCount">initialNodeCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.maxPodsPerNode">maxPodsPerNode</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.namePrefix">namePrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.nodeCount">nodeCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.nodeLocations">nodeLocations</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.version">version</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerNodePool.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerNodePool.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerNodePool.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerNodePool.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerNodePool.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerNodePool.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerNodePool.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerNodePool.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerNodePool.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerNodePool.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerNodePool.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerNodePool.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerNodePool.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerNodePool.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscaling`<sup>Required</sup> <a name="autoscaling" id="@dschmidt/provider-google.ContainerNodePool.property.autoscaling"></a>

```typescript
public readonly autoscaling: ContainerNodePoolAutoscalingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolAutoscalingOutputReference">ContainerNodePoolAutoscalingOutputReference</a>

---

##### `instanceGroupUrls`<sup>Required</sup> <a name="instanceGroupUrls" id="@dschmidt/provider-google.ContainerNodePool.property.instanceGroupUrls"></a>

```typescript
public readonly instanceGroupUrls: string[];
```

- *Type:* string[]

---

##### `managedInstanceGroupUrls`<sup>Required</sup> <a name="managedInstanceGroupUrls" id="@dschmidt/provider-google.ContainerNodePool.property.managedInstanceGroupUrls"></a>

```typescript
public readonly managedInstanceGroupUrls: string[];
```

- *Type:* string[]

---

##### `management`<sup>Required</sup> <a name="management" id="@dschmidt/provider-google.ContainerNodePool.property.management"></a>

```typescript
public readonly management: ContainerNodePoolManagementOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolManagementOutputReference">ContainerNodePoolManagementOutputReference</a>

---

##### `nodeConfig`<sup>Required</sup> <a name="nodeConfig" id="@dschmidt/provider-google.ContainerNodePool.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: ContainerNodePoolNodeConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigOutputReference">ContainerNodePoolNodeConfigOutputReference</a>

---

##### `operation`<sup>Required</sup> <a name="operation" id="@dschmidt/provider-google.ContainerNodePool.property.operation"></a>

```typescript
public readonly operation: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerNodePool.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerNodePoolTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolTimeoutsOutputReference">ContainerNodePoolTimeoutsOutputReference</a>

---

##### `upgradeSettings`<sup>Required</sup> <a name="upgradeSettings" id="@dschmidt/provider-google.ContainerNodePool.property.upgradeSettings"></a>

```typescript
public readonly upgradeSettings: ContainerNodePoolUpgradeSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolUpgradeSettingsOutputReference">ContainerNodePoolUpgradeSettingsOutputReference</a>

---

##### `autoscalingInput`<sup>Optional</sup> <a name="autoscalingInput" id="@dschmidt/provider-google.ContainerNodePool.property.autoscalingInput"></a>

```typescript
public readonly autoscalingInput: ContainerNodePoolAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolAutoscaling">ContainerNodePoolAutoscaling</a>

---

##### `clusterInput`<sup>Optional</sup> <a name="clusterInput" id="@dschmidt/provider-google.ContainerNodePool.property.clusterInput"></a>

```typescript
public readonly clusterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerNodePool.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `initialNodeCountInput`<sup>Optional</sup> <a name="initialNodeCountInput" id="@dschmidt/provider-google.ContainerNodePool.property.initialNodeCountInput"></a>

```typescript
public readonly initialNodeCountInput: number;
```

- *Type:* number

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ContainerNodePool.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `managementInput`<sup>Optional</sup> <a name="managementInput" id="@dschmidt/provider-google.ContainerNodePool.property.managementInput"></a>

```typescript
public readonly managementInput: ContainerNodePoolManagement;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolManagement">ContainerNodePoolManagement</a>

---

##### `maxPodsPerNodeInput`<sup>Optional</sup> <a name="maxPodsPerNodeInput" id="@dschmidt/provider-google.ContainerNodePool.property.maxPodsPerNodeInput"></a>

```typescript
public readonly maxPodsPerNodeInput: number;
```

- *Type:* number

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ContainerNodePool.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `namePrefixInput`<sup>Optional</sup> <a name="namePrefixInput" id="@dschmidt/provider-google.ContainerNodePool.property.namePrefixInput"></a>

```typescript
public readonly namePrefixInput: string;
```

- *Type:* string

---

##### `nodeConfigInput`<sup>Optional</sup> <a name="nodeConfigInput" id="@dschmidt/provider-google.ContainerNodePool.property.nodeConfigInput"></a>

```typescript
public readonly nodeConfigInput: ContainerNodePoolNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig">ContainerNodePoolNodeConfig</a>

---

##### `nodeCountInput`<sup>Optional</sup> <a name="nodeCountInput" id="@dschmidt/provider-google.ContainerNodePool.property.nodeCountInput"></a>

```typescript
public readonly nodeCountInput: number;
```

- *Type:* number

---

##### `nodeLocationsInput`<sup>Optional</sup> <a name="nodeLocationsInput" id="@dschmidt/provider-google.ContainerNodePool.property.nodeLocationsInput"></a>

```typescript
public readonly nodeLocationsInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerNodePool.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ContainerNodePool.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ContainerNodePoolTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerNodePoolTimeouts">ContainerNodePoolTimeouts</a>

---

##### `upgradeSettingsInput`<sup>Optional</sup> <a name="upgradeSettingsInput" id="@dschmidt/provider-google.ContainerNodePool.property.upgradeSettingsInput"></a>

```typescript
public readonly upgradeSettingsInput: ContainerNodePoolUpgradeSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolUpgradeSettings">ContainerNodePoolUpgradeSettings</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.ContainerNodePool.property.versionInput"></a>

```typescript
public readonly versionInput: string;
```

- *Type:* string

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.ContainerNodePool.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerNodePool.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `initialNodeCount`<sup>Required</sup> <a name="initialNodeCount" id="@dschmidt/provider-google.ContainerNodePool.property.initialNodeCount"></a>

```typescript
public readonly initialNodeCount: number;
```

- *Type:* number

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerNodePool.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `maxPodsPerNode`<sup>Required</sup> <a name="maxPodsPerNode" id="@dschmidt/provider-google.ContainerNodePool.property.maxPodsPerNode"></a>

```typescript
public readonly maxPodsPerNode: number;
```

- *Type:* number

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerNodePool.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `namePrefix`<sup>Required</sup> <a name="namePrefix" id="@dschmidt/provider-google.ContainerNodePool.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

---

##### `nodeCount`<sup>Required</sup> <a name="nodeCount" id="@dschmidt/provider-google.ContainerNodePool.property.nodeCount"></a>

```typescript
public readonly nodeCount: number;
```

- *Type:* number

---

##### `nodeLocations`<sup>Required</sup> <a name="nodeLocations" id="@dschmidt/provider-google.ContainerNodePool.property.nodeLocations"></a>

```typescript
public readonly nodeLocations: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerNodePool.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ContainerNodePool.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePool.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerNodePool.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ContainerRegistry <a name="ContainerRegistry" id="@dschmidt/provider-google.ContainerRegistry"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/container_registry google_container_registry}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ContainerRegistry.Initializer"></a>

```typescript
import { ContainerRegistry } from '@dschmidt/provider-google'

new ContainerRegistry(scope: Construct, id: string, config?: ContainerRegistryConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig">ContainerRegistryConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerRegistry.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerRegistry.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.ContainerRegistry.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ContainerRegistryConfig">ContainerRegistryConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ContainerRegistry.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ContainerRegistry.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ContainerRegistry.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerRegistry.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ContainerRegistry.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ContainerRegistry.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ContainerRegistry.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ContainerRegistry.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ContainerRegistry.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ContainerRegistry.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ContainerRegistry.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ContainerRegistry.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ContainerRegistry.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ContainerRegistry.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ContainerRegistry.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ContainerRegistry.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ContainerRegistry.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ContainerRegistry.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ContainerRegistry.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ContainerRegistry.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ContainerRegistry.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.ContainerRegistry.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ContainerRegistry.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ContainerRegistry.isConstruct"></a>

```typescript
import { ContainerRegistry } from '@dschmidt/provider-google'

ContainerRegistry.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ContainerRegistry.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.bucketSelfLink">bucketSelfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ContainerRegistry.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ContainerRegistry.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ContainerRegistry.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ContainerRegistry.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ContainerRegistry.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ContainerRegistry.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ContainerRegistry.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerRegistry.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerRegistry.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerRegistry.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerRegistry.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerRegistry.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerRegistry.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerRegistry.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketSelfLink`<sup>Required</sup> <a name="bucketSelfLink" id="@dschmidt/provider-google.ContainerRegistry.property.bucketSelfLink"></a>

```typescript
public readonly bucketSelfLink: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ContainerRegistry.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.ContainerRegistry.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ContainerRegistry.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ContainerRegistry.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerRegistry.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ContainerRegistry.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerRegistry.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ContainerRegistry.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogEntry <a name="DataCatalogEntry" id="@dschmidt/provider-google.DataCatalogEntry"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry google_data_catalog_entry}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogEntry.Initializer"></a>

```typescript
import { DataCatalogEntry } from '@dschmidt/provider-google'

new DataCatalogEntry(scope: Construct, id: string, config: DataCatalogEntryConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig">DataCatalogEntryConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogEntry.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntry.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogEntry.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryConfig">DataCatalogEntryConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.putGcsFilesetSpec">putGcsFilesetSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetGcsFilesetSpec">resetGcsFilesetSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetLinkedResource">resetLinkedResource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetSchema">resetSchema</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetType">resetType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetUserSpecifiedSystem">resetUserSpecifiedSystem</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.resetUserSpecifiedType">resetUserSpecifiedType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogEntry.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogEntry.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogEntry.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntry.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntry.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogEntry.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntry.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogEntry.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogEntry.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogEntry.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntry.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putGcsFilesetSpec` <a name="putGcsFilesetSpec" id="@dschmidt/provider-google.DataCatalogEntry.putGcsFilesetSpec"></a>

```typescript
public putGcsFilesetSpec(value: DataCatalogEntryGcsFilesetSpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntry.putGcsFilesetSpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpec">DataCatalogEntryGcsFilesetSpec</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataCatalogEntry.putTimeouts"></a>

```typescript
public putTimeouts(value: DataCatalogEntryTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntry.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryTimeouts">DataCatalogEntryTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataCatalogEntry.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataCatalogEntry.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetGcsFilesetSpec` <a name="resetGcsFilesetSpec" id="@dschmidt/provider-google.DataCatalogEntry.resetGcsFilesetSpec"></a>

```typescript
public resetGcsFilesetSpec(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogEntry.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLinkedResource` <a name="resetLinkedResource" id="@dschmidt/provider-google.DataCatalogEntry.resetLinkedResource"></a>

```typescript
public resetLinkedResource(): void
```

##### `resetSchema` <a name="resetSchema" id="@dschmidt/provider-google.DataCatalogEntry.resetSchema"></a>

```typescript
public resetSchema(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataCatalogEntry.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.DataCatalogEntry.resetType"></a>

```typescript
public resetType(): void
```

##### `resetUserSpecifiedSystem` <a name="resetUserSpecifiedSystem" id="@dschmidt/provider-google.DataCatalogEntry.resetUserSpecifiedSystem"></a>

```typescript
public resetUserSpecifiedSystem(): void
```

##### `resetUserSpecifiedType` <a name="resetUserSpecifiedType" id="@dschmidt/provider-google.DataCatalogEntry.resetUserSpecifiedType"></a>

```typescript
public resetUserSpecifiedType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogEntry.isConstruct"></a>

```typescript
import { DataCatalogEntry } from '@dschmidt/provider-google'

DataCatalogEntry.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogEntry.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.bigqueryDateShardedSpec">bigqueryDateShardedSpec</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryBigqueryDateShardedSpecList">DataCatalogEntryBigqueryDateShardedSpecList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.bigqueryTableSpec">bigqueryTableSpec</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryBigqueryTableSpecList">DataCatalogEntryBigqueryTableSpecList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.gcsFilesetSpec">gcsFilesetSpec</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpecOutputReference">DataCatalogEntryGcsFilesetSpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.integratedSystem">integratedSystem</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryTimeoutsOutputReference">DataCatalogEntryTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.entryGroupInput">entryGroupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.entryIdInput">entryIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.gcsFilesetSpecInput">gcsFilesetSpecInput</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpec">DataCatalogEntryGcsFilesetSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.linkedResourceInput">linkedResourceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.schemaInput">schemaInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataCatalogEntryTimeouts">DataCatalogEntryTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.userSpecifiedSystemInput">userSpecifiedSystemInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.userSpecifiedTypeInput">userSpecifiedTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.entryGroup">entryGroup</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.entryId">entryId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.linkedResource">linkedResource</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.schema">schema</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.userSpecifiedSystem">userSpecifiedSystem</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.userSpecifiedType">userSpecifiedType</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogEntry.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogEntry.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogEntry.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogEntry.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogEntry.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogEntry.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogEntry.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntry.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntry.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntry.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntry.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntry.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntry.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntry.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bigqueryDateShardedSpec`<sup>Required</sup> <a name="bigqueryDateShardedSpec" id="@dschmidt/provider-google.DataCatalogEntry.property.bigqueryDateShardedSpec"></a>

```typescript
public readonly bigqueryDateShardedSpec: DataCatalogEntryBigqueryDateShardedSpecList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryBigqueryDateShardedSpecList">DataCatalogEntryBigqueryDateShardedSpecList</a>

---

##### `bigqueryTableSpec`<sup>Required</sup> <a name="bigqueryTableSpec" id="@dschmidt/provider-google.DataCatalogEntry.property.bigqueryTableSpec"></a>

```typescript
public readonly bigqueryTableSpec: DataCatalogEntryBigqueryTableSpecList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryBigqueryTableSpecList">DataCatalogEntryBigqueryTableSpecList</a>

---

##### `gcsFilesetSpec`<sup>Required</sup> <a name="gcsFilesetSpec" id="@dschmidt/provider-google.DataCatalogEntry.property.gcsFilesetSpec"></a>

```typescript
public readonly gcsFilesetSpec: DataCatalogEntryGcsFilesetSpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpecOutputReference">DataCatalogEntryGcsFilesetSpecOutputReference</a>

---

##### `integratedSystem`<sup>Required</sup> <a name="integratedSystem" id="@dschmidt/provider-google.DataCatalogEntry.property.integratedSystem"></a>

```typescript
public readonly integratedSystem: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataCatalogEntry.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataCatalogEntry.property.timeouts"></a>

```typescript
public readonly timeouts: DataCatalogEntryTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryTimeoutsOutputReference">DataCatalogEntryTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataCatalogEntry.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataCatalogEntry.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `entryGroupInput`<sup>Optional</sup> <a name="entryGroupInput" id="@dschmidt/provider-google.DataCatalogEntry.property.entryGroupInput"></a>

```typescript
public readonly entryGroupInput: string;
```

- *Type:* string

---

##### `entryIdInput`<sup>Optional</sup> <a name="entryIdInput" id="@dschmidt/provider-google.DataCatalogEntry.property.entryIdInput"></a>

```typescript
public readonly entryIdInput: string;
```

- *Type:* string

---

##### `gcsFilesetSpecInput`<sup>Optional</sup> <a name="gcsFilesetSpecInput" id="@dschmidt/provider-google.DataCatalogEntry.property.gcsFilesetSpecInput"></a>

```typescript
public readonly gcsFilesetSpecInput: DataCatalogEntryGcsFilesetSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpec">DataCatalogEntryGcsFilesetSpec</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogEntry.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `linkedResourceInput`<sup>Optional</sup> <a name="linkedResourceInput" id="@dschmidt/provider-google.DataCatalogEntry.property.linkedResourceInput"></a>

```typescript
public readonly linkedResourceInput: string;
```

- *Type:* string

---

##### `schemaInput`<sup>Optional</sup> <a name="schemaInput" id="@dschmidt/provider-google.DataCatalogEntry.property.schemaInput"></a>

```typescript
public readonly schemaInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataCatalogEntry.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataCatalogEntryTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogEntryTimeouts">DataCatalogEntryTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.DataCatalogEntry.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `userSpecifiedSystemInput`<sup>Optional</sup> <a name="userSpecifiedSystemInput" id="@dschmidt/provider-google.DataCatalogEntry.property.userSpecifiedSystemInput"></a>

```typescript
public readonly userSpecifiedSystemInput: string;
```

- *Type:* string

---

##### `userSpecifiedTypeInput`<sup>Optional</sup> <a name="userSpecifiedTypeInput" id="@dschmidt/provider-google.DataCatalogEntry.property.userSpecifiedTypeInput"></a>

```typescript
public readonly userSpecifiedTypeInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataCatalogEntry.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataCatalogEntry.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `entryGroup`<sup>Required</sup> <a name="entryGroup" id="@dschmidt/provider-google.DataCatalogEntry.property.entryGroup"></a>

```typescript
public readonly entryGroup: string;
```

- *Type:* string

---

##### `entryId`<sup>Required</sup> <a name="entryId" id="@dschmidt/provider-google.DataCatalogEntry.property.entryId"></a>

```typescript
public readonly entryId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntry.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `linkedResource`<sup>Required</sup> <a name="linkedResource" id="@dschmidt/provider-google.DataCatalogEntry.property.linkedResource"></a>

```typescript
public readonly linkedResource: string;
```

- *Type:* string

---

##### `schema`<sup>Required</sup> <a name="schema" id="@dschmidt/provider-google.DataCatalogEntry.property.schema"></a>

```typescript
public readonly schema: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataCatalogEntry.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `userSpecifiedSystem`<sup>Required</sup> <a name="userSpecifiedSystem" id="@dschmidt/provider-google.DataCatalogEntry.property.userSpecifiedSystem"></a>

```typescript
public readonly userSpecifiedSystem: string;
```

- *Type:* string

---

##### `userSpecifiedType`<sup>Required</sup> <a name="userSpecifiedType" id="@dschmidt/provider-google.DataCatalogEntry.property.userSpecifiedType"></a>

```typescript
public readonly userSpecifiedType: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntry.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogEntry.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogEntryGroup <a name="DataCatalogEntryGroup" id="@dschmidt/provider-google.DataCatalogEntryGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group google_data_catalog_entry_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogEntryGroup.Initializer"></a>

```typescript
import { DataCatalogEntryGroup } from '@dschmidt/provider-google'

new DataCatalogEntryGroup(scope: Construct, id: string, config: DataCatalogEntryGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig">DataCatalogEntryGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogEntryGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogEntryGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig">DataCatalogEntryGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogEntryGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogEntryGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogEntryGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntryGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogEntryGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogEntryGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataCatalogEntryGroup.putTimeouts"></a>

```typescript
public putTimeouts(value: DataCatalogEntryGroupTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntryGroup.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeouts">DataCatalogEntryGroupTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataCatalogEntryGroup.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataCatalogEntryGroup.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogEntryGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataCatalogEntryGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataCatalogEntryGroup.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataCatalogEntryGroup.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogEntryGroup.isConstruct"></a>

```typescript
import { DataCatalogEntryGroup } from '@dschmidt/provider-google'

DataCatalogEntryGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogEntryGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeoutsOutputReference">DataCatalogEntryGroupTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.entryGroupIdInput">entryGroupIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeouts">DataCatalogEntryGroupTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.entryGroupId">entryGroupId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.timeouts"></a>

```typescript
public readonly timeouts: DataCatalogEntryGroupTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeoutsOutputReference">DataCatalogEntryGroupTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `entryGroupIdInput`<sup>Optional</sup> <a name="entryGroupIdInput" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.entryGroupIdInput"></a>

```typescript
public readonly entryGroupIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataCatalogEntryGroupTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeouts">DataCatalogEntryGroupTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `entryGroupId`<sup>Required</sup> <a name="entryGroupId" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.entryGroupId"></a>

```typescript
public readonly entryGroupId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogEntryGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogEntryGroupIamBinding <a name="DataCatalogEntryGroupIamBinding" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding google_data_catalog_entry_group_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.Initializer"></a>

```typescript
import { DataCatalogEntryGroupIamBinding } from '@dschmidt/provider-google'

new DataCatalogEntryGroupIamBinding(scope: Construct, id: string, config: DataCatalogEntryGroupIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig">DataCatalogEntryGroupIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig">DataCatalogEntryGroupIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.putCondition"></a>

```typescript
public putCondition(value: DataCatalogEntryGroupIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition">DataCatalogEntryGroupIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.isConstruct"></a>

```typescript
import { DataCatalogEntryGroupIamBinding } from '@dschmidt/provider-google'

DataCatalogEntryGroupIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConditionOutputReference">DataCatalogEntryGroupIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition">DataCatalogEntryGroupIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.entryGroupInput">entryGroupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.entryGroup">entryGroup</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.condition"></a>

```typescript
public readonly condition: DataCatalogEntryGroupIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConditionOutputReference">DataCatalogEntryGroupIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataCatalogEntryGroupIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition">DataCatalogEntryGroupIamBindingCondition</a>

---

##### `entryGroupInput`<sup>Optional</sup> <a name="entryGroupInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.entryGroupInput"></a>

```typescript
public readonly entryGroupInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `entryGroup`<sup>Required</sup> <a name="entryGroup" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.entryGroup"></a>

```typescript
public readonly entryGroup: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogEntryGroupIamMember <a name="DataCatalogEntryGroupIamMember" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member google_data_catalog_entry_group_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.Initializer"></a>

```typescript
import { DataCatalogEntryGroupIamMember } from '@dschmidt/provider-google'

new DataCatalogEntryGroupIamMember(scope: Construct, id: string, config: DataCatalogEntryGroupIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig">DataCatalogEntryGroupIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig">DataCatalogEntryGroupIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.putCondition"></a>

```typescript
public putCondition(value: DataCatalogEntryGroupIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition">DataCatalogEntryGroupIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.isConstruct"></a>

```typescript
import { DataCatalogEntryGroupIamMember } from '@dschmidt/provider-google'

DataCatalogEntryGroupIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConditionOutputReference">DataCatalogEntryGroupIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition">DataCatalogEntryGroupIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.entryGroupInput">entryGroupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.entryGroup">entryGroup</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.condition"></a>

```typescript
public readonly condition: DataCatalogEntryGroupIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConditionOutputReference">DataCatalogEntryGroupIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataCatalogEntryGroupIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition">DataCatalogEntryGroupIamMemberCondition</a>

---

##### `entryGroupInput`<sup>Optional</sup> <a name="entryGroupInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.entryGroupInput"></a>

```typescript
public readonly entryGroupInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `entryGroup`<sup>Required</sup> <a name="entryGroup" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.entryGroup"></a>

```typescript
public readonly entryGroup: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogEntryGroupIamPolicy <a name="DataCatalogEntryGroupIamPolicy" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy google_data_catalog_entry_group_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.Initializer"></a>

```typescript
import { DataCatalogEntryGroupIamPolicy } from '@dschmidt/provider-google'

new DataCatalogEntryGroupIamPolicy(scope: Construct, id: string, config: DataCatalogEntryGroupIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig">DataCatalogEntryGroupIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig">DataCatalogEntryGroupIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.isConstruct"></a>

```typescript
import { DataCatalogEntryGroupIamPolicy } from '@dschmidt/provider-google'

DataCatalogEntryGroupIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.entryGroupInput">entryGroupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.entryGroup">entryGroup</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `entryGroupInput`<sup>Optional</sup> <a name="entryGroupInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.entryGroupInput"></a>

```typescript
public readonly entryGroupInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `entryGroup`<sup>Required</sup> <a name="entryGroup" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.entryGroup"></a>

```typescript
public readonly entryGroup: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogTag <a name="DataCatalogTag" id="@dschmidt/provider-google.DataCatalogTag"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag google_data_catalog_tag}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogTag.Initializer"></a>

```typescript
import { DataCatalogTag } from '@dschmidt/provider-google'

new DataCatalogTag(scope: Construct, id: string, config: DataCatalogTagConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig">DataCatalogTagConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogTag.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTag.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogTag.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagConfig">DataCatalogTagConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.putFields">putFields</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.resetColumn">resetColumn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.resetParent">resetParent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogTag.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogTag.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogTag.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTag.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogTag.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogTag.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogTag.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogTag.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogTag.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogTag.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogTag.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogTag.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogTag.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogTag.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogTag.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogTag.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogTag.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogTag.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogTag.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTag.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putFields` <a name="putFields" id="@dschmidt/provider-google.DataCatalogTag.putFields"></a>

```typescript
public putFields(value: IResolvable | DataCatalogTagFields[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTag.putFields.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogTagFields">DataCatalogTagFields</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataCatalogTag.putTimeouts"></a>

```typescript
public putTimeouts(value: DataCatalogTagTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTag.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTimeouts">DataCatalogTagTimeouts</a>

---

##### `resetColumn` <a name="resetColumn" id="@dschmidt/provider-google.DataCatalogTag.resetColumn"></a>

```typescript
public resetColumn(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogTag.resetId"></a>

```typescript
public resetId(): void
```

##### `resetParent` <a name="resetParent" id="@dschmidt/provider-google.DataCatalogTag.resetParent"></a>

```typescript
public resetParent(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataCatalogTag.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogTag.isConstruct"></a>

```typescript
import { DataCatalogTag } from '@dschmidt/provider-google'

DataCatalogTag.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogTag.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.fields">fields</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagFieldsList">DataCatalogTagFieldsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.templateDisplayname">templateDisplayname</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTimeoutsOutputReference">DataCatalogTagTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.columnInput">columnInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.fieldsInput">fieldsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataCatalogTagFields">DataCatalogTagFields</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.templateInput">templateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataCatalogTagTimeouts">DataCatalogTagTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.column">column</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.template">template</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogTag.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogTag.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogTag.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogTag.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogTag.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogTag.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogTag.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTag.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTag.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTag.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTag.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTag.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTag.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTag.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fields`<sup>Required</sup> <a name="fields" id="@dschmidt/provider-google.DataCatalogTag.property.fields"></a>

```typescript
public readonly fields: DataCatalogTagFieldsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagFieldsList">DataCatalogTagFieldsList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataCatalogTag.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `templateDisplayname`<sup>Required</sup> <a name="templateDisplayname" id="@dschmidt/provider-google.DataCatalogTag.property.templateDisplayname"></a>

```typescript
public readonly templateDisplayname: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataCatalogTag.property.timeouts"></a>

```typescript
public readonly timeouts: DataCatalogTagTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTimeoutsOutputReference">DataCatalogTagTimeoutsOutputReference</a>

---

##### `columnInput`<sup>Optional</sup> <a name="columnInput" id="@dschmidt/provider-google.DataCatalogTag.property.columnInput"></a>

```typescript
public readonly columnInput: string;
```

- *Type:* string

---

##### `fieldsInput`<sup>Optional</sup> <a name="fieldsInput" id="@dschmidt/provider-google.DataCatalogTag.property.fieldsInput"></a>

```typescript
public readonly fieldsInput: IResolvable | DataCatalogTagFields[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogTagFields">DataCatalogTagFields</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogTag.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DataCatalogTag.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `templateInput`<sup>Optional</sup> <a name="templateInput" id="@dschmidt/provider-google.DataCatalogTag.property.templateInput"></a>

```typescript
public readonly templateInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataCatalogTag.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataCatalogTagTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogTagTimeouts">DataCatalogTagTimeouts</a>

---

##### `column`<sup>Required</sup> <a name="column" id="@dschmidt/provider-google.DataCatalogTag.property.column"></a>

```typescript
public readonly column: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTag.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataCatalogTag.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `template`<sup>Required</sup> <a name="template" id="@dschmidt/provider-google.DataCatalogTag.property.template"></a>

```typescript
public readonly template: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTag.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogTag.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogTagTemplate <a name="DataCatalogTagTemplate" id="@dschmidt/provider-google.DataCatalogTagTemplate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template google_data_catalog_tag_template}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogTagTemplate.Initializer"></a>

```typescript
import { DataCatalogTagTemplate } from '@dschmidt/provider-google'

new DataCatalogTagTemplate(scope: Construct, id: string, config: DataCatalogTagTemplateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig">DataCatalogTagTemplateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogTagTemplate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogTagTemplate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig">DataCatalogTagTemplateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.putFields">putFields</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.resetForceDelete">resetForceDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogTagTemplate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogTagTemplate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogTagTemplate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTagTemplate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogTagTemplate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogTagTemplate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putFields` <a name="putFields" id="@dschmidt/provider-google.DataCatalogTagTemplate.putFields"></a>

```typescript
public putFields(value: IResolvable | DataCatalogTagTemplateFields[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTagTemplate.putFields.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields">DataCatalogTagTemplateFields</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataCatalogTagTemplate.putTimeouts"></a>

```typescript
public putTimeouts(value: DataCatalogTagTemplateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTagTemplate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeouts">DataCatalogTagTemplateTimeouts</a>

---

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataCatalogTagTemplate.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetForceDelete` <a name="resetForceDelete" id="@dschmidt/provider-google.DataCatalogTagTemplate.resetForceDelete"></a>

```typescript
public resetForceDelete(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogTagTemplate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataCatalogTagTemplate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataCatalogTagTemplate.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataCatalogTagTemplate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogTagTemplate.isConstruct"></a>

```typescript
import { DataCatalogTagTemplate } from '@dschmidt/provider-google'

DataCatalogTagTemplate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogTagTemplate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.fields">fields</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsList">DataCatalogTagTemplateFieldsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeoutsOutputReference">DataCatalogTagTemplateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.fieldsInput">fieldsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields">DataCatalogTagTemplateFields</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.forceDeleteInput">forceDeleteInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.tagTemplateIdInput">tagTemplateIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeouts">DataCatalogTagTemplateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.forceDelete">forceDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.tagTemplateId">tagTemplateId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fields`<sup>Required</sup> <a name="fields" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.fields"></a>

```typescript
public readonly fields: DataCatalogTagTemplateFieldsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsList">DataCatalogTagTemplateFieldsList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.timeouts"></a>

```typescript
public readonly timeouts: DataCatalogTagTemplateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeoutsOutputReference">DataCatalogTagTemplateTimeoutsOutputReference</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `fieldsInput`<sup>Optional</sup> <a name="fieldsInput" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.fieldsInput"></a>

```typescript
public readonly fieldsInput: IResolvable | DataCatalogTagTemplateFields[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields">DataCatalogTagTemplateFields</a>[]

---

##### `forceDeleteInput`<sup>Optional</sup> <a name="forceDeleteInput" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.forceDeleteInput"></a>

```typescript
public readonly forceDeleteInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `tagTemplateIdInput`<sup>Optional</sup> <a name="tagTemplateIdInput" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.tagTemplateIdInput"></a>

```typescript
public readonly tagTemplateIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataCatalogTagTemplateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeouts">DataCatalogTagTemplateTimeouts</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `forceDelete`<sup>Required</sup> <a name="forceDelete" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.forceDelete"></a>

```typescript
public readonly forceDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `tagTemplateId`<sup>Required</sup> <a name="tagTemplateId" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.tagTemplateId"></a>

```typescript
public readonly tagTemplateId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogTagTemplate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogTagTemplateIamBinding <a name="DataCatalogTagTemplateIamBinding" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding google_data_catalog_tag_template_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.Initializer"></a>

```typescript
import { DataCatalogTagTemplateIamBinding } from '@dschmidt/provider-google'

new DataCatalogTagTemplateIamBinding(scope: Construct, id: string, config: DataCatalogTagTemplateIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig">DataCatalogTagTemplateIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig">DataCatalogTagTemplateIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.putCondition"></a>

```typescript
public putCondition(value: DataCatalogTagTemplateIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition">DataCatalogTagTemplateIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.isConstruct"></a>

```typescript
import { DataCatalogTagTemplateIamBinding } from '@dschmidt/provider-google'

DataCatalogTagTemplateIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConditionOutputReference">DataCatalogTagTemplateIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition">DataCatalogTagTemplateIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.tagTemplateInput">tagTemplateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.tagTemplate">tagTemplate</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.condition"></a>

```typescript
public readonly condition: DataCatalogTagTemplateIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConditionOutputReference">DataCatalogTagTemplateIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataCatalogTagTemplateIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition">DataCatalogTagTemplateIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tagTemplateInput`<sup>Optional</sup> <a name="tagTemplateInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.tagTemplateInput"></a>

```typescript
public readonly tagTemplateInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `tagTemplate`<sup>Required</sup> <a name="tagTemplate" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.tagTemplate"></a>

```typescript
public readonly tagTemplate: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogTagTemplateIamMember <a name="DataCatalogTagTemplateIamMember" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member google_data_catalog_tag_template_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.Initializer"></a>

```typescript
import { DataCatalogTagTemplateIamMember } from '@dschmidt/provider-google'

new DataCatalogTagTemplateIamMember(scope: Construct, id: string, config: DataCatalogTagTemplateIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig">DataCatalogTagTemplateIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig">DataCatalogTagTemplateIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.putCondition"></a>

```typescript
public putCondition(value: DataCatalogTagTemplateIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition">DataCatalogTagTemplateIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.isConstruct"></a>

```typescript
import { DataCatalogTagTemplateIamMember } from '@dschmidt/provider-google'

DataCatalogTagTemplateIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConditionOutputReference">DataCatalogTagTemplateIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition">DataCatalogTagTemplateIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.tagTemplateInput">tagTemplateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.tagTemplate">tagTemplate</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.condition"></a>

```typescript
public readonly condition: DataCatalogTagTemplateIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConditionOutputReference">DataCatalogTagTemplateIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataCatalogTagTemplateIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition">DataCatalogTagTemplateIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tagTemplateInput`<sup>Optional</sup> <a name="tagTemplateInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.tagTemplateInput"></a>

```typescript
public readonly tagTemplateInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `tagTemplate`<sup>Required</sup> <a name="tagTemplate" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.tagTemplate"></a>

```typescript
public readonly tagTemplate: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataCatalogTagTemplateIamPolicy <a name="DataCatalogTagTemplateIamPolicy" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy google_data_catalog_tag_template_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.Initializer"></a>

```typescript
import { DataCatalogTagTemplateIamPolicy } from '@dschmidt/provider-google'

new DataCatalogTagTemplateIamPolicy(scope: Construct, id: string, config: DataCatalogTagTemplateIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig">DataCatalogTagTemplateIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig">DataCatalogTagTemplateIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.isConstruct"></a>

```typescript
import { DataCatalogTagTemplateIamPolicy } from '@dschmidt/provider-google'

DataCatalogTagTemplateIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.tagTemplateInput">tagTemplateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.tagTemplate">tagTemplate</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `tagTemplateInput`<sup>Optional</sup> <a name="tagTemplateInput" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.tagTemplateInput"></a>

```typescript
public readonly tagTemplateInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `tagTemplate`<sup>Required</sup> <a name="tagTemplate" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.tagTemplate"></a>

```typescript
public readonly tagTemplate: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataflowJob <a name="DataflowJob" id="@dschmidt/provider-google.DataflowJob"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataflow_job google_dataflow_job}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataflowJob.Initializer"></a>

```typescript
import { DataflowJob } from '@dschmidt/provider-google'

new DataflowJob(scope: Construct, id: string, config: DataflowJobConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataflowJob.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataflowJob.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataflowJob.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataflowJobConfig">DataflowJobConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataflowJob.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataflowJob.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataflowJob.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataflowJobConfig">DataflowJobConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataflowJob.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataflowJob.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataflowJob.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataflowJob.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetAdditionalExperiments">resetAdditionalExperiments</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetEnableStreamingEngine">resetEnableStreamingEngine</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetIpConfiguration">resetIpConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetKmsKeyName">resetKmsKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetMachineType">resetMachineType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetMaxWorkers">resetMaxWorkers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetOnDelete">resetOnDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetParameters">resetParameters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetServiceAccountEmail">resetServiceAccountEmail</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetSkipWaitOnJobTermination">resetSkipWaitOnJobTermination</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetSubnetwork">resetSubnetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetTransformNameMapping">resetTransformNameMapping</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataflowJob.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataflowJob.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataflowJob.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataflowJob.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataflowJob.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataflowJob.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataflowJob.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataflowJob.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataflowJob.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataflowJob.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataflowJob.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataflowJob.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataflowJob.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataflowJob.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataflowJob.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataflowJob.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataflowJob.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataflowJob.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataflowJob.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataflowJob.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataflowJob.putTimeouts"></a>

```typescript
public putTimeouts(value: DataflowJobTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataflowJob.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataflowJobTimeouts">DataflowJobTimeouts</a>

---

##### `resetAdditionalExperiments` <a name="resetAdditionalExperiments" id="@dschmidt/provider-google.DataflowJob.resetAdditionalExperiments"></a>

```typescript
public resetAdditionalExperiments(): void
```

##### `resetEnableStreamingEngine` <a name="resetEnableStreamingEngine" id="@dschmidt/provider-google.DataflowJob.resetEnableStreamingEngine"></a>

```typescript
public resetEnableStreamingEngine(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataflowJob.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpConfiguration` <a name="resetIpConfiguration" id="@dschmidt/provider-google.DataflowJob.resetIpConfiguration"></a>

```typescript
public resetIpConfiguration(): void
```

##### `resetKmsKeyName` <a name="resetKmsKeyName" id="@dschmidt/provider-google.DataflowJob.resetKmsKeyName"></a>

```typescript
public resetKmsKeyName(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataflowJob.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMachineType` <a name="resetMachineType" id="@dschmidt/provider-google.DataflowJob.resetMachineType"></a>

```typescript
public resetMachineType(): void
```

##### `resetMaxWorkers` <a name="resetMaxWorkers" id="@dschmidt/provider-google.DataflowJob.resetMaxWorkers"></a>

```typescript
public resetMaxWorkers(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.DataflowJob.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetOnDelete` <a name="resetOnDelete" id="@dschmidt/provider-google.DataflowJob.resetOnDelete"></a>

```typescript
public resetOnDelete(): void
```

##### `resetParameters` <a name="resetParameters" id="@dschmidt/provider-google.DataflowJob.resetParameters"></a>

```typescript
public resetParameters(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataflowJob.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataflowJob.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetServiceAccountEmail` <a name="resetServiceAccountEmail" id="@dschmidt/provider-google.DataflowJob.resetServiceAccountEmail"></a>

```typescript
public resetServiceAccountEmail(): void
```

##### `resetSkipWaitOnJobTermination` <a name="resetSkipWaitOnJobTermination" id="@dschmidt/provider-google.DataflowJob.resetSkipWaitOnJobTermination"></a>

```typescript
public resetSkipWaitOnJobTermination(): void
```

##### `resetSubnetwork` <a name="resetSubnetwork" id="@dschmidt/provider-google.DataflowJob.resetSubnetwork"></a>

```typescript
public resetSubnetwork(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataflowJob.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTransformNameMapping` <a name="resetTransformNameMapping" id="@dschmidt/provider-google.DataflowJob.resetTransformNameMapping"></a>

```typescript
public resetTransformNameMapping(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.DataflowJob.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataflowJob.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataflowJob.isConstruct"></a>

```typescript
import { DataflowJob } from '@dschmidt/provider-google'

DataflowJob.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataflowJob.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.jobId">jobId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataflowJobTimeoutsOutputReference">DataflowJobTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.additionalExperimentsInput">additionalExperimentsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.enableStreamingEngineInput">enableStreamingEngineInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.ipConfigurationInput">ipConfigurationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.kmsKeyNameInput">kmsKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.machineTypeInput">machineTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.maxWorkersInput">maxWorkersInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.onDeleteInput">onDeleteInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.parametersInput">parametersInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.serviceAccountEmailInput">serviceAccountEmailInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.skipWaitOnJobTerminationInput">skipWaitOnJobTerminationInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.subnetworkInput">subnetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.tempGcsLocationInput">tempGcsLocationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.templateGcsPathInput">templateGcsPathInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataflowJobTimeouts">DataflowJobTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.transformNameMappingInput">transformNameMappingInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.additionalExperiments">additionalExperiments</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.enableStreamingEngine">enableStreamingEngine</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.ipConfiguration">ipConfiguration</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.machineType">machineType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.maxWorkers">maxWorkers</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.onDelete">onDelete</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.parameters">parameters</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.skipWaitOnJobTermination">skipWaitOnJobTermination</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.tempGcsLocation">tempGcsLocation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.templateGcsPath">templateGcsPath</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.transformNameMapping">transformNameMapping</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataflowJob.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataflowJob.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataflowJob.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataflowJob.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataflowJob.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataflowJob.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataflowJob.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataflowJob.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataflowJob.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataflowJob.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataflowJob.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataflowJob.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataflowJob.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataflowJob.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `jobId`<sup>Required</sup> <a name="jobId" id="@dschmidt/provider-google.DataflowJob.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataflowJob.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataflowJob.property.timeouts"></a>

```typescript
public readonly timeouts: DataflowJobTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataflowJobTimeoutsOutputReference">DataflowJobTimeoutsOutputReference</a>

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataflowJob.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `additionalExperimentsInput`<sup>Optional</sup> <a name="additionalExperimentsInput" id="@dschmidt/provider-google.DataflowJob.property.additionalExperimentsInput"></a>

```typescript
public readonly additionalExperimentsInput: string[];
```

- *Type:* string[]

---

##### `enableStreamingEngineInput`<sup>Optional</sup> <a name="enableStreamingEngineInput" id="@dschmidt/provider-google.DataflowJob.property.enableStreamingEngineInput"></a>

```typescript
public readonly enableStreamingEngineInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataflowJob.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ipConfigurationInput`<sup>Optional</sup> <a name="ipConfigurationInput" id="@dschmidt/provider-google.DataflowJob.property.ipConfigurationInput"></a>

```typescript
public readonly ipConfigurationInput: string;
```

- *Type:* string

---

##### `kmsKeyNameInput`<sup>Optional</sup> <a name="kmsKeyNameInput" id="@dschmidt/provider-google.DataflowJob.property.kmsKeyNameInput"></a>

```typescript
public readonly kmsKeyNameInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataflowJob.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `machineTypeInput`<sup>Optional</sup> <a name="machineTypeInput" id="@dschmidt/provider-google.DataflowJob.property.machineTypeInput"></a>

```typescript
public readonly machineTypeInput: string;
```

- *Type:* string

---

##### `maxWorkersInput`<sup>Optional</sup> <a name="maxWorkersInput" id="@dschmidt/provider-google.DataflowJob.property.maxWorkersInput"></a>

```typescript
public readonly maxWorkersInput: number;
```

- *Type:* number

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataflowJob.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.DataflowJob.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `onDeleteInput`<sup>Optional</sup> <a name="onDeleteInput" id="@dschmidt/provider-google.DataflowJob.property.onDeleteInput"></a>

```typescript
public readonly onDeleteInput: string;
```

- *Type:* string

---

##### `parametersInput`<sup>Optional</sup> <a name="parametersInput" id="@dschmidt/provider-google.DataflowJob.property.parametersInput"></a>

```typescript
public readonly parametersInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataflowJob.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataflowJob.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `serviceAccountEmailInput`<sup>Optional</sup> <a name="serviceAccountEmailInput" id="@dschmidt/provider-google.DataflowJob.property.serviceAccountEmailInput"></a>

```typescript
public readonly serviceAccountEmailInput: string;
```

- *Type:* string

---

##### `skipWaitOnJobTerminationInput`<sup>Optional</sup> <a name="skipWaitOnJobTerminationInput" id="@dschmidt/provider-google.DataflowJob.property.skipWaitOnJobTerminationInput"></a>

```typescript
public readonly skipWaitOnJobTerminationInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `subnetworkInput`<sup>Optional</sup> <a name="subnetworkInput" id="@dschmidt/provider-google.DataflowJob.property.subnetworkInput"></a>

```typescript
public readonly subnetworkInput: string;
```

- *Type:* string

---

##### `tempGcsLocationInput`<sup>Optional</sup> <a name="tempGcsLocationInput" id="@dschmidt/provider-google.DataflowJob.property.tempGcsLocationInput"></a>

```typescript
public readonly tempGcsLocationInput: string;
```

- *Type:* string

---

##### `templateGcsPathInput`<sup>Optional</sup> <a name="templateGcsPathInput" id="@dschmidt/provider-google.DataflowJob.property.templateGcsPathInput"></a>

```typescript
public readonly templateGcsPathInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataflowJob.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataflowJobTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataflowJobTimeouts">DataflowJobTimeouts</a>

---

##### `transformNameMappingInput`<sup>Optional</sup> <a name="transformNameMappingInput" id="@dschmidt/provider-google.DataflowJob.property.transformNameMappingInput"></a>

```typescript
public readonly transformNameMappingInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.DataflowJob.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `additionalExperiments`<sup>Required</sup> <a name="additionalExperiments" id="@dschmidt/provider-google.DataflowJob.property.additionalExperiments"></a>

```typescript
public readonly additionalExperiments: string[];
```

- *Type:* string[]

---

##### `enableStreamingEngine`<sup>Required</sup> <a name="enableStreamingEngine" id="@dschmidt/provider-google.DataflowJob.property.enableStreamingEngine"></a>

```typescript
public readonly enableStreamingEngine: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataflowJob.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ipConfiguration`<sup>Required</sup> <a name="ipConfiguration" id="@dschmidt/provider-google.DataflowJob.property.ipConfiguration"></a>

```typescript
public readonly ipConfiguration: string;
```

- *Type:* string

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.DataflowJob.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataflowJob.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.DataflowJob.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

---

##### `maxWorkers`<sup>Required</sup> <a name="maxWorkers" id="@dschmidt/provider-google.DataflowJob.property.maxWorkers"></a>

```typescript
public readonly maxWorkers: number;
```

- *Type:* number

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataflowJob.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataflowJob.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `onDelete`<sup>Required</sup> <a name="onDelete" id="@dschmidt/provider-google.DataflowJob.property.onDelete"></a>

```typescript
public readonly onDelete: string;
```

- *Type:* string

---

##### `parameters`<sup>Required</sup> <a name="parameters" id="@dschmidt/provider-google.DataflowJob.property.parameters"></a>

```typescript
public readonly parameters: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataflowJob.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataflowJob.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `serviceAccountEmail`<sup>Required</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.DataflowJob.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

---

##### `skipWaitOnJobTermination`<sup>Required</sup> <a name="skipWaitOnJobTermination" id="@dschmidt/provider-google.DataflowJob.property.skipWaitOnJobTermination"></a>

```typescript
public readonly skipWaitOnJobTermination: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.DataflowJob.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

##### `tempGcsLocation`<sup>Required</sup> <a name="tempGcsLocation" id="@dschmidt/provider-google.DataflowJob.property.tempGcsLocation"></a>

```typescript
public readonly tempGcsLocation: string;
```

- *Type:* string

---

##### `templateGcsPath`<sup>Required</sup> <a name="templateGcsPath" id="@dschmidt/provider-google.DataflowJob.property.templateGcsPath"></a>

```typescript
public readonly templateGcsPath: string;
```

- *Type:* string

---

##### `transformNameMapping`<sup>Required</sup> <a name="transformNameMapping" id="@dschmidt/provider-google.DataflowJob.property.transformNameMapping"></a>

```typescript
public readonly transformNameMapping: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.DataflowJob.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataflowJob.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataflowJob.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataFusionInstance <a name="DataFusionInstance" id="@dschmidt/provider-google.DataFusionInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance google_data_fusion_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataFusionInstance.Initializer"></a>

```typescript
import { DataFusionInstance } from '@dschmidt/provider-google'

new DataFusionInstance(scope: Construct, id: string, config: DataFusionInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig">DataFusionInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataFusionInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataFusionInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataFusionInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataFusionInstanceConfig">DataFusionInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.putNetworkConfig">putNetworkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetDataprocServiceAccount">resetDataprocServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetEnableStackdriverLogging">resetEnableStackdriverLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetEnableStackdriverMonitoring">resetEnableStackdriverMonitoring</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetNetworkConfig">resetNetworkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetOptions">resetOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetPrivateInstance">resetPrivateInstance</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.resetVersion">resetVersion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataFusionInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataFusionInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataFusionInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataFusionInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataFusionInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataFusionInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataFusionInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataFusionInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataFusionInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataFusionInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataFusionInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataFusionInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataFusionInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataFusionInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataFusionInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataFusionInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataFusionInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataFusionInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataFusionInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataFusionInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putNetworkConfig` <a name="putNetworkConfig" id="@dschmidt/provider-google.DataFusionInstance.putNetworkConfig"></a>

```typescript
public putNetworkConfig(value: DataFusionInstanceNetworkConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataFusionInstance.putNetworkConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataFusionInstanceNetworkConfig">DataFusionInstanceNetworkConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataFusionInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: DataFusionInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataFusionInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataFusionInstanceTimeouts">DataFusionInstanceTimeouts</a>

---

##### `resetDataprocServiceAccount` <a name="resetDataprocServiceAccount" id="@dschmidt/provider-google.DataFusionInstance.resetDataprocServiceAccount"></a>

```typescript
public resetDataprocServiceAccount(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataFusionInstance.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEnableStackdriverLogging` <a name="resetEnableStackdriverLogging" id="@dschmidt/provider-google.DataFusionInstance.resetEnableStackdriverLogging"></a>

```typescript
public resetEnableStackdriverLogging(): void
```

##### `resetEnableStackdriverMonitoring` <a name="resetEnableStackdriverMonitoring" id="@dschmidt/provider-google.DataFusionInstance.resetEnableStackdriverMonitoring"></a>

```typescript
public resetEnableStackdriverMonitoring(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataFusionInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataFusionInstance.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetNetworkConfig` <a name="resetNetworkConfig" id="@dschmidt/provider-google.DataFusionInstance.resetNetworkConfig"></a>

```typescript
public resetNetworkConfig(): void
```

##### `resetOptions` <a name="resetOptions" id="@dschmidt/provider-google.DataFusionInstance.resetOptions"></a>

```typescript
public resetOptions(): void
```

##### `resetPrivateInstance` <a name="resetPrivateInstance" id="@dschmidt/provider-google.DataFusionInstance.resetPrivateInstance"></a>

```typescript
public resetPrivateInstance(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataFusionInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataFusionInstance.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataFusionInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVersion` <a name="resetVersion" id="@dschmidt/provider-google.DataFusionInstance.resetVersion"></a>

```typescript
public resetVersion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataFusionInstance.isConstruct"></a>

```typescript
import { DataFusionInstance } from '@dschmidt/provider-google'

DataFusionInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataFusionInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.gcsBucket">gcsBucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.networkConfig">networkConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataFusionInstanceNetworkConfigOutputReference">DataFusionInstanceNetworkConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.serviceEndpoint">serviceEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.stateMessage">stateMessage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.tenantProjectId">tenantProjectId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataFusionInstanceTimeoutsOutputReference">DataFusionInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.dataprocServiceAccountInput">dataprocServiceAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.enableStackdriverLoggingInput">enableStackdriverLoggingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.enableStackdriverMonitoringInput">enableStackdriverMonitoringInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.networkConfigInput">networkConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataFusionInstanceNetworkConfig">DataFusionInstanceNetworkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.optionsInput">optionsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.privateInstanceInput">privateInstanceInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataFusionInstanceTimeouts">DataFusionInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.versionInput">versionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.dataprocServiceAccount">dataprocServiceAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.enableStackdriverLogging">enableStackdriverLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.enableStackdriverMonitoring">enableStackdriverMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.options">options</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.privateInstance">privateInstance</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.version">version</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataFusionInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataFusionInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataFusionInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataFusionInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataFusionInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataFusionInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataFusionInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataFusionInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataFusionInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataFusionInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataFusionInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataFusionInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataFusionInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataFusionInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataFusionInstance.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `gcsBucket`<sup>Required</sup> <a name="gcsBucket" id="@dschmidt/provider-google.DataFusionInstance.property.gcsBucket"></a>

```typescript
public readonly gcsBucket: string;
```

- *Type:* string

---

##### `networkConfig`<sup>Required</sup> <a name="networkConfig" id="@dschmidt/provider-google.DataFusionInstance.property.networkConfig"></a>

```typescript
public readonly networkConfig: DataFusionInstanceNetworkConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataFusionInstanceNetworkConfigOutputReference">DataFusionInstanceNetworkConfigOutputReference</a>

---

##### `serviceEndpoint`<sup>Required</sup> <a name="serviceEndpoint" id="@dschmidt/provider-google.DataFusionInstance.property.serviceEndpoint"></a>

```typescript
public readonly serviceEndpoint: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataFusionInstance.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `stateMessage`<sup>Required</sup> <a name="stateMessage" id="@dschmidt/provider-google.DataFusionInstance.property.stateMessage"></a>

```typescript
public readonly stateMessage: string;
```

- *Type:* string

---

##### `tenantProjectId`<sup>Required</sup> <a name="tenantProjectId" id="@dschmidt/provider-google.DataFusionInstance.property.tenantProjectId"></a>

```typescript
public readonly tenantProjectId: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataFusionInstance.property.timeouts"></a>

```typescript
public readonly timeouts: DataFusionInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataFusionInstanceTimeoutsOutputReference">DataFusionInstanceTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataFusionInstance.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `dataprocServiceAccountInput`<sup>Optional</sup> <a name="dataprocServiceAccountInput" id="@dschmidt/provider-google.DataFusionInstance.property.dataprocServiceAccountInput"></a>

```typescript
public readonly dataprocServiceAccountInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataFusionInstance.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `enableStackdriverLoggingInput`<sup>Optional</sup> <a name="enableStackdriverLoggingInput" id="@dschmidt/provider-google.DataFusionInstance.property.enableStackdriverLoggingInput"></a>

```typescript
public readonly enableStackdriverLoggingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableStackdriverMonitoringInput`<sup>Optional</sup> <a name="enableStackdriverMonitoringInput" id="@dschmidt/provider-google.DataFusionInstance.property.enableStackdriverMonitoringInput"></a>

```typescript
public readonly enableStackdriverMonitoringInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataFusionInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataFusionInstance.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataFusionInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkConfigInput`<sup>Optional</sup> <a name="networkConfigInput" id="@dschmidt/provider-google.DataFusionInstance.property.networkConfigInput"></a>

```typescript
public readonly networkConfigInput: DataFusionInstanceNetworkConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataFusionInstanceNetworkConfig">DataFusionInstanceNetworkConfig</a>

---

##### `optionsInput`<sup>Optional</sup> <a name="optionsInput" id="@dschmidt/provider-google.DataFusionInstance.property.optionsInput"></a>

```typescript
public readonly optionsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `privateInstanceInput`<sup>Optional</sup> <a name="privateInstanceInput" id="@dschmidt/provider-google.DataFusionInstance.property.privateInstanceInput"></a>

```typescript
public readonly privateInstanceInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataFusionInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataFusionInstance.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataFusionInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataFusionInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataFusionInstanceTimeouts">DataFusionInstanceTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.DataFusionInstance.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.DataFusionInstance.property.versionInput"></a>

```typescript
public readonly versionInput: string;
```

- *Type:* string

---

##### `dataprocServiceAccount`<sup>Required</sup> <a name="dataprocServiceAccount" id="@dschmidt/provider-google.DataFusionInstance.property.dataprocServiceAccount"></a>

```typescript
public readonly dataprocServiceAccount: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataFusionInstance.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `enableStackdriverLogging`<sup>Required</sup> <a name="enableStackdriverLogging" id="@dschmidt/provider-google.DataFusionInstance.property.enableStackdriverLogging"></a>

```typescript
public readonly enableStackdriverLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableStackdriverMonitoring`<sup>Required</sup> <a name="enableStackdriverMonitoring" id="@dschmidt/provider-google.DataFusionInstance.property.enableStackdriverMonitoring"></a>

```typescript
public readonly enableStackdriverMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataFusionInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataFusionInstance.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataFusionInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `options`<sup>Required</sup> <a name="options" id="@dschmidt/provider-google.DataFusionInstance.property.options"></a>

```typescript
public readonly options: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `privateInstance`<sup>Required</sup> <a name="privateInstance" id="@dschmidt/provider-google.DataFusionInstance.property.privateInstance"></a>

```typescript
public readonly privateInstance: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataFusionInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataFusionInstance.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataFusionInstance.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DataFusionInstance.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataFusionInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataFusionInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleAccessApprovalFolderServiceAccount <a name="DataGoogleAccessApprovalFolderServiceAccount" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/access_approval_folder_service_account google_access_approval_folder_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.Initializer"></a>

```typescript
import { DataGoogleAccessApprovalFolderServiceAccount } from '@dschmidt/provider-google'

new DataGoogleAccessApprovalFolderServiceAccount(scope: Construct, id: string, config: DataGoogleAccessApprovalFolderServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig">DataGoogleAccessApprovalFolderServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig">DataGoogleAccessApprovalFolderServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.isConstruct"></a>

```typescript
import { DataGoogleAccessApprovalFolderServiceAccount } from '@dschmidt/provider-google'

DataGoogleAccessApprovalFolderServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.accountEmail">accountEmail</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.folderIdInput">folderIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.folderId">folderId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `accountEmail`<sup>Required</sup> <a name="accountEmail" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.accountEmail"></a>

```typescript
public readonly accountEmail: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `folderIdInput`<sup>Optional</sup> <a name="folderIdInput" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.folderIdInput"></a>

```typescript
public readonly folderIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `folderId`<sup>Required</sup> <a name="folderId" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleAccessApprovalOrganizationServiceAccount <a name="DataGoogleAccessApprovalOrganizationServiceAccount" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/access_approval_organization_service_account google_access_approval_organization_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.Initializer"></a>

```typescript
import { DataGoogleAccessApprovalOrganizationServiceAccount } from '@dschmidt/provider-google'

new DataGoogleAccessApprovalOrganizationServiceAccount(scope: Construct, id: string, config: DataGoogleAccessApprovalOrganizationServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig">DataGoogleAccessApprovalOrganizationServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig">DataGoogleAccessApprovalOrganizationServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.isConstruct"></a>

```typescript
import { DataGoogleAccessApprovalOrganizationServiceAccount } from '@dschmidt/provider-google'

DataGoogleAccessApprovalOrganizationServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.accountEmail">accountEmail</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.organizationIdInput">organizationIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.organizationId">organizationId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `accountEmail`<sup>Required</sup> <a name="accountEmail" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.accountEmail"></a>

```typescript
public readonly accountEmail: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `organizationIdInput`<sup>Optional</sup> <a name="organizationIdInput" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.organizationIdInput"></a>

```typescript
public readonly organizationIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `organizationId`<sup>Required</sup> <a name="organizationId" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.organizationId"></a>

```typescript
public readonly organizationId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleAccessApprovalProjectServiceAccount <a name="DataGoogleAccessApprovalProjectServiceAccount" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/access_approval_project_service_account google_access_approval_project_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.Initializer"></a>

```typescript
import { DataGoogleAccessApprovalProjectServiceAccount } from '@dschmidt/provider-google'

new DataGoogleAccessApprovalProjectServiceAccount(scope: Construct, id: string, config: DataGoogleAccessApprovalProjectServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig">DataGoogleAccessApprovalProjectServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig">DataGoogleAccessApprovalProjectServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.isConstruct"></a>

```typescript
import { DataGoogleAccessApprovalProjectServiceAccount } from '@dschmidt/provider-google'

DataGoogleAccessApprovalProjectServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.accountEmail">accountEmail</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.projectIdInput">projectIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.projectId">projectId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `accountEmail`<sup>Required</sup> <a name="accountEmail" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.accountEmail"></a>

```typescript
public readonly accountEmail: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectIdInput`<sup>Optional</sup> <a name="projectIdInput" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.projectIdInput"></a>

```typescript
public readonly projectIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleActiveFolder <a name="DataGoogleActiveFolder" id="@dschmidt/provider-google.DataGoogleActiveFolder"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/active_folder google_active_folder}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleActiveFolder.Initializer"></a>

```typescript
import { DataGoogleActiveFolder } from '@dschmidt/provider-google'

new DataGoogleActiveFolder(scope: Construct, id: string, config: DataGoogleActiveFolderConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig">DataGoogleActiveFolderConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleActiveFolder.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleActiveFolder.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleActiveFolder.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig">DataGoogleActiveFolderConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleActiveFolder.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleActiveFolder.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleActiveFolder.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleActiveFolder.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleActiveFolder.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleActiveFolder.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleActiveFolder.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleActiveFolder.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleActiveFolder.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleActiveFolder.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleActiveFolder.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleActiveFolder.isConstruct"></a>

```typescript
import { DataGoogleActiveFolder } from '@dschmidt/provider-google'

DataGoogleActiveFolder.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleActiveFolder.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolder.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleActiveFolder.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleAppEngineDefaultServiceAccount <a name="DataGoogleAppEngineDefaultServiceAccount" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/app_engine_default_service_account google_app_engine_default_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.Initializer"></a>

```typescript
import { DataGoogleAppEngineDefaultServiceAccount } from '@dschmidt/provider-google'

new DataGoogleAppEngineDefaultServiceAccount(scope: Construct, id: string, config?: DataGoogleAppEngineDefaultServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig">DataGoogleAppEngineDefaultServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig">DataGoogleAppEngineDefaultServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.isConstruct"></a>

```typescript
import { DataGoogleAppEngineDefaultServiceAccount } from '@dschmidt/provider-google'

DataGoogleAppEngineDefaultServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.uniqueId">uniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `uniqueId`<sup>Required</sup> <a name="uniqueId" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.uniqueId"></a>

```typescript
public readonly uniqueId: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleBigqueryDefaultServiceAccount <a name="DataGoogleBigqueryDefaultServiceAccount" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/bigquery_default_service_account google_bigquery_default_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.Initializer"></a>

```typescript
import { DataGoogleBigqueryDefaultServiceAccount } from '@dschmidt/provider-google'

new DataGoogleBigqueryDefaultServiceAccount(scope: Construct, id: string, config?: DataGoogleBigqueryDefaultServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig">DataGoogleBigqueryDefaultServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig">DataGoogleBigqueryDefaultServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.isConstruct"></a>

```typescript
import { DataGoogleBigqueryDefaultServiceAccount } from '@dschmidt/provider-google'

DataGoogleBigqueryDefaultServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleBillingAccount <a name="DataGoogleBillingAccount" id="@dschmidt/provider-google.DataGoogleBillingAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/billing_account google_billing_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleBillingAccount.Initializer"></a>

```typescript
import { DataGoogleBillingAccount } from '@dschmidt/provider-google'

new DataGoogleBillingAccount(scope: Construct, id: string, config?: DataGoogleBillingAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig">DataGoogleBillingAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleBillingAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleBillingAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleBillingAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig">DataGoogleBillingAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.resetBillingAccount">resetBillingAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.resetOpen">resetOpen</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleBillingAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleBillingAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleBillingAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleBillingAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleBillingAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleBillingAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleBillingAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleBillingAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleBillingAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleBillingAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetBillingAccount` <a name="resetBillingAccount" id="@dschmidt/provider-google.DataGoogleBillingAccount.resetBillingAccount"></a>

```typescript
public resetBillingAccount(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataGoogleBillingAccount.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleBillingAccount.resetId"></a>

```typescript
public resetId(): void
```

##### `resetOpen` <a name="resetOpen" id="@dschmidt/provider-google.DataGoogleBillingAccount.resetOpen"></a>

```typescript
public resetOpen(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleBillingAccount.isConstruct"></a>

```typescript
import { DataGoogleBillingAccount } from '@dschmidt/provider-google'

DataGoogleBillingAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleBillingAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.projectIds">projectIds</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.billingAccountInput">billingAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.openInput">openInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.billingAccount">billingAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.open">open</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `projectIds`<sup>Required</sup> <a name="projectIds" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.projectIds"></a>

```typescript
public readonly projectIds: string[];
```

- *Type:* string[]

---

##### `billingAccountInput`<sup>Optional</sup> <a name="billingAccountInput" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.billingAccountInput"></a>

```typescript
public readonly billingAccountInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `openInput`<sup>Optional</sup> <a name="openInput" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.openInput"></a>

```typescript
public readonly openInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `open`<sup>Required</sup> <a name="open" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.open"></a>

```typescript
public readonly open: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleBillingAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleClientConfig <a name="DataGoogleClientConfig" id="@dschmidt/provider-google.DataGoogleClientConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/client_config google_client_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleClientConfig.Initializer"></a>

```typescript
import { DataGoogleClientConfig } from '@dschmidt/provider-google'

new DataGoogleClientConfig(scope: Construct, id: string, config?: DataGoogleClientConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig">DataGoogleClientConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleClientConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleClientConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleClientConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig">DataGoogleClientConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleClientConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleClientConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleClientConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleClientConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleClientConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleClientConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleClientConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleClientConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleClientConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleClientConfig.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleClientConfig.isConstruct"></a>

```typescript
import { DataGoogleClientConfig } from '@dschmidt/provider-google'

DataGoogleClientConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleClientConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.accessToken">accessToken</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.zone">zone</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleClientConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleClientConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleClientConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleClientConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleClientConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleClientConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleClientConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleClientConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleClientConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleClientConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleClientConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleClientConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `accessToken`<sup>Required</sup> <a name="accessToken" id="@dschmidt/provider-google.DataGoogleClientConfig.property.accessToken"></a>

```typescript
public readonly accessToken: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleClientConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleClientConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleClientConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleClientConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleClientConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleClientConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleClientOpenidUserinfo <a name="DataGoogleClientOpenidUserinfo" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/client_openid_userinfo google_client_openid_userinfo}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.Initializer"></a>

```typescript
import { DataGoogleClientOpenidUserinfo } from '@dschmidt/provider-google'

new DataGoogleClientOpenidUserinfo(scope: Construct, id: string, config?: DataGoogleClientOpenidUserinfoConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig">DataGoogleClientOpenidUserinfoConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig">DataGoogleClientOpenidUserinfoConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.isConstruct"></a>

```typescript
import { DataGoogleClientOpenidUserinfo } from '@dschmidt/provider-google'

DataGoogleClientOpenidUserinfo.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfo.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleCloudfunctionsFunction <a name="DataGoogleCloudfunctionsFunction" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/cloudfunctions_function google_cloudfunctions_function}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.Initializer"></a>

```typescript
import { DataGoogleCloudfunctionsFunction } from '@dschmidt/provider-google'

new DataGoogleCloudfunctionsFunction(scope: Construct, id: string, config: DataGoogleCloudfunctionsFunctionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig">DataGoogleCloudfunctionsFunctionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig">DataGoogleCloudfunctionsFunctionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.isConstruct"></a>

```typescript
import { DataGoogleCloudfunctionsFunction } from '@dschmidt/provider-google'

DataGoogleCloudfunctionsFunction.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.availableMemoryMb">availableMemoryMb</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.buildEnvironmentVariables">buildEnvironmentVariables</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.dockerRegistry">dockerRegistry</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.dockerRepository">dockerRepository</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.entryPoint">entryPoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.environmentVariables">environmentVariables</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.eventTrigger">eventTrigger</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionEventTriggerList">DataGoogleCloudfunctionsFunctionEventTriggerList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.httpsTriggerSecurityLevel">httpsTriggerSecurityLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.httpsTriggerUrl">httpsTriggerUrl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.ingressSettings">ingressSettings</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.maxInstances">maxInstances</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.minInstances">minInstances</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.runtime">runtime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.secretEnvironmentVariables">secretEnvironmentVariables</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretEnvironmentVariablesList">DataGoogleCloudfunctionsFunctionSecretEnvironmentVariablesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.secretVolumes">secretVolumes</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretVolumesList">DataGoogleCloudfunctionsFunctionSecretVolumesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.sourceArchiveBucket">sourceArchiveBucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.sourceArchiveObject">sourceArchiveObject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.sourceRepository">sourceRepository</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSourceRepositoryList">DataGoogleCloudfunctionsFunctionSourceRepositoryList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.timeout">timeout</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.triggerHttp">triggerHttp</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.vpcConnector">vpcConnector</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.vpcConnectorEgressSettings">vpcConnectorEgressSettings</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `availableMemoryMb`<sup>Required</sup> <a name="availableMemoryMb" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.availableMemoryMb"></a>

```typescript
public readonly availableMemoryMb: number;
```

- *Type:* number

---

##### `buildEnvironmentVariables`<sup>Required</sup> <a name="buildEnvironmentVariables" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.buildEnvironmentVariables"></a>

```typescript
public readonly buildEnvironmentVariables: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `dockerRegistry`<sup>Required</sup> <a name="dockerRegistry" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.dockerRegistry"></a>

```typescript
public readonly dockerRegistry: string;
```

- *Type:* string

---

##### `dockerRepository`<sup>Required</sup> <a name="dockerRepository" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.dockerRepository"></a>

```typescript
public readonly dockerRepository: string;
```

- *Type:* string

---

##### `entryPoint`<sup>Required</sup> <a name="entryPoint" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.entryPoint"></a>

```typescript
public readonly entryPoint: string;
```

- *Type:* string

---

##### `environmentVariables`<sup>Required</sup> <a name="environmentVariables" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.environmentVariables"></a>

```typescript
public readonly environmentVariables: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `eventTrigger`<sup>Required</sup> <a name="eventTrigger" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.eventTrigger"></a>

```typescript
public readonly eventTrigger: DataGoogleCloudfunctionsFunctionEventTriggerList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionEventTriggerList">DataGoogleCloudfunctionsFunctionEventTriggerList</a>

---

##### `httpsTriggerSecurityLevel`<sup>Required</sup> <a name="httpsTriggerSecurityLevel" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.httpsTriggerSecurityLevel"></a>

```typescript
public readonly httpsTriggerSecurityLevel: string;
```

- *Type:* string

---

##### `httpsTriggerUrl`<sup>Required</sup> <a name="httpsTriggerUrl" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.httpsTriggerUrl"></a>

```typescript
public readonly httpsTriggerUrl: string;
```

- *Type:* string

---

##### `ingressSettings`<sup>Required</sup> <a name="ingressSettings" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.ingressSettings"></a>

```typescript
public readonly ingressSettings: string;
```

- *Type:* string

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `maxInstances`<sup>Required</sup> <a name="maxInstances" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.maxInstances"></a>

```typescript
public readonly maxInstances: number;
```

- *Type:* number

---

##### `minInstances`<sup>Required</sup> <a name="minInstances" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.minInstances"></a>

```typescript
public readonly minInstances: number;
```

- *Type:* number

---

##### `runtime`<sup>Required</sup> <a name="runtime" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.runtime"></a>

```typescript
public readonly runtime: string;
```

- *Type:* string

---

##### `secretEnvironmentVariables`<sup>Required</sup> <a name="secretEnvironmentVariables" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.secretEnvironmentVariables"></a>

```typescript
public readonly secretEnvironmentVariables: DataGoogleCloudfunctionsFunctionSecretEnvironmentVariablesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretEnvironmentVariablesList">DataGoogleCloudfunctionsFunctionSecretEnvironmentVariablesList</a>

---

##### `secretVolumes`<sup>Required</sup> <a name="secretVolumes" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.secretVolumes"></a>

```typescript
public readonly secretVolumes: DataGoogleCloudfunctionsFunctionSecretVolumesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretVolumesList">DataGoogleCloudfunctionsFunctionSecretVolumesList</a>

---

##### `serviceAccountEmail`<sup>Required</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

---

##### `sourceArchiveBucket`<sup>Required</sup> <a name="sourceArchiveBucket" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.sourceArchiveBucket"></a>

```typescript
public readonly sourceArchiveBucket: string;
```

- *Type:* string

---

##### `sourceArchiveObject`<sup>Required</sup> <a name="sourceArchiveObject" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.sourceArchiveObject"></a>

```typescript
public readonly sourceArchiveObject: string;
```

- *Type:* string

---

##### `sourceRepository`<sup>Required</sup> <a name="sourceRepository" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.sourceRepository"></a>

```typescript
public readonly sourceRepository: DataGoogleCloudfunctionsFunctionSourceRepositoryList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSourceRepositoryList">DataGoogleCloudfunctionsFunctionSourceRepositoryList</a>

---

##### `timeout`<sup>Required</sup> <a name="timeout" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.timeout"></a>

```typescript
public readonly timeout: number;
```

- *Type:* number

---

##### `triggerHttp`<sup>Required</sup> <a name="triggerHttp" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.triggerHttp"></a>

```typescript
public readonly triggerHttp: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `vpcConnector`<sup>Required</sup> <a name="vpcConnector" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.vpcConnector"></a>

```typescript
public readonly vpcConnector: string;
```

- *Type:* string

---

##### `vpcConnectorEgressSettings`<sup>Required</sup> <a name="vpcConnectorEgressSettings" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.vpcConnectorEgressSettings"></a>

```typescript
public readonly vpcConnectorEgressSettings: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunction.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleCloudIdentityGroupMemberships <a name="DataGoogleCloudIdentityGroupMemberships" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/cloud_identity_group_memberships google_cloud_identity_group_memberships}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.Initializer"></a>

```typescript
import { DataGoogleCloudIdentityGroupMemberships } from '@dschmidt/provider-google'

new DataGoogleCloudIdentityGroupMemberships(scope: Construct, id: string, config: DataGoogleCloudIdentityGroupMembershipsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig">DataGoogleCloudIdentityGroupMembershipsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig">DataGoogleCloudIdentityGroupMembershipsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.isConstruct"></a>

```typescript
import { DataGoogleCloudIdentityGroupMemberships } from '@dschmidt/provider-google'

DataGoogleCloudIdentityGroupMemberships.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.memberships">memberships</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsMembershipsList">DataGoogleCloudIdentityGroupMembershipsMembershipsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.groupInput">groupInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.group">group</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `memberships`<sup>Required</sup> <a name="memberships" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.memberships"></a>

```typescript
public readonly memberships: DataGoogleCloudIdentityGroupMembershipsMembershipsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsMembershipsList">DataGoogleCloudIdentityGroupMembershipsMembershipsList</a>

---

##### `groupInput`<sup>Optional</sup> <a name="groupInput" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.groupInput"></a>

```typescript
public readonly groupInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `group`<sup>Required</sup> <a name="group" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.group"></a>

```typescript
public readonly group: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMemberships.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleCloudIdentityGroups <a name="DataGoogleCloudIdentityGroups" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/cloud_identity_groups google_cloud_identity_groups}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.Initializer"></a>

```typescript
import { DataGoogleCloudIdentityGroups } from '@dschmidt/provider-google'

new DataGoogleCloudIdentityGroups(scope: Construct, id: string, config: DataGoogleCloudIdentityGroupsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig">DataGoogleCloudIdentityGroupsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig">DataGoogleCloudIdentityGroupsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.isConstruct"></a>

```typescript
import { DataGoogleCloudIdentityGroups } from '@dschmidt/provider-google'

DataGoogleCloudIdentityGroups.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.groups">groups</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsGroupsList">DataGoogleCloudIdentityGroupsGroupsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `groups`<sup>Required</sup> <a name="groups" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.groups"></a>

```typescript
public readonly groups: DataGoogleCloudIdentityGroupsGroupsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsGroupsList">DataGoogleCloudIdentityGroupsGroupsList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroups.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleCloudRunLocations <a name="DataGoogleCloudRunLocations" id="@dschmidt/provider-google.DataGoogleCloudRunLocations"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/cloud_run_locations google_cloud_run_locations}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.Initializer"></a>

```typescript
import { DataGoogleCloudRunLocations } from '@dschmidt/provider-google'

new DataGoogleCloudRunLocations(scope: Construct, id: string, config?: DataGoogleCloudRunLocationsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig">DataGoogleCloudRunLocationsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig">DataGoogleCloudRunLocationsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.isConstruct"></a>

```typescript
import { DataGoogleCloudRunLocations } from '@dschmidt/provider-google'

DataGoogleCloudRunLocations.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.locations">locations</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `locations`<sup>Required</sup> <a name="locations" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.locations"></a>

```typescript
public readonly locations: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocations.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleCloudRunLocations.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleCloudRunService <a name="DataGoogleCloudRunService" id="@dschmidt/provider-google.DataGoogleCloudRunService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/cloud_run_service google_cloud_run_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleCloudRunService.Initializer"></a>

```typescript
import { DataGoogleCloudRunService } from '@dschmidt/provider-google'

new DataGoogleCloudRunService(scope: Construct, id: string, config: DataGoogleCloudRunServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig">DataGoogleCloudRunServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleCloudRunService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudRunService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleCloudRunService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig">DataGoogleCloudRunServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleCloudRunService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleCloudRunService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleCloudRunService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleCloudRunService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudRunService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleCloudRunService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleCloudRunService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleCloudRunService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleCloudRunService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleCloudRunService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleCloudRunService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleCloudRunService.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleCloudRunService.isConstruct"></a>

```typescript
import { DataGoogleCloudRunService } from '@dschmidt/provider-google'

DataGoogleCloudRunService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleCloudRunService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.autogenerateRevisionName">autogenerateRevisionName</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.metadata">metadata</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceMetadataList">DataGoogleCloudRunServiceMetadataList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceStatusList">DataGoogleCloudRunServiceStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.template">template</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateList">DataGoogleCloudRunServiceTemplateList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.traffic">traffic</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceTrafficList">DataGoogleCloudRunServiceTrafficList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `autogenerateRevisionName`<sup>Required</sup> <a name="autogenerateRevisionName" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.autogenerateRevisionName"></a>

```typescript
public readonly autogenerateRevisionName: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.metadata"></a>

```typescript
public readonly metadata: DataGoogleCloudRunServiceMetadataList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceMetadataList">DataGoogleCloudRunServiceMetadataList</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.status"></a>

```typescript
public readonly status: DataGoogleCloudRunServiceStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceStatusList">DataGoogleCloudRunServiceStatusList</a>

---

##### `template`<sup>Required</sup> <a name="template" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.template"></a>

```typescript
public readonly template: DataGoogleCloudRunServiceTemplateList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateList">DataGoogleCloudRunServiceTemplateList</a>

---

##### `traffic`<sup>Required</sup> <a name="traffic" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.traffic"></a>

```typescript
public readonly traffic: DataGoogleCloudRunServiceTrafficList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceTrafficList">DataGoogleCloudRunServiceTrafficList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleCloudRunService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComposerEnvironment <a name="DataGoogleComposerEnvironment" id="@dschmidt/provider-google.DataGoogleComposerEnvironment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/composer_environment google_composer_environment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironment } from '@dschmidt/provider-google'

new DataGoogleComposerEnvironment(scope: Construct, id: string, config: DataGoogleComposerEnvironmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig">DataGoogleComposerEnvironmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig">DataGoogleComposerEnvironmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.isConstruct"></a>

```typescript
import { DataGoogleComposerEnvironment } from '@dschmidt/provider-google'

DataGoogleComposerEnvironment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigAList">DataGoogleComposerEnvironmentConfigAList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.config"></a>

```typescript
public readonly config: DataGoogleComposerEnvironmentConfigAList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigAList">DataGoogleComposerEnvironmentConfigAList</a>

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComposerEnvironment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComposerImageVersions <a name="DataGoogleComposerImageVersions" id="@dschmidt/provider-google.DataGoogleComposerImageVersions"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/composer_image_versions google_composer_image_versions}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.Initializer"></a>

```typescript
import { DataGoogleComposerImageVersions } from '@dschmidt/provider-google'

new DataGoogleComposerImageVersions(scope: Construct, id: string, config?: DataGoogleComposerImageVersionsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig">DataGoogleComposerImageVersionsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig">DataGoogleComposerImageVersionsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.isConstruct"></a>

```typescript
import { DataGoogleComposerImageVersions } from '@dschmidt/provider-google'

DataGoogleComposerImageVersions.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.imageVersions">imageVersions</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsImageVersionsList">DataGoogleComposerImageVersionsImageVersionsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `imageVersions`<sup>Required</sup> <a name="imageVersions" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.imageVersions"></a>

```typescript
public readonly imageVersions: DataGoogleComposerImageVersionsImageVersionsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsImageVersionsList">DataGoogleComposerImageVersionsImageVersionsList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersions.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComposerImageVersions.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeAddress <a name="DataGoogleComputeAddress" id="@dschmidt/provider-google.DataGoogleComputeAddress"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_address google_compute_address}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeAddress.Initializer"></a>

```typescript
import { DataGoogleComputeAddress } from '@dschmidt/provider-google'

new DataGoogleComputeAddress(scope: Construct, id: string, config: DataGoogleComputeAddressConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig">DataGoogleComputeAddressConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeAddress.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeAddress.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeAddress.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig">DataGoogleComputeAddressConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeAddress.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeAddress.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeAddress.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeAddress.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeAddress.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeAddress.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeAddress.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeAddress.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeAddress.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeAddress.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeAddress.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeAddress.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeAddress.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeAddress.isConstruct"></a>

```typescript
import { DataGoogleComputeAddress } from '@dschmidt/provider-google'

DataGoogleComputeAddress.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeAddress.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.address">address</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.status">status</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `address`<sup>Required</sup> <a name="address" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.address"></a>

```typescript
public readonly address: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddress.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeAddress.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeBackendBucket <a name="DataGoogleComputeBackendBucket" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_backend_bucket google_compute_backend_bucket}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.Initializer"></a>

```typescript
import { DataGoogleComputeBackendBucket } from '@dschmidt/provider-google'

new DataGoogleComputeBackendBucket(scope: Construct, id: string, config: DataGoogleComputeBackendBucketConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig">DataGoogleComputeBackendBucketConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig">DataGoogleComputeBackendBucketConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.isConstruct"></a>

```typescript
import { DataGoogleComputeBackendBucket } from '@dschmidt/provider-google'

DataGoogleComputeBackendBucket.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.bucketName">bucketName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.cdnPolicy">cdnPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicyList">DataGoogleComputeBackendBucketCdnPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.customResponseHeaders">customResponseHeaders</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.edgeSecurityPolicy">edgeSecurityPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.enableCdn">enableCdn</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `bucketName`<sup>Required</sup> <a name="bucketName" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.bucketName"></a>

```typescript
public readonly bucketName: string;
```

- *Type:* string

---

##### `cdnPolicy`<sup>Required</sup> <a name="cdnPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.cdnPolicy"></a>

```typescript
public readonly cdnPolicy: DataGoogleComputeBackendBucketCdnPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicyList">DataGoogleComputeBackendBucketCdnPolicyList</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `customResponseHeaders`<sup>Required</sup> <a name="customResponseHeaders" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.customResponseHeaders"></a>

```typescript
public readonly customResponseHeaders: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `edgeSecurityPolicy`<sup>Required</sup> <a name="edgeSecurityPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.edgeSecurityPolicy"></a>

```typescript
public readonly edgeSecurityPolicy: string;
```

- *Type:* string

---

##### `enableCdn`<sup>Required</sup> <a name="enableCdn" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.enableCdn"></a>

```typescript
public readonly enableCdn: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeBackendBucket.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeBackendService <a name="DataGoogleComputeBackendService" id="@dschmidt/provider-google.DataGoogleComputeBackendService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_backend_service google_compute_backend_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeBackendService.Initializer"></a>

```typescript
import { DataGoogleComputeBackendService } from '@dschmidt/provider-google'

new DataGoogleComputeBackendService(scope: Construct, id: string, config: DataGoogleComputeBackendServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig">DataGoogleComputeBackendServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeBackendService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeBackendService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeBackendService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig">DataGoogleComputeBackendServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeBackendService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeBackendService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeBackendService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeBackendService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeBackendService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeBackendService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeBackendService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeBackendService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeBackendService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeBackendService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeBackendService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeBackendService.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeBackendService.isConstruct"></a>

```typescript
import { DataGoogleComputeBackendService } from '@dschmidt/provider-google'

DataGoogleComputeBackendService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeBackendService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.affinityCookieTtlSec">affinityCookieTtlSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.backend">backend</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceBackendList">DataGoogleComputeBackendServiceBackendList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.cdnPolicy">cdnPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceCdnPolicyList">DataGoogleComputeBackendServiceCdnPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.circuitBreakers">circuitBreakers</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceCircuitBreakersList">DataGoogleComputeBackendServiceCircuitBreakersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.connectionDrainingTimeoutSec">connectionDrainingTimeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.consistentHash">consistentHash</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConsistentHashList">DataGoogleComputeBackendServiceConsistentHashList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.customRequestHeaders">customRequestHeaders</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.customResponseHeaders">customResponseHeaders</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.enableCdn">enableCdn</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.healthChecks">healthChecks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.iap">iap</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceIapList">DataGoogleComputeBackendServiceIapList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.localityLbPolicy">localityLbPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceLogConfigList">DataGoogleComputeBackendServiceLogConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.outlierDetection">outlierDetection</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceOutlierDetectionList">DataGoogleComputeBackendServiceOutlierDetectionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.portName">portName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.protocol">protocol</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.securityPolicy">securityPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.securitySettings">securitySettings</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceSecuritySettingsList">DataGoogleComputeBackendServiceSecuritySettingsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.sessionAffinity">sessionAffinity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `affinityCookieTtlSec`<sup>Required</sup> <a name="affinityCookieTtlSec" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.affinityCookieTtlSec"></a>

```typescript
public readonly affinityCookieTtlSec: number;
```

- *Type:* number

---

##### `backend`<sup>Required</sup> <a name="backend" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.backend"></a>

```typescript
public readonly backend: DataGoogleComputeBackendServiceBackendList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceBackendList">DataGoogleComputeBackendServiceBackendList</a>

---

##### `cdnPolicy`<sup>Required</sup> <a name="cdnPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.cdnPolicy"></a>

```typescript
public readonly cdnPolicy: DataGoogleComputeBackendServiceCdnPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceCdnPolicyList">DataGoogleComputeBackendServiceCdnPolicyList</a>

---

##### `circuitBreakers`<sup>Required</sup> <a name="circuitBreakers" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.circuitBreakers"></a>

```typescript
public readonly circuitBreakers: DataGoogleComputeBackendServiceCircuitBreakersList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceCircuitBreakersList">DataGoogleComputeBackendServiceCircuitBreakersList</a>

---

##### `connectionDrainingTimeoutSec`<sup>Required</sup> <a name="connectionDrainingTimeoutSec" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.connectionDrainingTimeoutSec"></a>

```typescript
public readonly connectionDrainingTimeoutSec: number;
```

- *Type:* number

---

##### `consistentHash`<sup>Required</sup> <a name="consistentHash" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.consistentHash"></a>

```typescript
public readonly consistentHash: DataGoogleComputeBackendServiceConsistentHashList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConsistentHashList">DataGoogleComputeBackendServiceConsistentHashList</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `customRequestHeaders`<sup>Required</sup> <a name="customRequestHeaders" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.customRequestHeaders"></a>

```typescript
public readonly customRequestHeaders: string[];
```

- *Type:* string[]

---

##### `customResponseHeaders`<sup>Required</sup> <a name="customResponseHeaders" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.customResponseHeaders"></a>

```typescript
public readonly customResponseHeaders: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `enableCdn`<sup>Required</sup> <a name="enableCdn" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.enableCdn"></a>

```typescript
public readonly enableCdn: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `healthChecks`<sup>Required</sup> <a name="healthChecks" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.healthChecks"></a>

```typescript
public readonly healthChecks: string[];
```

- *Type:* string[]

---

##### `iap`<sup>Required</sup> <a name="iap" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.iap"></a>

```typescript
public readonly iap: DataGoogleComputeBackendServiceIapList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceIapList">DataGoogleComputeBackendServiceIapList</a>

---

##### `loadBalancingScheme`<sup>Required</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

---

##### `localityLbPolicy`<sup>Required</sup> <a name="localityLbPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.localityLbPolicy"></a>

```typescript
public readonly localityLbPolicy: string;
```

- *Type:* string

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.logConfig"></a>

```typescript
public readonly logConfig: DataGoogleComputeBackendServiceLogConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceLogConfigList">DataGoogleComputeBackendServiceLogConfigList</a>

---

##### `outlierDetection`<sup>Required</sup> <a name="outlierDetection" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.outlierDetection"></a>

```typescript
public readonly outlierDetection: DataGoogleComputeBackendServiceOutlierDetectionList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceOutlierDetectionList">DataGoogleComputeBackendServiceOutlierDetectionList</a>

---

##### `portName`<sup>Required</sup> <a name="portName" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

---

##### `protocol`<sup>Required</sup> <a name="protocol" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

---

##### `securityPolicy`<sup>Required</sup> <a name="securityPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.securityPolicy"></a>

```typescript
public readonly securityPolicy: string;
```

- *Type:* string

---

##### `securitySettings`<sup>Required</sup> <a name="securitySettings" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.securitySettings"></a>

```typescript
public readonly securitySettings: DataGoogleComputeBackendServiceSecuritySettingsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceSecuritySettingsList">DataGoogleComputeBackendServiceSecuritySettingsList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `sessionAffinity`<sup>Required</sup> <a name="sessionAffinity" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.sessionAffinity"></a>

```typescript
public readonly sessionAffinity: string;
```

- *Type:* string

---

##### `timeoutSec`<sup>Required</sup> <a name="timeoutSec" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeBackendService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeDefaultServiceAccount <a name="DataGoogleComputeDefaultServiceAccount" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_default_service_account google_compute_default_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.Initializer"></a>

```typescript
import { DataGoogleComputeDefaultServiceAccount } from '@dschmidt/provider-google'

new DataGoogleComputeDefaultServiceAccount(scope: Construct, id: string, config?: DataGoogleComputeDefaultServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig">DataGoogleComputeDefaultServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig">DataGoogleComputeDefaultServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.isConstruct"></a>

```typescript
import { DataGoogleComputeDefaultServiceAccount } from '@dschmidt/provider-google'

DataGoogleComputeDefaultServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.uniqueId">uniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `uniqueId`<sup>Required</sup> <a name="uniqueId" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.uniqueId"></a>

```typescript
public readonly uniqueId: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeDisk <a name="DataGoogleComputeDisk" id="@dschmidt/provider-google.DataGoogleComputeDisk"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_disk google_compute_disk}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeDisk.Initializer"></a>

```typescript
import { DataGoogleComputeDisk } from '@dschmidt/provider-google'

new DataGoogleComputeDisk(scope: Construct, id: string, config: DataGoogleComputeDiskConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig">DataGoogleComputeDiskConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeDisk.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeDisk.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeDisk.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig">DataGoogleComputeDiskConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeDisk.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeDisk.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeDisk.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeDisk.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeDisk.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeDisk.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeDisk.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeDisk.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeDisk.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeDisk.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeDisk.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeDisk.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.DataGoogleComputeDisk.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeDisk.isConstruct"></a>

```typescript
import { DataGoogleComputeDisk } from '@dschmidt/provider-google'

DataGoogleComputeDisk.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeDisk.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.diskEncryptionKey">diskEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskDiskEncryptionKeyList">DataGoogleComputeDiskDiskEncryptionKeyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.image">image</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.lastAttachTimestamp">lastAttachTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.lastDetachTimestamp">lastDetachTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.physicalBlockSizeBytes">physicalBlockSizeBytes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.provisionedIops">provisionedIops</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.snapshot">snapshot</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.sourceImageEncryptionKey">sourceImageEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskSourceImageEncryptionKeyList">DataGoogleComputeDiskSourceImageEncryptionKeyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.sourceImageId">sourceImageId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.sourceSnapshotEncryptionKey">sourceSnapshotEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskSourceSnapshotEncryptionKeyList">DataGoogleComputeDiskSourceSnapshotEncryptionKeyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.sourceSnapshotId">sourceSnapshotId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.users">users</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `diskEncryptionKey`<sup>Required</sup> <a name="diskEncryptionKey" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.diskEncryptionKey"></a>

```typescript
public readonly diskEncryptionKey: DataGoogleComputeDiskDiskEncryptionKeyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeDiskDiskEncryptionKeyList">DataGoogleComputeDiskDiskEncryptionKeyList</a>

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `lastAttachTimestamp`<sup>Required</sup> <a name="lastAttachTimestamp" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.lastAttachTimestamp"></a>

```typescript
public readonly lastAttachTimestamp: string;
```

- *Type:* string

---

##### `lastDetachTimestamp`<sup>Required</sup> <a name="lastDetachTimestamp" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.lastDetachTimestamp"></a>

```typescript
public readonly lastDetachTimestamp: string;
```

- *Type:* string

---

##### `physicalBlockSizeBytes`<sup>Required</sup> <a name="physicalBlockSizeBytes" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.physicalBlockSizeBytes"></a>

```typescript
public readonly physicalBlockSizeBytes: number;
```

- *Type:* number

---

##### `provisionedIops`<sup>Required</sup> <a name="provisionedIops" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.provisionedIops"></a>

```typescript
public readonly provisionedIops: number;
```

- *Type:* number

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `snapshot`<sup>Required</sup> <a name="snapshot" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.snapshot"></a>

```typescript
public readonly snapshot: string;
```

- *Type:* string

---

##### `sourceImageEncryptionKey`<sup>Required</sup> <a name="sourceImageEncryptionKey" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.sourceImageEncryptionKey"></a>

```typescript
public readonly sourceImageEncryptionKey: DataGoogleComputeDiskSourceImageEncryptionKeyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeDiskSourceImageEncryptionKeyList">DataGoogleComputeDiskSourceImageEncryptionKeyList</a>

---

##### `sourceImageId`<sup>Required</sup> <a name="sourceImageId" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.sourceImageId"></a>

```typescript
public readonly sourceImageId: string;
```

- *Type:* string

---

##### `sourceSnapshotEncryptionKey`<sup>Required</sup> <a name="sourceSnapshotEncryptionKey" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.sourceSnapshotEncryptionKey"></a>

```typescript
public readonly sourceSnapshotEncryptionKey: DataGoogleComputeDiskSourceSnapshotEncryptionKeyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeDiskSourceSnapshotEncryptionKeyList">DataGoogleComputeDiskSourceSnapshotEncryptionKeyList</a>

---

##### `sourceSnapshotId`<sup>Required</sup> <a name="sourceSnapshotId" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.sourceSnapshotId"></a>

```typescript
public readonly sourceSnapshotId: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `users`<sup>Required</sup> <a name="users" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.users"></a>

```typescript
public readonly users: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDisk.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeDisk.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeForwardingRule <a name="DataGoogleComputeForwardingRule" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_forwarding_rule google_compute_forwarding_rule}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.Initializer"></a>

```typescript
import { DataGoogleComputeForwardingRule } from '@dschmidt/provider-google'

new DataGoogleComputeForwardingRule(scope: Construct, id: string, config: DataGoogleComputeForwardingRuleConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig">DataGoogleComputeForwardingRuleConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig">DataGoogleComputeForwardingRuleConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.isConstruct"></a>

```typescript
import { DataGoogleComputeForwardingRule } from '@dschmidt/provider-google'

DataGoogleComputeForwardingRule.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.allowGlobalAccess">allowGlobalAccess</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.allPorts">allPorts</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.backendService">backendService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.ipAddress">ipAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.ipProtocol">ipProtocol</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.isMirroringCollector">isMirroringCollector</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.networkTier">networkTier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.portRange">portRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.ports">ports</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.pscConnectionId">pscConnectionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.pscConnectionStatus">pscConnectionStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.serviceDirectoryRegistrations">serviceDirectoryRegistrations</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleServiceDirectoryRegistrationsList">DataGoogleComputeForwardingRuleServiceDirectoryRegistrationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.serviceLabel">serviceLabel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.target">target</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `allowGlobalAccess`<sup>Required</sup> <a name="allowGlobalAccess" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.allowGlobalAccess"></a>

```typescript
public readonly allowGlobalAccess: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `allPorts`<sup>Required</sup> <a name="allPorts" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.allPorts"></a>

```typescript
public readonly allPorts: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

---

##### `ipProtocol`<sup>Required</sup> <a name="ipProtocol" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.ipProtocol"></a>

```typescript
public readonly ipProtocol: string;
```

- *Type:* string

---

##### `isMirroringCollector`<sup>Required</sup> <a name="isMirroringCollector" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.isMirroringCollector"></a>

```typescript
public readonly isMirroringCollector: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `loadBalancingScheme`<sup>Required</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `networkTier`<sup>Required</sup> <a name="networkTier" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

---

##### `portRange`<sup>Required</sup> <a name="portRange" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.portRange"></a>

```typescript
public readonly portRange: string;
```

- *Type:* string

---

##### `ports`<sup>Required</sup> <a name="ports" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.ports"></a>

```typescript
public readonly ports: string[];
```

- *Type:* string[]

---

##### `pscConnectionId`<sup>Required</sup> <a name="pscConnectionId" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.pscConnectionId"></a>

```typescript
public readonly pscConnectionId: string;
```

- *Type:* string

---

##### `pscConnectionStatus`<sup>Required</sup> <a name="pscConnectionStatus" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.pscConnectionStatus"></a>

```typescript
public readonly pscConnectionStatus: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serviceDirectoryRegistrations`<sup>Required</sup> <a name="serviceDirectoryRegistrations" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.serviceDirectoryRegistrations"></a>

```typescript
public readonly serviceDirectoryRegistrations: DataGoogleComputeForwardingRuleServiceDirectoryRegistrationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleServiceDirectoryRegistrationsList">DataGoogleComputeForwardingRuleServiceDirectoryRegistrationsList</a>

---

##### `serviceLabel`<sup>Required</sup> <a name="serviceLabel" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.serviceLabel"></a>

```typescript
public readonly serviceLabel: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeForwardingRule.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeGlobalAddress <a name="DataGoogleComputeGlobalAddress" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_global_address google_compute_global_address}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.Initializer"></a>

```typescript
import { DataGoogleComputeGlobalAddress } from '@dschmidt/provider-google'

new DataGoogleComputeGlobalAddress(scope: Construct, id: string, config: DataGoogleComputeGlobalAddressConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig">DataGoogleComputeGlobalAddressConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig">DataGoogleComputeGlobalAddressConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.isConstruct"></a>

```typescript
import { DataGoogleComputeGlobalAddress } from '@dschmidt/provider-google'

DataGoogleComputeGlobalAddress.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.address">address</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.status">status</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `address`<sup>Required</sup> <a name="address" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.address"></a>

```typescript
public readonly address: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddress.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeGlobalForwardingRule <a name="DataGoogleComputeGlobalForwardingRule" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_global_forwarding_rule google_compute_global_forwarding_rule}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.Initializer"></a>

```typescript
import { DataGoogleComputeGlobalForwardingRule } from '@dschmidt/provider-google'

new DataGoogleComputeGlobalForwardingRule(scope: Construct, id: string, config: DataGoogleComputeGlobalForwardingRuleConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig">DataGoogleComputeGlobalForwardingRuleConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig">DataGoogleComputeGlobalForwardingRuleConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.isConstruct"></a>

```typescript
import { DataGoogleComputeGlobalForwardingRule } from '@dschmidt/provider-google'

DataGoogleComputeGlobalForwardingRule.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.ipAddress">ipAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.ipProtocol">ipProtocol</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.ipVersion">ipVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.metadataFilters">metadataFilters</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleMetadataFiltersList">DataGoogleComputeGlobalForwardingRuleMetadataFiltersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.portRange">portRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.pscConnectionId">pscConnectionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.pscConnectionStatus">pscConnectionStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.target">target</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

---

##### `ipProtocol`<sup>Required</sup> <a name="ipProtocol" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.ipProtocol"></a>

```typescript
public readonly ipProtocol: string;
```

- *Type:* string

---

##### `ipVersion`<sup>Required</sup> <a name="ipVersion" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.ipVersion"></a>

```typescript
public readonly ipVersion: string;
```

- *Type:* string

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `loadBalancingScheme`<sup>Required</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

---

##### `metadataFilters`<sup>Required</sup> <a name="metadataFilters" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.metadataFilters"></a>

```typescript
public readonly metadataFilters: DataGoogleComputeGlobalForwardingRuleMetadataFiltersList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleMetadataFiltersList">DataGoogleComputeGlobalForwardingRuleMetadataFiltersList</a>

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `portRange`<sup>Required</sup> <a name="portRange" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.portRange"></a>

```typescript
public readonly portRange: string;
```

- *Type:* string

---

##### `pscConnectionId`<sup>Required</sup> <a name="pscConnectionId" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.pscConnectionId"></a>

```typescript
public readonly pscConnectionId: string;
```

- *Type:* string

---

##### `pscConnectionStatus`<sup>Required</sup> <a name="pscConnectionStatus" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.pscConnectionStatus"></a>

```typescript
public readonly pscConnectionStatus: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRule.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeHaVpnGateway <a name="DataGoogleComputeHaVpnGateway" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_ha_vpn_gateway google_compute_ha_vpn_gateway}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.Initializer"></a>

```typescript
import { DataGoogleComputeHaVpnGateway } from '@dschmidt/provider-google'

new DataGoogleComputeHaVpnGateway(scope: Construct, id: string, config: DataGoogleComputeHaVpnGatewayConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig">DataGoogleComputeHaVpnGatewayConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig">DataGoogleComputeHaVpnGatewayConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.isConstruct"></a>

```typescript
import { DataGoogleComputeHaVpnGateway } from '@dschmidt/provider-google'

DataGoogleComputeHaVpnGateway.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.vpnInterfaces">vpnInterfaces</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayVpnInterfacesList">DataGoogleComputeHaVpnGatewayVpnInterfacesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `vpnInterfaces`<sup>Required</sup> <a name="vpnInterfaces" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.vpnInterfaces"></a>

```typescript
public readonly vpnInterfaces: DataGoogleComputeHaVpnGatewayVpnInterfacesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayVpnInterfacesList">DataGoogleComputeHaVpnGatewayVpnInterfacesList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGateway.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeHealthCheck <a name="DataGoogleComputeHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_health_check google_compute_health_check}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.Initializer"></a>

```typescript
import { DataGoogleComputeHealthCheck } from '@dschmidt/provider-google'

new DataGoogleComputeHealthCheck(scope: Construct, id: string, config: DataGoogleComputeHealthCheckConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig">DataGoogleComputeHealthCheckConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig">DataGoogleComputeHealthCheckConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.isConstruct"></a>

```typescript
import { DataGoogleComputeHealthCheck } from '@dschmidt/provider-google'

DataGoogleComputeHealthCheck.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.checkIntervalSec">checkIntervalSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.grpcHealthCheck">grpcHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckGrpcHealthCheckList">DataGoogleComputeHealthCheckGrpcHealthCheckList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.healthyThreshold">healthyThreshold</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.http2HealthCheck">http2HealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckHttp2HealthCheckList">DataGoogleComputeHealthCheckHttp2HealthCheckList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.httpHealthCheck">httpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckHttpHealthCheckList">DataGoogleComputeHealthCheckHttpHealthCheckList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.httpsHealthCheck">httpsHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckHttpsHealthCheckList">DataGoogleComputeHealthCheckHttpsHealthCheckList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckLogConfigList">DataGoogleComputeHealthCheckLogConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.sslHealthCheck">sslHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckSslHealthCheckList">DataGoogleComputeHealthCheckSslHealthCheckList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.tcpHealthCheck">tcpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckTcpHealthCheckList">DataGoogleComputeHealthCheckTcpHealthCheckList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.unhealthyThreshold">unhealthyThreshold</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `checkIntervalSec`<sup>Required</sup> <a name="checkIntervalSec" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.checkIntervalSec"></a>

```typescript
public readonly checkIntervalSec: number;
```

- *Type:* number

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `grpcHealthCheck`<sup>Required</sup> <a name="grpcHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.grpcHealthCheck"></a>

```typescript
public readonly grpcHealthCheck: DataGoogleComputeHealthCheckGrpcHealthCheckList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckGrpcHealthCheckList">DataGoogleComputeHealthCheckGrpcHealthCheckList</a>

---

##### `healthyThreshold`<sup>Required</sup> <a name="healthyThreshold" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.healthyThreshold"></a>

```typescript
public readonly healthyThreshold: number;
```

- *Type:* number

---

##### `http2HealthCheck`<sup>Required</sup> <a name="http2HealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.http2HealthCheck"></a>

```typescript
public readonly http2HealthCheck: DataGoogleComputeHealthCheckHttp2HealthCheckList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckHttp2HealthCheckList">DataGoogleComputeHealthCheckHttp2HealthCheckList</a>

---

##### `httpHealthCheck`<sup>Required</sup> <a name="httpHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.httpHealthCheck"></a>

```typescript
public readonly httpHealthCheck: DataGoogleComputeHealthCheckHttpHealthCheckList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckHttpHealthCheckList">DataGoogleComputeHealthCheckHttpHealthCheckList</a>

---

##### `httpsHealthCheck`<sup>Required</sup> <a name="httpsHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.httpsHealthCheck"></a>

```typescript
public readonly httpsHealthCheck: DataGoogleComputeHealthCheckHttpsHealthCheckList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckHttpsHealthCheckList">DataGoogleComputeHealthCheckHttpsHealthCheckList</a>

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.logConfig"></a>

```typescript
public readonly logConfig: DataGoogleComputeHealthCheckLogConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckLogConfigList">DataGoogleComputeHealthCheckLogConfigList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `sslHealthCheck`<sup>Required</sup> <a name="sslHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.sslHealthCheck"></a>

```typescript
public readonly sslHealthCheck: DataGoogleComputeHealthCheckSslHealthCheckList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckSslHealthCheckList">DataGoogleComputeHealthCheckSslHealthCheckList</a>

---

##### `tcpHealthCheck`<sup>Required</sup> <a name="tcpHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.tcpHealthCheck"></a>

```typescript
public readonly tcpHealthCheck: DataGoogleComputeHealthCheckTcpHealthCheckList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckTcpHealthCheckList">DataGoogleComputeHealthCheckTcpHealthCheckList</a>

---

##### `timeoutSec`<sup>Required</sup> <a name="timeoutSec" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `unhealthyThreshold`<sup>Required</sup> <a name="unhealthyThreshold" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.unhealthyThreshold"></a>

```typescript
public readonly unhealthyThreshold: number;
```

- *Type:* number

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeHealthCheck.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeImage <a name="DataGoogleComputeImage" id="@dschmidt/provider-google.DataGoogleComputeImage"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_image google_compute_image}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeImage.Initializer"></a>

```typescript
import { DataGoogleComputeImage } from '@dschmidt/provider-google'

new DataGoogleComputeImage(scope: Construct, id: string, config?: DataGoogleComputeImageConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig">DataGoogleComputeImageConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeImage.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeImage.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeImage.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig">DataGoogleComputeImageConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.resetFamily">resetFamily</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeImage.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeImage.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeImage.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeImage.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeImage.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeImage.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeImage.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeImage.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeImage.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeImage.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetFamily` <a name="resetFamily" id="@dschmidt/provider-google.DataGoogleComputeImage.resetFamily"></a>

```typescript
public resetFamily(): void
```

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.DataGoogleComputeImage.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeImage.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.DataGoogleComputeImage.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeImage.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeImage.isConstruct"></a>

```typescript
import { DataGoogleComputeImage } from '@dschmidt/provider-google'

DataGoogleComputeImage.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeImage.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.archiveSizeBytes">archiveSizeBytes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.imageEncryptionKeySha256">imageEncryptionKeySha256</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.imageId">imageId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.licenses">licenses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.sourceDisk">sourceDisk</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.sourceDiskEncryptionKeySha256">sourceDiskEncryptionKeySha256</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.sourceDiskId">sourceDiskId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.sourceImageId">sourceImageId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.status">status</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.familyInput">familyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.family">family</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeImage.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeImage.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeImage.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeImage.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeImage.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeImage.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeImage.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeImage.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeImage.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeImage.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeImage.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeImage.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `archiveSizeBytes`<sup>Required</sup> <a name="archiveSizeBytes" id="@dschmidt/provider-google.DataGoogleComputeImage.property.archiveSizeBytes"></a>

```typescript
public readonly archiveSizeBytes: number;
```

- *Type:* number

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeImage.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeImage.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `diskSizeGb`<sup>Required</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.DataGoogleComputeImage.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

---

##### `imageEncryptionKeySha256`<sup>Required</sup> <a name="imageEncryptionKeySha256" id="@dschmidt/provider-google.DataGoogleComputeImage.property.imageEncryptionKeySha256"></a>

```typescript
public readonly imageEncryptionKeySha256: string;
```

- *Type:* string

---

##### `imageId`<sup>Required</sup> <a name="imageId" id="@dschmidt/provider-google.DataGoogleComputeImage.property.imageId"></a>

```typescript
public readonly imageId: string;
```

- *Type:* string

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.DataGoogleComputeImage.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleComputeImage.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `licenses`<sup>Required</sup> <a name="licenses" id="@dschmidt/provider-google.DataGoogleComputeImage.property.licenses"></a>

```typescript
public readonly licenses: string[];
```

- *Type:* string[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeImage.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `sourceDisk`<sup>Required</sup> <a name="sourceDisk" id="@dschmidt/provider-google.DataGoogleComputeImage.property.sourceDisk"></a>

```typescript
public readonly sourceDisk: string;
```

- *Type:* string

---

##### `sourceDiskEncryptionKeySha256`<sup>Required</sup> <a name="sourceDiskEncryptionKeySha256" id="@dschmidt/provider-google.DataGoogleComputeImage.property.sourceDiskEncryptionKeySha256"></a>

```typescript
public readonly sourceDiskEncryptionKeySha256: string;
```

- *Type:* string

---

##### `sourceDiskId`<sup>Required</sup> <a name="sourceDiskId" id="@dschmidt/provider-google.DataGoogleComputeImage.property.sourceDiskId"></a>

```typescript
public readonly sourceDiskId: string;
```

- *Type:* string

---

##### `sourceImageId`<sup>Required</sup> <a name="sourceImageId" id="@dschmidt/provider-google.DataGoogleComputeImage.property.sourceImageId"></a>

```typescript
public readonly sourceImageId: string;
```

- *Type:* string

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.DataGoogleComputeImage.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

---

##### `familyInput`<sup>Optional</sup> <a name="familyInput" id="@dschmidt/provider-google.DataGoogleComputeImage.property.familyInput"></a>

```typescript
public readonly familyInput: string;
```

- *Type:* string

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.DataGoogleComputeImage.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeImage.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeImage.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeImage.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `family`<sup>Required</sup> <a name="family" id="@dschmidt/provider-google.DataGoogleComputeImage.property.family"></a>

```typescript
public readonly family: string;
```

- *Type:* string

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.DataGoogleComputeImage.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeImage.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeImage.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeImage.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImage.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeImage.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeInstance <a name="DataGoogleComputeInstance" id="@dschmidt/provider-google.DataGoogleComputeInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_instance google_compute_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeInstance.Initializer"></a>

```typescript
import { DataGoogleComputeInstance } from '@dschmidt/provider-google'

new DataGoogleComputeInstance(scope: Construct, id: string, config?: DataGoogleComputeInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig">DataGoogleComputeInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig">DataGoogleComputeInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.resetSelfLink">resetSelfLink</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.DataGoogleComputeInstance.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSelfLink` <a name="resetSelfLink" id="@dschmidt/provider-google.DataGoogleComputeInstance.resetSelfLink"></a>

```typescript
public resetSelfLink(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.DataGoogleComputeInstance.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeInstance.isConstruct"></a>

```typescript
import { DataGoogleComputeInstance } from '@dschmidt/provider-google'

DataGoogleComputeInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.advancedMachineFeatures">advancedMachineFeatures</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceAdvancedMachineFeaturesList">DataGoogleComputeInstanceAdvancedMachineFeaturesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.allowStoppingForUpdate">allowStoppingForUpdate</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.attachedDisk">attachedDisk</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceAttachedDiskList">DataGoogleComputeInstanceAttachedDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.bootDisk">bootDisk</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceBootDiskList">DataGoogleComputeInstanceBootDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.canIpForward">canIpForward</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.confidentialInstanceConfig">confidentialInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfidentialInstanceConfigList">DataGoogleComputeInstanceConfidentialInstanceConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.cpuPlatform">cpuPlatform</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.currentStatus">currentStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.deletionProtection">deletionProtection</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.desiredStatus">desiredStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.enableDisplay">enableDisplay</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.guestAccelerator">guestAccelerator</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGuestAcceleratorList">DataGoogleComputeInstanceGuestAcceleratorList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.hostname">hostname</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.instanceId">instanceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.machineType">machineType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.metadata">metadata</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.metadataFingerprint">metadataFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.metadataStartupScript">metadataStartupScript</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.networkInterface">networkInterface</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterfaceList">DataGoogleComputeInstanceNetworkInterfaceList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceReservationAffinityList">DataGoogleComputeInstanceReservationAffinityList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.resourcePolicies">resourcePolicies</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSchedulingList">DataGoogleComputeInstanceSchedulingList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.scratchDisk">scratchDisk</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceScratchDiskList">DataGoogleComputeInstanceScratchDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.serviceAccount">serviceAccount</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceServiceAccountList">DataGoogleComputeInstanceServiceAccountList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceShieldedInstanceConfigList">DataGoogleComputeInstanceShieldedInstanceConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.tagsFingerprint">tagsFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.selfLinkInput">selfLinkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `advancedMachineFeatures`<sup>Required</sup> <a name="advancedMachineFeatures" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.advancedMachineFeatures"></a>

```typescript
public readonly advancedMachineFeatures: DataGoogleComputeInstanceAdvancedMachineFeaturesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceAdvancedMachineFeaturesList">DataGoogleComputeInstanceAdvancedMachineFeaturesList</a>

---

##### `allowStoppingForUpdate`<sup>Required</sup> <a name="allowStoppingForUpdate" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.allowStoppingForUpdate"></a>

```typescript
public readonly allowStoppingForUpdate: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `attachedDisk`<sup>Required</sup> <a name="attachedDisk" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.attachedDisk"></a>

```typescript
public readonly attachedDisk: DataGoogleComputeInstanceAttachedDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceAttachedDiskList">DataGoogleComputeInstanceAttachedDiskList</a>

---

##### `bootDisk`<sup>Required</sup> <a name="bootDisk" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.bootDisk"></a>

```typescript
public readonly bootDisk: DataGoogleComputeInstanceBootDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceBootDiskList">DataGoogleComputeInstanceBootDiskList</a>

---

##### `canIpForward`<sup>Required</sup> <a name="canIpForward" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.canIpForward"></a>

```typescript
public readonly canIpForward: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `confidentialInstanceConfig`<sup>Required</sup> <a name="confidentialInstanceConfig" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.confidentialInstanceConfig"></a>

```typescript
public readonly confidentialInstanceConfig: DataGoogleComputeInstanceConfidentialInstanceConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfidentialInstanceConfigList">DataGoogleComputeInstanceConfidentialInstanceConfigList</a>

---

##### `cpuPlatform`<sup>Required</sup> <a name="cpuPlatform" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.cpuPlatform"></a>

```typescript
public readonly cpuPlatform: string;
```

- *Type:* string

---

##### `currentStatus`<sup>Required</sup> <a name="currentStatus" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.currentStatus"></a>

```typescript
public readonly currentStatus: string;
```

- *Type:* string

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `desiredStatus`<sup>Required</sup> <a name="desiredStatus" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.desiredStatus"></a>

```typescript
public readonly desiredStatus: string;
```

- *Type:* string

---

##### `enableDisplay`<sup>Required</sup> <a name="enableDisplay" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.enableDisplay"></a>

```typescript
public readonly enableDisplay: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `guestAccelerator`<sup>Required</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: DataGoogleComputeInstanceGuestAcceleratorList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGuestAcceleratorList">DataGoogleComputeInstanceGuestAcceleratorList</a>

---

##### `hostname`<sup>Required</sup> <a name="hostname" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.hostname"></a>

```typescript
public readonly hostname: string;
```

- *Type:* string

---

##### `instanceId`<sup>Required</sup> <a name="instanceId" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.instanceId"></a>

```typescript
public readonly instanceId: string;
```

- *Type:* string

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.metadata"></a>

```typescript
public readonly metadata: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `metadataFingerprint`<sup>Required</sup> <a name="metadataFingerprint" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.metadataFingerprint"></a>

```typescript
public readonly metadataFingerprint: string;
```

- *Type:* string

---

##### `metadataStartupScript`<sup>Required</sup> <a name="metadataStartupScript" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.metadataStartupScript"></a>

```typescript
public readonly metadataStartupScript: string;
```

- *Type:* string

---

##### `minCpuPlatform`<sup>Required</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

---

##### `networkInterface`<sup>Required</sup> <a name="networkInterface" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.networkInterface"></a>

```typescript
public readonly networkInterface: DataGoogleComputeInstanceNetworkInterfaceList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterfaceList">DataGoogleComputeInstanceNetworkInterfaceList</a>

---

##### `reservationAffinity`<sup>Required</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: DataGoogleComputeInstanceReservationAffinityList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceReservationAffinityList">DataGoogleComputeInstanceReservationAffinityList</a>

---

##### `resourcePolicies`<sup>Required</sup> <a name="resourcePolicies" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.resourcePolicies"></a>

```typescript
public readonly resourcePolicies: string[];
```

- *Type:* string[]

---

##### `scheduling`<sup>Required</sup> <a name="scheduling" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.scheduling"></a>

```typescript
public readonly scheduling: DataGoogleComputeInstanceSchedulingList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSchedulingList">DataGoogleComputeInstanceSchedulingList</a>

---

##### `scratchDisk`<sup>Required</sup> <a name="scratchDisk" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.scratchDisk"></a>

```typescript
public readonly scratchDisk: DataGoogleComputeInstanceScratchDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceScratchDiskList">DataGoogleComputeInstanceScratchDiskList</a>

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: DataGoogleComputeInstanceServiceAccountList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceServiceAccountList">DataGoogleComputeInstanceServiceAccountList</a>

---

##### `shieldedInstanceConfig`<sup>Required</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: DataGoogleComputeInstanceShieldedInstanceConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceShieldedInstanceConfigList">DataGoogleComputeInstanceShieldedInstanceConfigList</a>

---

##### `tags`<sup>Required</sup> <a name="tags" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

---

##### `tagsFingerprint`<sup>Required</sup> <a name="tagsFingerprint" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.tagsFingerprint"></a>

```typescript
public readonly tagsFingerprint: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `selfLinkInput`<sup>Optional</sup> <a name="selfLinkInput" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.selfLinkInput"></a>

```typescript
public readonly selfLinkInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeInstanceGroup <a name="DataGoogleComputeInstanceGroup" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group google_compute_instance_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceGroup } from '@dschmidt/provider-google'

new DataGoogleComputeInstanceGroup(scope: Construct, id: string, config?: DataGoogleComputeInstanceGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig">DataGoogleComputeInstanceGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig">DataGoogleComputeInstanceGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetSelfLink">resetSelfLink</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSelfLink` <a name="resetSelfLink" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetSelfLink"></a>

```typescript
public resetSelfLink(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.isConstruct"></a>

```typescript
import { DataGoogleComputeInstanceGroup } from '@dschmidt/provider-google'

DataGoogleComputeInstanceGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.instances">instances</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.namedPort">namedPort</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupNamedPortList">DataGoogleComputeInstanceGroupNamedPortList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.selfLinkInput">selfLinkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `instances`<sup>Required</sup> <a name="instances" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.instances"></a>

```typescript
public readonly instances: string[];
```

- *Type:* string[]

---

##### `namedPort`<sup>Required</sup> <a name="namedPort" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.namedPort"></a>

```typescript
public readonly namedPort: DataGoogleComputeInstanceGroupNamedPortList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupNamedPortList">DataGoogleComputeInstanceGroupNamedPortList</a>

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `selfLinkInput`<sup>Optional</sup> <a name="selfLinkInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.selfLinkInput"></a>

```typescript
public readonly selfLinkInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeInstanceSerialPort <a name="DataGoogleComputeInstanceSerialPort" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port google_compute_instance_serial_port}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceSerialPort } from '@dschmidt/provider-google'

new DataGoogleComputeInstanceSerialPort(scope: Construct, id: string, config: DataGoogleComputeInstanceSerialPortConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig">DataGoogleComputeInstanceSerialPortConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig">DataGoogleComputeInstanceSerialPortConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.isConstruct"></a>

```typescript
import { DataGoogleComputeInstanceSerialPort } from '@dschmidt/provider-google'

DataGoogleComputeInstanceSerialPort.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.contents">contents</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.portInput">portInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `contents`<sup>Required</sup> <a name="contents" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.contents"></a>

```typescript
public readonly contents: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `portInput`<sup>Optional</sup> <a name="portInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.portInput"></a>

```typescript
public readonly portInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPort.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeInstanceTemplate <a name="DataGoogleComputeInstanceTemplate" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_instance_template google_compute_instance_template}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplate } from '@dschmidt/provider-google'

new DataGoogleComputeInstanceTemplate(scope: Construct, id: string, config?: DataGoogleComputeInstanceTemplateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig">DataGoogleComputeInstanceTemplateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig">DataGoogleComputeInstanceTemplateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetMostRecent">resetMostRecent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMostRecent` <a name="resetMostRecent" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetMostRecent"></a>

```typescript
public resetMostRecent(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.isConstruct"></a>

```typescript
import { DataGoogleComputeInstanceTemplate } from '@dschmidt/provider-google'

DataGoogleComputeInstanceTemplate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.advancedMachineFeatures">advancedMachineFeatures</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateAdvancedMachineFeaturesList">DataGoogleComputeInstanceTemplateAdvancedMachineFeaturesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.canIpForward">canIpForward</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.confidentialInstanceConfig">confidentialInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfidentialInstanceConfigList">DataGoogleComputeInstanceTemplateConfidentialInstanceConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.disk">disk</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateDiskList">DataGoogleComputeInstanceTemplateDiskList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.guestAccelerator">guestAccelerator</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateGuestAcceleratorList">DataGoogleComputeInstanceTemplateGuestAcceleratorList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.instanceDescription">instanceDescription</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.machineType">machineType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.metadata">metadata</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.metadataFingerprint">metadataFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.metadataStartupScript">metadataStartupScript</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.namePrefix">namePrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.networkInterface">networkInterface</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterfaceList">DataGoogleComputeInstanceTemplateNetworkInterfaceList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateReservationAffinityList">DataGoogleComputeInstanceTemplateReservationAffinityList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateSchedulingList">DataGoogleComputeInstanceTemplateSchedulingList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.serviceAccount">serviceAccount</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateServiceAccountList">DataGoogleComputeInstanceTemplateServiceAccountList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateShieldedInstanceConfigList">DataGoogleComputeInstanceTemplateShieldedInstanceConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.tagsFingerprint">tagsFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.mostRecentInput">mostRecentInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.mostRecent">mostRecent</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `advancedMachineFeatures`<sup>Required</sup> <a name="advancedMachineFeatures" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.advancedMachineFeatures"></a>

```typescript
public readonly advancedMachineFeatures: DataGoogleComputeInstanceTemplateAdvancedMachineFeaturesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateAdvancedMachineFeaturesList">DataGoogleComputeInstanceTemplateAdvancedMachineFeaturesList</a>

---

##### `canIpForward`<sup>Required</sup> <a name="canIpForward" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.canIpForward"></a>

```typescript
public readonly canIpForward: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `confidentialInstanceConfig`<sup>Required</sup> <a name="confidentialInstanceConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.confidentialInstanceConfig"></a>

```typescript
public readonly confidentialInstanceConfig: DataGoogleComputeInstanceTemplateConfidentialInstanceConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfidentialInstanceConfigList">DataGoogleComputeInstanceTemplateConfidentialInstanceConfigList</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disk`<sup>Required</sup> <a name="disk" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.disk"></a>

```typescript
public readonly disk: DataGoogleComputeInstanceTemplateDiskList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateDiskList">DataGoogleComputeInstanceTemplateDiskList</a>

---

##### `guestAccelerator`<sup>Required</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: DataGoogleComputeInstanceTemplateGuestAcceleratorList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateGuestAcceleratorList">DataGoogleComputeInstanceTemplateGuestAcceleratorList</a>

---

##### `instanceDescription`<sup>Required</sup> <a name="instanceDescription" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.instanceDescription"></a>

```typescript
public readonly instanceDescription: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.metadata"></a>

```typescript
public readonly metadata: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `metadataFingerprint`<sup>Required</sup> <a name="metadataFingerprint" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.metadataFingerprint"></a>

```typescript
public readonly metadataFingerprint: string;
```

- *Type:* string

---

##### `metadataStartupScript`<sup>Required</sup> <a name="metadataStartupScript" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.metadataStartupScript"></a>

```typescript
public readonly metadataStartupScript: string;
```

- *Type:* string

---

##### `minCpuPlatform`<sup>Required</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

---

##### `namePrefix`<sup>Required</sup> <a name="namePrefix" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

---

##### `networkInterface`<sup>Required</sup> <a name="networkInterface" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.networkInterface"></a>

```typescript
public readonly networkInterface: DataGoogleComputeInstanceTemplateNetworkInterfaceList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterfaceList">DataGoogleComputeInstanceTemplateNetworkInterfaceList</a>

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `reservationAffinity`<sup>Required</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: DataGoogleComputeInstanceTemplateReservationAffinityList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateReservationAffinityList">DataGoogleComputeInstanceTemplateReservationAffinityList</a>

---

##### `scheduling`<sup>Required</sup> <a name="scheduling" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.scheduling"></a>

```typescript
public readonly scheduling: DataGoogleComputeInstanceTemplateSchedulingList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateSchedulingList">DataGoogleComputeInstanceTemplateSchedulingList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: DataGoogleComputeInstanceTemplateServiceAccountList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateServiceAccountList">DataGoogleComputeInstanceTemplateServiceAccountList</a>

---

##### `shieldedInstanceConfig`<sup>Required</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: DataGoogleComputeInstanceTemplateShieldedInstanceConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateShieldedInstanceConfigList">DataGoogleComputeInstanceTemplateShieldedInstanceConfigList</a>

---

##### `tags`<sup>Required</sup> <a name="tags" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

---

##### `tagsFingerprint`<sup>Required</sup> <a name="tagsFingerprint" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.tagsFingerprint"></a>

```typescript
public readonly tagsFingerprint: string;
```

- *Type:* string

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `mostRecentInput`<sup>Optional</sup> <a name="mostRecentInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.mostRecentInput"></a>

```typescript
public readonly mostRecentInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `mostRecent`<sup>Required</sup> <a name="mostRecent" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.mostRecent"></a>

```typescript
public readonly mostRecent: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeLbIpRanges <a name="DataGoogleComputeLbIpRanges" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_lb_ip_ranges google_compute_lb_ip_ranges}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.Initializer"></a>

```typescript
import { DataGoogleComputeLbIpRanges } from '@dschmidt/provider-google'

new DataGoogleComputeLbIpRanges(scope: Construct, id: string, config?: DataGoogleComputeLbIpRangesConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig">DataGoogleComputeLbIpRangesConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig">DataGoogleComputeLbIpRangesConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.isConstruct"></a>

```typescript
import { DataGoogleComputeLbIpRanges } from '@dschmidt/provider-google'

DataGoogleComputeLbIpRanges.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.httpSslTcpInternal">httpSslTcpInternal</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.network">network</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `httpSslTcpInternal`<sup>Required</sup> <a name="httpSslTcpInternal" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.httpSslTcpInternal"></a>

```typescript
public readonly httpSslTcpInternal: string[];
```

- *Type:* string[]

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.network"></a>

```typescript
public readonly network: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeLbIpRanges.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeNetwork <a name="DataGoogleComputeNetwork" id="@dschmidt/provider-google.DataGoogleComputeNetwork"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_network google_compute_network}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeNetwork.Initializer"></a>

```typescript
import { DataGoogleComputeNetwork } from '@dschmidt/provider-google'

new DataGoogleComputeNetwork(scope: Construct, id: string, config: DataGoogleComputeNetworkConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig">DataGoogleComputeNetworkConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeNetwork.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeNetwork.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeNetwork.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig">DataGoogleComputeNetworkConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeNetwork.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeNetwork.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeNetwork.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeNetwork.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeNetwork.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeNetwork.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeNetwork.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeNetwork.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeNetwork.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetwork.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeNetwork.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeNetwork.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeNetwork.isConstruct"></a>

```typescript
import { DataGoogleComputeNetwork } from '@dschmidt/provider-google'

DataGoogleComputeNetwork.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeNetwork.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.gatewayIpv4">gatewayIpv4</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.subnetworksSelfLinks">subnetworksSelfLinks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `gatewayIpv4`<sup>Required</sup> <a name="gatewayIpv4" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.gatewayIpv4"></a>

```typescript
public readonly gatewayIpv4: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `subnetworksSelfLinks`<sup>Required</sup> <a name="subnetworksSelfLinks" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.subnetworksSelfLinks"></a>

```typescript
public readonly subnetworksSelfLinks: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetwork.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeNetwork.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeNetworkEndpointGroup <a name="DataGoogleComputeNetworkEndpointGroup" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_network_endpoint_group google_compute_network_endpoint_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.Initializer"></a>

```typescript
import { DataGoogleComputeNetworkEndpointGroup } from '@dschmidt/provider-google'

new DataGoogleComputeNetworkEndpointGroup(scope: Construct, id: string, config?: DataGoogleComputeNetworkEndpointGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig">DataGoogleComputeNetworkEndpointGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig">DataGoogleComputeNetworkEndpointGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetSelfLink">resetSelfLink</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSelfLink` <a name="resetSelfLink" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetSelfLink"></a>

```typescript
public resetSelfLink(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.isConstruct"></a>

```typescript
import { DataGoogleComputeNetworkEndpointGroup } from '@dschmidt/provider-google'

DataGoogleComputeNetworkEndpointGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.defaultPort">defaultPort</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.networkEndpointType">networkEndpointType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.selfLinkInput">selfLinkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `defaultPort`<sup>Required</sup> <a name="defaultPort" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.defaultPort"></a>

```typescript
public readonly defaultPort: number;
```

- *Type:* number

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `networkEndpointType`<sup>Required</sup> <a name="networkEndpointType" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.networkEndpointType"></a>

```typescript
public readonly networkEndpointType: string;
```

- *Type:* string

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `selfLinkInput`<sup>Optional</sup> <a name="selfLinkInput" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.selfLinkInput"></a>

```typescript
public readonly selfLinkInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeNodeTypes <a name="DataGoogleComputeNodeTypes" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_node_types google_compute_node_types}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.Initializer"></a>

```typescript
import { DataGoogleComputeNodeTypes } from '@dschmidt/provider-google'

new DataGoogleComputeNodeTypes(scope: Construct, id: string, config?: DataGoogleComputeNodeTypesConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig">DataGoogleComputeNodeTypesConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig">DataGoogleComputeNodeTypesConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.isConstruct"></a>

```typescript
import { DataGoogleComputeNodeTypes } from '@dschmidt/provider-google'

DataGoogleComputeNodeTypes.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.names">names</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `names`<sup>Required</sup> <a name="names" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.names"></a>

```typescript
public readonly names: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeNodeTypes.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeRegionInstanceGroup <a name="DataGoogleComputeRegionInstanceGroup" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group google_compute_region_instance_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.Initializer"></a>

```typescript
import { DataGoogleComputeRegionInstanceGroup } from '@dschmidt/provider-google'

new DataGoogleComputeRegionInstanceGroup(scope: Construct, id: string, config?: DataGoogleComputeRegionInstanceGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig">DataGoogleComputeRegionInstanceGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig">DataGoogleComputeRegionInstanceGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetSelfLink">resetSelfLink</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSelfLink` <a name="resetSelfLink" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.resetSelfLink"></a>

```typescript
public resetSelfLink(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.isConstruct"></a>

```typescript
import { DataGoogleComputeRegionInstanceGroup } from '@dschmidt/provider-google'

DataGoogleComputeRegionInstanceGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.instances">instances</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupInstancesList">DataGoogleComputeRegionInstanceGroupInstancesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.selfLinkInput">selfLinkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `instances`<sup>Required</sup> <a name="instances" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.instances"></a>

```typescript
public readonly instances: DataGoogleComputeRegionInstanceGroupInstancesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupInstancesList">DataGoogleComputeRegionInstanceGroupInstancesList</a>

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `selfLinkInput`<sup>Optional</sup> <a name="selfLinkInput" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.selfLinkInput"></a>

```typescript
public readonly selfLinkInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeRegions <a name="DataGoogleComputeRegions" id="@dschmidt/provider-google.DataGoogleComputeRegions"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_regions google_compute_regions}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeRegions.Initializer"></a>

```typescript
import { DataGoogleComputeRegions } from '@dschmidt/provider-google'

new DataGoogleComputeRegions(scope: Construct, id: string, config?: DataGoogleComputeRegionsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig">DataGoogleComputeRegionsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeRegions.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRegions.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeRegions.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig">DataGoogleComputeRegionsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.resetStatus">resetStatus</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeRegions.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeRegions.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeRegions.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeRegions.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRegions.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRegions.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRegions.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeRegions.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeRegions.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegions.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeRegions.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeRegions.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetStatus` <a name="resetStatus" id="@dschmidt/provider-google.DataGoogleComputeRegions.resetStatus"></a>

```typescript
public resetStatus(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeRegions.isConstruct"></a>

```typescript
import { DataGoogleComputeRegions } from '@dschmidt/provider-google'

DataGoogleComputeRegions.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeRegions.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.names">names</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.statusInput">statusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.status">status</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `names`<sup>Required</sup> <a name="names" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.names"></a>

```typescript
public readonly names: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `statusInput`<sup>Optional</sup> <a name="statusInput" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.statusInput"></a>

```typescript
public readonly statusInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegions.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeRegions.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeRegionSslCertificate <a name="DataGoogleComputeRegionSslCertificate" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_region_ssl_certificate google_compute_region_ssl_certificate}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.Initializer"></a>

```typescript
import { DataGoogleComputeRegionSslCertificate } from '@dschmidt/provider-google'

new DataGoogleComputeRegionSslCertificate(scope: Construct, id: string, config: DataGoogleComputeRegionSslCertificateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig">DataGoogleComputeRegionSslCertificateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig">DataGoogleComputeRegionSslCertificateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.isConstruct"></a>

```typescript
import { DataGoogleComputeRegionSslCertificate } from '@dschmidt/provider-google'

DataGoogleComputeRegionSslCertificate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.certificate">certificate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.certificateId">certificateId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.namePrefix">namePrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.privateKey">privateKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `certificate`<sup>Required</sup> <a name="certificate" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.certificate"></a>

```typescript
public readonly certificate: string;
```

- *Type:* string

---

##### `certificateId`<sup>Required</sup> <a name="certificateId" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.certificateId"></a>

```typescript
public readonly certificateId: number;
```

- *Type:* number

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `namePrefix`<sup>Required</sup> <a name="namePrefix" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

---

##### `privateKey`<sup>Required</sup> <a name="privateKey" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.privateKey"></a>

```typescript
public readonly privateKey: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeResourcePolicy <a name="DataGoogleComputeResourcePolicy" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_resource_policy google_compute_resource_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicy } from '@dschmidt/provider-google'

new DataGoogleComputeResourcePolicy(scope: Construct, id: string, config: DataGoogleComputeResourcePolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig">DataGoogleComputeResourcePolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig">DataGoogleComputeResourcePolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.isConstruct"></a>

```typescript
import { DataGoogleComputeResourcePolicy } from '@dschmidt/provider-google'

DataGoogleComputeResourcePolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.groupPlacementPolicy">groupPlacementPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyGroupPlacementPolicyList">DataGoogleComputeResourcePolicyGroupPlacementPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.instanceSchedulePolicy">instanceSchedulePolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyInstanceSchedulePolicyList">DataGoogleComputeResourcePolicyInstanceSchedulePolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.snapshotSchedulePolicy">snapshotSchedulePolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyList">DataGoogleComputeResourcePolicySnapshotSchedulePolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `groupPlacementPolicy`<sup>Required</sup> <a name="groupPlacementPolicy" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.groupPlacementPolicy"></a>

```typescript
public readonly groupPlacementPolicy: DataGoogleComputeResourcePolicyGroupPlacementPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyGroupPlacementPolicyList">DataGoogleComputeResourcePolicyGroupPlacementPolicyList</a>

---

##### `instanceSchedulePolicy`<sup>Required</sup> <a name="instanceSchedulePolicy" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.instanceSchedulePolicy"></a>

```typescript
public readonly instanceSchedulePolicy: DataGoogleComputeResourcePolicyInstanceSchedulePolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyInstanceSchedulePolicyList">DataGoogleComputeResourcePolicyInstanceSchedulePolicyList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `snapshotSchedulePolicy`<sup>Required</sup> <a name="snapshotSchedulePolicy" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.snapshotSchedulePolicy"></a>

```typescript
public readonly snapshotSchedulePolicy: DataGoogleComputeResourcePolicySnapshotSchedulePolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyList">DataGoogleComputeResourcePolicySnapshotSchedulePolicyList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeRouter <a name="DataGoogleComputeRouter" id="@dschmidt/provider-google.DataGoogleComputeRouter"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_router google_compute_router}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeRouter.Initializer"></a>

```typescript
import { DataGoogleComputeRouter } from '@dschmidt/provider-google'

new DataGoogleComputeRouter(scope: Construct, id: string, config: DataGoogleComputeRouterConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig">DataGoogleComputeRouterConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeRouter.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRouter.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeRouter.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig">DataGoogleComputeRouterConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeRouter.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeRouter.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeRouter.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeRouter.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRouter.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRouter.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRouter.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeRouter.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeRouter.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouter.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeRouter.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeRouter.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeRouter.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeRouter.isConstruct"></a>

```typescript
import { DataGoogleComputeRouter } from '@dschmidt/provider-google'

DataGoogleComputeRouter.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeRouter.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.bgp">bgp</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterBgpList">DataGoogleComputeRouterBgpList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.encryptedInterconnectRouter">encryptedInterconnectRouter</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `bgp`<sup>Required</sup> <a name="bgp" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.bgp"></a>

```typescript
public readonly bgp: DataGoogleComputeRouterBgpList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeRouterBgpList">DataGoogleComputeRouterBgpList</a>

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `encryptedInterconnectRouter`<sup>Required</sup> <a name="encryptedInterconnectRouter" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.encryptedInterconnectRouter"></a>

```typescript
public readonly encryptedInterconnectRouter: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouter.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeRouter.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeRouterStatus <a name="DataGoogleComputeRouterStatus" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_router_status google_compute_router_status}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.Initializer"></a>

```typescript
import { DataGoogleComputeRouterStatus } from '@dschmidt/provider-google'

new DataGoogleComputeRouterStatus(scope: Construct, id: string, config: DataGoogleComputeRouterStatusConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig">DataGoogleComputeRouterStatusConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig">DataGoogleComputeRouterStatusConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.isConstruct"></a>

```typescript
import { DataGoogleComputeRouterStatus } from '@dschmidt/provider-google'

DataGoogleComputeRouterStatus.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.bestRoutes">bestRoutes</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusBestRoutesList">DataGoogleComputeRouterStatusBestRoutesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.bestRoutesForRouter">bestRoutesForRouter</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusBestRoutesForRouterList">DataGoogleComputeRouterStatusBestRoutesForRouterList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `bestRoutes`<sup>Required</sup> <a name="bestRoutes" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.bestRoutes"></a>

```typescript
public readonly bestRoutes: DataGoogleComputeRouterStatusBestRoutesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusBestRoutesList">DataGoogleComputeRouterStatusBestRoutesList</a>

---

##### `bestRoutesForRouter`<sup>Required</sup> <a name="bestRoutesForRouter" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.bestRoutesForRouter"></a>

```typescript
public readonly bestRoutesForRouter: DataGoogleComputeRouterStatusBestRoutesForRouterList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusBestRoutesForRouterList">DataGoogleComputeRouterStatusBestRoutesForRouterList</a>

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeRouterStatus.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeSslCertificate <a name="DataGoogleComputeSslCertificate" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_certificate google_compute_ssl_certificate}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.Initializer"></a>

```typescript
import { DataGoogleComputeSslCertificate } from '@dschmidt/provider-google'

new DataGoogleComputeSslCertificate(scope: Construct, id: string, config: DataGoogleComputeSslCertificateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig">DataGoogleComputeSslCertificateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig">DataGoogleComputeSslCertificateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.isConstruct"></a>

```typescript
import { DataGoogleComputeSslCertificate } from '@dschmidt/provider-google'

DataGoogleComputeSslCertificate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.certificate">certificate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.certificateId">certificateId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.namePrefix">namePrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.privateKey">privateKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `certificate`<sup>Required</sup> <a name="certificate" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.certificate"></a>

```typescript
public readonly certificate: string;
```

- *Type:* string

---

##### `certificateId`<sup>Required</sup> <a name="certificateId" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.certificateId"></a>

```typescript
public readonly certificateId: number;
```

- *Type:* number

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `namePrefix`<sup>Required</sup> <a name="namePrefix" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

---

##### `privateKey`<sup>Required</sup> <a name="privateKey" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.privateKey"></a>

```typescript
public readonly privateKey: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeSslCertificate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeSslPolicy <a name="DataGoogleComputeSslPolicy" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_policy google_compute_ssl_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.Initializer"></a>

```typescript
import { DataGoogleComputeSslPolicy } from '@dschmidt/provider-google'

new DataGoogleComputeSslPolicy(scope: Construct, id: string, config: DataGoogleComputeSslPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig">DataGoogleComputeSslPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig">DataGoogleComputeSslPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.isConstruct"></a>

```typescript
import { DataGoogleComputeSslPolicy } from '@dschmidt/provider-google'

DataGoogleComputeSslPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.creationTimestamp">creationTimestamp</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.customFeatures">customFeatures</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.enabledFeatures">enabledFeatures</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.minTlsVersion">minTlsVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.profile">profile</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `creationTimestamp`<sup>Required</sup> <a name="creationTimestamp" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.creationTimestamp"></a>

```typescript
public readonly creationTimestamp: string;
```

- *Type:* string

---

##### `customFeatures`<sup>Required</sup> <a name="customFeatures" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.customFeatures"></a>

```typescript
public readonly customFeatures: string[];
```

- *Type:* string[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `enabledFeatures`<sup>Required</sup> <a name="enabledFeatures" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.enabledFeatures"></a>

```typescript
public readonly enabledFeatures: string[];
```

- *Type:* string[]

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `minTlsVersion`<sup>Required</sup> <a name="minTlsVersion" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.minTlsVersion"></a>

```typescript
public readonly minTlsVersion: string;
```

- *Type:* string

---

##### `profile`<sup>Required</sup> <a name="profile" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.profile"></a>

```typescript
public readonly profile: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeSslPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeSubnetwork <a name="DataGoogleComputeSubnetwork" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork google_compute_subnetwork}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.Initializer"></a>

```typescript
import { DataGoogleComputeSubnetwork } from '@dschmidt/provider-google'

new DataGoogleComputeSubnetwork(scope: Construct, id: string, config?: DataGoogleComputeSubnetworkConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig">DataGoogleComputeSubnetworkConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig">DataGoogleComputeSubnetworkConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetSelfLink">resetSelfLink</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetSelfLink` <a name="resetSelfLink" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.resetSelfLink"></a>

```typescript
public resetSelfLink(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.isConstruct"></a>

```typescript
import { DataGoogleComputeSubnetwork } from '@dschmidt/provider-google'

DataGoogleComputeSubnetwork.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.gatewayAddress">gatewayAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.ipCidrRange">ipCidrRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.privateIpGoogleAccess">privateIpGoogleAccess</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.secondaryIpRange">secondaryIpRange</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkSecondaryIpRangeList">DataGoogleComputeSubnetworkSecondaryIpRangeList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.selfLinkInput">selfLinkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `gatewayAddress`<sup>Required</sup> <a name="gatewayAddress" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.gatewayAddress"></a>

```typescript
public readonly gatewayAddress: string;
```

- *Type:* string

---

##### `ipCidrRange`<sup>Required</sup> <a name="ipCidrRange" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.ipCidrRange"></a>

```typescript
public readonly ipCidrRange: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `privateIpGoogleAccess`<sup>Required</sup> <a name="privateIpGoogleAccess" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.privateIpGoogleAccess"></a>

```typescript
public readonly privateIpGoogleAccess: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `secondaryIpRange`<sup>Required</sup> <a name="secondaryIpRange" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.secondaryIpRange"></a>

```typescript
public readonly secondaryIpRange: DataGoogleComputeSubnetworkSecondaryIpRangeList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkSecondaryIpRangeList">DataGoogleComputeSubnetworkSecondaryIpRangeList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `selfLinkInput`<sup>Optional</sup> <a name="selfLinkInput" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.selfLinkInput"></a>

```typescript
public readonly selfLinkInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeSubnetwork.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeVpnGateway <a name="DataGoogleComputeVpnGateway" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_vpn_gateway google_compute_vpn_gateway}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.Initializer"></a>

```typescript
import { DataGoogleComputeVpnGateway } from '@dschmidt/provider-google'

new DataGoogleComputeVpnGateway(scope: Construct, id: string, config: DataGoogleComputeVpnGatewayConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig">DataGoogleComputeVpnGatewayConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig">DataGoogleComputeVpnGatewayConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.isConstruct"></a>

```typescript
import { DataGoogleComputeVpnGateway } from '@dschmidt/provider-google'

DataGoogleComputeVpnGateway.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeVpnGateway.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleComputeZones <a name="DataGoogleComputeZones" id="@dschmidt/provider-google.DataGoogleComputeZones"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/compute_zones google_compute_zones}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleComputeZones.Initializer"></a>

```typescript
import { DataGoogleComputeZones } from '@dschmidt/provider-google'

new DataGoogleComputeZones(scope: Construct, id: string, config?: DataGoogleComputeZonesConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig">DataGoogleComputeZonesConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleComputeZones.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeZones.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleComputeZones.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig">DataGoogleComputeZonesConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.resetStatus">resetStatus</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleComputeZones.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleComputeZones.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleComputeZones.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleComputeZones.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeZones.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleComputeZones.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleComputeZones.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleComputeZones.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleComputeZones.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleComputeZones.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleComputeZones.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleComputeZones.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleComputeZones.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetStatus` <a name="resetStatus" id="@dschmidt/provider-google.DataGoogleComputeZones.resetStatus"></a>

```typescript
public resetStatus(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleComputeZones.isConstruct"></a>

```typescript
import { DataGoogleComputeZones } from '@dschmidt/provider-google'

DataGoogleComputeZones.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleComputeZones.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.names">names</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.statusInput">statusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.status">status</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleComputeZones.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleComputeZones.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleComputeZones.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleComputeZones.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleComputeZones.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleComputeZones.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleComputeZones.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeZones.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeZones.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeZones.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeZones.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeZones.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `names`<sup>Required</sup> <a name="names" id="@dschmidt/provider-google.DataGoogleComputeZones.property.names"></a>

```typescript
public readonly names: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleComputeZones.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleComputeZones.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleComputeZones.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `statusInput`<sup>Optional</sup> <a name="statusInput" id="@dschmidt/provider-google.DataGoogleComputeZones.property.statusInput"></a>

```typescript
public readonly statusInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeZones.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeZones.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeZones.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.DataGoogleComputeZones.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZones.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleComputeZones.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleContainerAwsVersions <a name="DataGoogleContainerAwsVersions" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/container_aws_versions google_container_aws_versions}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.Initializer"></a>

```typescript
import { DataGoogleContainerAwsVersions } from '@dschmidt/provider-google'

new DataGoogleContainerAwsVersions(scope: Construct, id: string, config?: DataGoogleContainerAwsVersionsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig">DataGoogleContainerAwsVersionsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig">DataGoogleContainerAwsVersionsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.isConstruct"></a>

```typescript
import { DataGoogleContainerAwsVersions } from '@dschmidt/provider-google'

DataGoogleContainerAwsVersions.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.supportedRegions">supportedRegions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.validVersions">validVersions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `supportedRegions`<sup>Required</sup> <a name="supportedRegions" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.supportedRegions"></a>

```typescript
public readonly supportedRegions: string[];
```

- *Type:* string[]

---

##### `validVersions`<sup>Required</sup> <a name="validVersions" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.validVersions"></a>

```typescript
public readonly validVersions: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleContainerAwsVersions.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleContainerAzureVersions <a name="DataGoogleContainerAzureVersions" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/container_azure_versions google_container_azure_versions}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.Initializer"></a>

```typescript
import { DataGoogleContainerAzureVersions } from '@dschmidt/provider-google'

new DataGoogleContainerAzureVersions(scope: Construct, id: string, config?: DataGoogleContainerAzureVersionsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig">DataGoogleContainerAzureVersionsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig">DataGoogleContainerAzureVersionsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.isConstruct"></a>

```typescript
import { DataGoogleContainerAzureVersions } from '@dschmidt/provider-google'

DataGoogleContainerAzureVersions.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.supportedRegions">supportedRegions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.validVersions">validVersions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `supportedRegions`<sup>Required</sup> <a name="supportedRegions" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.supportedRegions"></a>

```typescript
public readonly supportedRegions: string[];
```

- *Type:* string[]

---

##### `validVersions`<sup>Required</sup> <a name="validVersions" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.validVersions"></a>

```typescript
public readonly validVersions: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleContainerAzureVersions.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleContainerCluster <a name="DataGoogleContainerCluster" id="@dschmidt/provider-google.DataGoogleContainerCluster"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/container_cluster google_container_cluster}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleContainerCluster.Initializer"></a>

```typescript
import { DataGoogleContainerCluster } from '@dschmidt/provider-google'

new DataGoogleContainerCluster(scope: Construct, id: string, config: DataGoogleContainerClusterConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig">DataGoogleContainerClusterConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleContainerCluster.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerCluster.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleContainerCluster.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig">DataGoogleContainerClusterConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleContainerCluster.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleContainerCluster.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleContainerCluster.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleContainerCluster.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerCluster.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleContainerCluster.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerCluster.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleContainerCluster.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleContainerCluster.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerCluster.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleContainerCluster.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataGoogleContainerCluster.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleContainerCluster.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleContainerCluster.isConstruct"></a>

```typescript
import { DataGoogleContainerCluster } from '@dschmidt/provider-google'

DataGoogleContainerCluster.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleContainerCluster.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.addonsConfig">addonsConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigList">DataGoogleContainerClusterAddonsConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.authenticatorGroupsConfig">authenticatorGroupsConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterAuthenticatorGroupsConfigList">DataGoogleContainerClusterAuthenticatorGroupsConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.binaryAuthorization">binaryAuthorization</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterBinaryAuthorizationList">DataGoogleContainerClusterBinaryAuthorizationList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.clusterAutoscaling">clusterAutoscaling</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterClusterAutoscalingList">DataGoogleContainerClusterClusterAutoscalingList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.clusterIpv4Cidr">clusterIpv4Cidr</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.confidentialNodes">confidentialNodes</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfidentialNodesList">DataGoogleContainerClusterConfidentialNodesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.databaseEncryption">databaseEncryption</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterDatabaseEncryptionList">DataGoogleContainerClusterDatabaseEncryptionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.datapathProvider">datapathProvider</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.defaultMaxPodsPerNode">defaultMaxPodsPerNode</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.defaultSnatStatus">defaultSnatStatus</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterDefaultSnatStatusList">DataGoogleContainerClusterDefaultSnatStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.dnsConfig">dnsConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterDnsConfigList">DataGoogleContainerClusterDnsConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.enableAutopilot">enableAutopilot</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.enableBinaryAuthorization">enableBinaryAuthorization</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.enableIntranodeVisibility">enableIntranodeVisibility</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.enableKubernetesAlpha">enableKubernetesAlpha</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.enableLegacyAbac">enableLegacyAbac</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.enableShieldedNodes">enableShieldedNodes</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.enableTpu">enableTpu</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.endpoint">endpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.initialNodeCount">initialNodeCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.ipAllocationPolicy">ipAllocationPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterIpAllocationPolicyList">DataGoogleContainerClusterIpAllocationPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.labelFingerprint">labelFingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterLoggingConfigList">DataGoogleContainerClusterLoggingConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.loggingService">loggingService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.maintenancePolicy">maintenancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyList">DataGoogleContainerClusterMaintenancePolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.masterAuth">masterAuth</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthList">DataGoogleContainerClusterMasterAuthList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.masterAuthorizedNetworksConfig">masterAuthorizedNetworksConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthorizedNetworksConfigList">DataGoogleContainerClusterMasterAuthorizedNetworksConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.masterVersion">masterVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.meshCertificates">meshCertificates</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterMeshCertificatesList">DataGoogleContainerClusterMeshCertificatesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.minMasterVersion">minMasterVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.monitoringConfig">monitoringConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterMonitoringConfigList">DataGoogleContainerClusterMonitoringConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.monitoringService">monitoringService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.networkingMode">networkingMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.networkPolicy">networkPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterNetworkPolicyList">DataGoogleContainerClusterNetworkPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigList">DataGoogleContainerClusterNodeConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.nodeLocations">nodeLocations</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.nodePool">nodePool</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterNodePoolList">DataGoogleContainerClusterNodePoolList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.nodeVersion">nodeVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterNotificationConfigList">DataGoogleContainerClusterNotificationConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.operation">operation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.privateClusterConfig">privateClusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterPrivateClusterConfigList">DataGoogleContainerClusterPrivateClusterConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.privateIpv6GoogleAccess">privateIpv6GoogleAccess</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.releaseChannel">releaseChannel</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterReleaseChannelList">DataGoogleContainerClusterReleaseChannelList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.removeDefaultNodePool">removeDefaultNodePool</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.resourceLabels">resourceLabels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.resourceUsageExportConfig">resourceUsageExportConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterResourceUsageExportConfigList">DataGoogleContainerClusterResourceUsageExportConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.serviceExternalIpsConfig">serviceExternalIpsConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterServiceExternalIpsConfigList">DataGoogleContainerClusterServiceExternalIpsConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.servicesIpv4Cidr">servicesIpv4Cidr</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.subnetwork">subnetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.tpuIpv4CidrBlock">tpuIpv4CidrBlock</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.verticalPodAutoscaling">verticalPodAutoscaling</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterVerticalPodAutoscalingList">DataGoogleContainerClusterVerticalPodAutoscalingList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.workloadIdentityConfig">workloadIdentityConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterWorkloadIdentityConfigList">DataGoogleContainerClusterWorkloadIdentityConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `addonsConfig`<sup>Required</sup> <a name="addonsConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.addonsConfig"></a>

```typescript
public readonly addonsConfig: DataGoogleContainerClusterAddonsConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigList">DataGoogleContainerClusterAddonsConfigList</a>

---

##### `authenticatorGroupsConfig`<sup>Required</sup> <a name="authenticatorGroupsConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.authenticatorGroupsConfig"></a>

```typescript
public readonly authenticatorGroupsConfig: DataGoogleContainerClusterAuthenticatorGroupsConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterAuthenticatorGroupsConfigList">DataGoogleContainerClusterAuthenticatorGroupsConfigList</a>

---

##### `binaryAuthorization`<sup>Required</sup> <a name="binaryAuthorization" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.binaryAuthorization"></a>

```typescript
public readonly binaryAuthorization: DataGoogleContainerClusterBinaryAuthorizationList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterBinaryAuthorizationList">DataGoogleContainerClusterBinaryAuthorizationList</a>

---

##### `clusterAutoscaling`<sup>Required</sup> <a name="clusterAutoscaling" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.clusterAutoscaling"></a>

```typescript
public readonly clusterAutoscaling: DataGoogleContainerClusterClusterAutoscalingList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterClusterAutoscalingList">DataGoogleContainerClusterClusterAutoscalingList</a>

---

##### `clusterIpv4Cidr`<sup>Required</sup> <a name="clusterIpv4Cidr" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.clusterIpv4Cidr"></a>

```typescript
public readonly clusterIpv4Cidr: string;
```

- *Type:* string

---

##### `confidentialNodes`<sup>Required</sup> <a name="confidentialNodes" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.confidentialNodes"></a>

```typescript
public readonly confidentialNodes: DataGoogleContainerClusterConfidentialNodesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfidentialNodesList">DataGoogleContainerClusterConfidentialNodesList</a>

---

##### `databaseEncryption`<sup>Required</sup> <a name="databaseEncryption" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.databaseEncryption"></a>

```typescript
public readonly databaseEncryption: DataGoogleContainerClusterDatabaseEncryptionList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterDatabaseEncryptionList">DataGoogleContainerClusterDatabaseEncryptionList</a>

---

##### `datapathProvider`<sup>Required</sup> <a name="datapathProvider" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.datapathProvider"></a>

```typescript
public readonly datapathProvider: string;
```

- *Type:* string

---

##### `defaultMaxPodsPerNode`<sup>Required</sup> <a name="defaultMaxPodsPerNode" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.defaultMaxPodsPerNode"></a>

```typescript
public readonly defaultMaxPodsPerNode: number;
```

- *Type:* number

---

##### `defaultSnatStatus`<sup>Required</sup> <a name="defaultSnatStatus" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.defaultSnatStatus"></a>

```typescript
public readonly defaultSnatStatus: DataGoogleContainerClusterDefaultSnatStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterDefaultSnatStatusList">DataGoogleContainerClusterDefaultSnatStatusList</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `dnsConfig`<sup>Required</sup> <a name="dnsConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.dnsConfig"></a>

```typescript
public readonly dnsConfig: DataGoogleContainerClusterDnsConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterDnsConfigList">DataGoogleContainerClusterDnsConfigList</a>

---

##### `enableAutopilot`<sup>Required</sup> <a name="enableAutopilot" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.enableAutopilot"></a>

```typescript
public readonly enableAutopilot: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enableBinaryAuthorization`<sup>Required</sup> <a name="enableBinaryAuthorization" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.enableBinaryAuthorization"></a>

```typescript
public readonly enableBinaryAuthorization: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enableIntranodeVisibility`<sup>Required</sup> <a name="enableIntranodeVisibility" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.enableIntranodeVisibility"></a>

```typescript
public readonly enableIntranodeVisibility: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enableKubernetesAlpha`<sup>Required</sup> <a name="enableKubernetesAlpha" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.enableKubernetesAlpha"></a>

```typescript
public readonly enableKubernetesAlpha: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enableLegacyAbac`<sup>Required</sup> <a name="enableLegacyAbac" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.enableLegacyAbac"></a>

```typescript
public readonly enableLegacyAbac: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enableShieldedNodes`<sup>Required</sup> <a name="enableShieldedNodes" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.enableShieldedNodes"></a>

```typescript
public readonly enableShieldedNodes: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enableTpu`<sup>Required</sup> <a name="enableTpu" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.enableTpu"></a>

```typescript
public readonly enableTpu: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `endpoint`<sup>Required</sup> <a name="endpoint" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.endpoint"></a>

```typescript
public readonly endpoint: string;
```

- *Type:* string

---

##### `initialNodeCount`<sup>Required</sup> <a name="initialNodeCount" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.initialNodeCount"></a>

```typescript
public readonly initialNodeCount: number;
```

- *Type:* number

---

##### `ipAllocationPolicy`<sup>Required</sup> <a name="ipAllocationPolicy" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.ipAllocationPolicy"></a>

```typescript
public readonly ipAllocationPolicy: DataGoogleContainerClusterIpAllocationPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterIpAllocationPolicyList">DataGoogleContainerClusterIpAllocationPolicyList</a>

---

##### `labelFingerprint`<sup>Required</sup> <a name="labelFingerprint" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.labelFingerprint"></a>

```typescript
public readonly labelFingerprint: string;
```

- *Type:* string

---

##### `loggingConfig`<sup>Required</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataGoogleContainerClusterLoggingConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterLoggingConfigList">DataGoogleContainerClusterLoggingConfigList</a>

---

##### `loggingService`<sup>Required</sup> <a name="loggingService" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.loggingService"></a>

```typescript
public readonly loggingService: string;
```

- *Type:* string

---

##### `maintenancePolicy`<sup>Required</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: DataGoogleContainerClusterMaintenancePolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyList">DataGoogleContainerClusterMaintenancePolicyList</a>

---

##### `masterAuth`<sup>Required</sup> <a name="masterAuth" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.masterAuth"></a>

```typescript
public readonly masterAuth: DataGoogleContainerClusterMasterAuthList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthList">DataGoogleContainerClusterMasterAuthList</a>

---

##### `masterAuthorizedNetworksConfig`<sup>Required</sup> <a name="masterAuthorizedNetworksConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.masterAuthorizedNetworksConfig"></a>

```typescript
public readonly masterAuthorizedNetworksConfig: DataGoogleContainerClusterMasterAuthorizedNetworksConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthorizedNetworksConfigList">DataGoogleContainerClusterMasterAuthorizedNetworksConfigList</a>

---

##### `masterVersion`<sup>Required</sup> <a name="masterVersion" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.masterVersion"></a>

```typescript
public readonly masterVersion: string;
```

- *Type:* string

---

##### `meshCertificates`<sup>Required</sup> <a name="meshCertificates" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.meshCertificates"></a>

```typescript
public readonly meshCertificates: DataGoogleContainerClusterMeshCertificatesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterMeshCertificatesList">DataGoogleContainerClusterMeshCertificatesList</a>

---

##### `minMasterVersion`<sup>Required</sup> <a name="minMasterVersion" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.minMasterVersion"></a>

```typescript
public readonly minMasterVersion: string;
```

- *Type:* string

---

##### `monitoringConfig`<sup>Required</sup> <a name="monitoringConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.monitoringConfig"></a>

```typescript
public readonly monitoringConfig: DataGoogleContainerClusterMonitoringConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterMonitoringConfigList">DataGoogleContainerClusterMonitoringConfigList</a>

---

##### `monitoringService`<sup>Required</sup> <a name="monitoringService" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.monitoringService"></a>

```typescript
public readonly monitoringService: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `networkingMode`<sup>Required</sup> <a name="networkingMode" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.networkingMode"></a>

```typescript
public readonly networkingMode: string;
```

- *Type:* string

---

##### `networkPolicy`<sup>Required</sup> <a name="networkPolicy" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.networkPolicy"></a>

```typescript
public readonly networkPolicy: DataGoogleContainerClusterNetworkPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterNetworkPolicyList">DataGoogleContainerClusterNetworkPolicyList</a>

---

##### `nodeConfig`<sup>Required</sup> <a name="nodeConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: DataGoogleContainerClusterNodeConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigList">DataGoogleContainerClusterNodeConfigList</a>

---

##### `nodeLocations`<sup>Required</sup> <a name="nodeLocations" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.nodeLocations"></a>

```typescript
public readonly nodeLocations: string[];
```

- *Type:* string[]

---

##### `nodePool`<sup>Required</sup> <a name="nodePool" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.nodePool"></a>

```typescript
public readonly nodePool: DataGoogleContainerClusterNodePoolList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterNodePoolList">DataGoogleContainerClusterNodePoolList</a>

---

##### `nodeVersion`<sup>Required</sup> <a name="nodeVersion" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.nodeVersion"></a>

```typescript
public readonly nodeVersion: string;
```

- *Type:* string

---

##### `notificationConfig`<sup>Required</sup> <a name="notificationConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: DataGoogleContainerClusterNotificationConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterNotificationConfigList">DataGoogleContainerClusterNotificationConfigList</a>

---

##### `operation`<sup>Required</sup> <a name="operation" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.operation"></a>

```typescript
public readonly operation: string;
```

- *Type:* string

---

##### `privateClusterConfig`<sup>Required</sup> <a name="privateClusterConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.privateClusterConfig"></a>

```typescript
public readonly privateClusterConfig: DataGoogleContainerClusterPrivateClusterConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterPrivateClusterConfigList">DataGoogleContainerClusterPrivateClusterConfigList</a>

---

##### `privateIpv6GoogleAccess`<sup>Required</sup> <a name="privateIpv6GoogleAccess" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.privateIpv6GoogleAccess"></a>

```typescript
public readonly privateIpv6GoogleAccess: string;
```

- *Type:* string

---

##### `releaseChannel`<sup>Required</sup> <a name="releaseChannel" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.releaseChannel"></a>

```typescript
public readonly releaseChannel: DataGoogleContainerClusterReleaseChannelList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterReleaseChannelList">DataGoogleContainerClusterReleaseChannelList</a>

---

##### `removeDefaultNodePool`<sup>Required</sup> <a name="removeDefaultNodePool" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.removeDefaultNodePool"></a>

```typescript
public readonly removeDefaultNodePool: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `resourceLabels`<sup>Required</sup> <a name="resourceLabels" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.resourceLabels"></a>

```typescript
public readonly resourceLabels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `resourceUsageExportConfig`<sup>Required</sup> <a name="resourceUsageExportConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.resourceUsageExportConfig"></a>

```typescript
public readonly resourceUsageExportConfig: DataGoogleContainerClusterResourceUsageExportConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterResourceUsageExportConfigList">DataGoogleContainerClusterResourceUsageExportConfigList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serviceExternalIpsConfig`<sup>Required</sup> <a name="serviceExternalIpsConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.serviceExternalIpsConfig"></a>

```typescript
public readonly serviceExternalIpsConfig: DataGoogleContainerClusterServiceExternalIpsConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterServiceExternalIpsConfigList">DataGoogleContainerClusterServiceExternalIpsConfigList</a>

---

##### `servicesIpv4Cidr`<sup>Required</sup> <a name="servicesIpv4Cidr" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.servicesIpv4Cidr"></a>

```typescript
public readonly servicesIpv4Cidr: string;
```

- *Type:* string

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

---

##### `tpuIpv4CidrBlock`<sup>Required</sup> <a name="tpuIpv4CidrBlock" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.tpuIpv4CidrBlock"></a>

```typescript
public readonly tpuIpv4CidrBlock: string;
```

- *Type:* string

---

##### `verticalPodAutoscaling`<sup>Required</sup> <a name="verticalPodAutoscaling" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.verticalPodAutoscaling"></a>

```typescript
public readonly verticalPodAutoscaling: DataGoogleContainerClusterVerticalPodAutoscalingList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterVerticalPodAutoscalingList">DataGoogleContainerClusterVerticalPodAutoscalingList</a>

---

##### `workloadIdentityConfig`<sup>Required</sup> <a name="workloadIdentityConfig" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.workloadIdentityConfig"></a>

```typescript
public readonly workloadIdentityConfig: DataGoogleContainerClusterWorkloadIdentityConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerClusterWorkloadIdentityConfigList">DataGoogleContainerClusterWorkloadIdentityConfigList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerCluster.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleContainerCluster.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleContainerEngineVersions <a name="DataGoogleContainerEngineVersions" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/container_engine_versions google_container_engine_versions}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.Initializer"></a>

```typescript
import { DataGoogleContainerEngineVersions } from '@dschmidt/provider-google'

new DataGoogleContainerEngineVersions(scope: Construct, id: string, config?: DataGoogleContainerEngineVersionsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig">DataGoogleContainerEngineVersionsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig">DataGoogleContainerEngineVersionsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetVersionPrefix">resetVersionPrefix</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetVersionPrefix` <a name="resetVersionPrefix" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.resetVersionPrefix"></a>

```typescript
public resetVersionPrefix(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.isConstruct"></a>

```typescript
import { DataGoogleContainerEngineVersions } from '@dschmidt/provider-google'

DataGoogleContainerEngineVersions.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.defaultClusterVersion">defaultClusterVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.latestMasterVersion">latestMasterVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.latestNodeVersion">latestNodeVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.releaseChannelDefaultVersion">releaseChannelDefaultVersion</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.validMasterVersions">validMasterVersions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.validNodeVersions">validNodeVersions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.versionPrefixInput">versionPrefixInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.versionPrefix">versionPrefix</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `defaultClusterVersion`<sup>Required</sup> <a name="defaultClusterVersion" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.defaultClusterVersion"></a>

```typescript
public readonly defaultClusterVersion: string;
```

- *Type:* string

---

##### `latestMasterVersion`<sup>Required</sup> <a name="latestMasterVersion" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.latestMasterVersion"></a>

```typescript
public readonly latestMasterVersion: string;
```

- *Type:* string

---

##### `latestNodeVersion`<sup>Required</sup> <a name="latestNodeVersion" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.latestNodeVersion"></a>

```typescript
public readonly latestNodeVersion: string;
```

- *Type:* string

---

##### `releaseChannelDefaultVersion`<sup>Required</sup> <a name="releaseChannelDefaultVersion" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.releaseChannelDefaultVersion"></a>

```typescript
public readonly releaseChannelDefaultVersion: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `validMasterVersions`<sup>Required</sup> <a name="validMasterVersions" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.validMasterVersions"></a>

```typescript
public readonly validMasterVersions: string[];
```

- *Type:* string[]

---

##### `validNodeVersions`<sup>Required</sup> <a name="validNodeVersions" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.validNodeVersions"></a>

```typescript
public readonly validNodeVersions: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `versionPrefixInput`<sup>Optional</sup> <a name="versionPrefixInput" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.versionPrefixInput"></a>

```typescript
public readonly versionPrefixInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `versionPrefix`<sup>Required</sup> <a name="versionPrefix" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.versionPrefix"></a>

```typescript
public readonly versionPrefix: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleContainerEngineVersions.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleContainerRegistryImage <a name="DataGoogleContainerRegistryImage" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/container_registry_image google_container_registry_image}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.Initializer"></a>

```typescript
import { DataGoogleContainerRegistryImage } from '@dschmidt/provider-google'

new DataGoogleContainerRegistryImage(scope: Construct, id: string, config: DataGoogleContainerRegistryImageConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig">DataGoogleContainerRegistryImageConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig">DataGoogleContainerRegistryImageConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetDigest">resetDigest</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetTag">resetTag</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDigest` <a name="resetDigest" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetDigest"></a>

```typescript
public resetDigest(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTag` <a name="resetTag" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.resetTag"></a>

```typescript
public resetTag(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.isConstruct"></a>

```typescript
import { DataGoogleContainerRegistryImage } from '@dschmidt/provider-google'

DataGoogleContainerRegistryImage.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.imageUrl">imageUrl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.digestInput">digestInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.tagInput">tagInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.digest">digest</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.tag">tag</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `imageUrl`<sup>Required</sup> <a name="imageUrl" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.imageUrl"></a>

```typescript
public readonly imageUrl: string;
```

- *Type:* string

---

##### `digestInput`<sup>Optional</sup> <a name="digestInput" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.digestInput"></a>

```typescript
public readonly digestInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `tagInput`<sup>Optional</sup> <a name="tagInput" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.tagInput"></a>

```typescript
public readonly tagInput: string;
```

- *Type:* string

---

##### `digest`<sup>Required</sup> <a name="digest" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.digest"></a>

```typescript
public readonly digest: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `tag`<sup>Required</sup> <a name="tag" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleContainerRegistryImage.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleContainerRegistryRepository <a name="DataGoogleContainerRegistryRepository" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/container_registry_repository google_container_registry_repository}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.Initializer"></a>

```typescript
import { DataGoogleContainerRegistryRepository } from '@dschmidt/provider-google'

new DataGoogleContainerRegistryRepository(scope: Construct, id: string, config?: DataGoogleContainerRegistryRepositoryConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig">DataGoogleContainerRegistryRepositoryConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig">DataGoogleContainerRegistryRepositoryConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.isConstruct"></a>

```typescript
import { DataGoogleContainerRegistryRepository } from '@dschmidt/provider-google'

DataGoogleContainerRegistryRepository.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.repositoryUrl">repositoryUrl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `repositoryUrl`<sup>Required</sup> <a name="repositoryUrl" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.repositoryUrl"></a>

```typescript
public readonly repositoryUrl: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepository.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleDataprocMetastoreService <a name="DataGoogleDataprocMetastoreService" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/dataproc_metastore_service google_dataproc_metastore_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.Initializer"></a>

```typescript
import { DataGoogleDataprocMetastoreService } from '@dschmidt/provider-google'

new DataGoogleDataprocMetastoreService(scope: Construct, id: string, config: DataGoogleDataprocMetastoreServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig">DataGoogleDataprocMetastoreServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig">DataGoogleDataprocMetastoreServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.isConstruct"></a>

```typescript
import { DataGoogleDataprocMetastoreService } from '@dschmidt/provider-google'

DataGoogleDataprocMetastoreService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.artifactGcsUri">artifactGcsUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.databaseType">databaseType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.encryptionConfig">encryptionConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceEncryptionConfigList">DataGoogleDataprocMetastoreServiceEncryptionConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.endpointUri">endpointUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.hiveMetastoreConfig">hiveMetastoreConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceHiveMetastoreConfigList">DataGoogleDataprocMetastoreServiceHiveMetastoreConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.maintenanceWindow">maintenanceWindow</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceMaintenanceWindowList">DataGoogleDataprocMetastoreServiceMaintenanceWindowList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.releaseChannel">releaseChannel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.stateMessage">stateMessage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.tier">tier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.serviceIdInput">serviceIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `artifactGcsUri`<sup>Required</sup> <a name="artifactGcsUri" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.artifactGcsUri"></a>

```typescript
public readonly artifactGcsUri: string;
```

- *Type:* string

---

##### `databaseType`<sup>Required</sup> <a name="databaseType" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.databaseType"></a>

```typescript
public readonly databaseType: string;
```

- *Type:* string

---

##### `encryptionConfig`<sup>Required</sup> <a name="encryptionConfig" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.encryptionConfig"></a>

```typescript
public readonly encryptionConfig: DataGoogleDataprocMetastoreServiceEncryptionConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceEncryptionConfigList">DataGoogleDataprocMetastoreServiceEncryptionConfigList</a>

---

##### `endpointUri`<sup>Required</sup> <a name="endpointUri" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.endpointUri"></a>

```typescript
public readonly endpointUri: string;
```

- *Type:* string

---

##### `hiveMetastoreConfig`<sup>Required</sup> <a name="hiveMetastoreConfig" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.hiveMetastoreConfig"></a>

```typescript
public readonly hiveMetastoreConfig: DataGoogleDataprocMetastoreServiceHiveMetastoreConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceHiveMetastoreConfigList">DataGoogleDataprocMetastoreServiceHiveMetastoreConfigList</a>

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `maintenanceWindow`<sup>Required</sup> <a name="maintenanceWindow" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.maintenanceWindow"></a>

```typescript
public readonly maintenanceWindow: DataGoogleDataprocMetastoreServiceMaintenanceWindowList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceMaintenanceWindowList">DataGoogleDataprocMetastoreServiceMaintenanceWindowList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `releaseChannel`<sup>Required</sup> <a name="releaseChannel" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.releaseChannel"></a>

```typescript
public readonly releaseChannel: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `stateMessage`<sup>Required</sup> <a name="stateMessage" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.stateMessage"></a>

```typescript
public readonly stateMessage: string;
```

- *Type:* string

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceIdInput`<sup>Optional</sup> <a name="serviceIdInput" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.serviceIdInput"></a>

```typescript
public readonly serviceIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleDnsKeys <a name="DataGoogleDnsKeys" id="@dschmidt/provider-google.DataGoogleDnsKeys"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/dns_keys google_dns_keys}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleDnsKeys.Initializer"></a>

```typescript
import { DataGoogleDnsKeys } from '@dschmidt/provider-google'

new DataGoogleDnsKeys(scope: Construct, id: string, config: DataGoogleDnsKeysConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig">DataGoogleDnsKeysConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleDnsKeys.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDnsKeys.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleDnsKeys.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig">DataGoogleDnsKeysConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleDnsKeys.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleDnsKeys.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleDnsKeys.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleDnsKeys.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleDnsKeys.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleDnsKeys.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleDnsKeys.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleDnsKeys.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleDnsKeys.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsKeys.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleDnsKeys.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleDnsKeys.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleDnsKeys.isConstruct"></a>

```typescript
import { DataGoogleDnsKeys } from '@dschmidt/provider-google'

DataGoogleDnsKeys.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleDnsKeys.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.keySigningKeys">keySigningKeys</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysKeySigningKeysList">DataGoogleDnsKeysKeySigningKeysList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.zoneSigningKeys">zoneSigningKeys</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysZoneSigningKeysList">DataGoogleDnsKeysZoneSigningKeysList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.managedZoneInput">managedZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.managedZone">managedZone</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `keySigningKeys`<sup>Required</sup> <a name="keySigningKeys" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.keySigningKeys"></a>

```typescript
public readonly keySigningKeys: DataGoogleDnsKeysKeySigningKeysList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleDnsKeysKeySigningKeysList">DataGoogleDnsKeysKeySigningKeysList</a>

---

##### `zoneSigningKeys`<sup>Required</sup> <a name="zoneSigningKeys" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.zoneSigningKeys"></a>

```typescript
public readonly zoneSigningKeys: DataGoogleDnsKeysZoneSigningKeysList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleDnsKeysZoneSigningKeysList">DataGoogleDnsKeysZoneSigningKeysList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `managedZoneInput`<sup>Optional</sup> <a name="managedZoneInput" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.managedZoneInput"></a>

```typescript
public readonly managedZoneInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `managedZone`<sup>Required</sup> <a name="managedZone" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.managedZone"></a>

```typescript
public readonly managedZone: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeys.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleDnsKeys.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleDnsManagedZone <a name="DataGoogleDnsManagedZone" id="@dschmidt/provider-google.DataGoogleDnsManagedZone"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/dns_managed_zone google_dns_managed_zone}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.Initializer"></a>

```typescript
import { DataGoogleDnsManagedZone } from '@dschmidt/provider-google'

new DataGoogleDnsManagedZone(scope: Construct, id: string, config: DataGoogleDnsManagedZoneConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig">DataGoogleDnsManagedZoneConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig">DataGoogleDnsManagedZoneConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.isConstruct"></a>

```typescript
import { DataGoogleDnsManagedZone } from '@dschmidt/provider-google'

DataGoogleDnsManagedZone.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.dnsName">dnsName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.managedZoneId">managedZoneId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.nameServers">nameServers</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.visibility">visibility</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `dnsName`<sup>Required</sup> <a name="dnsName" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.dnsName"></a>

```typescript
public readonly dnsName: string;
```

- *Type:* string

---

##### `managedZoneId`<sup>Required</sup> <a name="managedZoneId" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.managedZoneId"></a>

```typescript
public readonly managedZoneId: number;
```

- *Type:* number

---

##### `nameServers`<sup>Required</sup> <a name="nameServers" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.nameServers"></a>

```typescript
public readonly nameServers: string[];
```

- *Type:* string[]

---

##### `visibility`<sup>Required</sup> <a name="visibility" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.visibility"></a>

```typescript
public readonly visibility: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZone.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleDnsManagedZone.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleDnsRecordSet <a name="DataGoogleDnsRecordSet" id="@dschmidt/provider-google.DataGoogleDnsRecordSet"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/dns_record_set google_dns_record_set}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.Initializer"></a>

```typescript
import { DataGoogleDnsRecordSet } from '@dschmidt/provider-google'

new DataGoogleDnsRecordSet(scope: Construct, id: string, config: DataGoogleDnsRecordSetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig">DataGoogleDnsRecordSetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig">DataGoogleDnsRecordSetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.isConstruct"></a>

```typescript
import { DataGoogleDnsRecordSet } from '@dschmidt/provider-google'

DataGoogleDnsRecordSet.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.rrdatas">rrdatas</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.ttl">ttl</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.managedZoneInput">managedZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.managedZone">managedZone</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `rrdatas`<sup>Required</sup> <a name="rrdatas" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.rrdatas"></a>

```typescript
public readonly rrdatas: string[];
```

- *Type:* string[]

---

##### `ttl`<sup>Required</sup> <a name="ttl" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.ttl"></a>

```typescript
public readonly ttl: number;
```

- *Type:* number

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `managedZoneInput`<sup>Optional</sup> <a name="managedZoneInput" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.managedZoneInput"></a>

```typescript
public readonly managedZoneInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `managedZone`<sup>Required</sup> <a name="managedZone" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.managedZone"></a>

```typescript
public readonly managedZone: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSet.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleDnsRecordSet.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleFolder <a name="DataGoogleFolder" id="@dschmidt/provider-google.DataGoogleFolder"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/folder google_folder}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleFolder.Initializer"></a>

```typescript
import { DataGoogleFolder } from '@dschmidt/provider-google'

new DataGoogleFolder(scope: Construct, id: string, config: DataGoogleFolderConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig">DataGoogleFolderConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleFolder.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleFolder.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleFolder.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleFolderConfig">DataGoogleFolderConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.resetLookupOrganization">resetLookupOrganization</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleFolder.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleFolder.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleFolder.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleFolder.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleFolder.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleFolder.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleFolder.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleFolder.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleFolder.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleFolder.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolder.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleFolder.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLookupOrganization` <a name="resetLookupOrganization" id="@dschmidt/provider-google.DataGoogleFolder.resetLookupOrganization"></a>

```typescript
public resetLookupOrganization(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleFolder.isConstruct"></a>

```typescript
import { DataGoogleFolder } from '@dschmidt/provider-google'

DataGoogleFolder.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleFolder.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.folderId">folderId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.lifecycleState">lifecycleState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.organization">organization</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.lookupOrganizationInput">lookupOrganizationInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.lookupOrganization">lookupOrganization</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleFolder.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleFolder.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleFolder.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleFolder.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleFolder.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleFolder.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleFolder.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleFolder.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleFolder.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleFolder.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleFolder.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleFolder.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataGoogleFolder.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleFolder.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `folderId`<sup>Required</sup> <a name="folderId" id="@dschmidt/provider-google.DataGoogleFolder.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

---

##### `lifecycleState`<sup>Required</sup> <a name="lifecycleState" id="@dschmidt/provider-google.DataGoogleFolder.property.lifecycleState"></a>

```typescript
public readonly lifecycleState: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleFolder.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.DataGoogleFolder.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleFolder.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.DataGoogleFolder.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleFolder.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `lookupOrganizationInput`<sup>Optional</sup> <a name="lookupOrganizationInput" id="@dschmidt/provider-google.DataGoogleFolder.property.lookupOrganizationInput"></a>

```typescript
public readonly lookupOrganizationInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.DataGoogleFolder.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleFolder.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `lookupOrganization`<sup>Required</sup> <a name="lookupOrganization" id="@dschmidt/provider-google.DataGoogleFolder.property.lookupOrganization"></a>

```typescript
public readonly lookupOrganization: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolder.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleFolder.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleFolderOrganizationPolicy <a name="DataGoogleFolderOrganizationPolicy" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/folder_organization_policy google_folder_organization_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.Initializer"></a>

```typescript
import { DataGoogleFolderOrganizationPolicy } from '@dschmidt/provider-google'

new DataGoogleFolderOrganizationPolicy(scope: Construct, id: string, config: DataGoogleFolderOrganizationPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig">DataGoogleFolderOrganizationPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig">DataGoogleFolderOrganizationPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.isConstruct"></a>

```typescript
import { DataGoogleFolderOrganizationPolicy } from '@dschmidt/provider-google'

DataGoogleFolderOrganizationPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.booleanPolicy">booleanPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyBooleanPolicyList">DataGoogleFolderOrganizationPolicyBooleanPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.listPolicy">listPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyListPolicyList">DataGoogleFolderOrganizationPolicyListPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.restorePolicy">restorePolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyRestorePolicyList">DataGoogleFolderOrganizationPolicyRestorePolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.version">version</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.constraintInput">constraintInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.constraint">constraint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `booleanPolicy`<sup>Required</sup> <a name="booleanPolicy" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.booleanPolicy"></a>

```typescript
public readonly booleanPolicy: DataGoogleFolderOrganizationPolicyBooleanPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyBooleanPolicyList">DataGoogleFolderOrganizationPolicyBooleanPolicyList</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `listPolicy`<sup>Required</sup> <a name="listPolicy" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.listPolicy"></a>

```typescript
public readonly listPolicy: DataGoogleFolderOrganizationPolicyListPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyListPolicyList">DataGoogleFolderOrganizationPolicyListPolicyList</a>

---

##### `restorePolicy`<sup>Required</sup> <a name="restorePolicy" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: DataGoogleFolderOrganizationPolicyRestorePolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyRestorePolicyList">DataGoogleFolderOrganizationPolicyRestorePolicyList</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

---

##### `constraintInput`<sup>Optional</sup> <a name="constraintInput" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.constraintInput"></a>

```typescript
public readonly constraintInput: string;
```

- *Type:* string

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleFolders <a name="DataGoogleFolders" id="@dschmidt/provider-google.DataGoogleFolders"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/folders google_folders}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleFolders.Initializer"></a>

```typescript
import { DataGoogleFolders } from '@dschmidt/provider-google'

new DataGoogleFolders(scope: Construct, id: string, config: DataGoogleFoldersConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig">DataGoogleFoldersConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleFolders.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleFolders.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleFolders.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleFoldersConfig">DataGoogleFoldersConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleFolders.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleFolders.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleFolders.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleFolders.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleFolders.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleFolders.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleFolders.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleFolders.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleFolders.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleFolders.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleFolders.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleFolders.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleFolders.isConstruct"></a>

```typescript
import { DataGoogleFolders } from '@dschmidt/provider-google'

DataGoogleFolders.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleFolders.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.folders">folders</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleFoldersFoldersList">DataGoogleFoldersFoldersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.parentIdInput">parentIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.parentId">parentId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleFolders.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleFolders.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleFolders.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleFolders.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleFolders.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleFolders.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleFolders.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleFolders.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleFolders.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleFolders.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleFolders.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleFolders.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `folders`<sup>Required</sup> <a name="folders" id="@dschmidt/provider-google.DataGoogleFolders.property.folders"></a>

```typescript
public readonly folders: DataGoogleFoldersFoldersList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleFoldersFoldersList">DataGoogleFoldersFoldersList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleFolders.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentIdInput`<sup>Optional</sup> <a name="parentIdInput" id="@dschmidt/provider-google.DataGoogleFolders.property.parentIdInput"></a>

```typescript
public readonly parentIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleFolders.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parentId`<sup>Required</sup> <a name="parentId" id="@dschmidt/provider-google.DataGoogleFolders.property.parentId"></a>

```typescript
public readonly parentId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolders.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleFolders.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleGameServicesGameServerDeploymentRollout <a name="DataGoogleGameServicesGameServerDeploymentRollout" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/game_services_game_server_deployment_rollout google_game_services_game_server_deployment_rollout}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.Initializer"></a>

```typescript
import { DataGoogleGameServicesGameServerDeploymentRollout } from '@dschmidt/provider-google'

new DataGoogleGameServicesGameServerDeploymentRollout(scope: Construct, id: string, config: DataGoogleGameServicesGameServerDeploymentRolloutConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig">DataGoogleGameServicesGameServerDeploymentRolloutConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig">DataGoogleGameServicesGameServerDeploymentRolloutConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.isConstruct"></a>

```typescript
import { DataGoogleGameServicesGameServerDeploymentRollout } from '@dschmidt/provider-google'

DataGoogleGameServicesGameServerDeploymentRollout.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.defaultGameServerConfig">defaultGameServerConfig</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.gameServerConfigOverrides">gameServerConfigOverrides</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesList">DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.deploymentIdInput">deploymentIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.deploymentId">deploymentId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `defaultGameServerConfig`<sup>Required</sup> <a name="defaultGameServerConfig" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.defaultGameServerConfig"></a>

```typescript
public readonly defaultGameServerConfig: string;
```

- *Type:* string

---

##### `gameServerConfigOverrides`<sup>Required</sup> <a name="gameServerConfigOverrides" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.gameServerConfigOverrides"></a>

```typescript
public readonly gameServerConfigOverrides: DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesList">DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `deploymentIdInput`<sup>Optional</sup> <a name="deploymentIdInput" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.deploymentIdInput"></a>

```typescript
public readonly deploymentIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `deploymentId`<sup>Required</sup> <a name="deploymentId" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.deploymentId"></a>

```typescript
public readonly deploymentId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRollout.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleIamPolicy <a name="DataGoogleIamPolicy" id="@dschmidt/provider-google.DataGoogleIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/iam_policy google_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleIamPolicy.Initializer"></a>

```typescript
import { DataGoogleIamPolicy } from '@dschmidt/provider-google'

new DataGoogleIamPolicy(scope: Construct, id: string, config?: DataGoogleIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig">DataGoogleIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig">DataGoogleIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.putAuditConfig">putAuditConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.putBinding">putBinding</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.resetAuditConfig">resetAuditConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.resetBinding">resetBinding</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAuditConfig` <a name="putAuditConfig" id="@dschmidt/provider-google.DataGoogleIamPolicy.putAuditConfig"></a>

```typescript
public putAuditConfig(value: IResolvable | DataGoogleIamPolicyAuditConfig[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleIamPolicy.putAuditConfig.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig">DataGoogleIamPolicyAuditConfig</a>[]

---

##### `putBinding` <a name="putBinding" id="@dschmidt/provider-google.DataGoogleIamPolicy.putBinding"></a>

```typescript
public putBinding(value: IResolvable | DataGoogleIamPolicyBinding[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleIamPolicy.putBinding.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataGoogleIamPolicyBinding">DataGoogleIamPolicyBinding</a>[]

---

##### `resetAuditConfig` <a name="resetAuditConfig" id="@dschmidt/provider-google.DataGoogleIamPolicy.resetAuditConfig"></a>

```typescript
public resetAuditConfig(): void
```

##### `resetBinding` <a name="resetBinding" id="@dschmidt/provider-google.DataGoogleIamPolicy.resetBinding"></a>

```typescript
public resetBinding(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleIamPolicy.isConstruct"></a>

```typescript
import { DataGoogleIamPolicy } from '@dschmidt/provider-google'

DataGoogleIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.auditConfig">auditConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigList">DataGoogleIamPolicyAuditConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.binding">binding</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyBindingList">DataGoogleIamPolicyBindingList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.auditConfigInput">auditConfigInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig">DataGoogleIamPolicyAuditConfig</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.bindingInput">bindingInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataGoogleIamPolicyBinding">DataGoogleIamPolicyBinding</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `auditConfig`<sup>Required</sup> <a name="auditConfig" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.auditConfig"></a>

```typescript
public readonly auditConfig: DataGoogleIamPolicyAuditConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigList">DataGoogleIamPolicyAuditConfigList</a>

---

##### `binding`<sup>Required</sup> <a name="binding" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.binding"></a>

```typescript
public readonly binding: DataGoogleIamPolicyBindingList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleIamPolicyBindingList">DataGoogleIamPolicyBindingList</a>

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `auditConfigInput`<sup>Optional</sup> <a name="auditConfigInput" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.auditConfigInput"></a>

```typescript
public readonly auditConfigInput: IResolvable | DataGoogleIamPolicyAuditConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig">DataGoogleIamPolicyAuditConfig</a>[]

---

##### `bindingInput`<sup>Optional</sup> <a name="bindingInput" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.bindingInput"></a>

```typescript
public readonly bindingInput: IResolvable | DataGoogleIamPolicyBinding[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataGoogleIamPolicyBinding">DataGoogleIamPolicyBinding</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleIamRole <a name="DataGoogleIamRole" id="@dschmidt/provider-google.DataGoogleIamRole"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/iam_role google_iam_role}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleIamRole.Initializer"></a>

```typescript
import { DataGoogleIamRole } from '@dschmidt/provider-google'

new DataGoogleIamRole(scope: Construct, id: string, config: DataGoogleIamRoleConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig">DataGoogleIamRoleConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleIamRole.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIamRole.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleIamRole.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig">DataGoogleIamRoleConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleIamRole.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleIamRole.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleIamRole.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleIamRole.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleIamRole.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleIamRole.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleIamRole.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleIamRole.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleIamRole.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamRole.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleIamRole.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleIamRole.isConstruct"></a>

```typescript
import { DataGoogleIamRole } from '@dschmidt/provider-google'

DataGoogleIamRole.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleIamRole.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.includedPermissions">includedPermissions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.stage">stage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleIamRole.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleIamRole.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleIamRole.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleIamRole.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleIamRole.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleIamRole.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleIamRole.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleIamRole.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleIamRole.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleIamRole.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleIamRole.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleIamRole.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `includedPermissions`<sup>Required</sup> <a name="includedPermissions" id="@dschmidt/provider-google.DataGoogleIamRole.property.includedPermissions"></a>

```typescript
public readonly includedPermissions: string[];
```

- *Type:* string[]

---

##### `stage`<sup>Required</sup> <a name="stage" id="@dschmidt/provider-google.DataGoogleIamRole.property.stage"></a>

```typescript
public readonly stage: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataGoogleIamRole.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleIamRole.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleIamRole.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIamRole.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleIamRole.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRole.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleIamRole.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleIamTestablePermissions <a name="DataGoogleIamTestablePermissions" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/iam_testable_permissions google_iam_testable_permissions}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.Initializer"></a>

```typescript
import { DataGoogleIamTestablePermissions } from '@dschmidt/provider-google'

new DataGoogleIamTestablePermissions(scope: Construct, id: string, config: DataGoogleIamTestablePermissionsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig">DataGoogleIamTestablePermissionsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig">DataGoogleIamTestablePermissionsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.resetCustomSupportLevel">resetCustomSupportLevel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.resetStages">resetStages</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetCustomSupportLevel` <a name="resetCustomSupportLevel" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.resetCustomSupportLevel"></a>

```typescript
public resetCustomSupportLevel(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.resetId"></a>

```typescript
public resetId(): void
```

##### `resetStages` <a name="resetStages" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.resetStages"></a>

```typescript
public resetStages(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.isConstruct"></a>

```typescript
import { DataGoogleIamTestablePermissions } from '@dschmidt/provider-google'

DataGoogleIamTestablePermissions.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.permissions">permissions</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsPermissionsList">DataGoogleIamTestablePermissionsPermissionsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.customSupportLevelInput">customSupportLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.fullResourceNameInput">fullResourceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.stagesInput">stagesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.customSupportLevel">customSupportLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.fullResourceName">fullResourceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.stages">stages</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `permissions`<sup>Required</sup> <a name="permissions" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.permissions"></a>

```typescript
public readonly permissions: DataGoogleIamTestablePermissionsPermissionsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsPermissionsList">DataGoogleIamTestablePermissionsPermissionsList</a>

---

##### `customSupportLevelInput`<sup>Optional</sup> <a name="customSupportLevelInput" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.customSupportLevelInput"></a>

```typescript
public readonly customSupportLevelInput: string;
```

- *Type:* string

---

##### `fullResourceNameInput`<sup>Optional</sup> <a name="fullResourceNameInput" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.fullResourceNameInput"></a>

```typescript
public readonly fullResourceNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `stagesInput`<sup>Optional</sup> <a name="stagesInput" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.stagesInput"></a>

```typescript
public readonly stagesInput: string[];
```

- *Type:* string[]

---

##### `customSupportLevel`<sup>Required</sup> <a name="customSupportLevel" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.customSupportLevel"></a>

```typescript
public readonly customSupportLevel: string;
```

- *Type:* string

---

##### `fullResourceName`<sup>Required</sup> <a name="fullResourceName" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.fullResourceName"></a>

```typescript
public readonly fullResourceName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `stages`<sup>Required</sup> <a name="stages" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.stages"></a>

```typescript
public readonly stages: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleIamTestablePermissions.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleIapClient <a name="DataGoogleIapClient" id="@dschmidt/provider-google.DataGoogleIapClient"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/iap_client google_iap_client}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleIapClient.Initializer"></a>

```typescript
import { DataGoogleIapClient } from '@dschmidt/provider-google'

new DataGoogleIapClient(scope: Construct, id: string, config: DataGoogleIapClientConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig">DataGoogleIapClientConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleIapClient.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIapClient.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleIapClient.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleIapClientConfig">DataGoogleIapClientConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleIapClient.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleIapClient.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleIapClient.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleIapClient.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleIapClient.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleIapClient.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleIapClient.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleIapClient.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleIapClient.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleIapClient.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleIapClient.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleIapClient.isConstruct"></a>

```typescript
import { DataGoogleIapClient } from '@dschmidt/provider-google'

DataGoogleIapClient.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleIapClient.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.secret">secret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.brandInput">brandInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.clientIdInput">clientIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.brand">brand</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.clientId">clientId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleIapClient.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleIapClient.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleIapClient.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleIapClient.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleIapClient.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleIapClient.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleIapClient.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleIapClient.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleIapClient.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleIapClient.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleIapClient.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleIapClient.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleIapClient.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.DataGoogleIapClient.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

---

##### `brandInput`<sup>Optional</sup> <a name="brandInput" id="@dschmidt/provider-google.DataGoogleIapClient.property.brandInput"></a>

```typescript
public readonly brandInput: string;
```

- *Type:* string

---

##### `clientIdInput`<sup>Optional</sup> <a name="clientIdInput" id="@dschmidt/provider-google.DataGoogleIapClient.property.clientIdInput"></a>

```typescript
public readonly clientIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleIapClient.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `brand`<sup>Required</sup> <a name="brand" id="@dschmidt/provider-google.DataGoogleIapClient.property.brand"></a>

```typescript
public readonly brand: string;
```

- *Type:* string

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.DataGoogleIapClient.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIapClient.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClient.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleIapClient.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleKmsCryptoKey <a name="DataGoogleKmsCryptoKey" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key google_kms_crypto_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.Initializer"></a>

```typescript
import { DataGoogleKmsCryptoKey } from '@dschmidt/provider-google'

new DataGoogleKmsCryptoKey(scope: Construct, id: string, config: DataGoogleKmsCryptoKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig">DataGoogleKmsCryptoKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig">DataGoogleKmsCryptoKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.isConstruct"></a>

```typescript
import { DataGoogleKmsCryptoKey } from '@dschmidt/provider-google'

DataGoogleKmsCryptoKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.destroyScheduledDuration">destroyScheduledDuration</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.importOnly">importOnly</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.purpose">purpose</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.rotationPeriod">rotationPeriod</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.skipInitialVersionCreation">skipInitialVersionCreation</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.versionTemplate">versionTemplate</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionTemplateList">DataGoogleKmsCryptoKeyVersionTemplateList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.keyRingInput">keyRingInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.keyRing">keyRing</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `destroyScheduledDuration`<sup>Required</sup> <a name="destroyScheduledDuration" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.destroyScheduledDuration"></a>

```typescript
public readonly destroyScheduledDuration: string;
```

- *Type:* string

---

##### `importOnly`<sup>Required</sup> <a name="importOnly" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.importOnly"></a>

```typescript
public readonly importOnly: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `purpose`<sup>Required</sup> <a name="purpose" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.purpose"></a>

```typescript
public readonly purpose: string;
```

- *Type:* string

---

##### `rotationPeriod`<sup>Required</sup> <a name="rotationPeriod" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.rotationPeriod"></a>

```typescript
public readonly rotationPeriod: string;
```

- *Type:* string

---

##### `skipInitialVersionCreation`<sup>Required</sup> <a name="skipInitialVersionCreation" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.skipInitialVersionCreation"></a>

```typescript
public readonly skipInitialVersionCreation: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `versionTemplate`<sup>Required</sup> <a name="versionTemplate" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.versionTemplate"></a>

```typescript
public readonly versionTemplate: DataGoogleKmsCryptoKeyVersionTemplateList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionTemplateList">DataGoogleKmsCryptoKeyVersionTemplateList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `keyRingInput`<sup>Optional</sup> <a name="keyRingInput" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.keyRingInput"></a>

```typescript
public readonly keyRingInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `keyRing`<sup>Required</sup> <a name="keyRing" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.keyRing"></a>

```typescript
public readonly keyRing: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleKmsCryptoKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleKmsCryptoKeyVersion <a name="DataGoogleKmsCryptoKeyVersion" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key_version google_kms_crypto_key_version}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.Initializer"></a>

```typescript
import { DataGoogleKmsCryptoKeyVersion } from '@dschmidt/provider-google'

new DataGoogleKmsCryptoKeyVersion(scope: Construct, id: string, config: DataGoogleKmsCryptoKeyVersionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig">DataGoogleKmsCryptoKeyVersionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig">DataGoogleKmsCryptoKeyVersionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.resetVersion">resetVersion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.resetId"></a>

```typescript
public resetId(): void
```

##### `resetVersion` <a name="resetVersion" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.resetVersion"></a>

```typescript
public resetVersion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.isConstruct"></a>

```typescript
import { DataGoogleKmsCryptoKeyVersion } from '@dschmidt/provider-google'

DataGoogleKmsCryptoKeyVersion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.algorithm">algorithm</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.protectionLevel">protectionLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.publicKey">publicKey</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionPublicKeyList">DataGoogleKmsCryptoKeyVersionPublicKeyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.cryptoKeyInput">cryptoKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.versionInput">versionInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.cryptoKey">cryptoKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.version">version</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `algorithm`<sup>Required</sup> <a name="algorithm" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.algorithm"></a>

```typescript
public readonly algorithm: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `protectionLevel`<sup>Required</sup> <a name="protectionLevel" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.protectionLevel"></a>

```typescript
public readonly protectionLevel: string;
```

- *Type:* string

---

##### `publicKey`<sup>Required</sup> <a name="publicKey" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.publicKey"></a>

```typescript
public readonly publicKey: DataGoogleKmsCryptoKeyVersionPublicKeyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionPublicKeyList">DataGoogleKmsCryptoKeyVersionPublicKeyList</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `cryptoKeyInput`<sup>Optional</sup> <a name="cryptoKeyInput" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.cryptoKeyInput"></a>

```typescript
public readonly cryptoKeyInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.versionInput"></a>

```typescript
public readonly versionInput: number;
```

- *Type:* number

---

##### `cryptoKey`<sup>Required</sup> <a name="cryptoKey" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleKmsKeyRing <a name="DataGoogleKmsKeyRing" id="@dschmidt/provider-google.DataGoogleKmsKeyRing"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/kms_key_ring google_kms_key_ring}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.Initializer"></a>

```typescript
import { DataGoogleKmsKeyRing } from '@dschmidt/provider-google'

new DataGoogleKmsKeyRing(scope: Construct, id: string, config: DataGoogleKmsKeyRingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig">DataGoogleKmsKeyRingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig">DataGoogleKmsKeyRingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.isConstruct"></a>

```typescript
import { DataGoogleKmsKeyRing } from '@dschmidt/provider-google'

DataGoogleKmsKeyRing.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRing.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleKmsKeyRing.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleKmsSecret <a name="DataGoogleKmsSecret" id="@dschmidt/provider-google.DataGoogleKmsSecret"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/kms_secret google_kms_secret}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleKmsSecret.Initializer"></a>

```typescript
import { DataGoogleKmsSecret } from '@dschmidt/provider-google'

new DataGoogleKmsSecret(scope: Construct, id: string, config: DataGoogleKmsSecretConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig">DataGoogleKmsSecretConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleKmsSecret.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsSecret.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleKmsSecret.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig">DataGoogleKmsSecretConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.resetAdditionalAuthenticatedData">resetAdditionalAuthenticatedData</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleKmsSecret.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleKmsSecret.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleKmsSecret.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleKmsSecret.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsSecret.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleKmsSecret.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsSecret.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleKmsSecret.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleKmsSecret.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecret.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetAdditionalAuthenticatedData` <a name="resetAdditionalAuthenticatedData" id="@dschmidt/provider-google.DataGoogleKmsSecret.resetAdditionalAuthenticatedData"></a>

```typescript
public resetAdditionalAuthenticatedData(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleKmsSecret.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleKmsSecret.isConstruct"></a>

```typescript
import { DataGoogleKmsSecret } from '@dschmidt/provider-google'

DataGoogleKmsSecret.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleKmsSecret.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.plaintext">plaintext</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.additionalAuthenticatedDataInput">additionalAuthenticatedDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.ciphertextInput">ciphertextInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.cryptoKeyInput">cryptoKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.additionalAuthenticatedData">additionalAuthenticatedData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.ciphertext">ciphertext</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.cryptoKey">cryptoKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `plaintext`<sup>Required</sup> <a name="plaintext" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.plaintext"></a>

```typescript
public readonly plaintext: string;
```

- *Type:* string

---

##### `additionalAuthenticatedDataInput`<sup>Optional</sup> <a name="additionalAuthenticatedDataInput" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.additionalAuthenticatedDataInput"></a>

```typescript
public readonly additionalAuthenticatedDataInput: string;
```

- *Type:* string

---

##### `ciphertextInput`<sup>Optional</sup> <a name="ciphertextInput" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.ciphertextInput"></a>

```typescript
public readonly ciphertextInput: string;
```

- *Type:* string

---

##### `cryptoKeyInput`<sup>Optional</sup> <a name="cryptoKeyInput" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.cryptoKeyInput"></a>

```typescript
public readonly cryptoKeyInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `additionalAuthenticatedData`<sup>Required</sup> <a name="additionalAuthenticatedData" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.additionalAuthenticatedData"></a>

```typescript
public readonly additionalAuthenticatedData: string;
```

- *Type:* string

---

##### `ciphertext`<sup>Required</sup> <a name="ciphertext" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.ciphertext"></a>

```typescript
public readonly ciphertext: string;
```

- *Type:* string

---

##### `cryptoKey`<sup>Required</sup> <a name="cryptoKey" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecret.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleKmsSecret.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleKmsSecretCiphertext <a name="DataGoogleKmsSecretCiphertext" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/kms_secret_ciphertext google_kms_secret_ciphertext}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.Initializer"></a>

```typescript
import { DataGoogleKmsSecretCiphertext } from '@dschmidt/provider-google'

new DataGoogleKmsSecretCiphertext(scope: Construct, id: string, config: DataGoogleKmsSecretCiphertextConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig">DataGoogleKmsSecretCiphertextConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig">DataGoogleKmsSecretCiphertextConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.isConstruct"></a>

```typescript
import { DataGoogleKmsSecretCiphertext } from '@dschmidt/provider-google'

DataGoogleKmsSecretCiphertext.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.ciphertext">ciphertext</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.cryptoKeyInput">cryptoKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.plaintextInput">plaintextInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.cryptoKey">cryptoKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.plaintext">plaintext</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `ciphertext`<sup>Required</sup> <a name="ciphertext" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.ciphertext"></a>

```typescript
public readonly ciphertext: string;
```

- *Type:* string

---

##### `cryptoKeyInput`<sup>Optional</sup> <a name="cryptoKeyInput" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.cryptoKeyInput"></a>

```typescript
public readonly cryptoKeyInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `plaintextInput`<sup>Optional</sup> <a name="plaintextInput" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.plaintextInput"></a>

```typescript
public readonly plaintextInput: string;
```

- *Type:* string

---

##### `cryptoKey`<sup>Required</sup> <a name="cryptoKey" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `plaintext`<sup>Required</sup> <a name="plaintext" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.plaintext"></a>

```typescript
public readonly plaintext: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertext.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleMonitoringAppEngineService <a name="DataGoogleMonitoringAppEngineService" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/monitoring_app_engine_service google_monitoring_app_engine_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.Initializer"></a>

```typescript
import { DataGoogleMonitoringAppEngineService } from '@dschmidt/provider-google'

new DataGoogleMonitoringAppEngineService(scope: Construct, id: string, config: DataGoogleMonitoringAppEngineServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig">DataGoogleMonitoringAppEngineServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig">DataGoogleMonitoringAppEngineServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.isConstruct"></a>

```typescript
import { DataGoogleMonitoringAppEngineService } from '@dschmidt/provider-google'

DataGoogleMonitoringAppEngineService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.telemetry">telemetry</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceTelemetryList">DataGoogleMonitoringAppEngineServiceTelemetryList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.userLabels">userLabels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.moduleIdInput">moduleIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.moduleId">moduleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

##### `telemetry`<sup>Required</sup> <a name="telemetry" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.telemetry"></a>

```typescript
public readonly telemetry: DataGoogleMonitoringAppEngineServiceTelemetryList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceTelemetryList">DataGoogleMonitoringAppEngineServiceTelemetryList</a>

---

##### `userLabels`<sup>Required</sup> <a name="userLabels" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.userLabels"></a>

```typescript
public readonly userLabels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `moduleIdInput`<sup>Optional</sup> <a name="moduleIdInput" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.moduleIdInput"></a>

```typescript
public readonly moduleIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `moduleId`<sup>Required</sup> <a name="moduleId" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.moduleId"></a>

```typescript
public readonly moduleId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleMonitoringClusterIstioService <a name="DataGoogleMonitoringClusterIstioService" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/monitoring_cluster_istio_service google_monitoring_cluster_istio_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.Initializer"></a>

```typescript
import { DataGoogleMonitoringClusterIstioService } from '@dschmidt/provider-google'

new DataGoogleMonitoringClusterIstioService(scope: Construct, id: string, config: DataGoogleMonitoringClusterIstioServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig">DataGoogleMonitoringClusterIstioServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig">DataGoogleMonitoringClusterIstioServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.isConstruct"></a>

```typescript
import { DataGoogleMonitoringClusterIstioService } from '@dschmidt/provider-google'

DataGoogleMonitoringClusterIstioService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.telemetry">telemetry</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceTelemetryList">DataGoogleMonitoringClusterIstioServiceTelemetryList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.userLabels">userLabels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.clusterNameInput">clusterNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceNamespaceInput">serviceNamespaceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.clusterName">clusterName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceNamespace">serviceNamespace</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

##### `telemetry`<sup>Required</sup> <a name="telemetry" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.telemetry"></a>

```typescript
public readonly telemetry: DataGoogleMonitoringClusterIstioServiceTelemetryList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceTelemetryList">DataGoogleMonitoringClusterIstioServiceTelemetryList</a>

---

##### `userLabels`<sup>Required</sup> <a name="userLabels" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.userLabels"></a>

```typescript
public readonly userLabels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `clusterNameInput`<sup>Optional</sup> <a name="clusterNameInput" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.clusterNameInput"></a>

```typescript
public readonly clusterNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceNamespaceInput`<sup>Optional</sup> <a name="serviceNamespaceInput" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceNamespaceInput"></a>

```typescript
public readonly serviceNamespaceInput: string;
```

- *Type:* string

---

##### `clusterName`<sup>Required</sup> <a name="clusterName" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.clusterName"></a>

```typescript
public readonly clusterName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `serviceNamespace`<sup>Required</sup> <a name="serviceNamespace" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.serviceNamespace"></a>

```typescript
public readonly serviceNamespace: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleMonitoringIstioCanonicalService <a name="DataGoogleMonitoringIstioCanonicalService" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/monitoring_istio_canonical_service google_monitoring_istio_canonical_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.Initializer"></a>

```typescript
import { DataGoogleMonitoringIstioCanonicalService } from '@dschmidt/provider-google'

new DataGoogleMonitoringIstioCanonicalService(scope: Construct, id: string, config: DataGoogleMonitoringIstioCanonicalServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig">DataGoogleMonitoringIstioCanonicalServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig">DataGoogleMonitoringIstioCanonicalServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.isConstruct"></a>

```typescript
import { DataGoogleMonitoringIstioCanonicalService } from '@dschmidt/provider-google'

DataGoogleMonitoringIstioCanonicalService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.telemetry">telemetry</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceTelemetryList">DataGoogleMonitoringIstioCanonicalServiceTelemetryList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.userLabels">userLabels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.canonicalServiceInput">canonicalServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.canonicalServiceNamespaceInput">canonicalServiceNamespaceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.meshUidInput">meshUidInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.canonicalService">canonicalService</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.canonicalServiceNamespace">canonicalServiceNamespace</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.meshUid">meshUid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

##### `telemetry`<sup>Required</sup> <a name="telemetry" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.telemetry"></a>

```typescript
public readonly telemetry: DataGoogleMonitoringIstioCanonicalServiceTelemetryList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceTelemetryList">DataGoogleMonitoringIstioCanonicalServiceTelemetryList</a>

---

##### `userLabels`<sup>Required</sup> <a name="userLabels" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.userLabels"></a>

```typescript
public readonly userLabels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `canonicalServiceInput`<sup>Optional</sup> <a name="canonicalServiceInput" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.canonicalServiceInput"></a>

```typescript
public readonly canonicalServiceInput: string;
```

- *Type:* string

---

##### `canonicalServiceNamespaceInput`<sup>Optional</sup> <a name="canonicalServiceNamespaceInput" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.canonicalServiceNamespaceInput"></a>

```typescript
public readonly canonicalServiceNamespaceInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `meshUidInput`<sup>Optional</sup> <a name="meshUidInput" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.meshUidInput"></a>

```typescript
public readonly meshUidInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `canonicalService`<sup>Required</sup> <a name="canonicalService" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.canonicalService"></a>

```typescript
public readonly canonicalService: string;
```

- *Type:* string

---

##### `canonicalServiceNamespace`<sup>Required</sup> <a name="canonicalServiceNamespace" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.canonicalServiceNamespace"></a>

```typescript
public readonly canonicalServiceNamespace: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `meshUid`<sup>Required</sup> <a name="meshUid" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.meshUid"></a>

```typescript
public readonly meshUid: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleMonitoringMeshIstioService <a name="DataGoogleMonitoringMeshIstioService" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/monitoring_mesh_istio_service google_monitoring_mesh_istio_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.Initializer"></a>

```typescript
import { DataGoogleMonitoringMeshIstioService } from '@dschmidt/provider-google'

new DataGoogleMonitoringMeshIstioService(scope: Construct, id: string, config: DataGoogleMonitoringMeshIstioServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig">DataGoogleMonitoringMeshIstioServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig">DataGoogleMonitoringMeshIstioServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.isConstruct"></a>

```typescript
import { DataGoogleMonitoringMeshIstioService } from '@dschmidt/provider-google'

DataGoogleMonitoringMeshIstioService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.telemetry">telemetry</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceTelemetryList">DataGoogleMonitoringMeshIstioServiceTelemetryList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.userLabels">userLabels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.meshUidInput">meshUidInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceNamespaceInput">serviceNamespaceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.meshUid">meshUid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceNamespace">serviceNamespace</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

##### `telemetry`<sup>Required</sup> <a name="telemetry" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.telemetry"></a>

```typescript
public readonly telemetry: DataGoogleMonitoringMeshIstioServiceTelemetryList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceTelemetryList">DataGoogleMonitoringMeshIstioServiceTelemetryList</a>

---

##### `userLabels`<sup>Required</sup> <a name="userLabels" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.userLabels"></a>

```typescript
public readonly userLabels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `meshUidInput`<sup>Optional</sup> <a name="meshUidInput" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.meshUidInput"></a>

```typescript
public readonly meshUidInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceNamespaceInput`<sup>Optional</sup> <a name="serviceNamespaceInput" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceNamespaceInput"></a>

```typescript
public readonly serviceNamespaceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `meshUid`<sup>Required</sup> <a name="meshUid" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.meshUid"></a>

```typescript
public readonly meshUid: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `serviceNamespace`<sup>Required</sup> <a name="serviceNamespace" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.serviceNamespace"></a>

```typescript
public readonly serviceNamespace: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleMonitoringNotificationChannel <a name="DataGoogleMonitoringNotificationChannel" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/monitoring_notification_channel google_monitoring_notification_channel}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.Initializer"></a>

```typescript
import { DataGoogleMonitoringNotificationChannel } from '@dschmidt/provider-google'

new DataGoogleMonitoringNotificationChannel(scope: Construct, id: string, config?: DataGoogleMonitoringNotificationChannelConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig">DataGoogleMonitoringNotificationChannelConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig">DataGoogleMonitoringNotificationChannelConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetType">resetType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetUserLabels">resetUserLabels</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetType"></a>

```typescript
public resetType(): void
```

##### `resetUserLabels` <a name="resetUserLabels" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.resetUserLabels"></a>

```typescript
public resetUserLabels(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.isConstruct"></a>

```typescript
import { DataGoogleMonitoringNotificationChannel } from '@dschmidt/provider-google'

DataGoogleMonitoringNotificationChannel.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.enabled">enabled</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.forceDelete">forceDelete</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.sensitiveLabels">sensitiveLabels</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelSensitiveLabelsList">DataGoogleMonitoringNotificationChannelSensitiveLabelsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.verificationStatus">verificationStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.userLabelsInput">userLabelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.enabled"></a>

```typescript
public readonly enabled: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `forceDelete`<sup>Required</sup> <a name="forceDelete" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.forceDelete"></a>

```typescript
public readonly forceDelete: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `sensitiveLabels`<sup>Required</sup> <a name="sensitiveLabels" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.sensitiveLabels"></a>

```typescript
public readonly sensitiveLabels: DataGoogleMonitoringNotificationChannelSensitiveLabelsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelSensitiveLabelsList">DataGoogleMonitoringNotificationChannelSensitiveLabelsList</a>

---

##### `verificationStatus`<sup>Required</sup> <a name="verificationStatus" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.verificationStatus"></a>

```typescript
public readonly verificationStatus: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `userLabelsInput`<sup>Optional</sup> <a name="userLabelsInput" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.userLabelsInput"></a>

```typescript
public readonly userLabelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `userLabels`<sup>Required</sup> <a name="userLabels" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannel.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleMonitoringUptimeCheckIps <a name="DataGoogleMonitoringUptimeCheckIps" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/monitoring_uptime_check_ips google_monitoring_uptime_check_ips}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.Initializer"></a>

```typescript
import { DataGoogleMonitoringUptimeCheckIps } from '@dschmidt/provider-google'

new DataGoogleMonitoringUptimeCheckIps(scope: Construct, id: string, config?: DataGoogleMonitoringUptimeCheckIpsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig">DataGoogleMonitoringUptimeCheckIpsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig">DataGoogleMonitoringUptimeCheckIpsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.isConstruct"></a>

```typescript
import { DataGoogleMonitoringUptimeCheckIps } from '@dschmidt/provider-google'

DataGoogleMonitoringUptimeCheckIps.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.uptimeCheckIps">uptimeCheckIps</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsUptimeCheckIpsList">DataGoogleMonitoringUptimeCheckIpsUptimeCheckIpsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `uptimeCheckIps`<sup>Required</sup> <a name="uptimeCheckIps" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.uptimeCheckIps"></a>

```typescript
public readonly uptimeCheckIps: DataGoogleMonitoringUptimeCheckIpsUptimeCheckIpsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsUptimeCheckIpsList">DataGoogleMonitoringUptimeCheckIpsUptimeCheckIpsList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIps.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleNetblockIpRanges <a name="DataGoogleNetblockIpRanges" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/netblock_ip_ranges google_netblock_ip_ranges}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.Initializer"></a>

```typescript
import { DataGoogleNetblockIpRanges } from '@dschmidt/provider-google'

new DataGoogleNetblockIpRanges(scope: Construct, id: string, config?: DataGoogleNetblockIpRangesConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig">DataGoogleNetblockIpRangesConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig">DataGoogleNetblockIpRangesConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.resetRangeType">resetRangeType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.resetId"></a>

```typescript
public resetId(): void
```

##### `resetRangeType` <a name="resetRangeType" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.resetRangeType"></a>

```typescript
public resetRangeType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.isConstruct"></a>

```typescript
import { DataGoogleNetblockIpRanges } from '@dschmidt/provider-google'

DataGoogleNetblockIpRanges.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.cidrBlocks">cidrBlocks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.cidrBlocksIpv4">cidrBlocksIpv4</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.cidrBlocksIpv6">cidrBlocksIpv6</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.rangeTypeInput">rangeTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.rangeType">rangeType</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `cidrBlocks`<sup>Required</sup> <a name="cidrBlocks" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.cidrBlocks"></a>

```typescript
public readonly cidrBlocks: string[];
```

- *Type:* string[]

---

##### `cidrBlocksIpv4`<sup>Required</sup> <a name="cidrBlocksIpv4" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.cidrBlocksIpv4"></a>

```typescript
public readonly cidrBlocksIpv4: string[];
```

- *Type:* string[]

---

##### `cidrBlocksIpv6`<sup>Required</sup> <a name="cidrBlocksIpv6" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.cidrBlocksIpv6"></a>

```typescript
public readonly cidrBlocksIpv6: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `rangeTypeInput`<sup>Optional</sup> <a name="rangeTypeInput" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.rangeTypeInput"></a>

```typescript
public readonly rangeTypeInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `rangeType`<sup>Required</sup> <a name="rangeType" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.rangeType"></a>

```typescript
public readonly rangeType: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleNetblockIpRanges.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleOrganization <a name="DataGoogleOrganization" id="@dschmidt/provider-google.DataGoogleOrganization"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/organization google_organization}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleOrganization.Initializer"></a>

```typescript
import { DataGoogleOrganization } from '@dschmidt/provider-google'

new DataGoogleOrganization(scope: Construct, id: string, config?: DataGoogleOrganizationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig">DataGoogleOrganizationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleOrganization.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleOrganization.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleOrganization.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig">DataGoogleOrganizationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.resetDomain">resetDomain</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.resetOrganization">resetOrganization</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleOrganization.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleOrganization.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleOrganization.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleOrganization.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleOrganization.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleOrganization.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleOrganization.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleOrganization.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleOrganization.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleOrganization.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDomain` <a name="resetDomain" id="@dschmidt/provider-google.DataGoogleOrganization.resetDomain"></a>

```typescript
public resetDomain(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleOrganization.resetId"></a>

```typescript
public resetId(): void
```

##### `resetOrganization` <a name="resetOrganization" id="@dschmidt/provider-google.DataGoogleOrganization.resetOrganization"></a>

```typescript
public resetOrganization(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleOrganization.isConstruct"></a>

```typescript
import { DataGoogleOrganization } from '@dschmidt/provider-google'

DataGoogleOrganization.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleOrganization.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.directoryCustomerId">directoryCustomerId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.lifecycleState">lifecycleState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.domainInput">domainInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.organizationInput">organizationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.domain">domain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.organization">organization</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleOrganization.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleOrganization.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleOrganization.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleOrganization.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleOrganization.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleOrganization.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleOrganization.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleOrganization.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleOrganization.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleOrganization.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleOrganization.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleOrganization.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataGoogleOrganization.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `directoryCustomerId`<sup>Required</sup> <a name="directoryCustomerId" id="@dschmidt/provider-google.DataGoogleOrganization.property.directoryCustomerId"></a>

```typescript
public readonly directoryCustomerId: string;
```

- *Type:* string

---

##### `lifecycleState`<sup>Required</sup> <a name="lifecycleState" id="@dschmidt/provider-google.DataGoogleOrganization.property.lifecycleState"></a>

```typescript
public readonly lifecycleState: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleOrganization.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.DataGoogleOrganization.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `domainInput`<sup>Optional</sup> <a name="domainInput" id="@dschmidt/provider-google.DataGoogleOrganization.property.domainInput"></a>

```typescript
public readonly domainInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleOrganization.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `organizationInput`<sup>Optional</sup> <a name="organizationInput" id="@dschmidt/provider-google.DataGoogleOrganization.property.organizationInput"></a>

```typescript
public readonly organizationInput: string;
```

- *Type:* string

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.DataGoogleOrganization.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleOrganization.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.DataGoogleOrganization.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganization.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleOrganization.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGooglePrivatecaCertificateAuthority <a name="DataGooglePrivatecaCertificateAuthority" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/privateca_certificate_authority google_privateca_certificate_authority}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthority } from '@dschmidt/provider-google'

new DataGooglePrivatecaCertificateAuthority(scope: Construct, id: string, config?: DataGooglePrivatecaCertificateAuthorityConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig">DataGooglePrivatecaCertificateAuthorityConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig">DataGooglePrivatecaCertificateAuthorityConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetCertificateAuthorityId">resetCertificateAuthorityId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetPool">resetPool</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetCertificateAuthorityId` <a name="resetCertificateAuthorityId" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetCertificateAuthorityId"></a>

```typescript
public resetCertificateAuthorityId(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetPool` <a name="resetPool" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetPool"></a>

```typescript
public resetPool(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.isConstruct"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthority } from '@dschmidt/provider-google'

DataGooglePrivatecaCertificateAuthority.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.accessUrls">accessUrls</a></code> | <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityAccessUrlsList">DataGooglePrivatecaCertificateAuthorityAccessUrlsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigAList">DataGooglePrivatecaCertificateAuthorityConfigAList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.deletionProtection">deletionProtection</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.desiredState">desiredState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.gcsBucket">gcsBucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.ignoreActiveCertificatesOnDeletion">ignoreActiveCertificatesOnDeletion</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.keySpec">keySpec</a></code> | <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityKeySpecList">DataGooglePrivatecaCertificateAuthorityKeySpecList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.lifetime">lifetime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.pemCaCertificate">pemCaCertificate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.pemCaCertificates">pemCaCertificates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.pemCsr">pemCsr</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.subordinateConfig">subordinateConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthoritySubordinateConfigList">DataGooglePrivatecaCertificateAuthoritySubordinateConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.certificateAuthorityIdInput">certificateAuthorityIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.poolInput">poolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.certificateAuthorityId">certificateAuthorityId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.pool">pool</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `accessUrls`<sup>Required</sup> <a name="accessUrls" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.accessUrls"></a>

```typescript
public readonly accessUrls: DataGooglePrivatecaCertificateAuthorityAccessUrlsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityAccessUrlsList">DataGooglePrivatecaCertificateAuthorityAccessUrlsList</a>

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.config"></a>

```typescript
public readonly config: DataGooglePrivatecaCertificateAuthorityConfigAList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigAList">DataGooglePrivatecaCertificateAuthorityConfigAList</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `desiredState`<sup>Required</sup> <a name="desiredState" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.desiredState"></a>

```typescript
public readonly desiredState: string;
```

- *Type:* string

---

##### `gcsBucket`<sup>Required</sup> <a name="gcsBucket" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.gcsBucket"></a>

```typescript
public readonly gcsBucket: string;
```

- *Type:* string

---

##### `ignoreActiveCertificatesOnDeletion`<sup>Required</sup> <a name="ignoreActiveCertificatesOnDeletion" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.ignoreActiveCertificatesOnDeletion"></a>

```typescript
public readonly ignoreActiveCertificatesOnDeletion: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `keySpec`<sup>Required</sup> <a name="keySpec" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.keySpec"></a>

```typescript
public readonly keySpec: DataGooglePrivatecaCertificateAuthorityKeySpecList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityKeySpecList">DataGooglePrivatecaCertificateAuthorityKeySpecList</a>

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `lifetime`<sup>Required</sup> <a name="lifetime" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.lifetime"></a>

```typescript
public readonly lifetime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `pemCaCertificate`<sup>Required</sup> <a name="pemCaCertificate" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.pemCaCertificate"></a>

```typescript
public readonly pemCaCertificate: string;
```

- *Type:* string

---

##### `pemCaCertificates`<sup>Required</sup> <a name="pemCaCertificates" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.pemCaCertificates"></a>

```typescript
public readonly pemCaCertificates: string[];
```

- *Type:* string[]

---

##### `pemCsr`<sup>Required</sup> <a name="pemCsr" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.pemCsr"></a>

```typescript
public readonly pemCsr: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `subordinateConfig`<sup>Required</sup> <a name="subordinateConfig" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.subordinateConfig"></a>

```typescript
public readonly subordinateConfig: DataGooglePrivatecaCertificateAuthoritySubordinateConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthoritySubordinateConfigList">DataGooglePrivatecaCertificateAuthoritySubordinateConfigList</a>

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `certificateAuthorityIdInput`<sup>Optional</sup> <a name="certificateAuthorityIdInput" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.certificateAuthorityIdInput"></a>

```typescript
public readonly certificateAuthorityIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `poolInput`<sup>Optional</sup> <a name="poolInput" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.poolInput"></a>

```typescript
public readonly poolInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `certificateAuthorityId`<sup>Required</sup> <a name="certificateAuthorityId" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.certificateAuthorityId"></a>

```typescript
public readonly certificateAuthorityId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `pool`<sup>Required</sup> <a name="pool" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.pool"></a>

```typescript
public readonly pool: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthority.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleProject <a name="DataGoogleProject" id="@dschmidt/provider-google.DataGoogleProject"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/project google_project}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleProject.Initializer"></a>

```typescript
import { DataGoogleProject } from '@dschmidt/provider-google'

new DataGoogleProject(scope: Construct, id: string, config?: DataGoogleProjectConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig">DataGoogleProjectConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleProject.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleProject.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleProject.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleProjectConfig">DataGoogleProjectConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.resetProjectId">resetProjectId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleProject.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleProject.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleProject.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleProject.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleProject.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleProject.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleProject.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleProject.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleProject.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleProject.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleProject.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleProject.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleProject.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleProject.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleProject.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleProject.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleProject.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleProject.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleProject.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProject.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleProject.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProjectId` <a name="resetProjectId" id="@dschmidt/provider-google.DataGoogleProject.resetProjectId"></a>

```typescript
public resetProjectId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleProject.isConstruct"></a>

```typescript
import { DataGoogleProject } from '@dschmidt/provider-google'

DataGoogleProject.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleProject.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.autoCreateNetwork">autoCreateNetwork</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.billingAccount">billingAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.folderId">folderId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.number">number</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.skipDelete">skipDelete</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.projectIdInput">projectIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.projectId">projectId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleProject.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleProject.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleProject.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleProject.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleProject.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleProject.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleProject.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleProject.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleProject.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleProject.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleProject.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleProject.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `autoCreateNetwork`<sup>Required</sup> <a name="autoCreateNetwork" id="@dschmidt/provider-google.DataGoogleProject.property.autoCreateNetwork"></a>

```typescript
public readonly autoCreateNetwork: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.DataGoogleProject.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

---

##### `folderId`<sup>Required</sup> <a name="folderId" id="@dschmidt/provider-google.DataGoogleProject.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleProject.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleProject.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `number`<sup>Required</sup> <a name="number" id="@dschmidt/provider-google.DataGoogleProject.property.number"></a>

```typescript
public readonly number: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.DataGoogleProject.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `skipDelete`<sup>Required</sup> <a name="skipDelete" id="@dschmidt/provider-google.DataGoogleProject.property.skipDelete"></a>

```typescript
public readonly skipDelete: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleProject.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectIdInput`<sup>Optional</sup> <a name="projectIdInput" id="@dschmidt/provider-google.DataGoogleProject.property.projectIdInput"></a>

```typescript
public readonly projectIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleProject.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.DataGoogleProject.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProject.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleProject.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleProjectOrganizationPolicy <a name="DataGoogleProjectOrganizationPolicy" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/project_organization_policy google_project_organization_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.Initializer"></a>

```typescript
import { DataGoogleProjectOrganizationPolicy } from '@dschmidt/provider-google'

new DataGoogleProjectOrganizationPolicy(scope: Construct, id: string, config: DataGoogleProjectOrganizationPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig">DataGoogleProjectOrganizationPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig">DataGoogleProjectOrganizationPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.isConstruct"></a>

```typescript
import { DataGoogleProjectOrganizationPolicy } from '@dschmidt/provider-google'

DataGoogleProjectOrganizationPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.booleanPolicy">booleanPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyBooleanPolicyList">DataGoogleProjectOrganizationPolicyBooleanPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.listPolicy">listPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyListPolicyList">DataGoogleProjectOrganizationPolicyListPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.restorePolicy">restorePolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyRestorePolicyList">DataGoogleProjectOrganizationPolicyRestorePolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.version">version</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.constraintInput">constraintInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.constraint">constraint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `booleanPolicy`<sup>Required</sup> <a name="booleanPolicy" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.booleanPolicy"></a>

```typescript
public readonly booleanPolicy: DataGoogleProjectOrganizationPolicyBooleanPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyBooleanPolicyList">DataGoogleProjectOrganizationPolicyBooleanPolicyList</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `listPolicy`<sup>Required</sup> <a name="listPolicy" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.listPolicy"></a>

```typescript
public readonly listPolicy: DataGoogleProjectOrganizationPolicyListPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyListPolicyList">DataGoogleProjectOrganizationPolicyListPolicyList</a>

---

##### `restorePolicy`<sup>Required</sup> <a name="restorePolicy" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: DataGoogleProjectOrganizationPolicyRestorePolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyRestorePolicyList">DataGoogleProjectOrganizationPolicyRestorePolicyList</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

---

##### `constraintInput`<sup>Optional</sup> <a name="constraintInput" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.constraintInput"></a>

```typescript
public readonly constraintInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleProjects <a name="DataGoogleProjects" id="@dschmidt/provider-google.DataGoogleProjects"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/projects google_projects}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleProjects.Initializer"></a>

```typescript
import { DataGoogleProjects } from '@dschmidt/provider-google'

new DataGoogleProjects(scope: Construct, id: string, config: DataGoogleProjectsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig">DataGoogleProjectsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleProjects.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleProjects.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleProjects.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleProjectsConfig">DataGoogleProjectsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleProjects.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleProjects.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleProjects.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleProjects.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleProjects.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleProjects.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleProjects.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleProjects.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleProjects.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleProjects.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleProjects.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleProjects.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleProjects.isConstruct"></a>

```typescript
import { DataGoogleProjects } from '@dschmidt/provider-google'

DataGoogleProjects.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleProjects.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.projects">projects</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleProjectsProjectsList">DataGoogleProjectsProjectsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleProjects.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleProjects.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleProjects.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleProjects.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleProjects.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleProjects.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleProjects.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleProjects.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleProjects.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleProjects.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleProjects.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleProjects.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `projects`<sup>Required</sup> <a name="projects" id="@dschmidt/provider-google.DataGoogleProjects.property.projects"></a>

```typescript
public readonly projects: DataGoogleProjectsProjectsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleProjectsProjectsList">DataGoogleProjectsProjectsList</a>

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.DataGoogleProjects.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleProjects.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.DataGoogleProjects.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleProjects.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjects.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleProjects.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGooglePubsubTopic <a name="DataGooglePubsubTopic" id="@dschmidt/provider-google.DataGooglePubsubTopic"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/pubsub_topic google_pubsub_topic}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGooglePubsubTopic.Initializer"></a>

```typescript
import { DataGooglePubsubTopic } from '@dschmidt/provider-google'

new DataGooglePubsubTopic(scope: Construct, id: string, config: DataGooglePubsubTopicConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig">DataGooglePubsubTopicConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGooglePubsubTopic.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGooglePubsubTopic.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGooglePubsubTopic.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig">DataGooglePubsubTopicConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGooglePubsubTopic.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGooglePubsubTopic.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGooglePubsubTopic.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGooglePubsubTopic.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGooglePubsubTopic.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGooglePubsubTopic.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGooglePubsubTopic.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGooglePubsubTopic.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGooglePubsubTopic.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGooglePubsubTopic.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGooglePubsubTopic.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGooglePubsubTopic.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGooglePubsubTopic.isConstruct"></a>

```typescript
import { DataGooglePubsubTopic } from '@dschmidt/provider-google'

DataGooglePubsubTopic.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGooglePubsubTopic.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.messageRetentionDuration">messageRetentionDuration</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.messageStoragePolicy">messageStoragePolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicMessageStoragePolicyList">DataGooglePubsubTopicMessageStoragePolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.schemaSettings">schemaSettings</a></code> | <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicSchemaSettingsList">DataGooglePubsubTopicSchemaSettingsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `messageRetentionDuration`<sup>Required</sup> <a name="messageRetentionDuration" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.messageRetentionDuration"></a>

```typescript
public readonly messageRetentionDuration: string;
```

- *Type:* string

---

##### `messageStoragePolicy`<sup>Required</sup> <a name="messageStoragePolicy" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.messageStoragePolicy"></a>

```typescript
public readonly messageStoragePolicy: DataGooglePubsubTopicMessageStoragePolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGooglePubsubTopicMessageStoragePolicyList">DataGooglePubsubTopicMessageStoragePolicyList</a>

---

##### `schemaSettings`<sup>Required</sup> <a name="schemaSettings" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.schemaSettings"></a>

```typescript
public readonly schemaSettings: DataGooglePubsubTopicSchemaSettingsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGooglePubsubTopicSchemaSettingsList">DataGooglePubsubTopicSchemaSettingsList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopic.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGooglePubsubTopic.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleRedisInstance <a name="DataGoogleRedisInstance" id="@dschmidt/provider-google.DataGoogleRedisInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/redis_instance google_redis_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleRedisInstance.Initializer"></a>

```typescript
import { DataGoogleRedisInstance } from '@dschmidt/provider-google'

new DataGoogleRedisInstance(scope: Construct, id: string, config: DataGoogleRedisInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig">DataGoogleRedisInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleRedisInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleRedisInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleRedisInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig">DataGoogleRedisInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleRedisInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleRedisInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleRedisInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleRedisInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleRedisInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleRedisInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleRedisInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleRedisInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleRedisInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleRedisInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleRedisInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleRedisInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataGoogleRedisInstance.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleRedisInstance.isConstruct"></a>

```typescript
import { DataGoogleRedisInstance } from '@dschmidt/provider-google'

DataGoogleRedisInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleRedisInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.alternativeLocationId">alternativeLocationId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.authEnabled">authEnabled</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.authorizedNetwork">authorizedNetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.authString">authString</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.connectMode">connectMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.currentLocationId">currentLocationId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.customerManagedKey">customerManagedKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.host">host</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.locationId">locationId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.maintenancePolicy">maintenancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceMaintenancePolicyList">DataGoogleRedisInstanceMaintenancePolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.maintenanceSchedule">maintenanceSchedule</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceMaintenanceScheduleList">DataGoogleRedisInstanceMaintenanceScheduleList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.memorySizeGb">memorySizeGb</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.nodes">nodes</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceNodesList">DataGoogleRedisInstanceNodesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.persistenceIamIdentity">persistenceIamIdentity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.readEndpoint">readEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.readEndpointPort">readEndpointPort</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.readReplicasMode">readReplicasMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.redisConfigs">redisConfigs</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.redisVersion">redisVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.replicaCount">replicaCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.reservedIpRange">reservedIpRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.secondaryIpRange">secondaryIpRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.serverCaCerts">serverCaCerts</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceServerCaCertsList">DataGoogleRedisInstanceServerCaCertsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.tier">tier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.transitEncryptionMode">transitEncryptionMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `alternativeLocationId`<sup>Required</sup> <a name="alternativeLocationId" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.alternativeLocationId"></a>

```typescript
public readonly alternativeLocationId: string;
```

- *Type:* string

---

##### `authEnabled`<sup>Required</sup> <a name="authEnabled" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.authEnabled"></a>

```typescript
public readonly authEnabled: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `authorizedNetwork`<sup>Required</sup> <a name="authorizedNetwork" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.authorizedNetwork"></a>

```typescript
public readonly authorizedNetwork: string;
```

- *Type:* string

---

##### `authString`<sup>Required</sup> <a name="authString" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.authString"></a>

```typescript
public readonly authString: string;
```

- *Type:* string

---

##### `connectMode`<sup>Required</sup> <a name="connectMode" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.connectMode"></a>

```typescript
public readonly connectMode: string;
```

- *Type:* string

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `currentLocationId`<sup>Required</sup> <a name="currentLocationId" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.currentLocationId"></a>

```typescript
public readonly currentLocationId: string;
```

- *Type:* string

---

##### `customerManagedKey`<sup>Required</sup> <a name="customerManagedKey" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.customerManagedKey"></a>

```typescript
public readonly customerManagedKey: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `locationId`<sup>Required</sup> <a name="locationId" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.locationId"></a>

```typescript
public readonly locationId: string;
```

- *Type:* string

---

##### `maintenancePolicy`<sup>Required</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: DataGoogleRedisInstanceMaintenancePolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleRedisInstanceMaintenancePolicyList">DataGoogleRedisInstanceMaintenancePolicyList</a>

---

##### `maintenanceSchedule`<sup>Required</sup> <a name="maintenanceSchedule" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.maintenanceSchedule"></a>

```typescript
public readonly maintenanceSchedule: DataGoogleRedisInstanceMaintenanceScheduleList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleRedisInstanceMaintenanceScheduleList">DataGoogleRedisInstanceMaintenanceScheduleList</a>

---

##### `memorySizeGb`<sup>Required</sup> <a name="memorySizeGb" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.memorySizeGb"></a>

```typescript
public readonly memorySizeGb: number;
```

- *Type:* number

---

##### `nodes`<sup>Required</sup> <a name="nodes" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.nodes"></a>

```typescript
public readonly nodes: DataGoogleRedisInstanceNodesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleRedisInstanceNodesList">DataGoogleRedisInstanceNodesList</a>

---

##### `persistenceIamIdentity`<sup>Required</sup> <a name="persistenceIamIdentity" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.persistenceIamIdentity"></a>

```typescript
public readonly persistenceIamIdentity: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `readEndpoint`<sup>Required</sup> <a name="readEndpoint" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.readEndpoint"></a>

```typescript
public readonly readEndpoint: string;
```

- *Type:* string

---

##### `readEndpointPort`<sup>Required</sup> <a name="readEndpointPort" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.readEndpointPort"></a>

```typescript
public readonly readEndpointPort: number;
```

- *Type:* number

---

##### `readReplicasMode`<sup>Required</sup> <a name="readReplicasMode" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.readReplicasMode"></a>

```typescript
public readonly readReplicasMode: string;
```

- *Type:* string

---

##### `redisConfigs`<sup>Required</sup> <a name="redisConfigs" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.redisConfigs"></a>

```typescript
public readonly redisConfigs: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `redisVersion`<sup>Required</sup> <a name="redisVersion" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.redisVersion"></a>

```typescript
public readonly redisVersion: string;
```

- *Type:* string

---

##### `replicaCount`<sup>Required</sup> <a name="replicaCount" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.replicaCount"></a>

```typescript
public readonly replicaCount: number;
```

- *Type:* number

---

##### `reservedIpRange`<sup>Required</sup> <a name="reservedIpRange" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.reservedIpRange"></a>

```typescript
public readonly reservedIpRange: string;
```

- *Type:* string

---

##### `secondaryIpRange`<sup>Required</sup> <a name="secondaryIpRange" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.secondaryIpRange"></a>

```typescript
public readonly secondaryIpRange: string;
```

- *Type:* string

---

##### `serverCaCerts`<sup>Required</sup> <a name="serverCaCerts" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.serverCaCerts"></a>

```typescript
public readonly serverCaCerts: DataGoogleRedisInstanceServerCaCertsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleRedisInstanceServerCaCertsList">DataGoogleRedisInstanceServerCaCertsList</a>

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

---

##### `transitEncryptionMode`<sup>Required</sup> <a name="transitEncryptionMode" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.transitEncryptionMode"></a>

```typescript
public readonly transitEncryptionMode: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleRedisInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleSecretManagerSecret <a name="DataGoogleSecretManagerSecret" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret google_secret_manager_secret}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecret } from '@dschmidt/provider-google'

new DataGoogleSecretManagerSecret(scope: Construct, id: string, config: DataGoogleSecretManagerSecretConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig">DataGoogleSecretManagerSecretConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig">DataGoogleSecretManagerSecretConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.isConstruct"></a>

```typescript
import { DataGoogleSecretManagerSecret } from '@dschmidt/provider-google'

DataGoogleSecretManagerSecret.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.expireTime">expireTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.replication">replication</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretReplicationList">DataGoogleSecretManagerSecretReplicationList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.rotation">rotation</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretRotationList">DataGoogleSecretManagerSecretRotationList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.topics">topics</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretTopicsList">DataGoogleSecretManagerSecretTopicsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.ttl">ttl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.secretIdInput">secretIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.secretId">secretId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `expireTime`<sup>Required</sup> <a name="expireTime" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.expireTime"></a>

```typescript
public readonly expireTime: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `replication`<sup>Required</sup> <a name="replication" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.replication"></a>

```typescript
public readonly replication: DataGoogleSecretManagerSecretReplicationList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretReplicationList">DataGoogleSecretManagerSecretReplicationList</a>

---

##### `rotation`<sup>Required</sup> <a name="rotation" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.rotation"></a>

```typescript
public readonly rotation: DataGoogleSecretManagerSecretRotationList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretRotationList">DataGoogleSecretManagerSecretRotationList</a>

---

##### `topics`<sup>Required</sup> <a name="topics" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.topics"></a>

```typescript
public readonly topics: DataGoogleSecretManagerSecretTopicsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretTopicsList">DataGoogleSecretManagerSecretTopicsList</a>

---

##### `ttl`<sup>Required</sup> <a name="ttl" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.ttl"></a>

```typescript
public readonly ttl: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `secretIdInput`<sup>Optional</sup> <a name="secretIdInput" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.secretIdInput"></a>

```typescript
public readonly secretIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleSecretManagerSecret.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleSecretManagerSecretVersion <a name="DataGoogleSecretManagerSecretVersion" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret_version google_secret_manager_secret_version}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecretVersion } from '@dschmidt/provider-google'

new DataGoogleSecretManagerSecretVersion(scope: Construct, id: string, config: DataGoogleSecretManagerSecretVersionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig">DataGoogleSecretManagerSecretVersionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig">DataGoogleSecretManagerSecretVersionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.resetVersion">resetVersion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetVersion` <a name="resetVersion" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.resetVersion"></a>

```typescript
public resetVersion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.isConstruct"></a>

```typescript
import { DataGoogleSecretManagerSecretVersion } from '@dschmidt/provider-google'

DataGoogleSecretManagerSecretVersion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.destroyTime">destroyTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.enabled">enabled</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.secretData">secretData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.secretInput">secretInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.versionInput">versionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.secret">secret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.version">version</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `destroyTime`<sup>Required</sup> <a name="destroyTime" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.destroyTime"></a>

```typescript
public readonly destroyTime: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.enabled"></a>

```typescript
public readonly enabled: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `secretData`<sup>Required</sup> <a name="secretData" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.secretData"></a>

```typescript
public readonly secretData: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `secretInput`<sup>Optional</sup> <a name="secretInput" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.secretInput"></a>

```typescript
public readonly secretInput: string;
```

- *Type:* string

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.versionInput"></a>

```typescript
public readonly versionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleServiceAccount <a name="DataGoogleServiceAccount" id="@dschmidt/provider-google.DataGoogleServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/service_account google_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleServiceAccount.Initializer"></a>

```typescript
import { DataGoogleServiceAccount } from '@dschmidt/provider-google'

new DataGoogleServiceAccount(scope: Construct, id: string, config: DataGoogleServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig">DataGoogleServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig">DataGoogleServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleServiceAccount.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleServiceAccount.isConstruct"></a>

```typescript
import { DataGoogleServiceAccount } from '@dschmidt/provider-google'

DataGoogleServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.uniqueId">uniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.accountIdInput">accountIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.accountId">accountId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `uniqueId`<sup>Required</sup> <a name="uniqueId" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.uniqueId"></a>

```typescript
public readonly uniqueId: string;
```

- *Type:* string

---

##### `accountIdInput`<sup>Optional</sup> <a name="accountIdInput" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.accountIdInput"></a>

```typescript
public readonly accountIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `accountId`<sup>Required</sup> <a name="accountId" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.accountId"></a>

```typescript
public readonly accountId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleServiceAccountAccessToken <a name="DataGoogleServiceAccountAccessToken" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token google_service_account_access_token}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.Initializer"></a>

```typescript
import { DataGoogleServiceAccountAccessToken } from '@dschmidt/provider-google'

new DataGoogleServiceAccountAccessToken(scope: Construct, id: string, config: DataGoogleServiceAccountAccessTokenConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig">DataGoogleServiceAccountAccessTokenConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig">DataGoogleServiceAccountAccessTokenConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.resetDelegates">resetDelegates</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.resetLifetime">resetLifetime</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDelegates` <a name="resetDelegates" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.resetDelegates"></a>

```typescript
public resetDelegates(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLifetime` <a name="resetLifetime" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.resetLifetime"></a>

```typescript
public resetLifetime(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.isConstruct"></a>

```typescript
import { DataGoogleServiceAccountAccessToken } from '@dschmidt/provider-google'

DataGoogleServiceAccountAccessToken.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.accessToken">accessToken</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.delegatesInput">delegatesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.lifetimeInput">lifetimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.scopesInput">scopesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.targetServiceAccountInput">targetServiceAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.delegates">delegates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.lifetime">lifetime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.scopes">scopes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.targetServiceAccount">targetServiceAccount</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `accessToken`<sup>Required</sup> <a name="accessToken" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.accessToken"></a>

```typescript
public readonly accessToken: string;
```

- *Type:* string

---

##### `delegatesInput`<sup>Optional</sup> <a name="delegatesInput" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.delegatesInput"></a>

```typescript
public readonly delegatesInput: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `lifetimeInput`<sup>Optional</sup> <a name="lifetimeInput" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.lifetimeInput"></a>

```typescript
public readonly lifetimeInput: string;
```

- *Type:* string

---

##### `scopesInput`<sup>Optional</sup> <a name="scopesInput" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.scopesInput"></a>

```typescript
public readonly scopesInput: string[];
```

- *Type:* string[]

---

##### `targetServiceAccountInput`<sup>Optional</sup> <a name="targetServiceAccountInput" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.targetServiceAccountInput"></a>

```typescript
public readonly targetServiceAccountInput: string;
```

- *Type:* string

---

##### `delegates`<sup>Required</sup> <a name="delegates" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.delegates"></a>

```typescript
public readonly delegates: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `lifetime`<sup>Required</sup> <a name="lifetime" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.lifetime"></a>

```typescript
public readonly lifetime: string;
```

- *Type:* string

---

##### `scopes`<sup>Required</sup> <a name="scopes" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.scopes"></a>

```typescript
public readonly scopes: string[];
```

- *Type:* string[]

---

##### `targetServiceAccount`<sup>Required</sup> <a name="targetServiceAccount" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.targetServiceAccount"></a>

```typescript
public readonly targetServiceAccount: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessToken.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleServiceAccountIdToken <a name="DataGoogleServiceAccountIdToken" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token google_service_account_id_token}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.Initializer"></a>

```typescript
import { DataGoogleServiceAccountIdToken } from '@dschmidt/provider-google'

new DataGoogleServiceAccountIdToken(scope: Construct, id: string, config: DataGoogleServiceAccountIdTokenConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig">DataGoogleServiceAccountIdTokenConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig">DataGoogleServiceAccountIdTokenConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetDelegates">resetDelegates</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetIncludeEmail">resetIncludeEmail</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetTargetServiceAccount">resetTargetServiceAccount</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDelegates` <a name="resetDelegates" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetDelegates"></a>

```typescript
public resetDelegates(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIncludeEmail` <a name="resetIncludeEmail" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetIncludeEmail"></a>

```typescript
public resetIncludeEmail(): void
```

##### `resetTargetServiceAccount` <a name="resetTargetServiceAccount" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.resetTargetServiceAccount"></a>

```typescript
public resetTargetServiceAccount(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.isConstruct"></a>

```typescript
import { DataGoogleServiceAccountIdToken } from '@dschmidt/provider-google'

DataGoogleServiceAccountIdToken.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.idToken">idToken</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.delegatesInput">delegatesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.includeEmailInput">includeEmailInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.targetAudienceInput">targetAudienceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.targetServiceAccountInput">targetServiceAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.delegates">delegates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.includeEmail">includeEmail</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.targetAudience">targetAudience</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.targetServiceAccount">targetServiceAccount</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `idToken`<sup>Required</sup> <a name="idToken" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.idToken"></a>

```typescript
public readonly idToken: string;
```

- *Type:* string

---

##### `delegatesInput`<sup>Optional</sup> <a name="delegatesInput" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.delegatesInput"></a>

```typescript
public readonly delegatesInput: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `includeEmailInput`<sup>Optional</sup> <a name="includeEmailInput" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.includeEmailInput"></a>

```typescript
public readonly includeEmailInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `targetAudienceInput`<sup>Optional</sup> <a name="targetAudienceInput" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.targetAudienceInput"></a>

```typescript
public readonly targetAudienceInput: string;
```

- *Type:* string

---

##### `targetServiceAccountInput`<sup>Optional</sup> <a name="targetServiceAccountInput" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.targetServiceAccountInput"></a>

```typescript
public readonly targetServiceAccountInput: string;
```

- *Type:* string

---

##### `delegates`<sup>Required</sup> <a name="delegates" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.delegates"></a>

```typescript
public readonly delegates: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `includeEmail`<sup>Required</sup> <a name="includeEmail" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.includeEmail"></a>

```typescript
public readonly includeEmail: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `targetAudience`<sup>Required</sup> <a name="targetAudience" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.targetAudience"></a>

```typescript
public readonly targetAudience: string;
```

- *Type:* string

---

##### `targetServiceAccount`<sup>Required</sup> <a name="targetServiceAccount" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.targetServiceAccount"></a>

```typescript
public readonly targetServiceAccount: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccountIdToken.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleServiceAccountJwt <a name="DataGoogleServiceAccountJwt" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/service_account_jwt google_service_account_jwt}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.Initializer"></a>

```typescript
import { DataGoogleServiceAccountJwt } from '@dschmidt/provider-google'

new DataGoogleServiceAccountJwt(scope: Construct, id: string, config: DataGoogleServiceAccountJwtConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig">DataGoogleServiceAccountJwtConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig">DataGoogleServiceAccountJwtConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.resetDelegates">resetDelegates</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDelegates` <a name="resetDelegates" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.resetDelegates"></a>

```typescript
public resetDelegates(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.isConstruct"></a>

```typescript
import { DataGoogleServiceAccountJwt } from '@dschmidt/provider-google'

DataGoogleServiceAccountJwt.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.jwt">jwt</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.delegatesInput">delegatesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.payloadInput">payloadInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.targetServiceAccountInput">targetServiceAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.delegates">delegates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.payload">payload</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.targetServiceAccount">targetServiceAccount</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `jwt`<sup>Required</sup> <a name="jwt" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.jwt"></a>

```typescript
public readonly jwt: string;
```

- *Type:* string

---

##### `delegatesInput`<sup>Optional</sup> <a name="delegatesInput" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.delegatesInput"></a>

```typescript
public readonly delegatesInput: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `payloadInput`<sup>Optional</sup> <a name="payloadInput" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.payloadInput"></a>

```typescript
public readonly payloadInput: string;
```

- *Type:* string

---

##### `targetServiceAccountInput`<sup>Optional</sup> <a name="targetServiceAccountInput" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.targetServiceAccountInput"></a>

```typescript
public readonly targetServiceAccountInput: string;
```

- *Type:* string

---

##### `delegates`<sup>Required</sup> <a name="delegates" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.delegates"></a>

```typescript
public readonly delegates: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `payload`<sup>Required</sup> <a name="payload" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.payload"></a>

```typescript
public readonly payload: string;
```

- *Type:* string

---

##### `targetServiceAccount`<sup>Required</sup> <a name="targetServiceAccount" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.targetServiceAccount"></a>

```typescript
public readonly targetServiceAccount: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccountJwt.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleServiceAccountKey <a name="DataGoogleServiceAccountKey" id="@dschmidt/provider-google.DataGoogleServiceAccountKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/service_account_key google_service_account_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.Initializer"></a>

```typescript
import { DataGoogleServiceAccountKey } from '@dschmidt/provider-google'

new DataGoogleServiceAccountKey(scope: Construct, id: string, config: DataGoogleServiceAccountKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig">DataGoogleServiceAccountKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig">DataGoogleServiceAccountKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.resetPublicKeyType">resetPublicKeyType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPublicKeyType` <a name="resetPublicKeyType" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.resetPublicKeyType"></a>

```typescript
public resetPublicKeyType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.isConstruct"></a>

```typescript
import { DataGoogleServiceAccountKey } from '@dschmidt/provider-google'

DataGoogleServiceAccountKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.keyAlgorithm">keyAlgorithm</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.publicKey">publicKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.publicKeyTypeInput">publicKeyTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.publicKeyType">publicKeyType</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `keyAlgorithm`<sup>Required</sup> <a name="keyAlgorithm" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.keyAlgorithm"></a>

```typescript
public readonly keyAlgorithm: string;
```

- *Type:* string

---

##### `publicKey`<sup>Required</sup> <a name="publicKey" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.publicKey"></a>

```typescript
public readonly publicKey: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `publicKeyTypeInput`<sup>Optional</sup> <a name="publicKeyTypeInput" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.publicKeyTypeInput"></a>

```typescript
public readonly publicKeyTypeInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `publicKeyType`<sup>Required</sup> <a name="publicKeyType" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.publicKeyType"></a>

```typescript
public readonly publicKeyType: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleServiceAccountKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleServiceNetworkingPeeredDnsDomain <a name="DataGoogleServiceNetworkingPeeredDnsDomain" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain google_service_networking_peered_dns_domain}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.Initializer"></a>

```typescript
import { DataGoogleServiceNetworkingPeeredDnsDomain } from '@dschmidt/provider-google'

new DataGoogleServiceNetworkingPeeredDnsDomain(scope: Construct, id: string, config: DataGoogleServiceNetworkingPeeredDnsDomainConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig">DataGoogleServiceNetworkingPeeredDnsDomainConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig">DataGoogleServiceNetworkingPeeredDnsDomainConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.isConstruct"></a>

```typescript
import { DataGoogleServiceNetworkingPeeredDnsDomain } from '@dschmidt/provider-google'

DataGoogleServiceNetworkingPeeredDnsDomain.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.dnsSuffix">dnsSuffix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `dnsSuffix`<sup>Required</sup> <a name="dnsSuffix" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.dnsSuffix"></a>

```typescript
public readonly dnsSuffix: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomain.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleSourcerepoRepository <a name="DataGoogleSourcerepoRepository" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/sourcerepo_repository google_sourcerepo_repository}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.Initializer"></a>

```typescript
import { DataGoogleSourcerepoRepository } from '@dschmidt/provider-google'

new DataGoogleSourcerepoRepository(scope: Construct, id: string, config: DataGoogleSourcerepoRepositoryConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig">DataGoogleSourcerepoRepositoryConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig">DataGoogleSourcerepoRepositoryConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.isConstruct"></a>

```typescript
import { DataGoogleSourcerepoRepository } from '@dschmidt/provider-google'

DataGoogleSourcerepoRepository.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.pubsubConfigs">pubsubConfigs</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryPubsubConfigsList">DataGoogleSourcerepoRepositoryPubsubConfigsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.url">url</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `pubsubConfigs`<sup>Required</sup> <a name="pubsubConfigs" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.pubsubConfigs"></a>

```typescript
public readonly pubsubConfigs: DataGoogleSourcerepoRepositoryPubsubConfigsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryPubsubConfigsList">DataGoogleSourcerepoRepositoryPubsubConfigsList</a>

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleSourcerepoRepository.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleSpannerInstance <a name="DataGoogleSpannerInstance" id="@dschmidt/provider-google.DataGoogleSpannerInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/spanner_instance google_spanner_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleSpannerInstance.Initializer"></a>

```typescript
import { DataGoogleSpannerInstance } from '@dschmidt/provider-google'

new DataGoogleSpannerInstance(scope: Construct, id: string, config: DataGoogleSpannerInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig">DataGoogleSpannerInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleSpannerInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSpannerInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleSpannerInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig">DataGoogleSpannerInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.resetConfig">resetConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleSpannerInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleSpannerInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleSpannerInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleSpannerInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleSpannerInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleSpannerInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleSpannerInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleSpannerInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleSpannerInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSpannerInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetConfig` <a name="resetConfig" id="@dschmidt/provider-google.DataGoogleSpannerInstance.resetConfig"></a>

```typescript
public resetConfig(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataGoogleSpannerInstance.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleSpannerInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleSpannerInstance.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleSpannerInstance.isConstruct"></a>

```typescript
import { DataGoogleSpannerInstance } from '@dschmidt/provider-google'

DataGoogleSpannerInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleSpannerInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.forceDestroy">forceDestroy</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.numNodes">numNodes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.processingUnits">processingUnits</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.configInput">configInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.config">config</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `forceDestroy`<sup>Required</sup> <a name="forceDestroy" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.forceDestroy"></a>

```typescript
public readonly forceDestroy: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `numNodes`<sup>Required</sup> <a name="numNodes" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.numNodes"></a>

```typescript
public readonly numNodes: number;
```

- *Type:* number

---

##### `processingUnits`<sup>Required</sup> <a name="processingUnits" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.processingUnits"></a>

```typescript
public readonly processingUnits: number;
```

- *Type:* number

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `configInput`<sup>Optional</sup> <a name="configInput" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.configInput"></a>

```typescript
public readonly configInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.config"></a>

```typescript
public readonly config: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleSpannerInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleSqlBackupRun <a name="DataGoogleSqlBackupRun" id="@dschmidt/provider-google.DataGoogleSqlBackupRun"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/sql_backup_run google_sql_backup_run}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.Initializer"></a>

```typescript
import { DataGoogleSqlBackupRun } from '@dschmidt/provider-google'

new DataGoogleSqlBackupRun(scope: Construct, id: string, config: DataGoogleSqlBackupRunConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig">DataGoogleSqlBackupRunConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig">DataGoogleSqlBackupRunConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.resetBackupId">resetBackupId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.resetMostRecent">resetMostRecent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetBackupId` <a name="resetBackupId" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.resetBackupId"></a>

```typescript
public resetBackupId(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMostRecent` <a name="resetMostRecent" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.resetMostRecent"></a>

```typescript
public resetMostRecent(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.isConstruct"></a>

```typescript
import { DataGoogleSqlBackupRun } from '@dschmidt/provider-google'

DataGoogleSqlBackupRun.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.startTime">startTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.status">status</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.backupIdInput">backupIdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.mostRecentInput">mostRecentInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.backupId">backupId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.mostRecent">mostRecent</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

---

##### `backupIdInput`<sup>Optional</sup> <a name="backupIdInput" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.backupIdInput"></a>

```typescript
public readonly backupIdInput: number;
```

- *Type:* number

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `mostRecentInput`<sup>Optional</sup> <a name="mostRecentInput" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.mostRecentInput"></a>

```typescript
public readonly mostRecentInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `backupId`<sup>Required</sup> <a name="backupId" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.backupId"></a>

```typescript
public readonly backupId: number;
```

- *Type:* number

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `mostRecent`<sup>Required</sup> <a name="mostRecent" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.mostRecent"></a>

```typescript
public readonly mostRecent: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRun.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleSqlBackupRun.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleSqlCaCerts <a name="DataGoogleSqlCaCerts" id="@dschmidt/provider-google.DataGoogleSqlCaCerts"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/sql_ca_certs google_sql_ca_certs}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.Initializer"></a>

```typescript
import { DataGoogleSqlCaCerts } from '@dschmidt/provider-google'

new DataGoogleSqlCaCerts(scope: Construct, id: string, config: DataGoogleSqlCaCertsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig">DataGoogleSqlCaCertsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig">DataGoogleSqlCaCertsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.isConstruct"></a>

```typescript
import { DataGoogleSqlCaCerts } from '@dschmidt/provider-google'

DataGoogleSqlCaCerts.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.activeVersion">activeVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.certs">certs</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsCertsList">DataGoogleSqlCaCertsCertsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `activeVersion`<sup>Required</sup> <a name="activeVersion" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.activeVersion"></a>

```typescript
public readonly activeVersion: string;
```

- *Type:* string

---

##### `certs`<sup>Required</sup> <a name="certs" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.certs"></a>

```typescript
public readonly certs: DataGoogleSqlCaCertsCertsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsCertsList">DataGoogleSqlCaCertsCertsList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCerts.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleSqlCaCerts.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleSqlDatabaseInstance <a name="DataGoogleSqlDatabaseInstance" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/sql_database_instance google_sql_database_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstance } from '@dschmidt/provider-google'

new DataGoogleSqlDatabaseInstance(scope: Construct, id: string, config: DataGoogleSqlDatabaseInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig">DataGoogleSqlDatabaseInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig">DataGoogleSqlDatabaseInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.isConstruct"></a>

```typescript
import { DataGoogleSqlDatabaseInstance } from '@dschmidt/provider-google'

DataGoogleSqlDatabaseInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.clone">clone</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceCloneList">DataGoogleSqlDatabaseInstanceCloneList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.connectionName">connectionName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.databaseVersion">databaseVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.deletionProtection">deletionProtection</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.encryptionKeyName">encryptionKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.firstIpAddress">firstIpAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.ipAddress">ipAddress</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceIpAddressList">DataGoogleSqlDatabaseInstanceIpAddressList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.masterInstanceName">masterInstanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.privateIpAddress">privateIpAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.publicIpAddress">publicIpAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.replicaConfiguration">replicaConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceReplicaConfigurationList">DataGoogleSqlDatabaseInstanceReplicaConfigurationList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.restoreBackupContext">restoreBackupContext</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceRestoreBackupContextList">DataGoogleSqlDatabaseInstanceRestoreBackupContextList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.rootPassword">rootPassword</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.serverCaCert">serverCaCert</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceServerCaCertList">DataGoogleSqlDatabaseInstanceServerCaCertList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.serviceAccountEmailAddress">serviceAccountEmailAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.settings">settings</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsList">DataGoogleSqlDatabaseInstanceSettingsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `clone`<sup>Required</sup> <a name="clone" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.clone"></a>

```typescript
public readonly clone: DataGoogleSqlDatabaseInstanceCloneList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceCloneList">DataGoogleSqlDatabaseInstanceCloneList</a>

---

##### `connectionName`<sup>Required</sup> <a name="connectionName" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.connectionName"></a>

```typescript
public readonly connectionName: string;
```

- *Type:* string

---

##### `databaseVersion`<sup>Required</sup> <a name="databaseVersion" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.databaseVersion"></a>

```typescript
public readonly databaseVersion: string;
```

- *Type:* string

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `encryptionKeyName`<sup>Required</sup> <a name="encryptionKeyName" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.encryptionKeyName"></a>

```typescript
public readonly encryptionKeyName: string;
```

- *Type:* string

---

##### `firstIpAddress`<sup>Required</sup> <a name="firstIpAddress" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.firstIpAddress"></a>

```typescript
public readonly firstIpAddress: string;
```

- *Type:* string

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.ipAddress"></a>

```typescript
public readonly ipAddress: DataGoogleSqlDatabaseInstanceIpAddressList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceIpAddressList">DataGoogleSqlDatabaseInstanceIpAddressList</a>

---

##### `masterInstanceName`<sup>Required</sup> <a name="masterInstanceName" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.masterInstanceName"></a>

```typescript
public readonly masterInstanceName: string;
```

- *Type:* string

---

##### `privateIpAddress`<sup>Required</sup> <a name="privateIpAddress" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.privateIpAddress"></a>

```typescript
public readonly privateIpAddress: string;
```

- *Type:* string

---

##### `publicIpAddress`<sup>Required</sup> <a name="publicIpAddress" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.publicIpAddress"></a>

```typescript
public readonly publicIpAddress: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `replicaConfiguration`<sup>Required</sup> <a name="replicaConfiguration" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.replicaConfiguration"></a>

```typescript
public readonly replicaConfiguration: DataGoogleSqlDatabaseInstanceReplicaConfigurationList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceReplicaConfigurationList">DataGoogleSqlDatabaseInstanceReplicaConfigurationList</a>

---

##### `restoreBackupContext`<sup>Required</sup> <a name="restoreBackupContext" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.restoreBackupContext"></a>

```typescript
public readonly restoreBackupContext: DataGoogleSqlDatabaseInstanceRestoreBackupContextList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceRestoreBackupContextList">DataGoogleSqlDatabaseInstanceRestoreBackupContextList</a>

---

##### `rootPassword`<sup>Required</sup> <a name="rootPassword" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.rootPassword"></a>

```typescript
public readonly rootPassword: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serverCaCert`<sup>Required</sup> <a name="serverCaCert" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.serverCaCert"></a>

```typescript
public readonly serverCaCert: DataGoogleSqlDatabaseInstanceServerCaCertList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceServerCaCertList">DataGoogleSqlDatabaseInstanceServerCaCertList</a>

---

##### `serviceAccountEmailAddress`<sup>Required</sup> <a name="serviceAccountEmailAddress" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.serviceAccountEmailAddress"></a>

```typescript
public readonly serviceAccountEmailAddress: string;
```

- *Type:* string

---

##### `settings`<sup>Required</sup> <a name="settings" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.settings"></a>

```typescript
public readonly settings: DataGoogleSqlDatabaseInstanceSettingsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsList">DataGoogleSqlDatabaseInstanceSettingsList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleStorageBucket <a name="DataGoogleStorageBucket" id="@dschmidt/provider-google.DataGoogleStorageBucket"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/storage_bucket google_storage_bucket}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleStorageBucket.Initializer"></a>

```typescript
import { DataGoogleStorageBucket } from '@dschmidt/provider-google'

new DataGoogleStorageBucket(scope: Construct, id: string, config: DataGoogleStorageBucketConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig">DataGoogleStorageBucketConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleStorageBucket.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageBucket.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleStorageBucket.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig">DataGoogleStorageBucketConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleStorageBucket.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleStorageBucket.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleStorageBucket.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleStorageBucket.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageBucket.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleStorageBucket.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageBucket.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleStorageBucket.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleStorageBucket.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucket.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleStorageBucket.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleStorageBucket.isConstruct"></a>

```typescript
import { DataGoogleStorageBucket } from '@dschmidt/provider-google'

DataGoogleStorageBucket.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleStorageBucket.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.cors">cors</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketCorsList">DataGoogleStorageBucketCorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.defaultEventBasedHold">defaultEventBasedHold</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.encryption">encryption</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketEncryptionList">DataGoogleStorageBucketEncryptionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.forceDestroy">forceDestroy</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.labels">labels</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.lifecycleRule">lifecycleRule</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketLifecycleRuleList">DataGoogleStorageBucketLifecycleRuleList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.logging">logging</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketLoggingList">DataGoogleStorageBucketLoggingList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.requesterPays">requesterPays</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.retentionPolicy">retentionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketRetentionPolicyList">DataGoogleStorageBucketRetentionPolicyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.storageClass">storageClass</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.uniformBucketLevelAccess">uniformBucketLevelAccess</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.url">url</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.versioning">versioning</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketVersioningList">DataGoogleStorageBucketVersioningList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.website">website</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketWebsiteList">DataGoogleStorageBucketWebsiteList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `cors`<sup>Required</sup> <a name="cors" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.cors"></a>

```typescript
public readonly cors: DataGoogleStorageBucketCorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketCorsList">DataGoogleStorageBucketCorsList</a>

---

##### `defaultEventBasedHold`<sup>Required</sup> <a name="defaultEventBasedHold" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.defaultEventBasedHold"></a>

```typescript
public readonly defaultEventBasedHold: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `encryption`<sup>Required</sup> <a name="encryption" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.encryption"></a>

```typescript
public readonly encryption: DataGoogleStorageBucketEncryptionList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketEncryptionList">DataGoogleStorageBucketEncryptionList</a>

---

##### `forceDestroy`<sup>Required</sup> <a name="forceDestroy" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.forceDestroy"></a>

```typescript
public readonly forceDestroy: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.labels"></a>

```typescript
public readonly labels: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `lifecycleRule`<sup>Required</sup> <a name="lifecycleRule" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.lifecycleRule"></a>

```typescript
public readonly lifecycleRule: DataGoogleStorageBucketLifecycleRuleList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketLifecycleRuleList">DataGoogleStorageBucketLifecycleRuleList</a>

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `logging`<sup>Required</sup> <a name="logging" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.logging"></a>

```typescript
public readonly logging: DataGoogleStorageBucketLoggingList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketLoggingList">DataGoogleStorageBucketLoggingList</a>

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `requesterPays`<sup>Required</sup> <a name="requesterPays" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.requesterPays"></a>

```typescript
public readonly requesterPays: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `retentionPolicy`<sup>Required</sup> <a name="retentionPolicy" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.retentionPolicy"></a>

```typescript
public readonly retentionPolicy: DataGoogleStorageBucketRetentionPolicyList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketRetentionPolicyList">DataGoogleStorageBucketRetentionPolicyList</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `storageClass`<sup>Required</sup> <a name="storageClass" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.storageClass"></a>

```typescript
public readonly storageClass: string;
```

- *Type:* string

---

##### `uniformBucketLevelAccess`<sup>Required</sup> <a name="uniformBucketLevelAccess" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.uniformBucketLevelAccess"></a>

```typescript
public readonly uniformBucketLevelAccess: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---

##### `versioning`<sup>Required</sup> <a name="versioning" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.versioning"></a>

```typescript
public readonly versioning: DataGoogleStorageBucketVersioningList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketVersioningList">DataGoogleStorageBucketVersioningList</a>

---

##### `website`<sup>Required</sup> <a name="website" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.website"></a>

```typescript
public readonly website: DataGoogleStorageBucketWebsiteList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketWebsiteList">DataGoogleStorageBucketWebsiteList</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucket.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleStorageBucket.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleStorageBucketObject <a name="DataGoogleStorageBucketObject" id="@dschmidt/provider-google.DataGoogleStorageBucketObject"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object google_storage_bucket_object}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.Initializer"></a>

```typescript
import { DataGoogleStorageBucketObject } from '@dschmidt/provider-google'

new DataGoogleStorageBucketObject(scope: Construct, id: string, config?: DataGoogleStorageBucketObjectConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig">DataGoogleStorageBucketObjectConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig">DataGoogleStorageBucketObjectConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.resetBucket">resetBucket</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.resetName">resetName</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetBucket` <a name="resetBucket" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.resetBucket"></a>

```typescript
public resetBucket(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.resetName"></a>

```typescript
public resetName(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.isConstruct"></a>

```typescript
import { DataGoogleStorageBucketObject } from '@dschmidt/provider-google'

DataGoogleStorageBucketObject.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.cacheControl">cacheControl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.content">content</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.contentDisposition">contentDisposition</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.contentEncoding">contentEncoding</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.contentLanguage">contentLanguage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.contentType">contentType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.crc32C">crc32C</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.customerEncryption">customerEncryption</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectCustomerEncryptionList">DataGoogleStorageBucketObjectCustomerEncryptionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.detectMd5Hash">detectMd5Hash</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.eventBasedHold">eventBasedHold</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.md5Hash">md5Hash</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.mediaLink">mediaLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.metadata">metadata</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.outputName">outputName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.source">source</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.storageClass">storageClass</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.temporaryHold">temporaryHold</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `cacheControl`<sup>Required</sup> <a name="cacheControl" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.cacheControl"></a>

```typescript
public readonly cacheControl: string;
```

- *Type:* string

---

##### `content`<sup>Required</sup> <a name="content" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

---

##### `contentDisposition`<sup>Required</sup> <a name="contentDisposition" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.contentDisposition"></a>

```typescript
public readonly contentDisposition: string;
```

- *Type:* string

---

##### `contentEncoding`<sup>Required</sup> <a name="contentEncoding" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.contentEncoding"></a>

```typescript
public readonly contentEncoding: string;
```

- *Type:* string

---

##### `contentLanguage`<sup>Required</sup> <a name="contentLanguage" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.contentLanguage"></a>

```typescript
public readonly contentLanguage: string;
```

- *Type:* string

---

##### `contentType`<sup>Required</sup> <a name="contentType" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

---

##### `crc32C`<sup>Required</sup> <a name="crc32C" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.crc32C"></a>

```typescript
public readonly crc32C: string;
```

- *Type:* string

---

##### `customerEncryption`<sup>Required</sup> <a name="customerEncryption" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.customerEncryption"></a>

```typescript
public readonly customerEncryption: DataGoogleStorageBucketObjectCustomerEncryptionList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectCustomerEncryptionList">DataGoogleStorageBucketObjectCustomerEncryptionList</a>

---

##### `detectMd5Hash`<sup>Required</sup> <a name="detectMd5Hash" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.detectMd5Hash"></a>

```typescript
public readonly detectMd5Hash: string;
```

- *Type:* string

---

##### `eventBasedHold`<sup>Required</sup> <a name="eventBasedHold" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.eventBasedHold"></a>

```typescript
public readonly eventBasedHold: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `md5Hash`<sup>Required</sup> <a name="md5Hash" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.md5Hash"></a>

```typescript
public readonly md5Hash: string;
```

- *Type:* string

---

##### `mediaLink`<sup>Required</sup> <a name="mediaLink" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.mediaLink"></a>

```typescript
public readonly mediaLink: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.metadata"></a>

```typescript
public readonly metadata: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `outputName`<sup>Required</sup> <a name="outputName" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.outputName"></a>

```typescript
public readonly outputName: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

---

##### `storageClass`<sup>Required</sup> <a name="storageClass" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.storageClass"></a>

```typescript
public readonly storageClass: string;
```

- *Type:* string

---

##### `temporaryHold`<sup>Required</sup> <a name="temporaryHold" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.temporaryHold"></a>

```typescript
public readonly temporaryHold: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObject.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleStorageBucketObject.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleStorageBucketObjectContent <a name="DataGoogleStorageBucketObjectContent" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object_content google_storage_bucket_object_content}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.Initializer"></a>

```typescript
import { DataGoogleStorageBucketObjectContent } from '@dschmidt/provider-google'

new DataGoogleStorageBucketObjectContent(scope: Construct, id: string, config: DataGoogleStorageBucketObjectContentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig">DataGoogleStorageBucketObjectContentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig">DataGoogleStorageBucketObjectContentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.resetContent">resetContent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetContent` <a name="resetContent" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.resetContent"></a>

```typescript
public resetContent(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.isConstruct"></a>

```typescript
import { DataGoogleStorageBucketObjectContent } from '@dschmidt/provider-google'

DataGoogleStorageBucketObjectContent.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.cacheControl">cacheControl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentDisposition">contentDisposition</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentEncoding">contentEncoding</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentLanguage">contentLanguage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentType">contentType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.crc32C">crc32C</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.customerEncryption">customerEncryption</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentCustomerEncryptionList">DataGoogleStorageBucketObjectContentCustomerEncryptionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.detectMd5Hash">detectMd5Hash</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.eventBasedHold">eventBasedHold</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.md5Hash">md5Hash</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.mediaLink">mediaLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.metadata">metadata</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.outputName">outputName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.source">source</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.storageClass">storageClass</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.temporaryHold">temporaryHold</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentInput">contentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.content">content</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `cacheControl`<sup>Required</sup> <a name="cacheControl" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.cacheControl"></a>

```typescript
public readonly cacheControl: string;
```

- *Type:* string

---

##### `contentDisposition`<sup>Required</sup> <a name="contentDisposition" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentDisposition"></a>

```typescript
public readonly contentDisposition: string;
```

- *Type:* string

---

##### `contentEncoding`<sup>Required</sup> <a name="contentEncoding" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentEncoding"></a>

```typescript
public readonly contentEncoding: string;
```

- *Type:* string

---

##### `contentLanguage`<sup>Required</sup> <a name="contentLanguage" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentLanguage"></a>

```typescript
public readonly contentLanguage: string;
```

- *Type:* string

---

##### `contentType`<sup>Required</sup> <a name="contentType" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

---

##### `crc32C`<sup>Required</sup> <a name="crc32C" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.crc32C"></a>

```typescript
public readonly crc32C: string;
```

- *Type:* string

---

##### `customerEncryption`<sup>Required</sup> <a name="customerEncryption" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.customerEncryption"></a>

```typescript
public readonly customerEncryption: DataGoogleStorageBucketObjectContentCustomerEncryptionList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentCustomerEncryptionList">DataGoogleStorageBucketObjectContentCustomerEncryptionList</a>

---

##### `detectMd5Hash`<sup>Required</sup> <a name="detectMd5Hash" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.detectMd5Hash"></a>

```typescript
public readonly detectMd5Hash: string;
```

- *Type:* string

---

##### `eventBasedHold`<sup>Required</sup> <a name="eventBasedHold" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.eventBasedHold"></a>

```typescript
public readonly eventBasedHold: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `md5Hash`<sup>Required</sup> <a name="md5Hash" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.md5Hash"></a>

```typescript
public readonly md5Hash: string;
```

- *Type:* string

---

##### `mediaLink`<sup>Required</sup> <a name="mediaLink" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.mediaLink"></a>

```typescript
public readonly mediaLink: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.metadata"></a>

```typescript
public readonly metadata: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `outputName`<sup>Required</sup> <a name="outputName" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.outputName"></a>

```typescript
public readonly outputName: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

---

##### `storageClass`<sup>Required</sup> <a name="storageClass" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.storageClass"></a>

```typescript
public readonly storageClass: string;
```

- *Type:* string

---

##### `temporaryHold`<sup>Required</sup> <a name="temporaryHold" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.temporaryHold"></a>

```typescript
public readonly temporaryHold: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `contentInput`<sup>Optional</sup> <a name="contentInput" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.contentInput"></a>

```typescript
public readonly contentInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `content`<sup>Required</sup> <a name="content" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContent.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleStorageObjectSignedUrl <a name="DataGoogleStorageObjectSignedUrl" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url google_storage_object_signed_url}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.Initializer"></a>

```typescript
import { DataGoogleStorageObjectSignedUrl } from '@dschmidt/provider-google'

new DataGoogleStorageObjectSignedUrl(scope: Construct, id: string, config: DataGoogleStorageObjectSignedUrlConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig">DataGoogleStorageObjectSignedUrlConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig">DataGoogleStorageObjectSignedUrlConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetContentMd5">resetContentMd5</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetContentType">resetContentType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetCredentials">resetCredentials</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetDuration">resetDuration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetExtensionHeaders">resetExtensionHeaders</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetHttpMethod">resetHttpMethod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetContentMd5` <a name="resetContentMd5" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetContentMd5"></a>

```typescript
public resetContentMd5(): void
```

##### `resetContentType` <a name="resetContentType" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetContentType"></a>

```typescript
public resetContentType(): void
```

##### `resetCredentials` <a name="resetCredentials" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetCredentials"></a>

```typescript
public resetCredentials(): void
```

##### `resetDuration` <a name="resetDuration" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetDuration"></a>

```typescript
public resetDuration(): void
```

##### `resetExtensionHeaders` <a name="resetExtensionHeaders" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetExtensionHeaders"></a>

```typescript
public resetExtensionHeaders(): void
```

##### `resetHttpMethod` <a name="resetHttpMethod" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetHttpMethod"></a>

```typescript
public resetHttpMethod(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.isConstruct"></a>

```typescript
import { DataGoogleStorageObjectSignedUrl } from '@dschmidt/provider-google'

DataGoogleStorageObjectSignedUrl.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.signedUrl">signedUrl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.contentMd5Input">contentMd5Input</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.contentTypeInput">contentTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.credentialsInput">credentialsInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.durationInput">durationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.extensionHeadersInput">extensionHeadersInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.httpMethodInput">httpMethodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.pathInput">pathInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.contentMd5">contentMd5</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.contentType">contentType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.credentials">credentials</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.duration">duration</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.extensionHeaders">extensionHeaders</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.httpMethod">httpMethod</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.path">path</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `signedUrl`<sup>Required</sup> <a name="signedUrl" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.signedUrl"></a>

```typescript
public readonly signedUrl: string;
```

- *Type:* string

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `contentMd5Input`<sup>Optional</sup> <a name="contentMd5Input" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.contentMd5Input"></a>

```typescript
public readonly contentMd5Input: string;
```

- *Type:* string

---

##### `contentTypeInput`<sup>Optional</sup> <a name="contentTypeInput" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.contentTypeInput"></a>

```typescript
public readonly contentTypeInput: string;
```

- *Type:* string

---

##### `credentialsInput`<sup>Optional</sup> <a name="credentialsInput" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.credentialsInput"></a>

```typescript
public readonly credentialsInput: string;
```

- *Type:* string

---

##### `durationInput`<sup>Optional</sup> <a name="durationInput" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.durationInput"></a>

```typescript
public readonly durationInput: string;
```

- *Type:* string

---

##### `extensionHeadersInput`<sup>Optional</sup> <a name="extensionHeadersInput" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.extensionHeadersInput"></a>

```typescript
public readonly extensionHeadersInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `httpMethodInput`<sup>Optional</sup> <a name="httpMethodInput" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.httpMethodInput"></a>

```typescript
public readonly httpMethodInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `pathInput`<sup>Optional</sup> <a name="pathInput" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.pathInput"></a>

```typescript
public readonly pathInput: string;
```

- *Type:* string

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `contentMd5`<sup>Required</sup> <a name="contentMd5" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.contentMd5"></a>

```typescript
public readonly contentMd5: string;
```

- *Type:* string

---

##### `contentType`<sup>Required</sup> <a name="contentType" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

---

##### `credentials`<sup>Required</sup> <a name="credentials" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.credentials"></a>

```typescript
public readonly credentials: string;
```

- *Type:* string

---

##### `duration`<sup>Required</sup> <a name="duration" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.duration"></a>

```typescript
public readonly duration: string;
```

- *Type:* string

---

##### `extensionHeaders`<sup>Required</sup> <a name="extensionHeaders" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.extensionHeaders"></a>

```typescript
public readonly extensionHeaders: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `httpMethod`<sup>Required</sup> <a name="httpMethod" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.httpMethod"></a>

```typescript
public readonly httpMethod: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrl.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleStorageProjectServiceAccount <a name="DataGoogleStorageProjectServiceAccount" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/storage_project_service_account google_storage_project_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.Initializer"></a>

```typescript
import { DataGoogleStorageProjectServiceAccount } from '@dschmidt/provider-google'

new DataGoogleStorageProjectServiceAccount(scope: Construct, id: string, config?: DataGoogleStorageProjectServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig">DataGoogleStorageProjectServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig">DataGoogleStorageProjectServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.resetUserProject">resetUserProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetUserProject` <a name="resetUserProject" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.resetUserProject"></a>

```typescript
public resetUserProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.isConstruct"></a>

```typescript
import { DataGoogleStorageProjectServiceAccount } from '@dschmidt/provider-google'

DataGoogleStorageProjectServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.emailAddress">emailAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.userProjectInput">userProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.userProject">userProject</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `emailAddress`<sup>Required</sup> <a name="emailAddress" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.emailAddress"></a>

```typescript
public readonly emailAddress: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `userProjectInput`<sup>Optional</sup> <a name="userProjectInput" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.userProjectInput"></a>

```typescript
public readonly userProjectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `userProject`<sup>Required</sup> <a name="userProject" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.userProject"></a>

```typescript
public readonly userProject: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleStorageTransferProjectServiceAccount <a name="DataGoogleStorageTransferProjectServiceAccount" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/storage_transfer_project_service_account google_storage_transfer_project_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.Initializer"></a>

```typescript
import { DataGoogleStorageTransferProjectServiceAccount } from '@dschmidt/provider-google'

new DataGoogleStorageTransferProjectServiceAccount(scope: Construct, id: string, config?: DataGoogleStorageTransferProjectServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig">DataGoogleStorageTransferProjectServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig">DataGoogleStorageTransferProjectServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.isConstruct"></a>

```typescript
import { DataGoogleStorageTransferProjectServiceAccount } from '@dschmidt/provider-google'

DataGoogleStorageTransferProjectServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.subjectId">subjectId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `subjectId`<sup>Required</sup> <a name="subjectId" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.subjectId"></a>

```typescript
public readonly subjectId: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleTagsTagKey <a name="DataGoogleTagsTagKey" id="@dschmidt/provider-google.DataGoogleTagsTagKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/tags_tag_key google_tags_tag_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleTagsTagKey.Initializer"></a>

```typescript
import { DataGoogleTagsTagKey } from '@dschmidt/provider-google'

new DataGoogleTagsTagKey(scope: Construct, id: string, config: DataGoogleTagsTagKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig">DataGoogleTagsTagKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleTagsTagKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleTagsTagKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleTagsTagKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig">DataGoogleTagsTagKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleTagsTagKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleTagsTagKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleTagsTagKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleTagsTagKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleTagsTagKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleTagsTagKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleTagsTagKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleTagsTagKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleTagsTagKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleTagsTagKey.isConstruct"></a>

```typescript
import { DataGoogleTagsTagKey } from '@dschmidt/provider-google'

DataGoogleTagsTagKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleTagsTagKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.namespacedName">namespacedName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.shortNameInput">shortNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.shortName">shortName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `namespacedName`<sup>Required</sup> <a name="namespacedName" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.namespacedName"></a>

```typescript
public readonly namespacedName: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `shortNameInput`<sup>Optional</sup> <a name="shortNameInput" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.shortNameInput"></a>

```typescript
public readonly shortNameInput: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleTagsTagKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleTagsTagValue <a name="DataGoogleTagsTagValue" id="@dschmidt/provider-google.DataGoogleTagsTagValue"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/tags_tag_value google_tags_tag_value}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleTagsTagValue.Initializer"></a>

```typescript
import { DataGoogleTagsTagValue } from '@dschmidt/provider-google'

new DataGoogleTagsTagValue(scope: Construct, id: string, config: DataGoogleTagsTagValueConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig">DataGoogleTagsTagValueConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleTagsTagValue.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleTagsTagValue.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleTagsTagValue.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig">DataGoogleTagsTagValueConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleTagsTagValue.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleTagsTagValue.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleTagsTagValue.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleTagsTagValue.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleTagsTagValue.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleTagsTagValue.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleTagsTagValue.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleTagsTagValue.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleTagsTagValue.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTagsTagValue.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleTagsTagValue.isConstruct"></a>

```typescript
import { DataGoogleTagsTagValue } from '@dschmidt/provider-google'

DataGoogleTagsTagValue.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleTagsTagValue.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.namespacedName">namespacedName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.shortNameInput">shortNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.shortName">shortName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `namespacedName`<sup>Required</sup> <a name="namespacedName" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.namespacedName"></a>

```typescript
public readonly namespacedName: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `shortNameInput`<sup>Optional</sup> <a name="shortNameInput" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.shortNameInput"></a>

```typescript
public readonly shortNameInput: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValue.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleTagsTagValue.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataGoogleTpuTensorflowVersions <a name="DataGoogleTpuTensorflowVersions" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/d/tpu_tensorflow_versions google_tpu_tensorflow_versions}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.Initializer"></a>

```typescript
import { DataGoogleTpuTensorflowVersions } from '@dschmidt/provider-google'

new DataGoogleTpuTensorflowVersions(scope: Construct, id: string, config?: DataGoogleTpuTensorflowVersionsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig">DataGoogleTpuTensorflowVersionsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig">DataGoogleTpuTensorflowVersionsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.isConstruct"></a>

```typescript
import { DataGoogleTpuTensorflowVersions } from '@dschmidt/provider-google'

DataGoogleTpuTensorflowVersions.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.versions">versions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `versions`<sup>Required</sup> <a name="versions" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.versions"></a>

```typescript
public readonly versions: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersions.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataLossPreventionDeidentifyTemplate <a name="DataLossPreventionDeidentifyTemplate" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template google_data_loss_prevention_deidentify_template}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplate } from '@dschmidt/provider-google'

new DataLossPreventionDeidentifyTemplate(scope: Construct, id: string, config: DataLossPreventionDeidentifyTemplateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig">DataLossPreventionDeidentifyTemplateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig">DataLossPreventionDeidentifyTemplateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.putDeidentifyConfig">putDeidentifyConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDeidentifyConfig` <a name="putDeidentifyConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.putDeidentifyConfig"></a>

```typescript
public putDeidentifyConfig(value: DataLossPreventionDeidentifyTemplateDeidentifyConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.putDeidentifyConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.putTimeouts"></a>

```typescript
public putTimeouts(value: DataLossPreventionDeidentifyTemplateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts">DataLossPreventionDeidentifyTemplateTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.isConstruct"></a>

```typescript
import { DataLossPreventionDeidentifyTemplate } from '@dschmidt/provider-google'

DataLossPreventionDeidentifyTemplate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.deidentifyConfig">deidentifyConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigOutputReference">DataLossPreventionDeidentifyTemplateDeidentifyConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeoutsOutputReference">DataLossPreventionDeidentifyTemplateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.deidentifyConfigInput">deidentifyConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts">DataLossPreventionDeidentifyTemplateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `deidentifyConfig`<sup>Required</sup> <a name="deidentifyConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.deidentifyConfig"></a>

```typescript
public readonly deidentifyConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigOutputReference">DataLossPreventionDeidentifyTemplateDeidentifyConfigOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.timeouts"></a>

```typescript
public readonly timeouts: DataLossPreventionDeidentifyTemplateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeoutsOutputReference">DataLossPreventionDeidentifyTemplateTimeoutsOutputReference</a>

---

##### `deidentifyConfigInput`<sup>Optional</sup> <a name="deidentifyConfigInput" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.deidentifyConfigInput"></a>

```typescript
public readonly deidentifyConfigInput: DataLossPreventionDeidentifyTemplateDeidentifyConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfig</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataLossPreventionDeidentifyTemplateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts">DataLossPreventionDeidentifyTemplateTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataLossPreventionInspectTemplate <a name="DataLossPreventionInspectTemplate" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template google_data_loss_prevention_inspect_template}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplate } from '@dschmidt/provider-google'

new DataLossPreventionInspectTemplate(scope: Construct, id: string, config: DataLossPreventionInspectTemplateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig">DataLossPreventionInspectTemplateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig">DataLossPreventionInspectTemplateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.putInspectConfig">putInspectConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetInspectConfig">resetInspectConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putInspectConfig` <a name="putInspectConfig" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.putInspectConfig"></a>

```typescript
public putInspectConfig(value: DataLossPreventionInspectTemplateInspectConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.putInspectConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig">DataLossPreventionInspectTemplateInspectConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.putTimeouts"></a>

```typescript
public putTimeouts(value: DataLossPreventionInspectTemplateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts">DataLossPreventionInspectTemplateTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInspectConfig` <a name="resetInspectConfig" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetInspectConfig"></a>

```typescript
public resetInspectConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.isConstruct"></a>

```typescript
import { DataLossPreventionInspectTemplate } from '@dschmidt/provider-google'

DataLossPreventionInspectTemplate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.inspectConfig">inspectConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigOutputReference">DataLossPreventionInspectTemplateInspectConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeoutsOutputReference">DataLossPreventionInspectTemplateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.inspectConfigInput">inspectConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig">DataLossPreventionInspectTemplateInspectConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts">DataLossPreventionInspectTemplateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `inspectConfig`<sup>Required</sup> <a name="inspectConfig" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.inspectConfig"></a>

```typescript
public readonly inspectConfig: DataLossPreventionInspectTemplateInspectConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigOutputReference">DataLossPreventionInspectTemplateInspectConfigOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.timeouts"></a>

```typescript
public readonly timeouts: DataLossPreventionInspectTemplateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeoutsOutputReference">DataLossPreventionInspectTemplateTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `inspectConfigInput`<sup>Optional</sup> <a name="inspectConfigInput" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.inspectConfigInput"></a>

```typescript
public readonly inspectConfigInput: DataLossPreventionInspectTemplateInspectConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig">DataLossPreventionInspectTemplateInspectConfig</a>

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataLossPreventionInspectTemplateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts">DataLossPreventionInspectTemplateTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataLossPreventionJobTrigger <a name="DataLossPreventionJobTrigger" id="@dschmidt/provider-google.DataLossPreventionJobTrigger"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger google_data_loss_prevention_job_trigger}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.Initializer"></a>

```typescript
import { DataLossPreventionJobTrigger } from '@dschmidt/provider-google'

new DataLossPreventionJobTrigger(scope: Construct, id: string, config: DataLossPreventionJobTriggerConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig">DataLossPreventionJobTriggerConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig">DataLossPreventionJobTriggerConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.putInspectJob">putInspectJob</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.putTriggers">putTriggers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.resetInspectJob">resetInspectJob</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.resetStatus">resetStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putInspectJob` <a name="putInspectJob" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.putInspectJob"></a>

```typescript
public putInspectJob(value: DataLossPreventionJobTriggerInspectJob): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.putInspectJob.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob">DataLossPreventionJobTriggerInspectJob</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.putTimeouts"></a>

```typescript
public putTimeouts(value: DataLossPreventionJobTriggerTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts">DataLossPreventionJobTriggerTimeouts</a>

---

##### `putTriggers` <a name="putTriggers" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.putTriggers"></a>

```typescript
public putTriggers(value: IResolvable | DataLossPreventionJobTriggerTriggers[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.putTriggers.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggers">DataLossPreventionJobTriggerTriggers</a>[]

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInspectJob` <a name="resetInspectJob" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.resetInspectJob"></a>

```typescript
public resetInspectJob(): void
```

##### `resetStatus` <a name="resetStatus" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.resetStatus"></a>

```typescript
public resetStatus(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.isConstruct"></a>

```typescript
import { DataLossPreventionJobTrigger } from '@dschmidt/provider-google'

DataLossPreventionJobTrigger.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.inspectJob">inspectJob</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobOutputReference">DataLossPreventionJobTriggerInspectJobOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.lastRunTime">lastRunTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeoutsOutputReference">DataLossPreventionJobTriggerTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.triggers">triggers</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggersList">DataLossPreventionJobTriggerTriggersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.inspectJobInput">inspectJobInput</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob">DataLossPreventionJobTriggerInspectJob</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.statusInput">statusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts">DataLossPreventionJobTriggerTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.triggersInput">triggersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggers">DataLossPreventionJobTriggerTriggers</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.status">status</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `inspectJob`<sup>Required</sup> <a name="inspectJob" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.inspectJob"></a>

```typescript
public readonly inspectJob: DataLossPreventionJobTriggerInspectJobOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobOutputReference">DataLossPreventionJobTriggerInspectJobOutputReference</a>

---

##### `lastRunTime`<sup>Required</sup> <a name="lastRunTime" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.lastRunTime"></a>

```typescript
public readonly lastRunTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.timeouts"></a>

```typescript
public readonly timeouts: DataLossPreventionJobTriggerTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeoutsOutputReference">DataLossPreventionJobTriggerTimeoutsOutputReference</a>

---

##### `triggers`<sup>Required</sup> <a name="triggers" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.triggers"></a>

```typescript
public readonly triggers: DataLossPreventionJobTriggerTriggersList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggersList">DataLossPreventionJobTriggerTriggersList</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `inspectJobInput`<sup>Optional</sup> <a name="inspectJobInput" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.inspectJobInput"></a>

```typescript
public readonly inspectJobInput: DataLossPreventionJobTriggerInspectJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob">DataLossPreventionJobTriggerInspectJob</a>

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `statusInput`<sup>Optional</sup> <a name="statusInput" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.statusInput"></a>

```typescript
public readonly statusInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataLossPreventionJobTriggerTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts">DataLossPreventionJobTriggerTimeouts</a>

---

##### `triggersInput`<sup>Optional</sup> <a name="triggersInput" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.triggersInput"></a>

```typescript
public readonly triggersInput: IResolvable | DataLossPreventionJobTriggerTriggers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggers">DataLossPreventionJobTriggerTriggers</a>[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTrigger.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataLossPreventionJobTrigger.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataLossPreventionStoredInfoType <a name="DataLossPreventionStoredInfoType" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type google_data_loss_prevention_stored_info_type}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoType } from '@dschmidt/provider-google'

new DataLossPreventionStoredInfoType(scope: Construct, id: string, config: DataLossPreventionStoredInfoTypeConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig">DataLossPreventionStoredInfoTypeConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig">DataLossPreventionStoredInfoTypeConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.putDictionary">putDictionary</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.putLargeCustomDictionary">putLargeCustomDictionary</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.putRegex">putRegex</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetDictionary">resetDictionary</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetLargeCustomDictionary">resetLargeCustomDictionary</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetRegex">resetRegex</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDictionary` <a name="putDictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.putDictionary"></a>

```typescript
public putDictionary(value: DataLossPreventionStoredInfoTypeDictionary): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.putDictionary.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary">DataLossPreventionStoredInfoTypeDictionary</a>

---

##### `putLargeCustomDictionary` <a name="putLargeCustomDictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.putLargeCustomDictionary"></a>

```typescript
public putLargeCustomDictionary(value: DataLossPreventionStoredInfoTypeLargeCustomDictionary): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.putLargeCustomDictionary.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary">DataLossPreventionStoredInfoTypeLargeCustomDictionary</a>

---

##### `putRegex` <a name="putRegex" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.putRegex"></a>

```typescript
public putRegex(value: DataLossPreventionStoredInfoTypeRegex): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.putRegex.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex">DataLossPreventionStoredInfoTypeRegex</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.putTimeouts"></a>

```typescript
public putTimeouts(value: DataLossPreventionStoredInfoTypeTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts">DataLossPreventionStoredInfoTypeTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDictionary` <a name="resetDictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetDictionary"></a>

```typescript
public resetDictionary(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLargeCustomDictionary` <a name="resetLargeCustomDictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetLargeCustomDictionary"></a>

```typescript
public resetLargeCustomDictionary(): void
```

##### `resetRegex` <a name="resetRegex" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetRegex"></a>

```typescript
public resetRegex(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.isConstruct"></a>

```typescript
import { DataLossPreventionStoredInfoType } from '@dschmidt/provider-google'

DataLossPreventionStoredInfoType.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.dictionary">dictionary</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryOutputReference">DataLossPreventionStoredInfoTypeDictionaryOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.largeCustomDictionary">largeCustomDictionary</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputReference">DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.regex">regex</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegexOutputReference">DataLossPreventionStoredInfoTypeRegexOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeoutsOutputReference">DataLossPreventionStoredInfoTypeTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.dictionaryInput">dictionaryInput</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary">DataLossPreventionStoredInfoTypeDictionary</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.largeCustomDictionaryInput">largeCustomDictionaryInput</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary">DataLossPreventionStoredInfoTypeLargeCustomDictionary</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.regexInput">regexInput</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex">DataLossPreventionStoredInfoTypeRegex</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts">DataLossPreventionStoredInfoTypeTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dictionary`<sup>Required</sup> <a name="dictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.dictionary"></a>

```typescript
public readonly dictionary: DataLossPreventionStoredInfoTypeDictionaryOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryOutputReference">DataLossPreventionStoredInfoTypeDictionaryOutputReference</a>

---

##### `largeCustomDictionary`<sup>Required</sup> <a name="largeCustomDictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.largeCustomDictionary"></a>

```typescript
public readonly largeCustomDictionary: DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputReference">DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `regex`<sup>Required</sup> <a name="regex" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.regex"></a>

```typescript
public readonly regex: DataLossPreventionStoredInfoTypeRegexOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegexOutputReference">DataLossPreventionStoredInfoTypeRegexOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.timeouts"></a>

```typescript
public readonly timeouts: DataLossPreventionStoredInfoTypeTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeoutsOutputReference">DataLossPreventionStoredInfoTypeTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `dictionaryInput`<sup>Optional</sup> <a name="dictionaryInput" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.dictionaryInput"></a>

```typescript
public readonly dictionaryInput: DataLossPreventionStoredInfoTypeDictionary;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary">DataLossPreventionStoredInfoTypeDictionary</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `largeCustomDictionaryInput`<sup>Optional</sup> <a name="largeCustomDictionaryInput" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.largeCustomDictionaryInput"></a>

```typescript
public readonly largeCustomDictionaryInput: DataLossPreventionStoredInfoTypeLargeCustomDictionary;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary">DataLossPreventionStoredInfoTypeLargeCustomDictionary</a>

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `regexInput`<sup>Optional</sup> <a name="regexInput" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.regexInput"></a>

```typescript
public readonly regexInput: DataLossPreventionStoredInfoTypeRegex;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex">DataLossPreventionStoredInfoTypeRegex</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataLossPreventionStoredInfoTypeTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts">DataLossPreventionStoredInfoTypeTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataLossPreventionStoredInfoType.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataplexAsset <a name="DataplexAsset" id="@dschmidt/provider-google.DataplexAsset"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset google_dataplex_asset}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataplexAsset.Initializer"></a>

```typescript
import { DataplexAsset } from '@dschmidt/provider-google'

new DataplexAsset(scope: Construct, id: string, config: DataplexAssetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetConfig">DataplexAssetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataplexAsset.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataplexAsset.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataplexAsset.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetConfig">DataplexAssetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.putDiscoverySpec">putDiscoverySpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.putResourceSpec">putResourceSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataplexAsset.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataplexAsset.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataplexAsset.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexAsset.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataplexAsset.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataplexAsset.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataplexAsset.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataplexAsset.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataplexAsset.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataplexAsset.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataplexAsset.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataplexAsset.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataplexAsset.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataplexAsset.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataplexAsset.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataplexAsset.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataplexAsset.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataplexAsset.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataplexAsset.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexAsset.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDiscoverySpec` <a name="putDiscoverySpec" id="@dschmidt/provider-google.DataplexAsset.putDiscoverySpec"></a>

```typescript
public putDiscoverySpec(value: DataplexAssetDiscoverySpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexAsset.putDiscoverySpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec">DataplexAssetDiscoverySpec</a>

---

##### `putResourceSpec` <a name="putResourceSpec" id="@dschmidt/provider-google.DataplexAsset.putResourceSpec"></a>

```typescript
public putResourceSpec(value: DataplexAssetResourceSpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexAsset.putResourceSpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetResourceSpec">DataplexAssetResourceSpec</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataplexAsset.putTimeouts"></a>

```typescript
public putTimeouts(value: DataplexAssetTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexAsset.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetTimeouts">DataplexAssetTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataplexAsset.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataplexAsset.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataplexAsset.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataplexAsset.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataplexAsset.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataplexAsset.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataplexAsset.isConstruct"></a>

```typescript
import { DataplexAsset } from '@dschmidt/provider-google'

DataplexAsset.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataplexAsset.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.discoverySpec">discoverySpec</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecOutputReference">DataplexAssetDiscoverySpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.discoveryStatus">discoveryStatus</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoveryStatusList">DataplexAssetDiscoveryStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.resourceSpec">resourceSpec</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetResourceSpecOutputReference">DataplexAssetResourceSpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.resourceStatus">resourceStatus</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetResourceStatusList">DataplexAssetResourceStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.securityStatus">securityStatus</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetSecurityStatusList">DataplexAssetSecurityStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetTimeoutsOutputReference">DataplexAssetTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.dataplexZoneInput">dataplexZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.discoverySpecInput">discoverySpecInput</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec">DataplexAssetDiscoverySpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.lakeInput">lakeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.resourceSpecInput">resourceSpecInput</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetResourceSpec">DataplexAssetResourceSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataplexAssetTimeouts">DataplexAssetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.dataplexZone">dataplexZone</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.lake">lake</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataplexAsset.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataplexAsset.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataplexAsset.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataplexAsset.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataplexAsset.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataplexAsset.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataplexAsset.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataplexAsset.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataplexAsset.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataplexAsset.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataplexAsset.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataplexAsset.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataplexAsset.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataplexAsset.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataplexAsset.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `discoverySpec`<sup>Required</sup> <a name="discoverySpec" id="@dschmidt/provider-google.DataplexAsset.property.discoverySpec"></a>

```typescript
public readonly discoverySpec: DataplexAssetDiscoverySpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecOutputReference">DataplexAssetDiscoverySpecOutputReference</a>

---

##### `discoveryStatus`<sup>Required</sup> <a name="discoveryStatus" id="@dschmidt/provider-google.DataplexAsset.property.discoveryStatus"></a>

```typescript
public readonly discoveryStatus: DataplexAssetDiscoveryStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetDiscoveryStatusList">DataplexAssetDiscoveryStatusList</a>

---

##### `resourceSpec`<sup>Required</sup> <a name="resourceSpec" id="@dschmidt/provider-google.DataplexAsset.property.resourceSpec"></a>

```typescript
public readonly resourceSpec: DataplexAssetResourceSpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetResourceSpecOutputReference">DataplexAssetResourceSpecOutputReference</a>

---

##### `resourceStatus`<sup>Required</sup> <a name="resourceStatus" id="@dschmidt/provider-google.DataplexAsset.property.resourceStatus"></a>

```typescript
public readonly resourceStatus: DataplexAssetResourceStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetResourceStatusList">DataplexAssetResourceStatusList</a>

---

##### `securityStatus`<sup>Required</sup> <a name="securityStatus" id="@dschmidt/provider-google.DataplexAsset.property.securityStatus"></a>

```typescript
public readonly securityStatus: DataplexAssetSecurityStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetSecurityStatusList">DataplexAssetSecurityStatusList</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataplexAsset.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataplexAsset.property.timeouts"></a>

```typescript
public readonly timeouts: DataplexAssetTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetTimeoutsOutputReference">DataplexAssetTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.DataplexAsset.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataplexAsset.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `dataplexZoneInput`<sup>Optional</sup> <a name="dataplexZoneInput" id="@dschmidt/provider-google.DataplexAsset.property.dataplexZoneInput"></a>

```typescript
public readonly dataplexZoneInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataplexAsset.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `discoverySpecInput`<sup>Optional</sup> <a name="discoverySpecInput" id="@dschmidt/provider-google.DataplexAsset.property.discoverySpecInput"></a>

```typescript
public readonly discoverySpecInput: DataplexAssetDiscoverySpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec">DataplexAssetDiscoverySpec</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataplexAsset.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataplexAsset.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataplexAsset.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `lakeInput`<sup>Optional</sup> <a name="lakeInput" id="@dschmidt/provider-google.DataplexAsset.property.lakeInput"></a>

```typescript
public readonly lakeInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataplexAsset.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataplexAsset.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataplexAsset.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `resourceSpecInput`<sup>Optional</sup> <a name="resourceSpecInput" id="@dschmidt/provider-google.DataplexAsset.property.resourceSpecInput"></a>

```typescript
public readonly resourceSpecInput: DataplexAssetResourceSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetResourceSpec">DataplexAssetResourceSpec</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataplexAsset.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataplexAssetTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataplexAssetTimeouts">DataplexAssetTimeouts</a>

---

##### `dataplexZone`<sup>Required</sup> <a name="dataplexZone" id="@dschmidt/provider-google.DataplexAsset.property.dataplexZone"></a>

```typescript
public readonly dataplexZone: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataplexAsset.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataplexAsset.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataplexAsset.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataplexAsset.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `lake`<sup>Required</sup> <a name="lake" id="@dschmidt/provider-google.DataplexAsset.property.lake"></a>

```typescript
public readonly lake: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataplexAsset.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataplexAsset.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataplexAsset.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAsset.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataplexAsset.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataplexLake <a name="DataplexLake" id="@dschmidt/provider-google.DataplexLake"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake google_dataplex_lake}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataplexLake.Initializer"></a>

```typescript
import { DataplexLake } from '@dschmidt/provider-google'

new DataplexLake(scope: Construct, id: string, config: DataplexLakeConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexLake.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataplexLake.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataplexLake.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataplexLakeConfig">DataplexLakeConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataplexLake.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataplexLake.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataplexLake.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeConfig">DataplexLakeConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexLake.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataplexLake.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataplexLake.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataplexLake.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataplexLake.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.putMetastore">putMetastore</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.resetMetastore">resetMetastore</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataplexLake.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataplexLake.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataplexLake.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexLake.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataplexLake.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataplexLake.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataplexLake.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataplexLake.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataplexLake.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataplexLake.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataplexLake.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataplexLake.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataplexLake.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataplexLake.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataplexLake.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataplexLake.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataplexLake.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataplexLake.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataplexLake.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexLake.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMetastore` <a name="putMetastore" id="@dschmidt/provider-google.DataplexLake.putMetastore"></a>

```typescript
public putMetastore(value: DataplexLakeMetastore): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexLake.putMetastore.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeMetastore">DataplexLakeMetastore</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataplexLake.putTimeouts"></a>

```typescript
public putTimeouts(value: DataplexLakeTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexLake.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeTimeouts">DataplexLakeTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataplexLake.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataplexLake.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataplexLake.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataplexLake.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMetastore` <a name="resetMetastore" id="@dschmidt/provider-google.DataplexLake.resetMetastore"></a>

```typescript
public resetMetastore(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataplexLake.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataplexLake.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexLake.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataplexLake.isConstruct"></a>

```typescript
import { DataplexLake } from '@dschmidt/provider-google'

DataplexLake.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataplexLake.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.assetStatus">assetStatus</a></code> | <code><a href="#@dschmidt/provider-google.DataplexLakeAssetStatusList">DataplexLakeAssetStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.metastore">metastore</a></code> | <code><a href="#@dschmidt/provider-google.DataplexLakeMetastoreOutputReference">DataplexLakeMetastoreOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.metastoreStatus">metastoreStatus</a></code> | <code><a href="#@dschmidt/provider-google.DataplexLakeMetastoreStatusList">DataplexLakeMetastoreStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataplexLakeTimeoutsOutputReference">DataplexLakeTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.metastoreInput">metastoreInput</a></code> | <code><a href="#@dschmidt/provider-google.DataplexLakeMetastore">DataplexLakeMetastore</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataplexLakeTimeouts">DataplexLakeTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataplexLake.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataplexLake.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataplexLake.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataplexLake.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataplexLake.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataplexLake.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataplexLake.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataplexLake.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataplexLake.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataplexLake.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataplexLake.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataplexLake.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataplexLake.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataplexLake.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `assetStatus`<sup>Required</sup> <a name="assetStatus" id="@dschmidt/provider-google.DataplexLake.property.assetStatus"></a>

```typescript
public readonly assetStatus: DataplexLakeAssetStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeAssetStatusList">DataplexLakeAssetStatusList</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataplexLake.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `metastore`<sup>Required</sup> <a name="metastore" id="@dschmidt/provider-google.DataplexLake.property.metastore"></a>

```typescript
public readonly metastore: DataplexLakeMetastoreOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeMetastoreOutputReference">DataplexLakeMetastoreOutputReference</a>

---

##### `metastoreStatus`<sup>Required</sup> <a name="metastoreStatus" id="@dschmidt/provider-google.DataplexLake.property.metastoreStatus"></a>

```typescript
public readonly metastoreStatus: DataplexLakeMetastoreStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeMetastoreStatusList">DataplexLakeMetastoreStatusList</a>

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.DataplexLake.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataplexLake.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataplexLake.property.timeouts"></a>

```typescript
public readonly timeouts: DataplexLakeTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeTimeoutsOutputReference">DataplexLakeTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.DataplexLake.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataplexLake.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataplexLake.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataplexLake.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataplexLake.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataplexLake.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataplexLake.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `metastoreInput`<sup>Optional</sup> <a name="metastoreInput" id="@dschmidt/provider-google.DataplexLake.property.metastoreInput"></a>

```typescript
public readonly metastoreInput: DataplexLakeMetastore;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeMetastore">DataplexLakeMetastore</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataplexLake.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataplexLake.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataplexLake.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataplexLakeTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataplexLakeTimeouts">DataplexLakeTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataplexLake.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataplexLake.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataplexLake.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataplexLake.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataplexLake.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataplexLake.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataplexLake.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexLake.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataplexLake.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataplexZone <a name="DataplexZone" id="@dschmidt/provider-google.DataplexZone"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone google_dataplex_zone}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataplexZone.Initializer"></a>

```typescript
import { DataplexZone } from '@dschmidt/provider-google'

new DataplexZone(scope: Construct, id: string, config: DataplexZoneConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZone.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataplexZone.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataplexZone.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneConfig">DataplexZoneConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataplexZone.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataplexZone.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataplexZone.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneConfig">DataplexZoneConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZone.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataplexZone.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataplexZone.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataplexZone.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataplexZone.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.putDiscoverySpec">putDiscoverySpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.putResourceSpec">putResourceSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataplexZone.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataplexZone.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataplexZone.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexZone.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataplexZone.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataplexZone.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataplexZone.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataplexZone.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataplexZone.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataplexZone.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataplexZone.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataplexZone.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataplexZone.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataplexZone.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataplexZone.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataplexZone.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataplexZone.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataplexZone.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataplexZone.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataplexZone.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDiscoverySpec` <a name="putDiscoverySpec" id="@dschmidt/provider-google.DataplexZone.putDiscoverySpec"></a>

```typescript
public putDiscoverySpec(value: DataplexZoneDiscoverySpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexZone.putDiscoverySpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec">DataplexZoneDiscoverySpec</a>

---

##### `putResourceSpec` <a name="putResourceSpec" id="@dschmidt/provider-google.DataplexZone.putResourceSpec"></a>

```typescript
public putResourceSpec(value: DataplexZoneResourceSpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexZone.putResourceSpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneResourceSpec">DataplexZoneResourceSpec</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataplexZone.putTimeouts"></a>

```typescript
public putTimeouts(value: DataplexZoneTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataplexZone.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneTimeouts">DataplexZoneTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DataplexZone.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.DataplexZone.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataplexZone.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataplexZone.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataplexZone.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataplexZone.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZone.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataplexZone.isConstruct"></a>

```typescript
import { DataplexZone } from '@dschmidt/provider-google'

DataplexZone.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataplexZone.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.assetStatus">assetStatus</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneAssetStatusList">DataplexZoneAssetStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.discoverySpec">discoverySpec</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecOutputReference">DataplexZoneDiscoverySpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.resourceSpec">resourceSpec</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneResourceSpecOutputReference">DataplexZoneResourceSpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneTimeoutsOutputReference">DataplexZoneTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.discoverySpecInput">discoverySpecInput</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec">DataplexZoneDiscoverySpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.lakeInput">lakeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.resourceSpecInput">resourceSpecInput</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneResourceSpec">DataplexZoneResourceSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataplexZoneTimeouts">DataplexZoneTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.lake">lake</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataplexZone.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataplexZone.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataplexZone.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataplexZone.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataplexZone.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataplexZone.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataplexZone.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataplexZone.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataplexZone.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataplexZone.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataplexZone.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataplexZone.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataplexZone.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataplexZone.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `assetStatus`<sup>Required</sup> <a name="assetStatus" id="@dschmidt/provider-google.DataplexZone.property.assetStatus"></a>

```typescript
public readonly assetStatus: DataplexZoneAssetStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneAssetStatusList">DataplexZoneAssetStatusList</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataplexZone.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `discoverySpec`<sup>Required</sup> <a name="discoverySpec" id="@dschmidt/provider-google.DataplexZone.property.discoverySpec"></a>

```typescript
public readonly discoverySpec: DataplexZoneDiscoverySpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecOutputReference">DataplexZoneDiscoverySpecOutputReference</a>

---

##### `resourceSpec`<sup>Required</sup> <a name="resourceSpec" id="@dschmidt/provider-google.DataplexZone.property.resourceSpec"></a>

```typescript
public readonly resourceSpec: DataplexZoneResourceSpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneResourceSpecOutputReference">DataplexZoneResourceSpecOutputReference</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataplexZone.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataplexZone.property.timeouts"></a>

```typescript
public readonly timeouts: DataplexZoneTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneTimeoutsOutputReference">DataplexZoneTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.DataplexZone.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataplexZone.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DataplexZone.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `discoverySpecInput`<sup>Optional</sup> <a name="discoverySpecInput" id="@dschmidt/provider-google.DataplexZone.property.discoverySpecInput"></a>

```typescript
public readonly discoverySpecInput: DataplexZoneDiscoverySpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec">DataplexZoneDiscoverySpec</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DataplexZone.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataplexZone.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataplexZone.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `lakeInput`<sup>Optional</sup> <a name="lakeInput" id="@dschmidt/provider-google.DataplexZone.property.lakeInput"></a>

```typescript
public readonly lakeInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataplexZone.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataplexZone.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataplexZone.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `resourceSpecInput`<sup>Optional</sup> <a name="resourceSpecInput" id="@dschmidt/provider-google.DataplexZone.property.resourceSpecInput"></a>

```typescript
public readonly resourceSpecInput: DataplexZoneResourceSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneResourceSpec">DataplexZoneResourceSpec</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataplexZone.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataplexZoneTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataplexZoneTimeouts">DataplexZoneTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.DataplexZone.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DataplexZone.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataplexZone.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataplexZone.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataplexZone.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `lake`<sup>Required</sup> <a name="lake" id="@dschmidt/provider-google.DataplexZone.property.lake"></a>

```typescript
public readonly lake: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataplexZone.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataplexZone.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataplexZone.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataplexZone.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZone.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataplexZone.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocAutoscalingPolicy <a name="DataprocAutoscalingPolicy" id="@dschmidt/provider-google.DataprocAutoscalingPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy google_dataproc_autoscaling_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicy } from '@dschmidt/provider-google'

new DataprocAutoscalingPolicy(scope: Construct, id: string, config: DataprocAutoscalingPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig">DataprocAutoscalingPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig">DataprocAutoscalingPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.putBasicAlgorithm">putBasicAlgorithm</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.putSecondaryWorkerConfig">putSecondaryWorkerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.putWorkerConfig">putWorkerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.resetBasicAlgorithm">resetBasicAlgorithm</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.resetSecondaryWorkerConfig">resetSecondaryWorkerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.resetWorkerConfig">resetWorkerConfig</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBasicAlgorithm` <a name="putBasicAlgorithm" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.putBasicAlgorithm"></a>

```typescript
public putBasicAlgorithm(value: DataprocAutoscalingPolicyBasicAlgorithm): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.putBasicAlgorithm.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm">DataprocAutoscalingPolicyBasicAlgorithm</a>

---

##### `putSecondaryWorkerConfig` <a name="putSecondaryWorkerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.putSecondaryWorkerConfig"></a>

```typescript
public putSecondaryWorkerConfig(value: DataprocAutoscalingPolicySecondaryWorkerConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.putSecondaryWorkerConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig">DataprocAutoscalingPolicySecondaryWorkerConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: DataprocAutoscalingPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts">DataprocAutoscalingPolicyTimeouts</a>

---

##### `putWorkerConfig` <a name="putWorkerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.putWorkerConfig"></a>

```typescript
public putWorkerConfig(value: DataprocAutoscalingPolicyWorkerConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.putWorkerConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig">DataprocAutoscalingPolicyWorkerConfig</a>

---

##### `resetBasicAlgorithm` <a name="resetBasicAlgorithm" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.resetBasicAlgorithm"></a>

```typescript
public resetBasicAlgorithm(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSecondaryWorkerConfig` <a name="resetSecondaryWorkerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.resetSecondaryWorkerConfig"></a>

```typescript
public resetSecondaryWorkerConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetWorkerConfig` <a name="resetWorkerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.resetWorkerConfig"></a>

```typescript
public resetWorkerConfig(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.isConstruct"></a>

```typescript
import { DataprocAutoscalingPolicy } from '@dschmidt/provider-google'

DataprocAutoscalingPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.basicAlgorithm">basicAlgorithm</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmOutputReference">DataprocAutoscalingPolicyBasicAlgorithmOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.secondaryWorkerConfig">secondaryWorkerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfigOutputReference">DataprocAutoscalingPolicySecondaryWorkerConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeoutsOutputReference">DataprocAutoscalingPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.workerConfig">workerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfigOutputReference">DataprocAutoscalingPolicyWorkerConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.basicAlgorithmInput">basicAlgorithmInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm">DataprocAutoscalingPolicyBasicAlgorithm</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.policyIdInput">policyIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.secondaryWorkerConfigInput">secondaryWorkerConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig">DataprocAutoscalingPolicySecondaryWorkerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts">DataprocAutoscalingPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.workerConfigInput">workerConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig">DataprocAutoscalingPolicyWorkerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.policyId">policyId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `basicAlgorithm`<sup>Required</sup> <a name="basicAlgorithm" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.basicAlgorithm"></a>

```typescript
public readonly basicAlgorithm: DataprocAutoscalingPolicyBasicAlgorithmOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmOutputReference">DataprocAutoscalingPolicyBasicAlgorithmOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `secondaryWorkerConfig`<sup>Required</sup> <a name="secondaryWorkerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.secondaryWorkerConfig"></a>

```typescript
public readonly secondaryWorkerConfig: DataprocAutoscalingPolicySecondaryWorkerConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfigOutputReference">DataprocAutoscalingPolicySecondaryWorkerConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocAutoscalingPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeoutsOutputReference">DataprocAutoscalingPolicyTimeoutsOutputReference</a>

---

##### `workerConfig`<sup>Required</sup> <a name="workerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.workerConfig"></a>

```typescript
public readonly workerConfig: DataprocAutoscalingPolicyWorkerConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfigOutputReference">DataprocAutoscalingPolicyWorkerConfigOutputReference</a>

---

##### `basicAlgorithmInput`<sup>Optional</sup> <a name="basicAlgorithmInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.basicAlgorithmInput"></a>

```typescript
public readonly basicAlgorithmInput: DataprocAutoscalingPolicyBasicAlgorithm;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm">DataprocAutoscalingPolicyBasicAlgorithm</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyIdInput`<sup>Optional</sup> <a name="policyIdInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.policyIdInput"></a>

```typescript
public readonly policyIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `secondaryWorkerConfigInput`<sup>Optional</sup> <a name="secondaryWorkerConfigInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.secondaryWorkerConfigInput"></a>

```typescript
public readonly secondaryWorkerConfigInput: DataprocAutoscalingPolicySecondaryWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig">DataprocAutoscalingPolicySecondaryWorkerConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataprocAutoscalingPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts">DataprocAutoscalingPolicyTimeouts</a>

---

##### `workerConfigInput`<sup>Optional</sup> <a name="workerConfigInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.workerConfigInput"></a>

```typescript
public readonly workerConfigInput: DataprocAutoscalingPolicyWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig">DataprocAutoscalingPolicyWorkerConfig</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyId`<sup>Required</sup> <a name="policyId" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.policyId"></a>

```typescript
public readonly policyId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocAutoscalingPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocAutoscalingPolicyIamBinding <a name="DataprocAutoscalingPolicyIamBinding" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding google_dataproc_autoscaling_policy_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyIamBinding } from '@dschmidt/provider-google'

new DataprocAutoscalingPolicyIamBinding(scope: Construct, id: string, config: DataprocAutoscalingPolicyIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig">DataprocAutoscalingPolicyIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig">DataprocAutoscalingPolicyIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.putCondition"></a>

```typescript
public putCondition(value: DataprocAutoscalingPolicyIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition">DataprocAutoscalingPolicyIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.isConstruct"></a>

```typescript
import { DataprocAutoscalingPolicyIamBinding } from '@dschmidt/provider-google'

DataprocAutoscalingPolicyIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConditionOutputReference">DataprocAutoscalingPolicyIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition">DataprocAutoscalingPolicyIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.policyIdInput">policyIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.policyId">policyId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.condition"></a>

```typescript
public readonly condition: DataprocAutoscalingPolicyIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConditionOutputReference">DataprocAutoscalingPolicyIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataprocAutoscalingPolicyIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition">DataprocAutoscalingPolicyIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `policyIdInput`<sup>Optional</sup> <a name="policyIdInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.policyIdInput"></a>

```typescript
public readonly policyIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `policyId`<sup>Required</sup> <a name="policyId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.policyId"></a>

```typescript
public readonly policyId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocAutoscalingPolicyIamMember <a name="DataprocAutoscalingPolicyIamMember" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member google_dataproc_autoscaling_policy_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyIamMember } from '@dschmidt/provider-google'

new DataprocAutoscalingPolicyIamMember(scope: Construct, id: string, config: DataprocAutoscalingPolicyIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig">DataprocAutoscalingPolicyIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig">DataprocAutoscalingPolicyIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.putCondition"></a>

```typescript
public putCondition(value: DataprocAutoscalingPolicyIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition">DataprocAutoscalingPolicyIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.isConstruct"></a>

```typescript
import { DataprocAutoscalingPolicyIamMember } from '@dschmidt/provider-google'

DataprocAutoscalingPolicyIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConditionOutputReference">DataprocAutoscalingPolicyIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition">DataprocAutoscalingPolicyIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.policyIdInput">policyIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.policyId">policyId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.condition"></a>

```typescript
public readonly condition: DataprocAutoscalingPolicyIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConditionOutputReference">DataprocAutoscalingPolicyIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataprocAutoscalingPolicyIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition">DataprocAutoscalingPolicyIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `policyIdInput`<sup>Optional</sup> <a name="policyIdInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.policyIdInput"></a>

```typescript
public readonly policyIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `policyId`<sup>Required</sup> <a name="policyId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.policyId"></a>

```typescript
public readonly policyId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocAutoscalingPolicyIamPolicy <a name="DataprocAutoscalingPolicyIamPolicy" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy google_dataproc_autoscaling_policy_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyIamPolicy } from '@dschmidt/provider-google'

new DataprocAutoscalingPolicyIamPolicy(scope: Construct, id: string, config: DataprocAutoscalingPolicyIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig">DataprocAutoscalingPolicyIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig">DataprocAutoscalingPolicyIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.isConstruct"></a>

```typescript
import { DataprocAutoscalingPolicyIamPolicy } from '@dschmidt/provider-google'

DataprocAutoscalingPolicyIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.policyIdInput">policyIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.policyId">policyId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `policyIdInput`<sup>Optional</sup> <a name="policyIdInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.policyIdInput"></a>

```typescript
public readonly policyIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `policyId`<sup>Required</sup> <a name="policyId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.policyId"></a>

```typescript
public readonly policyId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocCluster <a name="DataprocCluster" id="@dschmidt/provider-google.DataprocCluster"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster google_dataproc_cluster}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocCluster.Initializer"></a>

```typescript
import { DataprocCluster } from '@dschmidt/provider-google'

new DataprocCluster(scope: Construct, id: string, config: DataprocClusterConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterConfig">DataprocClusterConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocCluster.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocCluster.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocCluster.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterConfig">DataprocClusterConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.putClusterConfig">putClusterConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.putVirtualClusterConfig">putVirtualClusterConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.resetClusterConfig">resetClusterConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.resetGracefulDecommissionTimeout">resetGracefulDecommissionTimeout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.resetVirtualClusterConfig">resetVirtualClusterConfig</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocCluster.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocCluster.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocCluster.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocCluster.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocCluster.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocCluster.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocCluster.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocCluster.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocCluster.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocCluster.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocCluster.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocCluster.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocCluster.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocCluster.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocCluster.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocCluster.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocCluster.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocCluster.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocCluster.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocCluster.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putClusterConfig` <a name="putClusterConfig" id="@dschmidt/provider-google.DataprocCluster.putClusterConfig"></a>

```typescript
public putClusterConfig(value: DataprocClusterClusterConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocCluster.putClusterConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfig">DataprocClusterClusterConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataprocCluster.putTimeouts"></a>

```typescript
public putTimeouts(value: DataprocClusterTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocCluster.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterTimeouts">DataprocClusterTimeouts</a>

---

##### `putVirtualClusterConfig` <a name="putVirtualClusterConfig" id="@dschmidt/provider-google.DataprocCluster.putVirtualClusterConfig"></a>

```typescript
public putVirtualClusterConfig(value: DataprocClusterVirtualClusterConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocCluster.putVirtualClusterConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfig">DataprocClusterVirtualClusterConfig</a>

---

##### `resetClusterConfig` <a name="resetClusterConfig" id="@dschmidt/provider-google.DataprocCluster.resetClusterConfig"></a>

```typescript
public resetClusterConfig(): void
```

##### `resetGracefulDecommissionTimeout` <a name="resetGracefulDecommissionTimeout" id="@dschmidt/provider-google.DataprocCluster.resetGracefulDecommissionTimeout"></a>

```typescript
public resetGracefulDecommissionTimeout(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocCluster.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataprocCluster.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocCluster.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataprocCluster.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataprocCluster.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVirtualClusterConfig` <a name="resetVirtualClusterConfig" id="@dschmidt/provider-google.DataprocCluster.resetVirtualClusterConfig"></a>

```typescript
public resetVirtualClusterConfig(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocCluster.isConstruct"></a>

```typescript
import { DataprocCluster } from '@dschmidt/provider-google'

DataprocCluster.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocCluster.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.clusterConfig">clusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigOutputReference">DataprocClusterClusterConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterTimeoutsOutputReference">DataprocClusterTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.virtualClusterConfig">virtualClusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigOutputReference">DataprocClusterVirtualClusterConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.clusterConfigInput">clusterConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig">DataprocClusterClusterConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.gracefulDecommissionTimeoutInput">gracefulDecommissionTimeoutInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocClusterTimeouts">DataprocClusterTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.virtualClusterConfigInput">virtualClusterConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfig">DataprocClusterVirtualClusterConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.gracefulDecommissionTimeout">gracefulDecommissionTimeout</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocCluster.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocCluster.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocCluster.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocCluster.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocCluster.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocCluster.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocCluster.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocCluster.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocCluster.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocCluster.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocCluster.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocCluster.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocCluster.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocCluster.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `clusterConfig`<sup>Required</sup> <a name="clusterConfig" id="@dschmidt/provider-google.DataprocCluster.property.clusterConfig"></a>

```typescript
public readonly clusterConfig: DataprocClusterClusterConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigOutputReference">DataprocClusterClusterConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocCluster.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocClusterTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterTimeoutsOutputReference">DataprocClusterTimeoutsOutputReference</a>

---

##### `virtualClusterConfig`<sup>Required</sup> <a name="virtualClusterConfig" id="@dschmidt/provider-google.DataprocCluster.property.virtualClusterConfig"></a>

```typescript
public readonly virtualClusterConfig: DataprocClusterVirtualClusterConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigOutputReference">DataprocClusterVirtualClusterConfigOutputReference</a>

---

##### `clusterConfigInput`<sup>Optional</sup> <a name="clusterConfigInput" id="@dschmidt/provider-google.DataprocCluster.property.clusterConfigInput"></a>

```typescript
public readonly clusterConfigInput: DataprocClusterClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfig">DataprocClusterClusterConfig</a>

---

##### `gracefulDecommissionTimeoutInput`<sup>Optional</sup> <a name="gracefulDecommissionTimeoutInput" id="@dschmidt/provider-google.DataprocCluster.property.gracefulDecommissionTimeoutInput"></a>

```typescript
public readonly gracefulDecommissionTimeoutInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocCluster.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataprocCluster.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataprocCluster.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocCluster.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataprocCluster.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataprocCluster.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataprocClusterTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocClusterTimeouts">DataprocClusterTimeouts</a>

---

##### `virtualClusterConfigInput`<sup>Optional</sup> <a name="virtualClusterConfigInput" id="@dschmidt/provider-google.DataprocCluster.property.virtualClusterConfigInput"></a>

```typescript
public readonly virtualClusterConfigInput: DataprocClusterVirtualClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfig">DataprocClusterVirtualClusterConfig</a>

---

##### `gracefulDecommissionTimeout`<sup>Required</sup> <a name="gracefulDecommissionTimeout" id="@dschmidt/provider-google.DataprocCluster.property.gracefulDecommissionTimeout"></a>

```typescript
public readonly gracefulDecommissionTimeout: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocCluster.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataprocCluster.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataprocCluster.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocCluster.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataprocCluster.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocCluster.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocCluster.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocClusterIamBinding <a name="DataprocClusterIamBinding" id="@dschmidt/provider-google.DataprocClusterIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding google_dataproc_cluster_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocClusterIamBinding.Initializer"></a>

```typescript
import { DataprocClusterIamBinding } from '@dschmidt/provider-google'

new DataprocClusterIamBinding(scope: Construct, id: string, config: DataprocClusterIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig">DataprocClusterIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocClusterIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocClusterIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig">DataprocClusterIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocClusterIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocClusterIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocClusterIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocClusterIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocClusterIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocClusterIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocClusterIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocClusterIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocClusterIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataprocClusterIamBinding.putCondition"></a>

```typescript
public putCondition(value: DataprocClusterIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocClusterIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamBindingCondition">DataprocClusterIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataprocClusterIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocClusterIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocClusterIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataprocClusterIamBinding.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocClusterIamBinding.isConstruct"></a>

```typescript
import { DataprocClusterIamBinding } from '@dschmidt/provider-google'

DataprocClusterIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocClusterIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConditionOutputReference">DataprocClusterIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.clusterInput">clusterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingCondition">DataprocClusterIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.cluster">cluster</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.condition"></a>

```typescript
public readonly condition: DataprocClusterIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamBindingConditionOutputReference">DataprocClusterIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `clusterInput`<sup>Optional</sup> <a name="clusterInput" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.clusterInput"></a>

```typescript
public readonly clusterInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataprocClusterIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamBindingCondition">DataprocClusterIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocClusterIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocClusterIamMember <a name="DataprocClusterIamMember" id="@dschmidt/provider-google.DataprocClusterIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member google_dataproc_cluster_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocClusterIamMember.Initializer"></a>

```typescript
import { DataprocClusterIamMember } from '@dschmidt/provider-google'

new DataprocClusterIamMember(scope: Construct, id: string, config: DataprocClusterIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig">DataprocClusterIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocClusterIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocClusterIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig">DataprocClusterIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocClusterIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocClusterIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocClusterIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocClusterIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocClusterIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocClusterIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocClusterIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocClusterIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocClusterIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataprocClusterIamMember.putCondition"></a>

```typescript
public putCondition(value: DataprocClusterIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocClusterIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamMemberCondition">DataprocClusterIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataprocClusterIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocClusterIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocClusterIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataprocClusterIamMember.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocClusterIamMember.isConstruct"></a>

```typescript
import { DataprocClusterIamMember } from '@dschmidt/provider-google'

DataprocClusterIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocClusterIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConditionOutputReference">DataprocClusterIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.clusterInput">clusterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberCondition">DataprocClusterIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.cluster">cluster</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocClusterIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocClusterIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocClusterIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocClusterIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocClusterIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocClusterIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocClusterIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocClusterIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocClusterIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocClusterIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocClusterIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocClusterIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocClusterIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocClusterIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataprocClusterIamMember.property.condition"></a>

```typescript
public readonly condition: DataprocClusterIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamMemberConditionOutputReference">DataprocClusterIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocClusterIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `clusterInput`<sup>Optional</sup> <a name="clusterInput" id="@dschmidt/provider-google.DataprocClusterIamMember.property.clusterInput"></a>

```typescript
public readonly clusterInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataprocClusterIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataprocClusterIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamMemberCondition">DataprocClusterIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocClusterIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.DataprocClusterIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocClusterIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataprocClusterIamMember.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataprocClusterIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.DataprocClusterIamMember.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataprocClusterIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocClusterIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataprocClusterIamMember.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocClusterIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocClusterIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocClusterIamPolicy <a name="DataprocClusterIamPolicy" id="@dschmidt/provider-google.DataprocClusterIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy google_dataproc_cluster_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocClusterIamPolicy.Initializer"></a>

```typescript
import { DataprocClusterIamPolicy } from '@dschmidt/provider-google'

new DataprocClusterIamPolicy(scope: Construct, id: string, config: DataprocClusterIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig">DataprocClusterIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocClusterIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocClusterIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig">DataprocClusterIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocClusterIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocClusterIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocClusterIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocClusterIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocClusterIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocClusterIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocClusterIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocClusterIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocClusterIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocClusterIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocClusterIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocClusterIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataprocClusterIamPolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocClusterIamPolicy.isConstruct"></a>

```typescript
import { DataprocClusterIamPolicy } from '@dschmidt/provider-google'

DataprocClusterIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocClusterIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.clusterInput">clusterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.cluster">cluster</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `clusterInput`<sup>Optional</sup> <a name="clusterInput" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.clusterInput"></a>

```typescript
public readonly clusterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocClusterIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocJob <a name="DataprocJob" id="@dschmidt/provider-google.DataprocJob"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_job google_dataproc_job}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocJob.Initializer"></a>

```typescript
import { DataprocJob } from '@dschmidt/provider-google'

new DataprocJob(scope: Construct, id: string, config: DataprocJobConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJob.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocJob.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocJob.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobConfig">DataprocJobConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocJob.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocJob.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocJob.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobConfig">DataprocJobConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJob.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocJob.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocJob.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocJob.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putHadoopConfig">putHadoopConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putHiveConfig">putHiveConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putPigConfig">putPigConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putPlacement">putPlacement</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putPrestoConfig">putPrestoConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putPysparkConfig">putPysparkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putReference">putReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putScheduling">putScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putSparkConfig">putSparkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putSparksqlConfig">putSparksqlConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetForceDelete">resetForceDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetHadoopConfig">resetHadoopConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetHiveConfig">resetHiveConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetPigConfig">resetPigConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetPrestoConfig">resetPrestoConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetPysparkConfig">resetPysparkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetReference">resetReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetScheduling">resetScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetSparkConfig">resetSparkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetSparksqlConfig">resetSparksqlConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocJob.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocJob.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocJob.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocJob.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocJob.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocJob.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocJob.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocJob.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocJob.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocJob.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocJob.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocJob.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocJob.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocJob.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocJob.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocJob.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocJob.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocJob.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJob.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putHadoopConfig` <a name="putHadoopConfig" id="@dschmidt/provider-google.DataprocJob.putHadoopConfig"></a>

```typescript
public putHadoopConfig(value: DataprocJobHadoopConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putHadoopConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobHadoopConfig">DataprocJobHadoopConfig</a>

---

##### `putHiveConfig` <a name="putHiveConfig" id="@dschmidt/provider-google.DataprocJob.putHiveConfig"></a>

```typescript
public putHiveConfig(value: DataprocJobHiveConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putHiveConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobHiveConfig">DataprocJobHiveConfig</a>

---

##### `putPigConfig` <a name="putPigConfig" id="@dschmidt/provider-google.DataprocJob.putPigConfig"></a>

```typescript
public putPigConfig(value: DataprocJobPigConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putPigConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPigConfig">DataprocJobPigConfig</a>

---

##### `putPlacement` <a name="putPlacement" id="@dschmidt/provider-google.DataprocJob.putPlacement"></a>

```typescript
public putPlacement(value: DataprocJobPlacement): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putPlacement.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPlacement">DataprocJobPlacement</a>

---

##### `putPrestoConfig` <a name="putPrestoConfig" id="@dschmidt/provider-google.DataprocJob.putPrestoConfig"></a>

```typescript
public putPrestoConfig(value: DataprocJobPrestoConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putPrestoConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPrestoConfig">DataprocJobPrestoConfig</a>

---

##### `putPysparkConfig` <a name="putPysparkConfig" id="@dschmidt/provider-google.DataprocJob.putPysparkConfig"></a>

```typescript
public putPysparkConfig(value: DataprocJobPysparkConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putPysparkConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPysparkConfig">DataprocJobPysparkConfig</a>

---

##### `putReference` <a name="putReference" id="@dschmidt/provider-google.DataprocJob.putReference"></a>

```typescript
public putReference(value: DataprocJobReference): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putReference.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobReference">DataprocJobReference</a>

---

##### `putScheduling` <a name="putScheduling" id="@dschmidt/provider-google.DataprocJob.putScheduling"></a>

```typescript
public putScheduling(value: DataprocJobScheduling): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putScheduling.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobScheduling">DataprocJobScheduling</a>

---

##### `putSparkConfig` <a name="putSparkConfig" id="@dschmidt/provider-google.DataprocJob.putSparkConfig"></a>

```typescript
public putSparkConfig(value: DataprocJobSparkConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putSparkConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparkConfig">DataprocJobSparkConfig</a>

---

##### `putSparksqlConfig` <a name="putSparksqlConfig" id="@dschmidt/provider-google.DataprocJob.putSparksqlConfig"></a>

```typescript
public putSparksqlConfig(value: DataprocJobSparksqlConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putSparksqlConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig">DataprocJobSparksqlConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataprocJob.putTimeouts"></a>

```typescript
public putTimeouts(value: DataprocJobTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJob.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobTimeouts">DataprocJobTimeouts</a>

---

##### `resetForceDelete` <a name="resetForceDelete" id="@dschmidt/provider-google.DataprocJob.resetForceDelete"></a>

```typescript
public resetForceDelete(): void
```

##### `resetHadoopConfig` <a name="resetHadoopConfig" id="@dschmidt/provider-google.DataprocJob.resetHadoopConfig"></a>

```typescript
public resetHadoopConfig(): void
```

##### `resetHiveConfig` <a name="resetHiveConfig" id="@dschmidt/provider-google.DataprocJob.resetHiveConfig"></a>

```typescript
public resetHiveConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocJob.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataprocJob.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetPigConfig` <a name="resetPigConfig" id="@dschmidt/provider-google.DataprocJob.resetPigConfig"></a>

```typescript
public resetPigConfig(): void
```

##### `resetPrestoConfig` <a name="resetPrestoConfig" id="@dschmidt/provider-google.DataprocJob.resetPrestoConfig"></a>

```typescript
public resetPrestoConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocJob.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPysparkConfig` <a name="resetPysparkConfig" id="@dschmidt/provider-google.DataprocJob.resetPysparkConfig"></a>

```typescript
public resetPysparkConfig(): void
```

##### `resetReference` <a name="resetReference" id="@dschmidt/provider-google.DataprocJob.resetReference"></a>

```typescript
public resetReference(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataprocJob.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetScheduling` <a name="resetScheduling" id="@dschmidt/provider-google.DataprocJob.resetScheduling"></a>

```typescript
public resetScheduling(): void
```

##### `resetSparkConfig` <a name="resetSparkConfig" id="@dschmidt/provider-google.DataprocJob.resetSparkConfig"></a>

```typescript
public resetSparkConfig(): void
```

##### `resetSparksqlConfig` <a name="resetSparksqlConfig" id="@dschmidt/provider-google.DataprocJob.resetSparksqlConfig"></a>

```typescript
public resetSparksqlConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataprocJob.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJob.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocJob.isConstruct"></a>

```typescript
import { DataprocJob } from '@dschmidt/provider-google'

DataprocJob.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocJob.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.driverControlsFilesUri">driverControlsFilesUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.driverOutputResourceUri">driverOutputResourceUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.hadoopConfig">hadoopConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfigOutputReference">DataprocJobHadoopConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.hiveConfig">hiveConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobHiveConfigOutputReference">DataprocJobHiveConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.pigConfig">pigConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPigConfigOutputReference">DataprocJobPigConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.placement">placement</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPlacementOutputReference">DataprocJobPlacementOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.prestoConfig">prestoConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfigOutputReference">DataprocJobPrestoConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.pysparkConfig">pysparkConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfigOutputReference">DataprocJobPysparkConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.reference">reference</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobReferenceOutputReference">DataprocJobReferenceOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobSchedulingOutputReference">DataprocJobSchedulingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.sparkConfig">sparkConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfigOutputReference">DataprocJobSparkConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.sparksqlConfig">sparksqlConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfigOutputReference">DataprocJobSparksqlConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobStatusList">DataprocJobStatusList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobTimeoutsOutputReference">DataprocJobTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.forceDeleteInput">forceDeleteInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.hadoopConfigInput">hadoopConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig">DataprocJobHadoopConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.hiveConfigInput">hiveConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobHiveConfig">DataprocJobHiveConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.pigConfigInput">pigConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPigConfig">DataprocJobPigConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.placementInput">placementInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPlacement">DataprocJobPlacement</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.prestoConfigInput">prestoConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfig">DataprocJobPrestoConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.pysparkConfigInput">pysparkConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig">DataprocJobPysparkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.referenceInput">referenceInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobReference">DataprocJobReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.schedulingInput">schedulingInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobScheduling">DataprocJobScheduling</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.sparkConfigInput">sparkConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig">DataprocJobSparkConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.sparksqlConfigInput">sparksqlConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig">DataprocJobSparksqlConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocJobTimeouts">DataprocJobTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.forceDelete">forceDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocJob.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocJob.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocJob.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocJob.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocJob.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocJob.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocJob.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocJob.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocJob.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocJob.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocJob.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocJob.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocJob.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocJob.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `driverControlsFilesUri`<sup>Required</sup> <a name="driverControlsFilesUri" id="@dschmidt/provider-google.DataprocJob.property.driverControlsFilesUri"></a>

```typescript
public readonly driverControlsFilesUri: string;
```

- *Type:* string

---

##### `driverOutputResourceUri`<sup>Required</sup> <a name="driverOutputResourceUri" id="@dschmidt/provider-google.DataprocJob.property.driverOutputResourceUri"></a>

```typescript
public readonly driverOutputResourceUri: string;
```

- *Type:* string

---

##### `hadoopConfig`<sup>Required</sup> <a name="hadoopConfig" id="@dschmidt/provider-google.DataprocJob.property.hadoopConfig"></a>

```typescript
public readonly hadoopConfig: DataprocJobHadoopConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobHadoopConfigOutputReference">DataprocJobHadoopConfigOutputReference</a>

---

##### `hiveConfig`<sup>Required</sup> <a name="hiveConfig" id="@dschmidt/provider-google.DataprocJob.property.hiveConfig"></a>

```typescript
public readonly hiveConfig: DataprocJobHiveConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobHiveConfigOutputReference">DataprocJobHiveConfigOutputReference</a>

---

##### `pigConfig`<sup>Required</sup> <a name="pigConfig" id="@dschmidt/provider-google.DataprocJob.property.pigConfig"></a>

```typescript
public readonly pigConfig: DataprocJobPigConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPigConfigOutputReference">DataprocJobPigConfigOutputReference</a>

---

##### `placement`<sup>Required</sup> <a name="placement" id="@dschmidt/provider-google.DataprocJob.property.placement"></a>

```typescript
public readonly placement: DataprocJobPlacementOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPlacementOutputReference">DataprocJobPlacementOutputReference</a>

---

##### `prestoConfig`<sup>Required</sup> <a name="prestoConfig" id="@dschmidt/provider-google.DataprocJob.property.prestoConfig"></a>

```typescript
public readonly prestoConfig: DataprocJobPrestoConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPrestoConfigOutputReference">DataprocJobPrestoConfigOutputReference</a>

---

##### `pysparkConfig`<sup>Required</sup> <a name="pysparkConfig" id="@dschmidt/provider-google.DataprocJob.property.pysparkConfig"></a>

```typescript
public readonly pysparkConfig: DataprocJobPysparkConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPysparkConfigOutputReference">DataprocJobPysparkConfigOutputReference</a>

---

##### `reference`<sup>Required</sup> <a name="reference" id="@dschmidt/provider-google.DataprocJob.property.reference"></a>

```typescript
public readonly reference: DataprocJobReferenceOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobReferenceOutputReference">DataprocJobReferenceOutputReference</a>

---

##### `scheduling`<sup>Required</sup> <a name="scheduling" id="@dschmidt/provider-google.DataprocJob.property.scheduling"></a>

```typescript
public readonly scheduling: DataprocJobSchedulingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSchedulingOutputReference">DataprocJobSchedulingOutputReference</a>

---

##### `sparkConfig`<sup>Required</sup> <a name="sparkConfig" id="@dschmidt/provider-google.DataprocJob.property.sparkConfig"></a>

```typescript
public readonly sparkConfig: DataprocJobSparkConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparkConfigOutputReference">DataprocJobSparkConfigOutputReference</a>

---

##### `sparksqlConfig`<sup>Required</sup> <a name="sparksqlConfig" id="@dschmidt/provider-google.DataprocJob.property.sparksqlConfig"></a>

```typescript
public readonly sparksqlConfig: DataprocJobSparksqlConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparksqlConfigOutputReference">DataprocJobSparksqlConfigOutputReference</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.DataprocJob.property.status"></a>

```typescript
public readonly status: DataprocJobStatusList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobStatusList">DataprocJobStatusList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocJob.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocJobTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobTimeoutsOutputReference">DataprocJobTimeoutsOutputReference</a>

---

##### `forceDeleteInput`<sup>Optional</sup> <a name="forceDeleteInput" id="@dschmidt/provider-google.DataprocJob.property.forceDeleteInput"></a>

```typescript
public readonly forceDeleteInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `hadoopConfigInput`<sup>Optional</sup> <a name="hadoopConfigInput" id="@dschmidt/provider-google.DataprocJob.property.hadoopConfigInput"></a>

```typescript
public readonly hadoopConfigInput: DataprocJobHadoopConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobHadoopConfig">DataprocJobHadoopConfig</a>

---

##### `hiveConfigInput`<sup>Optional</sup> <a name="hiveConfigInput" id="@dschmidt/provider-google.DataprocJob.property.hiveConfigInput"></a>

```typescript
public readonly hiveConfigInput: DataprocJobHiveConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobHiveConfig">DataprocJobHiveConfig</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocJob.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataprocJob.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `pigConfigInput`<sup>Optional</sup> <a name="pigConfigInput" id="@dschmidt/provider-google.DataprocJob.property.pigConfigInput"></a>

```typescript
public readonly pigConfigInput: DataprocJobPigConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPigConfig">DataprocJobPigConfig</a>

---

##### `placementInput`<sup>Optional</sup> <a name="placementInput" id="@dschmidt/provider-google.DataprocJob.property.placementInput"></a>

```typescript
public readonly placementInput: DataprocJobPlacement;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPlacement">DataprocJobPlacement</a>

---

##### `prestoConfigInput`<sup>Optional</sup> <a name="prestoConfigInput" id="@dschmidt/provider-google.DataprocJob.property.prestoConfigInput"></a>

```typescript
public readonly prestoConfigInput: DataprocJobPrestoConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPrestoConfig">DataprocJobPrestoConfig</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocJob.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `pysparkConfigInput`<sup>Optional</sup> <a name="pysparkConfigInput" id="@dschmidt/provider-google.DataprocJob.property.pysparkConfigInput"></a>

```typescript
public readonly pysparkConfigInput: DataprocJobPysparkConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPysparkConfig">DataprocJobPysparkConfig</a>

---

##### `referenceInput`<sup>Optional</sup> <a name="referenceInput" id="@dschmidt/provider-google.DataprocJob.property.referenceInput"></a>

```typescript
public readonly referenceInput: DataprocJobReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobReference">DataprocJobReference</a>

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataprocJob.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `schedulingInput`<sup>Optional</sup> <a name="schedulingInput" id="@dschmidt/provider-google.DataprocJob.property.schedulingInput"></a>

```typescript
public readonly schedulingInput: DataprocJobScheduling;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobScheduling">DataprocJobScheduling</a>

---

##### `sparkConfigInput`<sup>Optional</sup> <a name="sparkConfigInput" id="@dschmidt/provider-google.DataprocJob.property.sparkConfigInput"></a>

```typescript
public readonly sparkConfigInput: DataprocJobSparkConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparkConfig">DataprocJobSparkConfig</a>

---

##### `sparksqlConfigInput`<sup>Optional</sup> <a name="sparksqlConfigInput" id="@dschmidt/provider-google.DataprocJob.property.sparksqlConfigInput"></a>

```typescript
public readonly sparksqlConfigInput: DataprocJobSparksqlConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig">DataprocJobSparksqlConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataprocJob.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataprocJobTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocJobTimeouts">DataprocJobTimeouts</a>

---

##### `forceDelete`<sup>Required</sup> <a name="forceDelete" id="@dschmidt/provider-google.DataprocJob.property.forceDelete"></a>

```typescript
public readonly forceDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocJob.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataprocJob.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocJob.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataprocJob.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJob.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocJob.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocJobIamBinding <a name="DataprocJobIamBinding" id="@dschmidt/provider-google.DataprocJobIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding google_dataproc_job_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocJobIamBinding.Initializer"></a>

```typescript
import { DataprocJobIamBinding } from '@dschmidt/provider-google'

new DataprocJobIamBinding(scope: Construct, id: string, config: DataprocJobIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig">DataprocJobIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocJobIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocJobIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig">DataprocJobIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocJobIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocJobIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocJobIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJobIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocJobIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocJobIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocJobIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocJobIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocJobIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataprocJobIamBinding.putCondition"></a>

```typescript
public putCondition(value: DataprocJobIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJobIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamBindingCondition">DataprocJobIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataprocJobIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocJobIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocJobIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataprocJobIamBinding.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocJobIamBinding.isConstruct"></a>

```typescript
import { DataprocJobIamBinding } from '@dschmidt/provider-google'

DataprocJobIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocJobIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConditionOutputReference">DataprocJobIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingCondition">DataprocJobIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.jobIdInput">jobIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.jobId">jobId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocJobIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocJobIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocJobIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocJobIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocJobIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocJobIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocJobIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocJobIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocJobIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocJobIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocJobIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocJobIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocJobIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocJobIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataprocJobIamBinding.property.condition"></a>

```typescript
public readonly condition: DataprocJobIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamBindingConditionOutputReference">DataprocJobIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocJobIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataprocJobIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataprocJobIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamBindingCondition">DataprocJobIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocJobIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `jobIdInput`<sup>Optional</sup> <a name="jobIdInput" id="@dschmidt/provider-google.DataprocJobIamBinding.property.jobIdInput"></a>

```typescript
public readonly jobIdInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.DataprocJobIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocJobIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataprocJobIamBinding.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataprocJobIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `jobId`<sup>Required</sup> <a name="jobId" id="@dschmidt/provider-google.DataprocJobIamBinding.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataprocJobIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocJobIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataprocJobIamBinding.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocJobIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocJobIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocJobIamMember <a name="DataprocJobIamMember" id="@dschmidt/provider-google.DataprocJobIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member google_dataproc_job_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocJobIamMember.Initializer"></a>

```typescript
import { DataprocJobIamMember } from '@dschmidt/provider-google'

new DataprocJobIamMember(scope: Construct, id: string, config: DataprocJobIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig">DataprocJobIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocJobIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocJobIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig">DataprocJobIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocJobIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocJobIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocJobIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJobIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocJobIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocJobIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocJobIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocJobIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocJobIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataprocJobIamMember.putCondition"></a>

```typescript
public putCondition(value: DataprocJobIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJobIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamMemberCondition">DataprocJobIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataprocJobIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocJobIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocJobIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataprocJobIamMember.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocJobIamMember.isConstruct"></a>

```typescript
import { DataprocJobIamMember } from '@dschmidt/provider-google'

DataprocJobIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocJobIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConditionOutputReference">DataprocJobIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberCondition">DataprocJobIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.jobIdInput">jobIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.jobId">jobId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocJobIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocJobIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocJobIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocJobIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocJobIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocJobIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocJobIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocJobIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocJobIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocJobIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocJobIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocJobIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocJobIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocJobIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataprocJobIamMember.property.condition"></a>

```typescript
public readonly condition: DataprocJobIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamMemberConditionOutputReference">DataprocJobIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocJobIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataprocJobIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataprocJobIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamMemberCondition">DataprocJobIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocJobIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `jobIdInput`<sup>Optional</sup> <a name="jobIdInput" id="@dschmidt/provider-google.DataprocJobIamMember.property.jobIdInput"></a>

```typescript
public readonly jobIdInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.DataprocJobIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocJobIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataprocJobIamMember.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataprocJobIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `jobId`<sup>Required</sup> <a name="jobId" id="@dschmidt/provider-google.DataprocJobIamMember.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataprocJobIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocJobIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataprocJobIamMember.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocJobIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocJobIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocJobIamPolicy <a name="DataprocJobIamPolicy" id="@dschmidt/provider-google.DataprocJobIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy google_dataproc_job_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocJobIamPolicy.Initializer"></a>

```typescript
import { DataprocJobIamPolicy } from '@dschmidt/provider-google'

new DataprocJobIamPolicy(scope: Construct, id: string, config: DataprocJobIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig">DataprocJobIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocJobIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocJobIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig">DataprocJobIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.resetRegion">resetRegion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocJobIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocJobIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocJobIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocJobIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocJobIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocJobIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocJobIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocJobIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocJobIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocJobIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocJobIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocJobIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.DataprocJobIamPolicy.resetRegion"></a>

```typescript
public resetRegion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocJobIamPolicy.isConstruct"></a>

```typescript
import { DataprocJobIamPolicy } from '@dschmidt/provider-google'

DataprocJobIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocJobIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.jobIdInput">jobIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.jobId">jobId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `jobIdInput`<sup>Optional</sup> <a name="jobIdInput" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.jobIdInput"></a>

```typescript
public readonly jobIdInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `jobId`<sup>Required</sup> <a name="jobId" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocJobIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocMetastoreService <a name="DataprocMetastoreService" id="@dschmidt/provider-google.DataprocMetastoreService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service google_dataproc_metastore_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocMetastoreService.Initializer"></a>

```typescript
import { DataprocMetastoreService } from '@dschmidt/provider-google'

new DataprocMetastoreService(scope: Construct, id: string, config: DataprocMetastoreServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig">DataprocMetastoreServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocMetastoreService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocMetastoreService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig">DataprocMetastoreServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.putEncryptionConfig">putEncryptionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.putHiveMetastoreConfig">putHiveMetastoreConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.putMaintenanceWindow">putMaintenanceWindow</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetDatabaseType">resetDatabaseType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetEncryptionConfig">resetEncryptionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetHiveMetastoreConfig">resetHiveMetastoreConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetMaintenanceWindow">resetMaintenanceWindow</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetPort">resetPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetReleaseChannel">resetReleaseChannel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetTier">resetTier</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocMetastoreService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocMetastoreService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocMetastoreService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocMetastoreService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocMetastoreService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocMetastoreService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocMetastoreService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocMetastoreService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEncryptionConfig` <a name="putEncryptionConfig" id="@dschmidt/provider-google.DataprocMetastoreService.putEncryptionConfig"></a>

```typescript
public putEncryptionConfig(value: DataprocMetastoreServiceEncryptionConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreService.putEncryptionConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfig">DataprocMetastoreServiceEncryptionConfig</a>

---

##### `putHiveMetastoreConfig` <a name="putHiveMetastoreConfig" id="@dschmidt/provider-google.DataprocMetastoreService.putHiveMetastoreConfig"></a>

```typescript
public putHiveMetastoreConfig(value: DataprocMetastoreServiceHiveMetastoreConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreService.putHiveMetastoreConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig">DataprocMetastoreServiceHiveMetastoreConfig</a>

---

##### `putMaintenanceWindow` <a name="putMaintenanceWindow" id="@dschmidt/provider-google.DataprocMetastoreService.putMaintenanceWindow"></a>

```typescript
public putMaintenanceWindow(value: DataprocMetastoreServiceMaintenanceWindow): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreService.putMaintenanceWindow.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow">DataprocMetastoreServiceMaintenanceWindow</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataprocMetastoreService.putTimeouts"></a>

```typescript
public putTimeouts(value: DataprocMetastoreServiceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreService.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeouts">DataprocMetastoreServiceTimeouts</a>

---

##### `resetDatabaseType` <a name="resetDatabaseType" id="@dschmidt/provider-google.DataprocMetastoreService.resetDatabaseType"></a>

```typescript
public resetDatabaseType(): void
```

##### `resetEncryptionConfig` <a name="resetEncryptionConfig" id="@dschmidt/provider-google.DataprocMetastoreService.resetEncryptionConfig"></a>

```typescript
public resetEncryptionConfig(): void
```

##### `resetHiveMetastoreConfig` <a name="resetHiveMetastoreConfig" id="@dschmidt/provider-google.DataprocMetastoreService.resetHiveMetastoreConfig"></a>

```typescript
public resetHiveMetastoreConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocMetastoreService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataprocMetastoreService.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataprocMetastoreService.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetMaintenanceWindow` <a name="resetMaintenanceWindow" id="@dschmidt/provider-google.DataprocMetastoreService.resetMaintenanceWindow"></a>

```typescript
public resetMaintenanceWindow(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.DataprocMetastoreService.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetPort` <a name="resetPort" id="@dschmidt/provider-google.DataprocMetastoreService.resetPort"></a>

```typescript
public resetPort(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocMetastoreService.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetReleaseChannel` <a name="resetReleaseChannel" id="@dschmidt/provider-google.DataprocMetastoreService.resetReleaseChannel"></a>

```typescript
public resetReleaseChannel(): void
```

##### `resetTier` <a name="resetTier" id="@dschmidt/provider-google.DataprocMetastoreService.resetTier"></a>

```typescript
public resetTier(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataprocMetastoreService.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocMetastoreService.isConstruct"></a>

```typescript
import { DataprocMetastoreService } from '@dschmidt/provider-google'

DataprocMetastoreService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocMetastoreService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.artifactGcsUri">artifactGcsUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.encryptionConfig">encryptionConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfigOutputReference">DataprocMetastoreServiceEncryptionConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.endpointUri">endpointUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.hiveMetastoreConfig">hiveMetastoreConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigOutputReference">DataprocMetastoreServiceHiveMetastoreConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.maintenanceWindow">maintenanceWindow</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindowOutputReference">DataprocMetastoreServiceMaintenanceWindowOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.stateMessage">stateMessage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeoutsOutputReference">DataprocMetastoreServiceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.databaseTypeInput">databaseTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.encryptionConfigInput">encryptionConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfig">DataprocMetastoreServiceEncryptionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.hiveMetastoreConfigInput">hiveMetastoreConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig">DataprocMetastoreServiceHiveMetastoreConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.maintenanceWindowInput">maintenanceWindowInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow">DataprocMetastoreServiceMaintenanceWindow</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.portInput">portInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.releaseChannelInput">releaseChannelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.serviceIdInput">serviceIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.tierInput">tierInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeouts">DataprocMetastoreServiceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.databaseType">databaseType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.releaseChannel">releaseChannel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.tier">tier</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocMetastoreService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocMetastoreService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocMetastoreService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocMetastoreService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocMetastoreService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocMetastoreService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocMetastoreService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocMetastoreService.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocMetastoreService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocMetastoreService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocMetastoreService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocMetastoreService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocMetastoreService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocMetastoreService.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `artifactGcsUri`<sup>Required</sup> <a name="artifactGcsUri" id="@dschmidt/provider-google.DataprocMetastoreService.property.artifactGcsUri"></a>

```typescript
public readonly artifactGcsUri: string;
```

- *Type:* string

---

##### `encryptionConfig`<sup>Required</sup> <a name="encryptionConfig" id="@dschmidt/provider-google.DataprocMetastoreService.property.encryptionConfig"></a>

```typescript
public readonly encryptionConfig: DataprocMetastoreServiceEncryptionConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfigOutputReference">DataprocMetastoreServiceEncryptionConfigOutputReference</a>

---

##### `endpointUri`<sup>Required</sup> <a name="endpointUri" id="@dschmidt/provider-google.DataprocMetastoreService.property.endpointUri"></a>

```typescript
public readonly endpointUri: string;
```

- *Type:* string

---

##### `hiveMetastoreConfig`<sup>Required</sup> <a name="hiveMetastoreConfig" id="@dschmidt/provider-google.DataprocMetastoreService.property.hiveMetastoreConfig"></a>

```typescript
public readonly hiveMetastoreConfig: DataprocMetastoreServiceHiveMetastoreConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigOutputReference">DataprocMetastoreServiceHiveMetastoreConfigOutputReference</a>

---

##### `maintenanceWindow`<sup>Required</sup> <a name="maintenanceWindow" id="@dschmidt/provider-google.DataprocMetastoreService.property.maintenanceWindow"></a>

```typescript
public readonly maintenanceWindow: DataprocMetastoreServiceMaintenanceWindowOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindowOutputReference">DataprocMetastoreServiceMaintenanceWindowOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataprocMetastoreService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DataprocMetastoreService.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `stateMessage`<sup>Required</sup> <a name="stateMessage" id="@dschmidt/provider-google.DataprocMetastoreService.property.stateMessage"></a>

```typescript
public readonly stateMessage: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocMetastoreService.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocMetastoreServiceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeoutsOutputReference">DataprocMetastoreServiceTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.DataprocMetastoreService.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `databaseTypeInput`<sup>Optional</sup> <a name="databaseTypeInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.databaseTypeInput"></a>

```typescript
public readonly databaseTypeInput: string;
```

- *Type:* string

---

##### `encryptionConfigInput`<sup>Optional</sup> <a name="encryptionConfigInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.encryptionConfigInput"></a>

```typescript
public readonly encryptionConfigInput: DataprocMetastoreServiceEncryptionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfig">DataprocMetastoreServiceEncryptionConfig</a>

---

##### `hiveMetastoreConfigInput`<sup>Optional</sup> <a name="hiveMetastoreConfigInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.hiveMetastoreConfigInput"></a>

```typescript
public readonly hiveMetastoreConfigInput: DataprocMetastoreServiceHiveMetastoreConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig">DataprocMetastoreServiceHiveMetastoreConfig</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `maintenanceWindowInput`<sup>Optional</sup> <a name="maintenanceWindowInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.maintenanceWindowInput"></a>

```typescript
public readonly maintenanceWindowInput: DataprocMetastoreServiceMaintenanceWindow;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow">DataprocMetastoreServiceMaintenanceWindow</a>

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `portInput`<sup>Optional</sup> <a name="portInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.portInput"></a>

```typescript
public readonly portInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `releaseChannelInput`<sup>Optional</sup> <a name="releaseChannelInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.releaseChannelInput"></a>

```typescript
public readonly releaseChannelInput: string;
```

- *Type:* string

---

##### `serviceIdInput`<sup>Optional</sup> <a name="serviceIdInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.serviceIdInput"></a>

```typescript
public readonly serviceIdInput: string;
```

- *Type:* string

---

##### `tierInput`<sup>Optional</sup> <a name="tierInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.tierInput"></a>

```typescript
public readonly tierInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataprocMetastoreService.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataprocMetastoreServiceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeouts">DataprocMetastoreServiceTimeouts</a>

---

##### `databaseType`<sup>Required</sup> <a name="databaseType" id="@dschmidt/provider-google.DataprocMetastoreService.property.databaseType"></a>

```typescript
public readonly databaseType: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataprocMetastoreService.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocMetastoreService.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataprocMetastoreService.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.DataprocMetastoreService.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocMetastoreService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `releaseChannel`<sup>Required</sup> <a name="releaseChannel" id="@dschmidt/provider-google.DataprocMetastoreService.property.releaseChannel"></a>

```typescript
public readonly releaseChannel: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataprocMetastoreService.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.DataprocMetastoreService.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocMetastoreService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocMetastoreServiceIamBinding <a name="DataprocMetastoreServiceIamBinding" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding google_dataproc_metastore_service_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.Initializer"></a>

```typescript
import { DataprocMetastoreServiceIamBinding } from '@dschmidt/provider-google'

new DataprocMetastoreServiceIamBinding(scope: Construct, id: string, config: DataprocMetastoreServiceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig">DataprocMetastoreServiceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig">DataprocMetastoreServiceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.putCondition"></a>

```typescript
public putCondition(value: DataprocMetastoreServiceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition">DataprocMetastoreServiceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.isConstruct"></a>

```typescript
import { DataprocMetastoreServiceIamBinding } from '@dschmidt/provider-google'

DataprocMetastoreServiceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConditionOutputReference">DataprocMetastoreServiceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition">DataprocMetastoreServiceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.serviceIdInput">serviceIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.condition"></a>

```typescript
public readonly condition: DataprocMetastoreServiceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConditionOutputReference">DataprocMetastoreServiceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataprocMetastoreServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition">DataprocMetastoreServiceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceIdInput`<sup>Optional</sup> <a name="serviceIdInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.serviceIdInput"></a>

```typescript
public readonly serviceIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocMetastoreServiceIamMember <a name="DataprocMetastoreServiceIamMember" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member google_dataproc_metastore_service_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.Initializer"></a>

```typescript
import { DataprocMetastoreServiceIamMember } from '@dschmidt/provider-google'

new DataprocMetastoreServiceIamMember(scope: Construct, id: string, config: DataprocMetastoreServiceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig">DataprocMetastoreServiceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig">DataprocMetastoreServiceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.putCondition"></a>

```typescript
public putCondition(value: DataprocMetastoreServiceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition">DataprocMetastoreServiceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.isConstruct"></a>

```typescript
import { DataprocMetastoreServiceIamMember } from '@dschmidt/provider-google'

DataprocMetastoreServiceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConditionOutputReference">DataprocMetastoreServiceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition">DataprocMetastoreServiceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.serviceIdInput">serviceIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.condition"></a>

```typescript
public readonly condition: DataprocMetastoreServiceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConditionOutputReference">DataprocMetastoreServiceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: DataprocMetastoreServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition">DataprocMetastoreServiceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceIdInput`<sup>Optional</sup> <a name="serviceIdInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.serviceIdInput"></a>

```typescript
public readonly serviceIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocMetastoreServiceIamPolicy <a name="DataprocMetastoreServiceIamPolicy" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy google_dataproc_metastore_service_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.Initializer"></a>

```typescript
import { DataprocMetastoreServiceIamPolicy } from '@dschmidt/provider-google'

new DataprocMetastoreServiceIamPolicy(scope: Construct, id: string, config: DataprocMetastoreServiceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig">DataprocMetastoreServiceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig">DataprocMetastoreServiceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.isConstruct"></a>

```typescript
import { DataprocMetastoreServiceIamPolicy } from '@dschmidt/provider-google'

DataprocMetastoreServiceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.serviceIdInput">serviceIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceIdInput`<sup>Optional</sup> <a name="serviceIdInput" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.serviceIdInput"></a>

```typescript
public readonly serviceIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DataprocWorkflowTemplate <a name="DataprocWorkflowTemplate" id="@dschmidt/provider-google.DataprocWorkflowTemplate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template google_dataproc_workflow_template}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DataprocWorkflowTemplate.Initializer"></a>

```typescript
import { DataprocWorkflowTemplate } from '@dschmidt/provider-google'

new DataprocWorkflowTemplate(scope: Construct, id: string, config: DataprocWorkflowTemplateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig">DataprocWorkflowTemplateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DataprocWorkflowTemplate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocWorkflowTemplate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocWorkflowTemplate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig">DataprocWorkflowTemplateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.putJobs">putJobs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.putParameters">putParameters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.putPlacement">putPlacement</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.resetDagTimeout">resetDagTimeout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.resetParameters">resetParameters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.resetVersion">resetVersion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DataprocWorkflowTemplate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DataprocWorkflowTemplate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataprocWorkflowTemplate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocWorkflowTemplate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DataprocWorkflowTemplate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DataprocWorkflowTemplate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DataprocWorkflowTemplate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DataprocWorkflowTemplate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DataprocWorkflowTemplate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DataprocWorkflowTemplate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putJobs` <a name="putJobs" id="@dschmidt/provider-google.DataprocWorkflowTemplate.putJobs"></a>

```typescript
public putJobs(value: IResolvable | DataprocWorkflowTemplateJobs[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocWorkflowTemplate.putJobs.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs">DataprocWorkflowTemplateJobs</a>[]

---

##### `putParameters` <a name="putParameters" id="@dschmidt/provider-google.DataprocWorkflowTemplate.putParameters"></a>

```typescript
public putParameters(value: IResolvable | DataprocWorkflowTemplateParameters[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocWorkflowTemplate.putParameters.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParameters">DataprocWorkflowTemplateParameters</a>[]

---

##### `putPlacement` <a name="putPlacement" id="@dschmidt/provider-google.DataprocWorkflowTemplate.putPlacement"></a>

```typescript
public putPlacement(value: DataprocWorkflowTemplatePlacement): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocWorkflowTemplate.putPlacement.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacement">DataprocWorkflowTemplatePlacement</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DataprocWorkflowTemplate.putTimeouts"></a>

```typescript
public putTimeouts(value: DataprocWorkflowTemplateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DataprocWorkflowTemplate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts">DataprocWorkflowTemplateTimeouts</a>

---

##### `resetDagTimeout` <a name="resetDagTimeout" id="@dschmidt/provider-google.DataprocWorkflowTemplate.resetDagTimeout"></a>

```typescript
public resetDagTimeout(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DataprocWorkflowTemplate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DataprocWorkflowTemplate.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetParameters` <a name="resetParameters" id="@dschmidt/provider-google.DataprocWorkflowTemplate.resetParameters"></a>

```typescript
public resetParameters(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DataprocWorkflowTemplate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DataprocWorkflowTemplate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVersion` <a name="resetVersion" id="@dschmidt/provider-google.DataprocWorkflowTemplate.resetVersion"></a>

```typescript
public resetVersion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DataprocWorkflowTemplate.isConstruct"></a>

```typescript
import { DataprocWorkflowTemplate } from '@dschmidt/provider-google'

DataprocWorkflowTemplate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DataprocWorkflowTemplate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.jobs">jobs</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsList">DataprocWorkflowTemplateJobsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.parameters">parameters</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersList">DataprocWorkflowTemplateParametersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.placement">placement</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementOutputReference">DataprocWorkflowTemplatePlacementOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateTimeoutsOutputReference">DataprocWorkflowTemplateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.dagTimeoutInput">dagTimeoutInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.jobsInput">jobsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs">DataprocWorkflowTemplateJobs</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.parametersInput">parametersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParameters">DataprocWorkflowTemplateParameters</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.placementInput">placementInput</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacement">DataprocWorkflowTemplatePlacement</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts">DataprocWorkflowTemplateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.versionInput">versionInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.dagTimeout">dagTimeout</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.version">version</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `jobs`<sup>Required</sup> <a name="jobs" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.jobs"></a>

```typescript
public readonly jobs: DataprocWorkflowTemplateJobsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsList">DataprocWorkflowTemplateJobsList</a>

---

##### `parameters`<sup>Required</sup> <a name="parameters" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.parameters"></a>

```typescript
public readonly parameters: DataprocWorkflowTemplateParametersList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersList">DataprocWorkflowTemplateParametersList</a>

---

##### `placement`<sup>Required</sup> <a name="placement" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.placement"></a>

```typescript
public readonly placement: DataprocWorkflowTemplatePlacementOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementOutputReference">DataprocWorkflowTemplatePlacementOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocWorkflowTemplateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateTimeoutsOutputReference">DataprocWorkflowTemplateTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `dagTimeoutInput`<sup>Optional</sup> <a name="dagTimeoutInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.dagTimeoutInput"></a>

```typescript
public readonly dagTimeoutInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `jobsInput`<sup>Optional</sup> <a name="jobsInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.jobsInput"></a>

```typescript
public readonly jobsInput: IResolvable | DataprocWorkflowTemplateJobs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs">DataprocWorkflowTemplateJobs</a>[]

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `parametersInput`<sup>Optional</sup> <a name="parametersInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.parametersInput"></a>

```typescript
public readonly parametersInput: IResolvable | DataprocWorkflowTemplateParameters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParameters">DataprocWorkflowTemplateParameters</a>[]

---

##### `placementInput`<sup>Optional</sup> <a name="placementInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.placementInput"></a>

```typescript
public readonly placementInput: DataprocWorkflowTemplatePlacement;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacement">DataprocWorkflowTemplatePlacement</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DataprocWorkflowTemplateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts">DataprocWorkflowTemplateTimeouts</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.versionInput"></a>

```typescript
public readonly versionInput: number;
```

- *Type:* number

---

##### `dagTimeout`<sup>Required</sup> <a name="dagTimeout" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.dagTimeout"></a>

```typescript
public readonly dagTimeout: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DataprocWorkflowTemplate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DatastoreIndex <a name="DatastoreIndex" id="@dschmidt/provider-google.DatastoreIndex"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/datastore_index google_datastore_index}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DatastoreIndex.Initializer"></a>

```typescript
import { DatastoreIndex } from '@dschmidt/provider-google'

new DatastoreIndex(scope: Construct, id: string, config: DatastoreIndexConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig">DatastoreIndexConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DatastoreIndex.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DatastoreIndex.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DatastoreIndex.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DatastoreIndexConfig">DatastoreIndexConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.putProperties">putProperties</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.resetAncestor">resetAncestor</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.resetProperties">resetProperties</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DatastoreIndex.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DatastoreIndex.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DatastoreIndex.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DatastoreIndex.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DatastoreIndex.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DatastoreIndex.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DatastoreIndex.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DatastoreIndex.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DatastoreIndex.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DatastoreIndex.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DatastoreIndex.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DatastoreIndex.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DatastoreIndex.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DatastoreIndex.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DatastoreIndex.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DatastoreIndex.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DatastoreIndex.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DatastoreIndex.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DatastoreIndex.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DatastoreIndex.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putProperties` <a name="putProperties" id="@dschmidt/provider-google.DatastoreIndex.putProperties"></a>

```typescript
public putProperties(value: IResolvable | DatastoreIndexProperties[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DatastoreIndex.putProperties.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DatastoreIndexProperties">DatastoreIndexProperties</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DatastoreIndex.putTimeouts"></a>

```typescript
public putTimeouts(value: DatastoreIndexTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DatastoreIndex.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DatastoreIndexTimeouts">DatastoreIndexTimeouts</a>

---

##### `resetAncestor` <a name="resetAncestor" id="@dschmidt/provider-google.DatastoreIndex.resetAncestor"></a>

```typescript
public resetAncestor(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DatastoreIndex.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DatastoreIndex.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProperties` <a name="resetProperties" id="@dschmidt/provider-google.DatastoreIndex.resetProperties"></a>

```typescript
public resetProperties(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DatastoreIndex.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DatastoreIndex.isConstruct"></a>

```typescript
import { DatastoreIndex } from '@dschmidt/provider-google'

DatastoreIndex.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DatastoreIndex.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.indexId">indexId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.properties">properties</a></code> | <code><a href="#@dschmidt/provider-google.DatastoreIndexPropertiesList">DatastoreIndexPropertiesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DatastoreIndexTimeoutsOutputReference">DatastoreIndexTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.ancestorInput">ancestorInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.kindInput">kindInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.propertiesInput">propertiesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DatastoreIndexProperties">DatastoreIndexProperties</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DatastoreIndexTimeouts">DatastoreIndexTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.ancestor">ancestor</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.kind">kind</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DatastoreIndex.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DatastoreIndex.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DatastoreIndex.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DatastoreIndex.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DatastoreIndex.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DatastoreIndex.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DatastoreIndex.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DatastoreIndex.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DatastoreIndex.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DatastoreIndex.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DatastoreIndex.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DatastoreIndex.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DatastoreIndex.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DatastoreIndex.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `indexId`<sup>Required</sup> <a name="indexId" id="@dschmidt/provider-google.DatastoreIndex.property.indexId"></a>

```typescript
public readonly indexId: string;
```

- *Type:* string

---

##### `properties`<sup>Required</sup> <a name="properties" id="@dschmidt/provider-google.DatastoreIndex.property.properties"></a>

```typescript
public readonly properties: DatastoreIndexPropertiesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DatastoreIndexPropertiesList">DatastoreIndexPropertiesList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DatastoreIndex.property.timeouts"></a>

```typescript
public readonly timeouts: DatastoreIndexTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DatastoreIndexTimeoutsOutputReference">DatastoreIndexTimeoutsOutputReference</a>

---

##### `ancestorInput`<sup>Optional</sup> <a name="ancestorInput" id="@dschmidt/provider-google.DatastoreIndex.property.ancestorInput"></a>

```typescript
public readonly ancestorInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DatastoreIndex.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `kindInput`<sup>Optional</sup> <a name="kindInput" id="@dschmidt/provider-google.DatastoreIndex.property.kindInput"></a>

```typescript
public readonly kindInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DatastoreIndex.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `propertiesInput`<sup>Optional</sup> <a name="propertiesInput" id="@dschmidt/provider-google.DatastoreIndex.property.propertiesInput"></a>

```typescript
public readonly propertiesInput: IResolvable | DatastoreIndexProperties[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DatastoreIndexProperties">DatastoreIndexProperties</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DatastoreIndex.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DatastoreIndexTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DatastoreIndexTimeouts">DatastoreIndexTimeouts</a>

---

##### `ancestor`<sup>Required</sup> <a name="ancestor" id="@dschmidt/provider-google.DatastoreIndex.property.ancestor"></a>

```typescript
public readonly ancestor: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DatastoreIndex.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.DatastoreIndex.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DatastoreIndex.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DatastoreIndex.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DatastoreIndex.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DeploymentManagerDeployment <a name="DeploymentManagerDeployment" id="@dschmidt/provider-google.DeploymentManagerDeployment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment google_deployment_manager_deployment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DeploymentManagerDeployment.Initializer"></a>

```typescript
import { DeploymentManagerDeployment } from '@dschmidt/provider-google'

new DeploymentManagerDeployment(scope: Construct, id: string, config: DeploymentManagerDeploymentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig">DeploymentManagerDeploymentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DeploymentManagerDeployment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DeploymentManagerDeployment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DeploymentManagerDeployment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig">DeploymentManagerDeploymentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.putLabels">putLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.putTarget">putTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.resetCreatePolicy">resetCreatePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.resetDeletePolicy">resetDeletePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.resetPreview">resetPreview</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DeploymentManagerDeployment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DeploymentManagerDeployment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DeploymentManagerDeployment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DeploymentManagerDeployment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DeploymentManagerDeployment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DeploymentManagerDeployment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DeploymentManagerDeployment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DeploymentManagerDeployment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DeploymentManagerDeployment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DeploymentManagerDeployment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putLabels` <a name="putLabels" id="@dschmidt/provider-google.DeploymentManagerDeployment.putLabels"></a>

```typescript
public putLabels(value: IResolvable | DeploymentManagerDeploymentLabels[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DeploymentManagerDeployment.putLabels.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentLabels">DeploymentManagerDeploymentLabels</a>[]

---

##### `putTarget` <a name="putTarget" id="@dschmidt/provider-google.DeploymentManagerDeployment.putTarget"></a>

```typescript
public putTarget(value: DeploymentManagerDeploymentTarget): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DeploymentManagerDeployment.putTarget.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTarget">DeploymentManagerDeploymentTarget</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DeploymentManagerDeployment.putTimeouts"></a>

```typescript
public putTimeouts(value: DeploymentManagerDeploymentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DeploymentManagerDeployment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts">DeploymentManagerDeploymentTimeouts</a>

---

##### `resetCreatePolicy` <a name="resetCreatePolicy" id="@dschmidt/provider-google.DeploymentManagerDeployment.resetCreatePolicy"></a>

```typescript
public resetCreatePolicy(): void
```

##### `resetDeletePolicy` <a name="resetDeletePolicy" id="@dschmidt/provider-google.DeploymentManagerDeployment.resetDeletePolicy"></a>

```typescript
public resetDeletePolicy(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DeploymentManagerDeployment.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DeploymentManagerDeployment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DeploymentManagerDeployment.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetPreview` <a name="resetPreview" id="@dschmidt/provider-google.DeploymentManagerDeployment.resetPreview"></a>

```typescript
public resetPreview(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DeploymentManagerDeployment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DeploymentManagerDeployment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DeploymentManagerDeployment.isConstruct"></a>

```typescript
import { DeploymentManagerDeployment } from '@dschmidt/provider-google'

DeploymentManagerDeployment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DeploymentManagerDeployment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.deploymentId">deploymentId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.labels">labels</a></code> | <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentLabelsList">DeploymentManagerDeploymentLabelsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.manifest">manifest</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.target">target</a></code> | <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTargetOutputReference">DeploymentManagerDeploymentTargetOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeoutsOutputReference">DeploymentManagerDeploymentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.createPolicyInput">createPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.deletePolicyInput">deletePolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.labelsInput">labelsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentLabels">DeploymentManagerDeploymentLabels</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.previewInput">previewInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.targetInput">targetInput</a></code> | <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTarget">DeploymentManagerDeploymentTarget</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts">DeploymentManagerDeploymentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.createPolicy">createPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.deletePolicy">deletePolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.preview">preview</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `deploymentId`<sup>Required</sup> <a name="deploymentId" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.deploymentId"></a>

```typescript
public readonly deploymentId: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.labels"></a>

```typescript
public readonly labels: DeploymentManagerDeploymentLabelsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentLabelsList">DeploymentManagerDeploymentLabelsList</a>

---

##### `manifest`<sup>Required</sup> <a name="manifest" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.manifest"></a>

```typescript
public readonly manifest: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.target"></a>

```typescript
public readonly target: DeploymentManagerDeploymentTargetOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTargetOutputReference">DeploymentManagerDeploymentTargetOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.timeouts"></a>

```typescript
public readonly timeouts: DeploymentManagerDeploymentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeoutsOutputReference">DeploymentManagerDeploymentTimeoutsOutputReference</a>

---

##### `createPolicyInput`<sup>Optional</sup> <a name="createPolicyInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.createPolicyInput"></a>

```typescript
public readonly createPolicyInput: string;
```

- *Type:* string

---

##### `deletePolicyInput`<sup>Optional</sup> <a name="deletePolicyInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.deletePolicyInput"></a>

```typescript
public readonly deletePolicyInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.labelsInput"></a>

```typescript
public readonly labelsInput: IResolvable | DeploymentManagerDeploymentLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentLabels">DeploymentManagerDeploymentLabels</a>[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `previewInput`<sup>Optional</sup> <a name="previewInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.previewInput"></a>

```typescript
public readonly previewInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `targetInput`<sup>Optional</sup> <a name="targetInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.targetInput"></a>

```typescript
public readonly targetInput: DeploymentManagerDeploymentTarget;
```

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTarget">DeploymentManagerDeploymentTarget</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DeploymentManagerDeploymentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts">DeploymentManagerDeploymentTimeouts</a>

---

##### `createPolicy`<sup>Required</sup> <a name="createPolicy" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.createPolicy"></a>

```typescript
public readonly createPolicy: string;
```

- *Type:* string

---

##### `deletePolicy`<sup>Required</sup> <a name="deletePolicy" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.deletePolicy"></a>

```typescript
public readonly deletePolicy: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `preview`<sup>Required</sup> <a name="preview" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.preview"></a>

```typescript
public readonly preview: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeployment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DeploymentManagerDeployment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowAgent <a name="DialogflowAgent" id="@dschmidt/provider-google.DialogflowAgent"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent google_dialogflow_agent}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowAgent.Initializer"></a>

```typescript
import { DialogflowAgent } from '@dschmidt/provider-google'

new DialogflowAgent(scope: Construct, id: string, config: DialogflowAgentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig">DialogflowAgentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowAgent.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowAgent.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowAgent.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowAgentConfig">DialogflowAgentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetApiVersion">resetApiVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetAvatarUri">resetAvatarUri</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetClassificationThreshold">resetClassificationThreshold</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetEnableLogging">resetEnableLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetMatchMode">resetMatchMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetSupportedLanguageCodes">resetSupportedLanguageCodes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetTier">resetTier</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowAgent.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowAgent.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowAgent.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowAgent.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowAgent.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowAgent.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowAgent.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowAgent.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowAgent.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowAgent.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowAgent.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowAgent.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowAgent.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowAgent.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowAgent.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowAgent.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowAgent.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowAgent.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowAgent.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowAgent.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowAgent.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowAgentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowAgent.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowAgentTimeouts">DialogflowAgentTimeouts</a>

---

##### `resetApiVersion` <a name="resetApiVersion" id="@dschmidt/provider-google.DialogflowAgent.resetApiVersion"></a>

```typescript
public resetApiVersion(): void
```

##### `resetAvatarUri` <a name="resetAvatarUri" id="@dschmidt/provider-google.DialogflowAgent.resetAvatarUri"></a>

```typescript
public resetAvatarUri(): void
```

##### `resetClassificationThreshold` <a name="resetClassificationThreshold" id="@dschmidt/provider-google.DialogflowAgent.resetClassificationThreshold"></a>

```typescript
public resetClassificationThreshold(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DialogflowAgent.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEnableLogging` <a name="resetEnableLogging" id="@dschmidt/provider-google.DialogflowAgent.resetEnableLogging"></a>

```typescript
public resetEnableLogging(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowAgent.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMatchMode` <a name="resetMatchMode" id="@dschmidt/provider-google.DialogflowAgent.resetMatchMode"></a>

```typescript
public resetMatchMode(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DialogflowAgent.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSupportedLanguageCodes` <a name="resetSupportedLanguageCodes" id="@dschmidt/provider-google.DialogflowAgent.resetSupportedLanguageCodes"></a>

```typescript
public resetSupportedLanguageCodes(): void
```

##### `resetTier` <a name="resetTier" id="@dschmidt/provider-google.DialogflowAgent.resetTier"></a>

```typescript
public resetTier(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowAgent.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowAgent.isConstruct"></a>

```typescript
import { DialogflowAgent } from '@dschmidt/provider-google'

DialogflowAgent.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowAgent.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.avatarUriBackend">avatarUriBackend</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowAgentTimeoutsOutputReference">DialogflowAgentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.apiVersionInput">apiVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.avatarUriInput">avatarUriInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.classificationThresholdInput">classificationThresholdInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.defaultLanguageCodeInput">defaultLanguageCodeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.enableLoggingInput">enableLoggingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.matchModeInput">matchModeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.supportedLanguageCodesInput">supportedLanguageCodesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.tierInput">tierInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowAgentTimeouts">DialogflowAgentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.timeZoneInput">timeZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.apiVersion">apiVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.avatarUri">avatarUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.classificationThreshold">classificationThreshold</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.defaultLanguageCode">defaultLanguageCode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.enableLogging">enableLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.matchMode">matchMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.supportedLanguageCodes">supportedLanguageCodes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.tier">tier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.timeZone">timeZone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowAgent.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowAgent.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowAgent.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowAgent.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowAgent.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowAgent.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowAgent.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowAgent.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowAgent.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowAgent.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowAgent.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowAgent.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowAgent.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowAgent.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `avatarUriBackend`<sup>Required</sup> <a name="avatarUriBackend" id="@dschmidt/provider-google.DialogflowAgent.property.avatarUriBackend"></a>

```typescript
public readonly avatarUriBackend: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowAgent.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowAgentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowAgentTimeoutsOutputReference">DialogflowAgentTimeoutsOutputReference</a>

---

##### `apiVersionInput`<sup>Optional</sup> <a name="apiVersionInput" id="@dschmidt/provider-google.DialogflowAgent.property.apiVersionInput"></a>

```typescript
public readonly apiVersionInput: string;
```

- *Type:* string

---

##### `avatarUriInput`<sup>Optional</sup> <a name="avatarUriInput" id="@dschmidt/provider-google.DialogflowAgent.property.avatarUriInput"></a>

```typescript
public readonly avatarUriInput: string;
```

- *Type:* string

---

##### `classificationThresholdInput`<sup>Optional</sup> <a name="classificationThresholdInput" id="@dschmidt/provider-google.DialogflowAgent.property.classificationThresholdInput"></a>

```typescript
public readonly classificationThresholdInput: number;
```

- *Type:* number

---

##### `defaultLanguageCodeInput`<sup>Optional</sup> <a name="defaultLanguageCodeInput" id="@dschmidt/provider-google.DialogflowAgent.property.defaultLanguageCodeInput"></a>

```typescript
public readonly defaultLanguageCodeInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DialogflowAgent.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowAgent.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enableLoggingInput`<sup>Optional</sup> <a name="enableLoggingInput" id="@dschmidt/provider-google.DialogflowAgent.property.enableLoggingInput"></a>

```typescript
public readonly enableLoggingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowAgent.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `matchModeInput`<sup>Optional</sup> <a name="matchModeInput" id="@dschmidt/provider-google.DialogflowAgent.property.matchModeInput"></a>

```typescript
public readonly matchModeInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DialogflowAgent.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `supportedLanguageCodesInput`<sup>Optional</sup> <a name="supportedLanguageCodesInput" id="@dschmidt/provider-google.DialogflowAgent.property.supportedLanguageCodesInput"></a>

```typescript
public readonly supportedLanguageCodesInput: string[];
```

- *Type:* string[]

---

##### `tierInput`<sup>Optional</sup> <a name="tierInput" id="@dschmidt/provider-google.DialogflowAgent.property.tierInput"></a>

```typescript
public readonly tierInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowAgent.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowAgentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowAgentTimeouts">DialogflowAgentTimeouts</a>

---

##### `timeZoneInput`<sup>Optional</sup> <a name="timeZoneInput" id="@dschmidt/provider-google.DialogflowAgent.property.timeZoneInput"></a>

```typescript
public readonly timeZoneInput: string;
```

- *Type:* string

---

##### `apiVersion`<sup>Required</sup> <a name="apiVersion" id="@dschmidt/provider-google.DialogflowAgent.property.apiVersion"></a>

```typescript
public readonly apiVersion: string;
```

- *Type:* string

---

##### `avatarUri`<sup>Required</sup> <a name="avatarUri" id="@dschmidt/provider-google.DialogflowAgent.property.avatarUri"></a>

```typescript
public readonly avatarUri: string;
```

- *Type:* string

---

##### `classificationThreshold`<sup>Required</sup> <a name="classificationThreshold" id="@dschmidt/provider-google.DialogflowAgent.property.classificationThreshold"></a>

```typescript
public readonly classificationThreshold: number;
```

- *Type:* number

---

##### `defaultLanguageCode`<sup>Required</sup> <a name="defaultLanguageCode" id="@dschmidt/provider-google.DialogflowAgent.property.defaultLanguageCode"></a>

```typescript
public readonly defaultLanguageCode: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DialogflowAgent.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowAgent.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enableLogging`<sup>Required</sup> <a name="enableLogging" id="@dschmidt/provider-google.DialogflowAgent.property.enableLogging"></a>

```typescript
public readonly enableLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowAgent.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `matchMode`<sup>Required</sup> <a name="matchMode" id="@dschmidt/provider-google.DialogflowAgent.property.matchMode"></a>

```typescript
public readonly matchMode: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DialogflowAgent.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `supportedLanguageCodes`<sup>Required</sup> <a name="supportedLanguageCodes" id="@dschmidt/provider-google.DialogflowAgent.property.supportedLanguageCodes"></a>

```typescript
public readonly supportedLanguageCodes: string[];
```

- *Type:* string[]

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.DialogflowAgent.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.DialogflowAgent.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowAgent.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowAgent.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowCxAgent <a name="DialogflowCxAgent" id="@dschmidt/provider-google.DialogflowCxAgent"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent google_dialogflow_cx_agent}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowCxAgent.Initializer"></a>

```typescript
import { DialogflowCxAgent } from '@dschmidt/provider-google'

new DialogflowCxAgent(scope: Construct, id: string, config: DialogflowCxAgentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig">DialogflowCxAgentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowCxAgent.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxAgent.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowCxAgent.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxAgentConfig">DialogflowCxAgentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.putSpeechToTextSettings">putSpeechToTextSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetAvatarUri">resetAvatarUri</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetEnableSpellCorrection">resetEnableSpellCorrection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetEnableStackdriverLogging">resetEnableStackdriverLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetSecuritySettings">resetSecuritySettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetSpeechToTextSettings">resetSpeechToTextSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetSupportedLanguageCodes">resetSupportedLanguageCodes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowCxAgent.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowCxAgent.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowCxAgent.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxAgent.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowCxAgent.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowCxAgent.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowCxAgent.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowCxAgent.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowCxAgent.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxAgent.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSpeechToTextSettings` <a name="putSpeechToTextSettings" id="@dschmidt/provider-google.DialogflowCxAgent.putSpeechToTextSettings"></a>

```typescript
public putSpeechToTextSettings(value: DialogflowCxAgentSpeechToTextSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxAgent.putSpeechToTextSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettings">DialogflowCxAgentSpeechToTextSettings</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowCxAgent.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowCxAgentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxAgent.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxAgentTimeouts">DialogflowCxAgentTimeouts</a>

---

##### `resetAvatarUri` <a name="resetAvatarUri" id="@dschmidt/provider-google.DialogflowCxAgent.resetAvatarUri"></a>

```typescript
public resetAvatarUri(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DialogflowCxAgent.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEnableSpellCorrection` <a name="resetEnableSpellCorrection" id="@dschmidt/provider-google.DialogflowCxAgent.resetEnableSpellCorrection"></a>

```typescript
public resetEnableSpellCorrection(): void
```

##### `resetEnableStackdriverLogging` <a name="resetEnableStackdriverLogging" id="@dschmidt/provider-google.DialogflowCxAgent.resetEnableStackdriverLogging"></a>

```typescript
public resetEnableStackdriverLogging(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowCxAgent.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DialogflowCxAgent.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSecuritySettings` <a name="resetSecuritySettings" id="@dschmidt/provider-google.DialogflowCxAgent.resetSecuritySettings"></a>

```typescript
public resetSecuritySettings(): void
```

##### `resetSpeechToTextSettings` <a name="resetSpeechToTextSettings" id="@dschmidt/provider-google.DialogflowCxAgent.resetSpeechToTextSettings"></a>

```typescript
public resetSpeechToTextSettings(): void
```

##### `resetSupportedLanguageCodes` <a name="resetSupportedLanguageCodes" id="@dschmidt/provider-google.DialogflowCxAgent.resetSupportedLanguageCodes"></a>

```typescript
public resetSupportedLanguageCodes(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowCxAgent.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowCxAgent.isConstruct"></a>

```typescript
import { DialogflowCxAgent } from '@dschmidt/provider-google'

DialogflowCxAgent.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowCxAgent.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.speechToTextSettings">speechToTextSettings</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettingsOutputReference">DialogflowCxAgentSpeechToTextSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.startFlow">startFlow</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxAgentTimeoutsOutputReference">DialogflowCxAgentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.avatarUriInput">avatarUriInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.defaultLanguageCodeInput">defaultLanguageCodeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.enableSpellCorrectionInput">enableSpellCorrectionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.enableStackdriverLoggingInput">enableStackdriverLoggingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.securitySettingsInput">securitySettingsInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.speechToTextSettingsInput">speechToTextSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettings">DialogflowCxAgentSpeechToTextSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.supportedLanguageCodesInput">supportedLanguageCodesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxAgentTimeouts">DialogflowCxAgentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.timeZoneInput">timeZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.avatarUri">avatarUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.defaultLanguageCode">defaultLanguageCode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.enableSpellCorrection">enableSpellCorrection</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.enableStackdriverLogging">enableStackdriverLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.securitySettings">securitySettings</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.supportedLanguageCodes">supportedLanguageCodes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.timeZone">timeZone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowCxAgent.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowCxAgent.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowCxAgent.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowCxAgent.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowCxAgent.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowCxAgent.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowCxAgent.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxAgent.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxAgent.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxAgent.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxAgent.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxAgent.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxAgent.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxAgent.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowCxAgent.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `speechToTextSettings`<sup>Required</sup> <a name="speechToTextSettings" id="@dschmidt/provider-google.DialogflowCxAgent.property.speechToTextSettings"></a>

```typescript
public readonly speechToTextSettings: DialogflowCxAgentSpeechToTextSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettingsOutputReference">DialogflowCxAgentSpeechToTextSettingsOutputReference</a>

---

##### `startFlow`<sup>Required</sup> <a name="startFlow" id="@dschmidt/provider-google.DialogflowCxAgent.property.startFlow"></a>

```typescript
public readonly startFlow: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxAgent.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxAgentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxAgentTimeoutsOutputReference">DialogflowCxAgentTimeoutsOutputReference</a>

---

##### `avatarUriInput`<sup>Optional</sup> <a name="avatarUriInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.avatarUriInput"></a>

```typescript
public readonly avatarUriInput: string;
```

- *Type:* string

---

##### `defaultLanguageCodeInput`<sup>Optional</sup> <a name="defaultLanguageCodeInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.defaultLanguageCodeInput"></a>

```typescript
public readonly defaultLanguageCodeInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enableSpellCorrectionInput`<sup>Optional</sup> <a name="enableSpellCorrectionInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.enableSpellCorrectionInput"></a>

```typescript
public readonly enableSpellCorrectionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableStackdriverLoggingInput`<sup>Optional</sup> <a name="enableStackdriverLoggingInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.enableStackdriverLoggingInput"></a>

```typescript
public readonly enableStackdriverLoggingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `securitySettingsInput`<sup>Optional</sup> <a name="securitySettingsInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.securitySettingsInput"></a>

```typescript
public readonly securitySettingsInput: string;
```

- *Type:* string

---

##### `speechToTextSettingsInput`<sup>Optional</sup> <a name="speechToTextSettingsInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.speechToTextSettingsInput"></a>

```typescript
public readonly speechToTextSettingsInput: DialogflowCxAgentSpeechToTextSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettings">DialogflowCxAgentSpeechToTextSettings</a>

---

##### `supportedLanguageCodesInput`<sup>Optional</sup> <a name="supportedLanguageCodesInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.supportedLanguageCodesInput"></a>

```typescript
public readonly supportedLanguageCodesInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowCxAgentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxAgentTimeouts">DialogflowCxAgentTimeouts</a>

---

##### `timeZoneInput`<sup>Optional</sup> <a name="timeZoneInput" id="@dschmidt/provider-google.DialogflowCxAgent.property.timeZoneInput"></a>

```typescript
public readonly timeZoneInput: string;
```

- *Type:* string

---

##### `avatarUri`<sup>Required</sup> <a name="avatarUri" id="@dschmidt/provider-google.DialogflowCxAgent.property.avatarUri"></a>

```typescript
public readonly avatarUri: string;
```

- *Type:* string

---

##### `defaultLanguageCode`<sup>Required</sup> <a name="defaultLanguageCode" id="@dschmidt/provider-google.DialogflowCxAgent.property.defaultLanguageCode"></a>

```typescript
public readonly defaultLanguageCode: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxAgent.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxAgent.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enableSpellCorrection`<sup>Required</sup> <a name="enableSpellCorrection" id="@dschmidt/provider-google.DialogflowCxAgent.property.enableSpellCorrection"></a>

```typescript
public readonly enableSpellCorrection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableStackdriverLogging`<sup>Required</sup> <a name="enableStackdriverLogging" id="@dschmidt/provider-google.DialogflowCxAgent.property.enableStackdriverLogging"></a>

```typescript
public readonly enableStackdriverLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxAgent.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DialogflowCxAgent.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DialogflowCxAgent.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `securitySettings`<sup>Required</sup> <a name="securitySettings" id="@dschmidt/provider-google.DialogflowCxAgent.property.securitySettings"></a>

```typescript
public readonly securitySettings: string;
```

- *Type:* string

---

##### `supportedLanguageCodes`<sup>Required</sup> <a name="supportedLanguageCodes" id="@dschmidt/provider-google.DialogflowCxAgent.property.supportedLanguageCodes"></a>

```typescript
public readonly supportedLanguageCodes: string[];
```

- *Type:* string[]

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.DialogflowCxAgent.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgent.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowCxAgent.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowCxEntityType <a name="DialogflowCxEntityType" id="@dschmidt/provider-google.DialogflowCxEntityType"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type google_dialogflow_cx_entity_type}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowCxEntityType.Initializer"></a>

```typescript
import { DialogflowCxEntityType } from '@dschmidt/provider-google'

new DialogflowCxEntityType(scope: Construct, id: string, config: DialogflowCxEntityTypeConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig">DialogflowCxEntityTypeConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowCxEntityType.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxEntityType.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowCxEntityType.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig">DialogflowCxEntityTypeConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.putEntities">putEntities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.putExcludedPhrases">putExcludedPhrases</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.resetAutoExpansionMode">resetAutoExpansionMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.resetEnableFuzzyExtraction">resetEnableFuzzyExtraction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.resetExcludedPhrases">resetExcludedPhrases</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.resetLanguageCode">resetLanguageCode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.resetParent">resetParent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.resetRedact">resetRedact</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowCxEntityType.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowCxEntityType.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowCxEntityType.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxEntityType.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowCxEntityType.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowCxEntityType.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowCxEntityType.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowCxEntityType.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowCxEntityType.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEntityType.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEntities` <a name="putEntities" id="@dschmidt/provider-google.DialogflowCxEntityType.putEntities"></a>

```typescript
public putEntities(value: IResolvable | DialogflowCxEntityTypeEntities[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxEntityType.putEntities.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeEntities">DialogflowCxEntityTypeEntities</a>[]

---

##### `putExcludedPhrases` <a name="putExcludedPhrases" id="@dschmidt/provider-google.DialogflowCxEntityType.putExcludedPhrases"></a>

```typescript
public putExcludedPhrases(value: IResolvable | DialogflowCxEntityTypeExcludedPhrases[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxEntityType.putExcludedPhrases.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrases">DialogflowCxEntityTypeExcludedPhrases</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowCxEntityType.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowCxEntityTypeTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxEntityType.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts">DialogflowCxEntityTypeTimeouts</a>

---

##### `resetAutoExpansionMode` <a name="resetAutoExpansionMode" id="@dschmidt/provider-google.DialogflowCxEntityType.resetAutoExpansionMode"></a>

```typescript
public resetAutoExpansionMode(): void
```

##### `resetEnableFuzzyExtraction` <a name="resetEnableFuzzyExtraction" id="@dschmidt/provider-google.DialogflowCxEntityType.resetEnableFuzzyExtraction"></a>

```typescript
public resetEnableFuzzyExtraction(): void
```

##### `resetExcludedPhrases` <a name="resetExcludedPhrases" id="@dschmidt/provider-google.DialogflowCxEntityType.resetExcludedPhrases"></a>

```typescript
public resetExcludedPhrases(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowCxEntityType.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLanguageCode` <a name="resetLanguageCode" id="@dschmidt/provider-google.DialogflowCxEntityType.resetLanguageCode"></a>

```typescript
public resetLanguageCode(): void
```

##### `resetParent` <a name="resetParent" id="@dschmidt/provider-google.DialogflowCxEntityType.resetParent"></a>

```typescript
public resetParent(): void
```

##### `resetRedact` <a name="resetRedact" id="@dschmidt/provider-google.DialogflowCxEntityType.resetRedact"></a>

```typescript
public resetRedact(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowCxEntityType.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowCxEntityType.isConstruct"></a>

```typescript
import { DialogflowCxEntityType } from '@dschmidt/provider-google'

DialogflowCxEntityType.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowCxEntityType.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.entities">entities</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeEntitiesList">DialogflowCxEntityTypeEntitiesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.excludedPhrases">excludedPhrases</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrasesList">DialogflowCxEntityTypeExcludedPhrasesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeoutsOutputReference">DialogflowCxEntityTypeTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.autoExpansionModeInput">autoExpansionModeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.enableFuzzyExtractionInput">enableFuzzyExtractionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.entitiesInput">entitiesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeEntities">DialogflowCxEntityTypeEntities</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.excludedPhrasesInput">excludedPhrasesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrases">DialogflowCxEntityTypeExcludedPhrases</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.kindInput">kindInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.languageCodeInput">languageCodeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.redactInput">redactInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts">DialogflowCxEntityTypeTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.autoExpansionMode">autoExpansionMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.enableFuzzyExtraction">enableFuzzyExtraction</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.kind">kind</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.languageCode">languageCode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.redact">redact</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowCxEntityType.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowCxEntityType.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowCxEntityType.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowCxEntityType.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowCxEntityType.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowCxEntityType.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowCxEntityType.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxEntityType.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxEntityType.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxEntityType.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxEntityType.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxEntityType.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxEntityType.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxEntityType.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `entities`<sup>Required</sup> <a name="entities" id="@dschmidt/provider-google.DialogflowCxEntityType.property.entities"></a>

```typescript
public readonly entities: DialogflowCxEntityTypeEntitiesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeEntitiesList">DialogflowCxEntityTypeEntitiesList</a>

---

##### `excludedPhrases`<sup>Required</sup> <a name="excludedPhrases" id="@dschmidt/provider-google.DialogflowCxEntityType.property.excludedPhrases"></a>

```typescript
public readonly excludedPhrases: DialogflowCxEntityTypeExcludedPhrasesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrasesList">DialogflowCxEntityTypeExcludedPhrasesList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowCxEntityType.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxEntityType.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxEntityTypeTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeoutsOutputReference">DialogflowCxEntityTypeTimeoutsOutputReference</a>

---

##### `autoExpansionModeInput`<sup>Optional</sup> <a name="autoExpansionModeInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.autoExpansionModeInput"></a>

```typescript
public readonly autoExpansionModeInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enableFuzzyExtractionInput`<sup>Optional</sup> <a name="enableFuzzyExtractionInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.enableFuzzyExtractionInput"></a>

```typescript
public readonly enableFuzzyExtractionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `entitiesInput`<sup>Optional</sup> <a name="entitiesInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.entitiesInput"></a>

```typescript
public readonly entitiesInput: IResolvable | DialogflowCxEntityTypeEntities[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeEntities">DialogflowCxEntityTypeEntities</a>[]

---

##### `excludedPhrasesInput`<sup>Optional</sup> <a name="excludedPhrasesInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.excludedPhrasesInput"></a>

```typescript
public readonly excludedPhrasesInput: IResolvable | DialogflowCxEntityTypeExcludedPhrases[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrases">DialogflowCxEntityTypeExcludedPhrases</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `kindInput`<sup>Optional</sup> <a name="kindInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.kindInput"></a>

```typescript
public readonly kindInput: string;
```

- *Type:* string

---

##### `languageCodeInput`<sup>Optional</sup> <a name="languageCodeInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.languageCodeInput"></a>

```typescript
public readonly languageCodeInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `redactInput`<sup>Optional</sup> <a name="redactInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.redactInput"></a>

```typescript
public readonly redactInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowCxEntityType.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowCxEntityTypeTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts">DialogflowCxEntityTypeTimeouts</a>

---

##### `autoExpansionMode`<sup>Required</sup> <a name="autoExpansionMode" id="@dschmidt/provider-google.DialogflowCxEntityType.property.autoExpansionMode"></a>

```typescript
public readonly autoExpansionMode: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxEntityType.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enableFuzzyExtraction`<sup>Required</sup> <a name="enableFuzzyExtraction" id="@dschmidt/provider-google.DialogflowCxEntityType.property.enableFuzzyExtraction"></a>

```typescript
public readonly enableFuzzyExtraction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxEntityType.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.DialogflowCxEntityType.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

---

##### `languageCode`<sup>Required</sup> <a name="languageCode" id="@dschmidt/provider-google.DialogflowCxEntityType.property.languageCode"></a>

```typescript
public readonly languageCode: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxEntityType.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `redact`<sup>Required</sup> <a name="redact" id="@dschmidt/provider-google.DialogflowCxEntityType.property.redact"></a>

```typescript
public readonly redact: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityType.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowCxEntityType.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowCxEnvironment <a name="DialogflowCxEnvironment" id="@dschmidt/provider-google.DialogflowCxEnvironment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment google_dialogflow_cx_environment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowCxEnvironment.Initializer"></a>

```typescript
import { DialogflowCxEnvironment } from '@dschmidt/provider-google'

new DialogflowCxEnvironment(scope: Construct, id: string, config: DialogflowCxEnvironmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig">DialogflowCxEnvironmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowCxEnvironment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxEnvironment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowCxEnvironment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig">DialogflowCxEnvironmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.putVersionConfigs">putVersionConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.resetParent">resetParent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowCxEnvironment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowCxEnvironment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowCxEnvironment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxEnvironment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowCxEnvironment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowCxEnvironment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowCxEnvironment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowCxEnvironment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowCxEnvironment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxEnvironment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowCxEnvironment.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowCxEnvironmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxEnvironment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts">DialogflowCxEnvironmentTimeouts</a>

---

##### `putVersionConfigs` <a name="putVersionConfigs" id="@dschmidt/provider-google.DialogflowCxEnvironment.putVersionConfigs"></a>

```typescript
public putVersionConfigs(value: IResolvable | DialogflowCxEnvironmentVersionConfigs[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxEnvironment.putVersionConfigs.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigs">DialogflowCxEnvironmentVersionConfigs</a>[]

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DialogflowCxEnvironment.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowCxEnvironment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetParent` <a name="resetParent" id="@dschmidt/provider-google.DialogflowCxEnvironment.resetParent"></a>

```typescript
public resetParent(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowCxEnvironment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowCxEnvironment.isConstruct"></a>

```typescript
import { DialogflowCxEnvironment } from '@dschmidt/provider-google'

DialogflowCxEnvironment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowCxEnvironment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeoutsOutputReference">DialogflowCxEnvironmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.versionConfigs">versionConfigs</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigsList">DialogflowCxEnvironmentVersionConfigsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts">DialogflowCxEnvironmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.versionConfigsInput">versionConfigsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigs">DialogflowCxEnvironmentVersionConfigs</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxEnvironmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeoutsOutputReference">DialogflowCxEnvironmentTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `versionConfigs`<sup>Required</sup> <a name="versionConfigs" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.versionConfigs"></a>

```typescript
public readonly versionConfigs: DialogflowCxEnvironmentVersionConfigsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigsList">DialogflowCxEnvironmentVersionConfigsList</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowCxEnvironmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts">DialogflowCxEnvironmentTimeouts</a>

---

##### `versionConfigsInput`<sup>Optional</sup> <a name="versionConfigsInput" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.versionConfigsInput"></a>

```typescript
public readonly versionConfigsInput: IResolvable | DialogflowCxEnvironmentVersionConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigs">DialogflowCxEnvironmentVersionConfigs</a>[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowCxEnvironment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowCxFlow <a name="DialogflowCxFlow" id="@dschmidt/provider-google.DialogflowCxFlow"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow google_dialogflow_cx_flow}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowCxFlow.Initializer"></a>

```typescript
import { DialogflowCxFlow } from '@dschmidt/provider-google'

new DialogflowCxFlow(scope: Construct, id: string, config: DialogflowCxFlowConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig">DialogflowCxFlowConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowCxFlow.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxFlow.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowCxFlow.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowConfig">DialogflowCxFlowConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.putEventHandlers">putEventHandlers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.putNluSettings">putNluSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.putTransitionRoutes">putTransitionRoutes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetEventHandlers">resetEventHandlers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetLanguageCode">resetLanguageCode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetNluSettings">resetNluSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetParent">resetParent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetTransitionRouteGroups">resetTransitionRouteGroups</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.resetTransitionRoutes">resetTransitionRoutes</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowCxFlow.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowCxFlow.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowCxFlow.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxFlow.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowCxFlow.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowCxFlow.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowCxFlow.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowCxFlow.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowCxFlow.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxFlow.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEventHandlers` <a name="putEventHandlers" id="@dschmidt/provider-google.DialogflowCxFlow.putEventHandlers"></a>

```typescript
public putEventHandlers(value: IResolvable | DialogflowCxFlowEventHandlers[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxFlow.putEventHandlers.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlers">DialogflowCxFlowEventHandlers</a>[]

---

##### `putNluSettings` <a name="putNluSettings" id="@dschmidt/provider-google.DialogflowCxFlow.putNluSettings"></a>

```typescript
public putNluSettings(value: DialogflowCxFlowNluSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxFlow.putNluSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettings">DialogflowCxFlowNluSettings</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowCxFlow.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowCxFlowTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxFlow.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowTimeouts">DialogflowCxFlowTimeouts</a>

---

##### `putTransitionRoutes` <a name="putTransitionRoutes" id="@dschmidt/provider-google.DialogflowCxFlow.putTransitionRoutes"></a>

```typescript
public putTransitionRoutes(value: IResolvable | DialogflowCxFlowTransitionRoutes[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxFlow.putTransitionRoutes.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes">DialogflowCxFlowTransitionRoutes</a>[]

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DialogflowCxFlow.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEventHandlers` <a name="resetEventHandlers" id="@dschmidt/provider-google.DialogflowCxFlow.resetEventHandlers"></a>

```typescript
public resetEventHandlers(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowCxFlow.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLanguageCode` <a name="resetLanguageCode" id="@dschmidt/provider-google.DialogflowCxFlow.resetLanguageCode"></a>

```typescript
public resetLanguageCode(): void
```

##### `resetNluSettings` <a name="resetNluSettings" id="@dschmidt/provider-google.DialogflowCxFlow.resetNluSettings"></a>

```typescript
public resetNluSettings(): void
```

##### `resetParent` <a name="resetParent" id="@dschmidt/provider-google.DialogflowCxFlow.resetParent"></a>

```typescript
public resetParent(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowCxFlow.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTransitionRouteGroups` <a name="resetTransitionRouteGroups" id="@dschmidt/provider-google.DialogflowCxFlow.resetTransitionRouteGroups"></a>

```typescript
public resetTransitionRouteGroups(): void
```

##### `resetTransitionRoutes` <a name="resetTransitionRoutes" id="@dschmidt/provider-google.DialogflowCxFlow.resetTransitionRoutes"></a>

```typescript
public resetTransitionRoutes(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowCxFlow.isConstruct"></a>

```typescript
import { DialogflowCxFlow } from '@dschmidt/provider-google'

DialogflowCxFlow.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowCxFlow.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.eventHandlers">eventHandlers</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersList">DialogflowCxFlowEventHandlersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.nluSettings">nluSettings</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettingsOutputReference">DialogflowCxFlowNluSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTimeoutsOutputReference">DialogflowCxFlowTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.transitionRoutes">transitionRoutes</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesList">DialogflowCxFlowTransitionRoutesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.eventHandlersInput">eventHandlersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlers">DialogflowCxFlowEventHandlers</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.languageCodeInput">languageCodeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.nluSettingsInput">nluSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettings">DialogflowCxFlowNluSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxFlowTimeouts">DialogflowCxFlowTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.transitionRouteGroupsInput">transitionRouteGroupsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.transitionRoutesInput">transitionRoutesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes">DialogflowCxFlowTransitionRoutes</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.languageCode">languageCode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.transitionRouteGroups">transitionRouteGroups</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowCxFlow.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowCxFlow.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowCxFlow.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowCxFlow.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowCxFlow.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowCxFlow.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowCxFlow.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxFlow.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxFlow.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxFlow.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxFlow.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxFlow.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxFlow.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxFlow.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `eventHandlers`<sup>Required</sup> <a name="eventHandlers" id="@dschmidt/provider-google.DialogflowCxFlow.property.eventHandlers"></a>

```typescript
public readonly eventHandlers: DialogflowCxFlowEventHandlersList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersList">DialogflowCxFlowEventHandlersList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowCxFlow.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `nluSettings`<sup>Required</sup> <a name="nluSettings" id="@dschmidt/provider-google.DialogflowCxFlow.property.nluSettings"></a>

```typescript
public readonly nluSettings: DialogflowCxFlowNluSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettingsOutputReference">DialogflowCxFlowNluSettingsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxFlow.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxFlowTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowTimeoutsOutputReference">DialogflowCxFlowTimeoutsOutputReference</a>

---

##### `transitionRoutes`<sup>Required</sup> <a name="transitionRoutes" id="@dschmidt/provider-google.DialogflowCxFlow.property.transitionRoutes"></a>

```typescript
public readonly transitionRoutes: DialogflowCxFlowTransitionRoutesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesList">DialogflowCxFlowTransitionRoutesList</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `eventHandlersInput`<sup>Optional</sup> <a name="eventHandlersInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.eventHandlersInput"></a>

```typescript
public readonly eventHandlersInput: IResolvable | DialogflowCxFlowEventHandlers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlers">DialogflowCxFlowEventHandlers</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `languageCodeInput`<sup>Optional</sup> <a name="languageCodeInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.languageCodeInput"></a>

```typescript
public readonly languageCodeInput: string;
```

- *Type:* string

---

##### `nluSettingsInput`<sup>Optional</sup> <a name="nluSettingsInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.nluSettingsInput"></a>

```typescript
public readonly nluSettingsInput: DialogflowCxFlowNluSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettings">DialogflowCxFlowNluSettings</a>

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowCxFlowTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxFlowTimeouts">DialogflowCxFlowTimeouts</a>

---

##### `transitionRouteGroupsInput`<sup>Optional</sup> <a name="transitionRouteGroupsInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.transitionRouteGroupsInput"></a>

```typescript
public readonly transitionRouteGroupsInput: string[];
```

- *Type:* string[]

---

##### `transitionRoutesInput`<sup>Optional</sup> <a name="transitionRoutesInput" id="@dschmidt/provider-google.DialogflowCxFlow.property.transitionRoutesInput"></a>

```typescript
public readonly transitionRoutesInput: IResolvable | DialogflowCxFlowTransitionRoutes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes">DialogflowCxFlowTransitionRoutes</a>[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxFlow.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxFlow.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxFlow.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `languageCode`<sup>Required</sup> <a name="languageCode" id="@dschmidt/provider-google.DialogflowCxFlow.property.languageCode"></a>

```typescript
public readonly languageCode: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxFlow.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `transitionRouteGroups`<sup>Required</sup> <a name="transitionRouteGroups" id="@dschmidt/provider-google.DialogflowCxFlow.property.transitionRouteGroups"></a>

```typescript
public readonly transitionRouteGroups: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlow.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowCxFlow.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowCxIntent <a name="DialogflowCxIntent" id="@dschmidt/provider-google.DialogflowCxIntent"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent google_dialogflow_cx_intent}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowCxIntent.Initializer"></a>

```typescript
import { DialogflowCxIntent } from '@dschmidt/provider-google'

new DialogflowCxIntent(scope: Construct, id: string, config: DialogflowCxIntentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig">DialogflowCxIntentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowCxIntent.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxIntent.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowCxIntent.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxIntentConfig">DialogflowCxIntentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.putParameters">putParameters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.putTrainingPhrases">putTrainingPhrases</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetIsFallback">resetIsFallback</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetLanguageCode">resetLanguageCode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetParameters">resetParameters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetParent">resetParent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetPriority">resetPriority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.resetTrainingPhrases">resetTrainingPhrases</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowCxIntent.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowCxIntent.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowCxIntent.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxIntent.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowCxIntent.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowCxIntent.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowCxIntent.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowCxIntent.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowCxIntent.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxIntent.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putParameters` <a name="putParameters" id="@dschmidt/provider-google.DialogflowCxIntent.putParameters"></a>

```typescript
public putParameters(value: IResolvable | DialogflowCxIntentParameters[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxIntent.putParameters.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxIntentParameters">DialogflowCxIntentParameters</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowCxIntent.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowCxIntentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxIntent.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxIntentTimeouts">DialogflowCxIntentTimeouts</a>

---

##### `putTrainingPhrases` <a name="putTrainingPhrases" id="@dschmidt/provider-google.DialogflowCxIntent.putTrainingPhrases"></a>

```typescript
public putTrainingPhrases(value: IResolvable | DialogflowCxIntentTrainingPhrases[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxIntent.putTrainingPhrases.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases">DialogflowCxIntentTrainingPhrases</a>[]

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DialogflowCxIntent.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowCxIntent.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIsFallback` <a name="resetIsFallback" id="@dschmidt/provider-google.DialogflowCxIntent.resetIsFallback"></a>

```typescript
public resetIsFallback(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DialogflowCxIntent.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLanguageCode` <a name="resetLanguageCode" id="@dschmidt/provider-google.DialogflowCxIntent.resetLanguageCode"></a>

```typescript
public resetLanguageCode(): void
```

##### `resetParameters` <a name="resetParameters" id="@dschmidt/provider-google.DialogflowCxIntent.resetParameters"></a>

```typescript
public resetParameters(): void
```

##### `resetParent` <a name="resetParent" id="@dschmidt/provider-google.DialogflowCxIntent.resetParent"></a>

```typescript
public resetParent(): void
```

##### `resetPriority` <a name="resetPriority" id="@dschmidt/provider-google.DialogflowCxIntent.resetPriority"></a>

```typescript
public resetPriority(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowCxIntent.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTrainingPhrases` <a name="resetTrainingPhrases" id="@dschmidt/provider-google.DialogflowCxIntent.resetTrainingPhrases"></a>

```typescript
public resetTrainingPhrases(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowCxIntent.isConstruct"></a>

```typescript
import { DialogflowCxIntent } from '@dschmidt/provider-google'

DialogflowCxIntent.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowCxIntent.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.parameters">parameters</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxIntentParametersList">DialogflowCxIntentParametersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTimeoutsOutputReference">DialogflowCxIntentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.trainingPhrases">trainingPhrases</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesList">DialogflowCxIntentTrainingPhrasesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.isFallbackInput">isFallbackInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.languageCodeInput">languageCodeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.parametersInput">parametersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxIntentParameters">DialogflowCxIntentParameters</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.priorityInput">priorityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxIntentTimeouts">DialogflowCxIntentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.trainingPhrasesInput">trainingPhrasesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases">DialogflowCxIntentTrainingPhrases</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.isFallback">isFallback</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.languageCode">languageCode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.priority">priority</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowCxIntent.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowCxIntent.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowCxIntent.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowCxIntent.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowCxIntent.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowCxIntent.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowCxIntent.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxIntent.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxIntent.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxIntent.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxIntent.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxIntent.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxIntent.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxIntent.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowCxIntent.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `parameters`<sup>Required</sup> <a name="parameters" id="@dschmidt/provider-google.DialogflowCxIntent.property.parameters"></a>

```typescript
public readonly parameters: DialogflowCxIntentParametersList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxIntentParametersList">DialogflowCxIntentParametersList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxIntent.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxIntentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxIntentTimeoutsOutputReference">DialogflowCxIntentTimeoutsOutputReference</a>

---

##### `trainingPhrases`<sup>Required</sup> <a name="trainingPhrases" id="@dschmidt/provider-google.DialogflowCxIntent.property.trainingPhrases"></a>

```typescript
public readonly trainingPhrases: DialogflowCxIntentTrainingPhrasesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesList">DialogflowCxIntentTrainingPhrasesList</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `isFallbackInput`<sup>Optional</sup> <a name="isFallbackInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.isFallbackInput"></a>

```typescript
public readonly isFallbackInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `languageCodeInput`<sup>Optional</sup> <a name="languageCodeInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.languageCodeInput"></a>

```typescript
public readonly languageCodeInput: string;
```

- *Type:* string

---

##### `parametersInput`<sup>Optional</sup> <a name="parametersInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.parametersInput"></a>

```typescript
public readonly parametersInput: IResolvable | DialogflowCxIntentParameters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxIntentParameters">DialogflowCxIntentParameters</a>[]

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `priorityInput`<sup>Optional</sup> <a name="priorityInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.priorityInput"></a>

```typescript
public readonly priorityInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowCxIntentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxIntentTimeouts">DialogflowCxIntentTimeouts</a>

---

##### `trainingPhrasesInput`<sup>Optional</sup> <a name="trainingPhrasesInput" id="@dschmidt/provider-google.DialogflowCxIntent.property.trainingPhrasesInput"></a>

```typescript
public readonly trainingPhrasesInput: IResolvable | DialogflowCxIntentTrainingPhrases[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases">DialogflowCxIntentTrainingPhrases</a>[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxIntent.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxIntent.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxIntent.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `isFallback`<sup>Required</sup> <a name="isFallback" id="@dschmidt/provider-google.DialogflowCxIntent.property.isFallback"></a>

```typescript
public readonly isFallback: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DialogflowCxIntent.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `languageCode`<sup>Required</sup> <a name="languageCode" id="@dschmidt/provider-google.DialogflowCxIntent.property.languageCode"></a>

```typescript
public readonly languageCode: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxIntent.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.DialogflowCxIntent.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntent.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowCxIntent.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowCxPage <a name="DialogflowCxPage" id="@dschmidt/provider-google.DialogflowCxPage"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page google_dialogflow_cx_page}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowCxPage.Initializer"></a>

```typescript
import { DialogflowCxPage } from '@dschmidt/provider-google'

new DialogflowCxPage(scope: Construct, id: string, config: DialogflowCxPageConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig">DialogflowCxPageConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowCxPage.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxPage.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowCxPage.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageConfig">DialogflowCxPageConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.putEntryFulfillment">putEntryFulfillment</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.putEventHandlers">putEventHandlers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.putForm">putForm</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.putTransitionRoutes">putTransitionRoutes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetEntryFulfillment">resetEntryFulfillment</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetEventHandlers">resetEventHandlers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetForm">resetForm</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetLanguageCode">resetLanguageCode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetParent">resetParent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetTransitionRouteGroups">resetTransitionRouteGroups</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.resetTransitionRoutes">resetTransitionRoutes</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowCxPage.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowCxPage.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowCxPage.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxPage.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowCxPage.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowCxPage.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowCxPage.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowCxPage.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowCxPage.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowCxPage.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxPage.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEntryFulfillment` <a name="putEntryFulfillment" id="@dschmidt/provider-google.DialogflowCxPage.putEntryFulfillment"></a>

```typescript
public putEntryFulfillment(value: DialogflowCxPageEntryFulfillment): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxPage.putEntryFulfillment.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillment">DialogflowCxPageEntryFulfillment</a>

---

##### `putEventHandlers` <a name="putEventHandlers" id="@dschmidt/provider-google.DialogflowCxPage.putEventHandlers"></a>

```typescript
public putEventHandlers(value: IResolvable | DialogflowCxPageEventHandlers[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxPage.putEventHandlers.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlers">DialogflowCxPageEventHandlers</a>[]

---

##### `putForm` <a name="putForm" id="@dschmidt/provider-google.DialogflowCxPage.putForm"></a>

```typescript
public putForm(value: DialogflowCxPageForm): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxPage.putForm.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageForm">DialogflowCxPageForm</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowCxPage.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowCxPageTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxPage.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageTimeouts">DialogflowCxPageTimeouts</a>

---

##### `putTransitionRoutes` <a name="putTransitionRoutes" id="@dschmidt/provider-google.DialogflowCxPage.putTransitionRoutes"></a>

```typescript
public putTransitionRoutes(value: IResolvable | DialogflowCxPageTransitionRoutes[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxPage.putTransitionRoutes.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes">DialogflowCxPageTransitionRoutes</a>[]

---

##### `resetEntryFulfillment` <a name="resetEntryFulfillment" id="@dschmidt/provider-google.DialogflowCxPage.resetEntryFulfillment"></a>

```typescript
public resetEntryFulfillment(): void
```

##### `resetEventHandlers` <a name="resetEventHandlers" id="@dschmidt/provider-google.DialogflowCxPage.resetEventHandlers"></a>

```typescript
public resetEventHandlers(): void
```

##### `resetForm` <a name="resetForm" id="@dschmidt/provider-google.DialogflowCxPage.resetForm"></a>

```typescript
public resetForm(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowCxPage.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLanguageCode` <a name="resetLanguageCode" id="@dschmidt/provider-google.DialogflowCxPage.resetLanguageCode"></a>

```typescript
public resetLanguageCode(): void
```

##### `resetParent` <a name="resetParent" id="@dschmidt/provider-google.DialogflowCxPage.resetParent"></a>

```typescript
public resetParent(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowCxPage.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTransitionRouteGroups` <a name="resetTransitionRouteGroups" id="@dschmidt/provider-google.DialogflowCxPage.resetTransitionRouteGroups"></a>

```typescript
public resetTransitionRouteGroups(): void
```

##### `resetTransitionRoutes` <a name="resetTransitionRoutes" id="@dschmidt/provider-google.DialogflowCxPage.resetTransitionRoutes"></a>

```typescript
public resetTransitionRoutes(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowCxPage.isConstruct"></a>

```typescript
import { DialogflowCxPage } from '@dschmidt/provider-google'

DialogflowCxPage.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowCxPage.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.entryFulfillment">entryFulfillment</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentOutputReference">DialogflowCxPageEntryFulfillmentOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.eventHandlers">eventHandlers</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersList">DialogflowCxPageEventHandlersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.form">form</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormOutputReference">DialogflowCxPageFormOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageTimeoutsOutputReference">DialogflowCxPageTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.transitionRoutes">transitionRoutes</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesList">DialogflowCxPageTransitionRoutesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.entryFulfillmentInput">entryFulfillmentInput</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillment">DialogflowCxPageEntryFulfillment</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.eventHandlersInput">eventHandlersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlers">DialogflowCxPageEventHandlers</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.formInput">formInput</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageForm">DialogflowCxPageForm</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.languageCodeInput">languageCodeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageTimeouts">DialogflowCxPageTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.transitionRouteGroupsInput">transitionRouteGroupsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.transitionRoutesInput">transitionRoutesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes">DialogflowCxPageTransitionRoutes</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.languageCode">languageCode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.transitionRouteGroups">transitionRouteGroups</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowCxPage.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowCxPage.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowCxPage.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowCxPage.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowCxPage.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowCxPage.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowCxPage.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxPage.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxPage.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxPage.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxPage.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxPage.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxPage.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxPage.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `entryFulfillment`<sup>Required</sup> <a name="entryFulfillment" id="@dschmidt/provider-google.DialogflowCxPage.property.entryFulfillment"></a>

```typescript
public readonly entryFulfillment: DialogflowCxPageEntryFulfillmentOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentOutputReference">DialogflowCxPageEntryFulfillmentOutputReference</a>

---

##### `eventHandlers`<sup>Required</sup> <a name="eventHandlers" id="@dschmidt/provider-google.DialogflowCxPage.property.eventHandlers"></a>

```typescript
public readonly eventHandlers: DialogflowCxPageEventHandlersList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersList">DialogflowCxPageEventHandlersList</a>

---

##### `form`<sup>Required</sup> <a name="form" id="@dschmidt/provider-google.DialogflowCxPage.property.form"></a>

```typescript
public readonly form: DialogflowCxPageFormOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageFormOutputReference">DialogflowCxPageFormOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowCxPage.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxPage.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxPageTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageTimeoutsOutputReference">DialogflowCxPageTimeoutsOutputReference</a>

---

##### `transitionRoutes`<sup>Required</sup> <a name="transitionRoutes" id="@dschmidt/provider-google.DialogflowCxPage.property.transitionRoutes"></a>

```typescript
public readonly transitionRoutes: DialogflowCxPageTransitionRoutesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesList">DialogflowCxPageTransitionRoutesList</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowCxPage.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `entryFulfillmentInput`<sup>Optional</sup> <a name="entryFulfillmentInput" id="@dschmidt/provider-google.DialogflowCxPage.property.entryFulfillmentInput"></a>

```typescript
public readonly entryFulfillmentInput: DialogflowCxPageEntryFulfillment;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillment">DialogflowCxPageEntryFulfillment</a>

---

##### `eventHandlersInput`<sup>Optional</sup> <a name="eventHandlersInput" id="@dschmidt/provider-google.DialogflowCxPage.property.eventHandlersInput"></a>

```typescript
public readonly eventHandlersInput: IResolvable | DialogflowCxPageEventHandlers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlers">DialogflowCxPageEventHandlers</a>[]

---

##### `formInput`<sup>Optional</sup> <a name="formInput" id="@dschmidt/provider-google.DialogflowCxPage.property.formInput"></a>

```typescript
public readonly formInput: DialogflowCxPageForm;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageForm">DialogflowCxPageForm</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowCxPage.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `languageCodeInput`<sup>Optional</sup> <a name="languageCodeInput" id="@dschmidt/provider-google.DialogflowCxPage.property.languageCodeInput"></a>

```typescript
public readonly languageCodeInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DialogflowCxPage.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowCxPage.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowCxPageTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageTimeouts">DialogflowCxPageTimeouts</a>

---

##### `transitionRouteGroupsInput`<sup>Optional</sup> <a name="transitionRouteGroupsInput" id="@dschmidt/provider-google.DialogflowCxPage.property.transitionRouteGroupsInput"></a>

```typescript
public readonly transitionRouteGroupsInput: string[];
```

- *Type:* string[]

---

##### `transitionRoutesInput`<sup>Optional</sup> <a name="transitionRoutesInput" id="@dschmidt/provider-google.DialogflowCxPage.property.transitionRoutesInput"></a>

```typescript
public readonly transitionRoutesInput: IResolvable | DialogflowCxPageTransitionRoutes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes">DialogflowCxPageTransitionRoutes</a>[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxPage.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxPage.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `languageCode`<sup>Required</sup> <a name="languageCode" id="@dschmidt/provider-google.DialogflowCxPage.property.languageCode"></a>

```typescript
public readonly languageCode: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxPage.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `transitionRouteGroups`<sup>Required</sup> <a name="transitionRouteGroups" id="@dschmidt/provider-google.DialogflowCxPage.property.transitionRouteGroups"></a>

```typescript
public readonly transitionRouteGroups: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPage.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowCxPage.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowCxVersion <a name="DialogflowCxVersion" id="@dschmidt/provider-google.DialogflowCxVersion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version google_dialogflow_cx_version}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowCxVersion.Initializer"></a>

```typescript
import { DialogflowCxVersion } from '@dschmidt/provider-google'

new DialogflowCxVersion(scope: Construct, id: string, config: DialogflowCxVersionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig">DialogflowCxVersionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowCxVersion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxVersion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowCxVersion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxVersionConfig">DialogflowCxVersionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.resetParent">resetParent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowCxVersion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowCxVersion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowCxVersion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxVersion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowCxVersion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowCxVersion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowCxVersion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowCxVersion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowCxVersion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowCxVersion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowCxVersion.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowCxVersionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxVersion.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxVersionTimeouts">DialogflowCxVersionTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DialogflowCxVersion.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowCxVersion.resetId"></a>

```typescript
public resetId(): void
```

##### `resetParent` <a name="resetParent" id="@dschmidt/provider-google.DialogflowCxVersion.resetParent"></a>

```typescript
public resetParent(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowCxVersion.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowCxVersion.isConstruct"></a>

```typescript
import { DialogflowCxVersion } from '@dschmidt/provider-google'

DialogflowCxVersion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowCxVersion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.nluSettings">nluSettings</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxVersionNluSettingsList">DialogflowCxVersionNluSettingsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxVersionTimeoutsOutputReference">DialogflowCxVersionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxVersionTimeouts">DialogflowCxVersionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowCxVersion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowCxVersion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowCxVersion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowCxVersion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowCxVersion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowCxVersion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowCxVersion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxVersion.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxVersion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxVersion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxVersion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxVersion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxVersion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxVersion.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.DialogflowCxVersion.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowCxVersion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `nluSettings`<sup>Required</sup> <a name="nluSettings" id="@dschmidt/provider-google.DialogflowCxVersion.property.nluSettings"></a>

```typescript
public readonly nluSettings: DialogflowCxVersionNluSettingsList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxVersionNluSettingsList">DialogflowCxVersionNluSettingsList</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.DialogflowCxVersion.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxVersion.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxVersionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxVersionTimeoutsOutputReference">DialogflowCxVersionTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DialogflowCxVersion.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowCxVersion.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowCxVersion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.DialogflowCxVersion.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowCxVersion.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowCxVersionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxVersionTimeouts">DialogflowCxVersionTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxVersion.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxVersion.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxVersion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxVersion.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowCxVersion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowEntityType <a name="DialogflowEntityType" id="@dschmidt/provider-google.DialogflowEntityType"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type google_dialogflow_entity_type}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowEntityType.Initializer"></a>

```typescript
import { DialogflowEntityType } from '@dschmidt/provider-google'

new DialogflowEntityType(scope: Construct, id: string, config: DialogflowEntityTypeConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig">DialogflowEntityTypeConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowEntityType.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowEntityType.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowEntityType.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig">DialogflowEntityTypeConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.putEntities">putEntities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.resetEnableFuzzyExtraction">resetEnableFuzzyExtraction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.resetEntities">resetEntities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowEntityType.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowEntityType.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowEntityType.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowEntityType.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowEntityType.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowEntityType.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowEntityType.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowEntityType.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowEntityType.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowEntityType.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowEntityType.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEntities` <a name="putEntities" id="@dschmidt/provider-google.DialogflowEntityType.putEntities"></a>

```typescript
public putEntities(value: IResolvable | DialogflowEntityTypeEntities[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowEntityType.putEntities.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowEntityTypeEntities">DialogflowEntityTypeEntities</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowEntityType.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowEntityTypeTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowEntityType.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeouts">DialogflowEntityTypeTimeouts</a>

---

##### `resetEnableFuzzyExtraction` <a name="resetEnableFuzzyExtraction" id="@dschmidt/provider-google.DialogflowEntityType.resetEnableFuzzyExtraction"></a>

```typescript
public resetEnableFuzzyExtraction(): void
```

##### `resetEntities` <a name="resetEntities" id="@dschmidt/provider-google.DialogflowEntityType.resetEntities"></a>

```typescript
public resetEntities(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowEntityType.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DialogflowEntityType.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowEntityType.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowEntityType.isConstruct"></a>

```typescript
import { DialogflowEntityType } from '@dschmidt/provider-google'

DialogflowEntityType.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowEntityType.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.entities">entities</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeEntitiesList">DialogflowEntityTypeEntitiesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeoutsOutputReference">DialogflowEntityTypeTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.enableFuzzyExtractionInput">enableFuzzyExtractionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.entitiesInput">entitiesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowEntityTypeEntities">DialogflowEntityTypeEntities</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.kindInput">kindInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeouts">DialogflowEntityTypeTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.enableFuzzyExtraction">enableFuzzyExtraction</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.kind">kind</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowEntityType.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowEntityType.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowEntityType.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowEntityType.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowEntityType.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowEntityType.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowEntityType.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowEntityType.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowEntityType.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowEntityType.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowEntityType.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowEntityType.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowEntityType.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowEntityType.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `entities`<sup>Required</sup> <a name="entities" id="@dschmidt/provider-google.DialogflowEntityType.property.entities"></a>

```typescript
public readonly entities: DialogflowEntityTypeEntitiesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowEntityTypeEntitiesList">DialogflowEntityTypeEntitiesList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowEntityType.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowEntityType.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowEntityTypeTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeoutsOutputReference">DialogflowEntityTypeTimeoutsOutputReference</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowEntityType.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enableFuzzyExtractionInput`<sup>Optional</sup> <a name="enableFuzzyExtractionInput" id="@dschmidt/provider-google.DialogflowEntityType.property.enableFuzzyExtractionInput"></a>

```typescript
public readonly enableFuzzyExtractionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `entitiesInput`<sup>Optional</sup> <a name="entitiesInput" id="@dschmidt/provider-google.DialogflowEntityType.property.entitiesInput"></a>

```typescript
public readonly entitiesInput: IResolvable | DialogflowEntityTypeEntities[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowEntityTypeEntities">DialogflowEntityTypeEntities</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowEntityType.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `kindInput`<sup>Optional</sup> <a name="kindInput" id="@dschmidt/provider-google.DialogflowEntityType.property.kindInput"></a>

```typescript
public readonly kindInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DialogflowEntityType.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowEntityType.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowEntityTypeTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeouts">DialogflowEntityTypeTimeouts</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowEntityType.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enableFuzzyExtraction`<sup>Required</sup> <a name="enableFuzzyExtraction" id="@dschmidt/provider-google.DialogflowEntityType.property.enableFuzzyExtraction"></a>

```typescript
public readonly enableFuzzyExtraction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowEntityType.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.DialogflowEntityType.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DialogflowEntityType.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityType.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowEntityType.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowFulfillment <a name="DialogflowFulfillment" id="@dschmidt/provider-google.DialogflowFulfillment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment google_dialogflow_fulfillment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowFulfillment.Initializer"></a>

```typescript
import { DialogflowFulfillment } from '@dschmidt/provider-google'

new DialogflowFulfillment(scope: Construct, id: string, config: DialogflowFulfillmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig">DialogflowFulfillmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowFulfillment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowFulfillment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowFulfillment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig">DialogflowFulfillmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.putFeatures">putFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.putGenericWebService">putGenericWebService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.resetFeatures">resetFeatures</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.resetGenericWebService">resetGenericWebService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowFulfillment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowFulfillment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowFulfillment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowFulfillment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowFulfillment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowFulfillment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowFulfillment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowFulfillment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowFulfillment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowFulfillment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putFeatures` <a name="putFeatures" id="@dschmidt/provider-google.DialogflowFulfillment.putFeatures"></a>

```typescript
public putFeatures(value: IResolvable | DialogflowFulfillmentFeatures[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowFulfillment.putFeatures.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowFulfillmentFeatures">DialogflowFulfillmentFeatures</a>[]

---

##### `putGenericWebService` <a name="putGenericWebService" id="@dschmidt/provider-google.DialogflowFulfillment.putGenericWebService"></a>

```typescript
public putGenericWebService(value: DialogflowFulfillmentGenericWebService): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowFulfillment.putGenericWebService.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebService">DialogflowFulfillmentGenericWebService</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowFulfillment.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowFulfillmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowFulfillment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeouts">DialogflowFulfillmentTimeouts</a>

---

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.DialogflowFulfillment.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetFeatures` <a name="resetFeatures" id="@dschmidt/provider-google.DialogflowFulfillment.resetFeatures"></a>

```typescript
public resetFeatures(): void
```

##### `resetGenericWebService` <a name="resetGenericWebService" id="@dschmidt/provider-google.DialogflowFulfillment.resetGenericWebService"></a>

```typescript
public resetGenericWebService(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowFulfillment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DialogflowFulfillment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowFulfillment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowFulfillment.isConstruct"></a>

```typescript
import { DialogflowFulfillment } from '@dschmidt/provider-google'

DialogflowFulfillment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowFulfillment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.features">features</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentFeaturesList">DialogflowFulfillmentFeaturesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.genericWebService">genericWebService</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebServiceOutputReference">DialogflowFulfillmentGenericWebServiceOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeoutsOutputReference">DialogflowFulfillmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.featuresInput">featuresInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowFulfillmentFeatures">DialogflowFulfillmentFeatures</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.genericWebServiceInput">genericWebServiceInput</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebService">DialogflowFulfillmentGenericWebService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeouts">DialogflowFulfillmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowFulfillment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowFulfillment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowFulfillment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowFulfillment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowFulfillment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowFulfillment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowFulfillment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowFulfillment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowFulfillment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowFulfillment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowFulfillment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowFulfillment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowFulfillment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowFulfillment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `features`<sup>Required</sup> <a name="features" id="@dschmidt/provider-google.DialogflowFulfillment.property.features"></a>

```typescript
public readonly features: DialogflowFulfillmentFeaturesList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowFulfillmentFeaturesList">DialogflowFulfillmentFeaturesList</a>

---

##### `genericWebService`<sup>Required</sup> <a name="genericWebService" id="@dschmidt/provider-google.DialogflowFulfillment.property.genericWebService"></a>

```typescript
public readonly genericWebService: DialogflowFulfillmentGenericWebServiceOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebServiceOutputReference">DialogflowFulfillmentGenericWebServiceOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowFulfillment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowFulfillment.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowFulfillmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeoutsOutputReference">DialogflowFulfillmentTimeoutsOutputReference</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowFulfillment.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.DialogflowFulfillment.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `featuresInput`<sup>Optional</sup> <a name="featuresInput" id="@dschmidt/provider-google.DialogflowFulfillment.property.featuresInput"></a>

```typescript
public readonly featuresInput: IResolvable | DialogflowFulfillmentFeatures[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowFulfillmentFeatures">DialogflowFulfillmentFeatures</a>[]

---

##### `genericWebServiceInput`<sup>Optional</sup> <a name="genericWebServiceInput" id="@dschmidt/provider-google.DialogflowFulfillment.property.genericWebServiceInput"></a>

```typescript
public readonly genericWebServiceInput: DialogflowFulfillmentGenericWebService;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebService">DialogflowFulfillmentGenericWebService</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowFulfillment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DialogflowFulfillment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowFulfillment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowFulfillmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeouts">DialogflowFulfillmentTimeouts</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowFulfillment.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.DialogflowFulfillment.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowFulfillment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DialogflowFulfillment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowFulfillment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DialogflowIntent <a name="DialogflowIntent" id="@dschmidt/provider-google.DialogflowIntent"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent google_dialogflow_intent}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DialogflowIntent.Initializer"></a>

```typescript
import { DialogflowIntent } from '@dschmidt/provider-google'

new DialogflowIntent(scope: Construct, id: string, config: DialogflowIntentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig">DialogflowIntentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DialogflowIntent.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowIntent.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DialogflowIntent.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowIntentConfig">DialogflowIntentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetAction">resetAction</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetDefaultResponsePlatforms">resetDefaultResponsePlatforms</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetEvents">resetEvents</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetInputContextNames">resetInputContextNames</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetIsFallback">resetIsFallback</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetMlDisabled">resetMlDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetParentFollowupIntentName">resetParentFollowupIntentName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetPriority">resetPriority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetResetContexts">resetResetContexts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.resetWebhookState">resetWebhookState</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DialogflowIntent.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DialogflowIntent.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DialogflowIntent.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowIntent.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DialogflowIntent.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DialogflowIntent.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DialogflowIntent.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DialogflowIntent.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DialogflowIntent.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DialogflowIntent.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DialogflowIntent.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DialogflowIntent.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DialogflowIntent.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DialogflowIntent.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DialogflowIntent.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DialogflowIntent.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DialogflowIntent.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DialogflowIntent.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DialogflowIntent.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DialogflowIntent.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DialogflowIntent.putTimeouts"></a>

```typescript
public putTimeouts(value: DialogflowIntentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowIntent.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DialogflowIntentTimeouts">DialogflowIntentTimeouts</a>

---

##### `resetAction` <a name="resetAction" id="@dschmidt/provider-google.DialogflowIntent.resetAction"></a>

```typescript
public resetAction(): void
```

##### `resetDefaultResponsePlatforms` <a name="resetDefaultResponsePlatforms" id="@dschmidt/provider-google.DialogflowIntent.resetDefaultResponsePlatforms"></a>

```typescript
public resetDefaultResponsePlatforms(): void
```

##### `resetEvents` <a name="resetEvents" id="@dschmidt/provider-google.DialogflowIntent.resetEvents"></a>

```typescript
public resetEvents(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DialogflowIntent.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInputContextNames` <a name="resetInputContextNames" id="@dschmidt/provider-google.DialogflowIntent.resetInputContextNames"></a>

```typescript
public resetInputContextNames(): void
```

##### `resetIsFallback` <a name="resetIsFallback" id="@dschmidt/provider-google.DialogflowIntent.resetIsFallback"></a>

```typescript
public resetIsFallback(): void
```

##### `resetMlDisabled` <a name="resetMlDisabled" id="@dschmidt/provider-google.DialogflowIntent.resetMlDisabled"></a>

```typescript
public resetMlDisabled(): void
```

##### `resetParentFollowupIntentName` <a name="resetParentFollowupIntentName" id="@dschmidt/provider-google.DialogflowIntent.resetParentFollowupIntentName"></a>

```typescript
public resetParentFollowupIntentName(): void
```

##### `resetPriority` <a name="resetPriority" id="@dschmidt/provider-google.DialogflowIntent.resetPriority"></a>

```typescript
public resetPriority(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DialogflowIntent.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetResetContexts` <a name="resetResetContexts" id="@dschmidt/provider-google.DialogflowIntent.resetResetContexts"></a>

```typescript
public resetResetContexts(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DialogflowIntent.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetWebhookState` <a name="resetWebhookState" id="@dschmidt/provider-google.DialogflowIntent.resetWebhookState"></a>

```typescript
public resetWebhookState(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DialogflowIntent.isConstruct"></a>

```typescript
import { DialogflowIntent } from '@dschmidt/provider-google'

DialogflowIntent.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DialogflowIntent.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.followupIntentInfo">followupIntentInfo</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowIntentFollowupIntentInfoList">DialogflowIntentFollowupIntentInfoList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.rootFollowupIntentName">rootFollowupIntentName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowIntentTimeoutsOutputReference">DialogflowIntentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.actionInput">actionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.defaultResponsePlatformsInput">defaultResponsePlatformsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.eventsInput">eventsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.inputContextNamesInput">inputContextNamesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.isFallbackInput">isFallbackInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.mlDisabledInput">mlDisabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.parentFollowupIntentNameInput">parentFollowupIntentNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.priorityInput">priorityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.resetContextsInput">resetContextsInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowIntentTimeouts">DialogflowIntentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.webhookStateInput">webhookStateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.defaultResponsePlatforms">defaultResponsePlatforms</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.events">events</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.inputContextNames">inputContextNames</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.isFallback">isFallback</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.mlDisabled">mlDisabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.parentFollowupIntentName">parentFollowupIntentName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.priority">priority</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.resetContexts">resetContexts</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.webhookState">webhookState</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DialogflowIntent.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DialogflowIntent.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DialogflowIntent.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DialogflowIntent.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DialogflowIntent.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DialogflowIntent.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DialogflowIntent.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowIntent.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowIntent.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowIntent.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowIntent.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowIntent.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowIntent.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowIntent.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `followupIntentInfo`<sup>Required</sup> <a name="followupIntentInfo" id="@dschmidt/provider-google.DialogflowIntent.property.followupIntentInfo"></a>

```typescript
public readonly followupIntentInfo: DialogflowIntentFollowupIntentInfoList;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowIntentFollowupIntentInfoList">DialogflowIntentFollowupIntentInfoList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DialogflowIntent.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `rootFollowupIntentName`<sup>Required</sup> <a name="rootFollowupIntentName" id="@dschmidt/provider-google.DialogflowIntent.property.rootFollowupIntentName"></a>

```typescript
public readonly rootFollowupIntentName: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowIntent.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowIntentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowIntentTimeoutsOutputReference">DialogflowIntentTimeoutsOutputReference</a>

---

##### `actionInput`<sup>Optional</sup> <a name="actionInput" id="@dschmidt/provider-google.DialogflowIntent.property.actionInput"></a>

```typescript
public readonly actionInput: string;
```

- *Type:* string

---

##### `defaultResponsePlatformsInput`<sup>Optional</sup> <a name="defaultResponsePlatformsInput" id="@dschmidt/provider-google.DialogflowIntent.property.defaultResponsePlatformsInput"></a>

```typescript
public readonly defaultResponsePlatformsInput: string[];
```

- *Type:* string[]

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DialogflowIntent.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `eventsInput`<sup>Optional</sup> <a name="eventsInput" id="@dschmidt/provider-google.DialogflowIntent.property.eventsInput"></a>

```typescript
public readonly eventsInput: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DialogflowIntent.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `inputContextNamesInput`<sup>Optional</sup> <a name="inputContextNamesInput" id="@dschmidt/provider-google.DialogflowIntent.property.inputContextNamesInput"></a>

```typescript
public readonly inputContextNamesInput: string[];
```

- *Type:* string[]

---

##### `isFallbackInput`<sup>Optional</sup> <a name="isFallbackInput" id="@dschmidt/provider-google.DialogflowIntent.property.isFallbackInput"></a>

```typescript
public readonly isFallbackInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `mlDisabledInput`<sup>Optional</sup> <a name="mlDisabledInput" id="@dschmidt/provider-google.DialogflowIntent.property.mlDisabledInput"></a>

```typescript
public readonly mlDisabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `parentFollowupIntentNameInput`<sup>Optional</sup> <a name="parentFollowupIntentNameInput" id="@dschmidt/provider-google.DialogflowIntent.property.parentFollowupIntentNameInput"></a>

```typescript
public readonly parentFollowupIntentNameInput: string;
```

- *Type:* string

---

##### `priorityInput`<sup>Optional</sup> <a name="priorityInput" id="@dschmidt/provider-google.DialogflowIntent.property.priorityInput"></a>

```typescript
public readonly priorityInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DialogflowIntent.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `resetContextsInput`<sup>Optional</sup> <a name="resetContextsInput" id="@dschmidt/provider-google.DialogflowIntent.property.resetContextsInput"></a>

```typescript
public readonly resetContextsInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DialogflowIntent.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DialogflowIntentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowIntentTimeouts">DialogflowIntentTimeouts</a>

---

##### `webhookStateInput`<sup>Optional</sup> <a name="webhookStateInput" id="@dschmidt/provider-google.DialogflowIntent.property.webhookStateInput"></a>

```typescript
public readonly webhookStateInput: string;
```

- *Type:* string

---

##### `action`<sup>Required</sup> <a name="action" id="@dschmidt/provider-google.DialogflowIntent.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `defaultResponsePlatforms`<sup>Required</sup> <a name="defaultResponsePlatforms" id="@dschmidt/provider-google.DialogflowIntent.property.defaultResponsePlatforms"></a>

```typescript
public readonly defaultResponsePlatforms: string[];
```

- *Type:* string[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowIntent.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `events`<sup>Required</sup> <a name="events" id="@dschmidt/provider-google.DialogflowIntent.property.events"></a>

```typescript
public readonly events: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowIntent.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `inputContextNames`<sup>Required</sup> <a name="inputContextNames" id="@dschmidt/provider-google.DialogflowIntent.property.inputContextNames"></a>

```typescript
public readonly inputContextNames: string[];
```

- *Type:* string[]

---

##### `isFallback`<sup>Required</sup> <a name="isFallback" id="@dschmidt/provider-google.DialogflowIntent.property.isFallback"></a>

```typescript
public readonly isFallback: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `mlDisabled`<sup>Required</sup> <a name="mlDisabled" id="@dschmidt/provider-google.DialogflowIntent.property.mlDisabled"></a>

```typescript
public readonly mlDisabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `parentFollowupIntentName`<sup>Required</sup> <a name="parentFollowupIntentName" id="@dschmidt/provider-google.DialogflowIntent.property.parentFollowupIntentName"></a>

```typescript
public readonly parentFollowupIntentName: string;
```

- *Type:* string

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.DialogflowIntent.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DialogflowIntent.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `resetContexts`<sup>Required</sup> <a name="resetContexts" id="@dschmidt/provider-google.DialogflowIntent.property.resetContexts"></a>

```typescript
public readonly resetContexts: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `webhookState`<sup>Required</sup> <a name="webhookState" id="@dschmidt/provider-google.DialogflowIntent.property.webhookState"></a>

```typescript
public readonly webhookState: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowIntent.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DialogflowIntent.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DnsManagedZone <a name="DnsManagedZone" id="@dschmidt/provider-google.DnsManagedZone"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone google_dns_managed_zone}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DnsManagedZone.Initializer"></a>

```typescript
import { DnsManagedZone } from '@dschmidt/provider-google'

new DnsManagedZone(scope: Construct, id: string, config: DnsManagedZoneConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig">DnsManagedZoneConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DnsManagedZone.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DnsManagedZone.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DnsManagedZone.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneConfig">DnsManagedZoneConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.putDnssecConfig">putDnssecConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.putForwardingConfig">putForwardingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.putPeeringConfig">putPeeringConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.putPrivateVisibilityConfig">putPrivateVisibilityConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetDnssecConfig">resetDnssecConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetForceDestroy">resetForceDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetForwardingConfig">resetForwardingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetPeeringConfig">resetPeeringConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetPrivateVisibilityConfig">resetPrivateVisibilityConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.resetVisibility">resetVisibility</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DnsManagedZone.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DnsManagedZone.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DnsManagedZone.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsManagedZone.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DnsManagedZone.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DnsManagedZone.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DnsManagedZone.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DnsManagedZone.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DnsManagedZone.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DnsManagedZone.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DnsManagedZone.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DnsManagedZone.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DnsManagedZone.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DnsManagedZone.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DnsManagedZone.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DnsManagedZone.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DnsManagedZone.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DnsManagedZone.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DnsManagedZone.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsManagedZone.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDnssecConfig` <a name="putDnssecConfig" id="@dschmidt/provider-google.DnsManagedZone.putDnssecConfig"></a>

```typescript
public putDnssecConfig(value: DnsManagedZoneDnssecConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsManagedZone.putDnssecConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfig">DnsManagedZoneDnssecConfig</a>

---

##### `putForwardingConfig` <a name="putForwardingConfig" id="@dschmidt/provider-google.DnsManagedZone.putForwardingConfig"></a>

```typescript
public putForwardingConfig(value: DnsManagedZoneForwardingConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsManagedZone.putForwardingConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfig">DnsManagedZoneForwardingConfig</a>

---

##### `putPeeringConfig` <a name="putPeeringConfig" id="@dschmidt/provider-google.DnsManagedZone.putPeeringConfig"></a>

```typescript
public putPeeringConfig(value: DnsManagedZonePeeringConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsManagedZone.putPeeringConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfig">DnsManagedZonePeeringConfig</a>

---

##### `putPrivateVisibilityConfig` <a name="putPrivateVisibilityConfig" id="@dschmidt/provider-google.DnsManagedZone.putPrivateVisibilityConfig"></a>

```typescript
public putPrivateVisibilityConfig(value: DnsManagedZonePrivateVisibilityConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsManagedZone.putPrivateVisibilityConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfig">DnsManagedZonePrivateVisibilityConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DnsManagedZone.putTimeouts"></a>

```typescript
public putTimeouts(value: DnsManagedZoneTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsManagedZone.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneTimeouts">DnsManagedZoneTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DnsManagedZone.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDnssecConfig` <a name="resetDnssecConfig" id="@dschmidt/provider-google.DnsManagedZone.resetDnssecConfig"></a>

```typescript
public resetDnssecConfig(): void
```

##### `resetForceDestroy` <a name="resetForceDestroy" id="@dschmidt/provider-google.DnsManagedZone.resetForceDestroy"></a>

```typescript
public resetForceDestroy(): void
```

##### `resetForwardingConfig` <a name="resetForwardingConfig" id="@dschmidt/provider-google.DnsManagedZone.resetForwardingConfig"></a>

```typescript
public resetForwardingConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DnsManagedZone.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.DnsManagedZone.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetPeeringConfig` <a name="resetPeeringConfig" id="@dschmidt/provider-google.DnsManagedZone.resetPeeringConfig"></a>

```typescript
public resetPeeringConfig(): void
```

##### `resetPrivateVisibilityConfig` <a name="resetPrivateVisibilityConfig" id="@dschmidt/provider-google.DnsManagedZone.resetPrivateVisibilityConfig"></a>

```typescript
public resetPrivateVisibilityConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DnsManagedZone.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DnsManagedZone.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVisibility` <a name="resetVisibility" id="@dschmidt/provider-google.DnsManagedZone.resetVisibility"></a>

```typescript
public resetVisibility(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DnsManagedZone.isConstruct"></a>

```typescript
import { DnsManagedZone } from '@dschmidt/provider-google'

DnsManagedZone.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DnsManagedZone.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.creationTime">creationTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.dnssecConfig">dnssecConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfigOutputReference">DnsManagedZoneDnssecConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.forwardingConfig">forwardingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfigOutputReference">DnsManagedZoneForwardingConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.managedZoneId">managedZoneId</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.nameServers">nameServers</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.peeringConfig">peeringConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfigOutputReference">DnsManagedZonePeeringConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.privateVisibilityConfig">privateVisibilityConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfigOutputReference">DnsManagedZonePrivateVisibilityConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZoneTimeoutsOutputReference">DnsManagedZoneTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.dnsNameInput">dnsNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.dnssecConfigInput">dnssecConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfig">DnsManagedZoneDnssecConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.forceDestroyInput">forceDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.forwardingConfigInput">forwardingConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfig">DnsManagedZoneForwardingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.peeringConfigInput">peeringConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfig">DnsManagedZonePeeringConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.privateVisibilityConfigInput">privateVisibilityConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfig">DnsManagedZonePrivateVisibilityConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsManagedZoneTimeouts">DnsManagedZoneTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.visibilityInput">visibilityInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.dnsName">dnsName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.forceDestroy">forceDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.visibility">visibility</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DnsManagedZone.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DnsManagedZone.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DnsManagedZone.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DnsManagedZone.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DnsManagedZone.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DnsManagedZone.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DnsManagedZone.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DnsManagedZone.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DnsManagedZone.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DnsManagedZone.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DnsManagedZone.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DnsManagedZone.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DnsManagedZone.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DnsManagedZone.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTime`<sup>Required</sup> <a name="creationTime" id="@dschmidt/provider-google.DnsManagedZone.property.creationTime"></a>

```typescript
public readonly creationTime: string;
```

- *Type:* string

---

##### `dnssecConfig`<sup>Required</sup> <a name="dnssecConfig" id="@dschmidt/provider-google.DnsManagedZone.property.dnssecConfig"></a>

```typescript
public readonly dnssecConfig: DnsManagedZoneDnssecConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfigOutputReference">DnsManagedZoneDnssecConfigOutputReference</a>

---

##### `forwardingConfig`<sup>Required</sup> <a name="forwardingConfig" id="@dschmidt/provider-google.DnsManagedZone.property.forwardingConfig"></a>

```typescript
public readonly forwardingConfig: DnsManagedZoneForwardingConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfigOutputReference">DnsManagedZoneForwardingConfigOutputReference</a>

---

##### `managedZoneId`<sup>Required</sup> <a name="managedZoneId" id="@dschmidt/provider-google.DnsManagedZone.property.managedZoneId"></a>

```typescript
public readonly managedZoneId: number;
```

- *Type:* number

---

##### `nameServers`<sup>Required</sup> <a name="nameServers" id="@dschmidt/provider-google.DnsManagedZone.property.nameServers"></a>

```typescript
public readonly nameServers: string[];
```

- *Type:* string[]

---

##### `peeringConfig`<sup>Required</sup> <a name="peeringConfig" id="@dschmidt/provider-google.DnsManagedZone.property.peeringConfig"></a>

```typescript
public readonly peeringConfig: DnsManagedZonePeeringConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfigOutputReference">DnsManagedZonePeeringConfigOutputReference</a>

---

##### `privateVisibilityConfig`<sup>Required</sup> <a name="privateVisibilityConfig" id="@dschmidt/provider-google.DnsManagedZone.property.privateVisibilityConfig"></a>

```typescript
public readonly privateVisibilityConfig: DnsManagedZonePrivateVisibilityConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfigOutputReference">DnsManagedZonePrivateVisibilityConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DnsManagedZone.property.timeouts"></a>

```typescript
public readonly timeouts: DnsManagedZoneTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneTimeoutsOutputReference">DnsManagedZoneTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DnsManagedZone.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `dnsNameInput`<sup>Optional</sup> <a name="dnsNameInput" id="@dschmidt/provider-google.DnsManagedZone.property.dnsNameInput"></a>

```typescript
public readonly dnsNameInput: string;
```

- *Type:* string

---

##### `dnssecConfigInput`<sup>Optional</sup> <a name="dnssecConfigInput" id="@dschmidt/provider-google.DnsManagedZone.property.dnssecConfigInput"></a>

```typescript
public readonly dnssecConfigInput: DnsManagedZoneDnssecConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfig">DnsManagedZoneDnssecConfig</a>

---

##### `forceDestroyInput`<sup>Optional</sup> <a name="forceDestroyInput" id="@dschmidt/provider-google.DnsManagedZone.property.forceDestroyInput"></a>

```typescript
public readonly forceDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `forwardingConfigInput`<sup>Optional</sup> <a name="forwardingConfigInput" id="@dschmidt/provider-google.DnsManagedZone.property.forwardingConfigInput"></a>

```typescript
public readonly forwardingConfigInput: DnsManagedZoneForwardingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfig">DnsManagedZoneForwardingConfig</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DnsManagedZone.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.DnsManagedZone.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DnsManagedZone.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `peeringConfigInput`<sup>Optional</sup> <a name="peeringConfigInput" id="@dschmidt/provider-google.DnsManagedZone.property.peeringConfigInput"></a>

```typescript
public readonly peeringConfigInput: DnsManagedZonePeeringConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfig">DnsManagedZonePeeringConfig</a>

---

##### `privateVisibilityConfigInput`<sup>Optional</sup> <a name="privateVisibilityConfigInput" id="@dschmidt/provider-google.DnsManagedZone.property.privateVisibilityConfigInput"></a>

```typescript
public readonly privateVisibilityConfigInput: DnsManagedZonePrivateVisibilityConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfig">DnsManagedZonePrivateVisibilityConfig</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DnsManagedZone.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DnsManagedZone.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DnsManagedZoneTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsManagedZoneTimeouts">DnsManagedZoneTimeouts</a>

---

##### `visibilityInput`<sup>Optional</sup> <a name="visibilityInput" id="@dschmidt/provider-google.DnsManagedZone.property.visibilityInput"></a>

```typescript
public readonly visibilityInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DnsManagedZone.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `dnsName`<sup>Required</sup> <a name="dnsName" id="@dschmidt/provider-google.DnsManagedZone.property.dnsName"></a>

```typescript
public readonly dnsName: string;
```

- *Type:* string

---

##### `forceDestroy`<sup>Required</sup> <a name="forceDestroy" id="@dschmidt/provider-google.DnsManagedZone.property.forceDestroy"></a>

```typescript
public readonly forceDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DnsManagedZone.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.DnsManagedZone.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DnsManagedZone.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DnsManagedZone.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `visibility`<sup>Required</sup> <a name="visibility" id="@dschmidt/provider-google.DnsManagedZone.property.visibility"></a>

```typescript
public readonly visibility: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZone.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DnsManagedZone.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DnsPolicy <a name="DnsPolicy" id="@dschmidt/provider-google.DnsPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dns_policy google_dns_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DnsPolicy.Initializer"></a>

```typescript
import { DnsPolicy } from '@dschmidt/provider-google'

new DnsPolicy(scope: Construct, id: string, config: DnsPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DnsPolicyConfig">DnsPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DnsPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DnsPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DnsPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsPolicyConfig">DnsPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.putAlternativeNameServerConfig">putAlternativeNameServerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.putNetworks">putNetworks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.resetAlternativeNameServerConfig">resetAlternativeNameServerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.resetEnableInboundForwarding">resetEnableInboundForwarding</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.resetEnableLogging">resetEnableLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.resetNetworks">resetNetworks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DnsPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DnsPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DnsPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DnsPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DnsPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DnsPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DnsPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DnsPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DnsPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DnsPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DnsPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DnsPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DnsPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DnsPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DnsPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DnsPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DnsPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DnsPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAlternativeNameServerConfig` <a name="putAlternativeNameServerConfig" id="@dschmidt/provider-google.DnsPolicy.putAlternativeNameServerConfig"></a>

```typescript
public putAlternativeNameServerConfig(value: DnsPolicyAlternativeNameServerConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsPolicy.putAlternativeNameServerConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfig">DnsPolicyAlternativeNameServerConfig</a>

---

##### `putNetworks` <a name="putNetworks" id="@dschmidt/provider-google.DnsPolicy.putNetworks"></a>

```typescript
public putNetworks(value: IResolvable | DnsPolicyNetworks[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsPolicy.putNetworks.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsPolicyNetworks">DnsPolicyNetworks</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DnsPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: DnsPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsPolicyTimeouts">DnsPolicyTimeouts</a>

---

##### `resetAlternativeNameServerConfig` <a name="resetAlternativeNameServerConfig" id="@dschmidt/provider-google.DnsPolicy.resetAlternativeNameServerConfig"></a>

```typescript
public resetAlternativeNameServerConfig(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.DnsPolicy.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetEnableInboundForwarding` <a name="resetEnableInboundForwarding" id="@dschmidt/provider-google.DnsPolicy.resetEnableInboundForwarding"></a>

```typescript
public resetEnableInboundForwarding(): void
```

##### `resetEnableLogging` <a name="resetEnableLogging" id="@dschmidt/provider-google.DnsPolicy.resetEnableLogging"></a>

```typescript
public resetEnableLogging(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DnsPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNetworks` <a name="resetNetworks" id="@dschmidt/provider-google.DnsPolicy.resetNetworks"></a>

```typescript
public resetNetworks(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DnsPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DnsPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DnsPolicy.isConstruct"></a>

```typescript
import { DnsPolicy } from '@dschmidt/provider-google'

DnsPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DnsPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.alternativeNameServerConfig">alternativeNameServerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigOutputReference">DnsPolicyAlternativeNameServerConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.networks">networks</a></code> | <code><a href="#@dschmidt/provider-google.DnsPolicyNetworksList">DnsPolicyNetworksList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DnsPolicyTimeoutsOutputReference">DnsPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.alternativeNameServerConfigInput">alternativeNameServerConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfig">DnsPolicyAlternativeNameServerConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.enableInboundForwardingInput">enableInboundForwardingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.enableLoggingInput">enableLoggingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.networksInput">networksInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsPolicyNetworks">DnsPolicyNetworks</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsPolicyTimeouts">DnsPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.enableInboundForwarding">enableInboundForwarding</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.enableLogging">enableLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DnsPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DnsPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DnsPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DnsPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DnsPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DnsPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DnsPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DnsPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DnsPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DnsPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DnsPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DnsPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DnsPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DnsPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `alternativeNameServerConfig`<sup>Required</sup> <a name="alternativeNameServerConfig" id="@dschmidt/provider-google.DnsPolicy.property.alternativeNameServerConfig"></a>

```typescript
public readonly alternativeNameServerConfig: DnsPolicyAlternativeNameServerConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigOutputReference">DnsPolicyAlternativeNameServerConfigOutputReference</a>

---

##### `networks`<sup>Required</sup> <a name="networks" id="@dschmidt/provider-google.DnsPolicy.property.networks"></a>

```typescript
public readonly networks: DnsPolicyNetworksList;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsPolicyNetworksList">DnsPolicyNetworksList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DnsPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: DnsPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsPolicyTimeoutsOutputReference">DnsPolicyTimeoutsOutputReference</a>

---

##### `alternativeNameServerConfigInput`<sup>Optional</sup> <a name="alternativeNameServerConfigInput" id="@dschmidt/provider-google.DnsPolicy.property.alternativeNameServerConfigInput"></a>

```typescript
public readonly alternativeNameServerConfigInput: DnsPolicyAlternativeNameServerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfig">DnsPolicyAlternativeNameServerConfig</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.DnsPolicy.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `enableInboundForwardingInput`<sup>Optional</sup> <a name="enableInboundForwardingInput" id="@dschmidt/provider-google.DnsPolicy.property.enableInboundForwardingInput"></a>

```typescript
public readonly enableInboundForwardingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableLoggingInput`<sup>Optional</sup> <a name="enableLoggingInput" id="@dschmidt/provider-google.DnsPolicy.property.enableLoggingInput"></a>

```typescript
public readonly enableLoggingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DnsPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DnsPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networksInput`<sup>Optional</sup> <a name="networksInput" id="@dschmidt/provider-google.DnsPolicy.property.networksInput"></a>

```typescript
public readonly networksInput: IResolvable | DnsPolicyNetworks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsPolicyNetworks">DnsPolicyNetworks</a>[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DnsPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DnsPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DnsPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsPolicyTimeouts">DnsPolicyTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.DnsPolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `enableInboundForwarding`<sup>Required</sup> <a name="enableInboundForwarding" id="@dschmidt/provider-google.DnsPolicy.property.enableInboundForwarding"></a>

```typescript
public readonly enableInboundForwarding: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableLogging`<sup>Required</sup> <a name="enableLogging" id="@dschmidt/provider-google.DnsPolicy.property.enableLogging"></a>

```typescript
public readonly enableLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DnsPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DnsPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DnsPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DnsPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DnsRecordSet <a name="DnsRecordSet" id="@dschmidt/provider-google.DnsRecordSet"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/dns_record_set google_dns_record_set}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DnsRecordSet.Initializer"></a>

```typescript
import { DnsRecordSet } from '@dschmidt/provider-google'

new DnsRecordSet(scope: Construct, id: string, config: DnsRecordSetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig">DnsRecordSetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DnsRecordSet.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DnsRecordSet.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DnsRecordSet.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsRecordSetConfig">DnsRecordSetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.putRoutingPolicy">putRoutingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.resetRoutingPolicy">resetRoutingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.resetRrdatas">resetRrdatas</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.resetTtl">resetTtl</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DnsRecordSet.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DnsRecordSet.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DnsRecordSet.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsRecordSet.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DnsRecordSet.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DnsRecordSet.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DnsRecordSet.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DnsRecordSet.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DnsRecordSet.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DnsRecordSet.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DnsRecordSet.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DnsRecordSet.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DnsRecordSet.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DnsRecordSet.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DnsRecordSet.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DnsRecordSet.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DnsRecordSet.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DnsRecordSet.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DnsRecordSet.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DnsRecordSet.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putRoutingPolicy` <a name="putRoutingPolicy" id="@dschmidt/provider-google.DnsRecordSet.putRoutingPolicy"></a>

```typescript
public putRoutingPolicy(value: DnsRecordSetRoutingPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DnsRecordSet.putRoutingPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicy">DnsRecordSetRoutingPolicy</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DnsRecordSet.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DnsRecordSet.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRoutingPolicy` <a name="resetRoutingPolicy" id="@dschmidt/provider-google.DnsRecordSet.resetRoutingPolicy"></a>

```typescript
public resetRoutingPolicy(): void
```

##### `resetRrdatas` <a name="resetRrdatas" id="@dschmidt/provider-google.DnsRecordSet.resetRrdatas"></a>

```typescript
public resetRrdatas(): void
```

##### `resetTtl` <a name="resetTtl" id="@dschmidt/provider-google.DnsRecordSet.resetTtl"></a>

```typescript
public resetTtl(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DnsRecordSet.isConstruct"></a>

```typescript
import { DnsRecordSet } from '@dschmidt/provider-google'

DnsRecordSet.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DnsRecordSet.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.routingPolicy">routingPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyOutputReference">DnsRecordSetRoutingPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.managedZoneInput">managedZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.routingPolicyInput">routingPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicy">DnsRecordSetRoutingPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.rrdatasInput">rrdatasInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.ttlInput">ttlInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.managedZone">managedZone</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.rrdatas">rrdatas</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.ttl">ttl</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DnsRecordSet.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DnsRecordSet.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DnsRecordSet.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DnsRecordSet.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DnsRecordSet.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DnsRecordSet.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DnsRecordSet.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DnsRecordSet.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DnsRecordSet.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DnsRecordSet.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DnsRecordSet.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DnsRecordSet.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DnsRecordSet.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DnsRecordSet.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `routingPolicy`<sup>Required</sup> <a name="routingPolicy" id="@dschmidt/provider-google.DnsRecordSet.property.routingPolicy"></a>

```typescript
public readonly routingPolicy: DnsRecordSetRoutingPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyOutputReference">DnsRecordSetRoutingPolicyOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DnsRecordSet.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `managedZoneInput`<sup>Optional</sup> <a name="managedZoneInput" id="@dschmidt/provider-google.DnsRecordSet.property.managedZoneInput"></a>

```typescript
public readonly managedZoneInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.DnsRecordSet.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DnsRecordSet.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `routingPolicyInput`<sup>Optional</sup> <a name="routingPolicyInput" id="@dschmidt/provider-google.DnsRecordSet.property.routingPolicyInput"></a>

```typescript
public readonly routingPolicyInput: DnsRecordSetRoutingPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicy">DnsRecordSetRoutingPolicy</a>

---

##### `rrdatasInput`<sup>Optional</sup> <a name="rrdatasInput" id="@dschmidt/provider-google.DnsRecordSet.property.rrdatasInput"></a>

```typescript
public readonly rrdatasInput: string[];
```

- *Type:* string[]

---

##### `ttlInput`<sup>Optional</sup> <a name="ttlInput" id="@dschmidt/provider-google.DnsRecordSet.property.ttlInput"></a>

```typescript
public readonly ttlInput: number;
```

- *Type:* number

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.DnsRecordSet.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DnsRecordSet.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `managedZone`<sup>Required</sup> <a name="managedZone" id="@dschmidt/provider-google.DnsRecordSet.property.managedZone"></a>

```typescript
public readonly managedZone: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DnsRecordSet.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DnsRecordSet.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `rrdatas`<sup>Required</sup> <a name="rrdatas" id="@dschmidt/provider-google.DnsRecordSet.property.rrdatas"></a>

```typescript
public readonly rrdatas: string[];
```

- *Type:* string[]

---

##### `ttl`<sup>Required</sup> <a name="ttl" id="@dschmidt/provider-google.DnsRecordSet.property.ttl"></a>

```typescript
public readonly ttl: number;
```

- *Type:* number

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DnsRecordSet.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsRecordSet.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DnsRecordSet.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DocumentAiProcessor <a name="DocumentAiProcessor" id="@dschmidt/provider-google.DocumentAiProcessor"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor google_document_ai_processor}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DocumentAiProcessor.Initializer"></a>

```typescript
import { DocumentAiProcessor } from '@dschmidt/provider-google'

new DocumentAiProcessor(scope: Construct, id: string, config: DocumentAiProcessorConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig">DocumentAiProcessorConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DocumentAiProcessor.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DocumentAiProcessor.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DocumentAiProcessor.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DocumentAiProcessorConfig">DocumentAiProcessorConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.resetKmsKeyName">resetKmsKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DocumentAiProcessor.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DocumentAiProcessor.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DocumentAiProcessor.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DocumentAiProcessor.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DocumentAiProcessor.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DocumentAiProcessor.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DocumentAiProcessor.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DocumentAiProcessor.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DocumentAiProcessor.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessor.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DocumentAiProcessor.putTimeouts"></a>

```typescript
public putTimeouts(value: DocumentAiProcessorTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DocumentAiProcessor.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DocumentAiProcessorTimeouts">DocumentAiProcessorTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DocumentAiProcessor.resetId"></a>

```typescript
public resetId(): void
```

##### `resetKmsKeyName` <a name="resetKmsKeyName" id="@dschmidt/provider-google.DocumentAiProcessor.resetKmsKeyName"></a>

```typescript
public resetKmsKeyName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.DocumentAiProcessor.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DocumentAiProcessor.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DocumentAiProcessor.isConstruct"></a>

```typescript
import { DocumentAiProcessor } from '@dschmidt/provider-google'

DocumentAiProcessor.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DocumentAiProcessor.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DocumentAiProcessorTimeoutsOutputReference">DocumentAiProcessorTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.kmsKeyNameInput">kmsKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DocumentAiProcessorTimeouts">DocumentAiProcessorTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DocumentAiProcessor.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DocumentAiProcessor.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DocumentAiProcessor.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DocumentAiProcessor.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DocumentAiProcessor.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DocumentAiProcessor.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DocumentAiProcessor.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DocumentAiProcessor.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DocumentAiProcessor.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DocumentAiProcessor.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DocumentAiProcessor.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DocumentAiProcessor.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DocumentAiProcessor.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DocumentAiProcessor.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DocumentAiProcessor.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DocumentAiProcessor.property.timeouts"></a>

```typescript
public readonly timeouts: DocumentAiProcessorTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DocumentAiProcessorTimeoutsOutputReference">DocumentAiProcessorTimeoutsOutputReference</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.DocumentAiProcessor.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DocumentAiProcessor.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `kmsKeyNameInput`<sup>Optional</sup> <a name="kmsKeyNameInput" id="@dschmidt/provider-google.DocumentAiProcessor.property.kmsKeyNameInput"></a>

```typescript
public readonly kmsKeyNameInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.DocumentAiProcessor.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.DocumentAiProcessor.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DocumentAiProcessor.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DocumentAiProcessorTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DocumentAiProcessorTimeouts">DocumentAiProcessorTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.DocumentAiProcessor.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DocumentAiProcessor.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DocumentAiProcessor.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.DocumentAiProcessor.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DocumentAiProcessor.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DocumentAiProcessor.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DocumentAiProcessor.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessor.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DocumentAiProcessor.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### DocumentAiProcessorDefaultVersion <a name="DocumentAiProcessorDefaultVersion" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version google_document_ai_processor_default_version}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.Initializer"></a>

```typescript
import { DocumentAiProcessorDefaultVersion } from '@dschmidt/provider-google'

new DocumentAiProcessorDefaultVersion(scope: Construct, id: string, config: DocumentAiProcessorDefaultVersionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig">DocumentAiProcessorDefaultVersionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig">DocumentAiProcessorDefaultVersionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.putTimeouts"></a>

```typescript
public putTimeouts(value: DocumentAiProcessorDefaultVersionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts">DocumentAiProcessorDefaultVersionTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.isConstruct"></a>

```typescript
import { DocumentAiProcessorDefaultVersion } from '@dschmidt/provider-google'

DocumentAiProcessorDefaultVersion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeoutsOutputReference">DocumentAiProcessorDefaultVersionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.processorInput">processorInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts">DocumentAiProcessorDefaultVersionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.versionInput">versionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.processor">processor</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.version">version</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.timeouts"></a>

```typescript
public readonly timeouts: DocumentAiProcessorDefaultVersionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeoutsOutputReference">DocumentAiProcessorDefaultVersionTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `processorInput`<sup>Optional</sup> <a name="processorInput" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.processorInput"></a>

```typescript
public readonly processorInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | DocumentAiProcessorDefaultVersionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts">DocumentAiProcessorDefaultVersionTimeouts</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.versionInput"></a>

```typescript
public readonly versionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `processor`<sup>Required</sup> <a name="processor" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.processor"></a>

```typescript
public readonly processor: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### EndpointsService <a name="EndpointsService" id="@dschmidt/provider-google.EndpointsService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/endpoints_service google_endpoints_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.EndpointsService.Initializer"></a>

```typescript
import { EndpointsService } from '@dschmidt/provider-google'

new EndpointsService(scope: Construct, id: string, config: EndpointsServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig">EndpointsServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.EndpointsService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.EndpointsService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConfig">EndpointsServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.EndpointsService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.EndpointsService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.resetGrpcConfig">resetGrpcConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.resetOpenapiConfig">resetOpenapiConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.resetProtocOutputBase64">resetProtocOutputBase64</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.EndpointsService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.EndpointsService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.EndpointsService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.EndpointsService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.EndpointsService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.EndpointsService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.EndpointsService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.EndpointsService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.EndpointsService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.EndpointsService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.EndpointsService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.EndpointsService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.EndpointsService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.EndpointsService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.EndpointsService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.EndpointsService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.EndpointsService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.EndpointsService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.EndpointsService.putTimeouts"></a>

```typescript
public putTimeouts(value: EndpointsServiceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsService.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceTimeouts">EndpointsServiceTimeouts</a>

---

##### `resetGrpcConfig` <a name="resetGrpcConfig" id="@dschmidt/provider-google.EndpointsService.resetGrpcConfig"></a>

```typescript
public resetGrpcConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.EndpointsService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetOpenapiConfig` <a name="resetOpenapiConfig" id="@dschmidt/provider-google.EndpointsService.resetOpenapiConfig"></a>

```typescript
public resetOpenapiConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.EndpointsService.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProtocOutputBase64` <a name="resetProtocOutputBase64" id="@dschmidt/provider-google.EndpointsService.resetProtocOutputBase64"></a>

```typescript
public resetProtocOutputBase64(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.EndpointsService.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.EndpointsService.isConstruct"></a>

```typescript
import { EndpointsService } from '@dschmidt/provider-google'

EndpointsService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.EndpointsService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.apis">apis</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceApisList">EndpointsServiceApisList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.configId">configId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.dnsAddress">dnsAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.endpoints">endpoints</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceEndpointsList">EndpointsServiceEndpointsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceTimeoutsOutputReference">EndpointsServiceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.grpcConfigInput">grpcConfigInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.openapiConfigInput">openapiConfigInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.protocOutputBase64Input">protocOutputBase64Input</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.EndpointsServiceTimeouts">EndpointsServiceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.grpcConfig">grpcConfig</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.openapiConfig">openapiConfig</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.protocOutputBase64">protocOutputBase64</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.EndpointsService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.EndpointsService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.EndpointsService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.EndpointsService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.EndpointsService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.EndpointsService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.EndpointsService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsService.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsService.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `apis`<sup>Required</sup> <a name="apis" id="@dschmidt/provider-google.EndpointsService.property.apis"></a>

```typescript
public readonly apis: EndpointsServiceApisList;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceApisList">EndpointsServiceApisList</a>

---

##### `configId`<sup>Required</sup> <a name="configId" id="@dschmidt/provider-google.EndpointsService.property.configId"></a>

```typescript
public readonly configId: string;
```

- *Type:* string

---

##### `dnsAddress`<sup>Required</sup> <a name="dnsAddress" id="@dschmidt/provider-google.EndpointsService.property.dnsAddress"></a>

```typescript
public readonly dnsAddress: string;
```

- *Type:* string

---

##### `endpoints`<sup>Required</sup> <a name="endpoints" id="@dschmidt/provider-google.EndpointsService.property.endpoints"></a>

```typescript
public readonly endpoints: EndpointsServiceEndpointsList;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceEndpointsList">EndpointsServiceEndpointsList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.EndpointsService.property.timeouts"></a>

```typescript
public readonly timeouts: EndpointsServiceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceTimeoutsOutputReference">EndpointsServiceTimeoutsOutputReference</a>

---

##### `grpcConfigInput`<sup>Optional</sup> <a name="grpcConfigInput" id="@dschmidt/provider-google.EndpointsService.property.grpcConfigInput"></a>

```typescript
public readonly grpcConfigInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.EndpointsService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `openapiConfigInput`<sup>Optional</sup> <a name="openapiConfigInput" id="@dschmidt/provider-google.EndpointsService.property.openapiConfigInput"></a>

```typescript
public readonly openapiConfigInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.EndpointsService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `protocOutputBase64Input`<sup>Optional</sup> <a name="protocOutputBase64Input" id="@dschmidt/provider-google.EndpointsService.property.protocOutputBase64Input"></a>

```typescript
public readonly protocOutputBase64Input: string;
```

- *Type:* string

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.EndpointsService.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.EndpointsService.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | EndpointsServiceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.EndpointsServiceTimeouts">EndpointsServiceTimeouts</a>

---

##### `grpcConfig`<sup>Required</sup> <a name="grpcConfig" id="@dschmidt/provider-google.EndpointsService.property.grpcConfig"></a>

```typescript
public readonly grpcConfig: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `openapiConfig`<sup>Required</sup> <a name="openapiConfig" id="@dschmidt/provider-google.EndpointsService.property.openapiConfig"></a>

```typescript
public readonly openapiConfig: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.EndpointsService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `protocOutputBase64`<sup>Required</sup> <a name="protocOutputBase64" id="@dschmidt/provider-google.EndpointsService.property.protocOutputBase64"></a>

```typescript
public readonly protocOutputBase64: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsService.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.EndpointsService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### EndpointsServiceConsumersIamBinding <a name="EndpointsServiceConsumersIamBinding" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding google_endpoints_service_consumers_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.Initializer"></a>

```typescript
import { EndpointsServiceConsumersIamBinding } from '@dschmidt/provider-google'

new EndpointsServiceConsumersIamBinding(scope: Construct, id: string, config: EndpointsServiceConsumersIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig">EndpointsServiceConsumersIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig">EndpointsServiceConsumersIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.putCondition"></a>

```typescript
public putCondition(value: EndpointsServiceConsumersIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition">EndpointsServiceConsumersIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.isConstruct"></a>

```typescript
import { EndpointsServiceConsumersIamBinding } from '@dschmidt/provider-google'

EndpointsServiceConsumersIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConditionOutputReference">EndpointsServiceConsumersIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition">EndpointsServiceConsumersIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.consumerProjectInput">consumerProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.consumerProject">consumerProject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.condition"></a>

```typescript
public readonly condition: EndpointsServiceConsumersIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConditionOutputReference">EndpointsServiceConsumersIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: EndpointsServiceConsumersIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition">EndpointsServiceConsumersIamBindingCondition</a>

---

##### `consumerProjectInput`<sup>Optional</sup> <a name="consumerProjectInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.consumerProjectInput"></a>

```typescript
public readonly consumerProjectInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `consumerProject`<sup>Required</sup> <a name="consumerProject" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.consumerProject"></a>

```typescript
public readonly consumerProject: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### EndpointsServiceConsumersIamMember <a name="EndpointsServiceConsumersIamMember" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member google_endpoints_service_consumers_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.Initializer"></a>

```typescript
import { EndpointsServiceConsumersIamMember } from '@dschmidt/provider-google'

new EndpointsServiceConsumersIamMember(scope: Construct, id: string, config: EndpointsServiceConsumersIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig">EndpointsServiceConsumersIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig">EndpointsServiceConsumersIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.putCondition"></a>

```typescript
public putCondition(value: EndpointsServiceConsumersIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition">EndpointsServiceConsumersIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.isConstruct"></a>

```typescript
import { EndpointsServiceConsumersIamMember } from '@dschmidt/provider-google'

EndpointsServiceConsumersIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConditionOutputReference">EndpointsServiceConsumersIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition">EndpointsServiceConsumersIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.consumerProjectInput">consumerProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.consumerProject">consumerProject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.condition"></a>

```typescript
public readonly condition: EndpointsServiceConsumersIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConditionOutputReference">EndpointsServiceConsumersIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: EndpointsServiceConsumersIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition">EndpointsServiceConsumersIamMemberCondition</a>

---

##### `consumerProjectInput`<sup>Optional</sup> <a name="consumerProjectInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.consumerProjectInput"></a>

```typescript
public readonly consumerProjectInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `consumerProject`<sup>Required</sup> <a name="consumerProject" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.consumerProject"></a>

```typescript
public readonly consumerProject: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### EndpointsServiceConsumersIamPolicy <a name="EndpointsServiceConsumersIamPolicy" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_policy google_endpoints_service_consumers_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.Initializer"></a>

```typescript
import { EndpointsServiceConsumersIamPolicy } from '@dschmidt/provider-google'

new EndpointsServiceConsumersIamPolicy(scope: Construct, id: string, config: EndpointsServiceConsumersIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig">EndpointsServiceConsumersIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig">EndpointsServiceConsumersIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.isConstruct"></a>

```typescript
import { EndpointsServiceConsumersIamPolicy } from '@dschmidt/provider-google'

EndpointsServiceConsumersIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.consumerProjectInput">consumerProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.consumerProject">consumerProject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `consumerProjectInput`<sup>Optional</sup> <a name="consumerProjectInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.consumerProjectInput"></a>

```typescript
public readonly consumerProjectInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `consumerProject`<sup>Required</sup> <a name="consumerProject" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.consumerProject"></a>

```typescript
public readonly consumerProject: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### EndpointsServiceIamBinding <a name="EndpointsServiceIamBinding" id="@dschmidt/provider-google.EndpointsServiceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding google_endpoints_service_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.EndpointsServiceIamBinding.Initializer"></a>

```typescript
import { EndpointsServiceIamBinding } from '@dschmidt/provider-google'

new EndpointsServiceIamBinding(scope: Construct, id: string, config: EndpointsServiceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig">EndpointsServiceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.EndpointsServiceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.EndpointsServiceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig">EndpointsServiceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.EndpointsServiceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.EndpointsServiceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.EndpointsServiceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.EndpointsServiceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.EndpointsServiceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.EndpointsServiceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.EndpointsServiceIamBinding.putCondition"></a>

```typescript
public putCondition(value: EndpointsServiceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamBindingCondition">EndpointsServiceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.EndpointsServiceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.EndpointsServiceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.EndpointsServiceIamBinding.isConstruct"></a>

```typescript
import { EndpointsServiceIamBinding } from '@dschmidt/provider-google'

EndpointsServiceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.EndpointsServiceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConditionOutputReference">EndpointsServiceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingCondition">EndpointsServiceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.condition"></a>

```typescript
public readonly condition: EndpointsServiceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConditionOutputReference">EndpointsServiceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: EndpointsServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamBindingCondition">EndpointsServiceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.EndpointsServiceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### EndpointsServiceIamMember <a name="EndpointsServiceIamMember" id="@dschmidt/provider-google.EndpointsServiceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member google_endpoints_service_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.EndpointsServiceIamMember.Initializer"></a>

```typescript
import { EndpointsServiceIamMember } from '@dschmidt/provider-google'

new EndpointsServiceIamMember(scope: Construct, id: string, config: EndpointsServiceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig">EndpointsServiceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.EndpointsServiceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.EndpointsServiceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig">EndpointsServiceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.EndpointsServiceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.EndpointsServiceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.EndpointsServiceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.EndpointsServiceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.EndpointsServiceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.EndpointsServiceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.EndpointsServiceIamMember.putCondition"></a>

```typescript
public putCondition(value: EndpointsServiceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamMemberCondition">EndpointsServiceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.EndpointsServiceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.EndpointsServiceIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.EndpointsServiceIamMember.isConstruct"></a>

```typescript
import { EndpointsServiceIamMember } from '@dschmidt/provider-google'

EndpointsServiceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.EndpointsServiceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConditionOutputReference">EndpointsServiceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberCondition">EndpointsServiceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.condition"></a>

```typescript
public readonly condition: EndpointsServiceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConditionOutputReference">EndpointsServiceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: EndpointsServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamMemberCondition">EndpointsServiceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.EndpointsServiceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### EndpointsServiceIamPolicy <a name="EndpointsServiceIamPolicy" id="@dschmidt/provider-google.EndpointsServiceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_policy google_endpoints_service_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.Initializer"></a>

```typescript
import { EndpointsServiceIamPolicy } from '@dschmidt/provider-google'

new EndpointsServiceIamPolicy(scope: Construct, id: string, config: EndpointsServiceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig">EndpointsServiceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig">EndpointsServiceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.isConstruct"></a>

```typescript
import { EndpointsServiceIamPolicy } from '@dschmidt/provider-google'

EndpointsServiceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.EndpointsServiceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### EssentialContactsContact <a name="EssentialContactsContact" id="@dschmidt/provider-google.EssentialContactsContact"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact google_essential_contacts_contact}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.EssentialContactsContact.Initializer"></a>

```typescript
import { EssentialContactsContact } from '@dschmidt/provider-google'

new EssentialContactsContact(scope: Construct, id: string, config: EssentialContactsContactConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig">EssentialContactsContactConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.EssentialContactsContact.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EssentialContactsContact.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.EssentialContactsContact.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.EssentialContactsContactConfig">EssentialContactsContactConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.EssentialContactsContact.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.EssentialContactsContact.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.EssentialContactsContact.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EssentialContactsContact.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.EssentialContactsContact.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.EssentialContactsContact.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.EssentialContactsContact.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.EssentialContactsContact.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.EssentialContactsContact.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.EssentialContactsContact.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EssentialContactsContact.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.EssentialContactsContact.putTimeouts"></a>

```typescript
public putTimeouts(value: EssentialContactsContactTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EssentialContactsContact.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.EssentialContactsContactTimeouts">EssentialContactsContactTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.EssentialContactsContact.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.EssentialContactsContact.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.EssentialContactsContact.isConstruct"></a>

```typescript
import { EssentialContactsContact } from '@dschmidt/provider-google'

EssentialContactsContact.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.EssentialContactsContact.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.EssentialContactsContactTimeoutsOutputReference">EssentialContactsContactTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.emailInput">emailInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.languageTagInput">languageTagInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.notificationCategorySubscriptionsInput">notificationCategorySubscriptionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.EssentialContactsContactTimeouts">EssentialContactsContactTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.languageTag">languageTag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.notificationCategorySubscriptions">notificationCategorySubscriptions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.EssentialContactsContact.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.EssentialContactsContact.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.EssentialContactsContact.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.EssentialContactsContact.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.EssentialContactsContact.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.EssentialContactsContact.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.EssentialContactsContact.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EssentialContactsContact.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EssentialContactsContact.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EssentialContactsContact.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EssentialContactsContact.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EssentialContactsContact.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EssentialContactsContact.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EssentialContactsContact.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.EssentialContactsContact.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.EssentialContactsContact.property.timeouts"></a>

```typescript
public readonly timeouts: EssentialContactsContactTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.EssentialContactsContactTimeoutsOutputReference">EssentialContactsContactTimeoutsOutputReference</a>

---

##### `emailInput`<sup>Optional</sup> <a name="emailInput" id="@dschmidt/provider-google.EssentialContactsContact.property.emailInput"></a>

```typescript
public readonly emailInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.EssentialContactsContact.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `languageTagInput`<sup>Optional</sup> <a name="languageTagInput" id="@dschmidt/provider-google.EssentialContactsContact.property.languageTagInput"></a>

```typescript
public readonly languageTagInput: string;
```

- *Type:* string

---

##### `notificationCategorySubscriptionsInput`<sup>Optional</sup> <a name="notificationCategorySubscriptionsInput" id="@dschmidt/provider-google.EssentialContactsContact.property.notificationCategorySubscriptionsInput"></a>

```typescript
public readonly notificationCategorySubscriptionsInput: string[];
```

- *Type:* string[]

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.EssentialContactsContact.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.EssentialContactsContact.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | EssentialContactsContactTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.EssentialContactsContactTimeouts">EssentialContactsContactTimeouts</a>

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.EssentialContactsContact.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EssentialContactsContact.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `languageTag`<sup>Required</sup> <a name="languageTag" id="@dschmidt/provider-google.EssentialContactsContact.property.languageTag"></a>

```typescript
public readonly languageTag: string;
```

- *Type:* string

---

##### `notificationCategorySubscriptions`<sup>Required</sup> <a name="notificationCategorySubscriptions" id="@dschmidt/provider-google.EssentialContactsContact.property.notificationCategorySubscriptions"></a>

```typescript
public readonly notificationCategorySubscriptions: string[];
```

- *Type:* string[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.EssentialContactsContact.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContact.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.EssentialContactsContact.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### EventarcTrigger <a name="EventarcTrigger" id="@dschmidt/provider-google.EventarcTrigger"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger google_eventarc_trigger}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.EventarcTrigger.Initializer"></a>

```typescript
import { EventarcTrigger } from '@dschmidt/provider-google'

new EventarcTrigger(scope: Construct, id: string, config: EventarcTriggerConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig">EventarcTriggerConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.EventarcTrigger.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EventarcTrigger.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.EventarcTrigger.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerConfig">EventarcTriggerConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.putDestination">putDestination</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.putMatchingCriteria">putMatchingCriteria</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.putTransport">putTransport</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.resetServiceAccount">resetServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.resetTransport">resetTransport</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.EventarcTrigger.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.EventarcTrigger.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.EventarcTrigger.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EventarcTrigger.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.EventarcTrigger.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.EventarcTrigger.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.EventarcTrigger.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.EventarcTrigger.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.EventarcTrigger.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.EventarcTrigger.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.EventarcTrigger.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.EventarcTrigger.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.EventarcTrigger.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.EventarcTrigger.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.EventarcTrigger.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.EventarcTrigger.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.EventarcTrigger.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.EventarcTrigger.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.EventarcTrigger.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.EventarcTrigger.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDestination` <a name="putDestination" id="@dschmidt/provider-google.EventarcTrigger.putDestination"></a>

```typescript
public putDestination(value: EventarcTriggerDestination): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EventarcTrigger.putDestination.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerDestination">EventarcTriggerDestination</a>

---

##### `putMatchingCriteria` <a name="putMatchingCriteria" id="@dschmidt/provider-google.EventarcTrigger.putMatchingCriteria"></a>

```typescript
public putMatchingCriteria(value: IResolvable | EventarcTriggerMatchingCriteria[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EventarcTrigger.putMatchingCriteria.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteria">EventarcTriggerMatchingCriteria</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.EventarcTrigger.putTimeouts"></a>

```typescript
public putTimeouts(value: EventarcTriggerTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EventarcTrigger.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerTimeouts">EventarcTriggerTimeouts</a>

---

##### `putTransport` <a name="putTransport" id="@dschmidt/provider-google.EventarcTrigger.putTransport"></a>

```typescript
public putTransport(value: EventarcTriggerTransport): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EventarcTrigger.putTransport.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerTransport">EventarcTriggerTransport</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.EventarcTrigger.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.EventarcTrigger.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.EventarcTrigger.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetServiceAccount` <a name="resetServiceAccount" id="@dschmidt/provider-google.EventarcTrigger.resetServiceAccount"></a>

```typescript
public resetServiceAccount(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.EventarcTrigger.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTransport` <a name="resetTransport" id="@dschmidt/provider-google.EventarcTrigger.resetTransport"></a>

```typescript
public resetTransport(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.EventarcTrigger.isConstruct"></a>

```typescript
import { EventarcTrigger } from '@dschmidt/provider-google'

EventarcTrigger.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.EventarcTrigger.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.destination">destination</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationOutputReference">EventarcTriggerDestinationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.matchingCriteria">matchingCriteria</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteriaList">EventarcTriggerMatchingCriteriaList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerTimeoutsOutputReference">EventarcTriggerTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.transport">transport</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerTransportOutputReference">EventarcTriggerTransportOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.destinationInput">destinationInput</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerDestination">EventarcTriggerDestination</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.matchingCriteriaInput">matchingCriteriaInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteria">EventarcTriggerMatchingCriteria</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.serviceAccountInput">serviceAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.EventarcTriggerTimeouts">EventarcTriggerTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.transportInput">transportInput</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerTransport">EventarcTriggerTransport</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.EventarcTrigger.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.EventarcTrigger.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.EventarcTrigger.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.EventarcTrigger.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.EventarcTrigger.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.EventarcTrigger.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.EventarcTrigger.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EventarcTrigger.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EventarcTrigger.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EventarcTrigger.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EventarcTrigger.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EventarcTrigger.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EventarcTrigger.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EventarcTrigger.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.EventarcTrigger.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.EventarcTrigger.property.destination"></a>

```typescript
public readonly destination: EventarcTriggerDestinationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerDestinationOutputReference">EventarcTriggerDestinationOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.EventarcTrigger.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `matchingCriteria`<sup>Required</sup> <a name="matchingCriteria" id="@dschmidt/provider-google.EventarcTrigger.property.matchingCriteria"></a>

```typescript
public readonly matchingCriteria: EventarcTriggerMatchingCriteriaList;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteriaList">EventarcTriggerMatchingCriteriaList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.EventarcTrigger.property.timeouts"></a>

```typescript
public readonly timeouts: EventarcTriggerTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerTimeoutsOutputReference">EventarcTriggerTimeoutsOutputReference</a>

---

##### `transport`<sup>Required</sup> <a name="transport" id="@dschmidt/provider-google.EventarcTrigger.property.transport"></a>

```typescript
public readonly transport: EventarcTriggerTransportOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerTransportOutputReference">EventarcTriggerTransportOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.EventarcTrigger.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.EventarcTrigger.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `destinationInput`<sup>Optional</sup> <a name="destinationInput" id="@dschmidt/provider-google.EventarcTrigger.property.destinationInput"></a>

```typescript
public readonly destinationInput: EventarcTriggerDestination;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerDestination">EventarcTriggerDestination</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.EventarcTrigger.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.EventarcTrigger.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.EventarcTrigger.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `matchingCriteriaInput`<sup>Optional</sup> <a name="matchingCriteriaInput" id="@dschmidt/provider-google.EventarcTrigger.property.matchingCriteriaInput"></a>

```typescript
public readonly matchingCriteriaInput: IResolvable | EventarcTriggerMatchingCriteria[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteria">EventarcTriggerMatchingCriteria</a>[]

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.EventarcTrigger.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.EventarcTrigger.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceAccountInput`<sup>Optional</sup> <a name="serviceAccountInput" id="@dschmidt/provider-google.EventarcTrigger.property.serviceAccountInput"></a>

```typescript
public readonly serviceAccountInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.EventarcTrigger.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | EventarcTriggerTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.EventarcTriggerTimeouts">EventarcTriggerTimeouts</a>

---

##### `transportInput`<sup>Optional</sup> <a name="transportInput" id="@dschmidt/provider-google.EventarcTrigger.property.transportInput"></a>

```typescript
public readonly transportInput: EventarcTriggerTransport;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerTransport">EventarcTriggerTransport</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.EventarcTrigger.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.EventarcTrigger.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.EventarcTrigger.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.EventarcTrigger.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.EventarcTrigger.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.EventarcTrigger.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTrigger.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.EventarcTrigger.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FilestoreInstance <a name="FilestoreInstance" id="@dschmidt/provider-google.FilestoreInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/filestore_instance google_filestore_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FilestoreInstance.Initializer"></a>

```typescript
import { FilestoreInstance } from '@dschmidt/provider-google'

new FilestoreInstance(scope: Construct, id: string, config: FilestoreInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig">FilestoreInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FilestoreInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FilestoreInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FilestoreInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FilestoreInstanceConfig">FilestoreInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.putFileShares">putFileShares</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.putNetworks">putNetworks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.resetKmsKeyName">resetKmsKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FilestoreInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FilestoreInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FilestoreInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FilestoreInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FilestoreInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FilestoreInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FilestoreInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FilestoreInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FilestoreInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FilestoreInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FilestoreInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FilestoreInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FilestoreInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FilestoreInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FilestoreInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FilestoreInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FilestoreInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FilestoreInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FilestoreInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FilestoreInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putFileShares` <a name="putFileShares" id="@dschmidt/provider-google.FilestoreInstance.putFileShares"></a>

```typescript
public putFileShares(value: FilestoreInstanceFileShares): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FilestoreInstance.putFileShares.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FilestoreInstanceFileShares">FilestoreInstanceFileShares</a>

---

##### `putNetworks` <a name="putNetworks" id="@dschmidt/provider-google.FilestoreInstance.putNetworks"></a>

```typescript
public putNetworks(value: IResolvable | FilestoreInstanceNetworks[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FilestoreInstance.putNetworks.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FilestoreInstanceNetworks">FilestoreInstanceNetworks</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.FilestoreInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: FilestoreInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FilestoreInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FilestoreInstanceTimeouts">FilestoreInstanceTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.FilestoreInstance.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FilestoreInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetKmsKeyName` <a name="resetKmsKeyName" id="@dschmidt/provider-google.FilestoreInstance.resetKmsKeyName"></a>

```typescript
public resetKmsKeyName(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.FilestoreInstance.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.FilestoreInstance.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.FilestoreInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.FilestoreInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.FilestoreInstance.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FilestoreInstance.isConstruct"></a>

```typescript
import { FilestoreInstance } from '@dschmidt/provider-google'

FilestoreInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FilestoreInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.fileShares">fileShares</a></code> | <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileSharesOutputReference">FilestoreInstanceFileSharesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.networks">networks</a></code> | <code><a href="#@dschmidt/provider-google.FilestoreInstanceNetworksList">FilestoreInstanceNetworksList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FilestoreInstanceTimeoutsOutputReference">FilestoreInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.fileSharesInput">fileSharesInput</a></code> | <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileShares">FilestoreInstanceFileShares</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.kmsKeyNameInput">kmsKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.networksInput">networksInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FilestoreInstanceNetworks">FilestoreInstanceNetworks</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.tierInput">tierInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FilestoreInstanceTimeouts">FilestoreInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.tier">tier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FilestoreInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FilestoreInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FilestoreInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FilestoreInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FilestoreInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FilestoreInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FilestoreInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FilestoreInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FilestoreInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FilestoreInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FilestoreInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FilestoreInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FilestoreInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FilestoreInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.FilestoreInstance.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.FilestoreInstance.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `fileShares`<sup>Required</sup> <a name="fileShares" id="@dschmidt/provider-google.FilestoreInstance.property.fileShares"></a>

```typescript
public readonly fileShares: FilestoreInstanceFileSharesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FilestoreInstanceFileSharesOutputReference">FilestoreInstanceFileSharesOutputReference</a>

---

##### `networks`<sup>Required</sup> <a name="networks" id="@dschmidt/provider-google.FilestoreInstance.property.networks"></a>

```typescript
public readonly networks: FilestoreInstanceNetworksList;
```

- *Type:* <a href="#@dschmidt/provider-google.FilestoreInstanceNetworksList">FilestoreInstanceNetworksList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.FilestoreInstance.property.timeouts"></a>

```typescript
public readonly timeouts: FilestoreInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FilestoreInstanceTimeoutsOutputReference">FilestoreInstanceTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.FilestoreInstance.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `fileSharesInput`<sup>Optional</sup> <a name="fileSharesInput" id="@dschmidt/provider-google.FilestoreInstance.property.fileSharesInput"></a>

```typescript
public readonly fileSharesInput: FilestoreInstanceFileShares;
```

- *Type:* <a href="#@dschmidt/provider-google.FilestoreInstanceFileShares">FilestoreInstanceFileShares</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FilestoreInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `kmsKeyNameInput`<sup>Optional</sup> <a name="kmsKeyNameInput" id="@dschmidt/provider-google.FilestoreInstance.property.kmsKeyNameInput"></a>

```typescript
public readonly kmsKeyNameInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.FilestoreInstance.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.FilestoreInstance.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.FilestoreInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networksInput`<sup>Optional</sup> <a name="networksInput" id="@dschmidt/provider-google.FilestoreInstance.property.networksInput"></a>

```typescript
public readonly networksInput: IResolvable | FilestoreInstanceNetworks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FilestoreInstanceNetworks">FilestoreInstanceNetworks</a>[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.FilestoreInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `tierInput`<sup>Optional</sup> <a name="tierInput" id="@dschmidt/provider-google.FilestoreInstance.property.tierInput"></a>

```typescript
public readonly tierInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.FilestoreInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | FilestoreInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FilestoreInstanceTimeouts">FilestoreInstanceTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.FilestoreInstance.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.FilestoreInstance.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FilestoreInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.FilestoreInstance.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.FilestoreInstance.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.FilestoreInstance.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FilestoreInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.FilestoreInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.FilestoreInstance.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.FilestoreInstance.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FilestoreInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FirebaserulesRelease <a name="FirebaserulesRelease" id="@dschmidt/provider-google.FirebaserulesRelease"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release google_firebaserules_release}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FirebaserulesRelease.Initializer"></a>

```typescript
import { FirebaserulesRelease } from '@dschmidt/provider-google'

new FirebaserulesRelease(scope: Construct, id: string, config: FirebaserulesReleaseConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig">FirebaserulesReleaseConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FirebaserulesRelease.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FirebaserulesRelease.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FirebaserulesRelease.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig">FirebaserulesReleaseConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FirebaserulesRelease.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FirebaserulesRelease.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FirebaserulesRelease.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirebaserulesRelease.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FirebaserulesRelease.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FirebaserulesRelease.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FirebaserulesRelease.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FirebaserulesRelease.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FirebaserulesRelease.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRelease.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.FirebaserulesRelease.putTimeouts"></a>

```typescript
public putTimeouts(value: FirebaserulesReleaseTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirebaserulesRelease.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeouts">FirebaserulesReleaseTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FirebaserulesRelease.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.FirebaserulesRelease.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.FirebaserulesRelease.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FirebaserulesRelease.isConstruct"></a>

```typescript
import { FirebaserulesRelease } from '@dschmidt/provider-google'

FirebaserulesRelease.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FirebaserulesRelease.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.disabled">disabled</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeoutsOutputReference">FirebaserulesReleaseTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.rulesetNameInput">rulesetNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeouts">FirebaserulesReleaseTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.rulesetName">rulesetName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FirebaserulesRelease.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FirebaserulesRelease.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FirebaserulesRelease.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FirebaserulesRelease.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FirebaserulesRelease.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FirebaserulesRelease.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FirebaserulesRelease.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FirebaserulesRelease.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FirebaserulesRelease.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FirebaserulesRelease.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FirebaserulesRelease.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FirebaserulesRelease.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FirebaserulesRelease.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FirebaserulesRelease.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.FirebaserulesRelease.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.FirebaserulesRelease.property.disabled"></a>

```typescript
public readonly disabled: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.FirebaserulesRelease.property.timeouts"></a>

```typescript
public readonly timeouts: FirebaserulesReleaseTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeoutsOutputReference">FirebaserulesReleaseTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.FirebaserulesRelease.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FirebaserulesRelease.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.FirebaserulesRelease.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.FirebaserulesRelease.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `rulesetNameInput`<sup>Optional</sup> <a name="rulesetNameInput" id="@dschmidt/provider-google.FirebaserulesRelease.property.rulesetNameInput"></a>

```typescript
public readonly rulesetNameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.FirebaserulesRelease.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | FirebaserulesReleaseTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeouts">FirebaserulesReleaseTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FirebaserulesRelease.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FirebaserulesRelease.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.FirebaserulesRelease.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `rulesetName`<sup>Required</sup> <a name="rulesetName" id="@dschmidt/provider-google.FirebaserulesRelease.property.rulesetName"></a>

```typescript
public readonly rulesetName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRelease.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FirebaserulesRelease.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FirebaserulesRuleset <a name="FirebaserulesRuleset" id="@dschmidt/provider-google.FirebaserulesRuleset"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset google_firebaserules_ruleset}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FirebaserulesRuleset.Initializer"></a>

```typescript
import { FirebaserulesRuleset } from '@dschmidt/provider-google'

new FirebaserulesRuleset(scope: Construct, id: string, config: FirebaserulesRulesetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig">FirebaserulesRulesetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FirebaserulesRuleset.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FirebaserulesRuleset.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FirebaserulesRuleset.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig">FirebaserulesRulesetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.putSource">putSource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FirebaserulesRuleset.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FirebaserulesRuleset.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FirebaserulesRuleset.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirebaserulesRuleset.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FirebaserulesRuleset.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FirebaserulesRuleset.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FirebaserulesRuleset.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FirebaserulesRuleset.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FirebaserulesRuleset.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirebaserulesRuleset.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSource` <a name="putSource" id="@dschmidt/provider-google.FirebaserulesRuleset.putSource"></a>

```typescript
public putSource(value: FirebaserulesRulesetSource): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirebaserulesRuleset.putSource.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesRulesetSource">FirebaserulesRulesetSource</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.FirebaserulesRuleset.putTimeouts"></a>

```typescript
public putTimeouts(value: FirebaserulesRulesetTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirebaserulesRuleset.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesRulesetTimeouts">FirebaserulesRulesetTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FirebaserulesRuleset.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.FirebaserulesRuleset.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.FirebaserulesRuleset.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FirebaserulesRuleset.isConstruct"></a>

```typescript
import { FirebaserulesRuleset } from '@dschmidt/provider-google'

FirebaserulesRuleset.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FirebaserulesRuleset.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.metadata">metadata</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetMetadataList">FirebaserulesRulesetMetadataList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.source">source</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetSourceOutputReference">FirebaserulesRulesetSourceOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetTimeoutsOutputReference">FirebaserulesRulesetTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.sourceInput">sourceInput</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetSource">FirebaserulesRulesetSource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FirebaserulesRulesetTimeouts">FirebaserulesRulesetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FirebaserulesRuleset.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FirebaserulesRuleset.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FirebaserulesRuleset.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FirebaserulesRuleset.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FirebaserulesRuleset.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FirebaserulesRuleset.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FirebaserulesRuleset.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FirebaserulesRuleset.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FirebaserulesRuleset.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FirebaserulesRuleset.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FirebaserulesRuleset.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FirebaserulesRuleset.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FirebaserulesRuleset.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FirebaserulesRuleset.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.FirebaserulesRuleset.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.FirebaserulesRuleset.property.metadata"></a>

```typescript
public readonly metadata: FirebaserulesRulesetMetadataList;
```

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesRulesetMetadataList">FirebaserulesRulesetMetadataList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FirebaserulesRuleset.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.FirebaserulesRuleset.property.source"></a>

```typescript
public readonly source: FirebaserulesRulesetSourceOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesRulesetSourceOutputReference">FirebaserulesRulesetSourceOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.FirebaserulesRuleset.property.timeouts"></a>

```typescript
public readonly timeouts: FirebaserulesRulesetTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesRulesetTimeoutsOutputReference">FirebaserulesRulesetTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FirebaserulesRuleset.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.FirebaserulesRuleset.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `sourceInput`<sup>Optional</sup> <a name="sourceInput" id="@dschmidt/provider-google.FirebaserulesRuleset.property.sourceInput"></a>

```typescript
public readonly sourceInput: FirebaserulesRulesetSource;
```

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesRulesetSource">FirebaserulesRulesetSource</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.FirebaserulesRuleset.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | FirebaserulesRulesetTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FirebaserulesRulesetTimeouts">FirebaserulesRulesetTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FirebaserulesRuleset.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.FirebaserulesRuleset.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRuleset.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FirebaserulesRuleset.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FirestoreDocument <a name="FirestoreDocument" id="@dschmidt/provider-google.FirestoreDocument"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/firestore_document google_firestore_document}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FirestoreDocument.Initializer"></a>

```typescript
import { FirestoreDocument } from '@dschmidt/provider-google'

new FirestoreDocument(scope: Construct, id: string, config: FirestoreDocumentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig">FirestoreDocumentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FirestoreDocument.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FirestoreDocument.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FirestoreDocument.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FirestoreDocumentConfig">FirestoreDocumentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.resetDatabase">resetDatabase</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FirestoreDocument.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FirestoreDocument.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FirestoreDocument.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirestoreDocument.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FirestoreDocument.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FirestoreDocument.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FirestoreDocument.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FirestoreDocument.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FirestoreDocument.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FirestoreDocument.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FirestoreDocument.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FirestoreDocument.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FirestoreDocument.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FirestoreDocument.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FirestoreDocument.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FirestoreDocument.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FirestoreDocument.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FirestoreDocument.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FirestoreDocument.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreDocument.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.FirestoreDocument.putTimeouts"></a>

```typescript
public putTimeouts(value: FirestoreDocumentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirestoreDocument.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FirestoreDocumentTimeouts">FirestoreDocumentTimeouts</a>

---

##### `resetDatabase` <a name="resetDatabase" id="@dschmidt/provider-google.FirestoreDocument.resetDatabase"></a>

```typescript
public resetDatabase(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FirestoreDocument.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.FirestoreDocument.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.FirestoreDocument.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FirestoreDocument.isConstruct"></a>

```typescript
import { FirestoreDocument } from '@dschmidt/provider-google'

FirestoreDocument.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FirestoreDocument.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.path">path</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FirestoreDocumentTimeoutsOutputReference">FirestoreDocumentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.collectionInput">collectionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.databaseInput">databaseInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.documentIdInput">documentIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.fieldsInput">fieldsInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FirestoreDocumentTimeouts">FirestoreDocumentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.collection">collection</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.database">database</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.documentId">documentId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.fields">fields</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FirestoreDocument.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FirestoreDocument.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FirestoreDocument.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FirestoreDocument.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FirestoreDocument.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FirestoreDocument.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FirestoreDocument.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FirestoreDocument.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FirestoreDocument.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FirestoreDocument.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FirestoreDocument.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FirestoreDocument.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FirestoreDocument.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FirestoreDocument.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.FirestoreDocument.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FirestoreDocument.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FirestoreDocument.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.FirestoreDocument.property.timeouts"></a>

```typescript
public readonly timeouts: FirestoreDocumentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FirestoreDocumentTimeoutsOutputReference">FirestoreDocumentTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.FirestoreDocument.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `collectionInput`<sup>Optional</sup> <a name="collectionInput" id="@dschmidt/provider-google.FirestoreDocument.property.collectionInput"></a>

```typescript
public readonly collectionInput: string;
```

- *Type:* string

---

##### `databaseInput`<sup>Optional</sup> <a name="databaseInput" id="@dschmidt/provider-google.FirestoreDocument.property.databaseInput"></a>

```typescript
public readonly databaseInput: string;
```

- *Type:* string

---

##### `documentIdInput`<sup>Optional</sup> <a name="documentIdInput" id="@dschmidt/provider-google.FirestoreDocument.property.documentIdInput"></a>

```typescript
public readonly documentIdInput: string;
```

- *Type:* string

---

##### `fieldsInput`<sup>Optional</sup> <a name="fieldsInput" id="@dschmidt/provider-google.FirestoreDocument.property.fieldsInput"></a>

```typescript
public readonly fieldsInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FirestoreDocument.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.FirestoreDocument.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.FirestoreDocument.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | FirestoreDocumentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FirestoreDocumentTimeouts">FirestoreDocumentTimeouts</a>

---

##### `collection`<sup>Required</sup> <a name="collection" id="@dschmidt/provider-google.FirestoreDocument.property.collection"></a>

```typescript
public readonly collection: string;
```

- *Type:* string

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.FirestoreDocument.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

---

##### `documentId`<sup>Required</sup> <a name="documentId" id="@dschmidt/provider-google.FirestoreDocument.property.documentId"></a>

```typescript
public readonly documentId: string;
```

- *Type:* string

---

##### `fields`<sup>Required</sup> <a name="fields" id="@dschmidt/provider-google.FirestoreDocument.property.fields"></a>

```typescript
public readonly fields: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FirestoreDocument.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.FirestoreDocument.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreDocument.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FirestoreDocument.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FirestoreIndex <a name="FirestoreIndex" id="@dschmidt/provider-google.FirestoreIndex"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/firestore_index google_firestore_index}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FirestoreIndex.Initializer"></a>

```typescript
import { FirestoreIndex } from '@dschmidt/provider-google'

new FirestoreIndex(scope: Construct, id: string, config: FirestoreIndexConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig">FirestoreIndexConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FirestoreIndex.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FirestoreIndex.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FirestoreIndex.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FirestoreIndexConfig">FirestoreIndexConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.putFields">putFields</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.resetDatabase">resetDatabase</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.resetQueryScope">resetQueryScope</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FirestoreIndex.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FirestoreIndex.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FirestoreIndex.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirestoreIndex.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FirestoreIndex.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FirestoreIndex.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FirestoreIndex.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FirestoreIndex.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FirestoreIndex.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FirestoreIndex.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FirestoreIndex.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FirestoreIndex.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FirestoreIndex.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FirestoreIndex.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FirestoreIndex.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FirestoreIndex.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FirestoreIndex.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FirestoreIndex.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FirestoreIndex.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FirestoreIndex.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putFields` <a name="putFields" id="@dschmidt/provider-google.FirestoreIndex.putFields"></a>

```typescript
public putFields(value: IResolvable | FirestoreIndexFields[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirestoreIndex.putFields.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FirestoreIndexFields">FirestoreIndexFields</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.FirestoreIndex.putTimeouts"></a>

```typescript
public putTimeouts(value: FirestoreIndexTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FirestoreIndex.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FirestoreIndexTimeouts">FirestoreIndexTimeouts</a>

---

##### `resetDatabase` <a name="resetDatabase" id="@dschmidt/provider-google.FirestoreIndex.resetDatabase"></a>

```typescript
public resetDatabase(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FirestoreIndex.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.FirestoreIndex.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetQueryScope` <a name="resetQueryScope" id="@dschmidt/provider-google.FirestoreIndex.resetQueryScope"></a>

```typescript
public resetQueryScope(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.FirestoreIndex.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FirestoreIndex.isConstruct"></a>

```typescript
import { FirestoreIndex } from '@dschmidt/provider-google'

FirestoreIndex.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FirestoreIndex.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.fields">fields</a></code> | <code><a href="#@dschmidt/provider-google.FirestoreIndexFieldsList">FirestoreIndexFieldsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FirestoreIndexTimeoutsOutputReference">FirestoreIndexTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.collectionInput">collectionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.databaseInput">databaseInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.fieldsInput">fieldsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FirestoreIndexFields">FirestoreIndexFields</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.queryScopeInput">queryScopeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FirestoreIndexTimeouts">FirestoreIndexTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.collection">collection</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.database">database</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.queryScope">queryScope</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FirestoreIndex.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FirestoreIndex.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FirestoreIndex.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FirestoreIndex.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FirestoreIndex.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FirestoreIndex.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FirestoreIndex.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FirestoreIndex.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FirestoreIndex.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FirestoreIndex.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FirestoreIndex.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FirestoreIndex.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FirestoreIndex.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FirestoreIndex.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fields`<sup>Required</sup> <a name="fields" id="@dschmidt/provider-google.FirestoreIndex.property.fields"></a>

```typescript
public readonly fields: FirestoreIndexFieldsList;
```

- *Type:* <a href="#@dschmidt/provider-google.FirestoreIndexFieldsList">FirestoreIndexFieldsList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FirestoreIndex.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.FirestoreIndex.property.timeouts"></a>

```typescript
public readonly timeouts: FirestoreIndexTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FirestoreIndexTimeoutsOutputReference">FirestoreIndexTimeoutsOutputReference</a>

---

##### `collectionInput`<sup>Optional</sup> <a name="collectionInput" id="@dschmidt/provider-google.FirestoreIndex.property.collectionInput"></a>

```typescript
public readonly collectionInput: string;
```

- *Type:* string

---

##### `databaseInput`<sup>Optional</sup> <a name="databaseInput" id="@dschmidt/provider-google.FirestoreIndex.property.databaseInput"></a>

```typescript
public readonly databaseInput: string;
```

- *Type:* string

---

##### `fieldsInput`<sup>Optional</sup> <a name="fieldsInput" id="@dschmidt/provider-google.FirestoreIndex.property.fieldsInput"></a>

```typescript
public readonly fieldsInput: IResolvable | FirestoreIndexFields[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FirestoreIndexFields">FirestoreIndexFields</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FirestoreIndex.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.FirestoreIndex.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `queryScopeInput`<sup>Optional</sup> <a name="queryScopeInput" id="@dschmidt/provider-google.FirestoreIndex.property.queryScopeInput"></a>

```typescript
public readonly queryScopeInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.FirestoreIndex.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | FirestoreIndexTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FirestoreIndexTimeouts">FirestoreIndexTimeouts</a>

---

##### `collection`<sup>Required</sup> <a name="collection" id="@dschmidt/provider-google.FirestoreIndex.property.collection"></a>

```typescript
public readonly collection: string;
```

- *Type:* string

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.FirestoreIndex.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FirestoreIndex.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.FirestoreIndex.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `queryScope`<sup>Required</sup> <a name="queryScope" id="@dschmidt/provider-google.FirestoreIndex.property.queryScope"></a>

```typescript
public readonly queryScope: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreIndex.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FirestoreIndex.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### Folder <a name="Folder" id="@dschmidt/provider-google.Folder"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/folder google_folder}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.Folder.Initializer"></a>

```typescript
import { Folder } from '@dschmidt/provider-google'

new Folder(scope: Construct, id: string, config: FolderConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Folder.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.Folder.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.Folder.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FolderConfig">FolderConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.Folder.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Folder.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.Folder.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderConfig">FolderConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Folder.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.Folder.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.Folder.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.Folder.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.Folder.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.Folder.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.Folder.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.Folder.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Folder.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.Folder.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.Folder.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.Folder.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.Folder.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.Folder.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.Folder.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.Folder.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.Folder.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.Folder.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.Folder.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.Folder.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.Folder.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.Folder.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.Folder.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.Folder.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Folder.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.Folder.putTimeouts"></a>

```typescript
public putTimeouts(value: FolderTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Folder.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderTimeouts">FolderTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.Folder.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.Folder.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Folder.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.Folder.isConstruct"></a>

```typescript
import { Folder } from '@dschmidt/provider-google'

Folder.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.Folder.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Folder.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.Folder.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.folderId">folderId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.lifecycleState">lifecycleState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FolderTimeoutsOutputReference">FolderTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FolderTimeouts">FolderTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Folder.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.Folder.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.Folder.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.Folder.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.Folder.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.Folder.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.Folder.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.Folder.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Folder.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Folder.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Folder.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Folder.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Folder.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Folder.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Folder.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.Folder.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `folderId`<sup>Required</sup> <a name="folderId" id="@dschmidt/provider-google.Folder.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

---

##### `lifecycleState`<sup>Required</sup> <a name="lifecycleState" id="@dschmidt/provider-google.Folder.property.lifecycleState"></a>

```typescript
public readonly lifecycleState: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.Folder.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.Folder.property.timeouts"></a>

```typescript
public readonly timeouts: FolderTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderTimeoutsOutputReference">FolderTimeoutsOutputReference</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.Folder.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.Folder.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.Folder.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.Folder.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | FolderTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FolderTimeouts">FolderTimeouts</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.Folder.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Folder.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.Folder.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Folder.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.Folder.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FolderAccessApprovalSettings <a name="FolderAccessApprovalSettings" id="@dschmidt/provider-google.FolderAccessApprovalSettings"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings google_folder_access_approval_settings}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FolderAccessApprovalSettings.Initializer"></a>

```typescript
import { FolderAccessApprovalSettings } from '@dschmidt/provider-google'

new FolderAccessApprovalSettings(scope: Construct, id: string, config: FolderAccessApprovalSettingsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig">FolderAccessApprovalSettingsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FolderAccessApprovalSettings.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderAccessApprovalSettings.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FolderAccessApprovalSettings.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig">FolderAccessApprovalSettingsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.putEnrolledServices">putEnrolledServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.resetActiveKeyVersion">resetActiveKeyVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.resetNotificationEmails">resetNotificationEmails</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FolderAccessApprovalSettings.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FolderAccessApprovalSettings.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FolderAccessApprovalSettings.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderAccessApprovalSettings.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FolderAccessApprovalSettings.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FolderAccessApprovalSettings.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FolderAccessApprovalSettings.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FolderAccessApprovalSettings.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FolderAccessApprovalSettings.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderAccessApprovalSettings.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEnrolledServices` <a name="putEnrolledServices" id="@dschmidt/provider-google.FolderAccessApprovalSettings.putEnrolledServices"></a>

```typescript
public putEnrolledServices(value: IResolvable | FolderAccessApprovalSettingsEnrolledServices[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderAccessApprovalSettings.putEnrolledServices.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices">FolderAccessApprovalSettingsEnrolledServices</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.FolderAccessApprovalSettings.putTimeouts"></a>

```typescript
public putTimeouts(value: FolderAccessApprovalSettingsTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderAccessApprovalSettings.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts">FolderAccessApprovalSettingsTimeouts</a>

---

##### `resetActiveKeyVersion` <a name="resetActiveKeyVersion" id="@dschmidt/provider-google.FolderAccessApprovalSettings.resetActiveKeyVersion"></a>

```typescript
public resetActiveKeyVersion(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FolderAccessApprovalSettings.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNotificationEmails` <a name="resetNotificationEmails" id="@dschmidt/provider-google.FolderAccessApprovalSettings.resetNotificationEmails"></a>

```typescript
public resetNotificationEmails(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.FolderAccessApprovalSettings.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FolderAccessApprovalSettings.isConstruct"></a>

```typescript
import { FolderAccessApprovalSettings } from '@dschmidt/provider-google'

FolderAccessApprovalSettings.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FolderAccessApprovalSettings.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.ancestorHasActiveKeyVersion">ancestorHasActiveKeyVersion</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.enrolledAncestor">enrolledAncestor</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.enrolledServices">enrolledServices</a></code> | <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServicesList">FolderAccessApprovalSettingsEnrolledServicesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.invalidKeyVersion">invalidKeyVersion</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeoutsOutputReference">FolderAccessApprovalSettingsTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.activeKeyVersionInput">activeKeyVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.enrolledServicesInput">enrolledServicesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices">FolderAccessApprovalSettingsEnrolledServices</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.folderIdInput">folderIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.notificationEmailsInput">notificationEmailsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts">FolderAccessApprovalSettingsTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.activeKeyVersion">activeKeyVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.folderId">folderId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.notificationEmails">notificationEmails</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `ancestorHasActiveKeyVersion`<sup>Required</sup> <a name="ancestorHasActiveKeyVersion" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.ancestorHasActiveKeyVersion"></a>

```typescript
public readonly ancestorHasActiveKeyVersion: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enrolledAncestor`<sup>Required</sup> <a name="enrolledAncestor" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.enrolledAncestor"></a>

```typescript
public readonly enrolledAncestor: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enrolledServices`<sup>Required</sup> <a name="enrolledServices" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.enrolledServices"></a>

```typescript
public readonly enrolledServices: FolderAccessApprovalSettingsEnrolledServicesList;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServicesList">FolderAccessApprovalSettingsEnrolledServicesList</a>

---

##### `invalidKeyVersion`<sup>Required</sup> <a name="invalidKeyVersion" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.invalidKeyVersion"></a>

```typescript
public readonly invalidKeyVersion: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.timeouts"></a>

```typescript
public readonly timeouts: FolderAccessApprovalSettingsTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeoutsOutputReference">FolderAccessApprovalSettingsTimeoutsOutputReference</a>

---

##### `activeKeyVersionInput`<sup>Optional</sup> <a name="activeKeyVersionInput" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.activeKeyVersionInput"></a>

```typescript
public readonly activeKeyVersionInput: string;
```

- *Type:* string

---

##### `enrolledServicesInput`<sup>Optional</sup> <a name="enrolledServicesInput" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.enrolledServicesInput"></a>

```typescript
public readonly enrolledServicesInput: IResolvable | FolderAccessApprovalSettingsEnrolledServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices">FolderAccessApprovalSettingsEnrolledServices</a>[]

---

##### `folderIdInput`<sup>Optional</sup> <a name="folderIdInput" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.folderIdInput"></a>

```typescript
public readonly folderIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `notificationEmailsInput`<sup>Optional</sup> <a name="notificationEmailsInput" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.notificationEmailsInput"></a>

```typescript
public readonly notificationEmailsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | FolderAccessApprovalSettingsTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts">FolderAccessApprovalSettingsTimeouts</a>

---

##### `activeKeyVersion`<sup>Required</sup> <a name="activeKeyVersion" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.activeKeyVersion"></a>

```typescript
public readonly activeKeyVersion: string;
```

- *Type:* string

---

##### `folderId`<sup>Required</sup> <a name="folderId" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `notificationEmails`<sup>Required</sup> <a name="notificationEmails" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.notificationEmails"></a>

```typescript
public readonly notificationEmails: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettings.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FolderAccessApprovalSettings.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FolderIamAuditConfig <a name="FolderIamAuditConfig" id="@dschmidt/provider-google.FolderIamAuditConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/folder_iam_audit_config google_folder_iam_audit_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FolderIamAuditConfig.Initializer"></a>

```typescript
import { FolderIamAuditConfig } from '@dschmidt/provider-google'

new FolderIamAuditConfig(scope: Construct, id: string, config: FolderIamAuditConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig">FolderIamAuditConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FolderIamAuditConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderIamAuditConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FolderIamAuditConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig">FolderIamAuditConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.putAuditLogConfig">putAuditLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FolderIamAuditConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FolderIamAuditConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FolderIamAuditConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderIamAuditConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FolderIamAuditConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FolderIamAuditConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FolderIamAuditConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FolderIamAuditConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FolderIamAuditConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamAuditConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAuditLogConfig` <a name="putAuditLogConfig" id="@dschmidt/provider-google.FolderIamAuditConfig.putAuditLogConfig"></a>

```typescript
public putAuditLogConfig(value: IResolvable | FolderIamAuditConfigAuditLogConfig[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderIamAuditConfig.putAuditLogConfig.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig">FolderIamAuditConfigAuditLogConfig</a>[]

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FolderIamAuditConfig.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FolderIamAuditConfig.isConstruct"></a>

```typescript
import { FolderIamAuditConfig } from '@dschmidt/provider-google'

FolderIamAuditConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FolderIamAuditConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.auditLogConfig">auditLogConfig</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfigList">FolderIamAuditConfigAuditLogConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.auditLogConfigInput">auditLogConfigInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig">FolderIamAuditConfigAuditLogConfig</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FolderIamAuditConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FolderIamAuditConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FolderIamAuditConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FolderIamAuditConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FolderIamAuditConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FolderIamAuditConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FolderIamAuditConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderIamAuditConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderIamAuditConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderIamAuditConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderIamAuditConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderIamAuditConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderIamAuditConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderIamAuditConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `auditLogConfig`<sup>Required</sup> <a name="auditLogConfig" id="@dschmidt/provider-google.FolderIamAuditConfig.property.auditLogConfig"></a>

```typescript
public readonly auditLogConfig: FolderIamAuditConfigAuditLogConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfigList">FolderIamAuditConfigAuditLogConfigList</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.FolderIamAuditConfig.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `auditLogConfigInput`<sup>Optional</sup> <a name="auditLogConfigInput" id="@dschmidt/provider-google.FolderIamAuditConfig.property.auditLogConfigInput"></a>

```typescript
public readonly auditLogConfigInput: IResolvable | FolderIamAuditConfigAuditLogConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig">FolderIamAuditConfigAuditLogConfig</a>[]

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.FolderIamAuditConfig.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FolderIamAuditConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.FolderIamAuditConfig.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderIamAuditConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderIamAuditConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.FolderIamAuditConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FolderIamAuditConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FolderIamBinding <a name="FolderIamBinding" id="@dschmidt/provider-google.FolderIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding google_folder_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FolderIamBinding.Initializer"></a>

```typescript
import { FolderIamBinding } from '@dschmidt/provider-google'

new FolderIamBinding(scope: Construct, id: string, config: FolderIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig">FolderIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FolderIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FolderIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderIamBindingConfig">FolderIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FolderIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FolderIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FolderIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FolderIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FolderIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FolderIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FolderIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FolderIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FolderIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FolderIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FolderIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FolderIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FolderIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FolderIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FolderIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FolderIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FolderIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FolderIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.FolderIamBinding.putCondition"></a>

```typescript
public putCondition(value: FolderIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderIamBindingCondition">FolderIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.FolderIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FolderIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FolderIamBinding.isConstruct"></a>

```typescript
import { FolderIamBinding } from '@dschmidt/provider-google'

FolderIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FolderIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamBindingConditionOutputReference">FolderIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamBindingCondition">FolderIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FolderIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FolderIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FolderIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FolderIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FolderIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FolderIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FolderIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.FolderIamBinding.property.condition"></a>

```typescript
public readonly condition: FolderIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderIamBindingConditionOutputReference">FolderIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.FolderIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.FolderIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: FolderIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderIamBindingCondition">FolderIamBindingCondition</a>

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.FolderIamBinding.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FolderIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.FolderIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.FolderIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderIamBinding.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.FolderIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.FolderIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FolderIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FolderIamMember <a name="FolderIamMember" id="@dschmidt/provider-google.FolderIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member google_folder_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FolderIamMember.Initializer"></a>

```typescript
import { FolderIamMember } from '@dschmidt/provider-google'

new FolderIamMember(scope: Construct, id: string, config: FolderIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig">FolderIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FolderIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FolderIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderIamMemberConfig">FolderIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FolderIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FolderIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FolderIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FolderIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FolderIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FolderIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FolderIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FolderIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FolderIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FolderIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FolderIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FolderIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FolderIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FolderIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FolderIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FolderIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FolderIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FolderIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.FolderIamMember.putCondition"></a>

```typescript
public putCondition(value: FolderIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderIamMemberCondition">FolderIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.FolderIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FolderIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FolderIamMember.isConstruct"></a>

```typescript
import { FolderIamMember } from '@dschmidt/provider-google'

FolderIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FolderIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamMemberConditionOutputReference">FolderIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamMemberCondition">FolderIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FolderIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FolderIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FolderIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FolderIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FolderIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FolderIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FolderIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.FolderIamMember.property.condition"></a>

```typescript
public readonly condition: FolderIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderIamMemberConditionOutputReference">FolderIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.FolderIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.FolderIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: FolderIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderIamMemberCondition">FolderIamMemberCondition</a>

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.FolderIamMember.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FolderIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.FolderIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.FolderIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderIamMember.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.FolderIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.FolderIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FolderIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FolderIamPolicy <a name="FolderIamPolicy" id="@dschmidt/provider-google.FolderIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/folder_iam_policy google_folder_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FolderIamPolicy.Initializer"></a>

```typescript
import { FolderIamPolicy } from '@dschmidt/provider-google'

new FolderIamPolicy(scope: Construct, id: string, config: FolderIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig">FolderIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FolderIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FolderIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderIamPolicyConfig">FolderIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FolderIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FolderIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FolderIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FolderIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FolderIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FolderIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FolderIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FolderIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FolderIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FolderIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FolderIamPolicy.isConstruct"></a>

```typescript
import { FolderIamPolicy } from '@dschmidt/provider-google'

FolderIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FolderIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FolderIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FolderIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FolderIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FolderIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FolderIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FolderIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FolderIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.FolderIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.FolderIamPolicy.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FolderIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.FolderIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderIamPolicy.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.FolderIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FolderIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### FolderOrganizationPolicy <a name="FolderOrganizationPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy google_folder_organization_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.FolderOrganizationPolicy.Initializer"></a>

```typescript
import { FolderOrganizationPolicy } from '@dschmidt/provider-google'

new FolderOrganizationPolicy(scope: Construct, id: string, config: FolderOrganizationPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig">FolderOrganizationPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.FolderOrganizationPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderOrganizationPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.FolderOrganizationPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig">FolderOrganizationPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.putBooleanPolicy">putBooleanPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.putListPolicy">putListPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.putRestorePolicy">putRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.resetBooleanPolicy">resetBooleanPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.resetListPolicy">resetListPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.resetRestorePolicy">resetRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.resetVersion">resetVersion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.FolderOrganizationPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.FolderOrganizationPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.FolderOrganizationPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderOrganizationPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.FolderOrganizationPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.FolderOrganizationPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.FolderOrganizationPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.FolderOrganizationPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.FolderOrganizationPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.FolderOrganizationPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBooleanPolicy` <a name="putBooleanPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy.putBooleanPolicy"></a>

```typescript
public putBooleanPolicy(value: FolderOrganizationPolicyBooleanPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderOrganizationPolicy.putBooleanPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicy">FolderOrganizationPolicyBooleanPolicy</a>

---

##### `putListPolicy` <a name="putListPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy.putListPolicy"></a>

```typescript
public putListPolicy(value: FolderOrganizationPolicyListPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderOrganizationPolicy.putListPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicy">FolderOrganizationPolicyListPolicy</a>

---

##### `putRestorePolicy` <a name="putRestorePolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy.putRestorePolicy"></a>

```typescript
public putRestorePolicy(value: FolderOrganizationPolicyRestorePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderOrganizationPolicy.putRestorePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicy">FolderOrganizationPolicyRestorePolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.FolderOrganizationPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: FolderOrganizationPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.FolderOrganizationPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeouts">FolderOrganizationPolicyTimeouts</a>

---

##### `resetBooleanPolicy` <a name="resetBooleanPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy.resetBooleanPolicy"></a>

```typescript
public resetBooleanPolicy(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.FolderOrganizationPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetListPolicy` <a name="resetListPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy.resetListPolicy"></a>

```typescript
public resetListPolicy(): void
```

##### `resetRestorePolicy` <a name="resetRestorePolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy.resetRestorePolicy"></a>

```typescript
public resetRestorePolicy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.FolderOrganizationPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVersion` <a name="resetVersion" id="@dschmidt/provider-google.FolderOrganizationPolicy.resetVersion"></a>

```typescript
public resetVersion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.FolderOrganizationPolicy.isConstruct"></a>

```typescript
import { FolderOrganizationPolicy } from '@dschmidt/provider-google'

FolderOrganizationPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.FolderOrganizationPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.booleanPolicy">booleanPolicy</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicyOutputReference">FolderOrganizationPolicyBooleanPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.listPolicy">listPolicy</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyOutputReference">FolderOrganizationPolicyListPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.restorePolicy">restorePolicy</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicyOutputReference">FolderOrganizationPolicyRestorePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeoutsOutputReference">FolderOrganizationPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.booleanPolicyInput">booleanPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicy">FolderOrganizationPolicyBooleanPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.constraintInput">constraintInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.listPolicyInput">listPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicy">FolderOrganizationPolicyListPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.restorePolicyInput">restorePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicy">FolderOrganizationPolicyRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeouts">FolderOrganizationPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.versionInput">versionInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.constraint">constraint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.version">version</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `booleanPolicy`<sup>Required</sup> <a name="booleanPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.booleanPolicy"></a>

```typescript
public readonly booleanPolicy: FolderOrganizationPolicyBooleanPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicyOutputReference">FolderOrganizationPolicyBooleanPolicyOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `listPolicy`<sup>Required</sup> <a name="listPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.listPolicy"></a>

```typescript
public readonly listPolicy: FolderOrganizationPolicyListPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyOutputReference">FolderOrganizationPolicyListPolicyOutputReference</a>

---

##### `restorePolicy`<sup>Required</sup> <a name="restorePolicy" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: FolderOrganizationPolicyRestorePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicyOutputReference">FolderOrganizationPolicyRestorePolicyOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: FolderOrganizationPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeoutsOutputReference">FolderOrganizationPolicyTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `booleanPolicyInput`<sup>Optional</sup> <a name="booleanPolicyInput" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.booleanPolicyInput"></a>

```typescript
public readonly booleanPolicyInput: FolderOrganizationPolicyBooleanPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicy">FolderOrganizationPolicyBooleanPolicy</a>

---

##### `constraintInput`<sup>Optional</sup> <a name="constraintInput" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.constraintInput"></a>

```typescript
public readonly constraintInput: string;
```

- *Type:* string

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `listPolicyInput`<sup>Optional</sup> <a name="listPolicyInput" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.listPolicyInput"></a>

```typescript
public readonly listPolicyInput: FolderOrganizationPolicyListPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicy">FolderOrganizationPolicyListPolicy</a>

---

##### `restorePolicyInput`<sup>Optional</sup> <a name="restorePolicyInput" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.restorePolicyInput"></a>

```typescript
public readonly restorePolicyInput: FolderOrganizationPolicyRestorePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicy">FolderOrganizationPolicyRestorePolicy</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | FolderOrganizationPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeouts">FolderOrganizationPolicyTimeouts</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.versionInput"></a>

```typescript
public readonly versionInput: number;
```

- *Type:* number

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.FolderOrganizationPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GameServicesGameServerCluster <a name="GameServicesGameServerCluster" id="@dschmidt/provider-google.GameServicesGameServerCluster"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster google_game_services_game_server_cluster}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GameServicesGameServerCluster.Initializer"></a>

```typescript
import { GameServicesGameServerCluster } from '@dschmidt/provider-google'

new GameServicesGameServerCluster(scope: Construct, id: string, config: GameServicesGameServerClusterConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig">GameServicesGameServerClusterConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GameServicesGameServerCluster.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerCluster.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.GameServicesGameServerCluster.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig">GameServicesGameServerClusterConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.putConnectionInfo">putConnectionInfo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GameServicesGameServerCluster.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GameServicesGameServerCluster.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GameServicesGameServerCluster.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerCluster.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GameServicesGameServerCluster.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GameServicesGameServerCluster.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GameServicesGameServerCluster.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GameServicesGameServerCluster.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GameServicesGameServerCluster.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerCluster.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putConnectionInfo` <a name="putConnectionInfo" id="@dschmidt/provider-google.GameServicesGameServerCluster.putConnectionInfo"></a>

```typescript
public putConnectionInfo(value: GameServicesGameServerClusterConnectionInfo): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerCluster.putConnectionInfo.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo">GameServicesGameServerClusterConnectionInfo</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.GameServicesGameServerCluster.putTimeouts"></a>

```typescript
public putTimeouts(value: GameServicesGameServerClusterTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerCluster.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeouts">GameServicesGameServerClusterTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.GameServicesGameServerCluster.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.GameServicesGameServerCluster.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.GameServicesGameServerCluster.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.GameServicesGameServerCluster.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GameServicesGameServerCluster.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.GameServicesGameServerCluster.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GameServicesGameServerCluster.isConstruct"></a>

```typescript
import { GameServicesGameServerCluster } from '@dschmidt/provider-google'

GameServicesGameServerCluster.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GameServicesGameServerCluster.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.connectionInfo">connectionInfo</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfoOutputReference">GameServicesGameServerClusterConnectionInfoOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeoutsOutputReference">GameServicesGameServerClusterTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.clusterIdInput">clusterIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.connectionInfoInput">connectionInfoInput</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo">GameServicesGameServerClusterConnectionInfo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.realmIdInput">realmIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeouts">GameServicesGameServerClusterTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.clusterId">clusterId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.realmId">realmId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `connectionInfo`<sup>Required</sup> <a name="connectionInfo" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.connectionInfo"></a>

```typescript
public readonly connectionInfo: GameServicesGameServerClusterConnectionInfoOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfoOutputReference">GameServicesGameServerClusterConnectionInfoOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesGameServerClusterTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeoutsOutputReference">GameServicesGameServerClusterTimeoutsOutputReference</a>

---

##### `clusterIdInput`<sup>Optional</sup> <a name="clusterIdInput" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.clusterIdInput"></a>

```typescript
public readonly clusterIdInput: string;
```

- *Type:* string

---

##### `connectionInfoInput`<sup>Optional</sup> <a name="connectionInfoInput" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.connectionInfoInput"></a>

```typescript
public readonly connectionInfoInput: GameServicesGameServerClusterConnectionInfo;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo">GameServicesGameServerClusterConnectionInfo</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `realmIdInput`<sup>Optional</sup> <a name="realmIdInput" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.realmIdInput"></a>

```typescript
public readonly realmIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | GameServicesGameServerClusterTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeouts">GameServicesGameServerClusterTimeouts</a>

---

##### `clusterId`<sup>Required</sup> <a name="clusterId" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.clusterId"></a>

```typescript
public readonly clusterId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `realmId`<sup>Required</sup> <a name="realmId" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.realmId"></a>

```typescript
public readonly realmId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerCluster.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GameServicesGameServerCluster.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GameServicesGameServerConfig <a name="GameServicesGameServerConfig" id="@dschmidt/provider-google.GameServicesGameServerConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config google_game_services_game_server_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GameServicesGameServerConfig.Initializer"></a>

```typescript
import { GameServicesGameServerConfig } from '@dschmidt/provider-google'

new GameServicesGameServerConfig(scope: Construct, id: string, config: GameServicesGameServerConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig">GameServicesGameServerConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GameServicesGameServerConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.GameServicesGameServerConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig">GameServicesGameServerConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.putFleetConfigs">putFleetConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.putScalingConfigs">putScalingConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.resetScalingConfigs">resetScalingConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GameServicesGameServerConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GameServicesGameServerConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GameServicesGameServerConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GameServicesGameServerConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GameServicesGameServerConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GameServicesGameServerConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GameServicesGameServerConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GameServicesGameServerConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putFleetConfigs` <a name="putFleetConfigs" id="@dschmidt/provider-google.GameServicesGameServerConfig.putFleetConfigs"></a>

```typescript
public putFleetConfigs(value: IResolvable | GameServicesGameServerConfigFleetConfigs[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerConfig.putFleetConfigs.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs">GameServicesGameServerConfigFleetConfigs</a>[]

---

##### `putScalingConfigs` <a name="putScalingConfigs" id="@dschmidt/provider-google.GameServicesGameServerConfig.putScalingConfigs"></a>

```typescript
public putScalingConfigs(value: IResolvable | GameServicesGameServerConfigScalingConfigs[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerConfig.putScalingConfigs.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs">GameServicesGameServerConfigScalingConfigs</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.GameServicesGameServerConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: GameServicesGameServerConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerConfigTimeouts">GameServicesGameServerConfigTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.GameServicesGameServerConfig.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.GameServicesGameServerConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.GameServicesGameServerConfig.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.GameServicesGameServerConfig.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GameServicesGameServerConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetScalingConfigs` <a name="resetScalingConfigs" id="@dschmidt/provider-google.GameServicesGameServerConfig.resetScalingConfigs"></a>

```typescript
public resetScalingConfigs(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.GameServicesGameServerConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GameServicesGameServerConfig.isConstruct"></a>

```typescript
import { GameServicesGameServerConfig } from '@dschmidt/provider-google'

GameServicesGameServerConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GameServicesGameServerConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.fleetConfigs">fleetConfigs</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigsList">GameServicesGameServerConfigFleetConfigsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.scalingConfigs">scalingConfigs</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsList">GameServicesGameServerConfigScalingConfigsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigTimeoutsOutputReference">GameServicesGameServerConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.configIdInput">configIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.deploymentIdInput">deploymentIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.fleetConfigsInput">fleetConfigsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs">GameServicesGameServerConfigFleetConfigs</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.scalingConfigsInput">scalingConfigsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs">GameServicesGameServerConfigScalingConfigs</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerConfigTimeouts">GameServicesGameServerConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.configId">configId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.deploymentId">deploymentId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fleetConfigs`<sup>Required</sup> <a name="fleetConfigs" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.fleetConfigs"></a>

```typescript
public readonly fleetConfigs: GameServicesGameServerConfigFleetConfigsList;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigsList">GameServicesGameServerConfigFleetConfigsList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `scalingConfigs`<sup>Required</sup> <a name="scalingConfigs" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.scalingConfigs"></a>

```typescript
public readonly scalingConfigs: GameServicesGameServerConfigScalingConfigsList;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsList">GameServicesGameServerConfigScalingConfigsList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesGameServerConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerConfigTimeoutsOutputReference">GameServicesGameServerConfigTimeoutsOutputReference</a>

---

##### `configIdInput`<sup>Optional</sup> <a name="configIdInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.configIdInput"></a>

```typescript
public readonly configIdInput: string;
```

- *Type:* string

---

##### `deploymentIdInput`<sup>Optional</sup> <a name="deploymentIdInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.deploymentIdInput"></a>

```typescript
public readonly deploymentIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `fleetConfigsInput`<sup>Optional</sup> <a name="fleetConfigsInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.fleetConfigsInput"></a>

```typescript
public readonly fleetConfigsInput: IResolvable | GameServicesGameServerConfigFleetConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs">GameServicesGameServerConfigFleetConfigs</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `scalingConfigsInput`<sup>Optional</sup> <a name="scalingConfigsInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.scalingConfigsInput"></a>

```typescript
public readonly scalingConfigsInput: IResolvable | GameServicesGameServerConfigScalingConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs">GameServicesGameServerConfigScalingConfigs</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | GameServicesGameServerConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerConfigTimeouts">GameServicesGameServerConfigTimeouts</a>

---

##### `configId`<sup>Required</sup> <a name="configId" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.configId"></a>

```typescript
public readonly configId: string;
```

- *Type:* string

---

##### `deploymentId`<sup>Required</sup> <a name="deploymentId" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.deploymentId"></a>

```typescript
public readonly deploymentId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GameServicesGameServerConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GameServicesGameServerDeployment <a name="GameServicesGameServerDeployment" id="@dschmidt/provider-google.GameServicesGameServerDeployment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment google_game_services_game_server_deployment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GameServicesGameServerDeployment.Initializer"></a>

```typescript
import { GameServicesGameServerDeployment } from '@dschmidt/provider-google'

new GameServicesGameServerDeployment(scope: Construct, id: string, config: GameServicesGameServerDeploymentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig">GameServicesGameServerDeploymentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GameServicesGameServerDeployment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerDeployment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.GameServicesGameServerDeployment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig">GameServicesGameServerDeploymentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GameServicesGameServerDeployment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GameServicesGameServerDeployment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GameServicesGameServerDeployment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerDeployment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GameServicesGameServerDeployment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GameServicesGameServerDeployment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GameServicesGameServerDeployment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GameServicesGameServerDeployment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GameServicesGameServerDeployment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeployment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.GameServicesGameServerDeployment.putTimeouts"></a>

```typescript
public putTimeouts(value: GameServicesGameServerDeploymentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerDeployment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts">GameServicesGameServerDeploymentTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.GameServicesGameServerDeployment.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.GameServicesGameServerDeployment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.GameServicesGameServerDeployment.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.GameServicesGameServerDeployment.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GameServicesGameServerDeployment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.GameServicesGameServerDeployment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GameServicesGameServerDeployment.isConstruct"></a>

```typescript
import { GameServicesGameServerDeployment } from '@dschmidt/provider-google'

GameServicesGameServerDeployment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GameServicesGameServerDeployment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeoutsOutputReference">GameServicesGameServerDeploymentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.deploymentIdInput">deploymentIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts">GameServicesGameServerDeploymentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.deploymentId">deploymentId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesGameServerDeploymentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeoutsOutputReference">GameServicesGameServerDeploymentTimeoutsOutputReference</a>

---

##### `deploymentIdInput`<sup>Optional</sup> <a name="deploymentIdInput" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.deploymentIdInput"></a>

```typescript
public readonly deploymentIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | GameServicesGameServerDeploymentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts">GameServicesGameServerDeploymentTimeouts</a>

---

##### `deploymentId`<sup>Required</sup> <a name="deploymentId" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.deploymentId"></a>

```typescript
public readonly deploymentId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeployment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GameServicesGameServerDeployment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GameServicesGameServerDeploymentRollout <a name="GameServicesGameServerDeploymentRollout" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout google_game_services_game_server_deployment_rollout}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.Initializer"></a>

```typescript
import { GameServicesGameServerDeploymentRollout } from '@dschmidt/provider-google'

new GameServicesGameServerDeploymentRollout(scope: Construct, id: string, config: GameServicesGameServerDeploymentRolloutConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig">GameServicesGameServerDeploymentRolloutConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig">GameServicesGameServerDeploymentRolloutConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.putGameServerConfigOverrides">putGameServerConfigOverrides</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetGameServerConfigOverrides">resetGameServerConfigOverrides</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putGameServerConfigOverrides` <a name="putGameServerConfigOverrides" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.putGameServerConfigOverrides"></a>

```typescript
public putGameServerConfigOverrides(value: IResolvable | GameServicesGameServerDeploymentRolloutGameServerConfigOverrides[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.putGameServerConfigOverrides.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides">GameServicesGameServerDeploymentRolloutGameServerConfigOverrides</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.putTimeouts"></a>

```typescript
public putTimeouts(value: GameServicesGameServerDeploymentRolloutTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts">GameServicesGameServerDeploymentRolloutTimeouts</a>

---

##### `resetGameServerConfigOverrides` <a name="resetGameServerConfigOverrides" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetGameServerConfigOverrides"></a>

```typescript
public resetGameServerConfigOverrides(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.isConstruct"></a>

```typescript
import { GameServicesGameServerDeploymentRollout } from '@dschmidt/provider-google'

GameServicesGameServerDeploymentRollout.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.gameServerConfigOverrides">gameServerConfigOverrides</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverridesList">GameServicesGameServerDeploymentRolloutGameServerConfigOverridesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeoutsOutputReference">GameServicesGameServerDeploymentRolloutTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.defaultGameServerConfigInput">defaultGameServerConfigInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.deploymentIdInput">deploymentIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.gameServerConfigOverridesInput">gameServerConfigOverridesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides">GameServicesGameServerDeploymentRolloutGameServerConfigOverrides</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts">GameServicesGameServerDeploymentRolloutTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.defaultGameServerConfig">defaultGameServerConfig</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.deploymentId">deploymentId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `gameServerConfigOverrides`<sup>Required</sup> <a name="gameServerConfigOverrides" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.gameServerConfigOverrides"></a>

```typescript
public readonly gameServerConfigOverrides: GameServicesGameServerDeploymentRolloutGameServerConfigOverridesList;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverridesList">GameServicesGameServerDeploymentRolloutGameServerConfigOverridesList</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesGameServerDeploymentRolloutTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeoutsOutputReference">GameServicesGameServerDeploymentRolloutTimeoutsOutputReference</a>

---

##### `defaultGameServerConfigInput`<sup>Optional</sup> <a name="defaultGameServerConfigInput" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.defaultGameServerConfigInput"></a>

```typescript
public readonly defaultGameServerConfigInput: string;
```

- *Type:* string

---

##### `deploymentIdInput`<sup>Optional</sup> <a name="deploymentIdInput" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.deploymentIdInput"></a>

```typescript
public readonly deploymentIdInput: string;
```

- *Type:* string

---

##### `gameServerConfigOverridesInput`<sup>Optional</sup> <a name="gameServerConfigOverridesInput" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.gameServerConfigOverridesInput"></a>

```typescript
public readonly gameServerConfigOverridesInput: IResolvable | GameServicesGameServerDeploymentRolloutGameServerConfigOverrides[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides">GameServicesGameServerDeploymentRolloutGameServerConfigOverrides</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | GameServicesGameServerDeploymentRolloutTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts">GameServicesGameServerDeploymentRolloutTimeouts</a>

---

##### `defaultGameServerConfig`<sup>Required</sup> <a name="defaultGameServerConfig" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.defaultGameServerConfig"></a>

```typescript
public readonly defaultGameServerConfig: string;
```

- *Type:* string

---

##### `deploymentId`<sup>Required</sup> <a name="deploymentId" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.deploymentId"></a>

```typescript
public readonly deploymentId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRollout.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GameServicesRealm <a name="GameServicesRealm" id="@dschmidt/provider-google.GameServicesRealm"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/game_services_realm google_game_services_realm}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GameServicesRealm.Initializer"></a>

```typescript
import { GameServicesRealm } from '@dschmidt/provider-google'

new GameServicesRealm(scope: Construct, id: string, config: GameServicesRealmConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig">GameServicesRealmConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GameServicesRealm.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesRealm.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.GameServicesRealm.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesRealmConfig">GameServicesRealmConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GameServicesRealm.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GameServicesRealm.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GameServicesRealm.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesRealm.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GameServicesRealm.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GameServicesRealm.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GameServicesRealm.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GameServicesRealm.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GameServicesRealm.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.GameServicesRealm.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.GameServicesRealm.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.GameServicesRealm.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.GameServicesRealm.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.GameServicesRealm.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.GameServicesRealm.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.GameServicesRealm.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.GameServicesRealm.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.GameServicesRealm.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.GameServicesRealm.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GameServicesRealm.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.GameServicesRealm.putTimeouts"></a>

```typescript
public putTimeouts(value: GameServicesRealmTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GameServicesRealm.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GameServicesRealmTimeouts">GameServicesRealmTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.GameServicesRealm.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.GameServicesRealm.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.GameServicesRealm.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.GameServicesRealm.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GameServicesRealm.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.GameServicesRealm.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GameServicesRealm.isConstruct"></a>

```typescript
import { GameServicesRealm } from '@dschmidt/provider-google'

GameServicesRealm.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GameServicesRealm.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesRealmTimeoutsOutputReference">GameServicesRealmTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.realmIdInput">realmIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesRealmTimeouts">GameServicesRealmTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.timeZoneInput">timeZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.realmId">realmId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.timeZone">timeZone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GameServicesRealm.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GameServicesRealm.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GameServicesRealm.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GameServicesRealm.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.GameServicesRealm.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GameServicesRealm.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GameServicesRealm.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesRealm.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesRealm.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesRealm.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesRealm.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesRealm.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesRealm.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesRealm.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.GameServicesRealm.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.GameServicesRealm.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesRealm.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesRealmTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesRealmTimeoutsOutputReference">GameServicesRealmTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.GameServicesRealm.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.GameServicesRealm.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.GameServicesRealm.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.GameServicesRealm.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GameServicesRealm.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `realmIdInput`<sup>Optional</sup> <a name="realmIdInput" id="@dschmidt/provider-google.GameServicesRealm.property.realmIdInput"></a>

```typescript
public readonly realmIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.GameServicesRealm.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | GameServicesRealmTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesRealmTimeouts">GameServicesRealmTimeouts</a>

---

##### `timeZoneInput`<sup>Optional</sup> <a name="timeZoneInput" id="@dschmidt/provider-google.GameServicesRealm.property.timeZoneInput"></a>

```typescript
public readonly timeZoneInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.GameServicesRealm.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GameServicesRealm.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.GameServicesRealm.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.GameServicesRealm.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.GameServicesRealm.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `realmId`<sup>Required</sup> <a name="realmId" id="@dschmidt/provider-google.GameServicesRealm.property.realmId"></a>

```typescript
public readonly realmId: string;
```

- *Type:* string

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.GameServicesRealm.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesRealm.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GameServicesRealm.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GkeHubMembership <a name="GkeHubMembership" id="@dschmidt/provider-google.GkeHubMembership"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership google_gke_hub_membership}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GkeHubMembership.Initializer"></a>

```typescript
import { GkeHubMembership } from '@dschmidt/provider-google'

new GkeHubMembership(scope: Construct, id: string, config: GkeHubMembershipConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig">GkeHubMembershipConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GkeHubMembership.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembership.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.GkeHubMembership.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipConfig">GkeHubMembershipConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.putAuthority">putAuthority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.putEndpoint">putEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.resetAuthority">resetAuthority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.resetEndpoint">resetEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GkeHubMembership.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GkeHubMembership.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GkeHubMembership.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GkeHubMembership.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GkeHubMembership.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GkeHubMembership.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GkeHubMembership.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GkeHubMembership.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GkeHubMembership.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.GkeHubMembership.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.GkeHubMembership.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.GkeHubMembership.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.GkeHubMembership.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.GkeHubMembership.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.GkeHubMembership.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.GkeHubMembership.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.GkeHubMembership.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.GkeHubMembership.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.GkeHubMembership.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembership.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAuthority` <a name="putAuthority" id="@dschmidt/provider-google.GkeHubMembership.putAuthority"></a>

```typescript
public putAuthority(value: GkeHubMembershipAuthority): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GkeHubMembership.putAuthority.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipAuthority">GkeHubMembershipAuthority</a>

---

##### `putEndpoint` <a name="putEndpoint" id="@dschmidt/provider-google.GkeHubMembership.putEndpoint"></a>

```typescript
public putEndpoint(value: GkeHubMembershipEndpoint): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GkeHubMembership.putEndpoint.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipEndpoint">GkeHubMembershipEndpoint</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.GkeHubMembership.putTimeouts"></a>

```typescript
public putTimeouts(value: GkeHubMembershipTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GkeHubMembership.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipTimeouts">GkeHubMembershipTimeouts</a>

---

##### `resetAuthority` <a name="resetAuthority" id="@dschmidt/provider-google.GkeHubMembership.resetAuthority"></a>

```typescript
public resetAuthority(): void
```

##### `resetEndpoint` <a name="resetEndpoint" id="@dschmidt/provider-google.GkeHubMembership.resetEndpoint"></a>

```typescript
public resetEndpoint(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.GkeHubMembership.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.GkeHubMembership.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GkeHubMembership.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.GkeHubMembership.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GkeHubMembership.isConstruct"></a>

```typescript
import { GkeHubMembership } from '@dschmidt/provider-google'

GkeHubMembership.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GkeHubMembership.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.authority">authority</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipAuthorityOutputReference">GkeHubMembershipAuthorityOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.endpoint">endpoint</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipEndpointOutputReference">GkeHubMembershipEndpointOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipTimeoutsOutputReference">GkeHubMembershipTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.authorityInput">authorityInput</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipAuthority">GkeHubMembershipAuthority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.endpointInput">endpointInput</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipEndpoint">GkeHubMembershipEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.membershipIdInput">membershipIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GkeHubMembershipTimeouts">GkeHubMembershipTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.membershipId">membershipId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GkeHubMembership.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GkeHubMembership.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GkeHubMembership.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GkeHubMembership.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.GkeHubMembership.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GkeHubMembership.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GkeHubMembership.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GkeHubMembership.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GkeHubMembership.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GkeHubMembership.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GkeHubMembership.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GkeHubMembership.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GkeHubMembership.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GkeHubMembership.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `authority`<sup>Required</sup> <a name="authority" id="@dschmidt/provider-google.GkeHubMembership.property.authority"></a>

```typescript
public readonly authority: GkeHubMembershipAuthorityOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipAuthorityOutputReference">GkeHubMembershipAuthorityOutputReference</a>

---

##### `endpoint`<sup>Required</sup> <a name="endpoint" id="@dschmidt/provider-google.GkeHubMembership.property.endpoint"></a>

```typescript
public readonly endpoint: GkeHubMembershipEndpointOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipEndpointOutputReference">GkeHubMembershipEndpointOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.GkeHubMembership.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.GkeHubMembership.property.timeouts"></a>

```typescript
public readonly timeouts: GkeHubMembershipTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipTimeoutsOutputReference">GkeHubMembershipTimeoutsOutputReference</a>

---

##### `authorityInput`<sup>Optional</sup> <a name="authorityInput" id="@dschmidt/provider-google.GkeHubMembership.property.authorityInput"></a>

```typescript
public readonly authorityInput: GkeHubMembershipAuthority;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipAuthority">GkeHubMembershipAuthority</a>

---

##### `endpointInput`<sup>Optional</sup> <a name="endpointInput" id="@dschmidt/provider-google.GkeHubMembership.property.endpointInput"></a>

```typescript
public readonly endpointInput: GkeHubMembershipEndpoint;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipEndpoint">GkeHubMembershipEndpoint</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.GkeHubMembership.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.GkeHubMembership.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `membershipIdInput`<sup>Optional</sup> <a name="membershipIdInput" id="@dschmidt/provider-google.GkeHubMembership.property.membershipIdInput"></a>

```typescript
public readonly membershipIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GkeHubMembership.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.GkeHubMembership.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | GkeHubMembershipTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GkeHubMembershipTimeouts">GkeHubMembershipTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembership.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.GkeHubMembership.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `membershipId`<sup>Required</sup> <a name="membershipId" id="@dschmidt/provider-google.GkeHubMembership.property.membershipId"></a>

```typescript
public readonly membershipId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.GkeHubMembership.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembership.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GkeHubMembership.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GkeHubMembershipIamBinding <a name="GkeHubMembershipIamBinding" id="@dschmidt/provider-google.GkeHubMembershipIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding google_gke_hub_membership_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.Initializer"></a>

```typescript
import { GkeHubMembershipIamBinding } from '@dschmidt/provider-google'

new GkeHubMembershipIamBinding(scope: Construct, id: string, config: GkeHubMembershipIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig">GkeHubMembershipIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig">GkeHubMembershipIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.putCondition"></a>

```typescript
public putCondition(value: GkeHubMembershipIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingCondition">GkeHubMembershipIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.isConstruct"></a>

```typescript
import { GkeHubMembershipIamBinding } from '@dschmidt/provider-google'

GkeHubMembershipIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConditionOutputReference">GkeHubMembershipIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingCondition">GkeHubMembershipIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.membershipIdInput">membershipIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.membershipId">membershipId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.condition"></a>

```typescript
public readonly condition: GkeHubMembershipIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConditionOutputReference">GkeHubMembershipIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: GkeHubMembershipIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingCondition">GkeHubMembershipIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membershipIdInput`<sup>Optional</sup> <a name="membershipIdInput" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.membershipIdInput"></a>

```typescript
public readonly membershipIdInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `membershipId`<sup>Required</sup> <a name="membershipId" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.membershipId"></a>

```typescript
public readonly membershipId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GkeHubMembershipIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GkeHubMembershipIamMember <a name="GkeHubMembershipIamMember" id="@dschmidt/provider-google.GkeHubMembershipIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member google_gke_hub_membership_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GkeHubMembershipIamMember.Initializer"></a>

```typescript
import { GkeHubMembershipIamMember } from '@dschmidt/provider-google'

new GkeHubMembershipIamMember(scope: Construct, id: string, config: GkeHubMembershipIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig">GkeHubMembershipIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GkeHubMembershipIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.GkeHubMembershipIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig">GkeHubMembershipIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GkeHubMembershipIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GkeHubMembershipIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GkeHubMembershipIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GkeHubMembershipIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GkeHubMembershipIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GkeHubMembershipIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GkeHubMembershipIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GkeHubMembershipIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GkeHubMembershipIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.GkeHubMembershipIamMember.putCondition"></a>

```typescript
public putCondition(value: GkeHubMembershipIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GkeHubMembershipIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberCondition">GkeHubMembershipIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.GkeHubMembershipIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.GkeHubMembershipIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GkeHubMembershipIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GkeHubMembershipIamMember.isConstruct"></a>

```typescript
import { GkeHubMembershipIamMember } from '@dschmidt/provider-google'

GkeHubMembershipIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GkeHubMembershipIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConditionOutputReference">GkeHubMembershipIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberCondition">GkeHubMembershipIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.membershipIdInput">membershipIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.membershipId">membershipId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.condition"></a>

```typescript
public readonly condition: GkeHubMembershipIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConditionOutputReference">GkeHubMembershipIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: GkeHubMembershipIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberCondition">GkeHubMembershipIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `membershipIdInput`<sup>Optional</sup> <a name="membershipIdInput" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.membershipIdInput"></a>

```typescript
public readonly membershipIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `membershipId`<sup>Required</sup> <a name="membershipId" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.membershipId"></a>

```typescript
public readonly membershipId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GkeHubMembershipIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GkeHubMembershipIamPolicy <a name="GkeHubMembershipIamPolicy" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_policy google_gke_hub_membership_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.Initializer"></a>

```typescript
import { GkeHubMembershipIamPolicy } from '@dschmidt/provider-google'

new GkeHubMembershipIamPolicy(scope: Construct, id: string, config: GkeHubMembershipIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig">GkeHubMembershipIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig">GkeHubMembershipIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.isConstruct"></a>

```typescript
import { GkeHubMembershipIamPolicy } from '@dschmidt/provider-google'

GkeHubMembershipIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.membershipIdInput">membershipIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.membershipId">membershipId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membershipIdInput`<sup>Optional</sup> <a name="membershipIdInput" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.membershipIdInput"></a>

```typescript
public readonly membershipIdInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `membershipId`<sup>Required</sup> <a name="membershipId" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.membershipId"></a>

```typescript
public readonly membershipId: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GkeHubMembershipIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### GoogleProvider <a name="GoogleProvider" id="@dschmidt/provider-google.GoogleProvider"></a>

Represents a {@link https://www.terraform.io/docs/providers/google google}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.GoogleProvider.Initializer"></a>

```typescript
import { GoogleProvider } from '@dschmidt/provider-google'

new GoogleProvider(scope: Construct, id: string, config?: GoogleProviderConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.GoogleProviderConfig">GoogleProviderConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.GoogleProvider.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.GoogleProvider.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.GoogleProvider.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.GoogleProviderConfig">GoogleProviderConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetAccessApprovalCustomEndpoint">resetAccessApprovalCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetAccessContextManagerCustomEndpoint">resetAccessContextManagerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetAccessToken">resetAccessToken</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetActiveDirectoryCustomEndpoint">resetActiveDirectoryCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetAlias">resetAlias</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetApigeeCustomEndpoint">resetApigeeCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetApikeysCustomEndpoint">resetApikeysCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetAppEngineCustomEndpoint">resetAppEngineCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetArtifactRegistryCustomEndpoint">resetArtifactRegistryCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetAssuredWorkloadsCustomEndpoint">resetAssuredWorkloadsCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetBatching">resetBatching</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetBigqueryConnectionCustomEndpoint">resetBigqueryConnectionCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetBigQueryCustomEndpoint">resetBigQueryCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetBigqueryDataTransferCustomEndpoint">resetBigqueryDataTransferCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetBigqueryReservationCustomEndpoint">resetBigqueryReservationCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetBigtableCustomEndpoint">resetBigtableCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetBillingCustomEndpoint">resetBillingCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetBillingProject">resetBillingProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetBinaryAuthorizationCustomEndpoint">resetBinaryAuthorizationCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCertificateManagerCustomEndpoint">resetCertificateManagerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudAssetCustomEndpoint">resetCloudAssetCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudBillingCustomEndpoint">resetCloudBillingCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudBuildCustomEndpoint">resetCloudBuildCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudBuildWorkerPoolCustomEndpoint">resetCloudBuildWorkerPoolCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetClouddeployCustomEndpoint">resetClouddeployCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudfunctions2CustomEndpoint">resetCloudfunctions2CustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudFunctionsCustomEndpoint">resetCloudFunctionsCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudIdentityCustomEndpoint">resetCloudIdentityCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudIotCustomEndpoint">resetCloudIotCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudResourceManagerCustomEndpoint">resetCloudResourceManagerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudRunCustomEndpoint">resetCloudRunCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudSchedulerCustomEndpoint">resetCloudSchedulerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCloudTasksCustomEndpoint">resetCloudTasksCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetComposerCustomEndpoint">resetComposerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetComputeCustomEndpoint">resetComputeCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetContainerAnalysisCustomEndpoint">resetContainerAnalysisCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetContainerAwsCustomEndpoint">resetContainerAwsCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetContainerAzureCustomEndpoint">resetContainerAzureCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetContainerCustomEndpoint">resetContainerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetCredentials">resetCredentials</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDataCatalogCustomEndpoint">resetDataCatalogCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDataflowCustomEndpoint">resetDataflowCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDataFusionCustomEndpoint">resetDataFusionCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDataLossPreventionCustomEndpoint">resetDataLossPreventionCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDataplexCustomEndpoint">resetDataplexCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDataprocCustomEndpoint">resetDataprocCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDataprocMetastoreCustomEndpoint">resetDataprocMetastoreCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDatastoreCustomEndpoint">resetDatastoreCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDeploymentManagerCustomEndpoint">resetDeploymentManagerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDialogflowCustomEndpoint">resetDialogflowCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDialogflowCxCustomEndpoint">resetDialogflowCxCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDnsCustomEndpoint">resetDnsCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetDocumentAiCustomEndpoint">resetDocumentAiCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetEssentialContactsCustomEndpoint">resetEssentialContactsCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetEventarcCustomEndpoint">resetEventarcCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetFilestoreCustomEndpoint">resetFilestoreCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetFirebaserulesCustomEndpoint">resetFirebaserulesCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetFirestoreCustomEndpoint">resetFirestoreCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetGameServicesCustomEndpoint">resetGameServicesCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetGkeHubCustomEndpoint">resetGkeHubCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetHealthcareCustomEndpoint">resetHealthcareCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetIamBetaCustomEndpoint">resetIamBetaCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetIamCredentialsCustomEndpoint">resetIamCredentialsCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetIamCustomEndpoint">resetIamCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetIapCustomEndpoint">resetIapCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetIdentityPlatformCustomEndpoint">resetIdentityPlatformCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetImpersonateServiceAccount">resetImpersonateServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetImpersonateServiceAccountDelegates">resetImpersonateServiceAccountDelegates</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetKmsCustomEndpoint">resetKmsCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetLoggingCustomEndpoint">resetLoggingCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetMemcacheCustomEndpoint">resetMemcacheCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetMlEngineCustomEndpoint">resetMlEngineCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetMonitoringCustomEndpoint">resetMonitoringCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetNetworkConnectivityCustomEndpoint">resetNetworkConnectivityCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetNetworkManagementCustomEndpoint">resetNetworkManagementCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetNetworkServicesCustomEndpoint">resetNetworkServicesCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetNotebooksCustomEndpoint">resetNotebooksCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetOrgPolicyCustomEndpoint">resetOrgPolicyCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetOsConfigCustomEndpoint">resetOsConfigCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetOsLoginCustomEndpoint">resetOsLoginCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetPrivatecaCustomEndpoint">resetPrivatecaCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetPubsubCustomEndpoint">resetPubsubCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetPubsubLiteCustomEndpoint">resetPubsubLiteCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetRecaptchaEnterpriseCustomEndpoint">resetRecaptchaEnterpriseCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetRedisCustomEndpoint">resetRedisCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetRequestReason">resetRequestReason</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetRequestTimeout">resetRequestTimeout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetResourceManagerCustomEndpoint">resetResourceManagerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetResourceManagerV3CustomEndpoint">resetResourceManagerV3CustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetScopes">resetScopes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetSecretManagerCustomEndpoint">resetSecretManagerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetSecurityCenterCustomEndpoint">resetSecurityCenterCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetServiceManagementCustomEndpoint">resetServiceManagementCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetServiceNetworkingCustomEndpoint">resetServiceNetworkingCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetServiceUsageCustomEndpoint">resetServiceUsageCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetSourceRepoCustomEndpoint">resetSourceRepoCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetSpannerCustomEndpoint">resetSpannerCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetSqlCustomEndpoint">resetSqlCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetStorageCustomEndpoint">resetStorageCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetStorageTransferCustomEndpoint">resetStorageTransferCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetTagsCustomEndpoint">resetTagsCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetTpuCustomEndpoint">resetTpuCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetUserProjectOverride">resetUserProjectOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetVertexAiCustomEndpoint">resetVertexAiCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetVpcAccessCustomEndpoint">resetVpcAccessCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetWorkflowsCustomEndpoint">resetWorkflowsCustomEndpoint</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.GoogleProvider.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.GoogleProvider.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.GoogleProvider.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.GoogleProvider.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.GoogleProvider.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.GoogleProvider.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.GoogleProvider.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.GoogleProvider.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.GoogleProvider.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `resetAccessApprovalCustomEndpoint` <a name="resetAccessApprovalCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetAccessApprovalCustomEndpoint"></a>

```typescript
public resetAccessApprovalCustomEndpoint(): void
```

##### `resetAccessContextManagerCustomEndpoint` <a name="resetAccessContextManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetAccessContextManagerCustomEndpoint"></a>

```typescript
public resetAccessContextManagerCustomEndpoint(): void
```

##### `resetAccessToken` <a name="resetAccessToken" id="@dschmidt/provider-google.GoogleProvider.resetAccessToken"></a>

```typescript
public resetAccessToken(): void
```

##### `resetActiveDirectoryCustomEndpoint` <a name="resetActiveDirectoryCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetActiveDirectoryCustomEndpoint"></a>

```typescript
public resetActiveDirectoryCustomEndpoint(): void
```

##### `resetAlias` <a name="resetAlias" id="@dschmidt/provider-google.GoogleProvider.resetAlias"></a>

```typescript
public resetAlias(): void
```

##### `resetApigeeCustomEndpoint` <a name="resetApigeeCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetApigeeCustomEndpoint"></a>

```typescript
public resetApigeeCustomEndpoint(): void
```

##### `resetApikeysCustomEndpoint` <a name="resetApikeysCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetApikeysCustomEndpoint"></a>

```typescript
public resetApikeysCustomEndpoint(): void
```

##### `resetAppEngineCustomEndpoint` <a name="resetAppEngineCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetAppEngineCustomEndpoint"></a>

```typescript
public resetAppEngineCustomEndpoint(): void
```

##### `resetArtifactRegistryCustomEndpoint` <a name="resetArtifactRegistryCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetArtifactRegistryCustomEndpoint"></a>

```typescript
public resetArtifactRegistryCustomEndpoint(): void
```

##### `resetAssuredWorkloadsCustomEndpoint` <a name="resetAssuredWorkloadsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetAssuredWorkloadsCustomEndpoint"></a>

```typescript
public resetAssuredWorkloadsCustomEndpoint(): void
```

##### `resetBatching` <a name="resetBatching" id="@dschmidt/provider-google.GoogleProvider.resetBatching"></a>

```typescript
public resetBatching(): void
```

##### `resetBigqueryConnectionCustomEndpoint` <a name="resetBigqueryConnectionCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetBigqueryConnectionCustomEndpoint"></a>

```typescript
public resetBigqueryConnectionCustomEndpoint(): void
```

##### `resetBigQueryCustomEndpoint` <a name="resetBigQueryCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetBigQueryCustomEndpoint"></a>

```typescript
public resetBigQueryCustomEndpoint(): void
```

##### `resetBigqueryDataTransferCustomEndpoint` <a name="resetBigqueryDataTransferCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetBigqueryDataTransferCustomEndpoint"></a>

```typescript
public resetBigqueryDataTransferCustomEndpoint(): void
```

##### `resetBigqueryReservationCustomEndpoint` <a name="resetBigqueryReservationCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetBigqueryReservationCustomEndpoint"></a>

```typescript
public resetBigqueryReservationCustomEndpoint(): void
```

##### `resetBigtableCustomEndpoint` <a name="resetBigtableCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetBigtableCustomEndpoint"></a>

```typescript
public resetBigtableCustomEndpoint(): void
```

##### `resetBillingCustomEndpoint` <a name="resetBillingCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetBillingCustomEndpoint"></a>

```typescript
public resetBillingCustomEndpoint(): void
```

##### `resetBillingProject` <a name="resetBillingProject" id="@dschmidt/provider-google.GoogleProvider.resetBillingProject"></a>

```typescript
public resetBillingProject(): void
```

##### `resetBinaryAuthorizationCustomEndpoint` <a name="resetBinaryAuthorizationCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetBinaryAuthorizationCustomEndpoint"></a>

```typescript
public resetBinaryAuthorizationCustomEndpoint(): void
```

##### `resetCertificateManagerCustomEndpoint` <a name="resetCertificateManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCertificateManagerCustomEndpoint"></a>

```typescript
public resetCertificateManagerCustomEndpoint(): void
```

##### `resetCloudAssetCustomEndpoint` <a name="resetCloudAssetCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudAssetCustomEndpoint"></a>

```typescript
public resetCloudAssetCustomEndpoint(): void
```

##### `resetCloudBillingCustomEndpoint` <a name="resetCloudBillingCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudBillingCustomEndpoint"></a>

```typescript
public resetCloudBillingCustomEndpoint(): void
```

##### `resetCloudBuildCustomEndpoint` <a name="resetCloudBuildCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudBuildCustomEndpoint"></a>

```typescript
public resetCloudBuildCustomEndpoint(): void
```

##### `resetCloudBuildWorkerPoolCustomEndpoint` <a name="resetCloudBuildWorkerPoolCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudBuildWorkerPoolCustomEndpoint"></a>

```typescript
public resetCloudBuildWorkerPoolCustomEndpoint(): void
```

##### `resetClouddeployCustomEndpoint` <a name="resetClouddeployCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetClouddeployCustomEndpoint"></a>

```typescript
public resetClouddeployCustomEndpoint(): void
```

##### `resetCloudfunctions2CustomEndpoint` <a name="resetCloudfunctions2CustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudfunctions2CustomEndpoint"></a>

```typescript
public resetCloudfunctions2CustomEndpoint(): void
```

##### `resetCloudFunctionsCustomEndpoint` <a name="resetCloudFunctionsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudFunctionsCustomEndpoint"></a>

```typescript
public resetCloudFunctionsCustomEndpoint(): void
```

##### `resetCloudIdentityCustomEndpoint` <a name="resetCloudIdentityCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudIdentityCustomEndpoint"></a>

```typescript
public resetCloudIdentityCustomEndpoint(): void
```

##### `resetCloudIotCustomEndpoint` <a name="resetCloudIotCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudIotCustomEndpoint"></a>

```typescript
public resetCloudIotCustomEndpoint(): void
```

##### `resetCloudResourceManagerCustomEndpoint` <a name="resetCloudResourceManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudResourceManagerCustomEndpoint"></a>

```typescript
public resetCloudResourceManagerCustomEndpoint(): void
```

##### `resetCloudRunCustomEndpoint` <a name="resetCloudRunCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudRunCustomEndpoint"></a>

```typescript
public resetCloudRunCustomEndpoint(): void
```

##### `resetCloudSchedulerCustomEndpoint` <a name="resetCloudSchedulerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudSchedulerCustomEndpoint"></a>

```typescript
public resetCloudSchedulerCustomEndpoint(): void
```

##### `resetCloudTasksCustomEndpoint` <a name="resetCloudTasksCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetCloudTasksCustomEndpoint"></a>

```typescript
public resetCloudTasksCustomEndpoint(): void
```

##### `resetComposerCustomEndpoint` <a name="resetComposerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetComposerCustomEndpoint"></a>

```typescript
public resetComposerCustomEndpoint(): void
```

##### `resetComputeCustomEndpoint` <a name="resetComputeCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetComputeCustomEndpoint"></a>

```typescript
public resetComputeCustomEndpoint(): void
```

##### `resetContainerAnalysisCustomEndpoint` <a name="resetContainerAnalysisCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetContainerAnalysisCustomEndpoint"></a>

```typescript
public resetContainerAnalysisCustomEndpoint(): void
```

##### `resetContainerAwsCustomEndpoint` <a name="resetContainerAwsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetContainerAwsCustomEndpoint"></a>

```typescript
public resetContainerAwsCustomEndpoint(): void
```

##### `resetContainerAzureCustomEndpoint` <a name="resetContainerAzureCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetContainerAzureCustomEndpoint"></a>

```typescript
public resetContainerAzureCustomEndpoint(): void
```

##### `resetContainerCustomEndpoint` <a name="resetContainerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetContainerCustomEndpoint"></a>

```typescript
public resetContainerCustomEndpoint(): void
```

##### `resetCredentials` <a name="resetCredentials" id="@dschmidt/provider-google.GoogleProvider.resetCredentials"></a>

```typescript
public resetCredentials(): void
```

##### `resetDataCatalogCustomEndpoint` <a name="resetDataCatalogCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDataCatalogCustomEndpoint"></a>

```typescript
public resetDataCatalogCustomEndpoint(): void
```

##### `resetDataflowCustomEndpoint` <a name="resetDataflowCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDataflowCustomEndpoint"></a>

```typescript
public resetDataflowCustomEndpoint(): void
```

##### `resetDataFusionCustomEndpoint` <a name="resetDataFusionCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDataFusionCustomEndpoint"></a>

```typescript
public resetDataFusionCustomEndpoint(): void
```

##### `resetDataLossPreventionCustomEndpoint` <a name="resetDataLossPreventionCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDataLossPreventionCustomEndpoint"></a>

```typescript
public resetDataLossPreventionCustomEndpoint(): void
```

##### `resetDataplexCustomEndpoint` <a name="resetDataplexCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDataplexCustomEndpoint"></a>

```typescript
public resetDataplexCustomEndpoint(): void
```

##### `resetDataprocCustomEndpoint` <a name="resetDataprocCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDataprocCustomEndpoint"></a>

```typescript
public resetDataprocCustomEndpoint(): void
```

##### `resetDataprocMetastoreCustomEndpoint` <a name="resetDataprocMetastoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDataprocMetastoreCustomEndpoint"></a>

```typescript
public resetDataprocMetastoreCustomEndpoint(): void
```

##### `resetDatastoreCustomEndpoint` <a name="resetDatastoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDatastoreCustomEndpoint"></a>

```typescript
public resetDatastoreCustomEndpoint(): void
```

##### `resetDeploymentManagerCustomEndpoint` <a name="resetDeploymentManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDeploymentManagerCustomEndpoint"></a>

```typescript
public resetDeploymentManagerCustomEndpoint(): void
```

##### `resetDialogflowCustomEndpoint` <a name="resetDialogflowCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDialogflowCustomEndpoint"></a>

```typescript
public resetDialogflowCustomEndpoint(): void
```

##### `resetDialogflowCxCustomEndpoint` <a name="resetDialogflowCxCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDialogflowCxCustomEndpoint"></a>

```typescript
public resetDialogflowCxCustomEndpoint(): void
```

##### `resetDnsCustomEndpoint` <a name="resetDnsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDnsCustomEndpoint"></a>

```typescript
public resetDnsCustomEndpoint(): void
```

##### `resetDocumentAiCustomEndpoint` <a name="resetDocumentAiCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetDocumentAiCustomEndpoint"></a>

```typescript
public resetDocumentAiCustomEndpoint(): void
```

##### `resetEssentialContactsCustomEndpoint` <a name="resetEssentialContactsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetEssentialContactsCustomEndpoint"></a>

```typescript
public resetEssentialContactsCustomEndpoint(): void
```

##### `resetEventarcCustomEndpoint` <a name="resetEventarcCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetEventarcCustomEndpoint"></a>

```typescript
public resetEventarcCustomEndpoint(): void
```

##### `resetFilestoreCustomEndpoint` <a name="resetFilestoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetFilestoreCustomEndpoint"></a>

```typescript
public resetFilestoreCustomEndpoint(): void
```

##### `resetFirebaserulesCustomEndpoint` <a name="resetFirebaserulesCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetFirebaserulesCustomEndpoint"></a>

```typescript
public resetFirebaserulesCustomEndpoint(): void
```

##### `resetFirestoreCustomEndpoint` <a name="resetFirestoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetFirestoreCustomEndpoint"></a>

```typescript
public resetFirestoreCustomEndpoint(): void
```

##### `resetGameServicesCustomEndpoint` <a name="resetGameServicesCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetGameServicesCustomEndpoint"></a>

```typescript
public resetGameServicesCustomEndpoint(): void
```

##### `resetGkeHubCustomEndpoint` <a name="resetGkeHubCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetGkeHubCustomEndpoint"></a>

```typescript
public resetGkeHubCustomEndpoint(): void
```

##### `resetHealthcareCustomEndpoint` <a name="resetHealthcareCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetHealthcareCustomEndpoint"></a>

```typescript
public resetHealthcareCustomEndpoint(): void
```

##### `resetIamBetaCustomEndpoint` <a name="resetIamBetaCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetIamBetaCustomEndpoint"></a>

```typescript
public resetIamBetaCustomEndpoint(): void
```

##### `resetIamCredentialsCustomEndpoint` <a name="resetIamCredentialsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetIamCredentialsCustomEndpoint"></a>

```typescript
public resetIamCredentialsCustomEndpoint(): void
```

##### `resetIamCustomEndpoint` <a name="resetIamCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetIamCustomEndpoint"></a>

```typescript
public resetIamCustomEndpoint(): void
```

##### `resetIapCustomEndpoint` <a name="resetIapCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetIapCustomEndpoint"></a>

```typescript
public resetIapCustomEndpoint(): void
```

##### `resetIdentityPlatformCustomEndpoint` <a name="resetIdentityPlatformCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetIdentityPlatformCustomEndpoint"></a>

```typescript
public resetIdentityPlatformCustomEndpoint(): void
```

##### `resetImpersonateServiceAccount` <a name="resetImpersonateServiceAccount" id="@dschmidt/provider-google.GoogleProvider.resetImpersonateServiceAccount"></a>

```typescript
public resetImpersonateServiceAccount(): void
```

##### `resetImpersonateServiceAccountDelegates` <a name="resetImpersonateServiceAccountDelegates" id="@dschmidt/provider-google.GoogleProvider.resetImpersonateServiceAccountDelegates"></a>

```typescript
public resetImpersonateServiceAccountDelegates(): void
```

##### `resetKmsCustomEndpoint` <a name="resetKmsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetKmsCustomEndpoint"></a>

```typescript
public resetKmsCustomEndpoint(): void
```

##### `resetLoggingCustomEndpoint` <a name="resetLoggingCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetLoggingCustomEndpoint"></a>

```typescript
public resetLoggingCustomEndpoint(): void
```

##### `resetMemcacheCustomEndpoint` <a name="resetMemcacheCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetMemcacheCustomEndpoint"></a>

```typescript
public resetMemcacheCustomEndpoint(): void
```

##### `resetMlEngineCustomEndpoint` <a name="resetMlEngineCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetMlEngineCustomEndpoint"></a>

```typescript
public resetMlEngineCustomEndpoint(): void
```

##### `resetMonitoringCustomEndpoint` <a name="resetMonitoringCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetMonitoringCustomEndpoint"></a>

```typescript
public resetMonitoringCustomEndpoint(): void
```

##### `resetNetworkConnectivityCustomEndpoint` <a name="resetNetworkConnectivityCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetNetworkConnectivityCustomEndpoint"></a>

```typescript
public resetNetworkConnectivityCustomEndpoint(): void
```

##### `resetNetworkManagementCustomEndpoint` <a name="resetNetworkManagementCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetNetworkManagementCustomEndpoint"></a>

```typescript
public resetNetworkManagementCustomEndpoint(): void
```

##### `resetNetworkServicesCustomEndpoint` <a name="resetNetworkServicesCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetNetworkServicesCustomEndpoint"></a>

```typescript
public resetNetworkServicesCustomEndpoint(): void
```

##### `resetNotebooksCustomEndpoint` <a name="resetNotebooksCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetNotebooksCustomEndpoint"></a>

```typescript
public resetNotebooksCustomEndpoint(): void
```

##### `resetOrgPolicyCustomEndpoint` <a name="resetOrgPolicyCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetOrgPolicyCustomEndpoint"></a>

```typescript
public resetOrgPolicyCustomEndpoint(): void
```

##### `resetOsConfigCustomEndpoint` <a name="resetOsConfigCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetOsConfigCustomEndpoint"></a>

```typescript
public resetOsConfigCustomEndpoint(): void
```

##### `resetOsLoginCustomEndpoint` <a name="resetOsLoginCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetOsLoginCustomEndpoint"></a>

```typescript
public resetOsLoginCustomEndpoint(): void
```

##### `resetPrivatecaCustomEndpoint` <a name="resetPrivatecaCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetPrivatecaCustomEndpoint"></a>

```typescript
public resetPrivatecaCustomEndpoint(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.GoogleProvider.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPubsubCustomEndpoint` <a name="resetPubsubCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetPubsubCustomEndpoint"></a>

```typescript
public resetPubsubCustomEndpoint(): void
```

##### `resetPubsubLiteCustomEndpoint` <a name="resetPubsubLiteCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetPubsubLiteCustomEndpoint"></a>

```typescript
public resetPubsubLiteCustomEndpoint(): void
```

##### `resetRecaptchaEnterpriseCustomEndpoint` <a name="resetRecaptchaEnterpriseCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetRecaptchaEnterpriseCustomEndpoint"></a>

```typescript
public resetRecaptchaEnterpriseCustomEndpoint(): void
```

##### `resetRedisCustomEndpoint` <a name="resetRedisCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetRedisCustomEndpoint"></a>

```typescript
public resetRedisCustomEndpoint(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.GoogleProvider.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetRequestReason` <a name="resetRequestReason" id="@dschmidt/provider-google.GoogleProvider.resetRequestReason"></a>

```typescript
public resetRequestReason(): void
```

##### `resetRequestTimeout` <a name="resetRequestTimeout" id="@dschmidt/provider-google.GoogleProvider.resetRequestTimeout"></a>

```typescript
public resetRequestTimeout(): void
```

##### `resetResourceManagerCustomEndpoint` <a name="resetResourceManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetResourceManagerCustomEndpoint"></a>

```typescript
public resetResourceManagerCustomEndpoint(): void
```

##### `resetResourceManagerV3CustomEndpoint` <a name="resetResourceManagerV3CustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetResourceManagerV3CustomEndpoint"></a>

```typescript
public resetResourceManagerV3CustomEndpoint(): void
```

##### `resetScopes` <a name="resetScopes" id="@dschmidt/provider-google.GoogleProvider.resetScopes"></a>

```typescript
public resetScopes(): void
```

##### `resetSecretManagerCustomEndpoint` <a name="resetSecretManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetSecretManagerCustomEndpoint"></a>

```typescript
public resetSecretManagerCustomEndpoint(): void
```

##### `resetSecurityCenterCustomEndpoint` <a name="resetSecurityCenterCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetSecurityCenterCustomEndpoint"></a>

```typescript
public resetSecurityCenterCustomEndpoint(): void
```

##### `resetServiceManagementCustomEndpoint` <a name="resetServiceManagementCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetServiceManagementCustomEndpoint"></a>

```typescript
public resetServiceManagementCustomEndpoint(): void
```

##### `resetServiceNetworkingCustomEndpoint` <a name="resetServiceNetworkingCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetServiceNetworkingCustomEndpoint"></a>

```typescript
public resetServiceNetworkingCustomEndpoint(): void
```

##### `resetServiceUsageCustomEndpoint` <a name="resetServiceUsageCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetServiceUsageCustomEndpoint"></a>

```typescript
public resetServiceUsageCustomEndpoint(): void
```

##### `resetSourceRepoCustomEndpoint` <a name="resetSourceRepoCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetSourceRepoCustomEndpoint"></a>

```typescript
public resetSourceRepoCustomEndpoint(): void
```

##### `resetSpannerCustomEndpoint` <a name="resetSpannerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetSpannerCustomEndpoint"></a>

```typescript
public resetSpannerCustomEndpoint(): void
```

##### `resetSqlCustomEndpoint` <a name="resetSqlCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetSqlCustomEndpoint"></a>

```typescript
public resetSqlCustomEndpoint(): void
```

##### `resetStorageCustomEndpoint` <a name="resetStorageCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetStorageCustomEndpoint"></a>

```typescript
public resetStorageCustomEndpoint(): void
```

##### `resetStorageTransferCustomEndpoint` <a name="resetStorageTransferCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetStorageTransferCustomEndpoint"></a>

```typescript
public resetStorageTransferCustomEndpoint(): void
```

##### `resetTagsCustomEndpoint` <a name="resetTagsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetTagsCustomEndpoint"></a>

```typescript
public resetTagsCustomEndpoint(): void
```

##### `resetTpuCustomEndpoint` <a name="resetTpuCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetTpuCustomEndpoint"></a>

```typescript
public resetTpuCustomEndpoint(): void
```

##### `resetUserProjectOverride` <a name="resetUserProjectOverride" id="@dschmidt/provider-google.GoogleProvider.resetUserProjectOverride"></a>

```typescript
public resetUserProjectOverride(): void
```

##### `resetVertexAiCustomEndpoint` <a name="resetVertexAiCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetVertexAiCustomEndpoint"></a>

```typescript
public resetVertexAiCustomEndpoint(): void
```

##### `resetVpcAccessCustomEndpoint` <a name="resetVpcAccessCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetVpcAccessCustomEndpoint"></a>

```typescript
public resetVpcAccessCustomEndpoint(): void
```

##### `resetWorkflowsCustomEndpoint` <a name="resetWorkflowsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.resetWorkflowsCustomEndpoint"></a>

```typescript
public resetWorkflowsCustomEndpoint(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.GoogleProvider.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.GoogleProvider.isConstruct"></a>

```typescript
import { GoogleProvider } from '@dschmidt/provider-google'

GoogleProvider.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.GoogleProvider.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.metaAttributes">metaAttributes</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.terraformProviderSource">terraformProviderSource</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.alias">alias</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.accessApprovalCustomEndpointInput">accessApprovalCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.accessContextManagerCustomEndpointInput">accessContextManagerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.accessTokenInput">accessTokenInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.activeDirectoryCustomEndpointInput">activeDirectoryCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.aliasInput">aliasInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.apigeeCustomEndpointInput">apigeeCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.apikeysCustomEndpointInput">apikeysCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.appEngineCustomEndpointInput">appEngineCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.artifactRegistryCustomEndpointInput">artifactRegistryCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.assuredWorkloadsCustomEndpointInput">assuredWorkloadsCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.batchingInput">batchingInput</a></code> | <code><a href="#@dschmidt/provider-google.GoogleProviderBatching">GoogleProviderBatching</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigqueryConnectionCustomEndpointInput">bigqueryConnectionCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigQueryCustomEndpointInput">bigQueryCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigqueryDataTransferCustomEndpointInput">bigqueryDataTransferCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigqueryReservationCustomEndpointInput">bigqueryReservationCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigtableCustomEndpointInput">bigtableCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.billingCustomEndpointInput">billingCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.billingProjectInput">billingProjectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.binaryAuthorizationCustomEndpointInput">binaryAuthorizationCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.certificateManagerCustomEndpointInput">certificateManagerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudAssetCustomEndpointInput">cloudAssetCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudBillingCustomEndpointInput">cloudBillingCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudBuildCustomEndpointInput">cloudBuildCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudBuildWorkerPoolCustomEndpointInput">cloudBuildWorkerPoolCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.clouddeployCustomEndpointInput">clouddeployCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudfunctions2CustomEndpointInput">cloudfunctions2CustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudFunctionsCustomEndpointInput">cloudFunctionsCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudIdentityCustomEndpointInput">cloudIdentityCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudIotCustomEndpointInput">cloudIotCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudResourceManagerCustomEndpointInput">cloudResourceManagerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudRunCustomEndpointInput">cloudRunCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudSchedulerCustomEndpointInput">cloudSchedulerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudTasksCustomEndpointInput">cloudTasksCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.composerCustomEndpointInput">composerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.computeCustomEndpointInput">computeCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.containerAnalysisCustomEndpointInput">containerAnalysisCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.containerAwsCustomEndpointInput">containerAwsCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.containerAzureCustomEndpointInput">containerAzureCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.containerCustomEndpointInput">containerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.credentialsInput">credentialsInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataCatalogCustomEndpointInput">dataCatalogCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataflowCustomEndpointInput">dataflowCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataFusionCustomEndpointInput">dataFusionCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataLossPreventionCustomEndpointInput">dataLossPreventionCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataplexCustomEndpointInput">dataplexCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataprocCustomEndpointInput">dataprocCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataprocMetastoreCustomEndpointInput">dataprocMetastoreCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.datastoreCustomEndpointInput">datastoreCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.deploymentManagerCustomEndpointInput">deploymentManagerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dialogflowCustomEndpointInput">dialogflowCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dialogflowCxCustomEndpointInput">dialogflowCxCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dnsCustomEndpointInput">dnsCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.documentAiCustomEndpointInput">documentAiCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.essentialContactsCustomEndpointInput">essentialContactsCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.eventarcCustomEndpointInput">eventarcCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.filestoreCustomEndpointInput">filestoreCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.firebaserulesCustomEndpointInput">firebaserulesCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.firestoreCustomEndpointInput">firestoreCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.gameServicesCustomEndpointInput">gameServicesCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.gkeHubCustomEndpointInput">gkeHubCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.healthcareCustomEndpointInput">healthcareCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.iamBetaCustomEndpointInput">iamBetaCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.iamCredentialsCustomEndpointInput">iamCredentialsCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.iamCustomEndpointInput">iamCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.iapCustomEndpointInput">iapCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.identityPlatformCustomEndpointInput">identityPlatformCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.impersonateServiceAccountDelegatesInput">impersonateServiceAccountDelegatesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.impersonateServiceAccountInput">impersonateServiceAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.kmsCustomEndpointInput">kmsCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.loggingCustomEndpointInput">loggingCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.memcacheCustomEndpointInput">memcacheCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.mlEngineCustomEndpointInput">mlEngineCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.monitoringCustomEndpointInput">monitoringCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.networkConnectivityCustomEndpointInput">networkConnectivityCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.networkManagementCustomEndpointInput">networkManagementCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.networkServicesCustomEndpointInput">networkServicesCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.notebooksCustomEndpointInput">notebooksCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.orgPolicyCustomEndpointInput">orgPolicyCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.osConfigCustomEndpointInput">osConfigCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.osLoginCustomEndpointInput">osLoginCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.privatecaCustomEndpointInput">privatecaCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.pubsubCustomEndpointInput">pubsubCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.pubsubLiteCustomEndpointInput">pubsubLiteCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.recaptchaEnterpriseCustomEndpointInput">recaptchaEnterpriseCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.redisCustomEndpointInput">redisCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.requestReasonInput">requestReasonInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.requestTimeoutInput">requestTimeoutInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.resourceManagerCustomEndpointInput">resourceManagerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.resourceManagerV3CustomEndpointInput">resourceManagerV3CustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.scopesInput">scopesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.secretManagerCustomEndpointInput">secretManagerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.securityCenterCustomEndpointInput">securityCenterCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.serviceManagementCustomEndpointInput">serviceManagementCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.serviceNetworkingCustomEndpointInput">serviceNetworkingCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.serviceUsageCustomEndpointInput">serviceUsageCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.sourceRepoCustomEndpointInput">sourceRepoCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.spannerCustomEndpointInput">spannerCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.sqlCustomEndpointInput">sqlCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.storageCustomEndpointInput">storageCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.storageTransferCustomEndpointInput">storageTransferCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.tagsCustomEndpointInput">tagsCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.tpuCustomEndpointInput">tpuCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.userProjectOverrideInput">userProjectOverrideInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.vertexAiCustomEndpointInput">vertexAiCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.vpcAccessCustomEndpointInput">vpcAccessCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.workflowsCustomEndpointInput">workflowsCustomEndpointInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.accessApprovalCustomEndpoint">accessApprovalCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.accessContextManagerCustomEndpoint">accessContextManagerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.accessToken">accessToken</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.activeDirectoryCustomEndpoint">activeDirectoryCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.apigeeCustomEndpoint">apigeeCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.apikeysCustomEndpoint">apikeysCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.appEngineCustomEndpoint">appEngineCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.artifactRegistryCustomEndpoint">artifactRegistryCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.assuredWorkloadsCustomEndpoint">assuredWorkloadsCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.batching">batching</a></code> | <code><a href="#@dschmidt/provider-google.GoogleProviderBatching">GoogleProviderBatching</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigqueryConnectionCustomEndpoint">bigqueryConnectionCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigQueryCustomEndpoint">bigQueryCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigqueryDataTransferCustomEndpoint">bigqueryDataTransferCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigqueryReservationCustomEndpoint">bigqueryReservationCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.bigtableCustomEndpoint">bigtableCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.billingCustomEndpoint">billingCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.billingProject">billingProject</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.binaryAuthorizationCustomEndpoint">binaryAuthorizationCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.certificateManagerCustomEndpoint">certificateManagerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudAssetCustomEndpoint">cloudAssetCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudBillingCustomEndpoint">cloudBillingCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudBuildCustomEndpoint">cloudBuildCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudBuildWorkerPoolCustomEndpoint">cloudBuildWorkerPoolCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.clouddeployCustomEndpoint">clouddeployCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudfunctions2CustomEndpoint">cloudfunctions2CustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudFunctionsCustomEndpoint">cloudFunctionsCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudIdentityCustomEndpoint">cloudIdentityCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudIotCustomEndpoint">cloudIotCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudResourceManagerCustomEndpoint">cloudResourceManagerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudRunCustomEndpoint">cloudRunCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudSchedulerCustomEndpoint">cloudSchedulerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.cloudTasksCustomEndpoint">cloudTasksCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.composerCustomEndpoint">composerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.computeCustomEndpoint">computeCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.containerAnalysisCustomEndpoint">containerAnalysisCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.containerAwsCustomEndpoint">containerAwsCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.containerAzureCustomEndpoint">containerAzureCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.containerCustomEndpoint">containerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.credentials">credentials</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataCatalogCustomEndpoint">dataCatalogCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataflowCustomEndpoint">dataflowCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataFusionCustomEndpoint">dataFusionCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataLossPreventionCustomEndpoint">dataLossPreventionCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataplexCustomEndpoint">dataplexCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataprocCustomEndpoint">dataprocCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dataprocMetastoreCustomEndpoint">dataprocMetastoreCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.datastoreCustomEndpoint">datastoreCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.deploymentManagerCustomEndpoint">deploymentManagerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dialogflowCustomEndpoint">dialogflowCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dialogflowCxCustomEndpoint">dialogflowCxCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.dnsCustomEndpoint">dnsCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.documentAiCustomEndpoint">documentAiCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.essentialContactsCustomEndpoint">essentialContactsCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.eventarcCustomEndpoint">eventarcCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.filestoreCustomEndpoint">filestoreCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.firebaserulesCustomEndpoint">firebaserulesCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.firestoreCustomEndpoint">firestoreCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.gameServicesCustomEndpoint">gameServicesCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.gkeHubCustomEndpoint">gkeHubCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.healthcareCustomEndpoint">healthcareCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.iamBetaCustomEndpoint">iamBetaCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.iamCredentialsCustomEndpoint">iamCredentialsCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.iamCustomEndpoint">iamCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.iapCustomEndpoint">iapCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.identityPlatformCustomEndpoint">identityPlatformCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.impersonateServiceAccount">impersonateServiceAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.impersonateServiceAccountDelegates">impersonateServiceAccountDelegates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.kmsCustomEndpoint">kmsCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.loggingCustomEndpoint">loggingCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.memcacheCustomEndpoint">memcacheCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.mlEngineCustomEndpoint">mlEngineCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.monitoringCustomEndpoint">monitoringCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.networkConnectivityCustomEndpoint">networkConnectivityCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.networkManagementCustomEndpoint">networkManagementCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.networkServicesCustomEndpoint">networkServicesCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.notebooksCustomEndpoint">notebooksCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.orgPolicyCustomEndpoint">orgPolicyCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.osConfigCustomEndpoint">osConfigCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.osLoginCustomEndpoint">osLoginCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.privatecaCustomEndpoint">privatecaCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.pubsubCustomEndpoint">pubsubCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.pubsubLiteCustomEndpoint">pubsubLiteCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.recaptchaEnterpriseCustomEndpoint">recaptchaEnterpriseCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.redisCustomEndpoint">redisCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.requestReason">requestReason</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.requestTimeout">requestTimeout</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.resourceManagerCustomEndpoint">resourceManagerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.resourceManagerV3CustomEndpoint">resourceManagerV3CustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.scopes">scopes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.secretManagerCustomEndpoint">secretManagerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.securityCenterCustomEndpoint">securityCenterCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.serviceManagementCustomEndpoint">serviceManagementCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.serviceNetworkingCustomEndpoint">serviceNetworkingCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.serviceUsageCustomEndpoint">serviceUsageCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.sourceRepoCustomEndpoint">sourceRepoCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.spannerCustomEndpoint">spannerCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.sqlCustomEndpoint">sqlCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.storageCustomEndpoint">storageCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.storageTransferCustomEndpoint">storageTransferCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.tagsCustomEndpoint">tagsCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.tpuCustomEndpoint">tpuCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.userProjectOverride">userProjectOverride</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.vertexAiCustomEndpoint">vertexAiCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.vpcAccessCustomEndpoint">vpcAccessCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.workflowsCustomEndpoint">workflowsCustomEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.GoogleProvider.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.GoogleProvider.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.GoogleProvider.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.GoogleProvider.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `metaAttributes`<sup>Required</sup> <a name="metaAttributes" id="@dschmidt/provider-google.GoogleProvider.property.metaAttributes"></a>

```typescript
public readonly metaAttributes: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.GoogleProvider.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.GoogleProvider.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `terraformProviderSource`<sup>Optional</sup> <a name="terraformProviderSource" id="@dschmidt/provider-google.GoogleProvider.property.terraformProviderSource"></a>

```typescript
public readonly terraformProviderSource: string;
```

- *Type:* string

---

##### `alias`<sup>Optional</sup> <a name="alias" id="@dschmidt/provider-google.GoogleProvider.property.alias"></a>

```typescript
public readonly alias: string;
```

- *Type:* string

---

##### `accessApprovalCustomEndpointInput`<sup>Optional</sup> <a name="accessApprovalCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.accessApprovalCustomEndpointInput"></a>

```typescript
public readonly accessApprovalCustomEndpointInput: string;
```

- *Type:* string

---

##### `accessContextManagerCustomEndpointInput`<sup>Optional</sup> <a name="accessContextManagerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.accessContextManagerCustomEndpointInput"></a>

```typescript
public readonly accessContextManagerCustomEndpointInput: string;
```

- *Type:* string

---

##### `accessTokenInput`<sup>Optional</sup> <a name="accessTokenInput" id="@dschmidt/provider-google.GoogleProvider.property.accessTokenInput"></a>

```typescript
public readonly accessTokenInput: string;
```

- *Type:* string

---

##### `activeDirectoryCustomEndpointInput`<sup>Optional</sup> <a name="activeDirectoryCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.activeDirectoryCustomEndpointInput"></a>

```typescript
public readonly activeDirectoryCustomEndpointInput: string;
```

- *Type:* string

---

##### `aliasInput`<sup>Optional</sup> <a name="aliasInput" id="@dschmidt/provider-google.GoogleProvider.property.aliasInput"></a>

```typescript
public readonly aliasInput: string;
```

- *Type:* string

---

##### `apigeeCustomEndpointInput`<sup>Optional</sup> <a name="apigeeCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.apigeeCustomEndpointInput"></a>

```typescript
public readonly apigeeCustomEndpointInput: string;
```

- *Type:* string

---

##### `apikeysCustomEndpointInput`<sup>Optional</sup> <a name="apikeysCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.apikeysCustomEndpointInput"></a>

```typescript
public readonly apikeysCustomEndpointInput: string;
```

- *Type:* string

---

##### `appEngineCustomEndpointInput`<sup>Optional</sup> <a name="appEngineCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.appEngineCustomEndpointInput"></a>

```typescript
public readonly appEngineCustomEndpointInput: string;
```

- *Type:* string

---

##### `artifactRegistryCustomEndpointInput`<sup>Optional</sup> <a name="artifactRegistryCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.artifactRegistryCustomEndpointInput"></a>

```typescript
public readonly artifactRegistryCustomEndpointInput: string;
```

- *Type:* string

---

##### `assuredWorkloadsCustomEndpointInput`<sup>Optional</sup> <a name="assuredWorkloadsCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.assuredWorkloadsCustomEndpointInput"></a>

```typescript
public readonly assuredWorkloadsCustomEndpointInput: string;
```

- *Type:* string

---

##### `batchingInput`<sup>Optional</sup> <a name="batchingInput" id="@dschmidt/provider-google.GoogleProvider.property.batchingInput"></a>

```typescript
public readonly batchingInput: GoogleProviderBatching;
```

- *Type:* <a href="#@dschmidt/provider-google.GoogleProviderBatching">GoogleProviderBatching</a>

---

##### `bigqueryConnectionCustomEndpointInput`<sup>Optional</sup> <a name="bigqueryConnectionCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.bigqueryConnectionCustomEndpointInput"></a>

```typescript
public readonly bigqueryConnectionCustomEndpointInput: string;
```

- *Type:* string

---

##### `bigQueryCustomEndpointInput`<sup>Optional</sup> <a name="bigQueryCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.bigQueryCustomEndpointInput"></a>

```typescript
public readonly bigQueryCustomEndpointInput: string;
```

- *Type:* string

---

##### `bigqueryDataTransferCustomEndpointInput`<sup>Optional</sup> <a name="bigqueryDataTransferCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.bigqueryDataTransferCustomEndpointInput"></a>

```typescript
public readonly bigqueryDataTransferCustomEndpointInput: string;
```

- *Type:* string

---

##### `bigqueryReservationCustomEndpointInput`<sup>Optional</sup> <a name="bigqueryReservationCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.bigqueryReservationCustomEndpointInput"></a>

```typescript
public readonly bigqueryReservationCustomEndpointInput: string;
```

- *Type:* string

---

##### `bigtableCustomEndpointInput`<sup>Optional</sup> <a name="bigtableCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.bigtableCustomEndpointInput"></a>

```typescript
public readonly bigtableCustomEndpointInput: string;
```

- *Type:* string

---

##### `billingCustomEndpointInput`<sup>Optional</sup> <a name="billingCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.billingCustomEndpointInput"></a>

```typescript
public readonly billingCustomEndpointInput: string;
```

- *Type:* string

---

##### `billingProjectInput`<sup>Optional</sup> <a name="billingProjectInput" id="@dschmidt/provider-google.GoogleProvider.property.billingProjectInput"></a>

```typescript
public readonly billingProjectInput: string;
```

- *Type:* string

---

##### `binaryAuthorizationCustomEndpointInput`<sup>Optional</sup> <a name="binaryAuthorizationCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.binaryAuthorizationCustomEndpointInput"></a>

```typescript
public readonly binaryAuthorizationCustomEndpointInput: string;
```

- *Type:* string

---

##### `certificateManagerCustomEndpointInput`<sup>Optional</sup> <a name="certificateManagerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.certificateManagerCustomEndpointInput"></a>

```typescript
public readonly certificateManagerCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudAssetCustomEndpointInput`<sup>Optional</sup> <a name="cloudAssetCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudAssetCustomEndpointInput"></a>

```typescript
public readonly cloudAssetCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudBillingCustomEndpointInput`<sup>Optional</sup> <a name="cloudBillingCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudBillingCustomEndpointInput"></a>

```typescript
public readonly cloudBillingCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudBuildCustomEndpointInput`<sup>Optional</sup> <a name="cloudBuildCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudBuildCustomEndpointInput"></a>

```typescript
public readonly cloudBuildCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudBuildWorkerPoolCustomEndpointInput`<sup>Optional</sup> <a name="cloudBuildWorkerPoolCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudBuildWorkerPoolCustomEndpointInput"></a>

```typescript
public readonly cloudBuildWorkerPoolCustomEndpointInput: string;
```

- *Type:* string

---

##### `clouddeployCustomEndpointInput`<sup>Optional</sup> <a name="clouddeployCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.clouddeployCustomEndpointInput"></a>

```typescript
public readonly clouddeployCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudfunctions2CustomEndpointInput`<sup>Optional</sup> <a name="cloudfunctions2CustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudfunctions2CustomEndpointInput"></a>

```typescript
public readonly cloudfunctions2CustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudFunctionsCustomEndpointInput`<sup>Optional</sup> <a name="cloudFunctionsCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudFunctionsCustomEndpointInput"></a>

```typescript
public readonly cloudFunctionsCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudIdentityCustomEndpointInput`<sup>Optional</sup> <a name="cloudIdentityCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudIdentityCustomEndpointInput"></a>

```typescript
public readonly cloudIdentityCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudIotCustomEndpointInput`<sup>Optional</sup> <a name="cloudIotCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudIotCustomEndpointInput"></a>

```typescript
public readonly cloudIotCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudResourceManagerCustomEndpointInput`<sup>Optional</sup> <a name="cloudResourceManagerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudResourceManagerCustomEndpointInput"></a>

```typescript
public readonly cloudResourceManagerCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudRunCustomEndpointInput`<sup>Optional</sup> <a name="cloudRunCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudRunCustomEndpointInput"></a>

```typescript
public readonly cloudRunCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudSchedulerCustomEndpointInput`<sup>Optional</sup> <a name="cloudSchedulerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudSchedulerCustomEndpointInput"></a>

```typescript
public readonly cloudSchedulerCustomEndpointInput: string;
```

- *Type:* string

---

##### `cloudTasksCustomEndpointInput`<sup>Optional</sup> <a name="cloudTasksCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.cloudTasksCustomEndpointInput"></a>

```typescript
public readonly cloudTasksCustomEndpointInput: string;
```

- *Type:* string

---

##### `composerCustomEndpointInput`<sup>Optional</sup> <a name="composerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.composerCustomEndpointInput"></a>

```typescript
public readonly composerCustomEndpointInput: string;
```

- *Type:* string

---

##### `computeCustomEndpointInput`<sup>Optional</sup> <a name="computeCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.computeCustomEndpointInput"></a>

```typescript
public readonly computeCustomEndpointInput: string;
```

- *Type:* string

---

##### `containerAnalysisCustomEndpointInput`<sup>Optional</sup> <a name="containerAnalysisCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.containerAnalysisCustomEndpointInput"></a>

```typescript
public readonly containerAnalysisCustomEndpointInput: string;
```

- *Type:* string

---

##### `containerAwsCustomEndpointInput`<sup>Optional</sup> <a name="containerAwsCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.containerAwsCustomEndpointInput"></a>

```typescript
public readonly containerAwsCustomEndpointInput: string;
```

- *Type:* string

---

##### `containerAzureCustomEndpointInput`<sup>Optional</sup> <a name="containerAzureCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.containerAzureCustomEndpointInput"></a>

```typescript
public readonly containerAzureCustomEndpointInput: string;
```

- *Type:* string

---

##### `containerCustomEndpointInput`<sup>Optional</sup> <a name="containerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.containerCustomEndpointInput"></a>

```typescript
public readonly containerCustomEndpointInput: string;
```

- *Type:* string

---

##### `credentialsInput`<sup>Optional</sup> <a name="credentialsInput" id="@dschmidt/provider-google.GoogleProvider.property.credentialsInput"></a>

```typescript
public readonly credentialsInput: string;
```

- *Type:* string

---

##### `dataCatalogCustomEndpointInput`<sup>Optional</sup> <a name="dataCatalogCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dataCatalogCustomEndpointInput"></a>

```typescript
public readonly dataCatalogCustomEndpointInput: string;
```

- *Type:* string

---

##### `dataflowCustomEndpointInput`<sup>Optional</sup> <a name="dataflowCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dataflowCustomEndpointInput"></a>

```typescript
public readonly dataflowCustomEndpointInput: string;
```

- *Type:* string

---

##### `dataFusionCustomEndpointInput`<sup>Optional</sup> <a name="dataFusionCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dataFusionCustomEndpointInput"></a>

```typescript
public readonly dataFusionCustomEndpointInput: string;
```

- *Type:* string

---

##### `dataLossPreventionCustomEndpointInput`<sup>Optional</sup> <a name="dataLossPreventionCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dataLossPreventionCustomEndpointInput"></a>

```typescript
public readonly dataLossPreventionCustomEndpointInput: string;
```

- *Type:* string

---

##### `dataplexCustomEndpointInput`<sup>Optional</sup> <a name="dataplexCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dataplexCustomEndpointInput"></a>

```typescript
public readonly dataplexCustomEndpointInput: string;
```

- *Type:* string

---

##### `dataprocCustomEndpointInput`<sup>Optional</sup> <a name="dataprocCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dataprocCustomEndpointInput"></a>

```typescript
public readonly dataprocCustomEndpointInput: string;
```

- *Type:* string

---

##### `dataprocMetastoreCustomEndpointInput`<sup>Optional</sup> <a name="dataprocMetastoreCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dataprocMetastoreCustomEndpointInput"></a>

```typescript
public readonly dataprocMetastoreCustomEndpointInput: string;
```

- *Type:* string

---

##### `datastoreCustomEndpointInput`<sup>Optional</sup> <a name="datastoreCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.datastoreCustomEndpointInput"></a>

```typescript
public readonly datastoreCustomEndpointInput: string;
```

- *Type:* string

---

##### `deploymentManagerCustomEndpointInput`<sup>Optional</sup> <a name="deploymentManagerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.deploymentManagerCustomEndpointInput"></a>

```typescript
public readonly deploymentManagerCustomEndpointInput: string;
```

- *Type:* string

---

##### `dialogflowCustomEndpointInput`<sup>Optional</sup> <a name="dialogflowCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dialogflowCustomEndpointInput"></a>

```typescript
public readonly dialogflowCustomEndpointInput: string;
```

- *Type:* string

---

##### `dialogflowCxCustomEndpointInput`<sup>Optional</sup> <a name="dialogflowCxCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dialogflowCxCustomEndpointInput"></a>

```typescript
public readonly dialogflowCxCustomEndpointInput: string;
```

- *Type:* string

---

##### `dnsCustomEndpointInput`<sup>Optional</sup> <a name="dnsCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.dnsCustomEndpointInput"></a>

```typescript
public readonly dnsCustomEndpointInput: string;
```

- *Type:* string

---

##### `documentAiCustomEndpointInput`<sup>Optional</sup> <a name="documentAiCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.documentAiCustomEndpointInput"></a>

```typescript
public readonly documentAiCustomEndpointInput: string;
```

- *Type:* string

---

##### `essentialContactsCustomEndpointInput`<sup>Optional</sup> <a name="essentialContactsCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.essentialContactsCustomEndpointInput"></a>

```typescript
public readonly essentialContactsCustomEndpointInput: string;
```

- *Type:* string

---

##### `eventarcCustomEndpointInput`<sup>Optional</sup> <a name="eventarcCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.eventarcCustomEndpointInput"></a>

```typescript
public readonly eventarcCustomEndpointInput: string;
```

- *Type:* string

---

##### `filestoreCustomEndpointInput`<sup>Optional</sup> <a name="filestoreCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.filestoreCustomEndpointInput"></a>

```typescript
public readonly filestoreCustomEndpointInput: string;
```

- *Type:* string

---

##### `firebaserulesCustomEndpointInput`<sup>Optional</sup> <a name="firebaserulesCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.firebaserulesCustomEndpointInput"></a>

```typescript
public readonly firebaserulesCustomEndpointInput: string;
```

- *Type:* string

---

##### `firestoreCustomEndpointInput`<sup>Optional</sup> <a name="firestoreCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.firestoreCustomEndpointInput"></a>

```typescript
public readonly firestoreCustomEndpointInput: string;
```

- *Type:* string

---

##### `gameServicesCustomEndpointInput`<sup>Optional</sup> <a name="gameServicesCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.gameServicesCustomEndpointInput"></a>

```typescript
public readonly gameServicesCustomEndpointInput: string;
```

- *Type:* string

---

##### `gkeHubCustomEndpointInput`<sup>Optional</sup> <a name="gkeHubCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.gkeHubCustomEndpointInput"></a>

```typescript
public readonly gkeHubCustomEndpointInput: string;
```

- *Type:* string

---

##### `healthcareCustomEndpointInput`<sup>Optional</sup> <a name="healthcareCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.healthcareCustomEndpointInput"></a>

```typescript
public readonly healthcareCustomEndpointInput: string;
```

- *Type:* string

---

##### `iamBetaCustomEndpointInput`<sup>Optional</sup> <a name="iamBetaCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.iamBetaCustomEndpointInput"></a>

```typescript
public readonly iamBetaCustomEndpointInput: string;
```

- *Type:* string

---

##### `iamCredentialsCustomEndpointInput`<sup>Optional</sup> <a name="iamCredentialsCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.iamCredentialsCustomEndpointInput"></a>

```typescript
public readonly iamCredentialsCustomEndpointInput: string;
```

- *Type:* string

---

##### `iamCustomEndpointInput`<sup>Optional</sup> <a name="iamCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.iamCustomEndpointInput"></a>

```typescript
public readonly iamCustomEndpointInput: string;
```

- *Type:* string

---

##### `iapCustomEndpointInput`<sup>Optional</sup> <a name="iapCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.iapCustomEndpointInput"></a>

```typescript
public readonly iapCustomEndpointInput: string;
```

- *Type:* string

---

##### `identityPlatformCustomEndpointInput`<sup>Optional</sup> <a name="identityPlatformCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.identityPlatformCustomEndpointInput"></a>

```typescript
public readonly identityPlatformCustomEndpointInput: string;
```

- *Type:* string

---

##### `impersonateServiceAccountDelegatesInput`<sup>Optional</sup> <a name="impersonateServiceAccountDelegatesInput" id="@dschmidt/provider-google.GoogleProvider.property.impersonateServiceAccountDelegatesInput"></a>

```typescript
public readonly impersonateServiceAccountDelegatesInput: string[];
```

- *Type:* string[]

---

##### `impersonateServiceAccountInput`<sup>Optional</sup> <a name="impersonateServiceAccountInput" id="@dschmidt/provider-google.GoogleProvider.property.impersonateServiceAccountInput"></a>

```typescript
public readonly impersonateServiceAccountInput: string;
```

- *Type:* string

---

##### `kmsCustomEndpointInput`<sup>Optional</sup> <a name="kmsCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.kmsCustomEndpointInput"></a>

```typescript
public readonly kmsCustomEndpointInput: string;
```

- *Type:* string

---

##### `loggingCustomEndpointInput`<sup>Optional</sup> <a name="loggingCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.loggingCustomEndpointInput"></a>

```typescript
public readonly loggingCustomEndpointInput: string;
```

- *Type:* string

---

##### `memcacheCustomEndpointInput`<sup>Optional</sup> <a name="memcacheCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.memcacheCustomEndpointInput"></a>

```typescript
public readonly memcacheCustomEndpointInput: string;
```

- *Type:* string

---

##### `mlEngineCustomEndpointInput`<sup>Optional</sup> <a name="mlEngineCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.mlEngineCustomEndpointInput"></a>

```typescript
public readonly mlEngineCustomEndpointInput: string;
```

- *Type:* string

---

##### `monitoringCustomEndpointInput`<sup>Optional</sup> <a name="monitoringCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.monitoringCustomEndpointInput"></a>

```typescript
public readonly monitoringCustomEndpointInput: string;
```

- *Type:* string

---

##### `networkConnectivityCustomEndpointInput`<sup>Optional</sup> <a name="networkConnectivityCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.networkConnectivityCustomEndpointInput"></a>

```typescript
public readonly networkConnectivityCustomEndpointInput: string;
```

- *Type:* string

---

##### `networkManagementCustomEndpointInput`<sup>Optional</sup> <a name="networkManagementCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.networkManagementCustomEndpointInput"></a>

```typescript
public readonly networkManagementCustomEndpointInput: string;
```

- *Type:* string

---

##### `networkServicesCustomEndpointInput`<sup>Optional</sup> <a name="networkServicesCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.networkServicesCustomEndpointInput"></a>

```typescript
public readonly networkServicesCustomEndpointInput: string;
```

- *Type:* string

---

##### `notebooksCustomEndpointInput`<sup>Optional</sup> <a name="notebooksCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.notebooksCustomEndpointInput"></a>

```typescript
public readonly notebooksCustomEndpointInput: string;
```

- *Type:* string

---

##### `orgPolicyCustomEndpointInput`<sup>Optional</sup> <a name="orgPolicyCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.orgPolicyCustomEndpointInput"></a>

```typescript
public readonly orgPolicyCustomEndpointInput: string;
```

- *Type:* string

---

##### `osConfigCustomEndpointInput`<sup>Optional</sup> <a name="osConfigCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.osConfigCustomEndpointInput"></a>

```typescript
public readonly osConfigCustomEndpointInput: string;
```

- *Type:* string

---

##### `osLoginCustomEndpointInput`<sup>Optional</sup> <a name="osLoginCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.osLoginCustomEndpointInput"></a>

```typescript
public readonly osLoginCustomEndpointInput: string;
```

- *Type:* string

---

##### `privatecaCustomEndpointInput`<sup>Optional</sup> <a name="privatecaCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.privatecaCustomEndpointInput"></a>

```typescript
public readonly privatecaCustomEndpointInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.GoogleProvider.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `pubsubCustomEndpointInput`<sup>Optional</sup> <a name="pubsubCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.pubsubCustomEndpointInput"></a>

```typescript
public readonly pubsubCustomEndpointInput: string;
```

- *Type:* string

---

##### `pubsubLiteCustomEndpointInput`<sup>Optional</sup> <a name="pubsubLiteCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.pubsubLiteCustomEndpointInput"></a>

```typescript
public readonly pubsubLiteCustomEndpointInput: string;
```

- *Type:* string

---

##### `recaptchaEnterpriseCustomEndpointInput`<sup>Optional</sup> <a name="recaptchaEnterpriseCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.recaptchaEnterpriseCustomEndpointInput"></a>

```typescript
public readonly recaptchaEnterpriseCustomEndpointInput: string;
```

- *Type:* string

---

##### `redisCustomEndpointInput`<sup>Optional</sup> <a name="redisCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.redisCustomEndpointInput"></a>

```typescript
public readonly redisCustomEndpointInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.GoogleProvider.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `requestReasonInput`<sup>Optional</sup> <a name="requestReasonInput" id="@dschmidt/provider-google.GoogleProvider.property.requestReasonInput"></a>

```typescript
public readonly requestReasonInput: string;
```

- *Type:* string

---

##### `requestTimeoutInput`<sup>Optional</sup> <a name="requestTimeoutInput" id="@dschmidt/provider-google.GoogleProvider.property.requestTimeoutInput"></a>

```typescript
public readonly requestTimeoutInput: string;
```

- *Type:* string

---

##### `resourceManagerCustomEndpointInput`<sup>Optional</sup> <a name="resourceManagerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.resourceManagerCustomEndpointInput"></a>

```typescript
public readonly resourceManagerCustomEndpointInput: string;
```

- *Type:* string

---

##### `resourceManagerV3CustomEndpointInput`<sup>Optional</sup> <a name="resourceManagerV3CustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.resourceManagerV3CustomEndpointInput"></a>

```typescript
public readonly resourceManagerV3CustomEndpointInput: string;
```

- *Type:* string

---

##### `scopesInput`<sup>Optional</sup> <a name="scopesInput" id="@dschmidt/provider-google.GoogleProvider.property.scopesInput"></a>

```typescript
public readonly scopesInput: string[];
```

- *Type:* string[]

---

##### `secretManagerCustomEndpointInput`<sup>Optional</sup> <a name="secretManagerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.secretManagerCustomEndpointInput"></a>

```typescript
public readonly secretManagerCustomEndpointInput: string;
```

- *Type:* string

---

##### `securityCenterCustomEndpointInput`<sup>Optional</sup> <a name="securityCenterCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.securityCenterCustomEndpointInput"></a>

```typescript
public readonly securityCenterCustomEndpointInput: string;
```

- *Type:* string

---

##### `serviceManagementCustomEndpointInput`<sup>Optional</sup> <a name="serviceManagementCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.serviceManagementCustomEndpointInput"></a>

```typescript
public readonly serviceManagementCustomEndpointInput: string;
```

- *Type:* string

---

##### `serviceNetworkingCustomEndpointInput`<sup>Optional</sup> <a name="serviceNetworkingCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.serviceNetworkingCustomEndpointInput"></a>

```typescript
public readonly serviceNetworkingCustomEndpointInput: string;
```

- *Type:* string

---

##### `serviceUsageCustomEndpointInput`<sup>Optional</sup> <a name="serviceUsageCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.serviceUsageCustomEndpointInput"></a>

```typescript
public readonly serviceUsageCustomEndpointInput: string;
```

- *Type:* string

---

##### `sourceRepoCustomEndpointInput`<sup>Optional</sup> <a name="sourceRepoCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.sourceRepoCustomEndpointInput"></a>

```typescript
public readonly sourceRepoCustomEndpointInput: string;
```

- *Type:* string

---

##### `spannerCustomEndpointInput`<sup>Optional</sup> <a name="spannerCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.spannerCustomEndpointInput"></a>

```typescript
public readonly spannerCustomEndpointInput: string;
```

- *Type:* string

---

##### `sqlCustomEndpointInput`<sup>Optional</sup> <a name="sqlCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.sqlCustomEndpointInput"></a>

```typescript
public readonly sqlCustomEndpointInput: string;
```

- *Type:* string

---

##### `storageCustomEndpointInput`<sup>Optional</sup> <a name="storageCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.storageCustomEndpointInput"></a>

```typescript
public readonly storageCustomEndpointInput: string;
```

- *Type:* string

---

##### `storageTransferCustomEndpointInput`<sup>Optional</sup> <a name="storageTransferCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.storageTransferCustomEndpointInput"></a>

```typescript
public readonly storageTransferCustomEndpointInput: string;
```

- *Type:* string

---

##### `tagsCustomEndpointInput`<sup>Optional</sup> <a name="tagsCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.tagsCustomEndpointInput"></a>

```typescript
public readonly tagsCustomEndpointInput: string;
```

- *Type:* string

---

##### `tpuCustomEndpointInput`<sup>Optional</sup> <a name="tpuCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.tpuCustomEndpointInput"></a>

```typescript
public readonly tpuCustomEndpointInput: string;
```

- *Type:* string

---

##### `userProjectOverrideInput`<sup>Optional</sup> <a name="userProjectOverrideInput" id="@dschmidt/provider-google.GoogleProvider.property.userProjectOverrideInput"></a>

```typescript
public readonly userProjectOverrideInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `vertexAiCustomEndpointInput`<sup>Optional</sup> <a name="vertexAiCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.vertexAiCustomEndpointInput"></a>

```typescript
public readonly vertexAiCustomEndpointInput: string;
```

- *Type:* string

---

##### `vpcAccessCustomEndpointInput`<sup>Optional</sup> <a name="vpcAccessCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.vpcAccessCustomEndpointInput"></a>

```typescript
public readonly vpcAccessCustomEndpointInput: string;
```

- *Type:* string

---

##### `workflowsCustomEndpointInput`<sup>Optional</sup> <a name="workflowsCustomEndpointInput" id="@dschmidt/provider-google.GoogleProvider.property.workflowsCustomEndpointInput"></a>

```typescript
public readonly workflowsCustomEndpointInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.GoogleProvider.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `accessApprovalCustomEndpoint`<sup>Optional</sup> <a name="accessApprovalCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.accessApprovalCustomEndpoint"></a>

```typescript
public readonly accessApprovalCustomEndpoint: string;
```

- *Type:* string

---

##### `accessContextManagerCustomEndpoint`<sup>Optional</sup> <a name="accessContextManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.accessContextManagerCustomEndpoint"></a>

```typescript
public readonly accessContextManagerCustomEndpoint: string;
```

- *Type:* string

---

##### `accessToken`<sup>Optional</sup> <a name="accessToken" id="@dschmidt/provider-google.GoogleProvider.property.accessToken"></a>

```typescript
public readonly accessToken: string;
```

- *Type:* string

---

##### `activeDirectoryCustomEndpoint`<sup>Optional</sup> <a name="activeDirectoryCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.activeDirectoryCustomEndpoint"></a>

```typescript
public readonly activeDirectoryCustomEndpoint: string;
```

- *Type:* string

---

##### `apigeeCustomEndpoint`<sup>Optional</sup> <a name="apigeeCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.apigeeCustomEndpoint"></a>

```typescript
public readonly apigeeCustomEndpoint: string;
```

- *Type:* string

---

##### `apikeysCustomEndpoint`<sup>Optional</sup> <a name="apikeysCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.apikeysCustomEndpoint"></a>

```typescript
public readonly apikeysCustomEndpoint: string;
```

- *Type:* string

---

##### `appEngineCustomEndpoint`<sup>Optional</sup> <a name="appEngineCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.appEngineCustomEndpoint"></a>

```typescript
public readonly appEngineCustomEndpoint: string;
```

- *Type:* string

---

##### `artifactRegistryCustomEndpoint`<sup>Optional</sup> <a name="artifactRegistryCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.artifactRegistryCustomEndpoint"></a>

```typescript
public readonly artifactRegistryCustomEndpoint: string;
```

- *Type:* string

---

##### `assuredWorkloadsCustomEndpoint`<sup>Optional</sup> <a name="assuredWorkloadsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.assuredWorkloadsCustomEndpoint"></a>

```typescript
public readonly assuredWorkloadsCustomEndpoint: string;
```

- *Type:* string

---

##### `batching`<sup>Optional</sup> <a name="batching" id="@dschmidt/provider-google.GoogleProvider.property.batching"></a>

```typescript
public readonly batching: GoogleProviderBatching;
```

- *Type:* <a href="#@dschmidt/provider-google.GoogleProviderBatching">GoogleProviderBatching</a>

---

##### `bigqueryConnectionCustomEndpoint`<sup>Optional</sup> <a name="bigqueryConnectionCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.bigqueryConnectionCustomEndpoint"></a>

```typescript
public readonly bigqueryConnectionCustomEndpoint: string;
```

- *Type:* string

---

##### `bigQueryCustomEndpoint`<sup>Optional</sup> <a name="bigQueryCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.bigQueryCustomEndpoint"></a>

```typescript
public readonly bigQueryCustomEndpoint: string;
```

- *Type:* string

---

##### `bigqueryDataTransferCustomEndpoint`<sup>Optional</sup> <a name="bigqueryDataTransferCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.bigqueryDataTransferCustomEndpoint"></a>

```typescript
public readonly bigqueryDataTransferCustomEndpoint: string;
```

- *Type:* string

---

##### `bigqueryReservationCustomEndpoint`<sup>Optional</sup> <a name="bigqueryReservationCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.bigqueryReservationCustomEndpoint"></a>

```typescript
public readonly bigqueryReservationCustomEndpoint: string;
```

- *Type:* string

---

##### `bigtableCustomEndpoint`<sup>Optional</sup> <a name="bigtableCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.bigtableCustomEndpoint"></a>

```typescript
public readonly bigtableCustomEndpoint: string;
```

- *Type:* string

---

##### `billingCustomEndpoint`<sup>Optional</sup> <a name="billingCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.billingCustomEndpoint"></a>

```typescript
public readonly billingCustomEndpoint: string;
```

- *Type:* string

---

##### `billingProject`<sup>Optional</sup> <a name="billingProject" id="@dschmidt/provider-google.GoogleProvider.property.billingProject"></a>

```typescript
public readonly billingProject: string;
```

- *Type:* string

---

##### `binaryAuthorizationCustomEndpoint`<sup>Optional</sup> <a name="binaryAuthorizationCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.binaryAuthorizationCustomEndpoint"></a>

```typescript
public readonly binaryAuthorizationCustomEndpoint: string;
```

- *Type:* string

---

##### `certificateManagerCustomEndpoint`<sup>Optional</sup> <a name="certificateManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.certificateManagerCustomEndpoint"></a>

```typescript
public readonly certificateManagerCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudAssetCustomEndpoint`<sup>Optional</sup> <a name="cloudAssetCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudAssetCustomEndpoint"></a>

```typescript
public readonly cloudAssetCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudBillingCustomEndpoint`<sup>Optional</sup> <a name="cloudBillingCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudBillingCustomEndpoint"></a>

```typescript
public readonly cloudBillingCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudBuildCustomEndpoint`<sup>Optional</sup> <a name="cloudBuildCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudBuildCustomEndpoint"></a>

```typescript
public readonly cloudBuildCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudBuildWorkerPoolCustomEndpoint`<sup>Optional</sup> <a name="cloudBuildWorkerPoolCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudBuildWorkerPoolCustomEndpoint"></a>

```typescript
public readonly cloudBuildWorkerPoolCustomEndpoint: string;
```

- *Type:* string

---

##### `clouddeployCustomEndpoint`<sup>Optional</sup> <a name="clouddeployCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.clouddeployCustomEndpoint"></a>

```typescript
public readonly clouddeployCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudfunctions2CustomEndpoint`<sup>Optional</sup> <a name="cloudfunctions2CustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudfunctions2CustomEndpoint"></a>

```typescript
public readonly cloudfunctions2CustomEndpoint: string;
```

- *Type:* string

---

##### `cloudFunctionsCustomEndpoint`<sup>Optional</sup> <a name="cloudFunctionsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudFunctionsCustomEndpoint"></a>

```typescript
public readonly cloudFunctionsCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudIdentityCustomEndpoint`<sup>Optional</sup> <a name="cloudIdentityCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudIdentityCustomEndpoint"></a>

```typescript
public readonly cloudIdentityCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudIotCustomEndpoint`<sup>Optional</sup> <a name="cloudIotCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudIotCustomEndpoint"></a>

```typescript
public readonly cloudIotCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudResourceManagerCustomEndpoint`<sup>Optional</sup> <a name="cloudResourceManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudResourceManagerCustomEndpoint"></a>

```typescript
public readonly cloudResourceManagerCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudRunCustomEndpoint`<sup>Optional</sup> <a name="cloudRunCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudRunCustomEndpoint"></a>

```typescript
public readonly cloudRunCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudSchedulerCustomEndpoint`<sup>Optional</sup> <a name="cloudSchedulerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudSchedulerCustomEndpoint"></a>

```typescript
public readonly cloudSchedulerCustomEndpoint: string;
```

- *Type:* string

---

##### `cloudTasksCustomEndpoint`<sup>Optional</sup> <a name="cloudTasksCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.cloudTasksCustomEndpoint"></a>

```typescript
public readonly cloudTasksCustomEndpoint: string;
```

- *Type:* string

---

##### `composerCustomEndpoint`<sup>Optional</sup> <a name="composerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.composerCustomEndpoint"></a>

```typescript
public readonly composerCustomEndpoint: string;
```

- *Type:* string

---

##### `computeCustomEndpoint`<sup>Optional</sup> <a name="computeCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.computeCustomEndpoint"></a>

```typescript
public readonly computeCustomEndpoint: string;
```

- *Type:* string

---

##### `containerAnalysisCustomEndpoint`<sup>Optional</sup> <a name="containerAnalysisCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.containerAnalysisCustomEndpoint"></a>

```typescript
public readonly containerAnalysisCustomEndpoint: string;
```

- *Type:* string

---

##### `containerAwsCustomEndpoint`<sup>Optional</sup> <a name="containerAwsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.containerAwsCustomEndpoint"></a>

```typescript
public readonly containerAwsCustomEndpoint: string;
```

- *Type:* string

---

##### `containerAzureCustomEndpoint`<sup>Optional</sup> <a name="containerAzureCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.containerAzureCustomEndpoint"></a>

```typescript
public readonly containerAzureCustomEndpoint: string;
```

- *Type:* string

---

##### `containerCustomEndpoint`<sup>Optional</sup> <a name="containerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.containerCustomEndpoint"></a>

```typescript
public readonly containerCustomEndpoint: string;
```

- *Type:* string

---

##### `credentials`<sup>Optional</sup> <a name="credentials" id="@dschmidt/provider-google.GoogleProvider.property.credentials"></a>

```typescript
public readonly credentials: string;
```

- *Type:* string

---

##### `dataCatalogCustomEndpoint`<sup>Optional</sup> <a name="dataCatalogCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dataCatalogCustomEndpoint"></a>

```typescript
public readonly dataCatalogCustomEndpoint: string;
```

- *Type:* string

---

##### `dataflowCustomEndpoint`<sup>Optional</sup> <a name="dataflowCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dataflowCustomEndpoint"></a>

```typescript
public readonly dataflowCustomEndpoint: string;
```

- *Type:* string

---

##### `dataFusionCustomEndpoint`<sup>Optional</sup> <a name="dataFusionCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dataFusionCustomEndpoint"></a>

```typescript
public readonly dataFusionCustomEndpoint: string;
```

- *Type:* string

---

##### `dataLossPreventionCustomEndpoint`<sup>Optional</sup> <a name="dataLossPreventionCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dataLossPreventionCustomEndpoint"></a>

```typescript
public readonly dataLossPreventionCustomEndpoint: string;
```

- *Type:* string

---

##### `dataplexCustomEndpoint`<sup>Optional</sup> <a name="dataplexCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dataplexCustomEndpoint"></a>

```typescript
public readonly dataplexCustomEndpoint: string;
```

- *Type:* string

---

##### `dataprocCustomEndpoint`<sup>Optional</sup> <a name="dataprocCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dataprocCustomEndpoint"></a>

```typescript
public readonly dataprocCustomEndpoint: string;
```

- *Type:* string

---

##### `dataprocMetastoreCustomEndpoint`<sup>Optional</sup> <a name="dataprocMetastoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dataprocMetastoreCustomEndpoint"></a>

```typescript
public readonly dataprocMetastoreCustomEndpoint: string;
```

- *Type:* string

---

##### `datastoreCustomEndpoint`<sup>Optional</sup> <a name="datastoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.datastoreCustomEndpoint"></a>

```typescript
public readonly datastoreCustomEndpoint: string;
```

- *Type:* string

---

##### `deploymentManagerCustomEndpoint`<sup>Optional</sup> <a name="deploymentManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.deploymentManagerCustomEndpoint"></a>

```typescript
public readonly deploymentManagerCustomEndpoint: string;
```

- *Type:* string

---

##### `dialogflowCustomEndpoint`<sup>Optional</sup> <a name="dialogflowCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dialogflowCustomEndpoint"></a>

```typescript
public readonly dialogflowCustomEndpoint: string;
```

- *Type:* string

---

##### `dialogflowCxCustomEndpoint`<sup>Optional</sup> <a name="dialogflowCxCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dialogflowCxCustomEndpoint"></a>

```typescript
public readonly dialogflowCxCustomEndpoint: string;
```

- *Type:* string

---

##### `dnsCustomEndpoint`<sup>Optional</sup> <a name="dnsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.dnsCustomEndpoint"></a>

```typescript
public readonly dnsCustomEndpoint: string;
```

- *Type:* string

---

##### `documentAiCustomEndpoint`<sup>Optional</sup> <a name="documentAiCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.documentAiCustomEndpoint"></a>

```typescript
public readonly documentAiCustomEndpoint: string;
```

- *Type:* string

---

##### `essentialContactsCustomEndpoint`<sup>Optional</sup> <a name="essentialContactsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.essentialContactsCustomEndpoint"></a>

```typescript
public readonly essentialContactsCustomEndpoint: string;
```

- *Type:* string

---

##### `eventarcCustomEndpoint`<sup>Optional</sup> <a name="eventarcCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.eventarcCustomEndpoint"></a>

```typescript
public readonly eventarcCustomEndpoint: string;
```

- *Type:* string

---

##### `filestoreCustomEndpoint`<sup>Optional</sup> <a name="filestoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.filestoreCustomEndpoint"></a>

```typescript
public readonly filestoreCustomEndpoint: string;
```

- *Type:* string

---

##### `firebaserulesCustomEndpoint`<sup>Optional</sup> <a name="firebaserulesCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.firebaserulesCustomEndpoint"></a>

```typescript
public readonly firebaserulesCustomEndpoint: string;
```

- *Type:* string

---

##### `firestoreCustomEndpoint`<sup>Optional</sup> <a name="firestoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.firestoreCustomEndpoint"></a>

```typescript
public readonly firestoreCustomEndpoint: string;
```

- *Type:* string

---

##### `gameServicesCustomEndpoint`<sup>Optional</sup> <a name="gameServicesCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.gameServicesCustomEndpoint"></a>

```typescript
public readonly gameServicesCustomEndpoint: string;
```

- *Type:* string

---

##### `gkeHubCustomEndpoint`<sup>Optional</sup> <a name="gkeHubCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.gkeHubCustomEndpoint"></a>

```typescript
public readonly gkeHubCustomEndpoint: string;
```

- *Type:* string

---

##### `healthcareCustomEndpoint`<sup>Optional</sup> <a name="healthcareCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.healthcareCustomEndpoint"></a>

```typescript
public readonly healthcareCustomEndpoint: string;
```

- *Type:* string

---

##### `iamBetaCustomEndpoint`<sup>Optional</sup> <a name="iamBetaCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.iamBetaCustomEndpoint"></a>

```typescript
public readonly iamBetaCustomEndpoint: string;
```

- *Type:* string

---

##### `iamCredentialsCustomEndpoint`<sup>Optional</sup> <a name="iamCredentialsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.iamCredentialsCustomEndpoint"></a>

```typescript
public readonly iamCredentialsCustomEndpoint: string;
```

- *Type:* string

---

##### `iamCustomEndpoint`<sup>Optional</sup> <a name="iamCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.iamCustomEndpoint"></a>

```typescript
public readonly iamCustomEndpoint: string;
```

- *Type:* string

---

##### `iapCustomEndpoint`<sup>Optional</sup> <a name="iapCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.iapCustomEndpoint"></a>

```typescript
public readonly iapCustomEndpoint: string;
```

- *Type:* string

---

##### `identityPlatformCustomEndpoint`<sup>Optional</sup> <a name="identityPlatformCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.identityPlatformCustomEndpoint"></a>

```typescript
public readonly identityPlatformCustomEndpoint: string;
```

- *Type:* string

---

##### `impersonateServiceAccount`<sup>Optional</sup> <a name="impersonateServiceAccount" id="@dschmidt/provider-google.GoogleProvider.property.impersonateServiceAccount"></a>

```typescript
public readonly impersonateServiceAccount: string;
```

- *Type:* string

---

##### `impersonateServiceAccountDelegates`<sup>Optional</sup> <a name="impersonateServiceAccountDelegates" id="@dschmidt/provider-google.GoogleProvider.property.impersonateServiceAccountDelegates"></a>

```typescript
public readonly impersonateServiceAccountDelegates: string[];
```

- *Type:* string[]

---

##### `kmsCustomEndpoint`<sup>Optional</sup> <a name="kmsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.kmsCustomEndpoint"></a>

```typescript
public readonly kmsCustomEndpoint: string;
```

- *Type:* string

---

##### `loggingCustomEndpoint`<sup>Optional</sup> <a name="loggingCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.loggingCustomEndpoint"></a>

```typescript
public readonly loggingCustomEndpoint: string;
```

- *Type:* string

---

##### `memcacheCustomEndpoint`<sup>Optional</sup> <a name="memcacheCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.memcacheCustomEndpoint"></a>

```typescript
public readonly memcacheCustomEndpoint: string;
```

- *Type:* string

---

##### `mlEngineCustomEndpoint`<sup>Optional</sup> <a name="mlEngineCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.mlEngineCustomEndpoint"></a>

```typescript
public readonly mlEngineCustomEndpoint: string;
```

- *Type:* string

---

##### `monitoringCustomEndpoint`<sup>Optional</sup> <a name="monitoringCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.monitoringCustomEndpoint"></a>

```typescript
public readonly monitoringCustomEndpoint: string;
```

- *Type:* string

---

##### `networkConnectivityCustomEndpoint`<sup>Optional</sup> <a name="networkConnectivityCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.networkConnectivityCustomEndpoint"></a>

```typescript
public readonly networkConnectivityCustomEndpoint: string;
```

- *Type:* string

---

##### `networkManagementCustomEndpoint`<sup>Optional</sup> <a name="networkManagementCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.networkManagementCustomEndpoint"></a>

```typescript
public readonly networkManagementCustomEndpoint: string;
```

- *Type:* string

---

##### `networkServicesCustomEndpoint`<sup>Optional</sup> <a name="networkServicesCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.networkServicesCustomEndpoint"></a>

```typescript
public readonly networkServicesCustomEndpoint: string;
```

- *Type:* string

---

##### `notebooksCustomEndpoint`<sup>Optional</sup> <a name="notebooksCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.notebooksCustomEndpoint"></a>

```typescript
public readonly notebooksCustomEndpoint: string;
```

- *Type:* string

---

##### `orgPolicyCustomEndpoint`<sup>Optional</sup> <a name="orgPolicyCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.orgPolicyCustomEndpoint"></a>

```typescript
public readonly orgPolicyCustomEndpoint: string;
```

- *Type:* string

---

##### `osConfigCustomEndpoint`<sup>Optional</sup> <a name="osConfigCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.osConfigCustomEndpoint"></a>

```typescript
public readonly osConfigCustomEndpoint: string;
```

- *Type:* string

---

##### `osLoginCustomEndpoint`<sup>Optional</sup> <a name="osLoginCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.osLoginCustomEndpoint"></a>

```typescript
public readonly osLoginCustomEndpoint: string;
```

- *Type:* string

---

##### `privatecaCustomEndpoint`<sup>Optional</sup> <a name="privatecaCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.privatecaCustomEndpoint"></a>

```typescript
public readonly privatecaCustomEndpoint: string;
```

- *Type:* string

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GoogleProvider.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `pubsubCustomEndpoint`<sup>Optional</sup> <a name="pubsubCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.pubsubCustomEndpoint"></a>

```typescript
public readonly pubsubCustomEndpoint: string;
```

- *Type:* string

---

##### `pubsubLiteCustomEndpoint`<sup>Optional</sup> <a name="pubsubLiteCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.pubsubLiteCustomEndpoint"></a>

```typescript
public readonly pubsubLiteCustomEndpoint: string;
```

- *Type:* string

---

##### `recaptchaEnterpriseCustomEndpoint`<sup>Optional</sup> <a name="recaptchaEnterpriseCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.recaptchaEnterpriseCustomEndpoint"></a>

```typescript
public readonly recaptchaEnterpriseCustomEndpoint: string;
```

- *Type:* string

---

##### `redisCustomEndpoint`<sup>Optional</sup> <a name="redisCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.redisCustomEndpoint"></a>

```typescript
public readonly redisCustomEndpoint: string;
```

- *Type:* string

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.GoogleProvider.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `requestReason`<sup>Optional</sup> <a name="requestReason" id="@dschmidt/provider-google.GoogleProvider.property.requestReason"></a>

```typescript
public readonly requestReason: string;
```

- *Type:* string

---

##### `requestTimeout`<sup>Optional</sup> <a name="requestTimeout" id="@dschmidt/provider-google.GoogleProvider.property.requestTimeout"></a>

```typescript
public readonly requestTimeout: string;
```

- *Type:* string

---

##### `resourceManagerCustomEndpoint`<sup>Optional</sup> <a name="resourceManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.resourceManagerCustomEndpoint"></a>

```typescript
public readonly resourceManagerCustomEndpoint: string;
```

- *Type:* string

---

##### `resourceManagerV3CustomEndpoint`<sup>Optional</sup> <a name="resourceManagerV3CustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.resourceManagerV3CustomEndpoint"></a>

```typescript
public readonly resourceManagerV3CustomEndpoint: string;
```

- *Type:* string

---

##### `scopes`<sup>Optional</sup> <a name="scopes" id="@dschmidt/provider-google.GoogleProvider.property.scopes"></a>

```typescript
public readonly scopes: string[];
```

- *Type:* string[]

---

##### `secretManagerCustomEndpoint`<sup>Optional</sup> <a name="secretManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.secretManagerCustomEndpoint"></a>

```typescript
public readonly secretManagerCustomEndpoint: string;
```

- *Type:* string

---

##### `securityCenterCustomEndpoint`<sup>Optional</sup> <a name="securityCenterCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.securityCenterCustomEndpoint"></a>

```typescript
public readonly securityCenterCustomEndpoint: string;
```

- *Type:* string

---

##### `serviceManagementCustomEndpoint`<sup>Optional</sup> <a name="serviceManagementCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.serviceManagementCustomEndpoint"></a>

```typescript
public readonly serviceManagementCustomEndpoint: string;
```

- *Type:* string

---

##### `serviceNetworkingCustomEndpoint`<sup>Optional</sup> <a name="serviceNetworkingCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.serviceNetworkingCustomEndpoint"></a>

```typescript
public readonly serviceNetworkingCustomEndpoint: string;
```

- *Type:* string

---

##### `serviceUsageCustomEndpoint`<sup>Optional</sup> <a name="serviceUsageCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.serviceUsageCustomEndpoint"></a>

```typescript
public readonly serviceUsageCustomEndpoint: string;
```

- *Type:* string

---

##### `sourceRepoCustomEndpoint`<sup>Optional</sup> <a name="sourceRepoCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.sourceRepoCustomEndpoint"></a>

```typescript
public readonly sourceRepoCustomEndpoint: string;
```

- *Type:* string

---

##### `spannerCustomEndpoint`<sup>Optional</sup> <a name="spannerCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.spannerCustomEndpoint"></a>

```typescript
public readonly spannerCustomEndpoint: string;
```

- *Type:* string

---

##### `sqlCustomEndpoint`<sup>Optional</sup> <a name="sqlCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.sqlCustomEndpoint"></a>

```typescript
public readonly sqlCustomEndpoint: string;
```

- *Type:* string

---

##### `storageCustomEndpoint`<sup>Optional</sup> <a name="storageCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.storageCustomEndpoint"></a>

```typescript
public readonly storageCustomEndpoint: string;
```

- *Type:* string

---

##### `storageTransferCustomEndpoint`<sup>Optional</sup> <a name="storageTransferCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.storageTransferCustomEndpoint"></a>

```typescript
public readonly storageTransferCustomEndpoint: string;
```

- *Type:* string

---

##### `tagsCustomEndpoint`<sup>Optional</sup> <a name="tagsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.tagsCustomEndpoint"></a>

```typescript
public readonly tagsCustomEndpoint: string;
```

- *Type:* string

---

##### `tpuCustomEndpoint`<sup>Optional</sup> <a name="tpuCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.tpuCustomEndpoint"></a>

```typescript
public readonly tpuCustomEndpoint: string;
```

- *Type:* string

---

##### `userProjectOverride`<sup>Optional</sup> <a name="userProjectOverride" id="@dschmidt/provider-google.GoogleProvider.property.userProjectOverride"></a>

```typescript
public readonly userProjectOverride: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `vertexAiCustomEndpoint`<sup>Optional</sup> <a name="vertexAiCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.vertexAiCustomEndpoint"></a>

```typescript
public readonly vertexAiCustomEndpoint: string;
```

- *Type:* string

---

##### `vpcAccessCustomEndpoint`<sup>Optional</sup> <a name="vpcAccessCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.vpcAccessCustomEndpoint"></a>

```typescript
public readonly vpcAccessCustomEndpoint: string;
```

- *Type:* string

---

##### `workflowsCustomEndpoint`<sup>Optional</sup> <a name="workflowsCustomEndpoint" id="@dschmidt/provider-google.GoogleProvider.property.workflowsCustomEndpoint"></a>

```typescript
public readonly workflowsCustomEndpoint: string;
```

- *Type:* string

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.GoogleProvider.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GoogleProvider.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.GoogleProvider.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareConsentStore <a name="HealthcareConsentStore" id="@dschmidt/provider-google.HealthcareConsentStore"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store google_healthcare_consent_store}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareConsentStore.Initializer"></a>

```typescript
import { HealthcareConsentStore } from '@dschmidt/provider-google'

new HealthcareConsentStore(scope: Construct, id: string, config: HealthcareConsentStoreConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig">HealthcareConsentStoreConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareConsentStore.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStore.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareConsentStore.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig">HealthcareConsentStoreConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.resetDefaultConsentTtl">resetDefaultConsentTtl</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.resetEnableConsentCreateOnUpdate">resetEnableConsentCreateOnUpdate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareConsentStore.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareConsentStore.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareConsentStore.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareConsentStore.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareConsentStore.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareConsentStore.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareConsentStore.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareConsentStore.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareConsentStore.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStore.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.HealthcareConsentStore.putTimeouts"></a>

```typescript
public putTimeouts(value: HealthcareConsentStoreTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareConsentStore.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeouts">HealthcareConsentStoreTimeouts</a>

---

##### `resetDefaultConsentTtl` <a name="resetDefaultConsentTtl" id="@dschmidt/provider-google.HealthcareConsentStore.resetDefaultConsentTtl"></a>

```typescript
public resetDefaultConsentTtl(): void
```

##### `resetEnableConsentCreateOnUpdate` <a name="resetEnableConsentCreateOnUpdate" id="@dschmidt/provider-google.HealthcareConsentStore.resetEnableConsentCreateOnUpdate"></a>

```typescript
public resetEnableConsentCreateOnUpdate(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareConsentStore.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.HealthcareConsentStore.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.HealthcareConsentStore.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareConsentStore.isConstruct"></a>

```typescript
import { HealthcareConsentStore } from '@dschmidt/provider-google'

HealthcareConsentStore.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareConsentStore.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeoutsOutputReference">HealthcareConsentStoreTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.datasetInput">datasetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.defaultConsentTtlInput">defaultConsentTtlInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.enableConsentCreateOnUpdateInput">enableConsentCreateOnUpdateInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeouts">HealthcareConsentStoreTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.dataset">dataset</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.defaultConsentTtl">defaultConsentTtl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.enableConsentCreateOnUpdate">enableConsentCreateOnUpdate</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareConsentStore.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareConsentStore.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareConsentStore.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareConsentStore.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareConsentStore.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareConsentStore.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareConsentStore.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareConsentStore.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareConsentStore.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareConsentStore.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareConsentStore.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareConsentStore.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareConsentStore.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareConsentStore.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareConsentStore.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareConsentStoreTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeoutsOutputReference">HealthcareConsentStoreTimeoutsOutputReference</a>

---

##### `datasetInput`<sup>Optional</sup> <a name="datasetInput" id="@dschmidt/provider-google.HealthcareConsentStore.property.datasetInput"></a>

```typescript
public readonly datasetInput: string;
```

- *Type:* string

---

##### `defaultConsentTtlInput`<sup>Optional</sup> <a name="defaultConsentTtlInput" id="@dschmidt/provider-google.HealthcareConsentStore.property.defaultConsentTtlInput"></a>

```typescript
public readonly defaultConsentTtlInput: string;
```

- *Type:* string

---

##### `enableConsentCreateOnUpdateInput`<sup>Optional</sup> <a name="enableConsentCreateOnUpdateInput" id="@dschmidt/provider-google.HealthcareConsentStore.property.enableConsentCreateOnUpdateInput"></a>

```typescript
public readonly enableConsentCreateOnUpdateInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareConsentStore.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.HealthcareConsentStore.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.HealthcareConsentStore.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.HealthcareConsentStore.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | HealthcareConsentStoreTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeouts">HealthcareConsentStoreTimeouts</a>

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareConsentStore.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

---

##### `defaultConsentTtl`<sup>Required</sup> <a name="defaultConsentTtl" id="@dschmidt/provider-google.HealthcareConsentStore.property.defaultConsentTtl"></a>

```typescript
public readonly defaultConsentTtl: string;
```

- *Type:* string

---

##### `enableConsentCreateOnUpdate`<sup>Required</sup> <a name="enableConsentCreateOnUpdate" id="@dschmidt/provider-google.HealthcareConsentStore.property.enableConsentCreateOnUpdate"></a>

```typescript
public readonly enableConsentCreateOnUpdate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStore.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.HealthcareConsentStore.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareConsentStore.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStore.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareConsentStore.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareConsentStoreIamBinding <a name="HealthcareConsentStoreIamBinding" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding google_healthcare_consent_store_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.Initializer"></a>

```typescript
import { HealthcareConsentStoreIamBinding } from '@dschmidt/provider-google'

new HealthcareConsentStoreIamBinding(scope: Construct, id: string, config: HealthcareConsentStoreIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig">HealthcareConsentStoreIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig">HealthcareConsentStoreIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.putCondition"></a>

```typescript
public putCondition(value: HealthcareConsentStoreIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition">HealthcareConsentStoreIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.isConstruct"></a>

```typescript
import { HealthcareConsentStoreIamBinding } from '@dschmidt/provider-google'

HealthcareConsentStoreIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConditionOutputReference">HealthcareConsentStoreIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition">HealthcareConsentStoreIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.consentStoreIdInput">consentStoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.datasetInput">datasetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.consentStoreId">consentStoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.dataset">dataset</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.condition"></a>

```typescript
public readonly condition: HealthcareConsentStoreIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConditionOutputReference">HealthcareConsentStoreIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareConsentStoreIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition">HealthcareConsentStoreIamBindingCondition</a>

---

##### `consentStoreIdInput`<sup>Optional</sup> <a name="consentStoreIdInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.consentStoreIdInput"></a>

```typescript
public readonly consentStoreIdInput: string;
```

- *Type:* string

---

##### `datasetInput`<sup>Optional</sup> <a name="datasetInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.datasetInput"></a>

```typescript
public readonly datasetInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `consentStoreId`<sup>Required</sup> <a name="consentStoreId" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.consentStoreId"></a>

```typescript
public readonly consentStoreId: string;
```

- *Type:* string

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareConsentStoreIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareConsentStoreIamMember <a name="HealthcareConsentStoreIamMember" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member google_healthcare_consent_store_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.Initializer"></a>

```typescript
import { HealthcareConsentStoreIamMember } from '@dschmidt/provider-google'

new HealthcareConsentStoreIamMember(scope: Construct, id: string, config: HealthcareConsentStoreIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig">HealthcareConsentStoreIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig">HealthcareConsentStoreIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.putCondition"></a>

```typescript
public putCondition(value: HealthcareConsentStoreIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition">HealthcareConsentStoreIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.isConstruct"></a>

```typescript
import { HealthcareConsentStoreIamMember } from '@dschmidt/provider-google'

HealthcareConsentStoreIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConditionOutputReference">HealthcareConsentStoreIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition">HealthcareConsentStoreIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.consentStoreIdInput">consentStoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.datasetInput">datasetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.consentStoreId">consentStoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.dataset">dataset</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.condition"></a>

```typescript
public readonly condition: HealthcareConsentStoreIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConditionOutputReference">HealthcareConsentStoreIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareConsentStoreIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition">HealthcareConsentStoreIamMemberCondition</a>

---

##### `consentStoreIdInput`<sup>Optional</sup> <a name="consentStoreIdInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.consentStoreIdInput"></a>

```typescript
public readonly consentStoreIdInput: string;
```

- *Type:* string

---

##### `datasetInput`<sup>Optional</sup> <a name="datasetInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.datasetInput"></a>

```typescript
public readonly datasetInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `consentStoreId`<sup>Required</sup> <a name="consentStoreId" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.consentStoreId"></a>

```typescript
public readonly consentStoreId: string;
```

- *Type:* string

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareConsentStoreIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareConsentStoreIamPolicy <a name="HealthcareConsentStoreIamPolicy" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_policy google_healthcare_consent_store_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.Initializer"></a>

```typescript
import { HealthcareConsentStoreIamPolicy } from '@dschmidt/provider-google'

new HealthcareConsentStoreIamPolicy(scope: Construct, id: string, config: HealthcareConsentStoreIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig">HealthcareConsentStoreIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig">HealthcareConsentStoreIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.isConstruct"></a>

```typescript
import { HealthcareConsentStoreIamPolicy } from '@dschmidt/provider-google'

HealthcareConsentStoreIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.consentStoreIdInput">consentStoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.datasetInput">datasetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.consentStoreId">consentStoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.dataset">dataset</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `consentStoreIdInput`<sup>Optional</sup> <a name="consentStoreIdInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.consentStoreIdInput"></a>

```typescript
public readonly consentStoreIdInput: string;
```

- *Type:* string

---

##### `datasetInput`<sup>Optional</sup> <a name="datasetInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.datasetInput"></a>

```typescript
public readonly datasetInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `consentStoreId`<sup>Required</sup> <a name="consentStoreId" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.consentStoreId"></a>

```typescript
public readonly consentStoreId: string;
```

- *Type:* string

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareDataset <a name="HealthcareDataset" id="@dschmidt/provider-google.HealthcareDataset"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset google_healthcare_dataset}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareDataset.Initializer"></a>

```typescript
import { HealthcareDataset } from '@dschmidt/provider-google'

new HealthcareDataset(scope: Construct, id: string, config: HealthcareDatasetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig">HealthcareDatasetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareDataset.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDataset.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareDataset.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetConfig">HealthcareDatasetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.resetTimeZone">resetTimeZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareDataset.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareDataset.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareDataset.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDataset.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareDataset.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareDataset.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareDataset.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareDataset.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareDataset.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareDataset.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareDataset.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareDataset.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareDataset.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareDataset.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareDataset.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareDataset.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareDataset.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareDataset.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareDataset.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDataset.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.HealthcareDataset.putTimeouts"></a>

```typescript
public putTimeouts(value: HealthcareDatasetTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDataset.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetTimeouts">HealthcareDatasetTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareDataset.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.HealthcareDataset.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.HealthcareDataset.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTimeZone` <a name="resetTimeZone" id="@dschmidt/provider-google.HealthcareDataset.resetTimeZone"></a>

```typescript
public resetTimeZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareDataset.isConstruct"></a>

```typescript
import { HealthcareDataset } from '@dschmidt/provider-google'

HealthcareDataset.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareDataset.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetTimeoutsOutputReference">HealthcareDatasetTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.HealthcareDatasetTimeouts">HealthcareDatasetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.timeZoneInput">timeZoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.timeZone">timeZone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareDataset.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareDataset.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareDataset.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareDataset.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareDataset.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareDataset.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareDataset.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDataset.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDataset.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDataset.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDataset.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDataset.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDataset.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDataset.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.HealthcareDataset.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareDataset.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareDatasetTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetTimeoutsOutputReference">HealthcareDatasetTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareDataset.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.HealthcareDataset.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.HealthcareDataset.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.HealthcareDataset.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.HealthcareDataset.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | HealthcareDatasetTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareDatasetTimeouts">HealthcareDatasetTimeouts</a>

---

##### `timeZoneInput`<sup>Optional</sup> <a name="timeZoneInput" id="@dschmidt/provider-google.HealthcareDataset.property.timeZoneInput"></a>

```typescript
public readonly timeZoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDataset.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.HealthcareDataset.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareDataset.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.HealthcareDataset.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.HealthcareDataset.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDataset.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareDataset.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareDatasetIamBinding <a name="HealthcareDatasetIamBinding" id="@dschmidt/provider-google.HealthcareDatasetIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding google_healthcare_dataset_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.Initializer"></a>

```typescript
import { HealthcareDatasetIamBinding } from '@dschmidt/provider-google'

new HealthcareDatasetIamBinding(scope: Construct, id: string, config: HealthcareDatasetIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig">HealthcareDatasetIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig">HealthcareDatasetIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.putCondition"></a>

```typescript
public putCondition(value: HealthcareDatasetIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingCondition">HealthcareDatasetIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.isConstruct"></a>

```typescript
import { HealthcareDatasetIamBinding } from '@dschmidt/provider-google'

HealthcareDatasetIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConditionOutputReference">HealthcareDatasetIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingCondition">HealthcareDatasetIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.condition"></a>

```typescript
public readonly condition: HealthcareDatasetIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConditionOutputReference">HealthcareDatasetIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareDatasetIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingCondition">HealthcareDatasetIamBindingCondition</a>

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareDatasetIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareDatasetIamMember <a name="HealthcareDatasetIamMember" id="@dschmidt/provider-google.HealthcareDatasetIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member google_healthcare_dataset_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareDatasetIamMember.Initializer"></a>

```typescript
import { HealthcareDatasetIamMember } from '@dschmidt/provider-google'

new HealthcareDatasetIamMember(scope: Construct, id: string, config: HealthcareDatasetIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig">HealthcareDatasetIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareDatasetIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareDatasetIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig">HealthcareDatasetIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareDatasetIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareDatasetIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareDatasetIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDatasetIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareDatasetIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareDatasetIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareDatasetIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareDatasetIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareDatasetIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareDatasetIamMember.putCondition"></a>

```typescript
public putCondition(value: HealthcareDatasetIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDatasetIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberCondition">HealthcareDatasetIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareDatasetIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareDatasetIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareDatasetIamMember.isConstruct"></a>

```typescript
import { HealthcareDatasetIamMember } from '@dschmidt/provider-google'

HealthcareDatasetIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareDatasetIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConditionOutputReference">HealthcareDatasetIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberCondition">HealthcareDatasetIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.condition"></a>

```typescript
public readonly condition: HealthcareDatasetIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConditionOutputReference">HealthcareDatasetIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareDatasetIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberCondition">HealthcareDatasetIamMemberCondition</a>

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareDatasetIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareDatasetIamPolicy <a name="HealthcareDatasetIamPolicy" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_policy google_healthcare_dataset_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.Initializer"></a>

```typescript
import { HealthcareDatasetIamPolicy } from '@dschmidt/provider-google'

new HealthcareDatasetIamPolicy(scope: Construct, id: string, config: HealthcareDatasetIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig">HealthcareDatasetIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig">HealthcareDatasetIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.isConstruct"></a>

```typescript
import { HealthcareDatasetIamPolicy } from '@dschmidt/provider-google'

HealthcareDatasetIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.datasetIdInput">datasetIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.datasetId">datasetId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `datasetIdInput`<sup>Optional</sup> <a name="datasetIdInput" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.datasetIdInput"></a>

```typescript
public readonly datasetIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareDatasetIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareDicomStore <a name="HealthcareDicomStore" id="@dschmidt/provider-google.HealthcareDicomStore"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store google_healthcare_dicom_store}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareDicomStore.Initializer"></a>

```typescript
import { HealthcareDicomStore } from '@dschmidt/provider-google'

new HealthcareDicomStore(scope: Construct, id: string, config: HealthcareDicomStoreConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig">HealthcareDicomStoreConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareDicomStore.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStore.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareDicomStore.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig">HealthcareDicomStoreConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.putNotificationConfig">putNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.resetNotificationConfig">resetNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareDicomStore.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareDicomStore.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareDicomStore.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDicomStore.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareDicomStore.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareDicomStore.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareDicomStore.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareDicomStore.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareDicomStore.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStore.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putNotificationConfig` <a name="putNotificationConfig" id="@dschmidt/provider-google.HealthcareDicomStore.putNotificationConfig"></a>

```typescript
public putNotificationConfig(value: HealthcareDicomStoreNotificationConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDicomStore.putNotificationConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreNotificationConfig">HealthcareDicomStoreNotificationConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.HealthcareDicomStore.putTimeouts"></a>

```typescript
public putTimeouts(value: HealthcareDicomStoreTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDicomStore.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeouts">HealthcareDicomStoreTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareDicomStore.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.HealthcareDicomStore.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetNotificationConfig` <a name="resetNotificationConfig" id="@dschmidt/provider-google.HealthcareDicomStore.resetNotificationConfig"></a>

```typescript
public resetNotificationConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.HealthcareDicomStore.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareDicomStore.isConstruct"></a>

```typescript
import { HealthcareDicomStore } from '@dschmidt/provider-google'

HealthcareDicomStore.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareDicomStore.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreNotificationConfigOutputReference">HealthcareDicomStoreNotificationConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeoutsOutputReference">HealthcareDicomStoreTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.datasetInput">datasetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.notificationConfigInput">notificationConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreNotificationConfig">HealthcareDicomStoreNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeouts">HealthcareDicomStoreTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.dataset">dataset</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareDicomStore.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareDicomStore.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareDicomStore.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareDicomStore.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareDicomStore.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareDicomStore.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareDicomStore.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDicomStore.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDicomStore.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDicomStore.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDicomStore.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDicomStore.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDicomStore.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDicomStore.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `notificationConfig`<sup>Required</sup> <a name="notificationConfig" id="@dschmidt/provider-google.HealthcareDicomStore.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: HealthcareDicomStoreNotificationConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreNotificationConfigOutputReference">HealthcareDicomStoreNotificationConfigOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.HealthcareDicomStore.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareDicomStore.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareDicomStoreTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeoutsOutputReference">HealthcareDicomStoreTimeoutsOutputReference</a>

---

##### `datasetInput`<sup>Optional</sup> <a name="datasetInput" id="@dschmidt/provider-google.HealthcareDicomStore.property.datasetInput"></a>

```typescript
public readonly datasetInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareDicomStore.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.HealthcareDicomStore.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.HealthcareDicomStore.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `notificationConfigInput`<sup>Optional</sup> <a name="notificationConfigInput" id="@dschmidt/provider-google.HealthcareDicomStore.property.notificationConfigInput"></a>

```typescript
public readonly notificationConfigInput: HealthcareDicomStoreNotificationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreNotificationConfig">HealthcareDicomStoreNotificationConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.HealthcareDicomStore.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | HealthcareDicomStoreTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeouts">HealthcareDicomStoreTimeouts</a>

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareDicomStore.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStore.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.HealthcareDicomStore.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareDicomStore.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStore.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareDicomStore.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareDicomStoreIamBinding <a name="HealthcareDicomStoreIamBinding" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding google_healthcare_dicom_store_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.Initializer"></a>

```typescript
import { HealthcareDicomStoreIamBinding } from '@dschmidt/provider-google'

new HealthcareDicomStoreIamBinding(scope: Construct, id: string, config: HealthcareDicomStoreIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig">HealthcareDicomStoreIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig">HealthcareDicomStoreIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.putCondition"></a>

```typescript
public putCondition(value: HealthcareDicomStoreIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition">HealthcareDicomStoreIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.isConstruct"></a>

```typescript
import { HealthcareDicomStoreIamBinding } from '@dschmidt/provider-google'

HealthcareDicomStoreIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConditionOutputReference">HealthcareDicomStoreIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition">HealthcareDicomStoreIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.dicomStoreIdInput">dicomStoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.dicomStoreId">dicomStoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.condition"></a>

```typescript
public readonly condition: HealthcareDicomStoreIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConditionOutputReference">HealthcareDicomStoreIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareDicomStoreIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition">HealthcareDicomStoreIamBindingCondition</a>

---

##### `dicomStoreIdInput`<sup>Optional</sup> <a name="dicomStoreIdInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.dicomStoreIdInput"></a>

```typescript
public readonly dicomStoreIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `dicomStoreId`<sup>Required</sup> <a name="dicomStoreId" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.dicomStoreId"></a>

```typescript
public readonly dicomStoreId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareDicomStoreIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareDicomStoreIamMember <a name="HealthcareDicomStoreIamMember" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member google_healthcare_dicom_store_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.Initializer"></a>

```typescript
import { HealthcareDicomStoreIamMember } from '@dschmidt/provider-google'

new HealthcareDicomStoreIamMember(scope: Construct, id: string, config: HealthcareDicomStoreIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig">HealthcareDicomStoreIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig">HealthcareDicomStoreIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.putCondition"></a>

```typescript
public putCondition(value: HealthcareDicomStoreIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition">HealthcareDicomStoreIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.isConstruct"></a>

```typescript
import { HealthcareDicomStoreIamMember } from '@dschmidt/provider-google'

HealthcareDicomStoreIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConditionOutputReference">HealthcareDicomStoreIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition">HealthcareDicomStoreIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.dicomStoreIdInput">dicomStoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.dicomStoreId">dicomStoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.condition"></a>

```typescript
public readonly condition: HealthcareDicomStoreIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConditionOutputReference">HealthcareDicomStoreIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareDicomStoreIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition">HealthcareDicomStoreIamMemberCondition</a>

---

##### `dicomStoreIdInput`<sup>Optional</sup> <a name="dicomStoreIdInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.dicomStoreIdInput"></a>

```typescript
public readonly dicomStoreIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `dicomStoreId`<sup>Required</sup> <a name="dicomStoreId" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.dicomStoreId"></a>

```typescript
public readonly dicomStoreId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareDicomStoreIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareDicomStoreIamPolicy <a name="HealthcareDicomStoreIamPolicy" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_policy google_healthcare_dicom_store_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.Initializer"></a>

```typescript
import { HealthcareDicomStoreIamPolicy } from '@dschmidt/provider-google'

new HealthcareDicomStoreIamPolicy(scope: Construct, id: string, config: HealthcareDicomStoreIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig">HealthcareDicomStoreIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig">HealthcareDicomStoreIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.isConstruct"></a>

```typescript
import { HealthcareDicomStoreIamPolicy } from '@dschmidt/provider-google'

HealthcareDicomStoreIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.dicomStoreIdInput">dicomStoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.dicomStoreId">dicomStoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `dicomStoreIdInput`<sup>Optional</sup> <a name="dicomStoreIdInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.dicomStoreIdInput"></a>

```typescript
public readonly dicomStoreIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `dicomStoreId`<sup>Required</sup> <a name="dicomStoreId" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.dicomStoreId"></a>

```typescript
public readonly dicomStoreId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareFhirStore <a name="HealthcareFhirStore" id="@dschmidt/provider-google.HealthcareFhirStore"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store google_healthcare_fhir_store}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareFhirStore.Initializer"></a>

```typescript
import { HealthcareFhirStore } from '@dschmidt/provider-google'

new HealthcareFhirStore(scope: Construct, id: string, config: HealthcareFhirStoreConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig">HealthcareFhirStoreConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareFhirStore.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStore.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareFhirStore.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig">HealthcareFhirStoreConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.putNotificationConfig">putNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.putStreamConfigs">putStreamConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetDisableReferentialIntegrity">resetDisableReferentialIntegrity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetDisableResourceVersioning">resetDisableResourceVersioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetEnableHistoryImport">resetEnableHistoryImport</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetEnableUpdateCreate">resetEnableUpdateCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetNotificationConfig">resetNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetStreamConfigs">resetStreamConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareFhirStore.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareFhirStore.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareFhirStore.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareFhirStore.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareFhirStore.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareFhirStore.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareFhirStore.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareFhirStore.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareFhirStore.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStore.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putNotificationConfig` <a name="putNotificationConfig" id="@dschmidt/provider-google.HealthcareFhirStore.putNotificationConfig"></a>

```typescript
public putNotificationConfig(value: HealthcareFhirStoreNotificationConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareFhirStore.putNotificationConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreNotificationConfig">HealthcareFhirStoreNotificationConfig</a>

---

##### `putStreamConfigs` <a name="putStreamConfigs" id="@dschmidt/provider-google.HealthcareFhirStore.putStreamConfigs"></a>

```typescript
public putStreamConfigs(value: IResolvable | HealthcareFhirStoreStreamConfigs[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareFhirStore.putStreamConfigs.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs">HealthcareFhirStoreStreamConfigs</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.HealthcareFhirStore.putTimeouts"></a>

```typescript
public putTimeouts(value: HealthcareFhirStoreTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareFhirStore.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeouts">HealthcareFhirStoreTimeouts</a>

---

##### `resetDisableReferentialIntegrity` <a name="resetDisableReferentialIntegrity" id="@dschmidt/provider-google.HealthcareFhirStore.resetDisableReferentialIntegrity"></a>

```typescript
public resetDisableReferentialIntegrity(): void
```

##### `resetDisableResourceVersioning` <a name="resetDisableResourceVersioning" id="@dschmidt/provider-google.HealthcareFhirStore.resetDisableResourceVersioning"></a>

```typescript
public resetDisableResourceVersioning(): void
```

##### `resetEnableHistoryImport` <a name="resetEnableHistoryImport" id="@dschmidt/provider-google.HealthcareFhirStore.resetEnableHistoryImport"></a>

```typescript
public resetEnableHistoryImport(): void
```

##### `resetEnableUpdateCreate` <a name="resetEnableUpdateCreate" id="@dschmidt/provider-google.HealthcareFhirStore.resetEnableUpdateCreate"></a>

```typescript
public resetEnableUpdateCreate(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareFhirStore.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.HealthcareFhirStore.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetNotificationConfig` <a name="resetNotificationConfig" id="@dschmidt/provider-google.HealthcareFhirStore.resetNotificationConfig"></a>

```typescript
public resetNotificationConfig(): void
```

##### `resetStreamConfigs` <a name="resetStreamConfigs" id="@dschmidt/provider-google.HealthcareFhirStore.resetStreamConfigs"></a>

```typescript
public resetStreamConfigs(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.HealthcareFhirStore.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareFhirStore.isConstruct"></a>

```typescript
import { HealthcareFhirStore } from '@dschmidt/provider-google'

HealthcareFhirStore.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareFhirStore.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreNotificationConfigOutputReference">HealthcareFhirStoreNotificationConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.streamConfigs">streamConfigs</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsList">HealthcareFhirStoreStreamConfigsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeoutsOutputReference">HealthcareFhirStoreTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.datasetInput">datasetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.disableReferentialIntegrityInput">disableReferentialIntegrityInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.disableResourceVersioningInput">disableResourceVersioningInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.enableHistoryImportInput">enableHistoryImportInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.enableUpdateCreateInput">enableUpdateCreateInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.notificationConfigInput">notificationConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreNotificationConfig">HealthcareFhirStoreNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.streamConfigsInput">streamConfigsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs">HealthcareFhirStoreStreamConfigs</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeouts">HealthcareFhirStoreTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.versionInput">versionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.dataset">dataset</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.disableReferentialIntegrity">disableReferentialIntegrity</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.disableResourceVersioning">disableResourceVersioning</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.enableHistoryImport">enableHistoryImport</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.enableUpdateCreate">enableUpdateCreate</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.version">version</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareFhirStore.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareFhirStore.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareFhirStore.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareFhirStore.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareFhirStore.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareFhirStore.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareFhirStore.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareFhirStore.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareFhirStore.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareFhirStore.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareFhirStore.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareFhirStore.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareFhirStore.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareFhirStore.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `notificationConfig`<sup>Required</sup> <a name="notificationConfig" id="@dschmidt/provider-google.HealthcareFhirStore.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: HealthcareFhirStoreNotificationConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreNotificationConfigOutputReference">HealthcareFhirStoreNotificationConfigOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.HealthcareFhirStore.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `streamConfigs`<sup>Required</sup> <a name="streamConfigs" id="@dschmidt/provider-google.HealthcareFhirStore.property.streamConfigs"></a>

```typescript
public readonly streamConfigs: HealthcareFhirStoreStreamConfigsList;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsList">HealthcareFhirStoreStreamConfigsList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareFhirStore.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareFhirStoreTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeoutsOutputReference">HealthcareFhirStoreTimeoutsOutputReference</a>

---

##### `datasetInput`<sup>Optional</sup> <a name="datasetInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.datasetInput"></a>

```typescript
public readonly datasetInput: string;
```

- *Type:* string

---

##### `disableReferentialIntegrityInput`<sup>Optional</sup> <a name="disableReferentialIntegrityInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.disableReferentialIntegrityInput"></a>

```typescript
public readonly disableReferentialIntegrityInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `disableResourceVersioningInput`<sup>Optional</sup> <a name="disableResourceVersioningInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.disableResourceVersioningInput"></a>

```typescript
public readonly disableResourceVersioningInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableHistoryImportInput`<sup>Optional</sup> <a name="enableHistoryImportInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.enableHistoryImportInput"></a>

```typescript
public readonly enableHistoryImportInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableUpdateCreateInput`<sup>Optional</sup> <a name="enableUpdateCreateInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.enableUpdateCreateInput"></a>

```typescript
public readonly enableUpdateCreateInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `notificationConfigInput`<sup>Optional</sup> <a name="notificationConfigInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.notificationConfigInput"></a>

```typescript
public readonly notificationConfigInput: HealthcareFhirStoreNotificationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreNotificationConfig">HealthcareFhirStoreNotificationConfig</a>

---

##### `streamConfigsInput`<sup>Optional</sup> <a name="streamConfigsInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.streamConfigsInput"></a>

```typescript
public readonly streamConfigsInput: IResolvable | HealthcareFhirStoreStreamConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs">HealthcareFhirStoreStreamConfigs</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | HealthcareFhirStoreTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeouts">HealthcareFhirStoreTimeouts</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.HealthcareFhirStore.property.versionInput"></a>

```typescript
public readonly versionInput: string;
```

- *Type:* string

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareFhirStore.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

---

##### `disableReferentialIntegrity`<sup>Required</sup> <a name="disableReferentialIntegrity" id="@dschmidt/provider-google.HealthcareFhirStore.property.disableReferentialIntegrity"></a>

```typescript
public readonly disableReferentialIntegrity: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `disableResourceVersioning`<sup>Required</sup> <a name="disableResourceVersioning" id="@dschmidt/provider-google.HealthcareFhirStore.property.disableResourceVersioning"></a>

```typescript
public readonly disableResourceVersioning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableHistoryImport`<sup>Required</sup> <a name="enableHistoryImport" id="@dschmidt/provider-google.HealthcareFhirStore.property.enableHistoryImport"></a>

```typescript
public readonly enableHistoryImport: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableUpdateCreate`<sup>Required</sup> <a name="enableUpdateCreate" id="@dschmidt/provider-google.HealthcareFhirStore.property.enableUpdateCreate"></a>

```typescript
public readonly enableUpdateCreate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStore.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.HealthcareFhirStore.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareFhirStore.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.HealthcareFhirStore.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStore.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareFhirStore.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareFhirStoreIamBinding <a name="HealthcareFhirStoreIamBinding" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding google_healthcare_fhir_store_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.Initializer"></a>

```typescript
import { HealthcareFhirStoreIamBinding } from '@dschmidt/provider-google'

new HealthcareFhirStoreIamBinding(scope: Construct, id: string, config: HealthcareFhirStoreIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig">HealthcareFhirStoreIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig">HealthcareFhirStoreIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.putCondition"></a>

```typescript
public putCondition(value: HealthcareFhirStoreIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition">HealthcareFhirStoreIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.isConstruct"></a>

```typescript
import { HealthcareFhirStoreIamBinding } from '@dschmidt/provider-google'

HealthcareFhirStoreIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConditionOutputReference">HealthcareFhirStoreIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition">HealthcareFhirStoreIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.fhirStoreIdInput">fhirStoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.fhirStoreId">fhirStoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.condition"></a>

```typescript
public readonly condition: HealthcareFhirStoreIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConditionOutputReference">HealthcareFhirStoreIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareFhirStoreIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition">HealthcareFhirStoreIamBindingCondition</a>

---

##### `fhirStoreIdInput`<sup>Optional</sup> <a name="fhirStoreIdInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.fhirStoreIdInput"></a>

```typescript
public readonly fhirStoreIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `fhirStoreId`<sup>Required</sup> <a name="fhirStoreId" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.fhirStoreId"></a>

```typescript
public readonly fhirStoreId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareFhirStoreIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareFhirStoreIamMember <a name="HealthcareFhirStoreIamMember" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member google_healthcare_fhir_store_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.Initializer"></a>

```typescript
import { HealthcareFhirStoreIamMember } from '@dschmidt/provider-google'

new HealthcareFhirStoreIamMember(scope: Construct, id: string, config: HealthcareFhirStoreIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig">HealthcareFhirStoreIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig">HealthcareFhirStoreIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.putCondition"></a>

```typescript
public putCondition(value: HealthcareFhirStoreIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition">HealthcareFhirStoreIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.isConstruct"></a>

```typescript
import { HealthcareFhirStoreIamMember } from '@dschmidt/provider-google'

HealthcareFhirStoreIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConditionOutputReference">HealthcareFhirStoreIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition">HealthcareFhirStoreIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.fhirStoreIdInput">fhirStoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.fhirStoreId">fhirStoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.condition"></a>

```typescript
public readonly condition: HealthcareFhirStoreIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConditionOutputReference">HealthcareFhirStoreIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareFhirStoreIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition">HealthcareFhirStoreIamMemberCondition</a>

---

##### `fhirStoreIdInput`<sup>Optional</sup> <a name="fhirStoreIdInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.fhirStoreIdInput"></a>

```typescript
public readonly fhirStoreIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `fhirStoreId`<sup>Required</sup> <a name="fhirStoreId" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.fhirStoreId"></a>

```typescript
public readonly fhirStoreId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareFhirStoreIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareFhirStoreIamPolicy <a name="HealthcareFhirStoreIamPolicy" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_policy google_healthcare_fhir_store_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.Initializer"></a>

```typescript
import { HealthcareFhirStoreIamPolicy } from '@dschmidt/provider-google'

new HealthcareFhirStoreIamPolicy(scope: Construct, id: string, config: HealthcareFhirStoreIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig">HealthcareFhirStoreIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig">HealthcareFhirStoreIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.isConstruct"></a>

```typescript
import { HealthcareFhirStoreIamPolicy } from '@dschmidt/provider-google'

HealthcareFhirStoreIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.fhirStoreIdInput">fhirStoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.fhirStoreId">fhirStoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `fhirStoreIdInput`<sup>Optional</sup> <a name="fhirStoreIdInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.fhirStoreIdInput"></a>

```typescript
public readonly fhirStoreIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `fhirStoreId`<sup>Required</sup> <a name="fhirStoreId" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.fhirStoreId"></a>

```typescript
public readonly fhirStoreId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareHl7V2Store <a name="HealthcareHl7V2Store" id="@dschmidt/provider-google.HealthcareHl7V2Store"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store google_healthcare_hl7_v2_store}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareHl7V2Store.Initializer"></a>

```typescript
import { HealthcareHl7V2Store } from '@dschmidt/provider-google'

new HealthcareHl7V2Store(scope: Construct, id: string, config: HealthcareHl7V2StoreConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig">HealthcareHl7V2StoreConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareHl7V2Store.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2Store.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareHl7V2Store.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig">HealthcareHl7V2StoreConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.putNotificationConfig">putNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.putNotificationConfigs">putNotificationConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.putParserConfig">putParserConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.resetNotificationConfig">resetNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.resetNotificationConfigs">resetNotificationConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.resetParserConfig">resetParserConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareHl7V2Store.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareHl7V2Store.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareHl7V2Store.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2Store.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2Store.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2Store.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2Store.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareHl7V2Store.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareHl7V2Store.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2Store.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putNotificationConfig` <a name="putNotificationConfig" id="@dschmidt/provider-google.HealthcareHl7V2Store.putNotificationConfig"></a>

```typescript
public putNotificationConfig(value: HealthcareHl7V2StoreNotificationConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2Store.putNotificationConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfig">HealthcareHl7V2StoreNotificationConfig</a>

---

##### `putNotificationConfigs` <a name="putNotificationConfigs" id="@dschmidt/provider-google.HealthcareHl7V2Store.putNotificationConfigs"></a>

```typescript
public putNotificationConfigs(value: IResolvable | HealthcareHl7V2StoreNotificationConfigs[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2Store.putNotificationConfigs.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs">HealthcareHl7V2StoreNotificationConfigs</a>[]

---

##### `putParserConfig` <a name="putParserConfig" id="@dschmidt/provider-google.HealthcareHl7V2Store.putParserConfig"></a>

```typescript
public putParserConfig(value: HealthcareHl7V2StoreParserConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2Store.putParserConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig">HealthcareHl7V2StoreParserConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.HealthcareHl7V2Store.putTimeouts"></a>

```typescript
public putTimeouts(value: HealthcareHl7V2StoreTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2Store.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts">HealthcareHl7V2StoreTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareHl7V2Store.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.HealthcareHl7V2Store.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetNotificationConfig` <a name="resetNotificationConfig" id="@dschmidt/provider-google.HealthcareHl7V2Store.resetNotificationConfig"></a>

```typescript
public resetNotificationConfig(): void
```

##### `resetNotificationConfigs` <a name="resetNotificationConfigs" id="@dschmidt/provider-google.HealthcareHl7V2Store.resetNotificationConfigs"></a>

```typescript
public resetNotificationConfigs(): void
```

##### `resetParserConfig` <a name="resetParserConfig" id="@dschmidt/provider-google.HealthcareHl7V2Store.resetParserConfig"></a>

```typescript
public resetParserConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.HealthcareHl7V2Store.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareHl7V2Store.isConstruct"></a>

```typescript
import { HealthcareHl7V2Store } from '@dschmidt/provider-google'

HealthcareHl7V2Store.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareHl7V2Store.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigOutputReference">HealthcareHl7V2StoreNotificationConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.notificationConfigs">notificationConfigs</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigsList">HealthcareHl7V2StoreNotificationConfigsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.parserConfig">parserConfig</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfigOutputReference">HealthcareHl7V2StoreParserConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeoutsOutputReference">HealthcareHl7V2StoreTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.datasetInput">datasetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.notificationConfigInput">notificationConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfig">HealthcareHl7V2StoreNotificationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.notificationConfigsInput">notificationConfigsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs">HealthcareHl7V2StoreNotificationConfigs</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.parserConfigInput">parserConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig">HealthcareHl7V2StoreParserConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts">HealthcareHl7V2StoreTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.dataset">dataset</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `notificationConfig`<sup>Required</sup> <a name="notificationConfig" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: HealthcareHl7V2StoreNotificationConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigOutputReference">HealthcareHl7V2StoreNotificationConfigOutputReference</a>

---

##### `notificationConfigs`<sup>Required</sup> <a name="notificationConfigs" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.notificationConfigs"></a>

```typescript
public readonly notificationConfigs: HealthcareHl7V2StoreNotificationConfigsList;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigsList">HealthcareHl7V2StoreNotificationConfigsList</a>

---

##### `parserConfig`<sup>Required</sup> <a name="parserConfig" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.parserConfig"></a>

```typescript
public readonly parserConfig: HealthcareHl7V2StoreParserConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfigOutputReference">HealthcareHl7V2StoreParserConfigOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareHl7V2StoreTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeoutsOutputReference">HealthcareHl7V2StoreTimeoutsOutputReference</a>

---

##### `datasetInput`<sup>Optional</sup> <a name="datasetInput" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.datasetInput"></a>

```typescript
public readonly datasetInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `notificationConfigInput`<sup>Optional</sup> <a name="notificationConfigInput" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.notificationConfigInput"></a>

```typescript
public readonly notificationConfigInput: HealthcareHl7V2StoreNotificationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfig">HealthcareHl7V2StoreNotificationConfig</a>

---

##### `notificationConfigsInput`<sup>Optional</sup> <a name="notificationConfigsInput" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.notificationConfigsInput"></a>

```typescript
public readonly notificationConfigsInput: IResolvable | HealthcareHl7V2StoreNotificationConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs">HealthcareHl7V2StoreNotificationConfigs</a>[]

---

##### `parserConfigInput`<sup>Optional</sup> <a name="parserConfigInput" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.parserConfigInput"></a>

```typescript
public readonly parserConfigInput: HealthcareHl7V2StoreParserConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig">HealthcareHl7V2StoreParserConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | HealthcareHl7V2StoreTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts">HealthcareHl7V2StoreTimeouts</a>

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2Store.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareHl7V2Store.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareHl7V2StoreIamBinding <a name="HealthcareHl7V2StoreIamBinding" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding google_healthcare_hl7_v2_store_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreIamBinding } from '@dschmidt/provider-google'

new HealthcareHl7V2StoreIamBinding(scope: Construct, id: string, config: HealthcareHl7V2StoreIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig">HealthcareHl7V2StoreIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig">HealthcareHl7V2StoreIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.putCondition"></a>

```typescript
public putCondition(value: HealthcareHl7V2StoreIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition">HealthcareHl7V2StoreIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.isConstruct"></a>

```typescript
import { HealthcareHl7V2StoreIamBinding } from '@dschmidt/provider-google'

HealthcareHl7V2StoreIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConditionOutputReference">HealthcareHl7V2StoreIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition">HealthcareHl7V2StoreIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.hl7V2StoreIdInput">hl7V2StoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.hl7V2StoreId">hl7V2StoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.condition"></a>

```typescript
public readonly condition: HealthcareHl7V2StoreIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConditionOutputReference">HealthcareHl7V2StoreIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareHl7V2StoreIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition">HealthcareHl7V2StoreIamBindingCondition</a>

---

##### `hl7V2StoreIdInput`<sup>Optional</sup> <a name="hl7V2StoreIdInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.hl7V2StoreIdInput"></a>

```typescript
public readonly hl7V2StoreIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `hl7V2StoreId`<sup>Required</sup> <a name="hl7V2StoreId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.hl7V2StoreId"></a>

```typescript
public readonly hl7V2StoreId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareHl7V2StoreIamMember <a name="HealthcareHl7V2StoreIamMember" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member google_healthcare_hl7_v2_store_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreIamMember } from '@dschmidt/provider-google'

new HealthcareHl7V2StoreIamMember(scope: Construct, id: string, config: HealthcareHl7V2StoreIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig">HealthcareHl7V2StoreIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig">HealthcareHl7V2StoreIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.putCondition"></a>

```typescript
public putCondition(value: HealthcareHl7V2StoreIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition">HealthcareHl7V2StoreIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.isConstruct"></a>

```typescript
import { HealthcareHl7V2StoreIamMember } from '@dschmidt/provider-google'

HealthcareHl7V2StoreIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConditionOutputReference">HealthcareHl7V2StoreIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition">HealthcareHl7V2StoreIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.hl7V2StoreIdInput">hl7V2StoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.hl7V2StoreId">hl7V2StoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.condition"></a>

```typescript
public readonly condition: HealthcareHl7V2StoreIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConditionOutputReference">HealthcareHl7V2StoreIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: HealthcareHl7V2StoreIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition">HealthcareHl7V2StoreIamMemberCondition</a>

---

##### `hl7V2StoreIdInput`<sup>Optional</sup> <a name="hl7V2StoreIdInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.hl7V2StoreIdInput"></a>

```typescript
public readonly hl7V2StoreIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `hl7V2StoreId`<sup>Required</sup> <a name="hl7V2StoreId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.hl7V2StoreId"></a>

```typescript
public readonly hl7V2StoreId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### HealthcareHl7V2StoreIamPolicy <a name="HealthcareHl7V2StoreIamPolicy" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_policy google_healthcare_hl7_v2_store_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreIamPolicy } from '@dschmidt/provider-google'

new HealthcareHl7V2StoreIamPolicy(scope: Construct, id: string, config: HealthcareHl7V2StoreIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig">HealthcareHl7V2StoreIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig">HealthcareHl7V2StoreIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.isConstruct"></a>

```typescript
import { HealthcareHl7V2StoreIamPolicy } from '@dschmidt/provider-google'

HealthcareHl7V2StoreIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.hl7V2StoreIdInput">hl7V2StoreIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.hl7V2StoreId">hl7V2StoreId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `hl7V2StoreIdInput`<sup>Optional</sup> <a name="hl7V2StoreIdInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.hl7V2StoreIdInput"></a>

```typescript
public readonly hl7V2StoreIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `hl7V2StoreId`<sup>Required</sup> <a name="hl7V2StoreId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.hl7V2StoreId"></a>

```typescript
public readonly hl7V2StoreId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IamWorkloadIdentityPool <a name="IamWorkloadIdentityPool" id="@dschmidt/provider-google.IamWorkloadIdentityPool"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool google_iam_workload_identity_pool}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IamWorkloadIdentityPool.Initializer"></a>

```typescript
import { IamWorkloadIdentityPool } from '@dschmidt/provider-google'

new IamWorkloadIdentityPool(scope: Construct, id: string, config: IamWorkloadIdentityPoolConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig">IamWorkloadIdentityPoolConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IamWorkloadIdentityPool.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IamWorkloadIdentityPool.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IamWorkloadIdentityPool.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig">IamWorkloadIdentityPoolConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IamWorkloadIdentityPool.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IamWorkloadIdentityPool.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IamWorkloadIdentityPool.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IamWorkloadIdentityPool.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IamWorkloadIdentityPool.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IamWorkloadIdentityPool.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IamWorkloadIdentityPool.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IamWorkloadIdentityPool.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IamWorkloadIdentityPool.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPool.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPool.putTimeouts"></a>

```typescript
public putTimeouts(value: IamWorkloadIdentityPoolTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IamWorkloadIdentityPool.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts">IamWorkloadIdentityPoolTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.IamWorkloadIdentityPool.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.IamWorkloadIdentityPool.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.IamWorkloadIdentityPool.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IamWorkloadIdentityPool.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IamWorkloadIdentityPool.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPool.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IamWorkloadIdentityPool.isConstruct"></a>

```typescript
import { IamWorkloadIdentityPool } from '@dschmidt/provider-google'

IamWorkloadIdentityPool.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IamWorkloadIdentityPool.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeoutsOutputReference">IamWorkloadIdentityPoolTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts">IamWorkloadIdentityPoolTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.workloadIdentityPoolIdInput">workloadIdentityPoolIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.workloadIdentityPoolId">workloadIdentityPoolId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.timeouts"></a>

```typescript
public readonly timeouts: IamWorkloadIdentityPoolTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeoutsOutputReference">IamWorkloadIdentityPoolTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IamWorkloadIdentityPoolTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts">IamWorkloadIdentityPoolTimeouts</a>

---

##### `workloadIdentityPoolIdInput`<sup>Optional</sup> <a name="workloadIdentityPoolIdInput" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.workloadIdentityPoolIdInput"></a>

```typescript
public readonly workloadIdentityPoolIdInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `workloadIdentityPoolId`<sup>Required</sup> <a name="workloadIdentityPoolId" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.workloadIdentityPoolId"></a>

```typescript
public readonly workloadIdentityPoolId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPool.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IamWorkloadIdentityPool.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IamWorkloadIdentityPoolProvider <a name="IamWorkloadIdentityPoolProvider" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider google_iam_workload_identity_pool_provider}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.Initializer"></a>

```typescript
import { IamWorkloadIdentityPoolProvider } from '@dschmidt/provider-google'

new IamWorkloadIdentityPoolProvider(scope: Construct, id: string, config: IamWorkloadIdentityPoolProviderConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig">IamWorkloadIdentityPoolProviderConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig">IamWorkloadIdentityPoolProviderConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.putAws">putAws</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.putOidc">putOidc</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetAttributeCondition">resetAttributeCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetAttributeMapping">resetAttributeMapping</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetAws">resetAws</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetOidc">resetOidc</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAws` <a name="putAws" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.putAws"></a>

```typescript
public putAws(value: IamWorkloadIdentityPoolProviderAws): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.putAws.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAws">IamWorkloadIdentityPoolProviderAws</a>

---

##### `putOidc` <a name="putOidc" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.putOidc"></a>

```typescript
public putOidc(value: IamWorkloadIdentityPoolProviderOidc): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.putOidc.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc">IamWorkloadIdentityPoolProviderOidc</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.putTimeouts"></a>

```typescript
public putTimeouts(value: IamWorkloadIdentityPoolProviderTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts">IamWorkloadIdentityPoolProviderTimeouts</a>

---

##### `resetAttributeCondition` <a name="resetAttributeCondition" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetAttributeCondition"></a>

```typescript
public resetAttributeCondition(): void
```

##### `resetAttributeMapping` <a name="resetAttributeMapping" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetAttributeMapping"></a>

```typescript
public resetAttributeMapping(): void
```

##### `resetAws` <a name="resetAws" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetAws"></a>

```typescript
public resetAws(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetId"></a>

```typescript
public resetId(): void
```

##### `resetOidc` <a name="resetOidc" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetOidc"></a>

```typescript
public resetOidc(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.isConstruct"></a>

```typescript
import { IamWorkloadIdentityPoolProvider } from '@dschmidt/provider-google'

IamWorkloadIdentityPoolProvider.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.aws">aws</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAwsOutputReference">IamWorkloadIdentityPoolProviderAwsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.oidc">oidc</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidcOutputReference">IamWorkloadIdentityPoolProviderOidcOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeoutsOutputReference">IamWorkloadIdentityPoolProviderTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.attributeConditionInput">attributeConditionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.attributeMappingInput">attributeMappingInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.awsInput">awsInput</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAws">IamWorkloadIdentityPoolProviderAws</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.oidcInput">oidcInput</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc">IamWorkloadIdentityPoolProviderOidc</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts">IamWorkloadIdentityPoolProviderTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.workloadIdentityPoolIdInput">workloadIdentityPoolIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.workloadIdentityPoolProviderIdInput">workloadIdentityPoolProviderIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.attributeCondition">attributeCondition</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.attributeMapping">attributeMapping</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.workloadIdentityPoolId">workloadIdentityPoolId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.workloadIdentityPoolProviderId">workloadIdentityPoolProviderId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `aws`<sup>Required</sup> <a name="aws" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.aws"></a>

```typescript
public readonly aws: IamWorkloadIdentityPoolProviderAwsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAwsOutputReference">IamWorkloadIdentityPoolProviderAwsOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `oidc`<sup>Required</sup> <a name="oidc" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.oidc"></a>

```typescript
public readonly oidc: IamWorkloadIdentityPoolProviderOidcOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidcOutputReference">IamWorkloadIdentityPoolProviderOidcOutputReference</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.timeouts"></a>

```typescript
public readonly timeouts: IamWorkloadIdentityPoolProviderTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeoutsOutputReference">IamWorkloadIdentityPoolProviderTimeoutsOutputReference</a>

---

##### `attributeConditionInput`<sup>Optional</sup> <a name="attributeConditionInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.attributeConditionInput"></a>

```typescript
public readonly attributeConditionInput: string;
```

- *Type:* string

---

##### `attributeMappingInput`<sup>Optional</sup> <a name="attributeMappingInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.attributeMappingInput"></a>

```typescript
public readonly attributeMappingInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `awsInput`<sup>Optional</sup> <a name="awsInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.awsInput"></a>

```typescript
public readonly awsInput: IamWorkloadIdentityPoolProviderAws;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAws">IamWorkloadIdentityPoolProviderAws</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `oidcInput`<sup>Optional</sup> <a name="oidcInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.oidcInput"></a>

```typescript
public readonly oidcInput: IamWorkloadIdentityPoolProviderOidc;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc">IamWorkloadIdentityPoolProviderOidc</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IamWorkloadIdentityPoolProviderTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts">IamWorkloadIdentityPoolProviderTimeouts</a>

---

##### `workloadIdentityPoolIdInput`<sup>Optional</sup> <a name="workloadIdentityPoolIdInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.workloadIdentityPoolIdInput"></a>

```typescript
public readonly workloadIdentityPoolIdInput: string;
```

- *Type:* string

---

##### `workloadIdentityPoolProviderIdInput`<sup>Optional</sup> <a name="workloadIdentityPoolProviderIdInput" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.workloadIdentityPoolProviderIdInput"></a>

```typescript
public readonly workloadIdentityPoolProviderIdInput: string;
```

- *Type:* string

---

##### `attributeCondition`<sup>Required</sup> <a name="attributeCondition" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.attributeCondition"></a>

```typescript
public readonly attributeCondition: string;
```

- *Type:* string

---

##### `attributeMapping`<sup>Required</sup> <a name="attributeMapping" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.attributeMapping"></a>

```typescript
public readonly attributeMapping: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `workloadIdentityPoolId`<sup>Required</sup> <a name="workloadIdentityPoolId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.workloadIdentityPoolId"></a>

```typescript
public readonly workloadIdentityPoolId: string;
```

- *Type:* string

---

##### `workloadIdentityPoolProviderId`<sup>Required</sup> <a name="workloadIdentityPoolProviderId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.workloadIdentityPoolProviderId"></a>

```typescript
public readonly workloadIdentityPoolProviderId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProvider.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapAppEngineServiceIamBinding <a name="IapAppEngineServiceIamBinding" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding google_iap_app_engine_service_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.Initializer"></a>

```typescript
import { IapAppEngineServiceIamBinding } from '@dschmidt/provider-google'

new IapAppEngineServiceIamBinding(scope: Construct, id: string, config: IapAppEngineServiceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig">IapAppEngineServiceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig">IapAppEngineServiceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.putCondition"></a>

```typescript
public putCondition(value: IapAppEngineServiceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition">IapAppEngineServiceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.isConstruct"></a>

```typescript
import { IapAppEngineServiceIamBinding } from '@dschmidt/provider-google'

IapAppEngineServiceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConditionOutputReference">IapAppEngineServiceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.appIdInput">appIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition">IapAppEngineServiceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.condition"></a>

```typescript
public readonly condition: IapAppEngineServiceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConditionOutputReference">IapAppEngineServiceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `appIdInput`<sup>Optional</sup> <a name="appIdInput" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.appIdInput"></a>

```typescript
public readonly appIdInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapAppEngineServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition">IapAppEngineServiceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapAppEngineServiceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapAppEngineServiceIamMember <a name="IapAppEngineServiceIamMember" id="@dschmidt/provider-google.IapAppEngineServiceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member google_iap_app_engine_service_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.Initializer"></a>

```typescript
import { IapAppEngineServiceIamMember } from '@dschmidt/provider-google'

new IapAppEngineServiceIamMember(scope: Construct, id: string, config: IapAppEngineServiceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig">IapAppEngineServiceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig">IapAppEngineServiceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.putCondition"></a>

```typescript
public putCondition(value: IapAppEngineServiceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition">IapAppEngineServiceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.isConstruct"></a>

```typescript
import { IapAppEngineServiceIamMember } from '@dschmidt/provider-google'

IapAppEngineServiceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConditionOutputReference">IapAppEngineServiceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.appIdInput">appIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition">IapAppEngineServiceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.condition"></a>

```typescript
public readonly condition: IapAppEngineServiceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConditionOutputReference">IapAppEngineServiceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `appIdInput`<sup>Optional</sup> <a name="appIdInput" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.appIdInput"></a>

```typescript
public readonly appIdInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapAppEngineServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition">IapAppEngineServiceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapAppEngineServiceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapAppEngineServiceIamPolicy <a name="IapAppEngineServiceIamPolicy" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy google_iap_app_engine_service_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.Initializer"></a>

```typescript
import { IapAppEngineServiceIamPolicy } from '@dschmidt/provider-google'

new IapAppEngineServiceIamPolicy(scope: Construct, id: string, config: IapAppEngineServiceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig">IapAppEngineServiceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig">IapAppEngineServiceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.isConstruct"></a>

```typescript
import { IapAppEngineServiceIamPolicy } from '@dschmidt/provider-google'

IapAppEngineServiceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.appIdInput">appIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `appIdInput`<sup>Optional</sup> <a name="appIdInput" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.appIdInput"></a>

```typescript
public readonly appIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapAppEngineVersionIamBinding <a name="IapAppEngineVersionIamBinding" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding google_iap_app_engine_version_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.Initializer"></a>

```typescript
import { IapAppEngineVersionIamBinding } from '@dschmidt/provider-google'

new IapAppEngineVersionIamBinding(scope: Construct, id: string, config: IapAppEngineVersionIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig">IapAppEngineVersionIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig">IapAppEngineVersionIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.putCondition"></a>

```typescript
public putCondition(value: IapAppEngineVersionIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition">IapAppEngineVersionIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.isConstruct"></a>

```typescript
import { IapAppEngineVersionIamBinding } from '@dschmidt/provider-google'

IapAppEngineVersionIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConditionOutputReference">IapAppEngineVersionIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.appIdInput">appIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition">IapAppEngineVersionIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.versionIdInput">versionIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.service">service</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.versionId">versionId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.condition"></a>

```typescript
public readonly condition: IapAppEngineVersionIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConditionOutputReference">IapAppEngineVersionIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `appIdInput`<sup>Optional</sup> <a name="appIdInput" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.appIdInput"></a>

```typescript
public readonly appIdInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapAppEngineVersionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition">IapAppEngineVersionIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `versionIdInput`<sup>Optional</sup> <a name="versionIdInput" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.versionIdInput"></a>

```typescript
public readonly versionIdInput: string;
```

- *Type:* string

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

##### `versionId`<sup>Required</sup> <a name="versionId" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapAppEngineVersionIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapAppEngineVersionIamMember <a name="IapAppEngineVersionIamMember" id="@dschmidt/provider-google.IapAppEngineVersionIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member google_iap_app_engine_version_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.Initializer"></a>

```typescript
import { IapAppEngineVersionIamMember } from '@dschmidt/provider-google'

new IapAppEngineVersionIamMember(scope: Construct, id: string, config: IapAppEngineVersionIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig">IapAppEngineVersionIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig">IapAppEngineVersionIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.putCondition"></a>

```typescript
public putCondition(value: IapAppEngineVersionIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition">IapAppEngineVersionIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.isConstruct"></a>

```typescript
import { IapAppEngineVersionIamMember } from '@dschmidt/provider-google'

IapAppEngineVersionIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConditionOutputReference">IapAppEngineVersionIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.appIdInput">appIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition">IapAppEngineVersionIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.versionIdInput">versionIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.service">service</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.versionId">versionId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.condition"></a>

```typescript
public readonly condition: IapAppEngineVersionIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConditionOutputReference">IapAppEngineVersionIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `appIdInput`<sup>Optional</sup> <a name="appIdInput" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.appIdInput"></a>

```typescript
public readonly appIdInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapAppEngineVersionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition">IapAppEngineVersionIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `versionIdInput`<sup>Optional</sup> <a name="versionIdInput" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.versionIdInput"></a>

```typescript
public readonly versionIdInput: string;
```

- *Type:* string

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

##### `versionId`<sup>Required</sup> <a name="versionId" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapAppEngineVersionIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapAppEngineVersionIamPolicy <a name="IapAppEngineVersionIamPolicy" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy google_iap_app_engine_version_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.Initializer"></a>

```typescript
import { IapAppEngineVersionIamPolicy } from '@dschmidt/provider-google'

new IapAppEngineVersionIamPolicy(scope: Construct, id: string, config: IapAppEngineVersionIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig">IapAppEngineVersionIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig">IapAppEngineVersionIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.isConstruct"></a>

```typescript
import { IapAppEngineVersionIamPolicy } from '@dschmidt/provider-google'

IapAppEngineVersionIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.appIdInput">appIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.versionIdInput">versionIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.service">service</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.versionId">versionId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `appIdInput`<sup>Optional</sup> <a name="appIdInput" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.appIdInput"></a>

```typescript
public readonly appIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `versionIdInput`<sup>Optional</sup> <a name="versionIdInput" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.versionIdInput"></a>

```typescript
public readonly versionIdInput: string;
```

- *Type:* string

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

##### `versionId`<sup>Required</sup> <a name="versionId" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapBrand <a name="IapBrand" id="@dschmidt/provider-google.IapBrand"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_brand google_iap_brand}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapBrand.Initializer"></a>

```typescript
import { IapBrand } from '@dschmidt/provider-google'

new IapBrand(scope: Construct, id: string, config: IapBrandConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapBrand.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapBrand.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapBrand.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapBrandConfig">IapBrandConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapBrand.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapBrand.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapBrand.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapBrandConfig">IapBrandConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapBrand.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapBrand.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapBrand.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapBrand.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapBrand.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapBrand.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapBrand.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapBrand.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapBrand.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapBrand.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapBrand.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapBrand.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapBrand.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapBrand.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapBrand.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapBrand.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapBrand.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapBrand.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapBrand.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapBrand.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapBrand.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapBrand.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapBrand.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapBrand.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapBrand.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IapBrand.putTimeouts"></a>

```typescript
public putTimeouts(value: IapBrandTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapBrand.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapBrandTimeouts">IapBrandTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapBrand.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapBrand.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IapBrand.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapBrand.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapBrand.isConstruct"></a>

```typescript
import { IapBrand } from '@dschmidt/provider-google'

IapBrand.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapBrand.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.orgInternalOnly">orgInternalOnly</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IapBrandTimeoutsOutputReference">IapBrandTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.applicationTitleInput">applicationTitleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.supportEmailInput">supportEmailInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IapBrandTimeouts">IapBrandTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.applicationTitle">applicationTitle</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.supportEmail">supportEmail</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapBrand.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapBrand.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapBrand.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapBrand.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapBrand.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapBrand.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapBrand.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapBrand.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapBrand.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapBrand.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapBrand.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapBrand.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapBrand.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapBrand.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IapBrand.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `orgInternalOnly`<sup>Required</sup> <a name="orgInternalOnly" id="@dschmidt/provider-google.IapBrand.property.orgInternalOnly"></a>

```typescript
public readonly orgInternalOnly: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IapBrand.property.timeouts"></a>

```typescript
public readonly timeouts: IapBrandTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapBrandTimeoutsOutputReference">IapBrandTimeoutsOutputReference</a>

---

##### `applicationTitleInput`<sup>Optional</sup> <a name="applicationTitleInput" id="@dschmidt/provider-google.IapBrand.property.applicationTitleInput"></a>

```typescript
public readonly applicationTitleInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapBrand.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapBrand.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `supportEmailInput`<sup>Optional</sup> <a name="supportEmailInput" id="@dschmidt/provider-google.IapBrand.property.supportEmailInput"></a>

```typescript
public readonly supportEmailInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IapBrand.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IapBrandTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IapBrandTimeouts">IapBrandTimeouts</a>

---

##### `applicationTitle`<sup>Required</sup> <a name="applicationTitle" id="@dschmidt/provider-google.IapBrand.property.applicationTitle"></a>

```typescript
public readonly applicationTitle: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapBrand.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapBrand.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `supportEmail`<sup>Required</sup> <a name="supportEmail" id="@dschmidt/provider-google.IapBrand.property.supportEmail"></a>

```typescript
public readonly supportEmail: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapBrand.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapBrand.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapClient <a name="IapClient" id="@dschmidt/provider-google.IapClient"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_client google_iap_client}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapClient.Initializer"></a>

```typescript
import { IapClient } from '@dschmidt/provider-google'

new IapClient(scope: Construct, id: string, config: IapClientConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapClient.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapClient.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapClient.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapClientConfig">IapClientConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapClient.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapClient.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapClient.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapClientConfig">IapClientConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapClient.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapClient.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapClient.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapClient.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapClient.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapClient.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapClient.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapClient.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapClient.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapClient.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapClient.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapClient.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapClient.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapClient.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapClient.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapClient.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapClient.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapClient.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapClient.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapClient.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapClient.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapClient.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapClient.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapClient.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapClient.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IapClient.putTimeouts"></a>

```typescript
public putTimeouts(value: IapClientTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapClient.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapClientTimeouts">IapClientTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapClient.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IapClient.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapClient.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapClient.isConstruct"></a>

```typescript
import { IapClient } from '@dschmidt/provider-google'

IapClient.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapClient.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapClient.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapClient.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.clientId">clientId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.secret">secret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IapClientTimeoutsOutputReference">IapClientTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.brandInput">brandInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IapClientTimeouts">IapClientTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.brand">brand</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClient.property.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapClient.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapClient.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapClient.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapClient.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapClient.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapClient.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapClient.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapClient.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapClient.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapClient.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapClient.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapClient.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapClient.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapClient.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.IapClient.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.IapClient.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IapClient.property.timeouts"></a>

```typescript
public readonly timeouts: IapClientTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapClientTimeoutsOutputReference">IapClientTimeoutsOutputReference</a>

---

##### `brandInput`<sup>Optional</sup> <a name="brandInput" id="@dschmidt/provider-google.IapClient.property.brandInput"></a>

```typescript
public readonly brandInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.IapClient.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapClient.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IapClient.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IapClientTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IapClientTimeouts">IapClientTimeouts</a>

---

##### `brand`<sup>Required</sup> <a name="brand" id="@dschmidt/provider-google.IapClient.property.brand"></a>

```typescript
public readonly brand: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IapClient.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapClient.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapClient.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapClient.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapTunnelIamBinding <a name="IapTunnelIamBinding" id="@dschmidt/provider-google.IapTunnelIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding google_iap_tunnel_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapTunnelIamBinding.Initializer"></a>

```typescript
import { IapTunnelIamBinding } from '@dschmidt/provider-google'

new IapTunnelIamBinding(scope: Construct, id: string, config: IapTunnelIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig">IapTunnelIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapTunnelIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapTunnelIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig">IapTunnelIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapTunnelIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapTunnelIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapTunnelIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapTunnelIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapTunnelIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapTunnelIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapTunnelIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapTunnelIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapTunnelIamBinding.putCondition"></a>

```typescript
public putCondition(value: IapTunnelIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamBindingCondition">IapTunnelIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapTunnelIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapTunnelIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapTunnelIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapTunnelIamBinding.isConstruct"></a>

```typescript
import { IapTunnelIamBinding } from '@dschmidt/provider-google'

IapTunnelIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapTunnelIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConditionOutputReference">IapTunnelIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingCondition">IapTunnelIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapTunnelIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapTunnelIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapTunnelIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapTunnelIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapTunnelIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapTunnelIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapTunnelIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapTunnelIamBinding.property.condition"></a>

```typescript
public readonly condition: IapTunnelIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamBindingConditionOutputReference">IapTunnelIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapTunnelIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapTunnelIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapTunnelIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamBindingCondition">IapTunnelIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapTunnelIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.IapTunnelIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapTunnelIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapTunnelIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapTunnelIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapTunnelIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapTunnelIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapTunnelIamMember <a name="IapTunnelIamMember" id="@dschmidt/provider-google.IapTunnelIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member google_iap_tunnel_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapTunnelIamMember.Initializer"></a>

```typescript
import { IapTunnelIamMember } from '@dschmidt/provider-google'

new IapTunnelIamMember(scope: Construct, id: string, config: IapTunnelIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig">IapTunnelIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapTunnelIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapTunnelIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig">IapTunnelIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapTunnelIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapTunnelIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapTunnelIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapTunnelIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapTunnelIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapTunnelIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapTunnelIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapTunnelIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapTunnelIamMember.putCondition"></a>

```typescript
public putCondition(value: IapTunnelIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamMemberCondition">IapTunnelIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapTunnelIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapTunnelIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapTunnelIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapTunnelIamMember.isConstruct"></a>

```typescript
import { IapTunnelIamMember } from '@dschmidt/provider-google'

IapTunnelIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapTunnelIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConditionOutputReference">IapTunnelIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberCondition">IapTunnelIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapTunnelIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapTunnelIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapTunnelIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapTunnelIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapTunnelIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapTunnelIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapTunnelIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapTunnelIamMember.property.condition"></a>

```typescript
public readonly condition: IapTunnelIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamMemberConditionOutputReference">IapTunnelIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapTunnelIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapTunnelIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapTunnelIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamMemberCondition">IapTunnelIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapTunnelIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.IapTunnelIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapTunnelIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapTunnelIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapTunnelIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapTunnelIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapTunnelIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapTunnelIamPolicy <a name="IapTunnelIamPolicy" id="@dschmidt/provider-google.IapTunnelIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_policy google_iap_tunnel_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapTunnelIamPolicy.Initializer"></a>

```typescript
import { IapTunnelIamPolicy } from '@dschmidt/provider-google'

new IapTunnelIamPolicy(scope: Construct, id: string, config: IapTunnelIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig">IapTunnelIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapTunnelIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapTunnelIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig">IapTunnelIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapTunnelIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapTunnelIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapTunnelIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapTunnelIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapTunnelIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapTunnelIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapTunnelIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapTunnelIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapTunnelIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapTunnelIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapTunnelIamPolicy.isConstruct"></a>

```typescript
import { IapTunnelIamPolicy } from '@dschmidt/provider-google'

IapTunnelIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapTunnelIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapTunnelIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapTunnelInstanceIamBinding <a name="IapTunnelInstanceIamBinding" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding google_iap_tunnel_instance_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.Initializer"></a>

```typescript
import { IapTunnelInstanceIamBinding } from '@dschmidt/provider-google'

new IapTunnelInstanceIamBinding(scope: Construct, id: string, config: IapTunnelInstanceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig">IapTunnelInstanceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig">IapTunnelInstanceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.putCondition"></a>

```typescript
public putCondition(value: IapTunnelInstanceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition">IapTunnelInstanceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.isConstruct"></a>

```typescript
import { IapTunnelInstanceIamBinding } from '@dschmidt/provider-google'

IapTunnelInstanceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConditionOutputReference">IapTunnelInstanceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition">IapTunnelInstanceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.condition"></a>

```typescript
public readonly condition: IapTunnelInstanceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConditionOutputReference">IapTunnelInstanceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapTunnelInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition">IapTunnelInstanceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapTunnelInstanceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapTunnelInstanceIamMember <a name="IapTunnelInstanceIamMember" id="@dschmidt/provider-google.IapTunnelInstanceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member google_iap_tunnel_instance_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.Initializer"></a>

```typescript
import { IapTunnelInstanceIamMember } from '@dschmidt/provider-google'

new IapTunnelInstanceIamMember(scope: Construct, id: string, config: IapTunnelInstanceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig">IapTunnelInstanceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig">IapTunnelInstanceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.putCondition"></a>

```typescript
public putCondition(value: IapTunnelInstanceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition">IapTunnelInstanceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.isConstruct"></a>

```typescript
import { IapTunnelInstanceIamMember } from '@dschmidt/provider-google'

IapTunnelInstanceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConditionOutputReference">IapTunnelInstanceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition">IapTunnelInstanceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.condition"></a>

```typescript
public readonly condition: IapTunnelInstanceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConditionOutputReference">IapTunnelInstanceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapTunnelInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition">IapTunnelInstanceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapTunnelInstanceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapTunnelInstanceIamPolicy <a name="IapTunnelInstanceIamPolicy" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy google_iap_tunnel_instance_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.Initializer"></a>

```typescript
import { IapTunnelInstanceIamPolicy } from '@dschmidt/provider-google'

new IapTunnelInstanceIamPolicy(scope: Construct, id: string, config: IapTunnelInstanceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig">IapTunnelInstanceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig">IapTunnelInstanceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.isConstruct"></a>

```typescript
import { IapTunnelInstanceIamPolicy } from '@dschmidt/provider-google'

IapTunnelInstanceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebBackendServiceIamBinding <a name="IapWebBackendServiceIamBinding" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding google_iap_web_backend_service_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.Initializer"></a>

```typescript
import { IapWebBackendServiceIamBinding } from '@dschmidt/provider-google'

new IapWebBackendServiceIamBinding(scope: Construct, id: string, config: IapWebBackendServiceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig">IapWebBackendServiceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig">IapWebBackendServiceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.putCondition"></a>

```typescript
public putCondition(value: IapWebBackendServiceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition">IapWebBackendServiceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.isConstruct"></a>

```typescript
import { IapWebBackendServiceIamBinding } from '@dschmidt/provider-google'

IapWebBackendServiceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConditionOutputReference">IapWebBackendServiceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition">IapWebBackendServiceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.webBackendServiceInput">webBackendServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.webBackendService">webBackendService</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.condition"></a>

```typescript
public readonly condition: IapWebBackendServiceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConditionOutputReference">IapWebBackendServiceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapWebBackendServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition">IapWebBackendServiceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `webBackendServiceInput`<sup>Optional</sup> <a name="webBackendServiceInput" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.webBackendServiceInput"></a>

```typescript
public readonly webBackendServiceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `webBackendService`<sup>Required</sup> <a name="webBackendService" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.webBackendService"></a>

```typescript
public readonly webBackendService: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebBackendServiceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebBackendServiceIamMember <a name="IapWebBackendServiceIamMember" id="@dschmidt/provider-google.IapWebBackendServiceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member google_iap_web_backend_service_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.Initializer"></a>

```typescript
import { IapWebBackendServiceIamMember } from '@dschmidt/provider-google'

new IapWebBackendServiceIamMember(scope: Construct, id: string, config: IapWebBackendServiceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig">IapWebBackendServiceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig">IapWebBackendServiceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.putCondition"></a>

```typescript
public putCondition(value: IapWebBackendServiceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition">IapWebBackendServiceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.isConstruct"></a>

```typescript
import { IapWebBackendServiceIamMember } from '@dschmidt/provider-google'

IapWebBackendServiceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConditionOutputReference">IapWebBackendServiceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition">IapWebBackendServiceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.webBackendServiceInput">webBackendServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.webBackendService">webBackendService</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.condition"></a>

```typescript
public readonly condition: IapWebBackendServiceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConditionOutputReference">IapWebBackendServiceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapWebBackendServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition">IapWebBackendServiceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `webBackendServiceInput`<sup>Optional</sup> <a name="webBackendServiceInput" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.webBackendServiceInput"></a>

```typescript
public readonly webBackendServiceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `webBackendService`<sup>Required</sup> <a name="webBackendService" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.webBackendService"></a>

```typescript
public readonly webBackendService: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebBackendServiceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebBackendServiceIamPolicy <a name="IapWebBackendServiceIamPolicy" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_policy google_iap_web_backend_service_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.Initializer"></a>

```typescript
import { IapWebBackendServiceIamPolicy } from '@dschmidt/provider-google'

new IapWebBackendServiceIamPolicy(scope: Construct, id: string, config: IapWebBackendServiceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig">IapWebBackendServiceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig">IapWebBackendServiceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.isConstruct"></a>

```typescript
import { IapWebBackendServiceIamPolicy } from '@dschmidt/provider-google'

IapWebBackendServiceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.webBackendServiceInput">webBackendServiceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.webBackendService">webBackendService</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `webBackendServiceInput`<sup>Optional</sup> <a name="webBackendServiceInput" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.webBackendServiceInput"></a>

```typescript
public readonly webBackendServiceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `webBackendService`<sup>Required</sup> <a name="webBackendService" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.webBackendService"></a>

```typescript
public readonly webBackendService: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebIamBinding <a name="IapWebIamBinding" id="@dschmidt/provider-google.IapWebIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding google_iap_web_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebIamBinding.Initializer"></a>

```typescript
import { IapWebIamBinding } from '@dschmidt/provider-google'

new IapWebIamBinding(scope: Construct, id: string, config: IapWebIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig">IapWebIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamBindingConfig">IapWebIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapWebIamBinding.putCondition"></a>

```typescript
public putCondition(value: IapWebIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamBindingCondition">IapWebIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapWebIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebIamBinding.isConstruct"></a>

```typescript
import { IapWebIamBinding } from '@dschmidt/provider-google'

IapWebIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebIamBindingConditionOutputReference">IapWebIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapWebIamBindingCondition">IapWebIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapWebIamBinding.property.condition"></a>

```typescript
public readonly condition: IapWebIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamBindingConditionOutputReference">IapWebIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapWebIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapWebIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamBindingCondition">IapWebIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.IapWebIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapWebIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapWebIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebIamMember <a name="IapWebIamMember" id="@dschmidt/provider-google.IapWebIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member google_iap_web_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebIamMember.Initializer"></a>

```typescript
import { IapWebIamMember } from '@dschmidt/provider-google'

new IapWebIamMember(scope: Construct, id: string, config: IapWebIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig">IapWebIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamMemberConfig">IapWebIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapWebIamMember.putCondition"></a>

```typescript
public putCondition(value: IapWebIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamMemberCondition">IapWebIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapWebIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebIamMember.isConstruct"></a>

```typescript
import { IapWebIamMember } from '@dschmidt/provider-google'

IapWebIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebIamMemberConditionOutputReference">IapWebIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapWebIamMemberCondition">IapWebIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapWebIamMember.property.condition"></a>

```typescript
public readonly condition: IapWebIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamMemberConditionOutputReference">IapWebIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapWebIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapWebIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamMemberCondition">IapWebIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.IapWebIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapWebIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapWebIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebIamPolicy <a name="IapWebIamPolicy" id="@dschmidt/provider-google.IapWebIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_policy google_iap_web_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebIamPolicy.Initializer"></a>

```typescript
import { IapWebIamPolicy } from '@dschmidt/provider-google'

new IapWebIamPolicy(scope: Construct, id: string, config: IapWebIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig">IapWebIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamPolicyConfig">IapWebIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebIamPolicy.isConstruct"></a>

```typescript
import { IapWebIamPolicy } from '@dschmidt/provider-google'

IapWebIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.IapWebIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapWebIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebTypeAppEngineIamBinding <a name="IapWebTypeAppEngineIamBinding" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding google_iap_web_type_app_engine_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.Initializer"></a>

```typescript
import { IapWebTypeAppEngineIamBinding } from '@dschmidt/provider-google'

new IapWebTypeAppEngineIamBinding(scope: Construct, id: string, config: IapWebTypeAppEngineIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig">IapWebTypeAppEngineIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig">IapWebTypeAppEngineIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.putCondition"></a>

```typescript
public putCondition(value: IapWebTypeAppEngineIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition">IapWebTypeAppEngineIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.isConstruct"></a>

```typescript
import { IapWebTypeAppEngineIamBinding } from '@dschmidt/provider-google'

IapWebTypeAppEngineIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConditionOutputReference">IapWebTypeAppEngineIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.appIdInput">appIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition">IapWebTypeAppEngineIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.condition"></a>

```typescript
public readonly condition: IapWebTypeAppEngineIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConditionOutputReference">IapWebTypeAppEngineIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `appIdInput`<sup>Optional</sup> <a name="appIdInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.appIdInput"></a>

```typescript
public readonly appIdInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapWebTypeAppEngineIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition">IapWebTypeAppEngineIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebTypeAppEngineIamMember <a name="IapWebTypeAppEngineIamMember" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member google_iap_web_type_app_engine_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.Initializer"></a>

```typescript
import { IapWebTypeAppEngineIamMember } from '@dschmidt/provider-google'

new IapWebTypeAppEngineIamMember(scope: Construct, id: string, config: IapWebTypeAppEngineIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig">IapWebTypeAppEngineIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig">IapWebTypeAppEngineIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.putCondition"></a>

```typescript
public putCondition(value: IapWebTypeAppEngineIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition">IapWebTypeAppEngineIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.isConstruct"></a>

```typescript
import { IapWebTypeAppEngineIamMember } from '@dschmidt/provider-google'

IapWebTypeAppEngineIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConditionOutputReference">IapWebTypeAppEngineIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.appIdInput">appIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition">IapWebTypeAppEngineIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.condition"></a>

```typescript
public readonly condition: IapWebTypeAppEngineIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConditionOutputReference">IapWebTypeAppEngineIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `appIdInput`<sup>Optional</sup> <a name="appIdInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.appIdInput"></a>

```typescript
public readonly appIdInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapWebTypeAppEngineIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition">IapWebTypeAppEngineIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebTypeAppEngineIamPolicy <a name="IapWebTypeAppEngineIamPolicy" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_policy google_iap_web_type_app_engine_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.Initializer"></a>

```typescript
import { IapWebTypeAppEngineIamPolicy } from '@dschmidt/provider-google'

new IapWebTypeAppEngineIamPolicy(scope: Construct, id: string, config: IapWebTypeAppEngineIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig">IapWebTypeAppEngineIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig">IapWebTypeAppEngineIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.isConstruct"></a>

```typescript
import { IapWebTypeAppEngineIamPolicy } from '@dschmidt/provider-google'

IapWebTypeAppEngineIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.appIdInput">appIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.appId">appId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `appIdInput`<sup>Optional</sup> <a name="appIdInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.appIdInput"></a>

```typescript
public readonly appIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebTypeComputeIamBinding <a name="IapWebTypeComputeIamBinding" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding google_iap_web_type_compute_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.Initializer"></a>

```typescript
import { IapWebTypeComputeIamBinding } from '@dschmidt/provider-google'

new IapWebTypeComputeIamBinding(scope: Construct, id: string, config: IapWebTypeComputeIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig">IapWebTypeComputeIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig">IapWebTypeComputeIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.putCondition"></a>

```typescript
public putCondition(value: IapWebTypeComputeIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition">IapWebTypeComputeIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.isConstruct"></a>

```typescript
import { IapWebTypeComputeIamBinding } from '@dschmidt/provider-google'

IapWebTypeComputeIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConditionOutputReference">IapWebTypeComputeIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition">IapWebTypeComputeIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.condition"></a>

```typescript
public readonly condition: IapWebTypeComputeIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConditionOutputReference">IapWebTypeComputeIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapWebTypeComputeIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition">IapWebTypeComputeIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebTypeComputeIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebTypeComputeIamMember <a name="IapWebTypeComputeIamMember" id="@dschmidt/provider-google.IapWebTypeComputeIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member google_iap_web_type_compute_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.Initializer"></a>

```typescript
import { IapWebTypeComputeIamMember } from '@dschmidt/provider-google'

new IapWebTypeComputeIamMember(scope: Construct, id: string, config: IapWebTypeComputeIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig">IapWebTypeComputeIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig">IapWebTypeComputeIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.putCondition"></a>

```typescript
public putCondition(value: IapWebTypeComputeIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition">IapWebTypeComputeIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.isConstruct"></a>

```typescript
import { IapWebTypeComputeIamMember } from '@dschmidt/provider-google'

IapWebTypeComputeIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConditionOutputReference">IapWebTypeComputeIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition">IapWebTypeComputeIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.condition"></a>

```typescript
public readonly condition: IapWebTypeComputeIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConditionOutputReference">IapWebTypeComputeIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: IapWebTypeComputeIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition">IapWebTypeComputeIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebTypeComputeIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IapWebTypeComputeIamPolicy <a name="IapWebTypeComputeIamPolicy" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_policy google_iap_web_type_compute_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.Initializer"></a>

```typescript
import { IapWebTypeComputeIamPolicy } from '@dschmidt/provider-google'

new IapWebTypeComputeIamPolicy(scope: Construct, id: string, config: IapWebTypeComputeIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig">IapWebTypeComputeIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig">IapWebTypeComputeIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.isConstruct"></a>

```typescript
import { IapWebTypeComputeIamPolicy } from '@dschmidt/provider-google'

IapWebTypeComputeIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IdentityPlatformDefaultSupportedIdpConfig <a name="IdentityPlatformDefaultSupportedIdpConfig" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config google_identity_platform_default_supported_idp_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.Initializer"></a>

```typescript
import { IdentityPlatformDefaultSupportedIdpConfig } from '@dschmidt/provider-google'

new IdentityPlatformDefaultSupportedIdpConfig(scope: Construct, id: string, config: IdentityPlatformDefaultSupportedIdpConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig">IdentityPlatformDefaultSupportedIdpConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig">IdentityPlatformDefaultSupportedIdpConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: IdentityPlatformDefaultSupportedIdpConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts">IdentityPlatformDefaultSupportedIdpConfigTimeouts</a>

---

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.isConstruct"></a>

```typescript
import { IdentityPlatformDefaultSupportedIdpConfig } from '@dschmidt/provider-google'

IdentityPlatformDefaultSupportedIdpConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeoutsOutputReference">IdentityPlatformDefaultSupportedIdpConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.clientIdInput">clientIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.clientSecretInput">clientSecretInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.idpIdInput">idpIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts">IdentityPlatformDefaultSupportedIdpConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.clientId">clientId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.clientSecret">clientSecret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.idpId">idpId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformDefaultSupportedIdpConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeoutsOutputReference">IdentityPlatformDefaultSupportedIdpConfigTimeoutsOutputReference</a>

---

##### `clientIdInput`<sup>Optional</sup> <a name="clientIdInput" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.clientIdInput"></a>

```typescript
public readonly clientIdInput: string;
```

- *Type:* string

---

##### `clientSecretInput`<sup>Optional</sup> <a name="clientSecretInput" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.clientSecretInput"></a>

```typescript
public readonly clientSecretInput: string;
```

- *Type:* string

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `idpIdInput`<sup>Optional</sup> <a name="idpIdInput" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.idpIdInput"></a>

```typescript
public readonly idpIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IdentityPlatformDefaultSupportedIdpConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts">IdentityPlatformDefaultSupportedIdpConfigTimeouts</a>

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

---

##### `clientSecret`<sup>Required</sup> <a name="clientSecret" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.clientSecret"></a>

```typescript
public readonly clientSecret: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `idpId`<sup>Required</sup> <a name="idpId" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.idpId"></a>

```typescript
public readonly idpId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IdentityPlatformInboundSamlConfig <a name="IdentityPlatformInboundSamlConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config google_identity_platform_inbound_saml_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.Initializer"></a>

```typescript
import { IdentityPlatformInboundSamlConfig } from '@dschmidt/provider-google'

new IdentityPlatformInboundSamlConfig(scope: Construct, id: string, config: IdentityPlatformInboundSamlConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig">IdentityPlatformInboundSamlConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig">IdentityPlatformInboundSamlConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.putIdpConfig">putIdpConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.putSpConfig">putSpConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putIdpConfig` <a name="putIdpConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.putIdpConfig"></a>

```typescript
public putIdpConfig(value: IdentityPlatformInboundSamlConfigIdpConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.putIdpConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig">IdentityPlatformInboundSamlConfigIdpConfig</a>

---

##### `putSpConfig` <a name="putSpConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.putSpConfig"></a>

```typescript
public putSpConfig(value: IdentityPlatformInboundSamlConfigSpConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.putSpConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig">IdentityPlatformInboundSamlConfigSpConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: IdentityPlatformInboundSamlConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts">IdentityPlatformInboundSamlConfigTimeouts</a>

---

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.isConstruct"></a>

```typescript
import { IdentityPlatformInboundSamlConfig } from '@dschmidt/provider-google'

IdentityPlatformInboundSamlConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.idpConfig">idpConfig</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfigOutputReference">IdentityPlatformInboundSamlConfigIdpConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.spConfig">spConfig</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfigOutputReference">IdentityPlatformInboundSamlConfigSpConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeoutsOutputReference">IdentityPlatformInboundSamlConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.idpConfigInput">idpConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig">IdentityPlatformInboundSamlConfigIdpConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.spConfigInput">spConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig">IdentityPlatformInboundSamlConfigSpConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts">IdentityPlatformInboundSamlConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `idpConfig`<sup>Required</sup> <a name="idpConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.idpConfig"></a>

```typescript
public readonly idpConfig: IdentityPlatformInboundSamlConfigIdpConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfigOutputReference">IdentityPlatformInboundSamlConfigIdpConfigOutputReference</a>

---

##### `spConfig`<sup>Required</sup> <a name="spConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.spConfig"></a>

```typescript
public readonly spConfig: IdentityPlatformInboundSamlConfigSpConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfigOutputReference">IdentityPlatformInboundSamlConfigSpConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformInboundSamlConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeoutsOutputReference">IdentityPlatformInboundSamlConfigTimeoutsOutputReference</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `idpConfigInput`<sup>Optional</sup> <a name="idpConfigInput" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.idpConfigInput"></a>

```typescript
public readonly idpConfigInput: IdentityPlatformInboundSamlConfigIdpConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig">IdentityPlatformInboundSamlConfigIdpConfig</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `spConfigInput`<sup>Optional</sup> <a name="spConfigInput" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.spConfigInput"></a>

```typescript
public readonly spConfigInput: IdentityPlatformInboundSamlConfigSpConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig">IdentityPlatformInboundSamlConfigSpConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IdentityPlatformInboundSamlConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts">IdentityPlatformInboundSamlConfigTimeouts</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IdentityPlatformOauthIdpConfig <a name="IdentityPlatformOauthIdpConfig" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config google_identity_platform_oauth_idp_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.Initializer"></a>

```typescript
import { IdentityPlatformOauthIdpConfig } from '@dschmidt/provider-google'

new IdentityPlatformOauthIdpConfig(scope: Construct, id: string, config: IdentityPlatformOauthIdpConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig">IdentityPlatformOauthIdpConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig">IdentityPlatformOauthIdpConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetClientSecret">resetClientSecret</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: IdentityPlatformOauthIdpConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts">IdentityPlatformOauthIdpConfigTimeouts</a>

---

##### `resetClientSecret` <a name="resetClientSecret" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetClientSecret"></a>

```typescript
public resetClientSecret(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.isConstruct"></a>

```typescript
import { IdentityPlatformOauthIdpConfig } from '@dschmidt/provider-google'

IdentityPlatformOauthIdpConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeoutsOutputReference">IdentityPlatformOauthIdpConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.clientIdInput">clientIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.clientSecretInput">clientSecretInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.issuerInput">issuerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts">IdentityPlatformOauthIdpConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.clientId">clientId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.clientSecret">clientSecret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.issuer">issuer</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformOauthIdpConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeoutsOutputReference">IdentityPlatformOauthIdpConfigTimeoutsOutputReference</a>

---

##### `clientIdInput`<sup>Optional</sup> <a name="clientIdInput" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.clientIdInput"></a>

```typescript
public readonly clientIdInput: string;
```

- *Type:* string

---

##### `clientSecretInput`<sup>Optional</sup> <a name="clientSecretInput" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.clientSecretInput"></a>

```typescript
public readonly clientSecretInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `issuerInput`<sup>Optional</sup> <a name="issuerInput" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.issuerInput"></a>

```typescript
public readonly issuerInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IdentityPlatformOauthIdpConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts">IdentityPlatformOauthIdpConfigTimeouts</a>

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

---

##### `clientSecret`<sup>Required</sup> <a name="clientSecret" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.clientSecret"></a>

```typescript
public readonly clientSecret: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `issuer`<sup>Required</sup> <a name="issuer" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.issuer"></a>

```typescript
public readonly issuer: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IdentityPlatformTenant <a name="IdentityPlatformTenant" id="@dschmidt/provider-google.IdentityPlatformTenant"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant google_identity_platform_tenant}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IdentityPlatformTenant.Initializer"></a>

```typescript
import { IdentityPlatformTenant } from '@dschmidt/provider-google'

new IdentityPlatformTenant(scope: Construct, id: string, config: IdentityPlatformTenantConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig">IdentityPlatformTenantConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IdentityPlatformTenant.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenant.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IdentityPlatformTenant.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig">IdentityPlatformTenantConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.resetAllowPasswordSignup">resetAllowPasswordSignup</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.resetDisableAuth">resetDisableAuth</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.resetEnableEmailLinkSignin">resetEnableEmailLinkSignin</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IdentityPlatformTenant.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IdentityPlatformTenant.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IdentityPlatformTenant.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenant.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenant.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenant.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenant.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IdentityPlatformTenant.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IdentityPlatformTenant.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenant.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenant.putTimeouts"></a>

```typescript
public putTimeouts(value: IdentityPlatformTenantTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenant.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeouts">IdentityPlatformTenantTimeouts</a>

---

##### `resetAllowPasswordSignup` <a name="resetAllowPasswordSignup" id="@dschmidt/provider-google.IdentityPlatformTenant.resetAllowPasswordSignup"></a>

```typescript
public resetAllowPasswordSignup(): void
```

##### `resetDisableAuth` <a name="resetDisableAuth" id="@dschmidt/provider-google.IdentityPlatformTenant.resetDisableAuth"></a>

```typescript
public resetDisableAuth(): void
```

##### `resetEnableEmailLinkSignin` <a name="resetEnableEmailLinkSignin" id="@dschmidt/provider-google.IdentityPlatformTenant.resetEnableEmailLinkSignin"></a>

```typescript
public resetEnableEmailLinkSignin(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IdentityPlatformTenant.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IdentityPlatformTenant.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenant.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IdentityPlatformTenant.isConstruct"></a>

```typescript
import { IdentityPlatformTenant } from '@dschmidt/provider-google'

IdentityPlatformTenant.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IdentityPlatformTenant.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeoutsOutputReference">IdentityPlatformTenantTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.allowPasswordSignupInput">allowPasswordSignupInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.disableAuthInput">disableAuthInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.enableEmailLinkSigninInput">enableEmailLinkSigninInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeouts">IdentityPlatformTenantTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.allowPasswordSignup">allowPasswordSignup</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.disableAuth">disableAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.enableEmailLinkSignin">enableEmailLinkSignin</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IdentityPlatformTenant.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IdentityPlatformTenant.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IdentityPlatformTenant.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IdentityPlatformTenant.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IdentityPlatformTenant.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IdentityPlatformTenant.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IdentityPlatformTenant.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformTenant.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformTenant.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformTenant.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformTenant.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformTenant.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformTenant.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformTenant.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformTenant.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformTenant.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformTenantTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeoutsOutputReference">IdentityPlatformTenantTimeoutsOutputReference</a>

---

##### `allowPasswordSignupInput`<sup>Optional</sup> <a name="allowPasswordSignupInput" id="@dschmidt/provider-google.IdentityPlatformTenant.property.allowPasswordSignupInput"></a>

```typescript
public readonly allowPasswordSignupInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `disableAuthInput`<sup>Optional</sup> <a name="disableAuthInput" id="@dschmidt/provider-google.IdentityPlatformTenant.property.disableAuthInput"></a>

```typescript
public readonly disableAuthInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.IdentityPlatformTenant.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enableEmailLinkSigninInput`<sup>Optional</sup> <a name="enableEmailLinkSigninInput" id="@dschmidt/provider-google.IdentityPlatformTenant.property.enableEmailLinkSigninInput"></a>

```typescript
public readonly enableEmailLinkSigninInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IdentityPlatformTenant.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IdentityPlatformTenant.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IdentityPlatformTenant.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IdentityPlatformTenantTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeouts">IdentityPlatformTenantTimeouts</a>

---

##### `allowPasswordSignup`<sup>Required</sup> <a name="allowPasswordSignup" id="@dschmidt/provider-google.IdentityPlatformTenant.property.allowPasswordSignup"></a>

```typescript
public readonly allowPasswordSignup: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `disableAuth`<sup>Required</sup> <a name="disableAuth" id="@dschmidt/provider-google.IdentityPlatformTenant.property.disableAuth"></a>

```typescript
public readonly disableAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformTenant.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enableEmailLinkSignin`<sup>Required</sup> <a name="enableEmailLinkSignin" id="@dschmidt/provider-google.IdentityPlatformTenant.property.enableEmailLinkSignin"></a>

```typescript
public readonly enableEmailLinkSignin: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenant.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformTenant.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenant.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IdentityPlatformTenant.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IdentityPlatformTenantDefaultSupportedIdpConfig <a name="IdentityPlatformTenantDefaultSupportedIdpConfig" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config google_identity_platform_tenant_default_supported_idp_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.Initializer"></a>

```typescript
import { IdentityPlatformTenantDefaultSupportedIdpConfig } from '@dschmidt/provider-google'

new IdentityPlatformTenantDefaultSupportedIdpConfig(scope: Construct, id: string, config: IdentityPlatformTenantDefaultSupportedIdpConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig">IdentityPlatformTenantDefaultSupportedIdpConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig">IdentityPlatformTenantDefaultSupportedIdpConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts">IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts</a>

---

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.isConstruct"></a>

```typescript
import { IdentityPlatformTenantDefaultSupportedIdpConfig } from '@dschmidt/provider-google'

IdentityPlatformTenantDefaultSupportedIdpConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeoutsOutputReference">IdentityPlatformTenantDefaultSupportedIdpConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.clientIdInput">clientIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.clientSecretInput">clientSecretInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.idpIdInput">idpIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.tenantInput">tenantInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts">IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.clientId">clientId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.clientSecret">clientSecret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.idpId">idpId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.tenant">tenant</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformTenantDefaultSupportedIdpConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeoutsOutputReference">IdentityPlatformTenantDefaultSupportedIdpConfigTimeoutsOutputReference</a>

---

##### `clientIdInput`<sup>Optional</sup> <a name="clientIdInput" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.clientIdInput"></a>

```typescript
public readonly clientIdInput: string;
```

- *Type:* string

---

##### `clientSecretInput`<sup>Optional</sup> <a name="clientSecretInput" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.clientSecretInput"></a>

```typescript
public readonly clientSecretInput: string;
```

- *Type:* string

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `idpIdInput`<sup>Optional</sup> <a name="idpIdInput" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.idpIdInput"></a>

```typescript
public readonly idpIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `tenantInput`<sup>Optional</sup> <a name="tenantInput" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.tenantInput"></a>

```typescript
public readonly tenantInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts">IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts</a>

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

---

##### `clientSecret`<sup>Required</sup> <a name="clientSecret" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.clientSecret"></a>

```typescript
public readonly clientSecret: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `idpId`<sup>Required</sup> <a name="idpId" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.idpId"></a>

```typescript
public readonly idpId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `tenant`<sup>Required</sup> <a name="tenant" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.tenant"></a>

```typescript
public readonly tenant: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IdentityPlatformTenantInboundSamlConfig <a name="IdentityPlatformTenantInboundSamlConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config google_identity_platform_tenant_inbound_saml_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.Initializer"></a>

```typescript
import { IdentityPlatformTenantInboundSamlConfig } from '@dschmidt/provider-google'

new IdentityPlatformTenantInboundSamlConfig(scope: Construct, id: string, config: IdentityPlatformTenantInboundSamlConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig">IdentityPlatformTenantInboundSamlConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig">IdentityPlatformTenantInboundSamlConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.putIdpConfig">putIdpConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.putSpConfig">putSpConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putIdpConfig` <a name="putIdpConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.putIdpConfig"></a>

```typescript
public putIdpConfig(value: IdentityPlatformTenantInboundSamlConfigIdpConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.putIdpConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig">IdentityPlatformTenantInboundSamlConfigIdpConfig</a>

---

##### `putSpConfig` <a name="putSpConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.putSpConfig"></a>

```typescript
public putSpConfig(value: IdentityPlatformTenantInboundSamlConfigSpConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.putSpConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig">IdentityPlatformTenantInboundSamlConfigSpConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: IdentityPlatformTenantInboundSamlConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts">IdentityPlatformTenantInboundSamlConfigTimeouts</a>

---

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.isConstruct"></a>

```typescript
import { IdentityPlatformTenantInboundSamlConfig } from '@dschmidt/provider-google'

IdentityPlatformTenantInboundSamlConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.idpConfig">idpConfig</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfigOutputReference">IdentityPlatformTenantInboundSamlConfigIdpConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.spConfig">spConfig</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfigOutputReference">IdentityPlatformTenantInboundSamlConfigSpConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeoutsOutputReference">IdentityPlatformTenantInboundSamlConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.idpConfigInput">idpConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig">IdentityPlatformTenantInboundSamlConfigIdpConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.spConfigInput">spConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig">IdentityPlatformTenantInboundSamlConfigSpConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.tenantInput">tenantInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts">IdentityPlatformTenantInboundSamlConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.tenant">tenant</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `idpConfig`<sup>Required</sup> <a name="idpConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.idpConfig"></a>

```typescript
public readonly idpConfig: IdentityPlatformTenantInboundSamlConfigIdpConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfigOutputReference">IdentityPlatformTenantInboundSamlConfigIdpConfigOutputReference</a>

---

##### `spConfig`<sup>Required</sup> <a name="spConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.spConfig"></a>

```typescript
public readonly spConfig: IdentityPlatformTenantInboundSamlConfigSpConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfigOutputReference">IdentityPlatformTenantInboundSamlConfigSpConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformTenantInboundSamlConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeoutsOutputReference">IdentityPlatformTenantInboundSamlConfigTimeoutsOutputReference</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `idpConfigInput`<sup>Optional</sup> <a name="idpConfigInput" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.idpConfigInput"></a>

```typescript
public readonly idpConfigInput: IdentityPlatformTenantInboundSamlConfigIdpConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig">IdentityPlatformTenantInboundSamlConfigIdpConfig</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `spConfigInput`<sup>Optional</sup> <a name="spConfigInput" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.spConfigInput"></a>

```typescript
public readonly spConfigInput: IdentityPlatformTenantInboundSamlConfigSpConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig">IdentityPlatformTenantInboundSamlConfigSpConfig</a>

---

##### `tenantInput`<sup>Optional</sup> <a name="tenantInput" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.tenantInput"></a>

```typescript
public readonly tenantInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IdentityPlatformTenantInboundSamlConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts">IdentityPlatformTenantInboundSamlConfigTimeouts</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `tenant`<sup>Required</sup> <a name="tenant" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.tenant"></a>

```typescript
public readonly tenant: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### IdentityPlatformTenantOauthIdpConfig <a name="IdentityPlatformTenantOauthIdpConfig" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config google_identity_platform_tenant_oauth_idp_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.Initializer"></a>

```typescript
import { IdentityPlatformTenantOauthIdpConfig } from '@dschmidt/provider-google'

new IdentityPlatformTenantOauthIdpConfig(scope: Construct, id: string, config: IdentityPlatformTenantOauthIdpConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig">IdentityPlatformTenantOauthIdpConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig">IdentityPlatformTenantOauthIdpConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetClientSecret">resetClientSecret</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: IdentityPlatformTenantOauthIdpConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts">IdentityPlatformTenantOauthIdpConfigTimeouts</a>

---

##### `resetClientSecret` <a name="resetClientSecret" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetClientSecret"></a>

```typescript
public resetClientSecret(): void
```

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.isConstruct"></a>

```typescript
import { IdentityPlatformTenantOauthIdpConfig } from '@dschmidt/provider-google'

IdentityPlatformTenantOauthIdpConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeoutsOutputReference">IdentityPlatformTenantOauthIdpConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.clientIdInput">clientIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.clientSecretInput">clientSecretInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.issuerInput">issuerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.tenantInput">tenantInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts">IdentityPlatformTenantOauthIdpConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.clientId">clientId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.clientSecret">clientSecret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.issuer">issuer</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.tenant">tenant</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformTenantOauthIdpConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeoutsOutputReference">IdentityPlatformTenantOauthIdpConfigTimeoutsOutputReference</a>

---

##### `clientIdInput`<sup>Optional</sup> <a name="clientIdInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.clientIdInput"></a>

```typescript
public readonly clientIdInput: string;
```

- *Type:* string

---

##### `clientSecretInput`<sup>Optional</sup> <a name="clientSecretInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.clientSecretInput"></a>

```typescript
public readonly clientSecretInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `issuerInput`<sup>Optional</sup> <a name="issuerInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.issuerInput"></a>

```typescript
public readonly issuerInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `tenantInput`<sup>Optional</sup> <a name="tenantInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.tenantInput"></a>

```typescript
public readonly tenantInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | IdentityPlatformTenantOauthIdpConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts">IdentityPlatformTenantOauthIdpConfigTimeouts</a>

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

---

##### `clientSecret`<sup>Required</sup> <a name="clientSecret" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.clientSecret"></a>

```typescript
public readonly clientSecret: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `issuer`<sup>Required</sup> <a name="issuer" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.issuer"></a>

```typescript
public readonly issuer: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `tenant`<sup>Required</sup> <a name="tenant" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.tenant"></a>

```typescript
public readonly tenant: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsCryptoKey <a name="KmsCryptoKey" id="@dschmidt/provider-google.KmsCryptoKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key google_kms_crypto_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsCryptoKey.Initializer"></a>

```typescript
import { KmsCryptoKey } from '@dschmidt/provider-google'

new KmsCryptoKey(scope: Construct, id: string, config: KmsCryptoKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig">KmsCryptoKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsCryptoKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsCryptoKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyConfig">KmsCryptoKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.putVersionTemplate">putVersionTemplate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetDestroyScheduledDuration">resetDestroyScheduledDuration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetImportOnly">resetImportOnly</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetPurpose">resetPurpose</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetRotationPeriod">resetRotationPeriod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetSkipInitialVersionCreation">resetSkipInitialVersionCreation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.resetVersionTemplate">resetVersionTemplate</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsCryptoKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsCryptoKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsCryptoKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsCryptoKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsCryptoKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsCryptoKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsCryptoKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsCryptoKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsCryptoKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsCryptoKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.KmsCryptoKey.putTimeouts"></a>

```typescript
public putTimeouts(value: KmsCryptoKeyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsCryptoKey.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyTimeouts">KmsCryptoKeyTimeouts</a>

---

##### `putVersionTemplate` <a name="putVersionTemplate" id="@dschmidt/provider-google.KmsCryptoKey.putVersionTemplate"></a>

```typescript
public putVersionTemplate(value: KmsCryptoKeyVersionTemplate): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsCryptoKey.putVersionTemplate.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyVersionTemplate">KmsCryptoKeyVersionTemplate</a>

---

##### `resetDestroyScheduledDuration` <a name="resetDestroyScheduledDuration" id="@dschmidt/provider-google.KmsCryptoKey.resetDestroyScheduledDuration"></a>

```typescript
public resetDestroyScheduledDuration(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsCryptoKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetImportOnly` <a name="resetImportOnly" id="@dschmidt/provider-google.KmsCryptoKey.resetImportOnly"></a>

```typescript
public resetImportOnly(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.KmsCryptoKey.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetPurpose` <a name="resetPurpose" id="@dschmidt/provider-google.KmsCryptoKey.resetPurpose"></a>

```typescript
public resetPurpose(): void
```

##### `resetRotationPeriod` <a name="resetRotationPeriod" id="@dschmidt/provider-google.KmsCryptoKey.resetRotationPeriod"></a>

```typescript
public resetRotationPeriod(): void
```

##### `resetSkipInitialVersionCreation` <a name="resetSkipInitialVersionCreation" id="@dschmidt/provider-google.KmsCryptoKey.resetSkipInitialVersionCreation"></a>

```typescript
public resetSkipInitialVersionCreation(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.KmsCryptoKey.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVersionTemplate` <a name="resetVersionTemplate" id="@dschmidt/provider-google.KmsCryptoKey.resetVersionTemplate"></a>

```typescript
public resetVersionTemplate(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsCryptoKey.isConstruct"></a>

```typescript
import { KmsCryptoKey } from '@dschmidt/provider-google'

KmsCryptoKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsCryptoKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyTimeoutsOutputReference">KmsCryptoKeyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.versionTemplate">versionTemplate</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyVersionTemplateOutputReference">KmsCryptoKeyVersionTemplateOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.destroyScheduledDurationInput">destroyScheduledDurationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.importOnlyInput">importOnlyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.keyRingInput">keyRingInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.purposeInput">purposeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.rotationPeriodInput">rotationPeriodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.skipInitialVersionCreationInput">skipInitialVersionCreationInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.KmsCryptoKeyTimeouts">KmsCryptoKeyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.versionTemplateInput">versionTemplateInput</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyVersionTemplate">KmsCryptoKeyVersionTemplate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.destroyScheduledDuration">destroyScheduledDuration</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.importOnly">importOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.keyRing">keyRing</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.purpose">purpose</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.rotationPeriod">rotationPeriod</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.skipInitialVersionCreation">skipInitialVersionCreation</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsCryptoKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsCryptoKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsCryptoKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsCryptoKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsCryptoKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsCryptoKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsCryptoKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsCryptoKey.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsCryptoKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsCryptoKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsCryptoKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsCryptoKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsCryptoKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsCryptoKey.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.KmsCryptoKey.property.timeouts"></a>

```typescript
public readonly timeouts: KmsCryptoKeyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyTimeoutsOutputReference">KmsCryptoKeyTimeoutsOutputReference</a>

---

##### `versionTemplate`<sup>Required</sup> <a name="versionTemplate" id="@dschmidt/provider-google.KmsCryptoKey.property.versionTemplate"></a>

```typescript
public readonly versionTemplate: KmsCryptoKeyVersionTemplateOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyVersionTemplateOutputReference">KmsCryptoKeyVersionTemplateOutputReference</a>

---

##### `destroyScheduledDurationInput`<sup>Optional</sup> <a name="destroyScheduledDurationInput" id="@dschmidt/provider-google.KmsCryptoKey.property.destroyScheduledDurationInput"></a>

```typescript
public readonly destroyScheduledDurationInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsCryptoKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `importOnlyInput`<sup>Optional</sup> <a name="importOnlyInput" id="@dschmidt/provider-google.KmsCryptoKey.property.importOnlyInput"></a>

```typescript
public readonly importOnlyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `keyRingInput`<sup>Optional</sup> <a name="keyRingInput" id="@dschmidt/provider-google.KmsCryptoKey.property.keyRingInput"></a>

```typescript
public readonly keyRingInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.KmsCryptoKey.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.KmsCryptoKey.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `purposeInput`<sup>Optional</sup> <a name="purposeInput" id="@dschmidt/provider-google.KmsCryptoKey.property.purposeInput"></a>

```typescript
public readonly purposeInput: string;
```

- *Type:* string

---

##### `rotationPeriodInput`<sup>Optional</sup> <a name="rotationPeriodInput" id="@dschmidt/provider-google.KmsCryptoKey.property.rotationPeriodInput"></a>

```typescript
public readonly rotationPeriodInput: string;
```

- *Type:* string

---

##### `skipInitialVersionCreationInput`<sup>Optional</sup> <a name="skipInitialVersionCreationInput" id="@dschmidt/provider-google.KmsCryptoKey.property.skipInitialVersionCreationInput"></a>

```typescript
public readonly skipInitialVersionCreationInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.KmsCryptoKey.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | KmsCryptoKeyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.KmsCryptoKeyTimeouts">KmsCryptoKeyTimeouts</a>

---

##### `versionTemplateInput`<sup>Optional</sup> <a name="versionTemplateInput" id="@dschmidt/provider-google.KmsCryptoKey.property.versionTemplateInput"></a>

```typescript
public readonly versionTemplateInput: KmsCryptoKeyVersionTemplate;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyVersionTemplate">KmsCryptoKeyVersionTemplate</a>

---

##### `destroyScheduledDuration`<sup>Required</sup> <a name="destroyScheduledDuration" id="@dschmidt/provider-google.KmsCryptoKey.property.destroyScheduledDuration"></a>

```typescript
public readonly destroyScheduledDuration: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `importOnly`<sup>Required</sup> <a name="importOnly" id="@dschmidt/provider-google.KmsCryptoKey.property.importOnly"></a>

```typescript
public readonly importOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `keyRing`<sup>Required</sup> <a name="keyRing" id="@dschmidt/provider-google.KmsCryptoKey.property.keyRing"></a>

```typescript
public readonly keyRing: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.KmsCryptoKey.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.KmsCryptoKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `purpose`<sup>Required</sup> <a name="purpose" id="@dschmidt/provider-google.KmsCryptoKey.property.purpose"></a>

```typescript
public readonly purpose: string;
```

- *Type:* string

---

##### `rotationPeriod`<sup>Required</sup> <a name="rotationPeriod" id="@dschmidt/provider-google.KmsCryptoKey.property.rotationPeriod"></a>

```typescript
public readonly rotationPeriod: string;
```

- *Type:* string

---

##### `skipInitialVersionCreation`<sup>Required</sup> <a name="skipInitialVersionCreation" id="@dschmidt/provider-google.KmsCryptoKey.property.skipInitialVersionCreation"></a>

```typescript
public readonly skipInitialVersionCreation: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsCryptoKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsCryptoKeyIamBinding <a name="KmsCryptoKeyIamBinding" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding google_kms_crypto_key_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.Initializer"></a>

```typescript
import { KmsCryptoKeyIamBinding } from '@dschmidt/provider-google'

new KmsCryptoKeyIamBinding(scope: Construct, id: string, config: KmsCryptoKeyIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig">KmsCryptoKeyIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig">KmsCryptoKeyIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.putCondition"></a>

```typescript
public putCondition(value: KmsCryptoKeyIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition">KmsCryptoKeyIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.isConstruct"></a>

```typescript
import { KmsCryptoKeyIamBinding } from '@dschmidt/provider-google'

KmsCryptoKeyIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConditionOutputReference">KmsCryptoKeyIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition">KmsCryptoKeyIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.cryptoKeyIdInput">cryptoKeyIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.cryptoKeyId">cryptoKeyId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.condition"></a>

```typescript
public readonly condition: KmsCryptoKeyIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConditionOutputReference">KmsCryptoKeyIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: KmsCryptoKeyIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition">KmsCryptoKeyIamBindingCondition</a>

---

##### `cryptoKeyIdInput`<sup>Optional</sup> <a name="cryptoKeyIdInput" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.cryptoKeyIdInput"></a>

```typescript
public readonly cryptoKeyIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `cryptoKeyId`<sup>Required</sup> <a name="cryptoKeyId" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.cryptoKeyId"></a>

```typescript
public readonly cryptoKeyId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsCryptoKeyIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsCryptoKeyIamMember <a name="KmsCryptoKeyIamMember" id="@dschmidt/provider-google.KmsCryptoKeyIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member google_kms_crypto_key_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.Initializer"></a>

```typescript
import { KmsCryptoKeyIamMember } from '@dschmidt/provider-google'

new KmsCryptoKeyIamMember(scope: Construct, id: string, config: KmsCryptoKeyIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig">KmsCryptoKeyIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig">KmsCryptoKeyIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.putCondition"></a>

```typescript
public putCondition(value: KmsCryptoKeyIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition">KmsCryptoKeyIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.isConstruct"></a>

```typescript
import { KmsCryptoKeyIamMember } from '@dschmidt/provider-google'

KmsCryptoKeyIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConditionOutputReference">KmsCryptoKeyIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition">KmsCryptoKeyIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.cryptoKeyIdInput">cryptoKeyIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.cryptoKeyId">cryptoKeyId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.condition"></a>

```typescript
public readonly condition: KmsCryptoKeyIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConditionOutputReference">KmsCryptoKeyIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: KmsCryptoKeyIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition">KmsCryptoKeyIamMemberCondition</a>

---

##### `cryptoKeyIdInput`<sup>Optional</sup> <a name="cryptoKeyIdInput" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.cryptoKeyIdInput"></a>

```typescript
public readonly cryptoKeyIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `cryptoKeyId`<sup>Required</sup> <a name="cryptoKeyId" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.cryptoKeyId"></a>

```typescript
public readonly cryptoKeyId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsCryptoKeyIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsCryptoKeyIamPolicy <a name="KmsCryptoKeyIamPolicy" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_policy google_kms_crypto_key_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.Initializer"></a>

```typescript
import { KmsCryptoKeyIamPolicy } from '@dschmidt/provider-google'

new KmsCryptoKeyIamPolicy(scope: Construct, id: string, config: KmsCryptoKeyIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig">KmsCryptoKeyIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig">KmsCryptoKeyIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.isConstruct"></a>

```typescript
import { KmsCryptoKeyIamPolicy } from '@dschmidt/provider-google'

KmsCryptoKeyIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.cryptoKeyIdInput">cryptoKeyIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.cryptoKeyId">cryptoKeyId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `cryptoKeyIdInput`<sup>Optional</sup> <a name="cryptoKeyIdInput" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.cryptoKeyIdInput"></a>

```typescript
public readonly cryptoKeyIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `cryptoKeyId`<sup>Required</sup> <a name="cryptoKeyId" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.cryptoKeyId"></a>

```typescript
public readonly cryptoKeyId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsKeyRing <a name="KmsKeyRing" id="@dschmidt/provider-google.KmsKeyRing"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring google_kms_key_ring}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsKeyRing.Initializer"></a>

```typescript
import { KmsKeyRing } from '@dschmidt/provider-google'

new KmsKeyRing(scope: Construct, id: string, config: KmsKeyRingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig">KmsKeyRingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsKeyRing.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRing.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsKeyRing.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingConfig">KmsKeyRingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsKeyRing.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsKeyRing.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsKeyRing.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsKeyRing.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsKeyRing.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsKeyRing.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsKeyRing.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsKeyRing.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsKeyRing.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsKeyRing.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsKeyRing.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsKeyRing.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsKeyRing.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsKeyRing.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsKeyRing.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsKeyRing.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsKeyRing.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsKeyRing.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsKeyRing.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRing.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.KmsKeyRing.putTimeouts"></a>

```typescript
public putTimeouts(value: KmsKeyRingTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsKeyRing.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingTimeouts">KmsKeyRingTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsKeyRing.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.KmsKeyRing.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.KmsKeyRing.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsKeyRing.isConstruct"></a>

```typescript
import { KmsKeyRing } from '@dschmidt/provider-google'

KmsKeyRing.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsKeyRing.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingTimeoutsOutputReference">KmsKeyRingTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.KmsKeyRingTimeouts">KmsKeyRingTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsKeyRing.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsKeyRing.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsKeyRing.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsKeyRing.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsKeyRing.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsKeyRing.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsKeyRing.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRing.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRing.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRing.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRing.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRing.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRing.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRing.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.KmsKeyRing.property.timeouts"></a>

```typescript
public readonly timeouts: KmsKeyRingTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingTimeoutsOutputReference">KmsKeyRingTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsKeyRing.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.KmsKeyRing.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.KmsKeyRing.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.KmsKeyRing.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.KmsKeyRing.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | KmsKeyRingTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.KmsKeyRingTimeouts">KmsKeyRingTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRing.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.KmsKeyRing.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.KmsKeyRing.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.KmsKeyRing.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRing.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsKeyRing.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsKeyRingIamBinding <a name="KmsKeyRingIamBinding" id="@dschmidt/provider-google.KmsKeyRingIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding google_kms_key_ring_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsKeyRingIamBinding.Initializer"></a>

```typescript
import { KmsKeyRingIamBinding } from '@dschmidt/provider-google'

new KmsKeyRingIamBinding(scope: Construct, id: string, config: KmsKeyRingIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig">KmsKeyRingIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsKeyRingIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsKeyRingIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig">KmsKeyRingIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsKeyRingIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsKeyRingIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsKeyRingIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsKeyRingIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsKeyRingIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsKeyRingIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsKeyRingIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsKeyRingIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsKeyRingIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.KmsKeyRingIamBinding.putCondition"></a>

```typescript
public putCondition(value: KmsKeyRingIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsKeyRingIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamBindingCondition">KmsKeyRingIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.KmsKeyRingIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsKeyRingIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsKeyRingIamBinding.isConstruct"></a>

```typescript
import { KmsKeyRingIamBinding } from '@dschmidt/provider-google'

KmsKeyRingIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsKeyRingIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConditionOutputReference">KmsKeyRingIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingCondition">KmsKeyRingIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.keyRingIdInput">keyRingIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.keyRingId">keyRingId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.condition"></a>

```typescript
public readonly condition: KmsKeyRingIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConditionOutputReference">KmsKeyRingIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: KmsKeyRingIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamBindingCondition">KmsKeyRingIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `keyRingIdInput`<sup>Optional</sup> <a name="keyRingIdInput" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.keyRingIdInput"></a>

```typescript
public readonly keyRingIdInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `keyRingId`<sup>Required</sup> <a name="keyRingId" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.keyRingId"></a>

```typescript
public readonly keyRingId: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsKeyRingIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsKeyRingIamMember <a name="KmsKeyRingIamMember" id="@dschmidt/provider-google.KmsKeyRingIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member google_kms_key_ring_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsKeyRingIamMember.Initializer"></a>

```typescript
import { KmsKeyRingIamMember } from '@dschmidt/provider-google'

new KmsKeyRingIamMember(scope: Construct, id: string, config: KmsKeyRingIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig">KmsKeyRingIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsKeyRingIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsKeyRingIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig">KmsKeyRingIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsKeyRingIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsKeyRingIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsKeyRingIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsKeyRingIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsKeyRingIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsKeyRingIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsKeyRingIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsKeyRingIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsKeyRingIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.KmsKeyRingIamMember.putCondition"></a>

```typescript
public putCondition(value: KmsKeyRingIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsKeyRingIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamMemberCondition">KmsKeyRingIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.KmsKeyRingIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsKeyRingIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsKeyRingIamMember.isConstruct"></a>

```typescript
import { KmsKeyRingIamMember } from '@dschmidt/provider-google'

KmsKeyRingIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsKeyRingIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConditionOutputReference">KmsKeyRingIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberCondition">KmsKeyRingIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.keyRingIdInput">keyRingIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.keyRingId">keyRingId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.condition"></a>

```typescript
public readonly condition: KmsKeyRingIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConditionOutputReference">KmsKeyRingIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: KmsKeyRingIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamMemberCondition">KmsKeyRingIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `keyRingIdInput`<sup>Optional</sup> <a name="keyRingIdInput" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.keyRingIdInput"></a>

```typescript
public readonly keyRingIdInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `keyRingId`<sup>Required</sup> <a name="keyRingId" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.keyRingId"></a>

```typescript
public readonly keyRingId: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsKeyRingIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsKeyRingIamPolicy <a name="KmsKeyRingIamPolicy" id="@dschmidt/provider-google.KmsKeyRingIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_policy google_kms_key_ring_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.Initializer"></a>

```typescript
import { KmsKeyRingIamPolicy } from '@dschmidt/provider-google'

new KmsKeyRingIamPolicy(scope: Construct, id: string, config: KmsKeyRingIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig">KmsKeyRingIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig">KmsKeyRingIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.isConstruct"></a>

```typescript
import { KmsKeyRingIamPolicy } from '@dschmidt/provider-google'

KmsKeyRingIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.keyRingIdInput">keyRingIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.keyRingId">keyRingId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `keyRingIdInput`<sup>Optional</sup> <a name="keyRingIdInput" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.keyRingIdInput"></a>

```typescript
public readonly keyRingIdInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `keyRingId`<sup>Required</sup> <a name="keyRingId" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.keyRingId"></a>

```typescript
public readonly keyRingId: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsKeyRingIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsKeyRingImportJob <a name="KmsKeyRingImportJob" id="@dschmidt/provider-google.KmsKeyRingImportJob"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job google_kms_key_ring_import_job}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsKeyRingImportJob.Initializer"></a>

```typescript
import { KmsKeyRingImportJob } from '@dschmidt/provider-google'

new KmsKeyRingImportJob(scope: Construct, id: string, config: KmsKeyRingImportJobConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig">KmsKeyRingImportJobConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsKeyRingImportJob.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingImportJob.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsKeyRingImportJob.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig">KmsKeyRingImportJobConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsKeyRingImportJob.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsKeyRingImportJob.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsKeyRingImportJob.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsKeyRingImportJob.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsKeyRingImportJob.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsKeyRingImportJob.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsKeyRingImportJob.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsKeyRingImportJob.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsKeyRingImportJob.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsKeyRingImportJob.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.KmsKeyRingImportJob.putTimeouts"></a>

```typescript
public putTimeouts(value: KmsKeyRingImportJobTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsKeyRingImportJob.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingImportJobTimeouts">KmsKeyRingImportJobTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsKeyRingImportJob.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.KmsKeyRingImportJob.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsKeyRingImportJob.isConstruct"></a>

```typescript
import { KmsKeyRingImportJob } from '@dschmidt/provider-google'

KmsKeyRingImportJob.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsKeyRingImportJob.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.attestation">attestation</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobAttestationList">KmsKeyRingImportJobAttestationList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.expireTime">expireTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.publicKey">publicKey</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobPublicKeyList">KmsKeyRingImportJobPublicKeyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobTimeoutsOutputReference">KmsKeyRingImportJobTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.importJobIdInput">importJobIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.importMethodInput">importMethodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.keyRingInput">keyRingInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.protectionLevelInput">protectionLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.KmsKeyRingImportJobTimeouts">KmsKeyRingImportJobTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.importJobId">importJobId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.importMethod">importMethod</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.keyRing">keyRing</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.protectionLevel">protectionLevel</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestation`<sup>Required</sup> <a name="attestation" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.attestation"></a>

```typescript
public readonly attestation: KmsKeyRingImportJobAttestationList;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingImportJobAttestationList">KmsKeyRingImportJobAttestationList</a>

---

##### `expireTime`<sup>Required</sup> <a name="expireTime" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.expireTime"></a>

```typescript
public readonly expireTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `publicKey`<sup>Required</sup> <a name="publicKey" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.publicKey"></a>

```typescript
public readonly publicKey: KmsKeyRingImportJobPublicKeyList;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingImportJobPublicKeyList">KmsKeyRingImportJobPublicKeyList</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.timeouts"></a>

```typescript
public readonly timeouts: KmsKeyRingImportJobTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingImportJobTimeoutsOutputReference">KmsKeyRingImportJobTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `importJobIdInput`<sup>Optional</sup> <a name="importJobIdInput" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.importJobIdInput"></a>

```typescript
public readonly importJobIdInput: string;
```

- *Type:* string

---

##### `importMethodInput`<sup>Optional</sup> <a name="importMethodInput" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.importMethodInput"></a>

```typescript
public readonly importMethodInput: string;
```

- *Type:* string

---

##### `keyRingInput`<sup>Optional</sup> <a name="keyRingInput" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.keyRingInput"></a>

```typescript
public readonly keyRingInput: string;
```

- *Type:* string

---

##### `protectionLevelInput`<sup>Optional</sup> <a name="protectionLevelInput" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.protectionLevelInput"></a>

```typescript
public readonly protectionLevelInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | KmsKeyRingImportJobTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.KmsKeyRingImportJobTimeouts">KmsKeyRingImportJobTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `importJobId`<sup>Required</sup> <a name="importJobId" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.importJobId"></a>

```typescript
public readonly importJobId: string;
```

- *Type:* string

---

##### `importMethod`<sup>Required</sup> <a name="importMethod" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.importMethod"></a>

```typescript
public readonly importMethod: string;
```

- *Type:* string

---

##### `keyRing`<sup>Required</sup> <a name="keyRing" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.keyRing"></a>

```typescript
public readonly keyRing: string;
```

- *Type:* string

---

##### `protectionLevel`<sup>Required</sup> <a name="protectionLevel" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.protectionLevel"></a>

```typescript
public readonly protectionLevel: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJob.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsKeyRingImportJob.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### KmsSecretCiphertext <a name="KmsSecretCiphertext" id="@dschmidt/provider-google.KmsSecretCiphertext"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext google_kms_secret_ciphertext}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.KmsSecretCiphertext.Initializer"></a>

```typescript
import { KmsSecretCiphertext } from '@dschmidt/provider-google'

new KmsSecretCiphertext(scope: Construct, id: string, config: KmsSecretCiphertextConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig">KmsSecretCiphertextConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.KmsSecretCiphertext.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsSecretCiphertext.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.KmsSecretCiphertext.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig">KmsSecretCiphertextConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.resetAdditionalAuthenticatedData">resetAdditionalAuthenticatedData</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.KmsSecretCiphertext.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.KmsSecretCiphertext.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.KmsSecretCiphertext.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsSecretCiphertext.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.KmsSecretCiphertext.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.KmsSecretCiphertext.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.KmsSecretCiphertext.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.KmsSecretCiphertext.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.KmsSecretCiphertext.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.KmsSecretCiphertext.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.KmsSecretCiphertext.putTimeouts"></a>

```typescript
public putTimeouts(value: KmsSecretCiphertextTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.KmsSecretCiphertext.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.KmsSecretCiphertextTimeouts">KmsSecretCiphertextTimeouts</a>

---

##### `resetAdditionalAuthenticatedData` <a name="resetAdditionalAuthenticatedData" id="@dschmidt/provider-google.KmsSecretCiphertext.resetAdditionalAuthenticatedData"></a>

```typescript
public resetAdditionalAuthenticatedData(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.KmsSecretCiphertext.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.KmsSecretCiphertext.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.KmsSecretCiphertext.isConstruct"></a>

```typescript
import { KmsSecretCiphertext } from '@dschmidt/provider-google'

KmsSecretCiphertext.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.KmsSecretCiphertext.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.ciphertext">ciphertext</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextTimeoutsOutputReference">KmsSecretCiphertextTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.additionalAuthenticatedDataInput">additionalAuthenticatedDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.cryptoKeyInput">cryptoKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.plaintextInput">plaintextInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.KmsSecretCiphertextTimeouts">KmsSecretCiphertextTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.additionalAuthenticatedData">additionalAuthenticatedData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.cryptoKey">cryptoKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.plaintext">plaintext</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.KmsSecretCiphertext.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.KmsSecretCiphertext.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.KmsSecretCiphertext.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.KmsSecretCiphertext.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.KmsSecretCiphertext.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.KmsSecretCiphertext.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.KmsSecretCiphertext.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsSecretCiphertext.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsSecretCiphertext.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsSecretCiphertext.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsSecretCiphertext.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsSecretCiphertext.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsSecretCiphertext.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsSecretCiphertext.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `ciphertext`<sup>Required</sup> <a name="ciphertext" id="@dschmidt/provider-google.KmsSecretCiphertext.property.ciphertext"></a>

```typescript
public readonly ciphertext: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.KmsSecretCiphertext.property.timeouts"></a>

```typescript
public readonly timeouts: KmsSecretCiphertextTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsSecretCiphertextTimeoutsOutputReference">KmsSecretCiphertextTimeoutsOutputReference</a>

---

##### `additionalAuthenticatedDataInput`<sup>Optional</sup> <a name="additionalAuthenticatedDataInput" id="@dschmidt/provider-google.KmsSecretCiphertext.property.additionalAuthenticatedDataInput"></a>

```typescript
public readonly additionalAuthenticatedDataInput: string;
```

- *Type:* string

---

##### `cryptoKeyInput`<sup>Optional</sup> <a name="cryptoKeyInput" id="@dschmidt/provider-google.KmsSecretCiphertext.property.cryptoKeyInput"></a>

```typescript
public readonly cryptoKeyInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.KmsSecretCiphertext.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `plaintextInput`<sup>Optional</sup> <a name="plaintextInput" id="@dschmidt/provider-google.KmsSecretCiphertext.property.plaintextInput"></a>

```typescript
public readonly plaintextInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.KmsSecretCiphertext.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | KmsSecretCiphertextTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.KmsSecretCiphertextTimeouts">KmsSecretCiphertextTimeouts</a>

---

##### `additionalAuthenticatedData`<sup>Required</sup> <a name="additionalAuthenticatedData" id="@dschmidt/provider-google.KmsSecretCiphertext.property.additionalAuthenticatedData"></a>

```typescript
public readonly additionalAuthenticatedData: string;
```

- *Type:* string

---

##### `cryptoKey`<sup>Required</sup> <a name="cryptoKey" id="@dschmidt/provider-google.KmsSecretCiphertext.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.KmsSecretCiphertext.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `plaintext`<sup>Required</sup> <a name="plaintext" id="@dschmidt/provider-google.KmsSecretCiphertext.property.plaintext"></a>

```typescript
public readonly plaintext: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertext.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.KmsSecretCiphertext.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingBillingAccountBucketConfig <a name="LoggingBillingAccountBucketConfig" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_bucket_config google_logging_billing_account_bucket_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.Initializer"></a>

```typescript
import { LoggingBillingAccountBucketConfig } from '@dschmidt/provider-google'

new LoggingBillingAccountBucketConfig(scope: Construct, id: string, config: LoggingBillingAccountBucketConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig">LoggingBillingAccountBucketConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig">LoggingBillingAccountBucketConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.resetRetentionDays">resetRetentionDays</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetRetentionDays` <a name="resetRetentionDays" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.resetRetentionDays"></a>

```typescript
public resetRetentionDays(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.isConstruct"></a>

```typescript
import { LoggingBillingAccountBucketConfig } from '@dschmidt/provider-google'

LoggingBillingAccountBucketConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.lifecycleState">lifecycleState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.billingAccountInput">billingAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.bucketIdInput">bucketIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.retentionDaysInput">retentionDaysInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.billingAccount">billingAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.bucketId">bucketId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.retentionDays">retentionDays</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `lifecycleState`<sup>Required</sup> <a name="lifecycleState" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.lifecycleState"></a>

```typescript
public readonly lifecycleState: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `billingAccountInput`<sup>Optional</sup> <a name="billingAccountInput" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.billingAccountInput"></a>

```typescript
public readonly billingAccountInput: string;
```

- *Type:* string

---

##### `bucketIdInput`<sup>Optional</sup> <a name="bucketIdInput" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.bucketIdInput"></a>

```typescript
public readonly bucketIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `retentionDaysInput`<sup>Optional</sup> <a name="retentionDaysInput" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.retentionDaysInput"></a>

```typescript
public readonly retentionDaysInput: number;
```

- *Type:* number

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

---

##### `bucketId`<sup>Required</sup> <a name="bucketId" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.bucketId"></a>

```typescript
public readonly bucketId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `retentionDays`<sup>Required</sup> <a name="retentionDays" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.retentionDays"></a>

```typescript
public readonly retentionDays: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingBillingAccountExclusion <a name="LoggingBillingAccountExclusion" id="@dschmidt/provider-google.LoggingBillingAccountExclusion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_exclusion google_logging_billing_account_exclusion}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.Initializer"></a>

```typescript
import { LoggingBillingAccountExclusion } from '@dschmidt/provider-google'

new LoggingBillingAccountExclusion(scope: Construct, id: string, config: LoggingBillingAccountExclusionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig">LoggingBillingAccountExclusionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig">LoggingBillingAccountExclusionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.isConstruct"></a>

```typescript
import { LoggingBillingAccountExclusion } from '@dschmidt/provider-google'

LoggingBillingAccountExclusion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.billingAccountInput">billingAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.billingAccount">billingAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccountInput`<sup>Optional</sup> <a name="billingAccountInput" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.billingAccountInput"></a>

```typescript
public readonly billingAccountInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingBillingAccountExclusion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingBillingAccountSink <a name="LoggingBillingAccountSink" id="@dschmidt/provider-google.LoggingBillingAccountSink"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink google_logging_billing_account_sink}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingBillingAccountSink.Initializer"></a>

```typescript
import { LoggingBillingAccountSink } from '@dschmidt/provider-google'

new LoggingBillingAccountSink(scope: Construct, id: string, config: LoggingBillingAccountSinkConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig">LoggingBillingAccountSinkConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingBillingAccountSink.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingBillingAccountSink.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingBillingAccountSink.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig">LoggingBillingAccountSinkConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.putBigqueryOptions">putBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.putExclusions">putExclusions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.resetBigqueryOptions">resetBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.resetExclusions">resetExclusions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingBillingAccountSink.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingBillingAccountSink.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingBillingAccountSink.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingBillingAccountSink.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingBillingAccountSink.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingBillingAccountSink.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingBillingAccountSink.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingBillingAccountSink.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingBillingAccountSink.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingBillingAccountSink.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBigqueryOptions` <a name="putBigqueryOptions" id="@dschmidt/provider-google.LoggingBillingAccountSink.putBigqueryOptions"></a>

```typescript
public putBigqueryOptions(value: LoggingBillingAccountSinkBigqueryOptions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingBillingAccountSink.putBigqueryOptions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptions">LoggingBillingAccountSinkBigqueryOptions</a>

---

##### `putExclusions` <a name="putExclusions" id="@dschmidt/provider-google.LoggingBillingAccountSink.putExclusions"></a>

```typescript
public putExclusions(value: IResolvable | LoggingBillingAccountSinkExclusions[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingBillingAccountSink.putExclusions.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusions">LoggingBillingAccountSinkExclusions</a>[]

---

##### `resetBigqueryOptions` <a name="resetBigqueryOptions" id="@dschmidt/provider-google.LoggingBillingAccountSink.resetBigqueryOptions"></a>

```typescript
public resetBigqueryOptions(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingBillingAccountSink.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.LoggingBillingAccountSink.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetExclusions` <a name="resetExclusions" id="@dschmidt/provider-google.LoggingBillingAccountSink.resetExclusions"></a>

```typescript
public resetExclusions(): void
```

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.LoggingBillingAccountSink.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingBillingAccountSink.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingBillingAccountSink.isConstruct"></a>

```typescript
import { LoggingBillingAccountSink } from '@dschmidt/provider-google'

LoggingBillingAccountSink.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingBillingAccountSink.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.bigqueryOptions">bigqueryOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptionsOutputReference">LoggingBillingAccountSinkBigqueryOptionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.exclusions">exclusions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusionsList">LoggingBillingAccountSinkExclusionsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.writerIdentity">writerIdentity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.bigqueryOptionsInput">bigqueryOptionsInput</a></code> | <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptions">LoggingBillingAccountSinkBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.billingAccountInput">billingAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.destinationInput">destinationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.exclusionsInput">exclusionsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusions">LoggingBillingAccountSinkExclusions</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.billingAccount">billingAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.destination">destination</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bigqueryOptions`<sup>Required</sup> <a name="bigqueryOptions" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.bigqueryOptions"></a>

```typescript
public readonly bigqueryOptions: LoggingBillingAccountSinkBigqueryOptionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptionsOutputReference">LoggingBillingAccountSinkBigqueryOptionsOutputReference</a>

---

##### `exclusions`<sup>Required</sup> <a name="exclusions" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.exclusions"></a>

```typescript
public readonly exclusions: LoggingBillingAccountSinkExclusionsList;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusionsList">LoggingBillingAccountSinkExclusionsList</a>

---

##### `writerIdentity`<sup>Required</sup> <a name="writerIdentity" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.writerIdentity"></a>

```typescript
public readonly writerIdentity: string;
```

- *Type:* string

---

##### `bigqueryOptionsInput`<sup>Optional</sup> <a name="bigqueryOptionsInput" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.bigqueryOptionsInput"></a>

```typescript
public readonly bigqueryOptionsInput: LoggingBillingAccountSinkBigqueryOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptions">LoggingBillingAccountSinkBigqueryOptions</a>

---

##### `billingAccountInput`<sup>Optional</sup> <a name="billingAccountInput" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.billingAccountInput"></a>

```typescript
public readonly billingAccountInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `destinationInput`<sup>Optional</sup> <a name="destinationInput" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.destinationInput"></a>

```typescript
public readonly destinationInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `exclusionsInput`<sup>Optional</sup> <a name="exclusionsInput" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.exclusionsInput"></a>

```typescript
public readonly exclusionsInput: IResolvable | LoggingBillingAccountSinkExclusions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusions">LoggingBillingAccountSinkExclusions</a>[]

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.destination"></a>

```typescript
public readonly destination: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSink.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingBillingAccountSink.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingFolderBucketConfig <a name="LoggingFolderBucketConfig" id="@dschmidt/provider-google.LoggingFolderBucketConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_folder_bucket_config google_logging_folder_bucket_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingFolderBucketConfig.Initializer"></a>

```typescript
import { LoggingFolderBucketConfig } from '@dschmidt/provider-google'

new LoggingFolderBucketConfig(scope: Construct, id: string, config: LoggingFolderBucketConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig">LoggingFolderBucketConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingFolderBucketConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingFolderBucketConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingFolderBucketConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig">LoggingFolderBucketConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.resetRetentionDays">resetRetentionDays</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingFolderBucketConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingFolderBucketConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingFolderBucketConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingFolderBucketConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingFolderBucketConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingFolderBucketConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingFolderBucketConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingFolderBucketConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingFolderBucketConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderBucketConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingFolderBucketConfig.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingFolderBucketConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetRetentionDays` <a name="resetRetentionDays" id="@dschmidt/provider-google.LoggingFolderBucketConfig.resetRetentionDays"></a>

```typescript
public resetRetentionDays(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingFolderBucketConfig.isConstruct"></a>

```typescript
import { LoggingFolderBucketConfig } from '@dschmidt/provider-google'

LoggingFolderBucketConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingFolderBucketConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.lifecycleState">lifecycleState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.bucketIdInput">bucketIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.retentionDaysInput">retentionDaysInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.bucketId">bucketId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.retentionDays">retentionDays</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `lifecycleState`<sup>Required</sup> <a name="lifecycleState" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.lifecycleState"></a>

```typescript
public readonly lifecycleState: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `bucketIdInput`<sup>Optional</sup> <a name="bucketIdInput" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.bucketIdInput"></a>

```typescript
public readonly bucketIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `retentionDaysInput`<sup>Optional</sup> <a name="retentionDaysInput" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.retentionDaysInput"></a>

```typescript
public readonly retentionDaysInput: number;
```

- *Type:* number

---

##### `bucketId`<sup>Required</sup> <a name="bucketId" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.bucketId"></a>

```typescript
public readonly bucketId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `retentionDays`<sup>Required</sup> <a name="retentionDays" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.retentionDays"></a>

```typescript
public readonly retentionDays: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingFolderBucketConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingFolderExclusion <a name="LoggingFolderExclusion" id="@dschmidt/provider-google.LoggingFolderExclusion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_folder_exclusion google_logging_folder_exclusion}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingFolderExclusion.Initializer"></a>

```typescript
import { LoggingFolderExclusion } from '@dschmidt/provider-google'

new LoggingFolderExclusion(scope: Construct, id: string, config: LoggingFolderExclusionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig">LoggingFolderExclusionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingFolderExclusion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingFolderExclusion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingFolderExclusion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig">LoggingFolderExclusionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingFolderExclusion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingFolderExclusion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingFolderExclusion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingFolderExclusion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingFolderExclusion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingFolderExclusion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingFolderExclusion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingFolderExclusion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingFolderExclusion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderExclusion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingFolderExclusion.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.LoggingFolderExclusion.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingFolderExclusion.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingFolderExclusion.isConstruct"></a>

```typescript
import { LoggingFolderExclusion } from '@dschmidt/provider-google'

LoggingFolderExclusion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingFolderExclusion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingFolderExclusion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingFolderExclusion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingFolderExclusion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingFolderExclusion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingFolderExclusion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingFolderExclusion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingFolderExclusion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingFolderExclusion.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingFolderExclusion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingFolderExclusion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingFolderExclusion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingFolderExclusion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingFolderExclusion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingFolderExclusion.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingFolderExclusion.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.LoggingFolderExclusion.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingFolderExclusion.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.LoggingFolderExclusion.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingFolderExclusion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingFolderExclusion.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingFolderExclusion.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingFolderExclusion.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingFolderExclusion.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.LoggingFolderExclusion.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingFolderExclusion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingFolderExclusion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingFolderExclusion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingFolderSink <a name="LoggingFolderSink" id="@dschmidt/provider-google.LoggingFolderSink"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink google_logging_folder_sink}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingFolderSink.Initializer"></a>

```typescript
import { LoggingFolderSink } from '@dschmidt/provider-google'

new LoggingFolderSink(scope: Construct, id: string, config: LoggingFolderSinkConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig">LoggingFolderSinkConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingFolderSink.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingFolderSink.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingFolderSink.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingFolderSinkConfig">LoggingFolderSinkConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.putBigqueryOptions">putBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.putExclusions">putExclusions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.resetBigqueryOptions">resetBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.resetExclusions">resetExclusions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.resetIncludeChildren">resetIncludeChildren</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingFolderSink.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingFolderSink.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingFolderSink.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingFolderSink.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingFolderSink.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingFolderSink.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingFolderSink.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingFolderSink.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingFolderSink.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingFolderSink.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingFolderSink.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBigqueryOptions` <a name="putBigqueryOptions" id="@dschmidt/provider-google.LoggingFolderSink.putBigqueryOptions"></a>

```typescript
public putBigqueryOptions(value: LoggingFolderSinkBigqueryOptions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingFolderSink.putBigqueryOptions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingFolderSinkBigqueryOptions">LoggingFolderSinkBigqueryOptions</a>

---

##### `putExclusions` <a name="putExclusions" id="@dschmidt/provider-google.LoggingFolderSink.putExclusions"></a>

```typescript
public putExclusions(value: IResolvable | LoggingFolderSinkExclusions[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingFolderSink.putExclusions.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingFolderSinkExclusions">LoggingFolderSinkExclusions</a>[]

---

##### `resetBigqueryOptions` <a name="resetBigqueryOptions" id="@dschmidt/provider-google.LoggingFolderSink.resetBigqueryOptions"></a>

```typescript
public resetBigqueryOptions(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingFolderSink.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.LoggingFolderSink.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetExclusions` <a name="resetExclusions" id="@dschmidt/provider-google.LoggingFolderSink.resetExclusions"></a>

```typescript
public resetExclusions(): void
```

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.LoggingFolderSink.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingFolderSink.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIncludeChildren` <a name="resetIncludeChildren" id="@dschmidt/provider-google.LoggingFolderSink.resetIncludeChildren"></a>

```typescript
public resetIncludeChildren(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingFolderSink.isConstruct"></a>

```typescript
import { LoggingFolderSink } from '@dschmidt/provider-google'

LoggingFolderSink.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingFolderSink.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.bigqueryOptions">bigqueryOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingFolderSinkBigqueryOptionsOutputReference">LoggingFolderSinkBigqueryOptionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.exclusions">exclusions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingFolderSinkExclusionsList">LoggingFolderSinkExclusionsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.writerIdentity">writerIdentity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.bigqueryOptionsInput">bigqueryOptionsInput</a></code> | <code><a href="#@dschmidt/provider-google.LoggingFolderSinkBigqueryOptions">LoggingFolderSinkBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.destinationInput">destinationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.exclusionsInput">exclusionsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingFolderSinkExclusions">LoggingFolderSinkExclusions</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.folderInput">folderInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.includeChildrenInput">includeChildrenInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.destination">destination</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.folder">folder</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.includeChildren">includeChildren</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingFolderSink.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingFolderSink.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingFolderSink.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingFolderSink.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingFolderSink.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingFolderSink.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingFolderSink.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingFolderSink.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingFolderSink.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingFolderSink.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingFolderSink.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingFolderSink.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingFolderSink.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingFolderSink.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bigqueryOptions`<sup>Required</sup> <a name="bigqueryOptions" id="@dschmidt/provider-google.LoggingFolderSink.property.bigqueryOptions"></a>

```typescript
public readonly bigqueryOptions: LoggingFolderSinkBigqueryOptionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingFolderSinkBigqueryOptionsOutputReference">LoggingFolderSinkBigqueryOptionsOutputReference</a>

---

##### `exclusions`<sup>Required</sup> <a name="exclusions" id="@dschmidt/provider-google.LoggingFolderSink.property.exclusions"></a>

```typescript
public readonly exclusions: LoggingFolderSinkExclusionsList;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingFolderSinkExclusionsList">LoggingFolderSinkExclusionsList</a>

---

##### `writerIdentity`<sup>Required</sup> <a name="writerIdentity" id="@dschmidt/provider-google.LoggingFolderSink.property.writerIdentity"></a>

```typescript
public readonly writerIdentity: string;
```

- *Type:* string

---

##### `bigqueryOptionsInput`<sup>Optional</sup> <a name="bigqueryOptionsInput" id="@dschmidt/provider-google.LoggingFolderSink.property.bigqueryOptionsInput"></a>

```typescript
public readonly bigqueryOptionsInput: LoggingFolderSinkBigqueryOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingFolderSinkBigqueryOptions">LoggingFolderSinkBigqueryOptions</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingFolderSink.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `destinationInput`<sup>Optional</sup> <a name="destinationInput" id="@dschmidt/provider-google.LoggingFolderSink.property.destinationInput"></a>

```typescript
public readonly destinationInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.LoggingFolderSink.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `exclusionsInput`<sup>Optional</sup> <a name="exclusionsInput" id="@dschmidt/provider-google.LoggingFolderSink.property.exclusionsInput"></a>

```typescript
public readonly exclusionsInput: IResolvable | LoggingFolderSinkExclusions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingFolderSinkExclusions">LoggingFolderSinkExclusions</a>[]

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingFolderSink.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `folderInput`<sup>Optional</sup> <a name="folderInput" id="@dschmidt/provider-google.LoggingFolderSink.property.folderInput"></a>

```typescript
public readonly folderInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingFolderSink.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `includeChildrenInput`<sup>Optional</sup> <a name="includeChildrenInput" id="@dschmidt/provider-google.LoggingFolderSink.property.includeChildrenInput"></a>

```typescript
public readonly includeChildrenInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingFolderSink.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingFolderSink.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.LoggingFolderSink.property.destination"></a>

```typescript
public readonly destination: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingFolderSink.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingFolderSink.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.LoggingFolderSink.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingFolderSink.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `includeChildren`<sup>Required</sup> <a name="includeChildren" id="@dschmidt/provider-google.LoggingFolderSink.property.includeChildren"></a>

```typescript
public readonly includeChildren: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingFolderSink.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSink.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingFolderSink.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingLogView <a name="LoggingLogView" id="@dschmidt/provider-google.LoggingLogView"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_log_view google_logging_log_view}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingLogView.Initializer"></a>

```typescript
import { LoggingLogView } from '@dschmidt/provider-google'

new LoggingLogView(scope: Construct, id: string, config: LoggingLogViewConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig">LoggingLogViewConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingLogView.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingLogView.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingLogView.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingLogViewConfig">LoggingLogViewConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.resetParent">resetParent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingLogView.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingLogView.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingLogView.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingLogView.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingLogView.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingLogView.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingLogView.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingLogView.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingLogView.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingLogView.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingLogView.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingLogView.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingLogView.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingLogView.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingLogView.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingLogView.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingLogView.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingLogView.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingLogView.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingLogView.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.LoggingLogView.putTimeouts"></a>

```typescript
public putTimeouts(value: LoggingLogViewTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingLogView.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingLogViewTimeouts">LoggingLogViewTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingLogView.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.LoggingLogView.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingLogView.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.LoggingLogView.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetParent` <a name="resetParent" id="@dschmidt/provider-google.LoggingLogView.resetParent"></a>

```typescript
public resetParent(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.LoggingLogView.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingLogView.isConstruct"></a>

```typescript
import { LoggingLogView } from '@dschmidt/provider-google'

LoggingLogView.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingLogView.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.LoggingLogViewTimeoutsOutputReference">LoggingLogViewTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingLogViewTimeouts">LoggingLogViewTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingLogView.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingLogView.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingLogView.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingLogView.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingLogView.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingLogView.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingLogView.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingLogView.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingLogView.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingLogView.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingLogView.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingLogView.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingLogView.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingLogView.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.LoggingLogView.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.LoggingLogView.property.timeouts"></a>

```typescript
public readonly timeouts: LoggingLogViewTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingLogViewTimeoutsOutputReference">LoggingLogViewTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.LoggingLogView.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.LoggingLogView.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingLogView.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingLogView.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingLogView.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.LoggingLogView.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingLogView.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.LoggingLogView.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.LoggingLogView.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | LoggingLogViewTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingLogViewTimeouts">LoggingLogViewTimeouts</a>

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.LoggingLogView.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingLogView.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingLogView.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingLogView.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.LoggingLogView.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingLogView.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.LoggingLogView.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingLogView.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingLogView.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingMetric <a name="LoggingMetric" id="@dschmidt/provider-google.LoggingMetric"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_metric google_logging_metric}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingMetric.Initializer"></a>

```typescript
import { LoggingMetric } from '@dschmidt/provider-google'

new LoggingMetric(scope: Construct, id: string, config: LoggingMetricConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricConfig">LoggingMetricConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingMetric.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingMetric.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingMetric.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricConfig">LoggingMetricConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.putBucketOptions">putBucketOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.putMetricDescriptor">putMetricDescriptor</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.resetBucketOptions">resetBucketOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.resetLabelExtractors">resetLabelExtractors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.resetValueExtractor">resetValueExtractor</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingMetric.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingMetric.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingMetric.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingMetric.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingMetric.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingMetric.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingMetric.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingMetric.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingMetric.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingMetric.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingMetric.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingMetric.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingMetric.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingMetric.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingMetric.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingMetric.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingMetric.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingMetric.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingMetric.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingMetric.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBucketOptions` <a name="putBucketOptions" id="@dschmidt/provider-google.LoggingMetric.putBucketOptions"></a>

```typescript
public putBucketOptions(value: LoggingMetricBucketOptions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingMetric.putBucketOptions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricBucketOptions">LoggingMetricBucketOptions</a>

---

##### `putMetricDescriptor` <a name="putMetricDescriptor" id="@dschmidt/provider-google.LoggingMetric.putMetricDescriptor"></a>

```typescript
public putMetricDescriptor(value: LoggingMetricMetricDescriptor): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingMetric.putMetricDescriptor.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor">LoggingMetricMetricDescriptor</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.LoggingMetric.putTimeouts"></a>

```typescript
public putTimeouts(value: LoggingMetricTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingMetric.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricTimeouts">LoggingMetricTimeouts</a>

---

##### `resetBucketOptions` <a name="resetBucketOptions" id="@dschmidt/provider-google.LoggingMetric.resetBucketOptions"></a>

```typescript
public resetBucketOptions(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingMetric.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingMetric.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabelExtractors` <a name="resetLabelExtractors" id="@dschmidt/provider-google.LoggingMetric.resetLabelExtractors"></a>

```typescript
public resetLabelExtractors(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.LoggingMetric.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.LoggingMetric.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetValueExtractor` <a name="resetValueExtractor" id="@dschmidt/provider-google.LoggingMetric.resetValueExtractor"></a>

```typescript
public resetValueExtractor(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingMetric.isConstruct"></a>

```typescript
import { LoggingMetric } from '@dschmidt/provider-google'

LoggingMetric.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingMetric.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.bucketOptions">bucketOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsOutputReference">LoggingMetricBucketOptionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.metricDescriptor">metricDescriptor</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptorOutputReference">LoggingMetricMetricDescriptorOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricTimeoutsOutputReference">LoggingMetricTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.bucketOptionsInput">bucketOptionsInput</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptions">LoggingMetricBucketOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.labelExtractorsInput">labelExtractorsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.metricDescriptorInput">metricDescriptorInput</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor">LoggingMetricMetricDescriptor</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingMetricTimeouts">LoggingMetricTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.valueExtractorInput">valueExtractorInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.labelExtractors">labelExtractors</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.valueExtractor">valueExtractor</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingMetric.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingMetric.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingMetric.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingMetric.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingMetric.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingMetric.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingMetric.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingMetric.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingMetric.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingMetric.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingMetric.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingMetric.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingMetric.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingMetric.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketOptions`<sup>Required</sup> <a name="bucketOptions" id="@dschmidt/provider-google.LoggingMetric.property.bucketOptions"></a>

```typescript
public readonly bucketOptions: LoggingMetricBucketOptionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsOutputReference">LoggingMetricBucketOptionsOutputReference</a>

---

##### `metricDescriptor`<sup>Required</sup> <a name="metricDescriptor" id="@dschmidt/provider-google.LoggingMetric.property.metricDescriptor"></a>

```typescript
public readonly metricDescriptor: LoggingMetricMetricDescriptorOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptorOutputReference">LoggingMetricMetricDescriptorOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.LoggingMetric.property.timeouts"></a>

```typescript
public readonly timeouts: LoggingMetricTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricTimeoutsOutputReference">LoggingMetricTimeoutsOutputReference</a>

---

##### `bucketOptionsInput`<sup>Optional</sup> <a name="bucketOptionsInput" id="@dschmidt/provider-google.LoggingMetric.property.bucketOptionsInput"></a>

```typescript
public readonly bucketOptionsInput: LoggingMetricBucketOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricBucketOptions">LoggingMetricBucketOptions</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingMetric.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingMetric.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingMetric.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelExtractorsInput`<sup>Optional</sup> <a name="labelExtractorsInput" id="@dschmidt/provider-google.LoggingMetric.property.labelExtractorsInput"></a>

```typescript
public readonly labelExtractorsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `metricDescriptorInput`<sup>Optional</sup> <a name="metricDescriptorInput" id="@dschmidt/provider-google.LoggingMetric.property.metricDescriptorInput"></a>

```typescript
public readonly metricDescriptorInput: LoggingMetricMetricDescriptor;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor">LoggingMetricMetricDescriptor</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingMetric.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.LoggingMetric.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.LoggingMetric.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | LoggingMetricTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingMetricTimeouts">LoggingMetricTimeouts</a>

---

##### `valueExtractorInput`<sup>Optional</sup> <a name="valueExtractorInput" id="@dschmidt/provider-google.LoggingMetric.property.valueExtractorInput"></a>

```typescript
public readonly valueExtractorInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingMetric.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingMetric.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingMetric.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labelExtractors`<sup>Required</sup> <a name="labelExtractors" id="@dschmidt/provider-google.LoggingMetric.property.labelExtractors"></a>

```typescript
public readonly labelExtractors: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingMetric.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.LoggingMetric.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `valueExtractor`<sup>Required</sup> <a name="valueExtractor" id="@dschmidt/provider-google.LoggingMetric.property.valueExtractor"></a>

```typescript
public readonly valueExtractor: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetric.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingMetric.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingOrganizationBucketConfig <a name="LoggingOrganizationBucketConfig" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_organization_bucket_config google_logging_organization_bucket_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.Initializer"></a>

```typescript
import { LoggingOrganizationBucketConfig } from '@dschmidt/provider-google'

new LoggingOrganizationBucketConfig(scope: Construct, id: string, config: LoggingOrganizationBucketConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig">LoggingOrganizationBucketConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig">LoggingOrganizationBucketConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.resetRetentionDays">resetRetentionDays</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetRetentionDays` <a name="resetRetentionDays" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.resetRetentionDays"></a>

```typescript
public resetRetentionDays(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.isConstruct"></a>

```typescript
import { LoggingOrganizationBucketConfig } from '@dschmidt/provider-google'

LoggingOrganizationBucketConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.lifecycleState">lifecycleState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.bucketIdInput">bucketIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.organizationInput">organizationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.retentionDaysInput">retentionDaysInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.bucketId">bucketId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.organization">organization</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.retentionDays">retentionDays</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `lifecycleState`<sup>Required</sup> <a name="lifecycleState" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.lifecycleState"></a>

```typescript
public readonly lifecycleState: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `bucketIdInput`<sup>Optional</sup> <a name="bucketIdInput" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.bucketIdInput"></a>

```typescript
public readonly bucketIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `organizationInput`<sup>Optional</sup> <a name="organizationInput" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.organizationInput"></a>

```typescript
public readonly organizationInput: string;
```

- *Type:* string

---

##### `retentionDaysInput`<sup>Optional</sup> <a name="retentionDaysInput" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.retentionDaysInput"></a>

```typescript
public readonly retentionDaysInput: number;
```

- *Type:* number

---

##### `bucketId`<sup>Required</sup> <a name="bucketId" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.bucketId"></a>

```typescript
public readonly bucketId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

---

##### `retentionDays`<sup>Required</sup> <a name="retentionDays" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.retentionDays"></a>

```typescript
public readonly retentionDays: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingOrganizationBucketConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingOrganizationExclusion <a name="LoggingOrganizationExclusion" id="@dschmidt/provider-google.LoggingOrganizationExclusion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_organization_exclusion google_logging_organization_exclusion}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingOrganizationExclusion.Initializer"></a>

```typescript
import { LoggingOrganizationExclusion } from '@dschmidt/provider-google'

new LoggingOrganizationExclusion(scope: Construct, id: string, config: LoggingOrganizationExclusionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig">LoggingOrganizationExclusionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingOrganizationExclusion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingOrganizationExclusion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingOrganizationExclusion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig">LoggingOrganizationExclusionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingOrganizationExclusion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingOrganizationExclusion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingOrganizationExclusion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingOrganizationExclusion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingOrganizationExclusion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingOrganizationExclusion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingOrganizationExclusion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingOrganizationExclusion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingOrganizationExclusion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationExclusion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingOrganizationExclusion.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.LoggingOrganizationExclusion.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingOrganizationExclusion.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingOrganizationExclusion.isConstruct"></a>

```typescript
import { LoggingOrganizationExclusion } from '@dschmidt/provider-google'

LoggingOrganizationExclusion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingOrganizationExclusion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingOrganizationExclusion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingOrganizationSink <a name="LoggingOrganizationSink" id="@dschmidt/provider-google.LoggingOrganizationSink"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink google_logging_organization_sink}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingOrganizationSink.Initializer"></a>

```typescript
import { LoggingOrganizationSink } from '@dschmidt/provider-google'

new LoggingOrganizationSink(scope: Construct, id: string, config: LoggingOrganizationSinkConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig">LoggingOrganizationSinkConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingOrganizationSink.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingOrganizationSink.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingOrganizationSink.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig">LoggingOrganizationSinkConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.putBigqueryOptions">putBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.putExclusions">putExclusions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.resetBigqueryOptions">resetBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.resetExclusions">resetExclusions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.resetIncludeChildren">resetIncludeChildren</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingOrganizationSink.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingOrganizationSink.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingOrganizationSink.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingOrganizationSink.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingOrganizationSink.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingOrganizationSink.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingOrganizationSink.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingOrganizationSink.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingOrganizationSink.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingOrganizationSink.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBigqueryOptions` <a name="putBigqueryOptions" id="@dschmidt/provider-google.LoggingOrganizationSink.putBigqueryOptions"></a>

```typescript
public putBigqueryOptions(value: LoggingOrganizationSinkBigqueryOptions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingOrganizationSink.putBigqueryOptions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptions">LoggingOrganizationSinkBigqueryOptions</a>

---

##### `putExclusions` <a name="putExclusions" id="@dschmidt/provider-google.LoggingOrganizationSink.putExclusions"></a>

```typescript
public putExclusions(value: IResolvable | LoggingOrganizationSinkExclusions[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingOrganizationSink.putExclusions.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusions">LoggingOrganizationSinkExclusions</a>[]

---

##### `resetBigqueryOptions` <a name="resetBigqueryOptions" id="@dschmidt/provider-google.LoggingOrganizationSink.resetBigqueryOptions"></a>

```typescript
public resetBigqueryOptions(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingOrganizationSink.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.LoggingOrganizationSink.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetExclusions` <a name="resetExclusions" id="@dschmidt/provider-google.LoggingOrganizationSink.resetExclusions"></a>

```typescript
public resetExclusions(): void
```

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.LoggingOrganizationSink.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingOrganizationSink.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIncludeChildren` <a name="resetIncludeChildren" id="@dschmidt/provider-google.LoggingOrganizationSink.resetIncludeChildren"></a>

```typescript
public resetIncludeChildren(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingOrganizationSink.isConstruct"></a>

```typescript
import { LoggingOrganizationSink } from '@dschmidt/provider-google'

LoggingOrganizationSink.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingOrganizationSink.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.bigqueryOptions">bigqueryOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptionsOutputReference">LoggingOrganizationSinkBigqueryOptionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.exclusions">exclusions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusionsList">LoggingOrganizationSinkExclusionsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.writerIdentity">writerIdentity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.bigqueryOptionsInput">bigqueryOptionsInput</a></code> | <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptions">LoggingOrganizationSinkBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.destinationInput">destinationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.exclusionsInput">exclusionsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusions">LoggingOrganizationSinkExclusions</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.includeChildrenInput">includeChildrenInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.destination">destination</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.includeChildren">includeChildren</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingOrganizationSink.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingOrganizationSink.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingOrganizationSink.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingOrganizationSink.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingOrganizationSink.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingOrganizationSink.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingOrganizationSink.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingOrganizationSink.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingOrganizationSink.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingOrganizationSink.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingOrganizationSink.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingOrganizationSink.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingOrganizationSink.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingOrganizationSink.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bigqueryOptions`<sup>Required</sup> <a name="bigqueryOptions" id="@dschmidt/provider-google.LoggingOrganizationSink.property.bigqueryOptions"></a>

```typescript
public readonly bigqueryOptions: LoggingOrganizationSinkBigqueryOptionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptionsOutputReference">LoggingOrganizationSinkBigqueryOptionsOutputReference</a>

---

##### `exclusions`<sup>Required</sup> <a name="exclusions" id="@dschmidt/provider-google.LoggingOrganizationSink.property.exclusions"></a>

```typescript
public readonly exclusions: LoggingOrganizationSinkExclusionsList;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusionsList">LoggingOrganizationSinkExclusionsList</a>

---

##### `writerIdentity`<sup>Required</sup> <a name="writerIdentity" id="@dschmidt/provider-google.LoggingOrganizationSink.property.writerIdentity"></a>

```typescript
public readonly writerIdentity: string;
```

- *Type:* string

---

##### `bigqueryOptionsInput`<sup>Optional</sup> <a name="bigqueryOptionsInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.bigqueryOptionsInput"></a>

```typescript
public readonly bigqueryOptionsInput: LoggingOrganizationSinkBigqueryOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptions">LoggingOrganizationSinkBigqueryOptions</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `destinationInput`<sup>Optional</sup> <a name="destinationInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.destinationInput"></a>

```typescript
public readonly destinationInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `exclusionsInput`<sup>Optional</sup> <a name="exclusionsInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.exclusionsInput"></a>

```typescript
public readonly exclusionsInput: IResolvable | LoggingOrganizationSinkExclusions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusions">LoggingOrganizationSinkExclusions</a>[]

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `includeChildrenInput`<sup>Optional</sup> <a name="includeChildrenInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.includeChildrenInput"></a>

```typescript
public readonly includeChildrenInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.LoggingOrganizationSink.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingOrganizationSink.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.LoggingOrganizationSink.property.destination"></a>

```typescript
public readonly destination: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingOrganizationSink.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingOrganizationSink.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingOrganizationSink.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `includeChildren`<sup>Required</sup> <a name="includeChildren" id="@dschmidt/provider-google.LoggingOrganizationSink.property.includeChildren"></a>

```typescript
public readonly includeChildren: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingOrganizationSink.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.LoggingOrganizationSink.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSink.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingOrganizationSink.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingProjectBucketConfig <a name="LoggingProjectBucketConfig" id="@dschmidt/provider-google.LoggingProjectBucketConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_project_bucket_config google_logging_project_bucket_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingProjectBucketConfig.Initializer"></a>

```typescript
import { LoggingProjectBucketConfig } from '@dschmidt/provider-google'

new LoggingProjectBucketConfig(scope: Construct, id: string, config: LoggingProjectBucketConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig">LoggingProjectBucketConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingProjectBucketConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingProjectBucketConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingProjectBucketConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig">LoggingProjectBucketConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.resetRetentionDays">resetRetentionDays</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingProjectBucketConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingProjectBucketConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingProjectBucketConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingProjectBucketConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingProjectBucketConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingProjectBucketConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingProjectBucketConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingProjectBucketConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingProjectBucketConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectBucketConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingProjectBucketConfig.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingProjectBucketConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetRetentionDays` <a name="resetRetentionDays" id="@dschmidt/provider-google.LoggingProjectBucketConfig.resetRetentionDays"></a>

```typescript
public resetRetentionDays(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingProjectBucketConfig.isConstruct"></a>

```typescript
import { LoggingProjectBucketConfig } from '@dschmidt/provider-google'

LoggingProjectBucketConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingProjectBucketConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.lifecycleState">lifecycleState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.bucketIdInput">bucketIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.retentionDaysInput">retentionDaysInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.bucketId">bucketId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.retentionDays">retentionDays</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `lifecycleState`<sup>Required</sup> <a name="lifecycleState" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.lifecycleState"></a>

```typescript
public readonly lifecycleState: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `bucketIdInput`<sup>Optional</sup> <a name="bucketIdInput" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.bucketIdInput"></a>

```typescript
public readonly bucketIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `retentionDaysInput`<sup>Optional</sup> <a name="retentionDaysInput" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.retentionDaysInput"></a>

```typescript
public readonly retentionDaysInput: number;
```

- *Type:* number

---

##### `bucketId`<sup>Required</sup> <a name="bucketId" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.bucketId"></a>

```typescript
public readonly bucketId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `retentionDays`<sup>Required</sup> <a name="retentionDays" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.retentionDays"></a>

```typescript
public readonly retentionDays: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingProjectBucketConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingProjectExclusion <a name="LoggingProjectExclusion" id="@dschmidt/provider-google.LoggingProjectExclusion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_project_exclusion google_logging_project_exclusion}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingProjectExclusion.Initializer"></a>

```typescript
import { LoggingProjectExclusion } from '@dschmidt/provider-google'

new LoggingProjectExclusion(scope: Construct, id: string, config: LoggingProjectExclusionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig">LoggingProjectExclusionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingProjectExclusion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingProjectExclusion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingProjectExclusion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig">LoggingProjectExclusionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingProjectExclusion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingProjectExclusion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingProjectExclusion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingProjectExclusion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingProjectExclusion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingProjectExclusion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingProjectExclusion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingProjectExclusion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingProjectExclusion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectExclusion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingProjectExclusion.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.LoggingProjectExclusion.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingProjectExclusion.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.LoggingProjectExclusion.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingProjectExclusion.isConstruct"></a>

```typescript
import { LoggingProjectExclusion } from '@dschmidt/provider-google'

LoggingProjectExclusion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingProjectExclusion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingProjectExclusion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingProjectExclusion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingProjectExclusion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingProjectExclusion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingProjectExclusion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingProjectExclusion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingProjectExclusion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingProjectExclusion.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingProjectExclusion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingProjectExclusion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingProjectExclusion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingProjectExclusion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingProjectExclusion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingProjectExclusion.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingProjectExclusion.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.LoggingProjectExclusion.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingProjectExclusion.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingProjectExclusion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingProjectExclusion.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.LoggingProjectExclusion.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingProjectExclusion.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingProjectExclusion.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingProjectExclusion.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingProjectExclusion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingProjectExclusion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.LoggingProjectExclusion.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingProjectExclusion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### LoggingProjectSink <a name="LoggingProjectSink" id="@dschmidt/provider-google.LoggingProjectSink"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink google_logging_project_sink}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.LoggingProjectSink.Initializer"></a>

```typescript
import { LoggingProjectSink } from '@dschmidt/provider-google'

new LoggingProjectSink(scope: Construct, id: string, config: LoggingProjectSinkConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig">LoggingProjectSinkConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.LoggingProjectSink.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingProjectSink.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.LoggingProjectSink.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingProjectSinkConfig">LoggingProjectSinkConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.putBigqueryOptions">putBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.putExclusions">putExclusions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.resetBigqueryOptions">resetBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.resetExclusions">resetExclusions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.resetUniqueWriterIdentity">resetUniqueWriterIdentity</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.LoggingProjectSink.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.LoggingProjectSink.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.LoggingProjectSink.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingProjectSink.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.LoggingProjectSink.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.LoggingProjectSink.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.LoggingProjectSink.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.LoggingProjectSink.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.LoggingProjectSink.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.LoggingProjectSink.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.LoggingProjectSink.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBigqueryOptions` <a name="putBigqueryOptions" id="@dschmidt/provider-google.LoggingProjectSink.putBigqueryOptions"></a>

```typescript
public putBigqueryOptions(value: LoggingProjectSinkBigqueryOptions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingProjectSink.putBigqueryOptions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.LoggingProjectSinkBigqueryOptions">LoggingProjectSinkBigqueryOptions</a>

---

##### `putExclusions` <a name="putExclusions" id="@dschmidt/provider-google.LoggingProjectSink.putExclusions"></a>

```typescript
public putExclusions(value: IResolvable | LoggingProjectSinkExclusions[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.LoggingProjectSink.putExclusions.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingProjectSinkExclusions">LoggingProjectSinkExclusions</a>[]

---

##### `resetBigqueryOptions` <a name="resetBigqueryOptions" id="@dschmidt/provider-google.LoggingProjectSink.resetBigqueryOptions"></a>

```typescript
public resetBigqueryOptions(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.LoggingProjectSink.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.LoggingProjectSink.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetExclusions` <a name="resetExclusions" id="@dschmidt/provider-google.LoggingProjectSink.resetExclusions"></a>

```typescript
public resetExclusions(): void
```

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.LoggingProjectSink.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.LoggingProjectSink.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.LoggingProjectSink.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetUniqueWriterIdentity` <a name="resetUniqueWriterIdentity" id="@dschmidt/provider-google.LoggingProjectSink.resetUniqueWriterIdentity"></a>

```typescript
public resetUniqueWriterIdentity(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.LoggingProjectSink.isConstruct"></a>

```typescript
import { LoggingProjectSink } from '@dschmidt/provider-google'

LoggingProjectSink.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.LoggingProjectSink.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.bigqueryOptions">bigqueryOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingProjectSinkBigqueryOptionsOutputReference">LoggingProjectSinkBigqueryOptionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.exclusions">exclusions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingProjectSinkExclusionsList">LoggingProjectSinkExclusionsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.writerIdentity">writerIdentity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.bigqueryOptionsInput">bigqueryOptionsInput</a></code> | <code><a href="#@dschmidt/provider-google.LoggingProjectSinkBigqueryOptions">LoggingProjectSinkBigqueryOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.destinationInput">destinationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.exclusionsInput">exclusionsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingProjectSinkExclusions">LoggingProjectSinkExclusions</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.uniqueWriterIdentityInput">uniqueWriterIdentityInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.destination">destination</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.uniqueWriterIdentity">uniqueWriterIdentity</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.LoggingProjectSink.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.LoggingProjectSink.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.LoggingProjectSink.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.LoggingProjectSink.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.LoggingProjectSink.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.LoggingProjectSink.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.LoggingProjectSink.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingProjectSink.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingProjectSink.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingProjectSink.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingProjectSink.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingProjectSink.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingProjectSink.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingProjectSink.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bigqueryOptions`<sup>Required</sup> <a name="bigqueryOptions" id="@dschmidt/provider-google.LoggingProjectSink.property.bigqueryOptions"></a>

```typescript
public readonly bigqueryOptions: LoggingProjectSinkBigqueryOptionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingProjectSinkBigqueryOptionsOutputReference">LoggingProjectSinkBigqueryOptionsOutputReference</a>

---

##### `exclusions`<sup>Required</sup> <a name="exclusions" id="@dschmidt/provider-google.LoggingProjectSink.property.exclusions"></a>

```typescript
public readonly exclusions: LoggingProjectSinkExclusionsList;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingProjectSinkExclusionsList">LoggingProjectSinkExclusionsList</a>

---

##### `writerIdentity`<sup>Required</sup> <a name="writerIdentity" id="@dschmidt/provider-google.LoggingProjectSink.property.writerIdentity"></a>

```typescript
public readonly writerIdentity: string;
```

- *Type:* string

---

##### `bigqueryOptionsInput`<sup>Optional</sup> <a name="bigqueryOptionsInput" id="@dschmidt/provider-google.LoggingProjectSink.property.bigqueryOptionsInput"></a>

```typescript
public readonly bigqueryOptionsInput: LoggingProjectSinkBigqueryOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingProjectSinkBigqueryOptions">LoggingProjectSinkBigqueryOptions</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.LoggingProjectSink.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `destinationInput`<sup>Optional</sup> <a name="destinationInput" id="@dschmidt/provider-google.LoggingProjectSink.property.destinationInput"></a>

```typescript
public readonly destinationInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.LoggingProjectSink.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `exclusionsInput`<sup>Optional</sup> <a name="exclusionsInput" id="@dschmidt/provider-google.LoggingProjectSink.property.exclusionsInput"></a>

```typescript
public readonly exclusionsInput: IResolvable | LoggingProjectSinkExclusions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingProjectSinkExclusions">LoggingProjectSinkExclusions</a>[]

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.LoggingProjectSink.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.LoggingProjectSink.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.LoggingProjectSink.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.LoggingProjectSink.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `uniqueWriterIdentityInput`<sup>Optional</sup> <a name="uniqueWriterIdentityInput" id="@dschmidt/provider-google.LoggingProjectSink.property.uniqueWriterIdentityInput"></a>

```typescript
public readonly uniqueWriterIdentityInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.LoggingProjectSink.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.LoggingProjectSink.property.destination"></a>

```typescript
public readonly destination: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingProjectSink.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingProjectSink.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.LoggingProjectSink.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingProjectSink.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.LoggingProjectSink.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `uniqueWriterIdentity`<sup>Required</sup> <a name="uniqueWriterIdentity" id="@dschmidt/provider-google.LoggingProjectSink.property.uniqueWriterIdentity"></a>

```typescript
public readonly uniqueWriterIdentity: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSink.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.LoggingProjectSink.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MemcacheInstance <a name="MemcacheInstance" id="@dschmidt/provider-google.MemcacheInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/memcache_instance google_memcache_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MemcacheInstance.Initializer"></a>

```typescript
import { MemcacheInstance } from '@dschmidt/provider-google'

new MemcacheInstance(scope: Construct, id: string, config: MemcacheInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig">MemcacheInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MemcacheInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MemcacheInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MemcacheInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceConfig">MemcacheInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.putMaintenancePolicy">putMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.putMemcacheParameters">putMemcacheParameters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.putNodeConfig">putNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetAuthorizedNetwork">resetAuthorizedNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetMaintenancePolicy">resetMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetMemcacheParameters">resetMemcacheParameters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetMemcacheVersion">resetMemcacheVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.resetZones">resetZones</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MemcacheInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MemcacheInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MemcacheInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MemcacheInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MemcacheInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MemcacheInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MemcacheInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MemcacheInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MemcacheInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MemcacheInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MemcacheInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MemcacheInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MemcacheInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MemcacheInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MemcacheInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MemcacheInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MemcacheInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MemcacheInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MemcacheInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MemcacheInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMaintenancePolicy` <a name="putMaintenancePolicy" id="@dschmidt/provider-google.MemcacheInstance.putMaintenancePolicy"></a>

```typescript
public putMaintenancePolicy(value: MemcacheInstanceMaintenancePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MemcacheInstance.putMaintenancePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy">MemcacheInstanceMaintenancePolicy</a>

---

##### `putMemcacheParameters` <a name="putMemcacheParameters" id="@dschmidt/provider-google.MemcacheInstance.putMemcacheParameters"></a>

```typescript
public putMemcacheParameters(value: MemcacheInstanceMemcacheParameters): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MemcacheInstance.putMemcacheParameters.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheParameters">MemcacheInstanceMemcacheParameters</a>

---

##### `putNodeConfig` <a name="putNodeConfig" id="@dschmidt/provider-google.MemcacheInstance.putNodeConfig"></a>

```typescript
public putNodeConfig(value: MemcacheInstanceNodeConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MemcacheInstance.putNodeConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceNodeConfig">MemcacheInstanceNodeConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MemcacheInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: MemcacheInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MemcacheInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceTimeouts">MemcacheInstanceTimeouts</a>

---

##### `resetAuthorizedNetwork` <a name="resetAuthorizedNetwork" id="@dschmidt/provider-google.MemcacheInstance.resetAuthorizedNetwork"></a>

```typescript
public resetAuthorizedNetwork(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.MemcacheInstance.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MemcacheInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.MemcacheInstance.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMaintenancePolicy` <a name="resetMaintenancePolicy" id="@dschmidt/provider-google.MemcacheInstance.resetMaintenancePolicy"></a>

```typescript
public resetMaintenancePolicy(): void
```

##### `resetMemcacheParameters` <a name="resetMemcacheParameters" id="@dschmidt/provider-google.MemcacheInstance.resetMemcacheParameters"></a>

```typescript
public resetMemcacheParameters(): void
```

##### `resetMemcacheVersion` <a name="resetMemcacheVersion" id="@dschmidt/provider-google.MemcacheInstance.resetMemcacheVersion"></a>

```typescript
public resetMemcacheVersion(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MemcacheInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.MemcacheInstance.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MemcacheInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZones` <a name="resetZones" id="@dschmidt/provider-google.MemcacheInstance.resetZones"></a>

```typescript
public resetZones(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MemcacheInstance.isConstruct"></a>

```typescript
import { MemcacheInstance } from '@dschmidt/provider-google'

MemcacheInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MemcacheInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.discoveryEndpoint">discoveryEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.maintenancePolicy">maintenancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyOutputReference">MemcacheInstanceMaintenancePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.maintenanceSchedule">maintenanceSchedule</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenanceScheduleList">MemcacheInstanceMaintenanceScheduleList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.memcacheFullVersion">memcacheFullVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.memcacheNodes">memcacheNodes</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheNodesList">MemcacheInstanceMemcacheNodesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.memcacheParameters">memcacheParameters</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheParametersOutputReference">MemcacheInstanceMemcacheParametersOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceNodeConfigOutputReference">MemcacheInstanceNodeConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceTimeoutsOutputReference">MemcacheInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.authorizedNetworkInput">authorizedNetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.maintenancePolicyInput">maintenancePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy">MemcacheInstanceMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.memcacheParametersInput">memcacheParametersInput</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheParameters">MemcacheInstanceMemcacheParameters</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.memcacheVersionInput">memcacheVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.nodeConfigInput">nodeConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceNodeConfig">MemcacheInstanceNodeConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.nodeCountInput">nodeCountInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MemcacheInstanceTimeouts">MemcacheInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.zonesInput">zonesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.authorizedNetwork">authorizedNetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.memcacheVersion">memcacheVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.nodeCount">nodeCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.zones">zones</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MemcacheInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MemcacheInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MemcacheInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MemcacheInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MemcacheInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MemcacheInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MemcacheInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MemcacheInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MemcacheInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MemcacheInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MemcacheInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MemcacheInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MemcacheInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MemcacheInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.MemcacheInstance.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `discoveryEndpoint`<sup>Required</sup> <a name="discoveryEndpoint" id="@dschmidt/provider-google.MemcacheInstance.property.discoveryEndpoint"></a>

```typescript
public readonly discoveryEndpoint: string;
```

- *Type:* string

---

##### `maintenancePolicy`<sup>Required</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.MemcacheInstance.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: MemcacheInstanceMaintenancePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyOutputReference">MemcacheInstanceMaintenancePolicyOutputReference</a>

---

##### `maintenanceSchedule`<sup>Required</sup> <a name="maintenanceSchedule" id="@dschmidt/provider-google.MemcacheInstance.property.maintenanceSchedule"></a>

```typescript
public readonly maintenanceSchedule: MemcacheInstanceMaintenanceScheduleList;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMaintenanceScheduleList">MemcacheInstanceMaintenanceScheduleList</a>

---

##### `memcacheFullVersion`<sup>Required</sup> <a name="memcacheFullVersion" id="@dschmidt/provider-google.MemcacheInstance.property.memcacheFullVersion"></a>

```typescript
public readonly memcacheFullVersion: string;
```

- *Type:* string

---

##### `memcacheNodes`<sup>Required</sup> <a name="memcacheNodes" id="@dschmidt/provider-google.MemcacheInstance.property.memcacheNodes"></a>

```typescript
public readonly memcacheNodes: MemcacheInstanceMemcacheNodesList;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheNodesList">MemcacheInstanceMemcacheNodesList</a>

---

##### `memcacheParameters`<sup>Required</sup> <a name="memcacheParameters" id="@dschmidt/provider-google.MemcacheInstance.property.memcacheParameters"></a>

```typescript
public readonly memcacheParameters: MemcacheInstanceMemcacheParametersOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheParametersOutputReference">MemcacheInstanceMemcacheParametersOutputReference</a>

---

##### `nodeConfig`<sup>Required</sup> <a name="nodeConfig" id="@dschmidt/provider-google.MemcacheInstance.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: MemcacheInstanceNodeConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceNodeConfigOutputReference">MemcacheInstanceNodeConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MemcacheInstance.property.timeouts"></a>

```typescript
public readonly timeouts: MemcacheInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceTimeoutsOutputReference">MemcacheInstanceTimeoutsOutputReference</a>

---

##### `authorizedNetworkInput`<sup>Optional</sup> <a name="authorizedNetworkInput" id="@dschmidt/provider-google.MemcacheInstance.property.authorizedNetworkInput"></a>

```typescript
public readonly authorizedNetworkInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.MemcacheInstance.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MemcacheInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.MemcacheInstance.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `maintenancePolicyInput`<sup>Optional</sup> <a name="maintenancePolicyInput" id="@dschmidt/provider-google.MemcacheInstance.property.maintenancePolicyInput"></a>

```typescript
public readonly maintenancePolicyInput: MemcacheInstanceMaintenancePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy">MemcacheInstanceMaintenancePolicy</a>

---

##### `memcacheParametersInput`<sup>Optional</sup> <a name="memcacheParametersInput" id="@dschmidt/provider-google.MemcacheInstance.property.memcacheParametersInput"></a>

```typescript
public readonly memcacheParametersInput: MemcacheInstanceMemcacheParameters;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheParameters">MemcacheInstanceMemcacheParameters</a>

---

##### `memcacheVersionInput`<sup>Optional</sup> <a name="memcacheVersionInput" id="@dschmidt/provider-google.MemcacheInstance.property.memcacheVersionInput"></a>

```typescript
public readonly memcacheVersionInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.MemcacheInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `nodeConfigInput`<sup>Optional</sup> <a name="nodeConfigInput" id="@dschmidt/provider-google.MemcacheInstance.property.nodeConfigInput"></a>

```typescript
public readonly nodeConfigInput: MemcacheInstanceNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceNodeConfig">MemcacheInstanceNodeConfig</a>

---

##### `nodeCountInput`<sup>Optional</sup> <a name="nodeCountInput" id="@dschmidt/provider-google.MemcacheInstance.property.nodeCountInput"></a>

```typescript
public readonly nodeCountInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MemcacheInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.MemcacheInstance.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MemcacheInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MemcacheInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MemcacheInstanceTimeouts">MemcacheInstanceTimeouts</a>

---

##### `zonesInput`<sup>Optional</sup> <a name="zonesInput" id="@dschmidt/provider-google.MemcacheInstance.property.zonesInput"></a>

```typescript
public readonly zonesInput: string[];
```

- *Type:* string[]

---

##### `authorizedNetwork`<sup>Required</sup> <a name="authorizedNetwork" id="@dschmidt/provider-google.MemcacheInstance.property.authorizedNetwork"></a>

```typescript
public readonly authorizedNetwork: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MemcacheInstance.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MemcacheInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.MemcacheInstance.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `memcacheVersion`<sup>Required</sup> <a name="memcacheVersion" id="@dschmidt/provider-google.MemcacheInstance.property.memcacheVersion"></a>

```typescript
public readonly memcacheVersion: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MemcacheInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `nodeCount`<sup>Required</sup> <a name="nodeCount" id="@dschmidt/provider-google.MemcacheInstance.property.nodeCount"></a>

```typescript
public readonly nodeCount: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MemcacheInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.MemcacheInstance.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `zones`<sup>Required</sup> <a name="zones" id="@dschmidt/provider-google.MemcacheInstance.property.zones"></a>

```typescript
public readonly zones: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MemcacheInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MlEngineModel <a name="MlEngineModel" id="@dschmidt/provider-google.MlEngineModel"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model google_ml_engine_model}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MlEngineModel.Initializer"></a>

```typescript
import { MlEngineModel } from '@dschmidt/provider-google'

new MlEngineModel(scope: Construct, id: string, config: MlEngineModelConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MlEngineModelConfig">MlEngineModelConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MlEngineModel.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MlEngineModel.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MlEngineModel.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MlEngineModelConfig">MlEngineModelConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.putDefaultVersion">putDefaultVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetDefaultVersion">resetDefaultVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetOnlinePredictionConsoleLogging">resetOnlinePredictionConsoleLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetOnlinePredictionLogging">resetOnlinePredictionLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetRegions">resetRegions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MlEngineModel.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MlEngineModel.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MlEngineModel.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MlEngineModel.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MlEngineModel.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MlEngineModel.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MlEngineModel.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MlEngineModel.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MlEngineModel.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MlEngineModel.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MlEngineModel.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MlEngineModel.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MlEngineModel.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MlEngineModel.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MlEngineModel.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MlEngineModel.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MlEngineModel.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MlEngineModel.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MlEngineModel.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MlEngineModel.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDefaultVersion` <a name="putDefaultVersion" id="@dschmidt/provider-google.MlEngineModel.putDefaultVersion"></a>

```typescript
public putDefaultVersion(value: MlEngineModelDefaultVersion): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MlEngineModel.putDefaultVersion.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MlEngineModelDefaultVersion">MlEngineModelDefaultVersion</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MlEngineModel.putTimeouts"></a>

```typescript
public putTimeouts(value: MlEngineModelTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MlEngineModel.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MlEngineModelTimeouts">MlEngineModelTimeouts</a>

---

##### `resetDefaultVersion` <a name="resetDefaultVersion" id="@dschmidt/provider-google.MlEngineModel.resetDefaultVersion"></a>

```typescript
public resetDefaultVersion(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.MlEngineModel.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MlEngineModel.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.MlEngineModel.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetOnlinePredictionConsoleLogging` <a name="resetOnlinePredictionConsoleLogging" id="@dschmidt/provider-google.MlEngineModel.resetOnlinePredictionConsoleLogging"></a>

```typescript
public resetOnlinePredictionConsoleLogging(): void
```

##### `resetOnlinePredictionLogging` <a name="resetOnlinePredictionLogging" id="@dschmidt/provider-google.MlEngineModel.resetOnlinePredictionLogging"></a>

```typescript
public resetOnlinePredictionLogging(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MlEngineModel.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegions` <a name="resetRegions" id="@dschmidt/provider-google.MlEngineModel.resetRegions"></a>

```typescript
public resetRegions(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MlEngineModel.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MlEngineModel.isConstruct"></a>

```typescript
import { MlEngineModel } from '@dschmidt/provider-google'

MlEngineModel.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MlEngineModel.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.defaultVersion">defaultVersion</a></code> | <code><a href="#@dschmidt/provider-google.MlEngineModelDefaultVersionOutputReference">MlEngineModelDefaultVersionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MlEngineModelTimeoutsOutputReference">MlEngineModelTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.defaultVersionInput">defaultVersionInput</a></code> | <code><a href="#@dschmidt/provider-google.MlEngineModelDefaultVersion">MlEngineModelDefaultVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.onlinePredictionConsoleLoggingInput">onlinePredictionConsoleLoggingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.onlinePredictionLoggingInput">onlinePredictionLoggingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.regionsInput">regionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MlEngineModelTimeouts">MlEngineModelTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.onlinePredictionConsoleLogging">onlinePredictionConsoleLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.onlinePredictionLogging">onlinePredictionLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.regions">regions</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MlEngineModel.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MlEngineModel.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MlEngineModel.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MlEngineModel.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MlEngineModel.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MlEngineModel.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MlEngineModel.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MlEngineModel.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MlEngineModel.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MlEngineModel.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MlEngineModel.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MlEngineModel.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MlEngineModel.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MlEngineModel.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `defaultVersion`<sup>Required</sup> <a name="defaultVersion" id="@dschmidt/provider-google.MlEngineModel.property.defaultVersion"></a>

```typescript
public readonly defaultVersion: MlEngineModelDefaultVersionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MlEngineModelDefaultVersionOutputReference">MlEngineModelDefaultVersionOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MlEngineModel.property.timeouts"></a>

```typescript
public readonly timeouts: MlEngineModelTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MlEngineModelTimeoutsOutputReference">MlEngineModelTimeoutsOutputReference</a>

---

##### `defaultVersionInput`<sup>Optional</sup> <a name="defaultVersionInput" id="@dschmidt/provider-google.MlEngineModel.property.defaultVersionInput"></a>

```typescript
public readonly defaultVersionInput: MlEngineModelDefaultVersion;
```

- *Type:* <a href="#@dschmidt/provider-google.MlEngineModelDefaultVersion">MlEngineModelDefaultVersion</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.MlEngineModel.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MlEngineModel.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.MlEngineModel.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.MlEngineModel.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `onlinePredictionConsoleLoggingInput`<sup>Optional</sup> <a name="onlinePredictionConsoleLoggingInput" id="@dschmidt/provider-google.MlEngineModel.property.onlinePredictionConsoleLoggingInput"></a>

```typescript
public readonly onlinePredictionConsoleLoggingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `onlinePredictionLoggingInput`<sup>Optional</sup> <a name="onlinePredictionLoggingInput" id="@dschmidt/provider-google.MlEngineModel.property.onlinePredictionLoggingInput"></a>

```typescript
public readonly onlinePredictionLoggingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MlEngineModel.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionsInput`<sup>Optional</sup> <a name="regionsInput" id="@dschmidt/provider-google.MlEngineModel.property.regionsInput"></a>

```typescript
public readonly regionsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MlEngineModel.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MlEngineModelTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MlEngineModelTimeouts">MlEngineModelTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.MlEngineModel.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MlEngineModel.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.MlEngineModel.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MlEngineModel.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `onlinePredictionConsoleLogging`<sup>Required</sup> <a name="onlinePredictionConsoleLogging" id="@dschmidt/provider-google.MlEngineModel.property.onlinePredictionConsoleLogging"></a>

```typescript
public readonly onlinePredictionConsoleLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `onlinePredictionLogging`<sup>Required</sup> <a name="onlinePredictionLogging" id="@dschmidt/provider-google.MlEngineModel.property.onlinePredictionLogging"></a>

```typescript
public readonly onlinePredictionLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MlEngineModel.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `regions`<sup>Required</sup> <a name="regions" id="@dschmidt/provider-google.MlEngineModel.property.regions"></a>

```typescript
public readonly regions: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MlEngineModel.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MlEngineModel.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MonitoringAlertPolicy <a name="MonitoringAlertPolicy" id="@dschmidt/provider-google.MonitoringAlertPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy google_monitoring_alert_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MonitoringAlertPolicy.Initializer"></a>

```typescript
import { MonitoringAlertPolicy } from '@dschmidt/provider-google'

new MonitoringAlertPolicy(scope: Construct, id: string, config: MonitoringAlertPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig">MonitoringAlertPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MonitoringAlertPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringAlertPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MonitoringAlertPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig">MonitoringAlertPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.putAlertStrategy">putAlertStrategy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.putConditions">putConditions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.putDocumentation">putDocumentation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.resetAlertStrategy">resetAlertStrategy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.resetDocumentation">resetDocumentation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.resetNotificationChannels">resetNotificationChannels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.resetUserLabels">resetUserLabels</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MonitoringAlertPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MonitoringAlertPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MonitoringAlertPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringAlertPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MonitoringAlertPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MonitoringAlertPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MonitoringAlertPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MonitoringAlertPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MonitoringAlertPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringAlertPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAlertStrategy` <a name="putAlertStrategy" id="@dschmidt/provider-google.MonitoringAlertPolicy.putAlertStrategy"></a>

```typescript
public putAlertStrategy(value: MonitoringAlertPolicyAlertStrategy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringAlertPolicy.putAlertStrategy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy">MonitoringAlertPolicyAlertStrategy</a>

---

##### `putConditions` <a name="putConditions" id="@dschmidt/provider-google.MonitoringAlertPolicy.putConditions"></a>

```typescript
public putConditions(value: IResolvable | MonitoringAlertPolicyConditions[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringAlertPolicy.putConditions.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions">MonitoringAlertPolicyConditions</a>[]

---

##### `putDocumentation` <a name="putDocumentation" id="@dschmidt/provider-google.MonitoringAlertPolicy.putDocumentation"></a>

```typescript
public putDocumentation(value: MonitoringAlertPolicyDocumentation): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringAlertPolicy.putDocumentation.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyDocumentation">MonitoringAlertPolicyDocumentation</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MonitoringAlertPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: MonitoringAlertPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringAlertPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeouts">MonitoringAlertPolicyTimeouts</a>

---

##### `resetAlertStrategy` <a name="resetAlertStrategy" id="@dschmidt/provider-google.MonitoringAlertPolicy.resetAlertStrategy"></a>

```typescript
public resetAlertStrategy(): void
```

##### `resetDocumentation` <a name="resetDocumentation" id="@dschmidt/provider-google.MonitoringAlertPolicy.resetDocumentation"></a>

```typescript
public resetDocumentation(): void
```

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.MonitoringAlertPolicy.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MonitoringAlertPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNotificationChannels` <a name="resetNotificationChannels" id="@dschmidt/provider-google.MonitoringAlertPolicy.resetNotificationChannels"></a>

```typescript
public resetNotificationChannels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MonitoringAlertPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MonitoringAlertPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUserLabels` <a name="resetUserLabels" id="@dschmidt/provider-google.MonitoringAlertPolicy.resetUserLabels"></a>

```typescript
public resetUserLabels(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MonitoringAlertPolicy.isConstruct"></a>

```typescript
import { MonitoringAlertPolicy } from '@dschmidt/provider-google'

MonitoringAlertPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MonitoringAlertPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.alertStrategy">alertStrategy</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategyOutputReference">MonitoringAlertPolicyAlertStrategyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.conditions">conditions</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsList">MonitoringAlertPolicyConditionsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.creationRecord">creationRecord</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyCreationRecordList">MonitoringAlertPolicyCreationRecordList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.documentation">documentation</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyDocumentationOutputReference">MonitoringAlertPolicyDocumentationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeoutsOutputReference">MonitoringAlertPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.alertStrategyInput">alertStrategyInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy">MonitoringAlertPolicyAlertStrategy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.combinerInput">combinerInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.conditionsInput">conditionsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions">MonitoringAlertPolicyConditions</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.documentationInput">documentationInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyDocumentation">MonitoringAlertPolicyDocumentation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.notificationChannelsInput">notificationChannelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeouts">MonitoringAlertPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.userLabelsInput">userLabelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.combiner">combiner</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.notificationChannels">notificationChannels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `alertStrategy`<sup>Required</sup> <a name="alertStrategy" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.alertStrategy"></a>

```typescript
public readonly alertStrategy: MonitoringAlertPolicyAlertStrategyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategyOutputReference">MonitoringAlertPolicyAlertStrategyOutputReference</a>

---

##### `conditions`<sup>Required</sup> <a name="conditions" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.conditions"></a>

```typescript
public readonly conditions: MonitoringAlertPolicyConditionsList;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsList">MonitoringAlertPolicyConditionsList</a>

---

##### `creationRecord`<sup>Required</sup> <a name="creationRecord" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.creationRecord"></a>

```typescript
public readonly creationRecord: MonitoringAlertPolicyCreationRecordList;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyCreationRecordList">MonitoringAlertPolicyCreationRecordList</a>

---

##### `documentation`<sup>Required</sup> <a name="documentation" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.documentation"></a>

```typescript
public readonly documentation: MonitoringAlertPolicyDocumentationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyDocumentationOutputReference">MonitoringAlertPolicyDocumentationOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringAlertPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeoutsOutputReference">MonitoringAlertPolicyTimeoutsOutputReference</a>

---

##### `alertStrategyInput`<sup>Optional</sup> <a name="alertStrategyInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.alertStrategyInput"></a>

```typescript
public readonly alertStrategyInput: MonitoringAlertPolicyAlertStrategy;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy">MonitoringAlertPolicyAlertStrategy</a>

---

##### `combinerInput`<sup>Optional</sup> <a name="combinerInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.combinerInput"></a>

```typescript
public readonly combinerInput: string;
```

- *Type:* string

---

##### `conditionsInput`<sup>Optional</sup> <a name="conditionsInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.conditionsInput"></a>

```typescript
public readonly conditionsInput: IResolvable | MonitoringAlertPolicyConditions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions">MonitoringAlertPolicyConditions</a>[]

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `documentationInput`<sup>Optional</sup> <a name="documentationInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.documentationInput"></a>

```typescript
public readonly documentationInput: MonitoringAlertPolicyDocumentation;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyDocumentation">MonitoringAlertPolicyDocumentation</a>

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `notificationChannelsInput`<sup>Optional</sup> <a name="notificationChannelsInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.notificationChannelsInput"></a>

```typescript
public readonly notificationChannelsInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MonitoringAlertPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeouts">MonitoringAlertPolicyTimeouts</a>

---

##### `userLabelsInput`<sup>Optional</sup> <a name="userLabelsInput" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.userLabelsInput"></a>

```typescript
public readonly userLabelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `combiner`<sup>Required</sup> <a name="combiner" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.combiner"></a>

```typescript
public readonly combiner: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `notificationChannels`<sup>Required</sup> <a name="notificationChannels" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.notificationChannels"></a>

```typescript
public readonly notificationChannels: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `userLabels`<sup>Required</sup> <a name="userLabels" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MonitoringAlertPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MonitoringCustomService <a name="MonitoringCustomService" id="@dschmidt/provider-google.MonitoringCustomService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service google_monitoring_custom_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MonitoringCustomService.Initializer"></a>

```typescript
import { MonitoringCustomService } from '@dschmidt/provider-google'

new MonitoringCustomService(scope: Construct, id: string, config?: MonitoringCustomServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig">MonitoringCustomServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MonitoringCustomService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringCustomService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.MonitoringCustomService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig">MonitoringCustomServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.putTelemetry">putTelemetry</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.resetServiceId">resetServiceId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.resetTelemetry">resetTelemetry</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.resetUserLabels">resetUserLabels</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MonitoringCustomService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MonitoringCustomService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MonitoringCustomService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringCustomService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MonitoringCustomService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MonitoringCustomService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MonitoringCustomService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MonitoringCustomService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MonitoringCustomService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MonitoringCustomService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringCustomService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTelemetry` <a name="putTelemetry" id="@dschmidt/provider-google.MonitoringCustomService.putTelemetry"></a>

```typescript
public putTelemetry(value: MonitoringCustomServiceTelemetry): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringCustomService.putTelemetry.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringCustomServiceTelemetry">MonitoringCustomServiceTelemetry</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MonitoringCustomService.putTimeouts"></a>

```typescript
public putTimeouts(value: MonitoringCustomServiceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringCustomService.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeouts">MonitoringCustomServiceTimeouts</a>

---

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.MonitoringCustomService.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MonitoringCustomService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MonitoringCustomService.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetServiceId` <a name="resetServiceId" id="@dschmidt/provider-google.MonitoringCustomService.resetServiceId"></a>

```typescript
public resetServiceId(): void
```

##### `resetTelemetry` <a name="resetTelemetry" id="@dschmidt/provider-google.MonitoringCustomService.resetTelemetry"></a>

```typescript
public resetTelemetry(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MonitoringCustomService.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUserLabels` <a name="resetUserLabels" id="@dschmidt/provider-google.MonitoringCustomService.resetUserLabels"></a>

```typescript
public resetUserLabels(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MonitoringCustomService.isConstruct"></a>

```typescript
import { MonitoringCustomService } from '@dschmidt/provider-google'

MonitoringCustomService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MonitoringCustomService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.telemetry">telemetry</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceTelemetryOutputReference">MonitoringCustomServiceTelemetryOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeoutsOutputReference">MonitoringCustomServiceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.serviceIdInput">serviceIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.telemetryInput">telemetryInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceTelemetry">MonitoringCustomServiceTelemetry</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeouts">MonitoringCustomServiceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.userLabelsInput">userLabelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.serviceId">serviceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MonitoringCustomService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MonitoringCustomService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MonitoringCustomService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MonitoringCustomService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MonitoringCustomService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MonitoringCustomService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MonitoringCustomService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringCustomService.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringCustomService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringCustomService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringCustomService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringCustomService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringCustomService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringCustomService.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MonitoringCustomService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `telemetry`<sup>Required</sup> <a name="telemetry" id="@dschmidt/provider-google.MonitoringCustomService.property.telemetry"></a>

```typescript
public readonly telemetry: MonitoringCustomServiceTelemetryOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringCustomServiceTelemetryOutputReference">MonitoringCustomServiceTelemetryOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringCustomService.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringCustomServiceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeoutsOutputReference">MonitoringCustomServiceTimeoutsOutputReference</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.MonitoringCustomService.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MonitoringCustomService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MonitoringCustomService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceIdInput`<sup>Optional</sup> <a name="serviceIdInput" id="@dschmidt/provider-google.MonitoringCustomService.property.serviceIdInput"></a>

```typescript
public readonly serviceIdInput: string;
```

- *Type:* string

---

##### `telemetryInput`<sup>Optional</sup> <a name="telemetryInput" id="@dschmidt/provider-google.MonitoringCustomService.property.telemetryInput"></a>

```typescript
public readonly telemetryInput: MonitoringCustomServiceTelemetry;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringCustomServiceTelemetry">MonitoringCustomServiceTelemetry</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MonitoringCustomService.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MonitoringCustomServiceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeouts">MonitoringCustomServiceTimeouts</a>

---

##### `userLabelsInput`<sup>Optional</sup> <a name="userLabelsInput" id="@dschmidt/provider-google.MonitoringCustomService.property.userLabelsInput"></a>

```typescript
public readonly userLabelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringCustomService.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringCustomService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MonitoringCustomService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.MonitoringCustomService.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

---

##### `userLabels`<sup>Required</sup> <a name="userLabels" id="@dschmidt/provider-google.MonitoringCustomService.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MonitoringCustomService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MonitoringDashboard <a name="MonitoringDashboard" id="@dschmidt/provider-google.MonitoringDashboard"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard google_monitoring_dashboard}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MonitoringDashboard.Initializer"></a>

```typescript
import { MonitoringDashboard } from '@dschmidt/provider-google'

new MonitoringDashboard(scope: Construct, id: string, config: MonitoringDashboardConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig">MonitoringDashboardConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MonitoringDashboard.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringDashboard.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MonitoringDashboard.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringDashboardConfig">MonitoringDashboardConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MonitoringDashboard.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MonitoringDashboard.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MonitoringDashboard.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringDashboard.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MonitoringDashboard.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MonitoringDashboard.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MonitoringDashboard.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MonitoringDashboard.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MonitoringDashboard.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MonitoringDashboard.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringDashboard.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MonitoringDashboard.putTimeouts"></a>

```typescript
public putTimeouts(value: MonitoringDashboardTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringDashboard.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringDashboardTimeouts">MonitoringDashboardTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MonitoringDashboard.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MonitoringDashboard.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MonitoringDashboard.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MonitoringDashboard.isConstruct"></a>

```typescript
import { MonitoringDashboard } from '@dschmidt/provider-google'

MonitoringDashboard.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MonitoringDashboard.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringDashboardTimeoutsOutputReference">MonitoringDashboardTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.dashboardJsonInput">dashboardJsonInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringDashboardTimeouts">MonitoringDashboardTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.dashboardJson">dashboardJson</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MonitoringDashboard.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MonitoringDashboard.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MonitoringDashboard.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MonitoringDashboard.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MonitoringDashboard.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MonitoringDashboard.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MonitoringDashboard.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringDashboard.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringDashboard.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringDashboard.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringDashboard.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringDashboard.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringDashboard.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringDashboard.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringDashboard.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringDashboardTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringDashboardTimeoutsOutputReference">MonitoringDashboardTimeoutsOutputReference</a>

---

##### `dashboardJsonInput`<sup>Optional</sup> <a name="dashboardJsonInput" id="@dschmidt/provider-google.MonitoringDashboard.property.dashboardJsonInput"></a>

```typescript
public readonly dashboardJsonInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MonitoringDashboard.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MonitoringDashboard.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MonitoringDashboard.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MonitoringDashboardTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringDashboardTimeouts">MonitoringDashboardTimeouts</a>

---

##### `dashboardJson`<sup>Required</sup> <a name="dashboardJson" id="@dschmidt/provider-google.MonitoringDashboard.property.dashboardJson"></a>

```typescript
public readonly dashboardJson: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringDashboard.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MonitoringDashboard.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboard.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MonitoringDashboard.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MonitoringGroup <a name="MonitoringGroup" id="@dschmidt/provider-google.MonitoringGroup"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/monitoring_group google_monitoring_group}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MonitoringGroup.Initializer"></a>

```typescript
import { MonitoringGroup } from '@dschmidt/provider-google'

new MonitoringGroup(scope: Construct, id: string, config: MonitoringGroupConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig">MonitoringGroupConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MonitoringGroup.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringGroup.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MonitoringGroup.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringGroupConfig">MonitoringGroupConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.resetIsCluster">resetIsCluster</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.resetParentName">resetParentName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MonitoringGroup.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MonitoringGroup.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MonitoringGroup.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringGroup.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MonitoringGroup.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MonitoringGroup.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MonitoringGroup.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MonitoringGroup.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MonitoringGroup.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MonitoringGroup.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MonitoringGroup.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MonitoringGroup.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MonitoringGroup.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MonitoringGroup.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MonitoringGroup.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MonitoringGroup.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MonitoringGroup.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MonitoringGroup.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MonitoringGroup.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringGroup.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MonitoringGroup.putTimeouts"></a>

```typescript
public putTimeouts(value: MonitoringGroupTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringGroup.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringGroupTimeouts">MonitoringGroupTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MonitoringGroup.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIsCluster` <a name="resetIsCluster" id="@dschmidt/provider-google.MonitoringGroup.resetIsCluster"></a>

```typescript
public resetIsCluster(): void
```

##### `resetParentName` <a name="resetParentName" id="@dschmidt/provider-google.MonitoringGroup.resetParentName"></a>

```typescript
public resetParentName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MonitoringGroup.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MonitoringGroup.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MonitoringGroup.isConstruct"></a>

```typescript
import { MonitoringGroup } from '@dschmidt/provider-google'

MonitoringGroup.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MonitoringGroup.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringGroupTimeoutsOutputReference">MonitoringGroupTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.isClusterInput">isClusterInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.parentNameInput">parentNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringGroupTimeouts">MonitoringGroupTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.isCluster">isCluster</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.parentName">parentName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MonitoringGroup.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MonitoringGroup.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MonitoringGroup.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MonitoringGroup.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MonitoringGroup.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MonitoringGroup.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MonitoringGroup.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringGroup.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringGroup.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringGroup.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringGroup.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringGroup.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringGroup.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringGroup.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MonitoringGroup.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringGroup.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringGroupTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringGroupTimeoutsOutputReference">MonitoringGroupTimeoutsOutputReference</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.MonitoringGroup.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.MonitoringGroup.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MonitoringGroup.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `isClusterInput`<sup>Optional</sup> <a name="isClusterInput" id="@dschmidt/provider-google.MonitoringGroup.property.isClusterInput"></a>

```typescript
public readonly isClusterInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `parentNameInput`<sup>Optional</sup> <a name="parentNameInput" id="@dschmidt/provider-google.MonitoringGroup.property.parentNameInput"></a>

```typescript
public readonly parentNameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MonitoringGroup.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MonitoringGroup.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MonitoringGroupTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringGroupTimeouts">MonitoringGroupTimeouts</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringGroup.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.MonitoringGroup.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringGroup.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `isCluster`<sup>Required</sup> <a name="isCluster" id="@dschmidt/provider-google.MonitoringGroup.property.isCluster"></a>

```typescript
public readonly isCluster: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `parentName`<sup>Required</sup> <a name="parentName" id="@dschmidt/provider-google.MonitoringGroup.property.parentName"></a>

```typescript
public readonly parentName: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MonitoringGroup.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringGroup.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MonitoringGroup.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MonitoringMetricDescriptor <a name="MonitoringMetricDescriptor" id="@dschmidt/provider-google.MonitoringMetricDescriptor"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor google_monitoring_metric_descriptor}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MonitoringMetricDescriptor.Initializer"></a>

```typescript
import { MonitoringMetricDescriptor } from '@dschmidt/provider-google'

new MonitoringMetricDescriptor(scope: Construct, id: string, config: MonitoringMetricDescriptorConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig">MonitoringMetricDescriptorConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MonitoringMetricDescriptor.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringMetricDescriptor.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MonitoringMetricDescriptor.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig">MonitoringMetricDescriptorConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.putLabels">putLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.putMetadata">putMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.resetLaunchStage">resetLaunchStage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.resetMetadata">resetMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.resetUnit">resetUnit</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MonitoringMetricDescriptor.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MonitoringMetricDescriptor.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MonitoringMetricDescriptor.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringMetricDescriptor.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MonitoringMetricDescriptor.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MonitoringMetricDescriptor.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MonitoringMetricDescriptor.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MonitoringMetricDescriptor.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MonitoringMetricDescriptor.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMetricDescriptor.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putLabels` <a name="putLabels" id="@dschmidt/provider-google.MonitoringMetricDescriptor.putLabels"></a>

```typescript
public putLabels(value: IResolvable | MonitoringMetricDescriptorLabels[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringMetricDescriptor.putLabels.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabels">MonitoringMetricDescriptorLabels</a>[]

---

##### `putMetadata` <a name="putMetadata" id="@dschmidt/provider-google.MonitoringMetricDescriptor.putMetadata"></a>

```typescript
public putMetadata(value: MonitoringMetricDescriptorMetadata): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringMetricDescriptor.putMetadata.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorMetadata">MonitoringMetricDescriptorMetadata</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MonitoringMetricDescriptor.putTimeouts"></a>

```typescript
public putTimeouts(value: MonitoringMetricDescriptorTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringMetricDescriptor.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts">MonitoringMetricDescriptorTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MonitoringMetricDescriptor.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.MonitoringMetricDescriptor.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLaunchStage` <a name="resetLaunchStage" id="@dschmidt/provider-google.MonitoringMetricDescriptor.resetLaunchStage"></a>

```typescript
public resetLaunchStage(): void
```

##### `resetMetadata` <a name="resetMetadata" id="@dschmidt/provider-google.MonitoringMetricDescriptor.resetMetadata"></a>

```typescript
public resetMetadata(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MonitoringMetricDescriptor.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MonitoringMetricDescriptor.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUnit` <a name="resetUnit" id="@dschmidt/provider-google.MonitoringMetricDescriptor.resetUnit"></a>

```typescript
public resetUnit(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MonitoringMetricDescriptor.isConstruct"></a>

```typescript
import { MonitoringMetricDescriptor } from '@dschmidt/provider-google'

MonitoringMetricDescriptor.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MonitoringMetricDescriptor.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.labels">labels</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabelsList">MonitoringMetricDescriptorLabelsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.metadata">metadata</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorMetadataOutputReference">MonitoringMetricDescriptorMetadataOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.monitoredResourceTypes">monitoredResourceTypes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeoutsOutputReference">MonitoringMetricDescriptorTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.labelsInput">labelsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabels">MonitoringMetricDescriptorLabels</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.launchStageInput">launchStageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.metadataInput">metadataInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorMetadata">MonitoringMetricDescriptorMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.metricKindInput">metricKindInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts">MonitoringMetricDescriptorTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.unitInput">unitInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.valueTypeInput">valueTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.launchStage">launchStage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.metricKind">metricKind</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.unit">unit</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.valueType">valueType</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.labels"></a>

```typescript
public readonly labels: MonitoringMetricDescriptorLabelsList;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabelsList">MonitoringMetricDescriptorLabelsList</a>

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.metadata"></a>

```typescript
public readonly metadata: MonitoringMetricDescriptorMetadataOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorMetadataOutputReference">MonitoringMetricDescriptorMetadataOutputReference</a>

---

##### `monitoredResourceTypes`<sup>Required</sup> <a name="monitoredResourceTypes" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.monitoredResourceTypes"></a>

```typescript
public readonly monitoredResourceTypes: string[];
```

- *Type:* string[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringMetricDescriptorTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeoutsOutputReference">MonitoringMetricDescriptorTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.labelsInput"></a>

```typescript
public readonly labelsInput: IResolvable | MonitoringMetricDescriptorLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabels">MonitoringMetricDescriptorLabels</a>[]

---

##### `launchStageInput`<sup>Optional</sup> <a name="launchStageInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.launchStageInput"></a>

```typescript
public readonly launchStageInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.metadataInput"></a>

```typescript
public readonly metadataInput: MonitoringMetricDescriptorMetadata;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorMetadata">MonitoringMetricDescriptorMetadata</a>

---

##### `metricKindInput`<sup>Optional</sup> <a name="metricKindInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.metricKindInput"></a>

```typescript
public readonly metricKindInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MonitoringMetricDescriptorTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts">MonitoringMetricDescriptorTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `unitInput`<sup>Optional</sup> <a name="unitInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.unitInput"></a>

```typescript
public readonly unitInput: string;
```

- *Type:* string

---

##### `valueTypeInput`<sup>Optional</sup> <a name="valueTypeInput" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.valueTypeInput"></a>

```typescript
public readonly valueTypeInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `launchStage`<sup>Required</sup> <a name="launchStage" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.launchStage"></a>

```typescript
public readonly launchStage: string;
```

- *Type:* string

---

##### `metricKind`<sup>Required</sup> <a name="metricKind" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.metricKind"></a>

```typescript
public readonly metricKind: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `unit`<sup>Required</sup> <a name="unit" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.unit"></a>

```typescript
public readonly unit: string;
```

- *Type:* string

---

##### `valueType`<sup>Required</sup> <a name="valueType" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.valueType"></a>

```typescript
public readonly valueType: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptor.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MonitoringMetricDescriptor.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MonitoringMonitoredProject <a name="MonitoringMonitoredProject" id="@dschmidt/provider-google.MonitoringMonitoredProject"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project google_monitoring_monitored_project}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MonitoringMonitoredProject.Initializer"></a>

```typescript
import { MonitoringMonitoredProject } from '@dschmidt/provider-google'

new MonitoringMonitoredProject(scope: Construct, id: string, config: MonitoringMonitoredProjectConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig">MonitoringMonitoredProjectConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MonitoringMonitoredProject.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringMonitoredProject.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MonitoringMonitoredProject.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig">MonitoringMonitoredProjectConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MonitoringMonitoredProject.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MonitoringMonitoredProject.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MonitoringMonitoredProject.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringMonitoredProject.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MonitoringMonitoredProject.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MonitoringMonitoredProject.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MonitoringMonitoredProject.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MonitoringMonitoredProject.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MonitoringMonitoredProject.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringMonitoredProject.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MonitoringMonitoredProject.putTimeouts"></a>

```typescript
public putTimeouts(value: MonitoringMonitoredProjectTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringMonitoredProject.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts">MonitoringMonitoredProjectTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MonitoringMonitoredProject.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MonitoringMonitoredProject.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MonitoringMonitoredProject.isConstruct"></a>

```typescript
import { MonitoringMonitoredProject } from '@dschmidt/provider-google'

MonitoringMonitoredProject.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MonitoringMonitoredProject.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectTimeoutsOutputReference">MonitoringMonitoredProjectTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.metricsScopeInput">metricsScopeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts">MonitoringMonitoredProjectTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.metricsScope">metricsScope</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.name">name</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringMonitoredProjectTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMonitoredProjectTimeoutsOutputReference">MonitoringMonitoredProjectTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `metricsScopeInput`<sup>Optional</sup> <a name="metricsScopeInput" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.metricsScopeInput"></a>

```typescript
public readonly metricsScopeInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MonitoringMonitoredProjectTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts">MonitoringMonitoredProjectTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `metricsScope`<sup>Required</sup> <a name="metricsScope" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.metricsScope"></a>

```typescript
public readonly metricsScope: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProject.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MonitoringMonitoredProject.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MonitoringNotificationChannel <a name="MonitoringNotificationChannel" id="@dschmidt/provider-google.MonitoringNotificationChannel"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel google_monitoring_notification_channel}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MonitoringNotificationChannel.Initializer"></a>

```typescript
import { MonitoringNotificationChannel } from '@dschmidt/provider-google'

new MonitoringNotificationChannel(scope: Construct, id: string, config: MonitoringNotificationChannelConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig">MonitoringNotificationChannelConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MonitoringNotificationChannel.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringNotificationChannel.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MonitoringNotificationChannel.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig">MonitoringNotificationChannelConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.putSensitiveLabels">putSensitiveLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetForceDelete">resetForceDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetSensitiveLabels">resetSensitiveLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.resetUserLabels">resetUserLabels</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MonitoringNotificationChannel.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MonitoringNotificationChannel.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MonitoringNotificationChannel.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringNotificationChannel.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MonitoringNotificationChannel.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MonitoringNotificationChannel.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MonitoringNotificationChannel.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MonitoringNotificationChannel.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringNotificationChannel.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSensitiveLabels` <a name="putSensitiveLabels" id="@dschmidt/provider-google.MonitoringNotificationChannel.putSensitiveLabels"></a>

```typescript
public putSensitiveLabels(value: MonitoringNotificationChannelSensitiveLabels): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringNotificationChannel.putSensitiveLabels.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels">MonitoringNotificationChannelSensitiveLabels</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MonitoringNotificationChannel.putTimeouts"></a>

```typescript
public putTimeouts(value: MonitoringNotificationChannelTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringNotificationChannel.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeouts">MonitoringNotificationChannelTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetForceDelete` <a name="resetForceDelete" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetForceDelete"></a>

```typescript
public resetForceDelete(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSensitiveLabels` <a name="resetSensitiveLabels" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetSensitiveLabels"></a>

```typescript
public resetSensitiveLabels(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUserLabels` <a name="resetUserLabels" id="@dschmidt/provider-google.MonitoringNotificationChannel.resetUserLabels"></a>

```typescript
public resetUserLabels(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MonitoringNotificationChannel.isConstruct"></a>

```typescript
import { MonitoringNotificationChannel } from '@dschmidt/provider-google'

MonitoringNotificationChannel.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MonitoringNotificationChannel.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.sensitiveLabels">sensitiveLabels</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabelsOutputReference">MonitoringNotificationChannelSensitiveLabelsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeoutsOutputReference">MonitoringNotificationChannelTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.verificationStatus">verificationStatus</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.forceDeleteInput">forceDeleteInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.sensitiveLabelsInput">sensitiveLabelsInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels">MonitoringNotificationChannelSensitiveLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeouts">MonitoringNotificationChannelTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.userLabelsInput">userLabelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.forceDelete">forceDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.type">type</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `sensitiveLabels`<sup>Required</sup> <a name="sensitiveLabels" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.sensitiveLabels"></a>

```typescript
public readonly sensitiveLabels: MonitoringNotificationChannelSensitiveLabelsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabelsOutputReference">MonitoringNotificationChannelSensitiveLabelsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringNotificationChannelTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeoutsOutputReference">MonitoringNotificationChannelTimeoutsOutputReference</a>

---

##### `verificationStatus`<sup>Required</sup> <a name="verificationStatus" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.verificationStatus"></a>

```typescript
public readonly verificationStatus: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `forceDeleteInput`<sup>Optional</sup> <a name="forceDeleteInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.forceDeleteInput"></a>

```typescript
public readonly forceDeleteInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `sensitiveLabelsInput`<sup>Optional</sup> <a name="sensitiveLabelsInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.sensitiveLabelsInput"></a>

```typescript
public readonly sensitiveLabelsInput: MonitoringNotificationChannelSensitiveLabels;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels">MonitoringNotificationChannelSensitiveLabels</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MonitoringNotificationChannelTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeouts">MonitoringNotificationChannelTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `userLabelsInput`<sup>Optional</sup> <a name="userLabelsInput" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.userLabelsInput"></a>

```typescript
public readonly userLabelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `forceDelete`<sup>Required</sup> <a name="forceDelete" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.forceDelete"></a>

```typescript
public readonly forceDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

##### `userLabels`<sup>Required</sup> <a name="userLabels" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannel.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MonitoringNotificationChannel.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MonitoringSlo <a name="MonitoringSlo" id="@dschmidt/provider-google.MonitoringSlo"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo google_monitoring_slo}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MonitoringSlo.Initializer"></a>

```typescript
import { MonitoringSlo } from '@dschmidt/provider-google'

new MonitoringSlo(scope: Construct, id: string, config: MonitoringSloConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloConfig">MonitoringSloConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MonitoringSlo.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringSlo.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MonitoringSlo.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloConfig">MonitoringSloConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.putBasicSli">putBasicSli</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.putRequestBasedSli">putRequestBasedSli</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.putWindowsBasedSli">putWindowsBasedSli</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetBasicSli">resetBasicSli</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetCalendarPeriod">resetCalendarPeriod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetRequestBasedSli">resetRequestBasedSli</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetRollingPeriodDays">resetRollingPeriodDays</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetSloId">resetSloId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetUserLabels">resetUserLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.resetWindowsBasedSli">resetWindowsBasedSli</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MonitoringSlo.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MonitoringSlo.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MonitoringSlo.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringSlo.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MonitoringSlo.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MonitoringSlo.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MonitoringSlo.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MonitoringSlo.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MonitoringSlo.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MonitoringSlo.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MonitoringSlo.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MonitoringSlo.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MonitoringSlo.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MonitoringSlo.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MonitoringSlo.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MonitoringSlo.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MonitoringSlo.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MonitoringSlo.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MonitoringSlo.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringSlo.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBasicSli` <a name="putBasicSli" id="@dschmidt/provider-google.MonitoringSlo.putBasicSli"></a>

```typescript
public putBasicSli(value: MonitoringSloBasicSli): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringSlo.putBasicSli.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloBasicSli">MonitoringSloBasicSli</a>

---

##### `putRequestBasedSli` <a name="putRequestBasedSli" id="@dschmidt/provider-google.MonitoringSlo.putRequestBasedSli"></a>

```typescript
public putRequestBasedSli(value: MonitoringSloRequestBasedSli): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringSlo.putRequestBasedSli.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSli">MonitoringSloRequestBasedSli</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MonitoringSlo.putTimeouts"></a>

```typescript
public putTimeouts(value: MonitoringSloTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringSlo.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloTimeouts">MonitoringSloTimeouts</a>

---

##### `putWindowsBasedSli` <a name="putWindowsBasedSli" id="@dschmidt/provider-google.MonitoringSlo.putWindowsBasedSli"></a>

```typescript
public putWindowsBasedSli(value: MonitoringSloWindowsBasedSli): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringSlo.putWindowsBasedSli.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli">MonitoringSloWindowsBasedSli</a>

---

##### `resetBasicSli` <a name="resetBasicSli" id="@dschmidt/provider-google.MonitoringSlo.resetBasicSli"></a>

```typescript
public resetBasicSli(): void
```

##### `resetCalendarPeriod` <a name="resetCalendarPeriod" id="@dschmidt/provider-google.MonitoringSlo.resetCalendarPeriod"></a>

```typescript
public resetCalendarPeriod(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.MonitoringSlo.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MonitoringSlo.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MonitoringSlo.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRequestBasedSli` <a name="resetRequestBasedSli" id="@dschmidt/provider-google.MonitoringSlo.resetRequestBasedSli"></a>

```typescript
public resetRequestBasedSli(): void
```

##### `resetRollingPeriodDays` <a name="resetRollingPeriodDays" id="@dschmidt/provider-google.MonitoringSlo.resetRollingPeriodDays"></a>

```typescript
public resetRollingPeriodDays(): void
```

##### `resetSloId` <a name="resetSloId" id="@dschmidt/provider-google.MonitoringSlo.resetSloId"></a>

```typescript
public resetSloId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MonitoringSlo.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUserLabels` <a name="resetUserLabels" id="@dschmidt/provider-google.MonitoringSlo.resetUserLabels"></a>

```typescript
public resetUserLabels(): void
```

##### `resetWindowsBasedSli` <a name="resetWindowsBasedSli" id="@dschmidt/provider-google.MonitoringSlo.resetWindowsBasedSli"></a>

```typescript
public resetWindowsBasedSli(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MonitoringSlo.isConstruct"></a>

```typescript
import { MonitoringSlo } from '@dschmidt/provider-google'

MonitoringSlo.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MonitoringSlo.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.basicSli">basicSli</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSliOutputReference">MonitoringSloBasicSliOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.requestBasedSli">requestBasedSli</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliOutputReference">MonitoringSloRequestBasedSliOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloTimeoutsOutputReference">MonitoringSloTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.windowsBasedSli">windowsBasedSli</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliOutputReference">MonitoringSloWindowsBasedSliOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.basicSliInput">basicSliInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSli">MonitoringSloBasicSli</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.calendarPeriodInput">calendarPeriodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.goalInput">goalInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.requestBasedSliInput">requestBasedSliInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSli">MonitoringSloRequestBasedSli</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.rollingPeriodDaysInput">rollingPeriodDaysInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.sloIdInput">sloIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringSloTimeouts">MonitoringSloTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.userLabelsInput">userLabelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.windowsBasedSliInput">windowsBasedSliInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli">MonitoringSloWindowsBasedSli</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.calendarPeriod">calendarPeriod</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.goal">goal</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.rollingPeriodDays">rollingPeriodDays</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.service">service</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.sloId">sloId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MonitoringSlo.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MonitoringSlo.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MonitoringSlo.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MonitoringSlo.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MonitoringSlo.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MonitoringSlo.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MonitoringSlo.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringSlo.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringSlo.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringSlo.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringSlo.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringSlo.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringSlo.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringSlo.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `basicSli`<sup>Required</sup> <a name="basicSli" id="@dschmidt/provider-google.MonitoringSlo.property.basicSli"></a>

```typescript
public readonly basicSli: MonitoringSloBasicSliOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloBasicSliOutputReference">MonitoringSloBasicSliOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MonitoringSlo.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `requestBasedSli`<sup>Required</sup> <a name="requestBasedSli" id="@dschmidt/provider-google.MonitoringSlo.property.requestBasedSli"></a>

```typescript
public readonly requestBasedSli: MonitoringSloRequestBasedSliOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliOutputReference">MonitoringSloRequestBasedSliOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringSlo.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringSloTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloTimeoutsOutputReference">MonitoringSloTimeoutsOutputReference</a>

---

##### `windowsBasedSli`<sup>Required</sup> <a name="windowsBasedSli" id="@dschmidt/provider-google.MonitoringSlo.property.windowsBasedSli"></a>

```typescript
public readonly windowsBasedSli: MonitoringSloWindowsBasedSliOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliOutputReference">MonitoringSloWindowsBasedSliOutputReference</a>

---

##### `basicSliInput`<sup>Optional</sup> <a name="basicSliInput" id="@dschmidt/provider-google.MonitoringSlo.property.basicSliInput"></a>

```typescript
public readonly basicSliInput: MonitoringSloBasicSli;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloBasicSli">MonitoringSloBasicSli</a>

---

##### `calendarPeriodInput`<sup>Optional</sup> <a name="calendarPeriodInput" id="@dschmidt/provider-google.MonitoringSlo.property.calendarPeriodInput"></a>

```typescript
public readonly calendarPeriodInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.MonitoringSlo.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `goalInput`<sup>Optional</sup> <a name="goalInput" id="@dschmidt/provider-google.MonitoringSlo.property.goalInput"></a>

```typescript
public readonly goalInput: number;
```

- *Type:* number

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MonitoringSlo.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MonitoringSlo.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `requestBasedSliInput`<sup>Optional</sup> <a name="requestBasedSliInput" id="@dschmidt/provider-google.MonitoringSlo.property.requestBasedSliInput"></a>

```typescript
public readonly requestBasedSliInput: MonitoringSloRequestBasedSli;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSli">MonitoringSloRequestBasedSli</a>

---

##### `rollingPeriodDaysInput`<sup>Optional</sup> <a name="rollingPeriodDaysInput" id="@dschmidt/provider-google.MonitoringSlo.property.rollingPeriodDaysInput"></a>

```typescript
public readonly rollingPeriodDaysInput: number;
```

- *Type:* number

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.MonitoringSlo.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `sloIdInput`<sup>Optional</sup> <a name="sloIdInput" id="@dschmidt/provider-google.MonitoringSlo.property.sloIdInput"></a>

```typescript
public readonly sloIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MonitoringSlo.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MonitoringSloTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringSloTimeouts">MonitoringSloTimeouts</a>

---

##### `userLabelsInput`<sup>Optional</sup> <a name="userLabelsInput" id="@dschmidt/provider-google.MonitoringSlo.property.userLabelsInput"></a>

```typescript
public readonly userLabelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `windowsBasedSliInput`<sup>Optional</sup> <a name="windowsBasedSliInput" id="@dschmidt/provider-google.MonitoringSlo.property.windowsBasedSliInput"></a>

```typescript
public readonly windowsBasedSliInput: MonitoringSloWindowsBasedSli;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli">MonitoringSloWindowsBasedSli</a>

---

##### `calendarPeriod`<sup>Required</sup> <a name="calendarPeriod" id="@dschmidt/provider-google.MonitoringSlo.property.calendarPeriod"></a>

```typescript
public readonly calendarPeriod: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringSlo.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `goal`<sup>Required</sup> <a name="goal" id="@dschmidt/provider-google.MonitoringSlo.property.goal"></a>

```typescript
public readonly goal: number;
```

- *Type:* number

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringSlo.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MonitoringSlo.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `rollingPeriodDays`<sup>Required</sup> <a name="rollingPeriodDays" id="@dschmidt/provider-google.MonitoringSlo.property.rollingPeriodDays"></a>

```typescript
public readonly rollingPeriodDays: number;
```

- *Type:* number

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.MonitoringSlo.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

##### `sloId`<sup>Required</sup> <a name="sloId" id="@dschmidt/provider-google.MonitoringSlo.property.sloId"></a>

```typescript
public readonly sloId: string;
```

- *Type:* string

---

##### `userLabels`<sup>Required</sup> <a name="userLabels" id="@dschmidt/provider-google.MonitoringSlo.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSlo.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MonitoringSlo.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### MonitoringUptimeCheckConfig <a name="MonitoringUptimeCheckConfig" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config google_monitoring_uptime_check_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfig } from '@dschmidt/provider-google'

new MonitoringUptimeCheckConfig(scope: Construct, id: string, config: MonitoringUptimeCheckConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig">MonitoringUptimeCheckConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig">MonitoringUptimeCheckConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.putContentMatchers">putContentMatchers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.putHttpCheck">putHttpCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.putMonitoredResource">putMonitoredResource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.putResourceGroup">putResourceGroup</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.putTcpCheck">putTcpCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetCheckerType">resetCheckerType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetContentMatchers">resetContentMatchers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetHttpCheck">resetHttpCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetMonitoredResource">resetMonitoredResource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetPeriod">resetPeriod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetResourceGroup">resetResourceGroup</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetSelectedRegions">resetSelectedRegions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetTcpCheck">resetTcpCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putContentMatchers` <a name="putContentMatchers" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putContentMatchers"></a>

```typescript
public putContentMatchers(value: IResolvable | MonitoringUptimeCheckConfigContentMatchers[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putContentMatchers.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers">MonitoringUptimeCheckConfigContentMatchers</a>[]

---

##### `putHttpCheck` <a name="putHttpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putHttpCheck"></a>

```typescript
public putHttpCheck(value: MonitoringUptimeCheckConfigHttpCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putHttpCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck">MonitoringUptimeCheckConfigHttpCheck</a>

---

##### `putMonitoredResource` <a name="putMonitoredResource" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putMonitoredResource"></a>

```typescript
public putMonitoredResource(value: MonitoringUptimeCheckConfigMonitoredResource): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putMonitoredResource.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource">MonitoringUptimeCheckConfigMonitoredResource</a>

---

##### `putResourceGroup` <a name="putResourceGroup" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putResourceGroup"></a>

```typescript
public putResourceGroup(value: MonitoringUptimeCheckConfigResourceGroup): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putResourceGroup.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup">MonitoringUptimeCheckConfigResourceGroup</a>

---

##### `putTcpCheck` <a name="putTcpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putTcpCheck"></a>

```typescript
public putTcpCheck(value: MonitoringUptimeCheckConfigTcpCheck): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putTcpCheck.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheck">MonitoringUptimeCheckConfigTcpCheck</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: MonitoringUptimeCheckConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts">MonitoringUptimeCheckConfigTimeouts</a>

---

##### `resetCheckerType` <a name="resetCheckerType" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetCheckerType"></a>

```typescript
public resetCheckerType(): void
```

##### `resetContentMatchers` <a name="resetContentMatchers" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetContentMatchers"></a>

```typescript
public resetContentMatchers(): void
```

##### `resetHttpCheck` <a name="resetHttpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetHttpCheck"></a>

```typescript
public resetHttpCheck(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMonitoredResource` <a name="resetMonitoredResource" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetMonitoredResource"></a>

```typescript
public resetMonitoredResource(): void
```

##### `resetPeriod` <a name="resetPeriod" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetPeriod"></a>

```typescript
public resetPeriod(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetResourceGroup` <a name="resetResourceGroup" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetResourceGroup"></a>

```typescript
public resetResourceGroup(): void
```

##### `resetSelectedRegions` <a name="resetSelectedRegions" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetSelectedRegions"></a>

```typescript
public resetSelectedRegions(): void
```

##### `resetTcpCheck` <a name="resetTcpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetTcpCheck"></a>

```typescript
public resetTcpCheck(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.isConstruct"></a>

```typescript
import { MonitoringUptimeCheckConfig } from '@dschmidt/provider-google'

MonitoringUptimeCheckConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.contentMatchers">contentMatchers</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersList">MonitoringUptimeCheckConfigContentMatchersList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.httpCheck">httpCheck</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckOutputReference">MonitoringUptimeCheckConfigHttpCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.monitoredResource">monitoredResource</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResourceOutputReference">MonitoringUptimeCheckConfigMonitoredResourceOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.resourceGroup">resourceGroup</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroupOutputReference">MonitoringUptimeCheckConfigResourceGroupOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.tcpCheck">tcpCheck</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheckOutputReference">MonitoringUptimeCheckConfigTcpCheckOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeoutsOutputReference">MonitoringUptimeCheckConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.uptimeCheckId">uptimeCheckId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.checkerTypeInput">checkerTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.contentMatchersInput">contentMatchersInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers">MonitoringUptimeCheckConfigContentMatchers</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.httpCheckInput">httpCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck">MonitoringUptimeCheckConfigHttpCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.monitoredResourceInput">monitoredResourceInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource">MonitoringUptimeCheckConfigMonitoredResource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.periodInput">periodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.resourceGroupInput">resourceGroupInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup">MonitoringUptimeCheckConfigResourceGroup</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.selectedRegionsInput">selectedRegionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.tcpCheckInput">tcpCheckInput</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheck">MonitoringUptimeCheckConfigTcpCheck</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.timeoutInput">timeoutInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts">MonitoringUptimeCheckConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.checkerType">checkerType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.period">period</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.selectedRegions">selectedRegions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.timeout">timeout</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `contentMatchers`<sup>Required</sup> <a name="contentMatchers" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.contentMatchers"></a>

```typescript
public readonly contentMatchers: MonitoringUptimeCheckConfigContentMatchersList;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersList">MonitoringUptimeCheckConfigContentMatchersList</a>

---

##### `httpCheck`<sup>Required</sup> <a name="httpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.httpCheck"></a>

```typescript
public readonly httpCheck: MonitoringUptimeCheckConfigHttpCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckOutputReference">MonitoringUptimeCheckConfigHttpCheckOutputReference</a>

---

##### `monitoredResource`<sup>Required</sup> <a name="monitoredResource" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.monitoredResource"></a>

```typescript
public readonly monitoredResource: MonitoringUptimeCheckConfigMonitoredResourceOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResourceOutputReference">MonitoringUptimeCheckConfigMonitoredResourceOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `resourceGroup`<sup>Required</sup> <a name="resourceGroup" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.resourceGroup"></a>

```typescript
public readonly resourceGroup: MonitoringUptimeCheckConfigResourceGroupOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroupOutputReference">MonitoringUptimeCheckConfigResourceGroupOutputReference</a>

---

##### `tcpCheck`<sup>Required</sup> <a name="tcpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.tcpCheck"></a>

```typescript
public readonly tcpCheck: MonitoringUptimeCheckConfigTcpCheckOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheckOutputReference">MonitoringUptimeCheckConfigTcpCheckOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringUptimeCheckConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeoutsOutputReference">MonitoringUptimeCheckConfigTimeoutsOutputReference</a>

---

##### `uptimeCheckId`<sup>Required</sup> <a name="uptimeCheckId" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.uptimeCheckId"></a>

```typescript
public readonly uptimeCheckId: string;
```

- *Type:* string

---

##### `checkerTypeInput`<sup>Optional</sup> <a name="checkerTypeInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.checkerTypeInput"></a>

```typescript
public readonly checkerTypeInput: string;
```

- *Type:* string

---

##### `contentMatchersInput`<sup>Optional</sup> <a name="contentMatchersInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.contentMatchersInput"></a>

```typescript
public readonly contentMatchersInput: IResolvable | MonitoringUptimeCheckConfigContentMatchers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers">MonitoringUptimeCheckConfigContentMatchers</a>[]

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `httpCheckInput`<sup>Optional</sup> <a name="httpCheckInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.httpCheckInput"></a>

```typescript
public readonly httpCheckInput: MonitoringUptimeCheckConfigHttpCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck">MonitoringUptimeCheckConfigHttpCheck</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `monitoredResourceInput`<sup>Optional</sup> <a name="monitoredResourceInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.monitoredResourceInput"></a>

```typescript
public readonly monitoredResourceInput: MonitoringUptimeCheckConfigMonitoredResource;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource">MonitoringUptimeCheckConfigMonitoredResource</a>

---

##### `periodInput`<sup>Optional</sup> <a name="periodInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.periodInput"></a>

```typescript
public readonly periodInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `resourceGroupInput`<sup>Optional</sup> <a name="resourceGroupInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.resourceGroupInput"></a>

```typescript
public readonly resourceGroupInput: MonitoringUptimeCheckConfigResourceGroup;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup">MonitoringUptimeCheckConfigResourceGroup</a>

---

##### `selectedRegionsInput`<sup>Optional</sup> <a name="selectedRegionsInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.selectedRegionsInput"></a>

```typescript
public readonly selectedRegionsInput: string[];
```

- *Type:* string[]

---

##### `tcpCheckInput`<sup>Optional</sup> <a name="tcpCheckInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.tcpCheckInput"></a>

```typescript
public readonly tcpCheckInput: MonitoringUptimeCheckConfigTcpCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheck">MonitoringUptimeCheckConfigTcpCheck</a>

---

##### `timeoutInput`<sup>Optional</sup> <a name="timeoutInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.timeoutInput"></a>

```typescript
public readonly timeoutInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | MonitoringUptimeCheckConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts">MonitoringUptimeCheckConfigTimeouts</a>

---

##### `checkerType`<sup>Required</sup> <a name="checkerType" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.checkerType"></a>

```typescript
public readonly checkerType: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `period`<sup>Required</sup> <a name="period" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.period"></a>

```typescript
public readonly period: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `selectedRegions`<sup>Required</sup> <a name="selectedRegions" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.selectedRegions"></a>

```typescript
public readonly selectedRegions: string[];
```

- *Type:* string[]

---

##### `timeout`<sup>Required</sup> <a name="timeout" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.timeout"></a>

```typescript
public readonly timeout: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.MonitoringUptimeCheckConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NetworkConnectivityHub <a name="NetworkConnectivityHub" id="@dschmidt/provider-google.NetworkConnectivityHub"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub google_network_connectivity_hub}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NetworkConnectivityHub.Initializer"></a>

```typescript
import { NetworkConnectivityHub } from '@dschmidt/provider-google'

new NetworkConnectivityHub(scope: Construct, id: string, config: NetworkConnectivityHubConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig">NetworkConnectivityHubConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NetworkConnectivityHub.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkConnectivityHub.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NetworkConnectivityHub.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig">NetworkConnectivityHubConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NetworkConnectivityHub.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NetworkConnectivityHub.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NetworkConnectivityHub.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkConnectivityHub.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NetworkConnectivityHub.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NetworkConnectivityHub.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NetworkConnectivityHub.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NetworkConnectivityHub.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NetworkConnectivityHub.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivityHub.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NetworkConnectivityHub.putTimeouts"></a>

```typescript
public putTimeouts(value: NetworkConnectivityHubTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkConnectivityHub.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeouts">NetworkConnectivityHubTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.NetworkConnectivityHub.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NetworkConnectivityHub.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.NetworkConnectivityHub.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NetworkConnectivityHub.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NetworkConnectivityHub.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NetworkConnectivityHub.isConstruct"></a>

```typescript
import { NetworkConnectivityHub } from '@dschmidt/provider-google'

NetworkConnectivityHub.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NetworkConnectivityHub.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.routingVpcs">routingVpcs</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubRoutingVpcsList">NetworkConnectivityHubRoutingVpcsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeoutsOutputReference">NetworkConnectivityHubTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.uniqueId">uniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeouts">NetworkConnectivityHubTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NetworkConnectivityHub.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NetworkConnectivityHub.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NetworkConnectivityHub.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NetworkConnectivityHub.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NetworkConnectivityHub.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NetworkConnectivityHub.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NetworkConnectivityHub.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkConnectivityHub.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkConnectivityHub.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkConnectivityHub.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkConnectivityHub.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkConnectivityHub.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkConnectivityHub.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkConnectivityHub.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.NetworkConnectivityHub.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `routingVpcs`<sup>Required</sup> <a name="routingVpcs" id="@dschmidt/provider-google.NetworkConnectivityHub.property.routingVpcs"></a>

```typescript
public readonly routingVpcs: NetworkConnectivityHubRoutingVpcsList;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivityHubRoutingVpcsList">NetworkConnectivityHubRoutingVpcsList</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.NetworkConnectivityHub.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkConnectivityHub.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkConnectivityHubTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeoutsOutputReference">NetworkConnectivityHubTimeoutsOutputReference</a>

---

##### `uniqueId`<sup>Required</sup> <a name="uniqueId" id="@dschmidt/provider-google.NetworkConnectivityHub.property.uniqueId"></a>

```typescript
public readonly uniqueId: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.NetworkConnectivityHub.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.NetworkConnectivityHub.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NetworkConnectivityHub.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.NetworkConnectivityHub.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NetworkConnectivityHub.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NetworkConnectivityHub.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NetworkConnectivityHub.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NetworkConnectivityHubTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeouts">NetworkConnectivityHubTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.NetworkConnectivityHub.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkConnectivityHub.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.NetworkConnectivityHub.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkConnectivityHub.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NetworkConnectivityHub.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHub.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NetworkConnectivityHub.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NetworkConnectivitySpoke <a name="NetworkConnectivitySpoke" id="@dschmidt/provider-google.NetworkConnectivitySpoke"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke google_network_connectivity_spoke}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NetworkConnectivitySpoke.Initializer"></a>

```typescript
import { NetworkConnectivitySpoke } from '@dschmidt/provider-google'

new NetworkConnectivitySpoke(scope: Construct, id: string, config: NetworkConnectivitySpokeConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig">NetworkConnectivitySpokeConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NetworkConnectivitySpoke.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkConnectivitySpoke.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NetworkConnectivitySpoke.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig">NetworkConnectivitySpokeConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.putLinkedInterconnectAttachments">putLinkedInterconnectAttachments</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.putLinkedRouterApplianceInstances">putLinkedRouterApplianceInstances</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.putLinkedVpnTunnels">putLinkedVpnTunnels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.resetLinkedInterconnectAttachments">resetLinkedInterconnectAttachments</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.resetLinkedRouterApplianceInstances">resetLinkedRouterApplianceInstances</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.resetLinkedVpnTunnels">resetLinkedVpnTunnels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NetworkConnectivitySpoke.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NetworkConnectivitySpoke.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NetworkConnectivitySpoke.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkConnectivitySpoke.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NetworkConnectivitySpoke.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NetworkConnectivitySpoke.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NetworkConnectivitySpoke.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NetworkConnectivitySpoke.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NetworkConnectivitySpoke.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkConnectivitySpoke.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putLinkedInterconnectAttachments` <a name="putLinkedInterconnectAttachments" id="@dschmidt/provider-google.NetworkConnectivitySpoke.putLinkedInterconnectAttachments"></a>

```typescript
public putLinkedInterconnectAttachments(value: NetworkConnectivitySpokeLinkedInterconnectAttachments): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkConnectivitySpoke.putLinkedInterconnectAttachments.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments">NetworkConnectivitySpokeLinkedInterconnectAttachments</a>

---

##### `putLinkedRouterApplianceInstances` <a name="putLinkedRouterApplianceInstances" id="@dschmidt/provider-google.NetworkConnectivitySpoke.putLinkedRouterApplianceInstances"></a>

```typescript
public putLinkedRouterApplianceInstances(value: NetworkConnectivitySpokeLinkedRouterApplianceInstances): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkConnectivitySpoke.putLinkedRouterApplianceInstances.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances">NetworkConnectivitySpokeLinkedRouterApplianceInstances</a>

---

##### `putLinkedVpnTunnels` <a name="putLinkedVpnTunnels" id="@dschmidt/provider-google.NetworkConnectivitySpoke.putLinkedVpnTunnels"></a>

```typescript
public putLinkedVpnTunnels(value: NetworkConnectivitySpokeLinkedVpnTunnels): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkConnectivitySpoke.putLinkedVpnTunnels.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels">NetworkConnectivitySpokeLinkedVpnTunnels</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NetworkConnectivitySpoke.putTimeouts"></a>

```typescript
public putTimeouts(value: NetworkConnectivitySpokeTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkConnectivitySpoke.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts">NetworkConnectivitySpokeTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.NetworkConnectivitySpoke.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NetworkConnectivitySpoke.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.NetworkConnectivitySpoke.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLinkedInterconnectAttachments` <a name="resetLinkedInterconnectAttachments" id="@dschmidt/provider-google.NetworkConnectivitySpoke.resetLinkedInterconnectAttachments"></a>

```typescript
public resetLinkedInterconnectAttachments(): void
```

##### `resetLinkedRouterApplianceInstances` <a name="resetLinkedRouterApplianceInstances" id="@dschmidt/provider-google.NetworkConnectivitySpoke.resetLinkedRouterApplianceInstances"></a>

```typescript
public resetLinkedRouterApplianceInstances(): void
```

##### `resetLinkedVpnTunnels` <a name="resetLinkedVpnTunnels" id="@dschmidt/provider-google.NetworkConnectivitySpoke.resetLinkedVpnTunnels"></a>

```typescript
public resetLinkedVpnTunnels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NetworkConnectivitySpoke.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NetworkConnectivitySpoke.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NetworkConnectivitySpoke.isConstruct"></a>

```typescript
import { NetworkConnectivitySpoke } from '@dschmidt/provider-google'

NetworkConnectivitySpoke.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NetworkConnectivitySpoke.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedInterconnectAttachments">linkedInterconnectAttachments</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachmentsOutputReference">NetworkConnectivitySpokeLinkedInterconnectAttachmentsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedRouterApplianceInstances">linkedRouterApplianceInstances</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesOutputReference">NetworkConnectivitySpokeLinkedRouterApplianceInstancesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedVpnTunnels">linkedVpnTunnels</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnelsOutputReference">NetworkConnectivitySpokeLinkedVpnTunnelsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeoutsOutputReference">NetworkConnectivitySpokeTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.uniqueId">uniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.hubInput">hubInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedInterconnectAttachmentsInput">linkedInterconnectAttachmentsInput</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments">NetworkConnectivitySpokeLinkedInterconnectAttachments</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedRouterApplianceInstancesInput">linkedRouterApplianceInstancesInput</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances">NetworkConnectivitySpokeLinkedRouterApplianceInstances</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedVpnTunnelsInput">linkedVpnTunnelsInput</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels">NetworkConnectivitySpokeLinkedVpnTunnels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts">NetworkConnectivitySpokeTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.hub">hub</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `linkedInterconnectAttachments`<sup>Required</sup> <a name="linkedInterconnectAttachments" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedInterconnectAttachments"></a>

```typescript
public readonly linkedInterconnectAttachments: NetworkConnectivitySpokeLinkedInterconnectAttachmentsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachmentsOutputReference">NetworkConnectivitySpokeLinkedInterconnectAttachmentsOutputReference</a>

---

##### `linkedRouterApplianceInstances`<sup>Required</sup> <a name="linkedRouterApplianceInstances" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedRouterApplianceInstances"></a>

```typescript
public readonly linkedRouterApplianceInstances: NetworkConnectivitySpokeLinkedRouterApplianceInstancesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesOutputReference">NetworkConnectivitySpokeLinkedRouterApplianceInstancesOutputReference</a>

---

##### `linkedVpnTunnels`<sup>Required</sup> <a name="linkedVpnTunnels" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedVpnTunnels"></a>

```typescript
public readonly linkedVpnTunnels: NetworkConnectivitySpokeLinkedVpnTunnelsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnelsOutputReference">NetworkConnectivitySpokeLinkedVpnTunnelsOutputReference</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkConnectivitySpokeTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeoutsOutputReference">NetworkConnectivitySpokeTimeoutsOutputReference</a>

---

##### `uniqueId`<sup>Required</sup> <a name="uniqueId" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.uniqueId"></a>

```typescript
public readonly uniqueId: string;
```

- *Type:* string

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `hubInput`<sup>Optional</sup> <a name="hubInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.hubInput"></a>

```typescript
public readonly hubInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `linkedInterconnectAttachmentsInput`<sup>Optional</sup> <a name="linkedInterconnectAttachmentsInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedInterconnectAttachmentsInput"></a>

```typescript
public readonly linkedInterconnectAttachmentsInput: NetworkConnectivitySpokeLinkedInterconnectAttachments;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments">NetworkConnectivitySpokeLinkedInterconnectAttachments</a>

---

##### `linkedRouterApplianceInstancesInput`<sup>Optional</sup> <a name="linkedRouterApplianceInstancesInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedRouterApplianceInstancesInput"></a>

```typescript
public readonly linkedRouterApplianceInstancesInput: NetworkConnectivitySpokeLinkedRouterApplianceInstances;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances">NetworkConnectivitySpokeLinkedRouterApplianceInstances</a>

---

##### `linkedVpnTunnelsInput`<sup>Optional</sup> <a name="linkedVpnTunnelsInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.linkedVpnTunnelsInput"></a>

```typescript
public readonly linkedVpnTunnelsInput: NetworkConnectivitySpokeLinkedVpnTunnels;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels">NetworkConnectivitySpokeLinkedVpnTunnels</a>

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NetworkConnectivitySpokeTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts">NetworkConnectivitySpokeTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `hub`<sup>Required</sup> <a name="hub" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.hub"></a>

```typescript
public readonly hub: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpoke.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NetworkConnectivitySpoke.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NetworkManagementConnectivityTest <a name="NetworkManagementConnectivityTest" id="@dschmidt/provider-google.NetworkManagementConnectivityTest"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test google_network_management_connectivity_test}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.Initializer"></a>

```typescript
import { NetworkManagementConnectivityTest } from '@dschmidt/provider-google'

new NetworkManagementConnectivityTest(scope: Construct, id: string, config: NetworkManagementConnectivityTestConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig">NetworkManagementConnectivityTestConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig">NetworkManagementConnectivityTestConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.putDestination">putDestination</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.putSource">putSource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.resetProtocol">resetProtocol</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.resetRelatedProjects">resetRelatedProjects</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDestination` <a name="putDestination" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.putDestination"></a>

```typescript
public putDestination(value: NetworkManagementConnectivityTestDestination): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.putDestination.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination">NetworkManagementConnectivityTestDestination</a>

---

##### `putSource` <a name="putSource" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.putSource"></a>

```typescript
public putSource(value: NetworkManagementConnectivityTestSource): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.putSource.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource">NetworkManagementConnectivityTestSource</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.putTimeouts"></a>

```typescript
public putTimeouts(value: NetworkManagementConnectivityTestTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts">NetworkManagementConnectivityTestTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProtocol` <a name="resetProtocol" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.resetProtocol"></a>

```typescript
public resetProtocol(): void
```

##### `resetRelatedProjects` <a name="resetRelatedProjects" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.resetRelatedProjects"></a>

```typescript
public resetRelatedProjects(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.isConstruct"></a>

```typescript
import { NetworkManagementConnectivityTest } from '@dschmidt/provider-google'

NetworkManagementConnectivityTest.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.destination">destination</a></code> | <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestinationOutputReference">NetworkManagementConnectivityTestDestinationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.source">source</a></code> | <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSourceOutputReference">NetworkManagementConnectivityTestSourceOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeoutsOutputReference">NetworkManagementConnectivityTestTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.destinationInput">destinationInput</a></code> | <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination">NetworkManagementConnectivityTestDestination</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.protocolInput">protocolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.relatedProjectsInput">relatedProjectsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.sourceInput">sourceInput</a></code> | <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource">NetworkManagementConnectivityTestSource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts">NetworkManagementConnectivityTestTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.protocol">protocol</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.relatedProjects">relatedProjects</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.destination"></a>

```typescript
public readonly destination: NetworkManagementConnectivityTestDestinationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestinationOutputReference">NetworkManagementConnectivityTestDestinationOutputReference</a>

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.source"></a>

```typescript
public readonly source: NetworkManagementConnectivityTestSourceOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSourceOutputReference">NetworkManagementConnectivityTestSourceOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkManagementConnectivityTestTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeoutsOutputReference">NetworkManagementConnectivityTestTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `destinationInput`<sup>Optional</sup> <a name="destinationInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.destinationInput"></a>

```typescript
public readonly destinationInput: NetworkManagementConnectivityTestDestination;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination">NetworkManagementConnectivityTestDestination</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `protocolInput`<sup>Optional</sup> <a name="protocolInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.protocolInput"></a>

```typescript
public readonly protocolInput: string;
```

- *Type:* string

---

##### `relatedProjectsInput`<sup>Optional</sup> <a name="relatedProjectsInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.relatedProjectsInput"></a>

```typescript
public readonly relatedProjectsInput: string[];
```

- *Type:* string[]

---

##### `sourceInput`<sup>Optional</sup> <a name="sourceInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.sourceInput"></a>

```typescript
public readonly sourceInput: NetworkManagementConnectivityTestSource;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource">NetworkManagementConnectivityTestSource</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NetworkManagementConnectivityTestTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts">NetworkManagementConnectivityTestTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `protocol`<sup>Required</sup> <a name="protocol" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

---

##### `relatedProjects`<sup>Required</sup> <a name="relatedProjects" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.relatedProjects"></a>

```typescript
public readonly relatedProjects: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTest.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NetworkManagementConnectivityTest.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NetworkServicesEdgeCacheKeyset <a name="NetworkServicesEdgeCacheKeyset" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset google_network_services_edge_cache_keyset}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheKeyset } from '@dschmidt/provider-google'

new NetworkServicesEdgeCacheKeyset(scope: Construct, id: string, config: NetworkServicesEdgeCacheKeysetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig">NetworkServicesEdgeCacheKeysetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig">NetworkServicesEdgeCacheKeysetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.putPublicKey">putPublicKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putPublicKey` <a name="putPublicKey" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.putPublicKey"></a>

```typescript
public putPublicKey(value: IResolvable | NetworkServicesEdgeCacheKeysetPublicKey[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.putPublicKey.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey">NetworkServicesEdgeCacheKeysetPublicKey</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.putTimeouts"></a>

```typescript
public putTimeouts(value: NetworkServicesEdgeCacheKeysetTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts">NetworkServicesEdgeCacheKeysetTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.isConstruct"></a>

```typescript
import { NetworkServicesEdgeCacheKeyset } from '@dschmidt/provider-google'

NetworkServicesEdgeCacheKeyset.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.publicKey">publicKey</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKeyList">NetworkServicesEdgeCacheKeysetPublicKeyList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeoutsOutputReference">NetworkServicesEdgeCacheKeysetTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.publicKeyInput">publicKeyInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey">NetworkServicesEdgeCacheKeysetPublicKey</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts">NetworkServicesEdgeCacheKeysetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `publicKey`<sup>Required</sup> <a name="publicKey" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.publicKey"></a>

```typescript
public readonly publicKey: NetworkServicesEdgeCacheKeysetPublicKeyList;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKeyList">NetworkServicesEdgeCacheKeysetPublicKeyList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkServicesEdgeCacheKeysetTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeoutsOutputReference">NetworkServicesEdgeCacheKeysetTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `publicKeyInput`<sup>Optional</sup> <a name="publicKeyInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.publicKeyInput"></a>

```typescript
public readonly publicKeyInput: IResolvable | NetworkServicesEdgeCacheKeysetPublicKey[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey">NetworkServicesEdgeCacheKeysetPublicKey</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NetworkServicesEdgeCacheKeysetTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts">NetworkServicesEdgeCacheKeysetTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeyset.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NetworkServicesEdgeCacheOrigin <a name="NetworkServicesEdgeCacheOrigin" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin google_network_services_edge_cache_origin}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheOrigin } from '@dschmidt/provider-google'

new NetworkServicesEdgeCacheOrigin(scope: Construct, id: string, config: NetworkServicesEdgeCacheOriginConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig">NetworkServicesEdgeCacheOriginConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig">NetworkServicesEdgeCacheOriginConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.putTimeout">putTimeout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetFailoverOrigin">resetFailoverOrigin</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetMaxAttempts">resetMaxAttempts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetPort">resetPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetProtocol">resetProtocol</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetRetryConditions">resetRetryConditions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetTimeout">resetTimeout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeout` <a name="putTimeout" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.putTimeout"></a>

```typescript
public putTimeout(value: NetworkServicesEdgeCacheOriginTimeout): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.putTimeout.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout">NetworkServicesEdgeCacheOriginTimeout</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.putTimeouts"></a>

```typescript
public putTimeouts(value: NetworkServicesEdgeCacheOriginTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts">NetworkServicesEdgeCacheOriginTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetFailoverOrigin` <a name="resetFailoverOrigin" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetFailoverOrigin"></a>

```typescript
public resetFailoverOrigin(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMaxAttempts` <a name="resetMaxAttempts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetMaxAttempts"></a>

```typescript
public resetMaxAttempts(): void
```

##### `resetPort` <a name="resetPort" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetPort"></a>

```typescript
public resetPort(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetProtocol` <a name="resetProtocol" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetProtocol"></a>

```typescript
public resetProtocol(): void
```

##### `resetRetryConditions` <a name="resetRetryConditions" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetRetryConditions"></a>

```typescript
public resetRetryConditions(): void
```

##### `resetTimeout` <a name="resetTimeout" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetTimeout"></a>

```typescript
public resetTimeout(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.isConstruct"></a>

```typescript
import { NetworkServicesEdgeCacheOrigin } from '@dschmidt/provider-google'

NetworkServicesEdgeCacheOrigin.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.timeout">timeout</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeoutOutputReference">NetworkServicesEdgeCacheOriginTimeoutOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeoutsOutputReference">NetworkServicesEdgeCacheOriginTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.failoverOriginInput">failoverOriginInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.maxAttemptsInput">maxAttemptsInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.originAddressInput">originAddressInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.portInput">portInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.protocolInput">protocolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.retryConditionsInput">retryConditionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.timeoutInput">timeoutInput</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout">NetworkServicesEdgeCacheOriginTimeout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts">NetworkServicesEdgeCacheOriginTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.failoverOrigin">failoverOrigin</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.originAddress">originAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.protocol">protocol</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.retryConditions">retryConditions</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeout`<sup>Required</sup> <a name="timeout" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.timeout"></a>

```typescript
public readonly timeout: NetworkServicesEdgeCacheOriginTimeoutOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeoutOutputReference">NetworkServicesEdgeCacheOriginTimeoutOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkServicesEdgeCacheOriginTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeoutsOutputReference">NetworkServicesEdgeCacheOriginTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `failoverOriginInput`<sup>Optional</sup> <a name="failoverOriginInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.failoverOriginInput"></a>

```typescript
public readonly failoverOriginInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `maxAttemptsInput`<sup>Optional</sup> <a name="maxAttemptsInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.maxAttemptsInput"></a>

```typescript
public readonly maxAttemptsInput: number;
```

- *Type:* number

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `originAddressInput`<sup>Optional</sup> <a name="originAddressInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.originAddressInput"></a>

```typescript
public readonly originAddressInput: string;
```

- *Type:* string

---

##### `portInput`<sup>Optional</sup> <a name="portInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.portInput"></a>

```typescript
public readonly portInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `protocolInput`<sup>Optional</sup> <a name="protocolInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.protocolInput"></a>

```typescript
public readonly protocolInput: string;
```

- *Type:* string

---

##### `retryConditionsInput`<sup>Optional</sup> <a name="retryConditionsInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.retryConditionsInput"></a>

```typescript
public readonly retryConditionsInput: string[];
```

- *Type:* string[]

---

##### `timeoutInput`<sup>Optional</sup> <a name="timeoutInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.timeoutInput"></a>

```typescript
public readonly timeoutInput: NetworkServicesEdgeCacheOriginTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout">NetworkServicesEdgeCacheOriginTimeout</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NetworkServicesEdgeCacheOriginTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts">NetworkServicesEdgeCacheOriginTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `failoverOrigin`<sup>Required</sup> <a name="failoverOrigin" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.failoverOrigin"></a>

```typescript
public readonly failoverOrigin: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `originAddress`<sup>Required</sup> <a name="originAddress" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.originAddress"></a>

```typescript
public readonly originAddress: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `protocol`<sup>Required</sup> <a name="protocol" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

---

##### `retryConditions`<sup>Required</sup> <a name="retryConditions" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.retryConditions"></a>

```typescript
public readonly retryConditions: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOrigin.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NetworkServicesEdgeCacheService <a name="NetworkServicesEdgeCacheService" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service google_network_services_edge_cache_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheService } from '@dschmidt/provider-google'

new NetworkServicesEdgeCacheService(scope: Construct, id: string, config: NetworkServicesEdgeCacheServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig">NetworkServicesEdgeCacheServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig">NetworkServicesEdgeCacheServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.putLogConfig">putLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.putRouting">putRouting</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetDisableHttp2">resetDisableHttp2</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetDisableQuic">resetDisableQuic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetEdgeSecurityPolicy">resetEdgeSecurityPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetEdgeSslCertificates">resetEdgeSslCertificates</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetLogConfig">resetLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetRequireTls">resetRequireTls</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetSslPolicy">resetSslPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putLogConfig` <a name="putLogConfig" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.putLogConfig"></a>

```typescript
public putLogConfig(value: NetworkServicesEdgeCacheServiceLogConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.putLogConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig">NetworkServicesEdgeCacheServiceLogConfig</a>

---

##### `putRouting` <a name="putRouting" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.putRouting"></a>

```typescript
public putRouting(value: NetworkServicesEdgeCacheServiceRouting): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.putRouting.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting">NetworkServicesEdgeCacheServiceRouting</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.putTimeouts"></a>

```typescript
public putTimeouts(value: NetworkServicesEdgeCacheServiceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts">NetworkServicesEdgeCacheServiceTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisableHttp2` <a name="resetDisableHttp2" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetDisableHttp2"></a>

```typescript
public resetDisableHttp2(): void
```

##### `resetDisableQuic` <a name="resetDisableQuic" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetDisableQuic"></a>

```typescript
public resetDisableQuic(): void
```

##### `resetEdgeSecurityPolicy` <a name="resetEdgeSecurityPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetEdgeSecurityPolicy"></a>

```typescript
public resetEdgeSecurityPolicy(): void
```

##### `resetEdgeSslCertificates` <a name="resetEdgeSslCertificates" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetEdgeSslCertificates"></a>

```typescript
public resetEdgeSslCertificates(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLogConfig` <a name="resetLogConfig" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetLogConfig"></a>

```typescript
public resetLogConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRequireTls` <a name="resetRequireTls" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetRequireTls"></a>

```typescript
public resetRequireTls(): void
```

##### `resetSslPolicy` <a name="resetSslPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetSslPolicy"></a>

```typescript
public resetSslPolicy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.isConstruct"></a>

```typescript
import { NetworkServicesEdgeCacheService } from '@dschmidt/provider-google'

NetworkServicesEdgeCacheService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.ipv4Addresses">ipv4Addresses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.ipv6Addresses">ipv6Addresses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfigOutputReference">NetworkServicesEdgeCacheServiceLogConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.routing">routing</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingOutputReference">NetworkServicesEdgeCacheServiceRoutingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeoutsOutputReference">NetworkServicesEdgeCacheServiceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.disableHttp2Input">disableHttp2Input</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.disableQuicInput">disableQuicInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.edgeSecurityPolicyInput">edgeSecurityPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.edgeSslCertificatesInput">edgeSslCertificatesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.logConfigInput">logConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig">NetworkServicesEdgeCacheServiceLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.requireTlsInput">requireTlsInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.routingInput">routingInput</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting">NetworkServicesEdgeCacheServiceRouting</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.sslPolicyInput">sslPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts">NetworkServicesEdgeCacheServiceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.disableHttp2">disableHttp2</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.disableQuic">disableQuic</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.edgeSecurityPolicy">edgeSecurityPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.edgeSslCertificates">edgeSslCertificates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.requireTls">requireTls</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.sslPolicy">sslPolicy</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `ipv4Addresses`<sup>Required</sup> <a name="ipv4Addresses" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.ipv4Addresses"></a>

```typescript
public readonly ipv4Addresses: string[];
```

- *Type:* string[]

---

##### `ipv6Addresses`<sup>Required</sup> <a name="ipv6Addresses" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.ipv6Addresses"></a>

```typescript
public readonly ipv6Addresses: string[];
```

- *Type:* string[]

---

##### `logConfig`<sup>Required</sup> <a name="logConfig" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.logConfig"></a>

```typescript
public readonly logConfig: NetworkServicesEdgeCacheServiceLogConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfigOutputReference">NetworkServicesEdgeCacheServiceLogConfigOutputReference</a>

---

##### `routing`<sup>Required</sup> <a name="routing" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.routing"></a>

```typescript
public readonly routing: NetworkServicesEdgeCacheServiceRoutingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingOutputReference">NetworkServicesEdgeCacheServiceRoutingOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkServicesEdgeCacheServiceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeoutsOutputReference">NetworkServicesEdgeCacheServiceTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `disableHttp2Input`<sup>Optional</sup> <a name="disableHttp2Input" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.disableHttp2Input"></a>

```typescript
public readonly disableHttp2Input: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `disableQuicInput`<sup>Optional</sup> <a name="disableQuicInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.disableQuicInput"></a>

```typescript
public readonly disableQuicInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `edgeSecurityPolicyInput`<sup>Optional</sup> <a name="edgeSecurityPolicyInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.edgeSecurityPolicyInput"></a>

```typescript
public readonly edgeSecurityPolicyInput: string;
```

- *Type:* string

---

##### `edgeSslCertificatesInput`<sup>Optional</sup> <a name="edgeSslCertificatesInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.edgeSslCertificatesInput"></a>

```typescript
public readonly edgeSslCertificatesInput: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `logConfigInput`<sup>Optional</sup> <a name="logConfigInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.logConfigInput"></a>

```typescript
public readonly logConfigInput: NetworkServicesEdgeCacheServiceLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig">NetworkServicesEdgeCacheServiceLogConfig</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `requireTlsInput`<sup>Optional</sup> <a name="requireTlsInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.requireTlsInput"></a>

```typescript
public readonly requireTlsInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `routingInput`<sup>Optional</sup> <a name="routingInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.routingInput"></a>

```typescript
public readonly routingInput: NetworkServicesEdgeCacheServiceRouting;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting">NetworkServicesEdgeCacheServiceRouting</a>

---

##### `sslPolicyInput`<sup>Optional</sup> <a name="sslPolicyInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.sslPolicyInput"></a>

```typescript
public readonly sslPolicyInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NetworkServicesEdgeCacheServiceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts">NetworkServicesEdgeCacheServiceTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disableHttp2`<sup>Required</sup> <a name="disableHttp2" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.disableHttp2"></a>

```typescript
public readonly disableHttp2: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `disableQuic`<sup>Required</sup> <a name="disableQuic" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.disableQuic"></a>

```typescript
public readonly disableQuic: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `edgeSecurityPolicy`<sup>Required</sup> <a name="edgeSecurityPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.edgeSecurityPolicy"></a>

```typescript
public readonly edgeSecurityPolicy: string;
```

- *Type:* string

---

##### `edgeSslCertificates`<sup>Required</sup> <a name="edgeSslCertificates" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.edgeSslCertificates"></a>

```typescript
public readonly edgeSslCertificates: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `requireTls`<sup>Required</sup> <a name="requireTls" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.requireTls"></a>

```typescript
public readonly requireTls: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `sslPolicy`<sup>Required</sup> <a name="sslPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.sslPolicy"></a>

```typescript
public readonly sslPolicy: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NetworkServicesEdgeCacheService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksEnvironment <a name="NotebooksEnvironment" id="@dschmidt/provider-google.NotebooksEnvironment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment google_notebooks_environment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksEnvironment.Initializer"></a>

```typescript
import { NotebooksEnvironment } from '@dschmidt/provider-google'

new NotebooksEnvironment(scope: Construct, id: string, config: NotebooksEnvironmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig">NotebooksEnvironmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksEnvironment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksEnvironment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NotebooksEnvironment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig">NotebooksEnvironmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.putContainerImage">putContainerImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.putVmImage">putVmImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.resetContainerImage">resetContainerImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.resetPostStartupScript">resetPostStartupScript</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.resetVmImage">resetVmImage</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksEnvironment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksEnvironment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksEnvironment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksEnvironment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksEnvironment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksEnvironment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksEnvironment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksEnvironment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksEnvironment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksEnvironment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putContainerImage` <a name="putContainerImage" id="@dschmidt/provider-google.NotebooksEnvironment.putContainerImage"></a>

```typescript
public putContainerImage(value: NotebooksEnvironmentContainerImage): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksEnvironment.putContainerImage.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentContainerImage">NotebooksEnvironmentContainerImage</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NotebooksEnvironment.putTimeouts"></a>

```typescript
public putTimeouts(value: NotebooksEnvironmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksEnvironment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeouts">NotebooksEnvironmentTimeouts</a>

---

##### `putVmImage` <a name="putVmImage" id="@dschmidt/provider-google.NotebooksEnvironment.putVmImage"></a>

```typescript
public putVmImage(value: NotebooksEnvironmentVmImage): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksEnvironment.putVmImage.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImage">NotebooksEnvironmentVmImage</a>

---

##### `resetContainerImage` <a name="resetContainerImage" id="@dschmidt/provider-google.NotebooksEnvironment.resetContainerImage"></a>

```typescript
public resetContainerImage(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.NotebooksEnvironment.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.NotebooksEnvironment.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksEnvironment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPostStartupScript` <a name="resetPostStartupScript" id="@dschmidt/provider-google.NotebooksEnvironment.resetPostStartupScript"></a>

```typescript
public resetPostStartupScript(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksEnvironment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NotebooksEnvironment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVmImage` <a name="resetVmImage" id="@dschmidt/provider-google.NotebooksEnvironment.resetVmImage"></a>

```typescript
public resetVmImage(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksEnvironment.isConstruct"></a>

```typescript
import { NotebooksEnvironment } from '@dschmidt/provider-google'

NotebooksEnvironment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksEnvironment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.containerImage">containerImage</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentContainerImageOutputReference">NotebooksEnvironmentContainerImageOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeoutsOutputReference">NotebooksEnvironmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.vmImage">vmImage</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImageOutputReference">NotebooksEnvironmentVmImageOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.containerImageInput">containerImageInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentContainerImage">NotebooksEnvironmentContainerImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.postStartupScriptInput">postStartupScriptInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeouts">NotebooksEnvironmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.vmImageInput">vmImageInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImage">NotebooksEnvironmentVmImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.postStartupScript">postStartupScript</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksEnvironment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksEnvironment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksEnvironment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksEnvironment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksEnvironment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksEnvironment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksEnvironment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksEnvironment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksEnvironment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksEnvironment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksEnvironment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksEnvironment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksEnvironment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksEnvironment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `containerImage`<sup>Required</sup> <a name="containerImage" id="@dschmidt/provider-google.NotebooksEnvironment.property.containerImage"></a>

```typescript
public readonly containerImage: NotebooksEnvironmentContainerImageOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentContainerImageOutputReference">NotebooksEnvironmentContainerImageOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.NotebooksEnvironment.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NotebooksEnvironment.property.timeouts"></a>

```typescript
public readonly timeouts: NotebooksEnvironmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeoutsOutputReference">NotebooksEnvironmentTimeoutsOutputReference</a>

---

##### `vmImage`<sup>Required</sup> <a name="vmImage" id="@dschmidt/provider-google.NotebooksEnvironment.property.vmImage"></a>

```typescript
public readonly vmImage: NotebooksEnvironmentVmImageOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImageOutputReference">NotebooksEnvironmentVmImageOutputReference</a>

---

##### `containerImageInput`<sup>Optional</sup> <a name="containerImageInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.containerImageInput"></a>

```typescript
public readonly containerImageInput: NotebooksEnvironmentContainerImage;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentContainerImage">NotebooksEnvironmentContainerImage</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `postStartupScriptInput`<sup>Optional</sup> <a name="postStartupScriptInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.postStartupScriptInput"></a>

```typescript
public readonly postStartupScriptInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NotebooksEnvironmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeouts">NotebooksEnvironmentTimeouts</a>

---

##### `vmImageInput`<sup>Optional</sup> <a name="vmImageInput" id="@dschmidt/provider-google.NotebooksEnvironment.property.vmImageInput"></a>

```typescript
public readonly vmImageInput: NotebooksEnvironmentVmImage;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImage">NotebooksEnvironmentVmImage</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.NotebooksEnvironment.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.NotebooksEnvironment.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksEnvironment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksEnvironment.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NotebooksEnvironment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `postStartupScript`<sup>Required</sup> <a name="postStartupScript" id="@dschmidt/provider-google.NotebooksEnvironment.property.postStartupScript"></a>

```typescript
public readonly postStartupScript: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksEnvironment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksEnvironment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksInstance <a name="NotebooksInstance" id="@dschmidt/provider-google.NotebooksInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance google_notebooks_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksInstance.Initializer"></a>

```typescript
import { NotebooksInstance } from '@dschmidt/provider-google'

new NotebooksInstance(scope: Construct, id: string, config: NotebooksInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig">NotebooksInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NotebooksInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceConfig">NotebooksInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.putAcceleratorConfig">putAcceleratorConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.putContainerImage">putContainerImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.putReservationAffinity">putReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.putShieldedInstanceConfig">putShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.putVmImage">putVmImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetAcceleratorConfig">resetAcceleratorConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetBootDiskSizeGb">resetBootDiskSizeGb</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetBootDiskType">resetBootDiskType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetContainerImage">resetContainerImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetCreateTime">resetCreateTime</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetCustomGpuDriverPath">resetCustomGpuDriverPath</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetDataDiskSizeGb">resetDataDiskSizeGb</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetDataDiskType">resetDataDiskType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetDiskEncryption">resetDiskEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetInstallGpuDriver">resetInstallGpuDriver</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetInstanceOwners">resetInstanceOwners</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetKmsKey">resetKmsKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetMetadata">resetMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetNicType">resetNicType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetNoProxyAccess">resetNoProxyAccess</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetNoPublicIp">resetNoPublicIp</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetNoRemoveDataDisk">resetNoRemoveDataDisk</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetPostStartupScript">resetPostStartupScript</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetReservationAffinity">resetReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetServiceAccount">resetServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetServiceAccountScopes">resetServiceAccountScopes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetShieldedInstanceConfig">resetShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetSubnet">resetSubnet</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetTags">resetTags</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetUpdateTime">resetUpdateTime</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.resetVmImage">resetVmImage</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAcceleratorConfig` <a name="putAcceleratorConfig" id="@dschmidt/provider-google.NotebooksInstance.putAcceleratorConfig"></a>

```typescript
public putAcceleratorConfig(value: NotebooksInstanceAcceleratorConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstance.putAcceleratorConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig">NotebooksInstanceAcceleratorConfig</a>

---

##### `putContainerImage` <a name="putContainerImage" id="@dschmidt/provider-google.NotebooksInstance.putContainerImage"></a>

```typescript
public putContainerImage(value: NotebooksInstanceContainerImage): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstance.putContainerImage.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceContainerImage">NotebooksInstanceContainerImage</a>

---

##### `putReservationAffinity` <a name="putReservationAffinity" id="@dschmidt/provider-google.NotebooksInstance.putReservationAffinity"></a>

```typescript
public putReservationAffinity(value: NotebooksInstanceReservationAffinity): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstance.putReservationAffinity.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinity">NotebooksInstanceReservationAffinity</a>

---

##### `putShieldedInstanceConfig` <a name="putShieldedInstanceConfig" id="@dschmidt/provider-google.NotebooksInstance.putShieldedInstanceConfig"></a>

```typescript
public putShieldedInstanceConfig(value: NotebooksInstanceShieldedInstanceConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstance.putShieldedInstanceConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig">NotebooksInstanceShieldedInstanceConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NotebooksInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: NotebooksInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceTimeouts">NotebooksInstanceTimeouts</a>

---

##### `putVmImage` <a name="putVmImage" id="@dschmidt/provider-google.NotebooksInstance.putVmImage"></a>

```typescript
public putVmImage(value: NotebooksInstanceVmImage): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstance.putVmImage.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceVmImage">NotebooksInstanceVmImage</a>

---

##### `resetAcceleratorConfig` <a name="resetAcceleratorConfig" id="@dschmidt/provider-google.NotebooksInstance.resetAcceleratorConfig"></a>

```typescript
public resetAcceleratorConfig(): void
```

##### `resetBootDiskSizeGb` <a name="resetBootDiskSizeGb" id="@dschmidt/provider-google.NotebooksInstance.resetBootDiskSizeGb"></a>

```typescript
public resetBootDiskSizeGb(): void
```

##### `resetBootDiskType` <a name="resetBootDiskType" id="@dschmidt/provider-google.NotebooksInstance.resetBootDiskType"></a>

```typescript
public resetBootDiskType(): void
```

##### `resetContainerImage` <a name="resetContainerImage" id="@dschmidt/provider-google.NotebooksInstance.resetContainerImage"></a>

```typescript
public resetContainerImage(): void
```

##### `resetCreateTime` <a name="resetCreateTime" id="@dschmidt/provider-google.NotebooksInstance.resetCreateTime"></a>

```typescript
public resetCreateTime(): void
```

##### `resetCustomGpuDriverPath` <a name="resetCustomGpuDriverPath" id="@dschmidt/provider-google.NotebooksInstance.resetCustomGpuDriverPath"></a>

```typescript
public resetCustomGpuDriverPath(): void
```

##### `resetDataDiskSizeGb` <a name="resetDataDiskSizeGb" id="@dschmidt/provider-google.NotebooksInstance.resetDataDiskSizeGb"></a>

```typescript
public resetDataDiskSizeGb(): void
```

##### `resetDataDiskType` <a name="resetDataDiskType" id="@dschmidt/provider-google.NotebooksInstance.resetDataDiskType"></a>

```typescript
public resetDataDiskType(): void
```

##### `resetDiskEncryption` <a name="resetDiskEncryption" id="@dschmidt/provider-google.NotebooksInstance.resetDiskEncryption"></a>

```typescript
public resetDiskEncryption(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetInstallGpuDriver` <a name="resetInstallGpuDriver" id="@dschmidt/provider-google.NotebooksInstance.resetInstallGpuDriver"></a>

```typescript
public resetInstallGpuDriver(): void
```

##### `resetInstanceOwners` <a name="resetInstanceOwners" id="@dschmidt/provider-google.NotebooksInstance.resetInstanceOwners"></a>

```typescript
public resetInstanceOwners(): void
```

##### `resetKmsKey` <a name="resetKmsKey" id="@dschmidt/provider-google.NotebooksInstance.resetKmsKey"></a>

```typescript
public resetKmsKey(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.NotebooksInstance.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMetadata` <a name="resetMetadata" id="@dschmidt/provider-google.NotebooksInstance.resetMetadata"></a>

```typescript
public resetMetadata(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.NotebooksInstance.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetNicType` <a name="resetNicType" id="@dschmidt/provider-google.NotebooksInstance.resetNicType"></a>

```typescript
public resetNicType(): void
```

##### `resetNoProxyAccess` <a name="resetNoProxyAccess" id="@dschmidt/provider-google.NotebooksInstance.resetNoProxyAccess"></a>

```typescript
public resetNoProxyAccess(): void
```

##### `resetNoPublicIp` <a name="resetNoPublicIp" id="@dschmidt/provider-google.NotebooksInstance.resetNoPublicIp"></a>

```typescript
public resetNoPublicIp(): void
```

##### `resetNoRemoveDataDisk` <a name="resetNoRemoveDataDisk" id="@dschmidt/provider-google.NotebooksInstance.resetNoRemoveDataDisk"></a>

```typescript
public resetNoRemoveDataDisk(): void
```

##### `resetPostStartupScript` <a name="resetPostStartupScript" id="@dschmidt/provider-google.NotebooksInstance.resetPostStartupScript"></a>

```typescript
public resetPostStartupScript(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetReservationAffinity` <a name="resetReservationAffinity" id="@dschmidt/provider-google.NotebooksInstance.resetReservationAffinity"></a>

```typescript
public resetReservationAffinity(): void
```

##### `resetServiceAccount` <a name="resetServiceAccount" id="@dschmidt/provider-google.NotebooksInstance.resetServiceAccount"></a>

```typescript
public resetServiceAccount(): void
```

##### `resetServiceAccountScopes` <a name="resetServiceAccountScopes" id="@dschmidt/provider-google.NotebooksInstance.resetServiceAccountScopes"></a>

```typescript
public resetServiceAccountScopes(): void
```

##### `resetShieldedInstanceConfig` <a name="resetShieldedInstanceConfig" id="@dschmidt/provider-google.NotebooksInstance.resetShieldedInstanceConfig"></a>

```typescript
public resetShieldedInstanceConfig(): void
```

##### `resetSubnet` <a name="resetSubnet" id="@dschmidt/provider-google.NotebooksInstance.resetSubnet"></a>

```typescript
public resetSubnet(): void
```

##### `resetTags` <a name="resetTags" id="@dschmidt/provider-google.NotebooksInstance.resetTags"></a>

```typescript
public resetTags(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NotebooksInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUpdateTime` <a name="resetUpdateTime" id="@dschmidt/provider-google.NotebooksInstance.resetUpdateTime"></a>

```typescript
public resetUpdateTime(): void
```

##### `resetVmImage` <a name="resetVmImage" id="@dschmidt/provider-google.NotebooksInstance.resetVmImage"></a>

```typescript
public resetVmImage(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksInstance.isConstruct"></a>

```typescript
import { NotebooksInstance } from '@dschmidt/provider-google'

NotebooksInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.acceleratorConfig">acceleratorConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceAcceleratorConfigOutputReference">NotebooksInstanceAcceleratorConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.containerImage">containerImage</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceContainerImageOutputReference">NotebooksInstanceContainerImageOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.proxyUri">proxyUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinityOutputReference">NotebooksInstanceReservationAffinityOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfigOutputReference">NotebooksInstanceShieldedInstanceConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceTimeoutsOutputReference">NotebooksInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.vmImage">vmImage</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceVmImageOutputReference">NotebooksInstanceVmImageOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.acceleratorConfigInput">acceleratorConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig">NotebooksInstanceAcceleratorConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.bootDiskSizeGbInput">bootDiskSizeGbInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.bootDiskTypeInput">bootDiskTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.containerImageInput">containerImageInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceContainerImage">NotebooksInstanceContainerImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.createTimeInput">createTimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.customGpuDriverPathInput">customGpuDriverPathInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.dataDiskSizeGbInput">dataDiskSizeGbInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.dataDiskTypeInput">dataDiskTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.diskEncryptionInput">diskEncryptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.installGpuDriverInput">installGpuDriverInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.instanceOwnersInput">instanceOwnersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.kmsKeyInput">kmsKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.machineTypeInput">machineTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.metadataInput">metadataInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.nicTypeInput">nicTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.noProxyAccessInput">noProxyAccessInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.noPublicIpInput">noPublicIpInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.noRemoveDataDiskInput">noRemoveDataDiskInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.postStartupScriptInput">postStartupScriptInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.reservationAffinityInput">reservationAffinityInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinity">NotebooksInstanceReservationAffinity</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.serviceAccountInput">serviceAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.serviceAccountScopesInput">serviceAccountScopesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.shieldedInstanceConfigInput">shieldedInstanceConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig">NotebooksInstanceShieldedInstanceConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.subnetInput">subnetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.tagsInput">tagsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NotebooksInstanceTimeouts">NotebooksInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.updateTimeInput">updateTimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.vmImageInput">vmImageInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceVmImage">NotebooksInstanceVmImage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.bootDiskSizeGb">bootDiskSizeGb</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.bootDiskType">bootDiskType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.customGpuDriverPath">customGpuDriverPath</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.dataDiskSizeGb">dataDiskSizeGb</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.dataDiskType">dataDiskType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.diskEncryption">diskEncryption</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.installGpuDriver">installGpuDriver</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.instanceOwners">instanceOwners</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.kmsKey">kmsKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.machineType">machineType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.nicType">nicType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.noProxyAccess">noProxyAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.noPublicIp">noPublicIp</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.noRemoveDataDisk">noRemoveDataDisk</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.postStartupScript">postStartupScript</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.serviceAccountScopes">serviceAccountScopes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.subnet">subnet</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `acceleratorConfig`<sup>Required</sup> <a name="acceleratorConfig" id="@dschmidt/provider-google.NotebooksInstance.property.acceleratorConfig"></a>

```typescript
public readonly acceleratorConfig: NotebooksInstanceAcceleratorConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceAcceleratorConfigOutputReference">NotebooksInstanceAcceleratorConfigOutputReference</a>

---

##### `containerImage`<sup>Required</sup> <a name="containerImage" id="@dschmidt/provider-google.NotebooksInstance.property.containerImage"></a>

```typescript
public readonly containerImage: NotebooksInstanceContainerImageOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceContainerImageOutputReference">NotebooksInstanceContainerImageOutputReference</a>

---

##### `proxyUri`<sup>Required</sup> <a name="proxyUri" id="@dschmidt/provider-google.NotebooksInstance.property.proxyUri"></a>

```typescript
public readonly proxyUri: string;
```

- *Type:* string

---

##### `reservationAffinity`<sup>Required</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.NotebooksInstance.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: NotebooksInstanceReservationAffinityOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinityOutputReference">NotebooksInstanceReservationAffinityOutputReference</a>

---

##### `shieldedInstanceConfig`<sup>Required</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.NotebooksInstance.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: NotebooksInstanceShieldedInstanceConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfigOutputReference">NotebooksInstanceShieldedInstanceConfigOutputReference</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.NotebooksInstance.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NotebooksInstance.property.timeouts"></a>

```typescript
public readonly timeouts: NotebooksInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceTimeoutsOutputReference">NotebooksInstanceTimeoutsOutputReference</a>

---

##### `vmImage`<sup>Required</sup> <a name="vmImage" id="@dschmidt/provider-google.NotebooksInstance.property.vmImage"></a>

```typescript
public readonly vmImage: NotebooksInstanceVmImageOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceVmImageOutputReference">NotebooksInstanceVmImageOutputReference</a>

---

##### `acceleratorConfigInput`<sup>Optional</sup> <a name="acceleratorConfigInput" id="@dschmidt/provider-google.NotebooksInstance.property.acceleratorConfigInput"></a>

```typescript
public readonly acceleratorConfigInput: NotebooksInstanceAcceleratorConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig">NotebooksInstanceAcceleratorConfig</a>

---

##### `bootDiskSizeGbInput`<sup>Optional</sup> <a name="bootDiskSizeGbInput" id="@dschmidt/provider-google.NotebooksInstance.property.bootDiskSizeGbInput"></a>

```typescript
public readonly bootDiskSizeGbInput: number;
```

- *Type:* number

---

##### `bootDiskTypeInput`<sup>Optional</sup> <a name="bootDiskTypeInput" id="@dschmidt/provider-google.NotebooksInstance.property.bootDiskTypeInput"></a>

```typescript
public readonly bootDiskTypeInput: string;
```

- *Type:* string

---

##### `containerImageInput`<sup>Optional</sup> <a name="containerImageInput" id="@dschmidt/provider-google.NotebooksInstance.property.containerImageInput"></a>

```typescript
public readonly containerImageInput: NotebooksInstanceContainerImage;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceContainerImage">NotebooksInstanceContainerImage</a>

---

##### `createTimeInput`<sup>Optional</sup> <a name="createTimeInput" id="@dschmidt/provider-google.NotebooksInstance.property.createTimeInput"></a>

```typescript
public readonly createTimeInput: string;
```

- *Type:* string

---

##### `customGpuDriverPathInput`<sup>Optional</sup> <a name="customGpuDriverPathInput" id="@dschmidt/provider-google.NotebooksInstance.property.customGpuDriverPathInput"></a>

```typescript
public readonly customGpuDriverPathInput: string;
```

- *Type:* string

---

##### `dataDiskSizeGbInput`<sup>Optional</sup> <a name="dataDiskSizeGbInput" id="@dschmidt/provider-google.NotebooksInstance.property.dataDiskSizeGbInput"></a>

```typescript
public readonly dataDiskSizeGbInput: number;
```

- *Type:* number

---

##### `dataDiskTypeInput`<sup>Optional</sup> <a name="dataDiskTypeInput" id="@dschmidt/provider-google.NotebooksInstance.property.dataDiskTypeInput"></a>

```typescript
public readonly dataDiskTypeInput: string;
```

- *Type:* string

---

##### `diskEncryptionInput`<sup>Optional</sup> <a name="diskEncryptionInput" id="@dschmidt/provider-google.NotebooksInstance.property.diskEncryptionInput"></a>

```typescript
public readonly diskEncryptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `installGpuDriverInput`<sup>Optional</sup> <a name="installGpuDriverInput" id="@dschmidt/provider-google.NotebooksInstance.property.installGpuDriverInput"></a>

```typescript
public readonly installGpuDriverInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `instanceOwnersInput`<sup>Optional</sup> <a name="instanceOwnersInput" id="@dschmidt/provider-google.NotebooksInstance.property.instanceOwnersInput"></a>

```typescript
public readonly instanceOwnersInput: string[];
```

- *Type:* string[]

---

##### `kmsKeyInput`<sup>Optional</sup> <a name="kmsKeyInput" id="@dschmidt/provider-google.NotebooksInstance.property.kmsKeyInput"></a>

```typescript
public readonly kmsKeyInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.NotebooksInstance.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NotebooksInstance.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `machineTypeInput`<sup>Optional</sup> <a name="machineTypeInput" id="@dschmidt/provider-google.NotebooksInstance.property.machineTypeInput"></a>

```typescript
public readonly machineTypeInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.NotebooksInstance.property.metadataInput"></a>

```typescript
public readonly metadataInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NotebooksInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.NotebooksInstance.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `nicTypeInput`<sup>Optional</sup> <a name="nicTypeInput" id="@dschmidt/provider-google.NotebooksInstance.property.nicTypeInput"></a>

```typescript
public readonly nicTypeInput: string;
```

- *Type:* string

---

##### `noProxyAccessInput`<sup>Optional</sup> <a name="noProxyAccessInput" id="@dschmidt/provider-google.NotebooksInstance.property.noProxyAccessInput"></a>

```typescript
public readonly noProxyAccessInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `noPublicIpInput`<sup>Optional</sup> <a name="noPublicIpInput" id="@dschmidt/provider-google.NotebooksInstance.property.noPublicIpInput"></a>

```typescript
public readonly noPublicIpInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `noRemoveDataDiskInput`<sup>Optional</sup> <a name="noRemoveDataDiskInput" id="@dschmidt/provider-google.NotebooksInstance.property.noRemoveDataDiskInput"></a>

```typescript
public readonly noRemoveDataDiskInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `postStartupScriptInput`<sup>Optional</sup> <a name="postStartupScriptInput" id="@dschmidt/provider-google.NotebooksInstance.property.postStartupScriptInput"></a>

```typescript
public readonly postStartupScriptInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `reservationAffinityInput`<sup>Optional</sup> <a name="reservationAffinityInput" id="@dschmidt/provider-google.NotebooksInstance.property.reservationAffinityInput"></a>

```typescript
public readonly reservationAffinityInput: NotebooksInstanceReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinity">NotebooksInstanceReservationAffinity</a>

---

##### `serviceAccountInput`<sup>Optional</sup> <a name="serviceAccountInput" id="@dschmidt/provider-google.NotebooksInstance.property.serviceAccountInput"></a>

```typescript
public readonly serviceAccountInput: string;
```

- *Type:* string

---

##### `serviceAccountScopesInput`<sup>Optional</sup> <a name="serviceAccountScopesInput" id="@dschmidt/provider-google.NotebooksInstance.property.serviceAccountScopesInput"></a>

```typescript
public readonly serviceAccountScopesInput: string[];
```

- *Type:* string[]

---

##### `shieldedInstanceConfigInput`<sup>Optional</sup> <a name="shieldedInstanceConfigInput" id="@dschmidt/provider-google.NotebooksInstance.property.shieldedInstanceConfigInput"></a>

```typescript
public readonly shieldedInstanceConfigInput: NotebooksInstanceShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig">NotebooksInstanceShieldedInstanceConfig</a>

---

##### `subnetInput`<sup>Optional</sup> <a name="subnetInput" id="@dschmidt/provider-google.NotebooksInstance.property.subnetInput"></a>

```typescript
public readonly subnetInput: string;
```

- *Type:* string

---

##### `tagsInput`<sup>Optional</sup> <a name="tagsInput" id="@dschmidt/provider-google.NotebooksInstance.property.tagsInput"></a>

```typescript
public readonly tagsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NotebooksInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NotebooksInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NotebooksInstanceTimeouts">NotebooksInstanceTimeouts</a>

---

##### `updateTimeInput`<sup>Optional</sup> <a name="updateTimeInput" id="@dschmidt/provider-google.NotebooksInstance.property.updateTimeInput"></a>

```typescript
public readonly updateTimeInput: string;
```

- *Type:* string

---

##### `vmImageInput`<sup>Optional</sup> <a name="vmImageInput" id="@dschmidt/provider-google.NotebooksInstance.property.vmImageInput"></a>

```typescript
public readonly vmImageInput: NotebooksInstanceVmImage;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceVmImage">NotebooksInstanceVmImage</a>

---

##### `bootDiskSizeGb`<sup>Required</sup> <a name="bootDiskSizeGb" id="@dschmidt/provider-google.NotebooksInstance.property.bootDiskSizeGb"></a>

```typescript
public readonly bootDiskSizeGb: number;
```

- *Type:* number

---

##### `bootDiskType`<sup>Required</sup> <a name="bootDiskType" id="@dschmidt/provider-google.NotebooksInstance.property.bootDiskType"></a>

```typescript
public readonly bootDiskType: string;
```

- *Type:* string

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.NotebooksInstance.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `customGpuDriverPath`<sup>Required</sup> <a name="customGpuDriverPath" id="@dschmidt/provider-google.NotebooksInstance.property.customGpuDriverPath"></a>

```typescript
public readonly customGpuDriverPath: string;
```

- *Type:* string

---

##### `dataDiskSizeGb`<sup>Required</sup> <a name="dataDiskSizeGb" id="@dschmidt/provider-google.NotebooksInstance.property.dataDiskSizeGb"></a>

```typescript
public readonly dataDiskSizeGb: number;
```

- *Type:* number

---

##### `dataDiskType`<sup>Required</sup> <a name="dataDiskType" id="@dschmidt/provider-google.NotebooksInstance.property.dataDiskType"></a>

```typescript
public readonly dataDiskType: string;
```

- *Type:* string

---

##### `diskEncryption`<sup>Required</sup> <a name="diskEncryption" id="@dschmidt/provider-google.NotebooksInstance.property.diskEncryption"></a>

```typescript
public readonly diskEncryption: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `installGpuDriver`<sup>Required</sup> <a name="installGpuDriver" id="@dschmidt/provider-google.NotebooksInstance.property.installGpuDriver"></a>

```typescript
public readonly installGpuDriver: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `instanceOwners`<sup>Required</sup> <a name="instanceOwners" id="@dschmidt/provider-google.NotebooksInstance.property.instanceOwners"></a>

```typescript
public readonly instanceOwners: string[];
```

- *Type:* string[]

---

##### `kmsKey`<sup>Required</sup> <a name="kmsKey" id="@dschmidt/provider-google.NotebooksInstance.property.kmsKey"></a>

```typescript
public readonly kmsKey: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.NotebooksInstance.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksInstance.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.NotebooksInstance.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.NotebooksInstance.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NotebooksInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.NotebooksInstance.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `nicType`<sup>Required</sup> <a name="nicType" id="@dschmidt/provider-google.NotebooksInstance.property.nicType"></a>

```typescript
public readonly nicType: string;
```

- *Type:* string

---

##### `noProxyAccess`<sup>Required</sup> <a name="noProxyAccess" id="@dschmidt/provider-google.NotebooksInstance.property.noProxyAccess"></a>

```typescript
public readonly noProxyAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `noPublicIp`<sup>Required</sup> <a name="noPublicIp" id="@dschmidt/provider-google.NotebooksInstance.property.noPublicIp"></a>

```typescript
public readonly noPublicIp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `noRemoveDataDisk`<sup>Required</sup> <a name="noRemoveDataDisk" id="@dschmidt/provider-google.NotebooksInstance.property.noRemoveDataDisk"></a>

```typescript
public readonly noRemoveDataDisk: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `postStartupScript`<sup>Required</sup> <a name="postStartupScript" id="@dschmidt/provider-google.NotebooksInstance.property.postStartupScript"></a>

```typescript
public readonly postStartupScript: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.NotebooksInstance.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

---

##### `serviceAccountScopes`<sup>Required</sup> <a name="serviceAccountScopes" id="@dschmidt/provider-google.NotebooksInstance.property.serviceAccountScopes"></a>

```typescript
public readonly serviceAccountScopes: string[];
```

- *Type:* string[]

---

##### `subnet`<sup>Required</sup> <a name="subnet" id="@dschmidt/provider-google.NotebooksInstance.property.subnet"></a>

```typescript
public readonly subnet: string;
```

- *Type:* string

---

##### `tags`<sup>Required</sup> <a name="tags" id="@dschmidt/provider-google.NotebooksInstance.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.NotebooksInstance.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksInstanceIamBinding <a name="NotebooksInstanceIamBinding" id="@dschmidt/provider-google.NotebooksInstanceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding google_notebooks_instance_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.Initializer"></a>

```typescript
import { NotebooksInstanceIamBinding } from '@dschmidt/provider-google'

new NotebooksInstanceIamBinding(scope: Construct, id: string, config: NotebooksInstanceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig">NotebooksInstanceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig">NotebooksInstanceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.putCondition"></a>

```typescript
public putCondition(value: NotebooksInstanceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingCondition">NotebooksInstanceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.isConstruct"></a>

```typescript
import { NotebooksInstanceIamBinding } from '@dschmidt/provider-google'

NotebooksInstanceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConditionOutputReference">NotebooksInstanceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingCondition">NotebooksInstanceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.instanceNameInput">instanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.instanceName">instanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.condition"></a>

```typescript
public readonly condition: NotebooksInstanceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConditionOutputReference">NotebooksInstanceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: NotebooksInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingCondition">NotebooksInstanceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceNameInput`<sup>Optional</sup> <a name="instanceNameInput" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.instanceNameInput"></a>

```typescript
public readonly instanceNameInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksInstanceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksInstanceIamMember <a name="NotebooksInstanceIamMember" id="@dschmidt/provider-google.NotebooksInstanceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member google_notebooks_instance_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksInstanceIamMember.Initializer"></a>

```typescript
import { NotebooksInstanceIamMember } from '@dschmidt/provider-google'

new NotebooksInstanceIamMember(scope: Construct, id: string, config: NotebooksInstanceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig">NotebooksInstanceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksInstanceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NotebooksInstanceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig">NotebooksInstanceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksInstanceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksInstanceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksInstanceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstanceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksInstanceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksInstanceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksInstanceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksInstanceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksInstanceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.NotebooksInstanceIamMember.putCondition"></a>

```typescript
public putCondition(value: NotebooksInstanceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstanceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberCondition">NotebooksInstanceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.NotebooksInstanceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksInstanceIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.NotebooksInstanceIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksInstanceIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksInstanceIamMember.isConstruct"></a>

```typescript
import { NotebooksInstanceIamMember } from '@dschmidt/provider-google'

NotebooksInstanceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksInstanceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConditionOutputReference">NotebooksInstanceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberCondition">NotebooksInstanceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.instanceNameInput">instanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.instanceName">instanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.condition"></a>

```typescript
public readonly condition: NotebooksInstanceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConditionOutputReference">NotebooksInstanceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: NotebooksInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberCondition">NotebooksInstanceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceNameInput`<sup>Optional</sup> <a name="instanceNameInput" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.instanceNameInput"></a>

```typescript
public readonly instanceNameInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksInstanceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksInstanceIamPolicy <a name="NotebooksInstanceIamPolicy" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy google_notebooks_instance_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.Initializer"></a>

```typescript
import { NotebooksInstanceIamPolicy } from '@dschmidt/provider-google'

new NotebooksInstanceIamPolicy(scope: Construct, id: string, config: NotebooksInstanceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig">NotebooksInstanceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig">NotebooksInstanceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.isConstruct"></a>

```typescript
import { NotebooksInstanceIamPolicy } from '@dschmidt/provider-google'

NotebooksInstanceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.instanceNameInput">instanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.instanceName">instanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceNameInput`<sup>Optional</sup> <a name="instanceNameInput" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.instanceNameInput"></a>

```typescript
public readonly instanceNameInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksInstanceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksLocation <a name="NotebooksLocation" id="@dschmidt/provider-google.NotebooksLocation"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_location google_notebooks_location}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksLocation.Initializer"></a>

```typescript
import { NotebooksLocation } from '@dschmidt/provider-google'

new NotebooksLocation(scope: Construct, id: string, config?: NotebooksLocationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig">NotebooksLocationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksLocation.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksLocation.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.NotebooksLocation.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksLocationConfig">NotebooksLocationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksLocation.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksLocation.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksLocation.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksLocation.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksLocation.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksLocation.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksLocation.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksLocation.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksLocation.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksLocation.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksLocation.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksLocation.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksLocation.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksLocation.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksLocation.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksLocation.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksLocation.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksLocation.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksLocation.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksLocation.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NotebooksLocation.putTimeouts"></a>

```typescript
public putTimeouts(value: NotebooksLocationTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksLocation.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksLocationTimeouts">NotebooksLocationTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksLocation.resetId"></a>

```typescript
public resetId(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.NotebooksLocation.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksLocation.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NotebooksLocation.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksLocation.isConstruct"></a>

```typescript
import { NotebooksLocation } from '@dschmidt/provider-google'

NotebooksLocation.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksLocation.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksLocationTimeoutsOutputReference">NotebooksLocationTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NotebooksLocationTimeouts">NotebooksLocationTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksLocation.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksLocation.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksLocation.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksLocation.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksLocation.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksLocation.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksLocation.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksLocation.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksLocation.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksLocation.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksLocation.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksLocation.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksLocation.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksLocation.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.NotebooksLocation.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NotebooksLocation.property.timeouts"></a>

```typescript
public readonly timeouts: NotebooksLocationTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksLocationTimeoutsOutputReference">NotebooksLocationTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksLocation.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NotebooksLocation.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksLocation.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NotebooksLocation.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NotebooksLocationTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NotebooksLocationTimeouts">NotebooksLocationTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksLocation.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NotebooksLocation.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksLocation.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksLocation.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksLocation.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksRuntime <a name="NotebooksRuntime" id="@dschmidt/provider-google.NotebooksRuntime"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime google_notebooks_runtime}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksRuntime.Initializer"></a>

```typescript
import { NotebooksRuntime } from '@dschmidt/provider-google'

new NotebooksRuntime(scope: Construct, id: string, config: NotebooksRuntimeConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig">NotebooksRuntimeConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksRuntime.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntime.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NotebooksRuntime.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeConfig">NotebooksRuntimeConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.putAccessConfig">putAccessConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.putSoftwareConfig">putSoftwareConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.putVirtualMachine">putVirtualMachine</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.resetAccessConfig">resetAccessConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.resetSoftwareConfig">resetSoftwareConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.resetVirtualMachine">resetVirtualMachine</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksRuntime.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksRuntime.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksRuntime.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntime.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksRuntime.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksRuntime.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksRuntime.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksRuntime.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksRuntime.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksRuntime.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntime.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAccessConfig` <a name="putAccessConfig" id="@dschmidt/provider-google.NotebooksRuntime.putAccessConfig"></a>

```typescript
public putAccessConfig(value: NotebooksRuntimeAccessConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntime.putAccessConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeAccessConfig">NotebooksRuntimeAccessConfig</a>

---

##### `putSoftwareConfig` <a name="putSoftwareConfig" id="@dschmidt/provider-google.NotebooksRuntime.putSoftwareConfig"></a>

```typescript
public putSoftwareConfig(value: NotebooksRuntimeSoftwareConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntime.putSoftwareConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig">NotebooksRuntimeSoftwareConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.NotebooksRuntime.putTimeouts"></a>

```typescript
public putTimeouts(value: NotebooksRuntimeTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntime.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeTimeouts">NotebooksRuntimeTimeouts</a>

---

##### `putVirtualMachine` <a name="putVirtualMachine" id="@dschmidt/provider-google.NotebooksRuntime.putVirtualMachine"></a>

```typescript
public putVirtualMachine(value: NotebooksRuntimeVirtualMachine): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntime.putVirtualMachine.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachine">NotebooksRuntimeVirtualMachine</a>

---

##### `resetAccessConfig` <a name="resetAccessConfig" id="@dschmidt/provider-google.NotebooksRuntime.resetAccessConfig"></a>

```typescript
public resetAccessConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksRuntime.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksRuntime.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSoftwareConfig` <a name="resetSoftwareConfig" id="@dschmidt/provider-google.NotebooksRuntime.resetSoftwareConfig"></a>

```typescript
public resetSoftwareConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.NotebooksRuntime.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVirtualMachine` <a name="resetVirtualMachine" id="@dschmidt/provider-google.NotebooksRuntime.resetVirtualMachine"></a>

```typescript
public resetVirtualMachine(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksRuntime.isConstruct"></a>

```typescript
import { NotebooksRuntime } from '@dschmidt/provider-google'

NotebooksRuntime.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksRuntime.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.accessConfig">accessConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeAccessConfigOutputReference">NotebooksRuntimeAccessConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.healthState">healthState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.metrics">metrics</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeMetricsList">NotebooksRuntimeMetricsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.softwareConfig">softwareConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigOutputReference">NotebooksRuntimeSoftwareConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeTimeoutsOutputReference">NotebooksRuntimeTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.virtualMachine">virtualMachine</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineOutputReference">NotebooksRuntimeVirtualMachineOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.accessConfigInput">accessConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeAccessConfig">NotebooksRuntimeAccessConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.softwareConfigInput">softwareConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig">NotebooksRuntimeSoftwareConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NotebooksRuntimeTimeouts">NotebooksRuntimeTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.virtualMachineInput">virtualMachineInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachine">NotebooksRuntimeVirtualMachine</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksRuntime.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksRuntime.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksRuntime.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksRuntime.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksRuntime.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksRuntime.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksRuntime.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksRuntime.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksRuntime.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksRuntime.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksRuntime.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksRuntime.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksRuntime.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksRuntime.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `accessConfig`<sup>Required</sup> <a name="accessConfig" id="@dschmidt/provider-google.NotebooksRuntime.property.accessConfig"></a>

```typescript
public readonly accessConfig: NotebooksRuntimeAccessConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeAccessConfigOutputReference">NotebooksRuntimeAccessConfigOutputReference</a>

---

##### `healthState`<sup>Required</sup> <a name="healthState" id="@dschmidt/provider-google.NotebooksRuntime.property.healthState"></a>

```typescript
public readonly healthState: string;
```

- *Type:* string

---

##### `metrics`<sup>Required</sup> <a name="metrics" id="@dschmidt/provider-google.NotebooksRuntime.property.metrics"></a>

```typescript
public readonly metrics: NotebooksRuntimeMetricsList;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeMetricsList">NotebooksRuntimeMetricsList</a>

---

##### `softwareConfig`<sup>Required</sup> <a name="softwareConfig" id="@dschmidt/provider-google.NotebooksRuntime.property.softwareConfig"></a>

```typescript
public readonly softwareConfig: NotebooksRuntimeSoftwareConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigOutputReference">NotebooksRuntimeSoftwareConfigOutputReference</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.NotebooksRuntime.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.NotebooksRuntime.property.timeouts"></a>

```typescript
public readonly timeouts: NotebooksRuntimeTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeTimeoutsOutputReference">NotebooksRuntimeTimeoutsOutputReference</a>

---

##### `virtualMachine`<sup>Required</sup> <a name="virtualMachine" id="@dschmidt/provider-google.NotebooksRuntime.property.virtualMachine"></a>

```typescript
public readonly virtualMachine: NotebooksRuntimeVirtualMachineOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineOutputReference">NotebooksRuntimeVirtualMachineOutputReference</a>

---

##### `accessConfigInput`<sup>Optional</sup> <a name="accessConfigInput" id="@dschmidt/provider-google.NotebooksRuntime.property.accessConfigInput"></a>

```typescript
public readonly accessConfigInput: NotebooksRuntimeAccessConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeAccessConfig">NotebooksRuntimeAccessConfig</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksRuntime.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NotebooksRuntime.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.NotebooksRuntime.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksRuntime.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `softwareConfigInput`<sup>Optional</sup> <a name="softwareConfigInput" id="@dschmidt/provider-google.NotebooksRuntime.property.softwareConfigInput"></a>

```typescript
public readonly softwareConfigInput: NotebooksRuntimeSoftwareConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig">NotebooksRuntimeSoftwareConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.NotebooksRuntime.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | NotebooksRuntimeTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NotebooksRuntimeTimeouts">NotebooksRuntimeTimeouts</a>

---

##### `virtualMachineInput`<sup>Optional</sup> <a name="virtualMachineInput" id="@dschmidt/provider-google.NotebooksRuntime.property.virtualMachineInput"></a>

```typescript
public readonly virtualMachineInput: NotebooksRuntimeVirtualMachine;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachine">NotebooksRuntimeVirtualMachine</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntime.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksRuntime.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NotebooksRuntime.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksRuntime.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntime.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksRuntime.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksRuntimeIamBinding <a name="NotebooksRuntimeIamBinding" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding google_notebooks_runtime_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.Initializer"></a>

```typescript
import { NotebooksRuntimeIamBinding } from '@dschmidt/provider-google'

new NotebooksRuntimeIamBinding(scope: Construct, id: string, config: NotebooksRuntimeIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig">NotebooksRuntimeIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig">NotebooksRuntimeIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.putCondition"></a>

```typescript
public putCondition(value: NotebooksRuntimeIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition">NotebooksRuntimeIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.isConstruct"></a>

```typescript
import { NotebooksRuntimeIamBinding } from '@dschmidt/provider-google'

NotebooksRuntimeIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConditionOutputReference">NotebooksRuntimeIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition">NotebooksRuntimeIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.runtimeNameInput">runtimeNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.runtimeName">runtimeName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.condition"></a>

```typescript
public readonly condition: NotebooksRuntimeIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConditionOutputReference">NotebooksRuntimeIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: NotebooksRuntimeIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition">NotebooksRuntimeIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `runtimeNameInput`<sup>Optional</sup> <a name="runtimeNameInput" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.runtimeNameInput"></a>

```typescript
public readonly runtimeNameInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `runtimeName`<sup>Required</sup> <a name="runtimeName" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.runtimeName"></a>

```typescript
public readonly runtimeName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksRuntimeIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksRuntimeIamMember <a name="NotebooksRuntimeIamMember" id="@dschmidt/provider-google.NotebooksRuntimeIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member google_notebooks_runtime_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.Initializer"></a>

```typescript
import { NotebooksRuntimeIamMember } from '@dschmidt/provider-google'

new NotebooksRuntimeIamMember(scope: Construct, id: string, config: NotebooksRuntimeIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig">NotebooksRuntimeIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig">NotebooksRuntimeIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.putCondition"></a>

```typescript
public putCondition(value: NotebooksRuntimeIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition">NotebooksRuntimeIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.isConstruct"></a>

```typescript
import { NotebooksRuntimeIamMember } from '@dschmidt/provider-google'

NotebooksRuntimeIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConditionOutputReference">NotebooksRuntimeIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition">NotebooksRuntimeIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.runtimeNameInput">runtimeNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.runtimeName">runtimeName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.condition"></a>

```typescript
public readonly condition: NotebooksRuntimeIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConditionOutputReference">NotebooksRuntimeIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: NotebooksRuntimeIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition">NotebooksRuntimeIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `runtimeNameInput`<sup>Optional</sup> <a name="runtimeNameInput" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.runtimeNameInput"></a>

```typescript
public readonly runtimeNameInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `runtimeName`<sup>Required</sup> <a name="runtimeName" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.runtimeName"></a>

```typescript
public readonly runtimeName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksRuntimeIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### NotebooksRuntimeIamPolicy <a name="NotebooksRuntimeIamPolicy" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy google_notebooks_runtime_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.Initializer"></a>

```typescript
import { NotebooksRuntimeIamPolicy } from '@dschmidt/provider-google'

new NotebooksRuntimeIamPolicy(scope: Construct, id: string, config: NotebooksRuntimeIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig">NotebooksRuntimeIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig">NotebooksRuntimeIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.isConstruct"></a>

```typescript
import { NotebooksRuntimeIamPolicy } from '@dschmidt/provider-google'

NotebooksRuntimeIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.runtimeNameInput">runtimeNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.runtimeName">runtimeName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `runtimeNameInput`<sup>Optional</sup> <a name="runtimeNameInput" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.runtimeNameInput"></a>

```typescript
public readonly runtimeNameInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `runtimeName`<sup>Required</sup> <a name="runtimeName" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.runtimeName"></a>

```typescript
public readonly runtimeName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OrganizationAccessApprovalSettings <a name="OrganizationAccessApprovalSettings" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings google_organization_access_approval_settings}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.Initializer"></a>

```typescript
import { OrganizationAccessApprovalSettings } from '@dschmidt/provider-google'

new OrganizationAccessApprovalSettings(scope: Construct, id: string, config: OrganizationAccessApprovalSettingsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig">OrganizationAccessApprovalSettingsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig">OrganizationAccessApprovalSettingsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.putEnrolledServices">putEnrolledServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetActiveKeyVersion">resetActiveKeyVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetNotificationEmails">resetNotificationEmails</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEnrolledServices` <a name="putEnrolledServices" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.putEnrolledServices"></a>

```typescript
public putEnrolledServices(value: IResolvable | OrganizationAccessApprovalSettingsEnrolledServices[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.putEnrolledServices.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices">OrganizationAccessApprovalSettingsEnrolledServices</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.putTimeouts"></a>

```typescript
public putTimeouts(value: OrganizationAccessApprovalSettingsTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts">OrganizationAccessApprovalSettingsTimeouts</a>

---

##### `resetActiveKeyVersion` <a name="resetActiveKeyVersion" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetActiveKeyVersion"></a>

```typescript
public resetActiveKeyVersion(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNotificationEmails` <a name="resetNotificationEmails" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetNotificationEmails"></a>

```typescript
public resetNotificationEmails(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.isConstruct"></a>

```typescript
import { OrganizationAccessApprovalSettings } from '@dschmidt/provider-google'

OrganizationAccessApprovalSettings.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.ancestorHasActiveKeyVersion">ancestorHasActiveKeyVersion</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.enrolledAncestor">enrolledAncestor</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.enrolledServices">enrolledServices</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServicesList">OrganizationAccessApprovalSettingsEnrolledServicesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.invalidKeyVersion">invalidKeyVersion</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeoutsOutputReference">OrganizationAccessApprovalSettingsTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.activeKeyVersionInput">activeKeyVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.enrolledServicesInput">enrolledServicesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices">OrganizationAccessApprovalSettingsEnrolledServices</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.notificationEmailsInput">notificationEmailsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.organizationIdInput">organizationIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts">OrganizationAccessApprovalSettingsTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.activeKeyVersion">activeKeyVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.notificationEmails">notificationEmails</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.organizationId">organizationId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `ancestorHasActiveKeyVersion`<sup>Required</sup> <a name="ancestorHasActiveKeyVersion" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.ancestorHasActiveKeyVersion"></a>

```typescript
public readonly ancestorHasActiveKeyVersion: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enrolledAncestor`<sup>Required</sup> <a name="enrolledAncestor" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.enrolledAncestor"></a>

```typescript
public readonly enrolledAncestor: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enrolledServices`<sup>Required</sup> <a name="enrolledServices" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.enrolledServices"></a>

```typescript
public readonly enrolledServices: OrganizationAccessApprovalSettingsEnrolledServicesList;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServicesList">OrganizationAccessApprovalSettingsEnrolledServicesList</a>

---

##### `invalidKeyVersion`<sup>Required</sup> <a name="invalidKeyVersion" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.invalidKeyVersion"></a>

```typescript
public readonly invalidKeyVersion: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.timeouts"></a>

```typescript
public readonly timeouts: OrganizationAccessApprovalSettingsTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeoutsOutputReference">OrganizationAccessApprovalSettingsTimeoutsOutputReference</a>

---

##### `activeKeyVersionInput`<sup>Optional</sup> <a name="activeKeyVersionInput" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.activeKeyVersionInput"></a>

```typescript
public readonly activeKeyVersionInput: string;
```

- *Type:* string

---

##### `enrolledServicesInput`<sup>Optional</sup> <a name="enrolledServicesInput" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.enrolledServicesInput"></a>

```typescript
public readonly enrolledServicesInput: IResolvable | OrganizationAccessApprovalSettingsEnrolledServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices">OrganizationAccessApprovalSettingsEnrolledServices</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `notificationEmailsInput`<sup>Optional</sup> <a name="notificationEmailsInput" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.notificationEmailsInput"></a>

```typescript
public readonly notificationEmailsInput: string[];
```

- *Type:* string[]

---

##### `organizationIdInput`<sup>Optional</sup> <a name="organizationIdInput" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.organizationIdInput"></a>

```typescript
public readonly organizationIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | OrganizationAccessApprovalSettingsTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts">OrganizationAccessApprovalSettingsTimeouts</a>

---

##### `activeKeyVersion`<sup>Required</sup> <a name="activeKeyVersion" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.activeKeyVersion"></a>

```typescript
public readonly activeKeyVersion: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `notificationEmails`<sup>Required</sup> <a name="notificationEmails" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.notificationEmails"></a>

```typescript
public readonly notificationEmails: string[];
```

- *Type:* string[]

---

##### `organizationId`<sup>Required</sup> <a name="organizationId" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.organizationId"></a>

```typescript
public readonly organizationId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OrganizationAccessApprovalSettings.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OrganizationIamAuditConfig <a name="OrganizationIamAuditConfig" id="@dschmidt/provider-google.OrganizationIamAuditConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/organization_iam_audit_config google_organization_iam_audit_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OrganizationIamAuditConfig.Initializer"></a>

```typescript
import { OrganizationIamAuditConfig } from '@dschmidt/provider-google'

new OrganizationIamAuditConfig(scope: Construct, id: string, config: OrganizationIamAuditConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig">OrganizationIamAuditConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OrganizationIamAuditConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamAuditConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OrganizationIamAuditConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig">OrganizationIamAuditConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.putAuditLogConfig">putAuditLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OrganizationIamAuditConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OrganizationIamAuditConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OrganizationIamAuditConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationIamAuditConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OrganizationIamAuditConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OrganizationIamAuditConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OrganizationIamAuditConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OrganizationIamAuditConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OrganizationIamAuditConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamAuditConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAuditLogConfig` <a name="putAuditLogConfig" id="@dschmidt/provider-google.OrganizationIamAuditConfig.putAuditLogConfig"></a>

```typescript
public putAuditLogConfig(value: IResolvable | OrganizationIamAuditConfigAuditLogConfig[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationIamAuditConfig.putAuditLogConfig.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig">OrganizationIamAuditConfigAuditLogConfig</a>[]

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OrganizationIamAuditConfig.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OrganizationIamAuditConfig.isConstruct"></a>

```typescript
import { OrganizationIamAuditConfig } from '@dschmidt/provider-google'

OrganizationIamAuditConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OrganizationIamAuditConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.auditLogConfig">auditLogConfig</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfigList">OrganizationIamAuditConfigAuditLogConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.auditLogConfigInput">auditLogConfigInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig">OrganizationIamAuditConfigAuditLogConfig</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `auditLogConfig`<sup>Required</sup> <a name="auditLogConfig" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.auditLogConfig"></a>

```typescript
public readonly auditLogConfig: OrganizationIamAuditConfigAuditLogConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfigList">OrganizationIamAuditConfigAuditLogConfigList</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `auditLogConfigInput`<sup>Optional</sup> <a name="auditLogConfigInput" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.auditLogConfigInput"></a>

```typescript
public readonly auditLogConfigInput: IResolvable | OrganizationIamAuditConfigAuditLogConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig">OrganizationIamAuditConfigAuditLogConfig</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OrganizationIamAuditConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OrganizationIamBinding <a name="OrganizationIamBinding" id="@dschmidt/provider-google.OrganizationIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding google_organization_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OrganizationIamBinding.Initializer"></a>

```typescript
import { OrganizationIamBinding } from '@dschmidt/provider-google'

new OrganizationIamBinding(scope: Construct, id: string, config: OrganizationIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig">OrganizationIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OrganizationIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OrganizationIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamBindingConfig">OrganizationIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OrganizationIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OrganizationIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OrganizationIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OrganizationIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OrganizationIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OrganizationIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OrganizationIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OrganizationIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.OrganizationIamBinding.putCondition"></a>

```typescript
public putCondition(value: OrganizationIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamBindingCondition">OrganizationIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.OrganizationIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OrganizationIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OrganizationIamBinding.isConstruct"></a>

```typescript
import { OrganizationIamBinding } from '@dschmidt/provider-google'

OrganizationIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OrganizationIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConditionOutputReference">OrganizationIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamBindingCondition">OrganizationIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OrganizationIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OrganizationIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OrganizationIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OrganizationIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OrganizationIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OrganizationIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OrganizationIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.OrganizationIamBinding.property.condition"></a>

```typescript
public readonly condition: OrganizationIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamBindingConditionOutputReference">OrganizationIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.OrganizationIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.OrganizationIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: OrganizationIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamBindingCondition">OrganizationIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OrganizationIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.OrganizationIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.OrganizationIamBinding.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.OrganizationIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.OrganizationIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamBinding.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.OrganizationIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OrganizationIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OrganizationIamCustomRole <a name="OrganizationIamCustomRole" id="@dschmidt/provider-google.OrganizationIamCustomRole"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/organization_iam_custom_role google_organization_iam_custom_role}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OrganizationIamCustomRole.Initializer"></a>

```typescript
import { OrganizationIamCustomRole } from '@dschmidt/provider-google'

new OrganizationIamCustomRole(scope: Construct, id: string, config: OrganizationIamCustomRoleConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig">OrganizationIamCustomRoleConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OrganizationIamCustomRole.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamCustomRole.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OrganizationIamCustomRole.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig">OrganizationIamCustomRoleConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.resetStage">resetStage</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OrganizationIamCustomRole.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OrganizationIamCustomRole.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OrganizationIamCustomRole.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationIamCustomRole.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OrganizationIamCustomRole.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OrganizationIamCustomRole.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OrganizationIamCustomRole.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OrganizationIamCustomRole.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OrganizationIamCustomRole.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamCustomRole.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.OrganizationIamCustomRole.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OrganizationIamCustomRole.resetId"></a>

```typescript
public resetId(): void
```

##### `resetStage` <a name="resetStage" id="@dschmidt/provider-google.OrganizationIamCustomRole.resetStage"></a>

```typescript
public resetStage(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OrganizationIamCustomRole.isConstruct"></a>

```typescript
import { OrganizationIamCustomRole } from '@dschmidt/provider-google'

OrganizationIamCustomRole.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OrganizationIamCustomRole.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.deleted">deleted</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.permissionsInput">permissionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.roleIdInput">roleIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.stageInput">stageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.permissions">permissions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.roleId">roleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.stage">stage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `deleted`<sup>Required</sup> <a name="deleted" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.deleted"></a>

```typescript
public readonly deleted: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `permissionsInput`<sup>Optional</sup> <a name="permissionsInput" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.permissionsInput"></a>

```typescript
public readonly permissionsInput: string[];
```

- *Type:* string[]

---

##### `roleIdInput`<sup>Optional</sup> <a name="roleIdInput" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.roleIdInput"></a>

```typescript
public readonly roleIdInput: string;
```

- *Type:* string

---

##### `stageInput`<sup>Optional</sup> <a name="stageInput" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.stageInput"></a>

```typescript
public readonly stageInput: string;
```

- *Type:* string

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `permissions`<sup>Required</sup> <a name="permissions" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.permissions"></a>

```typescript
public readonly permissions: string[];
```

- *Type:* string[]

---

##### `roleId`<sup>Required</sup> <a name="roleId" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.roleId"></a>

```typescript
public readonly roleId: string;
```

- *Type:* string

---

##### `stage`<sup>Required</sup> <a name="stage" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.stage"></a>

```typescript
public readonly stage: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRole.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OrganizationIamCustomRole.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OrganizationIamMember <a name="OrganizationIamMember" id="@dschmidt/provider-google.OrganizationIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member google_organization_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OrganizationIamMember.Initializer"></a>

```typescript
import { OrganizationIamMember } from '@dschmidt/provider-google'

new OrganizationIamMember(scope: Construct, id: string, config: OrganizationIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig">OrganizationIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OrganizationIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OrganizationIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamMemberConfig">OrganizationIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OrganizationIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OrganizationIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OrganizationIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OrganizationIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OrganizationIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OrganizationIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OrganizationIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OrganizationIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OrganizationIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.OrganizationIamMember.putCondition"></a>

```typescript
public putCondition(value: OrganizationIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamMemberCondition">OrganizationIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.OrganizationIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OrganizationIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OrganizationIamMember.isConstruct"></a>

```typescript
import { OrganizationIamMember } from '@dschmidt/provider-google'

OrganizationIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OrganizationIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConditionOutputReference">OrganizationIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamMemberCondition">OrganizationIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OrganizationIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OrganizationIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OrganizationIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OrganizationIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OrganizationIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OrganizationIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OrganizationIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.OrganizationIamMember.property.condition"></a>

```typescript
public readonly condition: OrganizationIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamMemberConditionOutputReference">OrganizationIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.OrganizationIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.OrganizationIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: OrganizationIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamMemberCondition">OrganizationIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OrganizationIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.OrganizationIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.OrganizationIamMember.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.OrganizationIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.OrganizationIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamMember.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.OrganizationIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OrganizationIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OrganizationIamPolicy <a name="OrganizationIamPolicy" id="@dschmidt/provider-google.OrganizationIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/organization_iam_policy google_organization_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OrganizationIamPolicy.Initializer"></a>

```typescript
import { OrganizationIamPolicy } from '@dschmidt/provider-google'

new OrganizationIamPolicy(scope: Construct, id: string, config: OrganizationIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig">OrganizationIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OrganizationIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OrganizationIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig">OrganizationIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OrganizationIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OrganizationIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OrganizationIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OrganizationIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OrganizationIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OrganizationIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OrganizationIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OrganizationIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OrganizationIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OrganizationIamPolicy.isConstruct"></a>

```typescript
import { OrganizationIamPolicy } from '@dschmidt/provider-google'

OrganizationIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OrganizationIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OrganizationIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OrganizationIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OrganizationIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OrganizationIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OrganizationIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OrganizationIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OrganizationIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.OrganizationIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OrganizationIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.OrganizationIamPolicy.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.OrganizationIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamPolicy.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.OrganizationIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OrganizationIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OrganizationPolicy <a name="OrganizationPolicy" id="@dschmidt/provider-google.OrganizationPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/organization_policy google_organization_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OrganizationPolicy.Initializer"></a>

```typescript
import { OrganizationPolicy } from '@dschmidt/provider-google'

new OrganizationPolicy(scope: Construct, id: string, config: OrganizationPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig">OrganizationPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OrganizationPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OrganizationPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyConfig">OrganizationPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.putBooleanPolicy">putBooleanPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.putListPolicy">putListPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.putRestorePolicy">putRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.resetBooleanPolicy">resetBooleanPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.resetListPolicy">resetListPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.resetRestorePolicy">resetRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.resetVersion">resetVersion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OrganizationPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OrganizationPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OrganizationPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OrganizationPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OrganizationPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OrganizationPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OrganizationPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OrganizationPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OrganizationPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrganizationPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBooleanPolicy` <a name="putBooleanPolicy" id="@dschmidt/provider-google.OrganizationPolicy.putBooleanPolicy"></a>

```typescript
public putBooleanPolicy(value: OrganizationPolicyBooleanPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationPolicy.putBooleanPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyBooleanPolicy">OrganizationPolicyBooleanPolicy</a>

---

##### `putListPolicy` <a name="putListPolicy" id="@dschmidt/provider-google.OrganizationPolicy.putListPolicy"></a>

```typescript
public putListPolicy(value: OrganizationPolicyListPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationPolicy.putListPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyListPolicy">OrganizationPolicyListPolicy</a>

---

##### `putRestorePolicy` <a name="putRestorePolicy" id="@dschmidt/provider-google.OrganizationPolicy.putRestorePolicy"></a>

```typescript
public putRestorePolicy(value: OrganizationPolicyRestorePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationPolicy.putRestorePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyRestorePolicy">OrganizationPolicyRestorePolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.OrganizationPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: OrganizationPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrganizationPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyTimeouts">OrganizationPolicyTimeouts</a>

---

##### `resetBooleanPolicy` <a name="resetBooleanPolicy" id="@dschmidt/provider-google.OrganizationPolicy.resetBooleanPolicy"></a>

```typescript
public resetBooleanPolicy(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OrganizationPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetListPolicy` <a name="resetListPolicy" id="@dschmidt/provider-google.OrganizationPolicy.resetListPolicy"></a>

```typescript
public resetListPolicy(): void
```

##### `resetRestorePolicy` <a name="resetRestorePolicy" id="@dschmidt/provider-google.OrganizationPolicy.resetRestorePolicy"></a>

```typescript
public resetRestorePolicy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.OrganizationPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVersion` <a name="resetVersion" id="@dschmidt/provider-google.OrganizationPolicy.resetVersion"></a>

```typescript
public resetVersion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OrganizationPolicy.isConstruct"></a>

```typescript
import { OrganizationPolicy } from '@dschmidt/provider-google'

OrganizationPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OrganizationPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.booleanPolicy">booleanPolicy</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyBooleanPolicyOutputReference">OrganizationPolicyBooleanPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.listPolicy">listPolicy</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyOutputReference">OrganizationPolicyListPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.restorePolicy">restorePolicy</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyRestorePolicyOutputReference">OrganizationPolicyRestorePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyTimeoutsOutputReference">OrganizationPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.booleanPolicyInput">booleanPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyBooleanPolicy">OrganizationPolicyBooleanPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.constraintInput">constraintInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.listPolicyInput">listPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicy">OrganizationPolicyListPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.restorePolicyInput">restorePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyRestorePolicy">OrganizationPolicyRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OrganizationPolicyTimeouts">OrganizationPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.versionInput">versionInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.constraint">constraint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.version">version</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OrganizationPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OrganizationPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OrganizationPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OrganizationPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OrganizationPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OrganizationPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OrganizationPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `booleanPolicy`<sup>Required</sup> <a name="booleanPolicy" id="@dschmidt/provider-google.OrganizationPolicy.property.booleanPolicy"></a>

```typescript
public readonly booleanPolicy: OrganizationPolicyBooleanPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyBooleanPolicyOutputReference">OrganizationPolicyBooleanPolicyOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.OrganizationPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `listPolicy`<sup>Required</sup> <a name="listPolicy" id="@dschmidt/provider-google.OrganizationPolicy.property.listPolicy"></a>

```typescript
public readonly listPolicy: OrganizationPolicyListPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyOutputReference">OrganizationPolicyListPolicyOutputReference</a>

---

##### `restorePolicy`<sup>Required</sup> <a name="restorePolicy" id="@dschmidt/provider-google.OrganizationPolicy.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: OrganizationPolicyRestorePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyRestorePolicyOutputReference">OrganizationPolicyRestorePolicyOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.OrganizationPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: OrganizationPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyTimeoutsOutputReference">OrganizationPolicyTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.OrganizationPolicy.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `booleanPolicyInput`<sup>Optional</sup> <a name="booleanPolicyInput" id="@dschmidt/provider-google.OrganizationPolicy.property.booleanPolicyInput"></a>

```typescript
public readonly booleanPolicyInput: OrganizationPolicyBooleanPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyBooleanPolicy">OrganizationPolicyBooleanPolicy</a>

---

##### `constraintInput`<sup>Optional</sup> <a name="constraintInput" id="@dschmidt/provider-google.OrganizationPolicy.property.constraintInput"></a>

```typescript
public readonly constraintInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OrganizationPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `listPolicyInput`<sup>Optional</sup> <a name="listPolicyInput" id="@dschmidt/provider-google.OrganizationPolicy.property.listPolicyInput"></a>

```typescript
public readonly listPolicyInput: OrganizationPolicyListPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyListPolicy">OrganizationPolicyListPolicy</a>

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.OrganizationPolicy.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `restorePolicyInput`<sup>Optional</sup> <a name="restorePolicyInput" id="@dschmidt/provider-google.OrganizationPolicy.property.restorePolicyInput"></a>

```typescript
public readonly restorePolicyInput: OrganizationPolicyRestorePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyRestorePolicy">OrganizationPolicyRestorePolicy</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.OrganizationPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | OrganizationPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrganizationPolicyTimeouts">OrganizationPolicyTimeouts</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.OrganizationPolicy.property.versionInput"></a>

```typescript
public readonly versionInput: number;
```

- *Type:* number

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.OrganizationPolicy.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrganizationPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationPolicy.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.OrganizationPolicy.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OrganizationPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OrgPolicyPolicy <a name="OrgPolicyPolicy" id="@dschmidt/provider-google.OrgPolicyPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy google_org_policy_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OrgPolicyPolicy.Initializer"></a>

```typescript
import { OrgPolicyPolicy } from '@dschmidt/provider-google'

new OrgPolicyPolicy(scope: Construct, id: string, config: OrgPolicyPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig">OrgPolicyPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OrgPolicyPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrgPolicyPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OrgPolicyPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig">OrgPolicyPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.putSpec">putSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.resetSpec">resetSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OrgPolicyPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OrgPolicyPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OrgPolicyPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrgPolicyPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OrgPolicyPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OrgPolicyPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OrgPolicyPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OrgPolicyPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OrgPolicyPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OrgPolicyPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSpec` <a name="putSpec" id="@dschmidt/provider-google.OrgPolicyPolicy.putSpec"></a>

```typescript
public putSpec(value: OrgPolicyPolicySpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrgPolicyPolicy.putSpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicySpec">OrgPolicyPolicySpec</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.OrgPolicyPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: OrgPolicyPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OrgPolicyPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeouts">OrgPolicyPolicyTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OrgPolicyPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetSpec` <a name="resetSpec" id="@dschmidt/provider-google.OrgPolicyPolicy.resetSpec"></a>

```typescript
public resetSpec(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.OrgPolicyPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OrgPolicyPolicy.isConstruct"></a>

```typescript
import { OrgPolicyPolicy } from '@dschmidt/provider-google'

OrgPolicyPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OrgPolicyPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.spec">spec</a></code> | <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecOutputReference">OrgPolicyPolicySpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeoutsOutputReference">OrgPolicyPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.specInput">specInput</a></code> | <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpec">OrgPolicyPolicySpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeouts">OrgPolicyPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.parent">parent</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OrgPolicyPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OrgPolicyPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OrgPolicyPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OrgPolicyPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OrgPolicyPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OrgPolicyPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OrgPolicyPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrgPolicyPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrgPolicyPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrgPolicyPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrgPolicyPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrgPolicyPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrgPolicyPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrgPolicyPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `spec`<sup>Required</sup> <a name="spec" id="@dschmidt/provider-google.OrgPolicyPolicy.property.spec"></a>

```typescript
public readonly spec: OrgPolicyPolicySpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicySpecOutputReference">OrgPolicyPolicySpecOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.OrgPolicyPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: OrgPolicyPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeoutsOutputReference">OrgPolicyPolicyTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OrgPolicyPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.OrgPolicyPolicy.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.OrgPolicyPolicy.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `specInput`<sup>Optional</sup> <a name="specInput" id="@dschmidt/provider-google.OrgPolicyPolicy.property.specInput"></a>

```typescript
public readonly specInput: OrgPolicyPolicySpec;
```

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicySpec">OrgPolicyPolicySpec</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.OrgPolicyPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | OrgPolicyPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeouts">OrgPolicyPolicyTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OrgPolicyPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OrgPolicyPolicy.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.OrgPolicyPolicy.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OrgPolicyPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OsConfigOsPolicyAssignment <a name="OsConfigOsPolicyAssignment" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment google_os_config_os_policy_assignment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignment } from '@dschmidt/provider-google'

new OsConfigOsPolicyAssignment(scope: Construct, id: string, config: OsConfigOsPolicyAssignmentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig">OsConfigOsPolicyAssignmentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig">OsConfigOsPolicyAssignmentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.putInstanceFilter">putInstanceFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.putOsPolicies">putOsPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.putRollout">putRollout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putInstanceFilter` <a name="putInstanceFilter" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.putInstanceFilter"></a>

```typescript
public putInstanceFilter(value: OsConfigOsPolicyAssignmentInstanceFilter): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.putInstanceFilter.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter">OsConfigOsPolicyAssignmentInstanceFilter</a>

---

##### `putOsPolicies` <a name="putOsPolicies" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.putOsPolicies"></a>

```typescript
public putOsPolicies(value: IResolvable | OsConfigOsPolicyAssignmentOsPolicies[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.putOsPolicies.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies">OsConfigOsPolicyAssignmentOsPolicies</a>[]

---

##### `putRollout` <a name="putRollout" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.putRollout"></a>

```typescript
public putRollout(value: OsConfigOsPolicyAssignmentRollout): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.putRollout.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout">OsConfigOsPolicyAssignmentRollout</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.putTimeouts"></a>

```typescript
public putTimeouts(value: OsConfigOsPolicyAssignmentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts">OsConfigOsPolicyAssignmentTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.isConstruct"></a>

```typescript
import { OsConfigOsPolicyAssignment } from '@dschmidt/provider-google'

OsConfigOsPolicyAssignment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.baseline">baseline</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.deleted">deleted</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.instanceFilter">instanceFilter</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterOutputReference">OsConfigOsPolicyAssignmentInstanceFilterOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.osPolicies">osPolicies</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesList">OsConfigOsPolicyAssignmentOsPoliciesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.reconciling">reconciling</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.revisionCreateTime">revisionCreateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.revisionId">revisionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.rollout">rollout</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutOutputReference">OsConfigOsPolicyAssignmentRolloutOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.rolloutState">rolloutState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeoutsOutputReference">OsConfigOsPolicyAssignmentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.uid">uid</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.instanceFilterInput">instanceFilterInput</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter">OsConfigOsPolicyAssignmentInstanceFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.osPoliciesInput">osPoliciesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies">OsConfigOsPolicyAssignmentOsPolicies</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.rolloutInput">rolloutInput</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout">OsConfigOsPolicyAssignmentRollout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts">OsConfigOsPolicyAssignmentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `baseline`<sup>Required</sup> <a name="baseline" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.baseline"></a>

```typescript
public readonly baseline: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `deleted`<sup>Required</sup> <a name="deleted" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.deleted"></a>

```typescript
public readonly deleted: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `instanceFilter`<sup>Required</sup> <a name="instanceFilter" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.instanceFilter"></a>

```typescript
public readonly instanceFilter: OsConfigOsPolicyAssignmentInstanceFilterOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterOutputReference">OsConfigOsPolicyAssignmentInstanceFilterOutputReference</a>

---

##### `osPolicies`<sup>Required</sup> <a name="osPolicies" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.osPolicies"></a>

```typescript
public readonly osPolicies: OsConfigOsPolicyAssignmentOsPoliciesList;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesList">OsConfigOsPolicyAssignmentOsPoliciesList</a>

---

##### `reconciling`<sup>Required</sup> <a name="reconciling" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.reconciling"></a>

```typescript
public readonly reconciling: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `revisionCreateTime`<sup>Required</sup> <a name="revisionCreateTime" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.revisionCreateTime"></a>

```typescript
public readonly revisionCreateTime: string;
```

- *Type:* string

---

##### `revisionId`<sup>Required</sup> <a name="revisionId" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.revisionId"></a>

```typescript
public readonly revisionId: string;
```

- *Type:* string

---

##### `rollout`<sup>Required</sup> <a name="rollout" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.rollout"></a>

```typescript
public readonly rollout: OsConfigOsPolicyAssignmentRolloutOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutOutputReference">OsConfigOsPolicyAssignmentRolloutOutputReference</a>

---

##### `rolloutState`<sup>Required</sup> <a name="rolloutState" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.rolloutState"></a>

```typescript
public readonly rolloutState: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.timeouts"></a>

```typescript
public readonly timeouts: OsConfigOsPolicyAssignmentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeoutsOutputReference">OsConfigOsPolicyAssignmentTimeoutsOutputReference</a>

---

##### `uid`<sup>Required</sup> <a name="uid" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.uid"></a>

```typescript
public readonly uid: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceFilterInput`<sup>Optional</sup> <a name="instanceFilterInput" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.instanceFilterInput"></a>

```typescript
public readonly instanceFilterInput: OsConfigOsPolicyAssignmentInstanceFilter;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter">OsConfigOsPolicyAssignmentInstanceFilter</a>

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `osPoliciesInput`<sup>Optional</sup> <a name="osPoliciesInput" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.osPoliciesInput"></a>

```typescript
public readonly osPoliciesInput: IResolvable | OsConfigOsPolicyAssignmentOsPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies">OsConfigOsPolicyAssignmentOsPolicies</a>[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `rolloutInput`<sup>Optional</sup> <a name="rolloutInput" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.rolloutInput"></a>

```typescript
public readonly rolloutInput: OsConfigOsPolicyAssignmentRollout;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout">OsConfigOsPolicyAssignmentRollout</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | OsConfigOsPolicyAssignmentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts">OsConfigOsPolicyAssignmentTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OsConfigOsPolicyAssignment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OsConfigPatchDeployment <a name="OsConfigPatchDeployment" id="@dschmidt/provider-google.OsConfigPatchDeployment"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment google_os_config_patch_deployment}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OsConfigPatchDeployment.Initializer"></a>

```typescript
import { OsConfigPatchDeployment } from '@dschmidt/provider-google'

new OsConfigPatchDeployment(scope: Construct, id: string, config: OsConfigPatchDeploymentConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig">OsConfigPatchDeploymentConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OsConfigPatchDeployment.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsConfigPatchDeployment.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OsConfigPatchDeployment.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig">OsConfigPatchDeploymentConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.putInstanceFilter">putInstanceFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.putOneTimeSchedule">putOneTimeSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.putPatchConfig">putPatchConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.putRecurringSchedule">putRecurringSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.putRollout">putRollout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetDuration">resetDuration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetOneTimeSchedule">resetOneTimeSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetPatchConfig">resetPatchConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetRecurringSchedule">resetRecurringSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetRollout">resetRollout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OsConfigPatchDeployment.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OsConfigPatchDeployment.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OsConfigPatchDeployment.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigPatchDeployment.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OsConfigPatchDeployment.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OsConfigPatchDeployment.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OsConfigPatchDeployment.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OsConfigPatchDeployment.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsConfigPatchDeployment.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putInstanceFilter` <a name="putInstanceFilter" id="@dschmidt/provider-google.OsConfigPatchDeployment.putInstanceFilter"></a>

```typescript
public putInstanceFilter(value: OsConfigPatchDeploymentInstanceFilter): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigPatchDeployment.putInstanceFilter.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter">OsConfigPatchDeploymentInstanceFilter</a>

---

##### `putOneTimeSchedule` <a name="putOneTimeSchedule" id="@dschmidt/provider-google.OsConfigPatchDeployment.putOneTimeSchedule"></a>

```typescript
public putOneTimeSchedule(value: OsConfigPatchDeploymentOneTimeSchedule): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigPatchDeployment.putOneTimeSchedule.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeSchedule">OsConfigPatchDeploymentOneTimeSchedule</a>

---

##### `putPatchConfig` <a name="putPatchConfig" id="@dschmidt/provider-google.OsConfigPatchDeployment.putPatchConfig"></a>

```typescript
public putPatchConfig(value: OsConfigPatchDeploymentPatchConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigPatchDeployment.putPatchConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig">OsConfigPatchDeploymentPatchConfig</a>

---

##### `putRecurringSchedule` <a name="putRecurringSchedule" id="@dschmidt/provider-google.OsConfigPatchDeployment.putRecurringSchedule"></a>

```typescript
public putRecurringSchedule(value: OsConfigPatchDeploymentRecurringSchedule): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigPatchDeployment.putRecurringSchedule.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule">OsConfigPatchDeploymentRecurringSchedule</a>

---

##### `putRollout` <a name="putRollout" id="@dschmidt/provider-google.OsConfigPatchDeployment.putRollout"></a>

```typescript
public putRollout(value: OsConfigPatchDeploymentRollout): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigPatchDeployment.putRollout.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRollout">OsConfigPatchDeploymentRollout</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.OsConfigPatchDeployment.putTimeouts"></a>

```typescript
public putTimeouts(value: OsConfigPatchDeploymentTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsConfigPatchDeployment.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts">OsConfigPatchDeploymentTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDuration` <a name="resetDuration" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetDuration"></a>

```typescript
public resetDuration(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetId"></a>

```typescript
public resetId(): void
```

##### `resetOneTimeSchedule` <a name="resetOneTimeSchedule" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetOneTimeSchedule"></a>

```typescript
public resetOneTimeSchedule(): void
```

##### `resetPatchConfig` <a name="resetPatchConfig" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetPatchConfig"></a>

```typescript
public resetPatchConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRecurringSchedule` <a name="resetRecurringSchedule" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetRecurringSchedule"></a>

```typescript
public resetRecurringSchedule(): void
```

##### `resetRollout` <a name="resetRollout" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetRollout"></a>

```typescript
public resetRollout(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.OsConfigPatchDeployment.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OsConfigPatchDeployment.isConstruct"></a>

```typescript
import { OsConfigPatchDeployment } from '@dschmidt/provider-google'

OsConfigPatchDeployment.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OsConfigPatchDeployment.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.instanceFilter">instanceFilter</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilterOutputReference">OsConfigPatchDeploymentInstanceFilterOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.lastExecuteTime">lastExecuteTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.oneTimeSchedule">oneTimeSchedule</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeScheduleOutputReference">OsConfigPatchDeploymentOneTimeScheduleOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.patchConfig">patchConfig</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigOutputReference">OsConfigPatchDeploymentPatchConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.recurringSchedule">recurringSchedule</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleOutputReference">OsConfigPatchDeploymentRecurringScheduleOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.rollout">rollout</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRolloutOutputReference">OsConfigPatchDeploymentRolloutOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentTimeoutsOutputReference">OsConfigPatchDeploymentTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.durationInput">durationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.instanceFilterInput">instanceFilterInput</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter">OsConfigPatchDeploymentInstanceFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.oneTimeScheduleInput">oneTimeScheduleInput</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeSchedule">OsConfigPatchDeploymentOneTimeSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.patchConfigInput">patchConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig">OsConfigPatchDeploymentPatchConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.patchDeploymentIdInput">patchDeploymentIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.recurringScheduleInput">recurringScheduleInput</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule">OsConfigPatchDeploymentRecurringSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.rolloutInput">rolloutInput</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRollout">OsConfigPatchDeploymentRollout</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts">OsConfigPatchDeploymentTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.duration">duration</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.patchDeploymentId">patchDeploymentId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `instanceFilter`<sup>Required</sup> <a name="instanceFilter" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.instanceFilter"></a>

```typescript
public readonly instanceFilter: OsConfigPatchDeploymentInstanceFilterOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilterOutputReference">OsConfigPatchDeploymentInstanceFilterOutputReference</a>

---

##### `lastExecuteTime`<sup>Required</sup> <a name="lastExecuteTime" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.lastExecuteTime"></a>

```typescript
public readonly lastExecuteTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `oneTimeSchedule`<sup>Required</sup> <a name="oneTimeSchedule" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.oneTimeSchedule"></a>

```typescript
public readonly oneTimeSchedule: OsConfigPatchDeploymentOneTimeScheduleOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeScheduleOutputReference">OsConfigPatchDeploymentOneTimeScheduleOutputReference</a>

---

##### `patchConfig`<sup>Required</sup> <a name="patchConfig" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.patchConfig"></a>

```typescript
public readonly patchConfig: OsConfigPatchDeploymentPatchConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigOutputReference">OsConfigPatchDeploymentPatchConfigOutputReference</a>

---

##### `recurringSchedule`<sup>Required</sup> <a name="recurringSchedule" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.recurringSchedule"></a>

```typescript
public readonly recurringSchedule: OsConfigPatchDeploymentRecurringScheduleOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleOutputReference">OsConfigPatchDeploymentRecurringScheduleOutputReference</a>

---

##### `rollout`<sup>Required</sup> <a name="rollout" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.rollout"></a>

```typescript
public readonly rollout: OsConfigPatchDeploymentRolloutOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRolloutOutputReference">OsConfigPatchDeploymentRolloutOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.timeouts"></a>

```typescript
public readonly timeouts: OsConfigPatchDeploymentTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentTimeoutsOutputReference">OsConfigPatchDeploymentTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `durationInput`<sup>Optional</sup> <a name="durationInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.durationInput"></a>

```typescript
public readonly durationInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceFilterInput`<sup>Optional</sup> <a name="instanceFilterInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.instanceFilterInput"></a>

```typescript
public readonly instanceFilterInput: OsConfigPatchDeploymentInstanceFilter;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter">OsConfigPatchDeploymentInstanceFilter</a>

---

##### `oneTimeScheduleInput`<sup>Optional</sup> <a name="oneTimeScheduleInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.oneTimeScheduleInput"></a>

```typescript
public readonly oneTimeScheduleInput: OsConfigPatchDeploymentOneTimeSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeSchedule">OsConfigPatchDeploymentOneTimeSchedule</a>

---

##### `patchConfigInput`<sup>Optional</sup> <a name="patchConfigInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.patchConfigInput"></a>

```typescript
public readonly patchConfigInput: OsConfigPatchDeploymentPatchConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig">OsConfigPatchDeploymentPatchConfig</a>

---

##### `patchDeploymentIdInput`<sup>Optional</sup> <a name="patchDeploymentIdInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.patchDeploymentIdInput"></a>

```typescript
public readonly patchDeploymentIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `recurringScheduleInput`<sup>Optional</sup> <a name="recurringScheduleInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.recurringScheduleInput"></a>

```typescript
public readonly recurringScheduleInput: OsConfigPatchDeploymentRecurringSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule">OsConfigPatchDeploymentRecurringSchedule</a>

---

##### `rolloutInput`<sup>Optional</sup> <a name="rolloutInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.rolloutInput"></a>

```typescript
public readonly rolloutInput: OsConfigPatchDeploymentRollout;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRollout">OsConfigPatchDeploymentRollout</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | OsConfigPatchDeploymentTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts">OsConfigPatchDeploymentTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `duration`<sup>Required</sup> <a name="duration" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.duration"></a>

```typescript
public readonly duration: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `patchDeploymentId`<sup>Required</sup> <a name="patchDeploymentId" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.patchDeploymentId"></a>

```typescript
public readonly patchDeploymentId: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeployment.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OsConfigPatchDeployment.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### OsLoginSshPublicKey <a name="OsLoginSshPublicKey" id="@dschmidt/provider-google.OsLoginSshPublicKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key google_os_login_ssh_public_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.OsLoginSshPublicKey.Initializer"></a>

```typescript
import { OsLoginSshPublicKey } from '@dschmidt/provider-google'

new OsLoginSshPublicKey(scope: Construct, id: string, config: OsLoginSshPublicKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig">OsLoginSshPublicKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.OsLoginSshPublicKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsLoginSshPublicKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.OsLoginSshPublicKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig">OsLoginSshPublicKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.resetExpirationTimeUsec">resetExpirationTimeUsec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.OsLoginSshPublicKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.OsLoginSshPublicKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OsLoginSshPublicKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsLoginSshPublicKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.OsLoginSshPublicKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.OsLoginSshPublicKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.OsLoginSshPublicKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.OsLoginSshPublicKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.OsLoginSshPublicKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.OsLoginSshPublicKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.OsLoginSshPublicKey.putTimeouts"></a>

```typescript
public putTimeouts(value: OsLoginSshPublicKeyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.OsLoginSshPublicKey.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts">OsLoginSshPublicKeyTimeouts</a>

---

##### `resetExpirationTimeUsec` <a name="resetExpirationTimeUsec" id="@dschmidt/provider-google.OsLoginSshPublicKey.resetExpirationTimeUsec"></a>

```typescript
public resetExpirationTimeUsec(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.OsLoginSshPublicKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.OsLoginSshPublicKey.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.OsLoginSshPublicKey.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.OsLoginSshPublicKey.isConstruct"></a>

```typescript
import { OsLoginSshPublicKey } from '@dschmidt/provider-google'

OsLoginSshPublicKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.OsLoginSshPublicKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.fingerprint">fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeoutsOutputReference">OsLoginSshPublicKeyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.expirationTimeUsecInput">expirationTimeUsecInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.keyInput">keyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts">OsLoginSshPublicKeyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.userInput">userInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.expirationTimeUsec">expirationTimeUsec</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.key">key</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.user">user</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fingerprint`<sup>Required</sup> <a name="fingerprint" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.timeouts"></a>

```typescript
public readonly timeouts: OsLoginSshPublicKeyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeoutsOutputReference">OsLoginSshPublicKeyTimeoutsOutputReference</a>

---

##### `expirationTimeUsecInput`<sup>Optional</sup> <a name="expirationTimeUsecInput" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.expirationTimeUsecInput"></a>

```typescript
public readonly expirationTimeUsecInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `keyInput`<sup>Optional</sup> <a name="keyInput" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.keyInput"></a>

```typescript
public readonly keyInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | OsLoginSshPublicKeyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts">OsLoginSshPublicKeyTimeouts</a>

---

##### `userInput`<sup>Optional</sup> <a name="userInput" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.userInput"></a>

```typescript
public readonly userInput: string;
```

- *Type:* string

---

##### `expirationTimeUsec`<sup>Required</sup> <a name="expirationTimeUsec" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.expirationTimeUsec"></a>

```typescript
public readonly expirationTimeUsec: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `user`<sup>Required</sup> <a name="user" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.user"></a>

```typescript
public readonly user: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.OsLoginSshPublicKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCaPool <a name="PrivatecaCaPool" id="@dschmidt/provider-google.PrivatecaCaPool"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool google_privateca_ca_pool}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCaPool.Initializer"></a>

```typescript
import { PrivatecaCaPool } from '@dschmidt/provider-google'

new PrivatecaCaPool(scope: Construct, id: string, config: PrivatecaCaPoolConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig">PrivatecaCaPoolConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCaPool.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPool.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCaPool.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig">PrivatecaCaPoolConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.putIssuancePolicy">putIssuancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.putPublishingOptions">putPublishingOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.resetIssuancePolicy">resetIssuancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.resetPublishingOptions">resetPublishingOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCaPool.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCaPool.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCaPool.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPool.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCaPool.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCaPool.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCaPool.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCaPool.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCaPool.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPool.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putIssuancePolicy` <a name="putIssuancePolicy" id="@dschmidt/provider-google.PrivatecaCaPool.putIssuancePolicy"></a>

```typescript
public putIssuancePolicy(value: PrivatecaCaPoolIssuancePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPool.putIssuancePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy">PrivatecaCaPoolIssuancePolicy</a>

---

##### `putPublishingOptions` <a name="putPublishingOptions" id="@dschmidt/provider-google.PrivatecaCaPool.putPublishingOptions"></a>

```typescript
public putPublishingOptions(value: PrivatecaCaPoolPublishingOptions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPool.putPublishingOptions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions">PrivatecaCaPoolPublishingOptions</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PrivatecaCaPool.putTimeouts"></a>

```typescript
public putTimeouts(value: PrivatecaCaPoolTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPool.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeouts">PrivatecaCaPoolTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCaPool.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIssuancePolicy` <a name="resetIssuancePolicy" id="@dschmidt/provider-google.PrivatecaCaPool.resetIssuancePolicy"></a>

```typescript
public resetIssuancePolicy(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.PrivatecaCaPool.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCaPool.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPublishingOptions` <a name="resetPublishingOptions" id="@dschmidt/provider-google.PrivatecaCaPool.resetPublishingOptions"></a>

```typescript
public resetPublishingOptions(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PrivatecaCaPool.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCaPool.isConstruct"></a>

```typescript
import { PrivatecaCaPool } from '@dschmidt/provider-google'

PrivatecaCaPool.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCaPool.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.issuancePolicy">issuancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyOutputReference">PrivatecaCaPoolIssuancePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.publishingOptions">publishingOptions</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolPublishingOptionsOutputReference">PrivatecaCaPoolPublishingOptionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeoutsOutputReference">PrivatecaCaPoolTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.issuancePolicyInput">issuancePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy">PrivatecaCaPoolIssuancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.publishingOptionsInput">publishingOptionsInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions">PrivatecaCaPoolPublishingOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.tierInput">tierInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeouts">PrivatecaCaPoolTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.tier">tier</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCaPool.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCaPool.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCaPool.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCaPool.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCaPool.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCaPool.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCaPool.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCaPool.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCaPool.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCaPool.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCaPool.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCaPool.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCaPool.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCaPool.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `issuancePolicy`<sup>Required</sup> <a name="issuancePolicy" id="@dschmidt/provider-google.PrivatecaCaPool.property.issuancePolicy"></a>

```typescript
public readonly issuancePolicy: PrivatecaCaPoolIssuancePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyOutputReference">PrivatecaCaPoolIssuancePolicyOutputReference</a>

---

##### `publishingOptions`<sup>Required</sup> <a name="publishingOptions" id="@dschmidt/provider-google.PrivatecaCaPool.property.publishingOptions"></a>

```typescript
public readonly publishingOptions: PrivatecaCaPoolPublishingOptionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolPublishingOptionsOutputReference">PrivatecaCaPoolPublishingOptionsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PrivatecaCaPool.property.timeouts"></a>

```typescript
public readonly timeouts: PrivatecaCaPoolTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeoutsOutputReference">PrivatecaCaPoolTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCaPool.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `issuancePolicyInput`<sup>Optional</sup> <a name="issuancePolicyInput" id="@dschmidt/provider-google.PrivatecaCaPool.property.issuancePolicyInput"></a>

```typescript
public readonly issuancePolicyInput: PrivatecaCaPoolIssuancePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy">PrivatecaCaPoolIssuancePolicy</a>

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.PrivatecaCaPool.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCaPool.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.PrivatecaCaPool.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCaPool.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `publishingOptionsInput`<sup>Optional</sup> <a name="publishingOptionsInput" id="@dschmidt/provider-google.PrivatecaCaPool.property.publishingOptionsInput"></a>

```typescript
public readonly publishingOptionsInput: PrivatecaCaPoolPublishingOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions">PrivatecaCaPoolPublishingOptions</a>

---

##### `tierInput`<sup>Optional</sup> <a name="tierInput" id="@dschmidt/provider-google.PrivatecaCaPool.property.tierInput"></a>

```typescript
public readonly tierInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PrivatecaCaPool.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PrivatecaCaPoolTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeouts">PrivatecaCaPoolTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPool.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.PrivatecaCaPool.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCaPool.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PrivatecaCaPool.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCaPool.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.PrivatecaCaPool.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPool.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCaPool.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCaPoolIamBinding <a name="PrivatecaCaPoolIamBinding" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding google_privateca_ca_pool_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.Initializer"></a>

```typescript
import { PrivatecaCaPoolIamBinding } from '@dschmidt/provider-google'

new PrivatecaCaPoolIamBinding(scope: Construct, id: string, config: PrivatecaCaPoolIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig">PrivatecaCaPoolIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig">PrivatecaCaPoolIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.putCondition"></a>

```typescript
public putCondition(value: PrivatecaCaPoolIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition">PrivatecaCaPoolIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.isConstruct"></a>

```typescript
import { PrivatecaCaPoolIamBinding } from '@dschmidt/provider-google'

PrivatecaCaPoolIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConditionOutputReference">PrivatecaCaPoolIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.caPoolInput">caPoolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition">PrivatecaCaPoolIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.caPool">caPool</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.condition"></a>

```typescript
public readonly condition: PrivatecaCaPoolIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConditionOutputReference">PrivatecaCaPoolIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `caPoolInput`<sup>Optional</sup> <a name="caPoolInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.caPoolInput"></a>

```typescript
public readonly caPoolInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: PrivatecaCaPoolIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition">PrivatecaCaPoolIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `caPool`<sup>Required</sup> <a name="caPool" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.caPool"></a>

```typescript
public readonly caPool: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCaPoolIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCaPoolIamMember <a name="PrivatecaCaPoolIamMember" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member google_privateca_ca_pool_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.Initializer"></a>

```typescript
import { PrivatecaCaPoolIamMember } from '@dschmidt/provider-google'

new PrivatecaCaPoolIamMember(scope: Construct, id: string, config: PrivatecaCaPoolIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig">PrivatecaCaPoolIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig">PrivatecaCaPoolIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.putCondition"></a>

```typescript
public putCondition(value: PrivatecaCaPoolIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition">PrivatecaCaPoolIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.isConstruct"></a>

```typescript
import { PrivatecaCaPoolIamMember } from '@dschmidt/provider-google'

PrivatecaCaPoolIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConditionOutputReference">PrivatecaCaPoolIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.caPoolInput">caPoolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition">PrivatecaCaPoolIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.caPool">caPool</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.condition"></a>

```typescript
public readonly condition: PrivatecaCaPoolIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConditionOutputReference">PrivatecaCaPoolIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `caPoolInput`<sup>Optional</sup> <a name="caPoolInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.caPoolInput"></a>

```typescript
public readonly caPoolInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: PrivatecaCaPoolIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition">PrivatecaCaPoolIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `caPool`<sup>Required</sup> <a name="caPool" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.caPool"></a>

```typescript
public readonly caPool: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCaPoolIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCaPoolIamPolicy <a name="PrivatecaCaPoolIamPolicy" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy google_privateca_ca_pool_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.Initializer"></a>

```typescript
import { PrivatecaCaPoolIamPolicy } from '@dschmidt/provider-google'

new PrivatecaCaPoolIamPolicy(scope: Construct, id: string, config: PrivatecaCaPoolIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig">PrivatecaCaPoolIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig">PrivatecaCaPoolIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.isConstruct"></a>

```typescript
import { PrivatecaCaPoolIamPolicy } from '@dschmidt/provider-google'

PrivatecaCaPoolIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.caPoolInput">caPoolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.caPool">caPool</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `caPoolInput`<sup>Optional</sup> <a name="caPoolInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.caPoolInput"></a>

```typescript
public readonly caPoolInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `caPool`<sup>Required</sup> <a name="caPool" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.caPool"></a>

```typescript
public readonly caPool: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCertificate <a name="PrivatecaCertificate" id="@dschmidt/provider-google.PrivatecaCertificate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate google_privateca_certificate}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCertificate.Initializer"></a>

```typescript
import { PrivatecaCertificate } from '@dschmidt/provider-google'

new PrivatecaCertificate(scope: Construct, id: string, config: PrivatecaCertificateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig">PrivatecaCertificateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCertificate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfig">PrivatecaCertificateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.putConfig">putConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetCertificateAuthority">resetCertificateAuthority</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetCertificateTemplate">resetCertificateTemplate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetConfig">resetConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetLifetime">resetLifetime</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetPemCsr">resetPemCsr</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCertificate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCertificate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCertificate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCertificate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCertificate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCertificate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putConfig` <a name="putConfig" id="@dschmidt/provider-google.PrivatecaCertificate.putConfig"></a>

```typescript
public putConfig(value: PrivatecaCertificateConfigA): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificate.putConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigA">PrivatecaCertificateConfigA</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PrivatecaCertificate.putTimeouts"></a>

```typescript
public putTimeouts(value: PrivatecaCertificateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTimeouts">PrivatecaCertificateTimeouts</a>

---

##### `resetCertificateAuthority` <a name="resetCertificateAuthority" id="@dschmidt/provider-google.PrivatecaCertificate.resetCertificateAuthority"></a>

```typescript
public resetCertificateAuthority(): void
```

##### `resetCertificateTemplate` <a name="resetCertificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificate.resetCertificateTemplate"></a>

```typescript
public resetCertificateTemplate(): void
```

##### `resetConfig` <a name="resetConfig" id="@dschmidt/provider-google.PrivatecaCertificate.resetConfig"></a>

```typescript
public resetConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCertificate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.PrivatecaCertificate.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLifetime` <a name="resetLifetime" id="@dschmidt/provider-google.PrivatecaCertificate.resetLifetime"></a>

```typescript
public resetLifetime(): void
```

##### `resetPemCsr` <a name="resetPemCsr" id="@dschmidt/provider-google.PrivatecaCertificate.resetPemCsr"></a>

```typescript
public resetPemCsr(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCertificate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PrivatecaCertificate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCertificate.isConstruct"></a>

```typescript
import { PrivatecaCertificate } from '@dschmidt/provider-google'

PrivatecaCertificate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCertificate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.certificateDescription">certificateDescription</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionList">PrivatecaCertificateCertificateDescriptionList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigAOutputReference">PrivatecaCertificateConfigAOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.issuerCertificateAuthority">issuerCertificateAuthority</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.pemCertificate">pemCertificate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.pemCertificateChain">pemCertificateChain</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.pemCertificates">pemCertificates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.revocationDetails">revocationDetails</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateRevocationDetailsList">PrivatecaCertificateRevocationDetailsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTimeoutsOutputReference">PrivatecaCertificateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.certificateAuthorityInput">certificateAuthorityInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.certificateTemplateInput">certificateTemplateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.configInput">configInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigA">PrivatecaCertificateConfigA</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.lifetimeInput">lifetimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.pemCsrInput">pemCsrInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.poolInput">poolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateTimeouts">PrivatecaCertificateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.certificateAuthority">certificateAuthority</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.certificateTemplate">certificateTemplate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.lifetime">lifetime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.pemCsr">pemCsr</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.pool">pool</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCertificate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCertificate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCertificate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCertificate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCertificate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCertificate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCertificate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificateDescription`<sup>Required</sup> <a name="certificateDescription" id="@dschmidt/provider-google.PrivatecaCertificate.property.certificateDescription"></a>

```typescript
public readonly certificateDescription: PrivatecaCertificateCertificateDescriptionList;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionList">PrivatecaCertificateCertificateDescriptionList</a>

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificate.property.config"></a>

```typescript
public readonly config: PrivatecaCertificateConfigAOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigAOutputReference">PrivatecaCertificateConfigAOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.PrivatecaCertificate.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `issuerCertificateAuthority`<sup>Required</sup> <a name="issuerCertificateAuthority" id="@dschmidt/provider-google.PrivatecaCertificate.property.issuerCertificateAuthority"></a>

```typescript
public readonly issuerCertificateAuthority: string;
```

- *Type:* string

---

##### `pemCertificate`<sup>Required</sup> <a name="pemCertificate" id="@dschmidt/provider-google.PrivatecaCertificate.property.pemCertificate"></a>

```typescript
public readonly pemCertificate: string;
```

- *Type:* string

---

##### `pemCertificateChain`<sup>Required</sup> <a name="pemCertificateChain" id="@dschmidt/provider-google.PrivatecaCertificate.property.pemCertificateChain"></a>

```typescript
public readonly pemCertificateChain: string[];
```

- *Type:* string[]

---

##### `pemCertificates`<sup>Required</sup> <a name="pemCertificates" id="@dschmidt/provider-google.PrivatecaCertificate.property.pemCertificates"></a>

```typescript
public readonly pemCertificates: string[];
```

- *Type:* string[]

---

##### `revocationDetails`<sup>Required</sup> <a name="revocationDetails" id="@dschmidt/provider-google.PrivatecaCertificate.property.revocationDetails"></a>

```typescript
public readonly revocationDetails: PrivatecaCertificateRevocationDetailsList;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateRevocationDetailsList">PrivatecaCertificateRevocationDetailsList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PrivatecaCertificate.property.timeouts"></a>

```typescript
public readonly timeouts: PrivatecaCertificateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTimeoutsOutputReference">PrivatecaCertificateTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.PrivatecaCertificate.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `certificateAuthorityInput`<sup>Optional</sup> <a name="certificateAuthorityInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.certificateAuthorityInput"></a>

```typescript
public readonly certificateAuthorityInput: string;
```

- *Type:* string

---

##### `certificateTemplateInput`<sup>Optional</sup> <a name="certificateTemplateInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.certificateTemplateInput"></a>

```typescript
public readonly certificateTemplateInput: string;
```

- *Type:* string

---

##### `configInput`<sup>Optional</sup> <a name="configInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.configInput"></a>

```typescript
public readonly configInput: PrivatecaCertificateConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigA">PrivatecaCertificateConfigA</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `lifetimeInput`<sup>Optional</sup> <a name="lifetimeInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.lifetimeInput"></a>

```typescript
public readonly lifetimeInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `pemCsrInput`<sup>Optional</sup> <a name="pemCsrInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.pemCsrInput"></a>

```typescript
public readonly pemCsrInput: string;
```

- *Type:* string

---

##### `poolInput`<sup>Optional</sup> <a name="poolInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.poolInput"></a>

```typescript
public readonly poolInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PrivatecaCertificate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PrivatecaCertificateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateTimeouts">PrivatecaCertificateTimeouts</a>

---

##### `certificateAuthority`<sup>Required</sup> <a name="certificateAuthority" id="@dschmidt/provider-google.PrivatecaCertificate.property.certificateAuthority"></a>

```typescript
public readonly certificateAuthority: string;
```

- *Type:* string

---

##### `certificateTemplate`<sup>Required</sup> <a name="certificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificate.property.certificateTemplate"></a>

```typescript
public readonly certificateTemplate: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.PrivatecaCertificate.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `lifetime`<sup>Required</sup> <a name="lifetime" id="@dschmidt/provider-google.PrivatecaCertificate.property.lifetime"></a>

```typescript
public readonly lifetime: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificate.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PrivatecaCertificate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `pemCsr`<sup>Required</sup> <a name="pemCsr" id="@dschmidt/provider-google.PrivatecaCertificate.property.pemCsr"></a>

```typescript
public readonly pemCsr: string;
```

- *Type:* string

---

##### `pool`<sup>Required</sup> <a name="pool" id="@dschmidt/provider-google.PrivatecaCertificate.property.pool"></a>

```typescript
public readonly pool: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCertificate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCertificateAuthority <a name="PrivatecaCertificateAuthority" id="@dschmidt/provider-google.PrivatecaCertificateAuthority"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority google_privateca_certificate_authority}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthority } from '@dschmidt/provider-google'

new PrivatecaCertificateAuthority(scope: Construct, id: string, config: PrivatecaCertificateAuthorityConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig">PrivatecaCertificateAuthorityConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig">PrivatecaCertificateAuthorityConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.putConfig">putConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.putKeySpec">putKeySpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.putSubordinateConfig">putSubordinateConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetDeletionProtection">resetDeletionProtection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetDesiredState">resetDesiredState</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetGcsBucket">resetGcsBucket</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetIgnoreActiveCertificatesOnDeletion">resetIgnoreActiveCertificatesOnDeletion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetLifetime">resetLifetime</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetPemCaCertificate">resetPemCaCertificate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetSubordinateConfig">resetSubordinateConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.resetType">resetType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putConfig` <a name="putConfig" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.putConfig"></a>

```typescript
public putConfig(value: PrivatecaCertificateAuthorityConfigA): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.putConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA">PrivatecaCertificateAuthorityConfigA</a>

---

##### `putKeySpec` <a name="putKeySpec" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.putKeySpec"></a>

```typescript
public putKeySpec(value: PrivatecaCertificateAuthorityKeySpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.putKeySpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec">PrivatecaCertificateAuthorityKeySpec</a>

---

##### `putSubordinateConfig` <a name="putSubordinateConfig" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.putSubordinateConfig"></a>

```typescript
public putSubordinateConfig(value: PrivatecaCertificateAuthoritySubordinateConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.putSubordinateConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig">PrivatecaCertificateAuthoritySubordinateConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.putTimeouts"></a>

```typescript
public putTimeouts(value: PrivatecaCertificateAuthorityTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts">PrivatecaCertificateAuthorityTimeouts</a>

---

##### `resetDeletionProtection` <a name="resetDeletionProtection" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetDeletionProtection"></a>

```typescript
public resetDeletionProtection(): void
```

##### `resetDesiredState` <a name="resetDesiredState" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetDesiredState"></a>

```typescript
public resetDesiredState(): void
```

##### `resetGcsBucket` <a name="resetGcsBucket" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetGcsBucket"></a>

```typescript
public resetGcsBucket(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIgnoreActiveCertificatesOnDeletion` <a name="resetIgnoreActiveCertificatesOnDeletion" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetIgnoreActiveCertificatesOnDeletion"></a>

```typescript
public resetIgnoreActiveCertificatesOnDeletion(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLifetime` <a name="resetLifetime" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetLifetime"></a>

```typescript
public resetLifetime(): void
```

##### `resetPemCaCertificate` <a name="resetPemCaCertificate" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetPemCaCertificate"></a>

```typescript
public resetPemCaCertificate(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSubordinateConfig` <a name="resetSubordinateConfig" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetSubordinateConfig"></a>

```typescript
public resetSubordinateConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.resetType"></a>

```typescript
public resetType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.isConstruct"></a>

```typescript
import { PrivatecaCertificateAuthority } from '@dschmidt/provider-google'

PrivatecaCertificateAuthority.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.accessUrls">accessUrls</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityAccessUrlsList">PrivatecaCertificateAuthorityAccessUrlsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigAOutputReference">PrivatecaCertificateAuthorityConfigAOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.keySpec">keySpec</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpecOutputReference">PrivatecaCertificateAuthorityKeySpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.pemCaCertificates">pemCaCertificates</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.subordinateConfig">subordinateConfig</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfigOutputReference">PrivatecaCertificateAuthoritySubordinateConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeoutsOutputReference">PrivatecaCertificateAuthorityTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.certificateAuthorityIdInput">certificateAuthorityIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.configInput">configInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA">PrivatecaCertificateAuthorityConfigA</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.deletionProtectionInput">deletionProtectionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.desiredStateInput">desiredStateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.gcsBucketInput">gcsBucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.ignoreActiveCertificatesOnDeletionInput">ignoreActiveCertificatesOnDeletionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.keySpecInput">keySpecInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec">PrivatecaCertificateAuthorityKeySpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.lifetimeInput">lifetimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.pemCaCertificateInput">pemCaCertificateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.poolInput">poolInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.subordinateConfigInput">subordinateConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig">PrivatecaCertificateAuthoritySubordinateConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts">PrivatecaCertificateAuthorityTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.certificateAuthorityId">certificateAuthorityId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.desiredState">desiredState</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.gcsBucket">gcsBucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.ignoreActiveCertificatesOnDeletion">ignoreActiveCertificatesOnDeletion</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.lifetime">lifetime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.pemCaCertificate">pemCaCertificate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.pool">pool</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `accessUrls`<sup>Required</sup> <a name="accessUrls" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.accessUrls"></a>

```typescript
public readonly accessUrls: PrivatecaCertificateAuthorityAccessUrlsList;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityAccessUrlsList">PrivatecaCertificateAuthorityAccessUrlsList</a>

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.config"></a>

```typescript
public readonly config: PrivatecaCertificateAuthorityConfigAOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigAOutputReference">PrivatecaCertificateAuthorityConfigAOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `keySpec`<sup>Required</sup> <a name="keySpec" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.keySpec"></a>

```typescript
public readonly keySpec: PrivatecaCertificateAuthorityKeySpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpecOutputReference">PrivatecaCertificateAuthorityKeySpecOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `pemCaCertificates`<sup>Required</sup> <a name="pemCaCertificates" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.pemCaCertificates"></a>

```typescript
public readonly pemCaCertificates: string[];
```

- *Type:* string[]

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `subordinateConfig`<sup>Required</sup> <a name="subordinateConfig" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.subordinateConfig"></a>

```typescript
public readonly subordinateConfig: PrivatecaCertificateAuthoritySubordinateConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfigOutputReference">PrivatecaCertificateAuthoritySubordinateConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.timeouts"></a>

```typescript
public readonly timeouts: PrivatecaCertificateAuthorityTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeoutsOutputReference">PrivatecaCertificateAuthorityTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `certificateAuthorityIdInput`<sup>Optional</sup> <a name="certificateAuthorityIdInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.certificateAuthorityIdInput"></a>

```typescript
public readonly certificateAuthorityIdInput: string;
```

- *Type:* string

---

##### `configInput`<sup>Optional</sup> <a name="configInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.configInput"></a>

```typescript
public readonly configInput: PrivatecaCertificateAuthorityConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA">PrivatecaCertificateAuthorityConfigA</a>

---

##### `deletionProtectionInput`<sup>Optional</sup> <a name="deletionProtectionInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.deletionProtectionInput"></a>

```typescript
public readonly deletionProtectionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `desiredStateInput`<sup>Optional</sup> <a name="desiredStateInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.desiredStateInput"></a>

```typescript
public readonly desiredStateInput: string;
```

- *Type:* string

---

##### `gcsBucketInput`<sup>Optional</sup> <a name="gcsBucketInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.gcsBucketInput"></a>

```typescript
public readonly gcsBucketInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ignoreActiveCertificatesOnDeletionInput`<sup>Optional</sup> <a name="ignoreActiveCertificatesOnDeletionInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.ignoreActiveCertificatesOnDeletionInput"></a>

```typescript
public readonly ignoreActiveCertificatesOnDeletionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `keySpecInput`<sup>Optional</sup> <a name="keySpecInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.keySpecInput"></a>

```typescript
public readonly keySpecInput: PrivatecaCertificateAuthorityKeySpec;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec">PrivatecaCertificateAuthorityKeySpec</a>

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `lifetimeInput`<sup>Optional</sup> <a name="lifetimeInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.lifetimeInput"></a>

```typescript
public readonly lifetimeInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `pemCaCertificateInput`<sup>Optional</sup> <a name="pemCaCertificateInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.pemCaCertificateInput"></a>

```typescript
public readonly pemCaCertificateInput: string;
```

- *Type:* string

---

##### `poolInput`<sup>Optional</sup> <a name="poolInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.poolInput"></a>

```typescript
public readonly poolInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `subordinateConfigInput`<sup>Optional</sup> <a name="subordinateConfigInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.subordinateConfigInput"></a>

```typescript
public readonly subordinateConfigInput: PrivatecaCertificateAuthoritySubordinateConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig">PrivatecaCertificateAuthoritySubordinateConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PrivatecaCertificateAuthorityTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts">PrivatecaCertificateAuthorityTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `certificateAuthorityId`<sup>Required</sup> <a name="certificateAuthorityId" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.certificateAuthorityId"></a>

```typescript
public readonly certificateAuthorityId: string;
```

- *Type:* string

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `desiredState`<sup>Required</sup> <a name="desiredState" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.desiredState"></a>

```typescript
public readonly desiredState: string;
```

- *Type:* string

---

##### `gcsBucket`<sup>Required</sup> <a name="gcsBucket" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.gcsBucket"></a>

```typescript
public readonly gcsBucket: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ignoreActiveCertificatesOnDeletion`<sup>Required</sup> <a name="ignoreActiveCertificatesOnDeletion" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.ignoreActiveCertificatesOnDeletion"></a>

```typescript
public readonly ignoreActiveCertificatesOnDeletion: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `lifetime`<sup>Required</sup> <a name="lifetime" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.lifetime"></a>

```typescript
public readonly lifetime: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `pemCaCertificate`<sup>Required</sup> <a name="pemCaCertificate" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.pemCaCertificate"></a>

```typescript
public readonly pemCaCertificate: string;
```

- *Type:* string

---

##### `pool`<sup>Required</sup> <a name="pool" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.pool"></a>

```typescript
public readonly pool: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthority.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCertificateAuthority.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCertificateTemplate <a name="PrivatecaCertificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificateTemplate"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template google_privateca_certificate_template}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplate } from '@dschmidt/provider-google'

new PrivatecaCertificateTemplate(scope: Construct, id: string, config: PrivatecaCertificateTemplateConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig">PrivatecaCertificateTemplateConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig">PrivatecaCertificateTemplateConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.putIdentityConstraints">putIdentityConstraints</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.putPassthroughExtensions">putPassthroughExtensions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.putPredefinedValues">putPredefinedValues</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.resetIdentityConstraints">resetIdentityConstraints</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.resetPassthroughExtensions">resetPassthroughExtensions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.resetPredefinedValues">resetPredefinedValues</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putIdentityConstraints` <a name="putIdentityConstraints" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.putIdentityConstraints"></a>

```typescript
public putIdentityConstraints(value: PrivatecaCertificateTemplateIdentityConstraints): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.putIdentityConstraints.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints">PrivatecaCertificateTemplateIdentityConstraints</a>

---

##### `putPassthroughExtensions` <a name="putPassthroughExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.putPassthroughExtensions"></a>

```typescript
public putPassthroughExtensions(value: PrivatecaCertificateTemplatePassthroughExtensions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.putPassthroughExtensions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions">PrivatecaCertificateTemplatePassthroughExtensions</a>

---

##### `putPredefinedValues` <a name="putPredefinedValues" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.putPredefinedValues"></a>

```typescript
public putPredefinedValues(value: PrivatecaCertificateTemplatePredefinedValues): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.putPredefinedValues.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues">PrivatecaCertificateTemplatePredefinedValues</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.putTimeouts"></a>

```typescript
public putTimeouts(value: PrivatecaCertificateTemplateTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts">PrivatecaCertificateTemplateTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIdentityConstraints` <a name="resetIdentityConstraints" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.resetIdentityConstraints"></a>

```typescript
public resetIdentityConstraints(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetPassthroughExtensions` <a name="resetPassthroughExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.resetPassthroughExtensions"></a>

```typescript
public resetPassthroughExtensions(): void
```

##### `resetPredefinedValues` <a name="resetPredefinedValues" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.resetPredefinedValues"></a>

```typescript
public resetPredefinedValues(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.isConstruct"></a>

```typescript
import { PrivatecaCertificateTemplate } from '@dschmidt/provider-google'

PrivatecaCertificateTemplate.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.identityConstraints">identityConstraints</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsOutputReference">PrivatecaCertificateTemplateIdentityConstraintsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.passthroughExtensions">passthroughExtensions</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensionsOutputReference">PrivatecaCertificateTemplatePassthroughExtensionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.predefinedValues">predefinedValues</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesOutputReference">PrivatecaCertificateTemplatePredefinedValuesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeoutsOutputReference">PrivatecaCertificateTemplateTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.identityConstraintsInput">identityConstraintsInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints">PrivatecaCertificateTemplateIdentityConstraints</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.passthroughExtensionsInput">passthroughExtensionsInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions">PrivatecaCertificateTemplatePassthroughExtensions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.predefinedValuesInput">predefinedValuesInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues">PrivatecaCertificateTemplatePredefinedValues</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts">PrivatecaCertificateTemplateTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `identityConstraints`<sup>Required</sup> <a name="identityConstraints" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.identityConstraints"></a>

```typescript
public readonly identityConstraints: PrivatecaCertificateTemplateIdentityConstraintsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsOutputReference">PrivatecaCertificateTemplateIdentityConstraintsOutputReference</a>

---

##### `passthroughExtensions`<sup>Required</sup> <a name="passthroughExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.passthroughExtensions"></a>

```typescript
public readonly passthroughExtensions: PrivatecaCertificateTemplatePassthroughExtensionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensionsOutputReference">PrivatecaCertificateTemplatePassthroughExtensionsOutputReference</a>

---

##### `predefinedValues`<sup>Required</sup> <a name="predefinedValues" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.predefinedValues"></a>

```typescript
public readonly predefinedValues: PrivatecaCertificateTemplatePredefinedValuesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesOutputReference">PrivatecaCertificateTemplatePredefinedValuesOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.timeouts"></a>

```typescript
public readonly timeouts: PrivatecaCertificateTemplateTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeoutsOutputReference">PrivatecaCertificateTemplateTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `identityConstraintsInput`<sup>Optional</sup> <a name="identityConstraintsInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.identityConstraintsInput"></a>

```typescript
public readonly identityConstraintsInput: PrivatecaCertificateTemplateIdentityConstraints;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints">PrivatecaCertificateTemplateIdentityConstraints</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `passthroughExtensionsInput`<sup>Optional</sup> <a name="passthroughExtensionsInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.passthroughExtensionsInput"></a>

```typescript
public readonly passthroughExtensionsInput: PrivatecaCertificateTemplatePassthroughExtensions;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions">PrivatecaCertificateTemplatePassthroughExtensions</a>

---

##### `predefinedValuesInput`<sup>Optional</sup> <a name="predefinedValuesInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.predefinedValuesInput"></a>

```typescript
public readonly predefinedValuesInput: PrivatecaCertificateTemplatePredefinedValues;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues">PrivatecaCertificateTemplatePredefinedValues</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PrivatecaCertificateTemplateTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts">PrivatecaCertificateTemplateTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplate.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCertificateTemplate.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCertificateTemplateIamBinding <a name="PrivatecaCertificateTemplateIamBinding" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding google_privateca_certificate_template_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIamBinding } from '@dschmidt/provider-google'

new PrivatecaCertificateTemplateIamBinding(scope: Construct, id: string, config: PrivatecaCertificateTemplateIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig">PrivatecaCertificateTemplateIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig">PrivatecaCertificateTemplateIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.putCondition"></a>

```typescript
public putCondition(value: PrivatecaCertificateTemplateIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition">PrivatecaCertificateTemplateIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.isConstruct"></a>

```typescript
import { PrivatecaCertificateTemplateIamBinding } from '@dschmidt/provider-google'

PrivatecaCertificateTemplateIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConditionOutputReference">PrivatecaCertificateTemplateIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.certificateTemplateInput">certificateTemplateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition">PrivatecaCertificateTemplateIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.certificateTemplate">certificateTemplate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.condition"></a>

```typescript
public readonly condition: PrivatecaCertificateTemplateIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConditionOutputReference">PrivatecaCertificateTemplateIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `certificateTemplateInput`<sup>Optional</sup> <a name="certificateTemplateInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.certificateTemplateInput"></a>

```typescript
public readonly certificateTemplateInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: PrivatecaCertificateTemplateIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition">PrivatecaCertificateTemplateIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `certificateTemplate`<sup>Required</sup> <a name="certificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.certificateTemplate"></a>

```typescript
public readonly certificateTemplate: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCertificateTemplateIamMember <a name="PrivatecaCertificateTemplateIamMember" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member google_privateca_certificate_template_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIamMember } from '@dschmidt/provider-google'

new PrivatecaCertificateTemplateIamMember(scope: Construct, id: string, config: PrivatecaCertificateTemplateIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig">PrivatecaCertificateTemplateIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig">PrivatecaCertificateTemplateIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.putCondition"></a>

```typescript
public putCondition(value: PrivatecaCertificateTemplateIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition">PrivatecaCertificateTemplateIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.isConstruct"></a>

```typescript
import { PrivatecaCertificateTemplateIamMember } from '@dschmidt/provider-google'

PrivatecaCertificateTemplateIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConditionOutputReference">PrivatecaCertificateTemplateIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.certificateTemplateInput">certificateTemplateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition">PrivatecaCertificateTemplateIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.certificateTemplate">certificateTemplate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.condition"></a>

```typescript
public readonly condition: PrivatecaCertificateTemplateIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConditionOutputReference">PrivatecaCertificateTemplateIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `certificateTemplateInput`<sup>Optional</sup> <a name="certificateTemplateInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.certificateTemplateInput"></a>

```typescript
public readonly certificateTemplateInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: PrivatecaCertificateTemplateIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition">PrivatecaCertificateTemplateIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `certificateTemplate`<sup>Required</sup> <a name="certificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.certificateTemplate"></a>

```typescript
public readonly certificateTemplate: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PrivatecaCertificateTemplateIamPolicy <a name="PrivatecaCertificateTemplateIamPolicy" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy google_privateca_certificate_template_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIamPolicy } from '@dschmidt/provider-google'

new PrivatecaCertificateTemplateIamPolicy(scope: Construct, id: string, config: PrivatecaCertificateTemplateIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig">PrivatecaCertificateTemplateIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig">PrivatecaCertificateTemplateIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.isConstruct"></a>

```typescript
import { PrivatecaCertificateTemplateIamPolicy } from '@dschmidt/provider-google'

PrivatecaCertificateTemplateIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.certificateTemplateInput">certificateTemplateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.certificateTemplate">certificateTemplate</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `certificateTemplateInput`<sup>Optional</sup> <a name="certificateTemplateInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.certificateTemplateInput"></a>

```typescript
public readonly certificateTemplateInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `certificateTemplate`<sup>Required</sup> <a name="certificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.certificateTemplate"></a>

```typescript
public readonly certificateTemplate: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### Project <a name="Project" id="@dschmidt/provider-google.Project"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project google_project}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.Project.Initializer"></a>

```typescript
import { Project } from '@dschmidt/provider-google'

new Project(scope: Construct, id: string, config: ProjectConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Project.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.Project.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.Project.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectConfig">ProjectConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.Project.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Project.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.Project.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectConfig">ProjectConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Project.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.Project.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.Project.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.Project.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.Project.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.resetAutoCreateNetwork">resetAutoCreateNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.resetBillingAccount">resetBillingAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.resetFolderId">resetFolderId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.resetOrgId">resetOrgId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.resetSkipDelete">resetSkipDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.Project.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.Project.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.Project.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Project.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.Project.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.Project.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.Project.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.Project.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.Project.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.Project.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.Project.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.Project.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.Project.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.Project.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.Project.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.Project.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.Project.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.Project.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.Project.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.Project.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.Project.putTimeouts"></a>

```typescript
public putTimeouts(value: ProjectTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Project.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectTimeouts">ProjectTimeouts</a>

---

##### `resetAutoCreateNetwork` <a name="resetAutoCreateNetwork" id="@dschmidt/provider-google.Project.resetAutoCreateNetwork"></a>

```typescript
public resetAutoCreateNetwork(): void
```

##### `resetBillingAccount` <a name="resetBillingAccount" id="@dschmidt/provider-google.Project.resetBillingAccount"></a>

```typescript
public resetBillingAccount(): void
```

##### `resetFolderId` <a name="resetFolderId" id="@dschmidt/provider-google.Project.resetFolderId"></a>

```typescript
public resetFolderId(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.Project.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.Project.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetOrgId` <a name="resetOrgId" id="@dschmidt/provider-google.Project.resetOrgId"></a>

```typescript
public resetOrgId(): void
```

##### `resetSkipDelete` <a name="resetSkipDelete" id="@dschmidt/provider-google.Project.resetSkipDelete"></a>

```typescript
public resetSkipDelete(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.Project.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.Project.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.Project.isConstruct"></a>

```typescript
import { Project } from '@dschmidt/provider-google'

Project.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.Project.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Project.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.Project.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.number">number</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectTimeoutsOutputReference">ProjectTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.autoCreateNetworkInput">autoCreateNetworkInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.billingAccountInput">billingAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.folderIdInput">folderIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.orgIdInput">orgIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.projectIdInput">projectIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.skipDeleteInput">skipDeleteInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectTimeouts">ProjectTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.autoCreateNetwork">autoCreateNetwork</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.billingAccount">billingAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.folderId">folderId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.orgId">orgId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.projectId">projectId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Project.property.skipDelete">skipDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.Project.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.Project.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.Project.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.Project.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.Project.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.Project.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.Project.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Project.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Project.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Project.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Project.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Project.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Project.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Project.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `number`<sup>Required</sup> <a name="number" id="@dschmidt/provider-google.Project.property.number"></a>

```typescript
public readonly number: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.Project.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectTimeoutsOutputReference">ProjectTimeoutsOutputReference</a>

---

##### `autoCreateNetworkInput`<sup>Optional</sup> <a name="autoCreateNetworkInput" id="@dschmidt/provider-google.Project.property.autoCreateNetworkInput"></a>

```typescript
public readonly autoCreateNetworkInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `billingAccountInput`<sup>Optional</sup> <a name="billingAccountInput" id="@dschmidt/provider-google.Project.property.billingAccountInput"></a>

```typescript
public readonly billingAccountInput: string;
```

- *Type:* string

---

##### `folderIdInput`<sup>Optional</sup> <a name="folderIdInput" id="@dschmidt/provider-google.Project.property.folderIdInput"></a>

```typescript
public readonly folderIdInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.Project.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.Project.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.Project.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `orgIdInput`<sup>Optional</sup> <a name="orgIdInput" id="@dschmidt/provider-google.Project.property.orgIdInput"></a>

```typescript
public readonly orgIdInput: string;
```

- *Type:* string

---

##### `projectIdInput`<sup>Optional</sup> <a name="projectIdInput" id="@dschmidt/provider-google.Project.property.projectIdInput"></a>

```typescript
public readonly projectIdInput: string;
```

- *Type:* string

---

##### `skipDeleteInput`<sup>Optional</sup> <a name="skipDeleteInput" id="@dschmidt/provider-google.Project.property.skipDeleteInput"></a>

```typescript
public readonly skipDeleteInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.Project.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ProjectTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectTimeouts">ProjectTimeouts</a>

---

##### `autoCreateNetwork`<sup>Required</sup> <a name="autoCreateNetwork" id="@dschmidt/provider-google.Project.property.autoCreateNetwork"></a>

```typescript
public readonly autoCreateNetwork: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.Project.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

---

##### `folderId`<sup>Required</sup> <a name="folderId" id="@dschmidt/provider-google.Project.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.Project.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.Project.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.Project.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.Project.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.Project.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

---

##### `skipDelete`<sup>Required</sup> <a name="skipDelete" id="@dschmidt/provider-google.Project.property.skipDelete"></a>

```typescript
public readonly skipDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Project.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.Project.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectAccessApprovalSettings <a name="ProjectAccessApprovalSettings" id="@dschmidt/provider-google.ProjectAccessApprovalSettings"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings google_project_access_approval_settings}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.Initializer"></a>

```typescript
import { ProjectAccessApprovalSettings } from '@dschmidt/provider-google'

new ProjectAccessApprovalSettings(scope: Construct, id: string, config: ProjectAccessApprovalSettingsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig">ProjectAccessApprovalSettingsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig">ProjectAccessApprovalSettingsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.putEnrolledServices">putEnrolledServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.resetActiveKeyVersion">resetActiveKeyVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.resetNotificationEmails">resetNotificationEmails</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEnrolledServices` <a name="putEnrolledServices" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.putEnrolledServices"></a>

```typescript
public putEnrolledServices(value: IResolvable | ProjectAccessApprovalSettingsEnrolledServices[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.putEnrolledServices.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices">ProjectAccessApprovalSettingsEnrolledServices</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.putTimeouts"></a>

```typescript
public putTimeouts(value: ProjectAccessApprovalSettingsTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts">ProjectAccessApprovalSettingsTimeouts</a>

---

##### `resetActiveKeyVersion` <a name="resetActiveKeyVersion" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.resetActiveKeyVersion"></a>

```typescript
public resetActiveKeyVersion(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.resetId"></a>

```typescript
public resetId(): void
```

##### `resetNotificationEmails` <a name="resetNotificationEmails" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.resetNotificationEmails"></a>

```typescript
public resetNotificationEmails(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.isConstruct"></a>

```typescript
import { ProjectAccessApprovalSettings } from '@dschmidt/provider-google'

ProjectAccessApprovalSettings.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.ancestorHasActiveKeyVersion">ancestorHasActiveKeyVersion</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.enrolledAncestor">enrolledAncestor</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.enrolledServices">enrolledServices</a></code> | <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServicesList">ProjectAccessApprovalSettingsEnrolledServicesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.invalidKeyVersion">invalidKeyVersion</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeoutsOutputReference">ProjectAccessApprovalSettingsTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.activeKeyVersionInput">activeKeyVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.enrolledServicesInput">enrolledServicesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices">ProjectAccessApprovalSettingsEnrolledServices</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.notificationEmailsInput">notificationEmailsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.projectIdInput">projectIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts">ProjectAccessApprovalSettingsTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.activeKeyVersion">activeKeyVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.notificationEmails">notificationEmails</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.projectId">projectId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `ancestorHasActiveKeyVersion`<sup>Required</sup> <a name="ancestorHasActiveKeyVersion" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.ancestorHasActiveKeyVersion"></a>

```typescript
public readonly ancestorHasActiveKeyVersion: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enrolledAncestor`<sup>Required</sup> <a name="enrolledAncestor" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.enrolledAncestor"></a>

```typescript
public readonly enrolledAncestor: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `enrolledServices`<sup>Required</sup> <a name="enrolledServices" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.enrolledServices"></a>

```typescript
public readonly enrolledServices: ProjectAccessApprovalSettingsEnrolledServicesList;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServicesList">ProjectAccessApprovalSettingsEnrolledServicesList</a>

---

##### `invalidKeyVersion`<sup>Required</sup> <a name="invalidKeyVersion" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.invalidKeyVersion"></a>

```typescript
public readonly invalidKeyVersion: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectAccessApprovalSettingsTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeoutsOutputReference">ProjectAccessApprovalSettingsTimeoutsOutputReference</a>

---

##### `activeKeyVersionInput`<sup>Optional</sup> <a name="activeKeyVersionInput" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.activeKeyVersionInput"></a>

```typescript
public readonly activeKeyVersionInput: string;
```

- *Type:* string

---

##### `enrolledServicesInput`<sup>Optional</sup> <a name="enrolledServicesInput" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.enrolledServicesInput"></a>

```typescript
public readonly enrolledServicesInput: IResolvable | ProjectAccessApprovalSettingsEnrolledServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices">ProjectAccessApprovalSettingsEnrolledServices</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `notificationEmailsInput`<sup>Optional</sup> <a name="notificationEmailsInput" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.notificationEmailsInput"></a>

```typescript
public readonly notificationEmailsInput: string[];
```

- *Type:* string[]

---

##### `projectIdInput`<sup>Optional</sup> <a name="projectIdInput" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.projectIdInput"></a>

```typescript
public readonly projectIdInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ProjectAccessApprovalSettingsTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts">ProjectAccessApprovalSettingsTimeouts</a>

---

##### `activeKeyVersion`<sup>Required</sup> <a name="activeKeyVersion" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.activeKeyVersion"></a>

```typescript
public readonly activeKeyVersion: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `notificationEmails`<sup>Required</sup> <a name="notificationEmails" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.notificationEmails"></a>

```typescript
public readonly notificationEmails: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettings.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectAccessApprovalSettings.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectDefaultServiceAccounts <a name="ProjectDefaultServiceAccounts" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts google_project_default_service_accounts}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.Initializer"></a>

```typescript
import { ProjectDefaultServiceAccounts } from '@dschmidt/provider-google'

new ProjectDefaultServiceAccounts(scope: Construct, id: string, config: ProjectDefaultServiceAccountsConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig">ProjectDefaultServiceAccountsConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig">ProjectDefaultServiceAccountsConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.resetRestorePolicy">resetRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.putTimeouts"></a>

```typescript
public putTimeouts(value: ProjectDefaultServiceAccountsTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts">ProjectDefaultServiceAccountsTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.resetId"></a>

```typescript
public resetId(): void
```

##### `resetRestorePolicy` <a name="resetRestorePolicy" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.resetRestorePolicy"></a>

```typescript
public resetRestorePolicy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.isConstruct"></a>

```typescript
import { ProjectDefaultServiceAccounts } from '@dschmidt/provider-google'

ProjectDefaultServiceAccounts.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.serviceAccounts">serviceAccounts</a></code> | <code>cdktf.StringMap</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeoutsOutputReference">ProjectDefaultServiceAccountsTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.actionInput">actionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.restorePolicyInput">restorePolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts">ProjectDefaultServiceAccountsTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.restorePolicy">restorePolicy</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `serviceAccounts`<sup>Required</sup> <a name="serviceAccounts" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.serviceAccounts"></a>

```typescript
public readonly serviceAccounts: StringMap;
```

- *Type:* cdktf.StringMap

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectDefaultServiceAccountsTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeoutsOutputReference">ProjectDefaultServiceAccountsTimeoutsOutputReference</a>

---

##### `actionInput`<sup>Optional</sup> <a name="actionInput" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.actionInput"></a>

```typescript
public readonly actionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `restorePolicyInput`<sup>Optional</sup> <a name="restorePolicyInput" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.restorePolicyInput"></a>

```typescript
public readonly restorePolicyInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ProjectDefaultServiceAccountsTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts">ProjectDefaultServiceAccountsTimeouts</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `restorePolicy`<sup>Required</sup> <a name="restorePolicy" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectDefaultServiceAccounts.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectIamAuditConfig <a name="ProjectIamAuditConfig" id="@dschmidt/provider-google.ProjectIamAuditConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_iam_audit_config google_project_iam_audit_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectIamAuditConfig.Initializer"></a>

```typescript
import { ProjectIamAuditConfig } from '@dschmidt/provider-google'

new ProjectIamAuditConfig(scope: Construct, id: string, config: ProjectIamAuditConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig">ProjectIamAuditConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectIamAuditConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamAuditConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectIamAuditConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig">ProjectIamAuditConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.putAuditLogConfig">putAuditLogConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectIamAuditConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectIamAuditConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectIamAuditConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectIamAuditConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectIamAuditConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectIamAuditConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectIamAuditConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectIamAuditConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectIamAuditConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamAuditConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAuditLogConfig` <a name="putAuditLogConfig" id="@dschmidt/provider-google.ProjectIamAuditConfig.putAuditLogConfig"></a>

```typescript
public putAuditLogConfig(value: IResolvable | ProjectIamAuditConfigAuditLogConfig[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectIamAuditConfig.putAuditLogConfig.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig">ProjectIamAuditConfigAuditLogConfig</a>[]

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectIamAuditConfig.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectIamAuditConfig.isConstruct"></a>

```typescript
import { ProjectIamAuditConfig } from '@dschmidt/provider-google'

ProjectIamAuditConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectIamAuditConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.auditLogConfig">auditLogConfig</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfigList">ProjectIamAuditConfigAuditLogConfigList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.auditLogConfigInput">auditLogConfigInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig">ProjectIamAuditConfigAuditLogConfig</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `auditLogConfig`<sup>Required</sup> <a name="auditLogConfig" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.auditLogConfig"></a>

```typescript
public readonly auditLogConfig: ProjectIamAuditConfigAuditLogConfigList;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfigList">ProjectIamAuditConfigAuditLogConfigList</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `auditLogConfigInput`<sup>Optional</sup> <a name="auditLogConfigInput" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.auditLogConfigInput"></a>

```typescript
public readonly auditLogConfigInput: IResolvable | ProjectIamAuditConfigAuditLogConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig">ProjectIamAuditConfigAuditLogConfig</a>[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectIamAuditConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectIamBinding <a name="ProjectIamBinding" id="@dschmidt/provider-google.ProjectIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding google_project_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectIamBinding.Initializer"></a>

```typescript
import { ProjectIamBinding } from '@dschmidt/provider-google'

new ProjectIamBinding(scope: Construct, id: string, config: ProjectIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig">ProjectIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamBindingConfig">ProjectIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ProjectIamBinding.putCondition"></a>

```typescript
public putCondition(value: ProjectIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamBindingCondition">ProjectIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ProjectIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectIamBinding.isConstruct"></a>

```typescript
import { ProjectIamBinding } from '@dschmidt/provider-google'

ProjectIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamBindingConditionOutputReference">ProjectIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamBindingCondition">ProjectIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ProjectIamBinding.property.condition"></a>

```typescript
public readonly condition: ProjectIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamBindingConditionOutputReference">ProjectIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ProjectIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ProjectIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ProjectIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamBindingCondition">ProjectIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ProjectIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ProjectIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ProjectIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ProjectIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectIamCustomRole <a name="ProjectIamCustomRole" id="@dschmidt/provider-google.ProjectIamCustomRole"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_iam_custom_role google_project_iam_custom_role}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectIamCustomRole.Initializer"></a>

```typescript
import { ProjectIamCustomRole } from '@dschmidt/provider-google'

new ProjectIamCustomRole(scope: Construct, id: string, config: ProjectIamCustomRoleConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig">ProjectIamCustomRoleConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectIamCustomRole.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamCustomRole.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectIamCustomRole.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig">ProjectIamCustomRoleConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.resetStage">resetStage</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectIamCustomRole.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectIamCustomRole.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectIamCustomRole.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectIamCustomRole.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectIamCustomRole.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectIamCustomRole.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectIamCustomRole.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectIamCustomRole.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectIamCustomRole.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamCustomRole.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ProjectIamCustomRole.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectIamCustomRole.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ProjectIamCustomRole.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetStage` <a name="resetStage" id="@dschmidt/provider-google.ProjectIamCustomRole.resetStage"></a>

```typescript
public resetStage(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectIamCustomRole.isConstruct"></a>

```typescript
import { ProjectIamCustomRole } from '@dschmidt/provider-google'

ProjectIamCustomRole.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectIamCustomRole.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.deleted">deleted</a></code> | <code>cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.permissionsInput">permissionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.roleIdInput">roleIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.stageInput">stageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.permissions">permissions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.roleId">roleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.stage">stage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectIamCustomRole.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectIamCustomRole.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectIamCustomRole.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectIamCustomRole.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectIamCustomRole.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectIamCustomRole.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectIamCustomRole.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamCustomRole.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamCustomRole.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamCustomRole.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamCustomRole.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamCustomRole.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamCustomRole.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamCustomRole.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `deleted`<sup>Required</sup> <a name="deleted" id="@dschmidt/provider-google.ProjectIamCustomRole.property.deleted"></a>

```typescript
public readonly deleted: IResolvable;
```

- *Type:* cdktf.IResolvable

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ProjectIamCustomRole.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ProjectIamCustomRole.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectIamCustomRole.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `permissionsInput`<sup>Optional</sup> <a name="permissionsInput" id="@dschmidt/provider-google.ProjectIamCustomRole.property.permissionsInput"></a>

```typescript
public readonly permissionsInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectIamCustomRole.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleIdInput`<sup>Optional</sup> <a name="roleIdInput" id="@dschmidt/provider-google.ProjectIamCustomRole.property.roleIdInput"></a>

```typescript
public readonly roleIdInput: string;
```

- *Type:* string

---

##### `stageInput`<sup>Optional</sup> <a name="stageInput" id="@dschmidt/provider-google.ProjectIamCustomRole.property.stageInput"></a>

```typescript
public readonly stageInput: string;
```

- *Type:* string

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.ProjectIamCustomRole.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ProjectIamCustomRole.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamCustomRole.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `permissions`<sup>Required</sup> <a name="permissions" id="@dschmidt/provider-google.ProjectIamCustomRole.property.permissions"></a>

```typescript
public readonly permissions: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamCustomRole.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `roleId`<sup>Required</sup> <a name="roleId" id="@dschmidt/provider-google.ProjectIamCustomRole.property.roleId"></a>

```typescript
public readonly roleId: string;
```

- *Type:* string

---

##### `stage`<sup>Required</sup> <a name="stage" id="@dschmidt/provider-google.ProjectIamCustomRole.property.stage"></a>

```typescript
public readonly stage: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ProjectIamCustomRole.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRole.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectIamCustomRole.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectIamMember <a name="ProjectIamMember" id="@dschmidt/provider-google.ProjectIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_iam_member google_project_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectIamMember.Initializer"></a>

```typescript
import { ProjectIamMember } from '@dschmidt/provider-google'

new ProjectIamMember(scope: Construct, id: string, config: ProjectIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig">ProjectIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamMemberConfig">ProjectIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ProjectIamMember.putCondition"></a>

```typescript
public putCondition(value: ProjectIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamMemberCondition">ProjectIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ProjectIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectIamMember.isConstruct"></a>

```typescript
import { ProjectIamMember } from '@dschmidt/provider-google'

ProjectIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamMemberConditionOutputReference">ProjectIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamMemberCondition">ProjectIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ProjectIamMember.property.condition"></a>

```typescript
public readonly condition: ProjectIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamMemberConditionOutputReference">ProjectIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ProjectIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ProjectIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ProjectIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamMemberCondition">ProjectIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ProjectIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ProjectIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ProjectIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ProjectIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectIamPolicy <a name="ProjectIamPolicy" id="@dschmidt/provider-google.ProjectIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_iam_policy google_project_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectIamPolicy.Initializer"></a>

```typescript
import { ProjectIamPolicy } from '@dschmidt/provider-google'

new ProjectIamPolicy(scope: Construct, id: string, config: ProjectIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig">ProjectIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamPolicyConfig">ProjectIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectIamPolicy.isConstruct"></a>

```typescript
import { ProjectIamPolicy } from '@dschmidt/provider-google'

ProjectIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ProjectIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ProjectIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ProjectIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectOrganizationPolicy <a name="ProjectOrganizationPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy google_project_organization_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectOrganizationPolicy.Initializer"></a>

```typescript
import { ProjectOrganizationPolicy } from '@dschmidt/provider-google'

new ProjectOrganizationPolicy(scope: Construct, id: string, config: ProjectOrganizationPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig">ProjectOrganizationPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectOrganizationPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectOrganizationPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectOrganizationPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig">ProjectOrganizationPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.putBooleanPolicy">putBooleanPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.putListPolicy">putListPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.putRestorePolicy">putRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.resetBooleanPolicy">resetBooleanPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.resetListPolicy">resetListPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.resetRestorePolicy">resetRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.resetVersion">resetVersion</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectOrganizationPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectOrganizationPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectOrganizationPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectOrganizationPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectOrganizationPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectOrganizationPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectOrganizationPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectOrganizationPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectOrganizationPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectOrganizationPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBooleanPolicy` <a name="putBooleanPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy.putBooleanPolicy"></a>

```typescript
public putBooleanPolicy(value: ProjectOrganizationPolicyBooleanPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectOrganizationPolicy.putBooleanPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicy">ProjectOrganizationPolicyBooleanPolicy</a>

---

##### `putListPolicy` <a name="putListPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy.putListPolicy"></a>

```typescript
public putListPolicy(value: ProjectOrganizationPolicyListPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectOrganizationPolicy.putListPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy">ProjectOrganizationPolicyListPolicy</a>

---

##### `putRestorePolicy` <a name="putRestorePolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy.putRestorePolicy"></a>

```typescript
public putRestorePolicy(value: ProjectOrganizationPolicyRestorePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectOrganizationPolicy.putRestorePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicy">ProjectOrganizationPolicyRestorePolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ProjectOrganizationPolicy.putTimeouts"></a>

```typescript
public putTimeouts(value: ProjectOrganizationPolicyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectOrganizationPolicy.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts">ProjectOrganizationPolicyTimeouts</a>

---

##### `resetBooleanPolicy` <a name="resetBooleanPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy.resetBooleanPolicy"></a>

```typescript
public resetBooleanPolicy(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectOrganizationPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetListPolicy` <a name="resetListPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy.resetListPolicy"></a>

```typescript
public resetListPolicy(): void
```

##### `resetRestorePolicy` <a name="resetRestorePolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy.resetRestorePolicy"></a>

```typescript
public resetRestorePolicy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ProjectOrganizationPolicy.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVersion` <a name="resetVersion" id="@dschmidt/provider-google.ProjectOrganizationPolicy.resetVersion"></a>

```typescript
public resetVersion(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectOrganizationPolicy.isConstruct"></a>

```typescript
import { ProjectOrganizationPolicy } from '@dschmidt/provider-google'

ProjectOrganizationPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectOrganizationPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.booleanPolicy">booleanPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicyOutputReference">ProjectOrganizationPolicyBooleanPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.listPolicy">listPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyOutputReference">ProjectOrganizationPolicyListPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.restorePolicy">restorePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicyOutputReference">ProjectOrganizationPolicyRestorePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeoutsOutputReference">ProjectOrganizationPolicyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.booleanPolicyInput">booleanPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicy">ProjectOrganizationPolicyBooleanPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.constraintInput">constraintInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.listPolicyInput">listPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy">ProjectOrganizationPolicyListPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.restorePolicyInput">restorePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicy">ProjectOrganizationPolicyRestorePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts">ProjectOrganizationPolicyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.versionInput">versionInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.constraint">constraint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.version">version</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `booleanPolicy`<sup>Required</sup> <a name="booleanPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.booleanPolicy"></a>

```typescript
public readonly booleanPolicy: ProjectOrganizationPolicyBooleanPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicyOutputReference">ProjectOrganizationPolicyBooleanPolicyOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `listPolicy`<sup>Required</sup> <a name="listPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.listPolicy"></a>

```typescript
public readonly listPolicy: ProjectOrganizationPolicyListPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyOutputReference">ProjectOrganizationPolicyListPolicyOutputReference</a>

---

##### `restorePolicy`<sup>Required</sup> <a name="restorePolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: ProjectOrganizationPolicyRestorePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicyOutputReference">ProjectOrganizationPolicyRestorePolicyOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectOrganizationPolicyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeoutsOutputReference">ProjectOrganizationPolicyTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `booleanPolicyInput`<sup>Optional</sup> <a name="booleanPolicyInput" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.booleanPolicyInput"></a>

```typescript
public readonly booleanPolicyInput: ProjectOrganizationPolicyBooleanPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicy">ProjectOrganizationPolicyBooleanPolicy</a>

---

##### `constraintInput`<sup>Optional</sup> <a name="constraintInput" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.constraintInput"></a>

```typescript
public readonly constraintInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `listPolicyInput`<sup>Optional</sup> <a name="listPolicyInput" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.listPolicyInput"></a>

```typescript
public readonly listPolicyInput: ProjectOrganizationPolicyListPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy">ProjectOrganizationPolicyListPolicy</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `restorePolicyInput`<sup>Optional</sup> <a name="restorePolicyInput" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.restorePolicyInput"></a>

```typescript
public readonly restorePolicyInput: ProjectOrganizationPolicyRestorePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicy">ProjectOrganizationPolicyRestorePolicy</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ProjectOrganizationPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts">ProjectOrganizationPolicyTimeouts</a>

---

##### `versionInput`<sup>Optional</sup> <a name="versionInput" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.versionInput"></a>

```typescript
public readonly versionInput: number;
```

- *Type:* number

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectOrganizationPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectService <a name="ProjectService" id="@dschmidt/provider-google.ProjectService"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_service google_project_service}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectService.Initializer"></a>

```typescript
import { ProjectService } from '@dschmidt/provider-google'

new ProjectService(scope: Construct, id: string, config: ProjectServiceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectService.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectService.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectServiceConfig">ProjectServiceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectService.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectService.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectService.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectServiceConfig">ProjectServiceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectService.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectService.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectService.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectService.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectService.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.resetDisableDependentServices">resetDisableDependentServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.resetDisableOnDestroy">resetDisableOnDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectService.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectService.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectService.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectService.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectService.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectService.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectService.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectService.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectService.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectService.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectService.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectService.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectService.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectService.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectService.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectService.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectService.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectService.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectService.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectService.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ProjectService.putTimeouts"></a>

```typescript
public putTimeouts(value: ProjectServiceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectService.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectServiceTimeouts">ProjectServiceTimeouts</a>

---

##### `resetDisableDependentServices` <a name="resetDisableDependentServices" id="@dschmidt/provider-google.ProjectService.resetDisableDependentServices"></a>

```typescript
public resetDisableDependentServices(): void
```

##### `resetDisableOnDestroy` <a name="resetDisableOnDestroy" id="@dschmidt/provider-google.ProjectService.resetDisableOnDestroy"></a>

```typescript
public resetDisableOnDestroy(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectService.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ProjectService.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ProjectService.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectService.isConstruct"></a>

```typescript
import { ProjectService } from '@dschmidt/provider-google'

ProjectService.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectService.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectServiceTimeoutsOutputReference">ProjectServiceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.disableDependentServicesInput">disableDependentServicesInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.disableOnDestroyInput">disableOnDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectServiceTimeouts">ProjectServiceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.disableDependentServices">disableDependentServices</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.disableOnDestroy">disableOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectService.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectService.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectService.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectService.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectService.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectService.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectService.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectService.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectService.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectService.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectService.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectService.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectService.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectService.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectService.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectServiceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectServiceTimeoutsOutputReference">ProjectServiceTimeoutsOutputReference</a>

---

##### `disableDependentServicesInput`<sup>Optional</sup> <a name="disableDependentServicesInput" id="@dschmidt/provider-google.ProjectService.property.disableDependentServicesInput"></a>

```typescript
public readonly disableDependentServicesInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `disableOnDestroyInput`<sup>Optional</sup> <a name="disableOnDestroyInput" id="@dschmidt/provider-google.ProjectService.property.disableOnDestroyInput"></a>

```typescript
public readonly disableOnDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectService.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectService.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.ProjectService.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ProjectService.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ProjectServiceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectServiceTimeouts">ProjectServiceTimeouts</a>

---

##### `disableDependentServices`<sup>Required</sup> <a name="disableDependentServices" id="@dschmidt/provider-google.ProjectService.property.disableDependentServices"></a>

```typescript
public readonly disableDependentServices: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `disableOnDestroy`<sup>Required</sup> <a name="disableOnDestroy" id="@dschmidt/provider-google.ProjectService.property.disableOnDestroy"></a>

```typescript
public readonly disableOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectService.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectService.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ProjectService.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectService.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectService.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ProjectUsageExportBucket <a name="ProjectUsageExportBucket" id="@dschmidt/provider-google.ProjectUsageExportBucket"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket google_project_usage_export_bucket}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ProjectUsageExportBucket.Initializer"></a>

```typescript
import { ProjectUsageExportBucket } from '@dschmidt/provider-google'

new ProjectUsageExportBucket(scope: Construct, id: string, config: ProjectUsageExportBucketConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig">ProjectUsageExportBucketConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ProjectUsageExportBucket.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectUsageExportBucket.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ProjectUsageExportBucket.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig">ProjectUsageExportBucketConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.resetPrefix">resetPrefix</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ProjectUsageExportBucket.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ProjectUsageExportBucket.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ProjectUsageExportBucket.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectUsageExportBucket.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ProjectUsageExportBucket.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ProjectUsageExportBucket.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ProjectUsageExportBucket.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ProjectUsageExportBucket.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ProjectUsageExportBucket.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ProjectUsageExportBucket.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ProjectUsageExportBucket.putTimeouts"></a>

```typescript
public putTimeouts(value: ProjectUsageExportBucketTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ProjectUsageExportBucket.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ProjectUsageExportBucketTimeouts">ProjectUsageExportBucketTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ProjectUsageExportBucket.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPrefix` <a name="resetPrefix" id="@dschmidt/provider-google.ProjectUsageExportBucket.resetPrefix"></a>

```typescript
public resetPrefix(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ProjectUsageExportBucket.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ProjectUsageExportBucket.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ProjectUsageExportBucket.isConstruct"></a>

```typescript
import { ProjectUsageExportBucket } from '@dschmidt/provider-google'

ProjectUsageExportBucket.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ProjectUsageExportBucket.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketTimeoutsOutputReference">ProjectUsageExportBucketTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.bucketNameInput">bucketNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.prefixInput">prefixInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectUsageExportBucketTimeouts">ProjectUsageExportBucketTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.bucketName">bucketName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.prefix">prefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectUsageExportBucketTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectUsageExportBucketTimeoutsOutputReference">ProjectUsageExportBucketTimeoutsOutputReference</a>

---

##### `bucketNameInput`<sup>Optional</sup> <a name="bucketNameInput" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.bucketNameInput"></a>

```typescript
public readonly bucketNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `prefixInput`<sup>Optional</sup> <a name="prefixInput" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.prefixInput"></a>

```typescript
public readonly prefixInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ProjectUsageExportBucketTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectUsageExportBucketTimeouts">ProjectUsageExportBucketTimeouts</a>

---

##### `bucketName`<sup>Required</sup> <a name="bucketName" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.bucketName"></a>

```typescript
public readonly bucketName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `prefix`<sup>Required</sup> <a name="prefix" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.prefix"></a>

```typescript
public readonly prefix: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucket.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ProjectUsageExportBucket.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubLiteReservation <a name="PubsubLiteReservation" id="@dschmidt/provider-google.PubsubLiteReservation"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation google_pubsub_lite_reservation}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubLiteReservation.Initializer"></a>

```typescript
import { PubsubLiteReservation } from '@dschmidt/provider-google'

new PubsubLiteReservation(scope: Construct, id: string, config: PubsubLiteReservationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig">PubsubLiteReservationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubLiteReservation.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubLiteReservation.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubLiteReservation.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteReservationConfig">PubsubLiteReservationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubLiteReservation.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubLiteReservation.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubLiteReservation.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteReservation.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubLiteReservation.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubLiteReservation.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubLiteReservation.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubLiteReservation.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubLiteReservation.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteReservation.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PubsubLiteReservation.putTimeouts"></a>

```typescript
public putTimeouts(value: PubsubLiteReservationTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteReservation.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteReservationTimeouts">PubsubLiteReservationTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubLiteReservation.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubLiteReservation.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.PubsubLiteReservation.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PubsubLiteReservation.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubLiteReservation.isConstruct"></a>

```typescript
import { PubsubLiteReservation } from '@dschmidt/provider-google'

PubsubLiteReservation.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubLiteReservation.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteReservationTimeoutsOutputReference">PubsubLiteReservationTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.throughputCapacityInput">throughputCapacityInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PubsubLiteReservationTimeouts">PubsubLiteReservationTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.throughputCapacity">throughputCapacity</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubLiteReservation.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubLiteReservation.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubLiteReservation.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubLiteReservation.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubLiteReservation.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubLiteReservation.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubLiteReservation.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubLiteReservation.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubLiteReservation.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubLiteReservation.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubLiteReservation.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubLiteReservation.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubLiteReservation.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubLiteReservation.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubLiteReservation.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubLiteReservationTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteReservationTimeoutsOutputReference">PubsubLiteReservationTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubLiteReservation.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.PubsubLiteReservation.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubLiteReservation.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.PubsubLiteReservation.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `throughputCapacityInput`<sup>Optional</sup> <a name="throughputCapacityInput" id="@dschmidt/provider-google.PubsubLiteReservation.property.throughputCapacityInput"></a>

```typescript
public readonly throughputCapacityInput: number;
```

- *Type:* number

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PubsubLiteReservation.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PubsubLiteReservationTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PubsubLiteReservationTimeouts">PubsubLiteReservationTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubLiteReservation.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubLiteReservation.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubLiteReservation.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.PubsubLiteReservation.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `throughputCapacity`<sup>Required</sup> <a name="throughputCapacity" id="@dschmidt/provider-google.PubsubLiteReservation.property.throughputCapacity"></a>

```typescript
public readonly throughputCapacity: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservation.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubLiteReservation.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubLiteSubscription <a name="PubsubLiteSubscription" id="@dschmidt/provider-google.PubsubLiteSubscription"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription google_pubsub_lite_subscription}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubLiteSubscription.Initializer"></a>

```typescript
import { PubsubLiteSubscription } from '@dschmidt/provider-google'

new PubsubLiteSubscription(scope: Construct, id: string, config: PubsubLiteSubscriptionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig">PubsubLiteSubscriptionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubLiteSubscription.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubLiteSubscription.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubLiteSubscription.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig">PubsubLiteSubscriptionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.putDeliveryConfig">putDeliveryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.resetDeliveryConfig">resetDeliveryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubLiteSubscription.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubLiteSubscription.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubLiteSubscription.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteSubscription.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubLiteSubscription.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubLiteSubscription.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubLiteSubscription.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubLiteSubscription.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubLiteSubscription.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteSubscription.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putDeliveryConfig` <a name="putDeliveryConfig" id="@dschmidt/provider-google.PubsubLiteSubscription.putDeliveryConfig"></a>

```typescript
public putDeliveryConfig(value: PubsubLiteSubscriptionDeliveryConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteSubscription.putDeliveryConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfig">PubsubLiteSubscriptionDeliveryConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PubsubLiteSubscription.putTimeouts"></a>

```typescript
public putTimeouts(value: PubsubLiteSubscriptionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteSubscription.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts">PubsubLiteSubscriptionTimeouts</a>

---

##### `resetDeliveryConfig` <a name="resetDeliveryConfig" id="@dschmidt/provider-google.PubsubLiteSubscription.resetDeliveryConfig"></a>

```typescript
public resetDeliveryConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubLiteSubscription.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubLiteSubscription.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.PubsubLiteSubscription.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PubsubLiteSubscription.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.PubsubLiteSubscription.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubLiteSubscription.isConstruct"></a>

```typescript
import { PubsubLiteSubscription } from '@dschmidt/provider-google'

PubsubLiteSubscription.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubLiteSubscription.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.deliveryConfig">deliveryConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfigOutputReference">PubsubLiteSubscriptionDeliveryConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeoutsOutputReference">PubsubLiteSubscriptionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.deliveryConfigInput">deliveryConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfig">PubsubLiteSubscriptionDeliveryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts">PubsubLiteSubscriptionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.topicInput">topicInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.topic">topic</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubLiteSubscription.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubLiteSubscription.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubLiteSubscription.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubLiteSubscription.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubLiteSubscription.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubLiteSubscription.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubLiteSubscription.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubLiteSubscription.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubLiteSubscription.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubLiteSubscription.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubLiteSubscription.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubLiteSubscription.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubLiteSubscription.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubLiteSubscription.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `deliveryConfig`<sup>Required</sup> <a name="deliveryConfig" id="@dschmidt/provider-google.PubsubLiteSubscription.property.deliveryConfig"></a>

```typescript
public readonly deliveryConfig: PubsubLiteSubscriptionDeliveryConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfigOutputReference">PubsubLiteSubscriptionDeliveryConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubLiteSubscription.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubLiteSubscriptionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeoutsOutputReference">PubsubLiteSubscriptionTimeoutsOutputReference</a>

---

##### `deliveryConfigInput`<sup>Optional</sup> <a name="deliveryConfigInput" id="@dschmidt/provider-google.PubsubLiteSubscription.property.deliveryConfigInput"></a>

```typescript
public readonly deliveryConfigInput: PubsubLiteSubscriptionDeliveryConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfig">PubsubLiteSubscriptionDeliveryConfig</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubLiteSubscription.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.PubsubLiteSubscription.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubLiteSubscription.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.PubsubLiteSubscription.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PubsubLiteSubscription.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PubsubLiteSubscriptionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts">PubsubLiteSubscriptionTimeouts</a>

---

##### `topicInput`<sup>Optional</sup> <a name="topicInput" id="@dschmidt/provider-google.PubsubLiteSubscription.property.topicInput"></a>

```typescript
public readonly topicInput: string;
```

- *Type:* string

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.PubsubLiteSubscription.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubLiteSubscription.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubLiteSubscription.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubLiteSubscription.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.PubsubLiteSubscription.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubLiteSubscription.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.PubsubLiteSubscription.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscription.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubLiteSubscription.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubLiteTopic <a name="PubsubLiteTopic" id="@dschmidt/provider-google.PubsubLiteTopic"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic google_pubsub_lite_topic}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubLiteTopic.Initializer"></a>

```typescript
import { PubsubLiteTopic } from '@dschmidt/provider-google'

new PubsubLiteTopic(scope: Construct, id: string, config: PubsubLiteTopicConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig">PubsubLiteTopicConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubLiteTopic.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubLiteTopic.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubLiteTopic.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicConfig">PubsubLiteTopicConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.putPartitionConfig">putPartitionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.putReservationConfig">putReservationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.putRetentionConfig">putRetentionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.resetPartitionConfig">resetPartitionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.resetReservationConfig">resetReservationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.resetRetentionConfig">resetRetentionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubLiteTopic.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubLiteTopic.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubLiteTopic.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteTopic.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubLiteTopic.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubLiteTopic.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubLiteTopic.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubLiteTopic.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubLiteTopic.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubLiteTopic.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putPartitionConfig` <a name="putPartitionConfig" id="@dschmidt/provider-google.PubsubLiteTopic.putPartitionConfig"></a>

```typescript
public putPartitionConfig(value: PubsubLiteTopicPartitionConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteTopic.putPartitionConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfig">PubsubLiteTopicPartitionConfig</a>

---

##### `putReservationConfig` <a name="putReservationConfig" id="@dschmidt/provider-google.PubsubLiteTopic.putReservationConfig"></a>

```typescript
public putReservationConfig(value: PubsubLiteTopicReservationConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteTopic.putReservationConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicReservationConfig">PubsubLiteTopicReservationConfig</a>

---

##### `putRetentionConfig` <a name="putRetentionConfig" id="@dschmidt/provider-google.PubsubLiteTopic.putRetentionConfig"></a>

```typescript
public putRetentionConfig(value: PubsubLiteTopicRetentionConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteTopic.putRetentionConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicRetentionConfig">PubsubLiteTopicRetentionConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PubsubLiteTopic.putTimeouts"></a>

```typescript
public putTimeouts(value: PubsubLiteTopicTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubLiteTopic.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicTimeouts">PubsubLiteTopicTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubLiteTopic.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPartitionConfig` <a name="resetPartitionConfig" id="@dschmidt/provider-google.PubsubLiteTopic.resetPartitionConfig"></a>

```typescript
public resetPartitionConfig(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubLiteTopic.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.PubsubLiteTopic.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetReservationConfig` <a name="resetReservationConfig" id="@dschmidt/provider-google.PubsubLiteTopic.resetReservationConfig"></a>

```typescript
public resetReservationConfig(): void
```

##### `resetRetentionConfig` <a name="resetRetentionConfig" id="@dschmidt/provider-google.PubsubLiteTopic.resetRetentionConfig"></a>

```typescript
public resetRetentionConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PubsubLiteTopic.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.PubsubLiteTopic.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubLiteTopic.isConstruct"></a>

```typescript
import { PubsubLiteTopic } from '@dschmidt/provider-google'

PubsubLiteTopic.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubLiteTopic.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.partitionConfig">partitionConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfigOutputReference">PubsubLiteTopicPartitionConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.reservationConfig">reservationConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicReservationConfigOutputReference">PubsubLiteTopicReservationConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.retentionConfig">retentionConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicRetentionConfigOutputReference">PubsubLiteTopicRetentionConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicTimeoutsOutputReference">PubsubLiteTopicTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.partitionConfigInput">partitionConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfig">PubsubLiteTopicPartitionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.reservationConfigInput">reservationConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicReservationConfig">PubsubLiteTopicReservationConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.retentionConfigInput">retentionConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicRetentionConfig">PubsubLiteTopicRetentionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PubsubLiteTopicTimeouts">PubsubLiteTopicTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubLiteTopic.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubLiteTopic.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubLiteTopic.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubLiteTopic.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubLiteTopic.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubLiteTopic.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubLiteTopic.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubLiteTopic.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubLiteTopic.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubLiteTopic.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubLiteTopic.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubLiteTopic.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubLiteTopic.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubLiteTopic.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `partitionConfig`<sup>Required</sup> <a name="partitionConfig" id="@dschmidt/provider-google.PubsubLiteTopic.property.partitionConfig"></a>

```typescript
public readonly partitionConfig: PubsubLiteTopicPartitionConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfigOutputReference">PubsubLiteTopicPartitionConfigOutputReference</a>

---

##### `reservationConfig`<sup>Required</sup> <a name="reservationConfig" id="@dschmidt/provider-google.PubsubLiteTopic.property.reservationConfig"></a>

```typescript
public readonly reservationConfig: PubsubLiteTopicReservationConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicReservationConfigOutputReference">PubsubLiteTopicReservationConfigOutputReference</a>

---

##### `retentionConfig`<sup>Required</sup> <a name="retentionConfig" id="@dschmidt/provider-google.PubsubLiteTopic.property.retentionConfig"></a>

```typescript
public readonly retentionConfig: PubsubLiteTopicRetentionConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicRetentionConfigOutputReference">PubsubLiteTopicRetentionConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubLiteTopic.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubLiteTopicTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicTimeoutsOutputReference">PubsubLiteTopicTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubLiteTopic.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.PubsubLiteTopic.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `partitionConfigInput`<sup>Optional</sup> <a name="partitionConfigInput" id="@dschmidt/provider-google.PubsubLiteTopic.property.partitionConfigInput"></a>

```typescript
public readonly partitionConfigInput: PubsubLiteTopicPartitionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfig">PubsubLiteTopicPartitionConfig</a>

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubLiteTopic.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.PubsubLiteTopic.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `reservationConfigInput`<sup>Optional</sup> <a name="reservationConfigInput" id="@dschmidt/provider-google.PubsubLiteTopic.property.reservationConfigInput"></a>

```typescript
public readonly reservationConfigInput: PubsubLiteTopicReservationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicReservationConfig">PubsubLiteTopicReservationConfig</a>

---

##### `retentionConfigInput`<sup>Optional</sup> <a name="retentionConfigInput" id="@dschmidt/provider-google.PubsubLiteTopic.property.retentionConfigInput"></a>

```typescript
public readonly retentionConfigInput: PubsubLiteTopicRetentionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicRetentionConfig">PubsubLiteTopicRetentionConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PubsubLiteTopic.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PubsubLiteTopicTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PubsubLiteTopicTimeouts">PubsubLiteTopicTimeouts</a>

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.PubsubLiteTopic.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubLiteTopic.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubLiteTopic.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubLiteTopic.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.PubsubLiteTopic.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.PubsubLiteTopic.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopic.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubLiteTopic.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubSchema <a name="PubsubSchema" id="@dschmidt/provider-google.PubsubSchema"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema google_pubsub_schema}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubSchema.Initializer"></a>

```typescript
import { PubsubSchema } from '@dschmidt/provider-google'

new PubsubSchema(scope: Construct, id: string, config: PubsubSchemaConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig">PubsubSchemaConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubSchema.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSchema.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubSchema.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSchemaConfig">PubsubSchemaConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.resetDefinition">resetDefinition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.resetType">resetType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubSchema.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubSchema.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubSchema.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSchema.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubSchema.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubSchema.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubSchema.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubSchema.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubSchema.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubSchema.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubSchema.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubSchema.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubSchema.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubSchema.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubSchema.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubSchema.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubSchema.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubSchema.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubSchema.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSchema.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PubsubSchema.putTimeouts"></a>

```typescript
public putTimeouts(value: PubsubSchemaTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSchema.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSchemaTimeouts">PubsubSchemaTimeouts</a>

---

##### `resetDefinition` <a name="resetDefinition" id="@dschmidt/provider-google.PubsubSchema.resetDefinition"></a>

```typescript
public resetDefinition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubSchema.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubSchema.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PubsubSchema.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.PubsubSchema.resetType"></a>

```typescript
public resetType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubSchema.isConstruct"></a>

```typescript
import { PubsubSchema } from '@dschmidt/provider-google'

PubsubSchema.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubSchema.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSchemaTimeoutsOutputReference">PubsubSchemaTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.definitionInput">definitionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PubsubSchemaTimeouts">PubsubSchemaTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.definition">definition</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubSchema.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubSchema.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubSchema.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubSchema.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubSchema.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubSchema.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubSchema.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSchema.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSchema.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSchema.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSchema.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSchema.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSchema.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSchema.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubSchema.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubSchemaTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSchemaTimeoutsOutputReference">PubsubSchemaTimeoutsOutputReference</a>

---

##### `definitionInput`<sup>Optional</sup> <a name="definitionInput" id="@dschmidt/provider-google.PubsubSchema.property.definitionInput"></a>

```typescript
public readonly definitionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubSchema.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.PubsubSchema.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubSchema.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PubsubSchema.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PubsubSchemaTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PubsubSchemaTimeouts">PubsubSchemaTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.PubsubSchema.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `definition`<sup>Required</sup> <a name="definition" id="@dschmidt/provider-google.PubsubSchema.property.definition"></a>

```typescript
public readonly definition: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSchema.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubSchema.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubSchema.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.PubsubSchema.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSchema.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubSchema.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubSubscription <a name="PubsubSubscription" id="@dschmidt/provider-google.PubsubSubscription"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription google_pubsub_subscription}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubSubscription.Initializer"></a>

```typescript
import { PubsubSubscription } from '@dschmidt/provider-google'

new PubsubSubscription(scope: Construct, id: string, config: PubsubSubscriptionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig">PubsubSubscriptionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubSubscription.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscription.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubSubscription.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionConfig">PubsubSubscriptionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.putBigqueryConfig">putBigqueryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.putDeadLetterPolicy">putDeadLetterPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.putExpirationPolicy">putExpirationPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.putPushConfig">putPushConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.putRetryPolicy">putRetryPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetAckDeadlineSeconds">resetAckDeadlineSeconds</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetBigqueryConfig">resetBigqueryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetDeadLetterPolicy">resetDeadLetterPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetEnableExactlyOnceDelivery">resetEnableExactlyOnceDelivery</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetEnableMessageOrdering">resetEnableMessageOrdering</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetExpirationPolicy">resetExpirationPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetFilter">resetFilter</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetMessageRetentionDuration">resetMessageRetentionDuration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetPushConfig">resetPushConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetRetainAckedMessages">resetRetainAckedMessages</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetRetryPolicy">resetRetryPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubSubscription.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubSubscription.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubSubscription.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscription.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubSubscription.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubSubscription.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubSubscription.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubSubscription.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubSubscription.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubSubscription.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubSubscription.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubSubscription.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubSubscription.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubSubscription.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubSubscription.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubSubscription.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubSubscription.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubSubscription.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubSubscription.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscription.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putBigqueryConfig` <a name="putBigqueryConfig" id="@dschmidt/provider-google.PubsubSubscription.putBigqueryConfig"></a>

```typescript
public putBigqueryConfig(value: PubsubSubscriptionBigqueryConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscription.putBigqueryConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig">PubsubSubscriptionBigqueryConfig</a>

---

##### `putDeadLetterPolicy` <a name="putDeadLetterPolicy" id="@dschmidt/provider-google.PubsubSubscription.putDeadLetterPolicy"></a>

```typescript
public putDeadLetterPolicy(value: PubsubSubscriptionDeadLetterPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscription.putDeadLetterPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy">PubsubSubscriptionDeadLetterPolicy</a>

---

##### `putExpirationPolicy` <a name="putExpirationPolicy" id="@dschmidt/provider-google.PubsubSubscription.putExpirationPolicy"></a>

```typescript
public putExpirationPolicy(value: PubsubSubscriptionExpirationPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscription.putExpirationPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionExpirationPolicy">PubsubSubscriptionExpirationPolicy</a>

---

##### `putPushConfig` <a name="putPushConfig" id="@dschmidt/provider-google.PubsubSubscription.putPushConfig"></a>

```typescript
public putPushConfig(value: PubsubSubscriptionPushConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscription.putPushConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfig">PubsubSubscriptionPushConfig</a>

---

##### `putRetryPolicy` <a name="putRetryPolicy" id="@dschmidt/provider-google.PubsubSubscription.putRetryPolicy"></a>

```typescript
public putRetryPolicy(value: PubsubSubscriptionRetryPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscription.putRetryPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionRetryPolicy">PubsubSubscriptionRetryPolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PubsubSubscription.putTimeouts"></a>

```typescript
public putTimeouts(value: PubsubSubscriptionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscription.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionTimeouts">PubsubSubscriptionTimeouts</a>

---

##### `resetAckDeadlineSeconds` <a name="resetAckDeadlineSeconds" id="@dschmidt/provider-google.PubsubSubscription.resetAckDeadlineSeconds"></a>

```typescript
public resetAckDeadlineSeconds(): void
```

##### `resetBigqueryConfig` <a name="resetBigqueryConfig" id="@dschmidt/provider-google.PubsubSubscription.resetBigqueryConfig"></a>

```typescript
public resetBigqueryConfig(): void
```

##### `resetDeadLetterPolicy` <a name="resetDeadLetterPolicy" id="@dschmidt/provider-google.PubsubSubscription.resetDeadLetterPolicy"></a>

```typescript
public resetDeadLetterPolicy(): void
```

##### `resetEnableExactlyOnceDelivery` <a name="resetEnableExactlyOnceDelivery" id="@dschmidt/provider-google.PubsubSubscription.resetEnableExactlyOnceDelivery"></a>

```typescript
public resetEnableExactlyOnceDelivery(): void
```

##### `resetEnableMessageOrdering` <a name="resetEnableMessageOrdering" id="@dschmidt/provider-google.PubsubSubscription.resetEnableMessageOrdering"></a>

```typescript
public resetEnableMessageOrdering(): void
```

##### `resetExpirationPolicy` <a name="resetExpirationPolicy" id="@dschmidt/provider-google.PubsubSubscription.resetExpirationPolicy"></a>

```typescript
public resetExpirationPolicy(): void
```

##### `resetFilter` <a name="resetFilter" id="@dschmidt/provider-google.PubsubSubscription.resetFilter"></a>

```typescript
public resetFilter(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubSubscription.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.PubsubSubscription.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMessageRetentionDuration` <a name="resetMessageRetentionDuration" id="@dschmidt/provider-google.PubsubSubscription.resetMessageRetentionDuration"></a>

```typescript
public resetMessageRetentionDuration(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubSubscription.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPushConfig` <a name="resetPushConfig" id="@dschmidt/provider-google.PubsubSubscription.resetPushConfig"></a>

```typescript
public resetPushConfig(): void
```

##### `resetRetainAckedMessages` <a name="resetRetainAckedMessages" id="@dschmidt/provider-google.PubsubSubscription.resetRetainAckedMessages"></a>

```typescript
public resetRetainAckedMessages(): void
```

##### `resetRetryPolicy` <a name="resetRetryPolicy" id="@dschmidt/provider-google.PubsubSubscription.resetRetryPolicy"></a>

```typescript
public resetRetryPolicy(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PubsubSubscription.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubSubscription.isConstruct"></a>

```typescript
import { PubsubSubscription } from '@dschmidt/provider-google'

PubsubSubscription.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubSubscription.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.bigqueryConfig">bigqueryConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfigOutputReference">PubsubSubscriptionBigqueryConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.deadLetterPolicy">deadLetterPolicy</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicyOutputReference">PubsubSubscriptionDeadLetterPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.expirationPolicy">expirationPolicy</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionExpirationPolicyOutputReference">PubsubSubscriptionExpirationPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.pushConfig">pushConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfigOutputReference">PubsubSubscriptionPushConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.retryPolicy">retryPolicy</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionRetryPolicyOutputReference">PubsubSubscriptionRetryPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionTimeoutsOutputReference">PubsubSubscriptionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.ackDeadlineSecondsInput">ackDeadlineSecondsInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.bigqueryConfigInput">bigqueryConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig">PubsubSubscriptionBigqueryConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.deadLetterPolicyInput">deadLetterPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy">PubsubSubscriptionDeadLetterPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.enableExactlyOnceDeliveryInput">enableExactlyOnceDeliveryInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.enableMessageOrderingInput">enableMessageOrderingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.expirationPolicyInput">expirationPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionExpirationPolicy">PubsubSubscriptionExpirationPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.filterInput">filterInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.messageRetentionDurationInput">messageRetentionDurationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.pushConfigInput">pushConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfig">PubsubSubscriptionPushConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.retainAckedMessagesInput">retainAckedMessagesInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.retryPolicyInput">retryPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionRetryPolicy">PubsubSubscriptionRetryPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PubsubSubscriptionTimeouts">PubsubSubscriptionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.topicInput">topicInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.ackDeadlineSeconds">ackDeadlineSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.enableExactlyOnceDelivery">enableExactlyOnceDelivery</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.enableMessageOrdering">enableMessageOrdering</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.filter">filter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.messageRetentionDuration">messageRetentionDuration</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.retainAckedMessages">retainAckedMessages</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.topic">topic</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubSubscription.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubSubscription.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubSubscription.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubSubscription.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubSubscription.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubSubscription.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubSubscription.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSubscription.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSubscription.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSubscription.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSubscription.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSubscription.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSubscription.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSubscription.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bigqueryConfig`<sup>Required</sup> <a name="bigqueryConfig" id="@dschmidt/provider-google.PubsubSubscription.property.bigqueryConfig"></a>

```typescript
public readonly bigqueryConfig: PubsubSubscriptionBigqueryConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfigOutputReference">PubsubSubscriptionBigqueryConfigOutputReference</a>

---

##### `deadLetterPolicy`<sup>Required</sup> <a name="deadLetterPolicy" id="@dschmidt/provider-google.PubsubSubscription.property.deadLetterPolicy"></a>

```typescript
public readonly deadLetterPolicy: PubsubSubscriptionDeadLetterPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicyOutputReference">PubsubSubscriptionDeadLetterPolicyOutputReference</a>

---

##### `expirationPolicy`<sup>Required</sup> <a name="expirationPolicy" id="@dschmidt/provider-google.PubsubSubscription.property.expirationPolicy"></a>

```typescript
public readonly expirationPolicy: PubsubSubscriptionExpirationPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionExpirationPolicyOutputReference">PubsubSubscriptionExpirationPolicyOutputReference</a>

---

##### `pushConfig`<sup>Required</sup> <a name="pushConfig" id="@dschmidt/provider-google.PubsubSubscription.property.pushConfig"></a>

```typescript
public readonly pushConfig: PubsubSubscriptionPushConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfigOutputReference">PubsubSubscriptionPushConfigOutputReference</a>

---

##### `retryPolicy`<sup>Required</sup> <a name="retryPolicy" id="@dschmidt/provider-google.PubsubSubscription.property.retryPolicy"></a>

```typescript
public readonly retryPolicy: PubsubSubscriptionRetryPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionRetryPolicyOutputReference">PubsubSubscriptionRetryPolicyOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubSubscription.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubSubscriptionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionTimeoutsOutputReference">PubsubSubscriptionTimeoutsOutputReference</a>

---

##### `ackDeadlineSecondsInput`<sup>Optional</sup> <a name="ackDeadlineSecondsInput" id="@dschmidt/provider-google.PubsubSubscription.property.ackDeadlineSecondsInput"></a>

```typescript
public readonly ackDeadlineSecondsInput: number;
```

- *Type:* number

---

##### `bigqueryConfigInput`<sup>Optional</sup> <a name="bigqueryConfigInput" id="@dschmidt/provider-google.PubsubSubscription.property.bigqueryConfigInput"></a>

```typescript
public readonly bigqueryConfigInput: PubsubSubscriptionBigqueryConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig">PubsubSubscriptionBigqueryConfig</a>

---

##### `deadLetterPolicyInput`<sup>Optional</sup> <a name="deadLetterPolicyInput" id="@dschmidt/provider-google.PubsubSubscription.property.deadLetterPolicyInput"></a>

```typescript
public readonly deadLetterPolicyInput: PubsubSubscriptionDeadLetterPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy">PubsubSubscriptionDeadLetterPolicy</a>

---

##### `enableExactlyOnceDeliveryInput`<sup>Optional</sup> <a name="enableExactlyOnceDeliveryInput" id="@dschmidt/provider-google.PubsubSubscription.property.enableExactlyOnceDeliveryInput"></a>

```typescript
public readonly enableExactlyOnceDeliveryInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableMessageOrderingInput`<sup>Optional</sup> <a name="enableMessageOrderingInput" id="@dschmidt/provider-google.PubsubSubscription.property.enableMessageOrderingInput"></a>

```typescript
public readonly enableMessageOrderingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `expirationPolicyInput`<sup>Optional</sup> <a name="expirationPolicyInput" id="@dschmidt/provider-google.PubsubSubscription.property.expirationPolicyInput"></a>

```typescript
public readonly expirationPolicyInput: PubsubSubscriptionExpirationPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionExpirationPolicy">PubsubSubscriptionExpirationPolicy</a>

---

##### `filterInput`<sup>Optional</sup> <a name="filterInput" id="@dschmidt/provider-google.PubsubSubscription.property.filterInput"></a>

```typescript
public readonly filterInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubSubscription.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.PubsubSubscription.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `messageRetentionDurationInput`<sup>Optional</sup> <a name="messageRetentionDurationInput" id="@dschmidt/provider-google.PubsubSubscription.property.messageRetentionDurationInput"></a>

```typescript
public readonly messageRetentionDurationInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.PubsubSubscription.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubSubscription.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `pushConfigInput`<sup>Optional</sup> <a name="pushConfigInput" id="@dschmidt/provider-google.PubsubSubscription.property.pushConfigInput"></a>

```typescript
public readonly pushConfigInput: PubsubSubscriptionPushConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfig">PubsubSubscriptionPushConfig</a>

---

##### `retainAckedMessagesInput`<sup>Optional</sup> <a name="retainAckedMessagesInput" id="@dschmidt/provider-google.PubsubSubscription.property.retainAckedMessagesInput"></a>

```typescript
public readonly retainAckedMessagesInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `retryPolicyInput`<sup>Optional</sup> <a name="retryPolicyInput" id="@dschmidt/provider-google.PubsubSubscription.property.retryPolicyInput"></a>

```typescript
public readonly retryPolicyInput: PubsubSubscriptionRetryPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionRetryPolicy">PubsubSubscriptionRetryPolicy</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PubsubSubscription.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PubsubSubscriptionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PubsubSubscriptionTimeouts">PubsubSubscriptionTimeouts</a>

---

##### `topicInput`<sup>Optional</sup> <a name="topicInput" id="@dschmidt/provider-google.PubsubSubscription.property.topicInput"></a>

```typescript
public readonly topicInput: string;
```

- *Type:* string

---

##### `ackDeadlineSeconds`<sup>Required</sup> <a name="ackDeadlineSeconds" id="@dschmidt/provider-google.PubsubSubscription.property.ackDeadlineSeconds"></a>

```typescript
public readonly ackDeadlineSeconds: number;
```

- *Type:* number

---

##### `enableExactlyOnceDelivery`<sup>Required</sup> <a name="enableExactlyOnceDelivery" id="@dschmidt/provider-google.PubsubSubscription.property.enableExactlyOnceDelivery"></a>

```typescript
public readonly enableExactlyOnceDelivery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `enableMessageOrdering`<sup>Required</sup> <a name="enableMessageOrdering" id="@dschmidt/provider-google.PubsubSubscription.property.enableMessageOrdering"></a>

```typescript
public readonly enableMessageOrdering: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.PubsubSubscription.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscription.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.PubsubSubscription.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `messageRetentionDuration`<sup>Required</sup> <a name="messageRetentionDuration" id="@dschmidt/provider-google.PubsubSubscription.property.messageRetentionDuration"></a>

```typescript
public readonly messageRetentionDuration: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubSubscription.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubSubscription.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `retainAckedMessages`<sup>Required</sup> <a name="retainAckedMessages" id="@dschmidt/provider-google.PubsubSubscription.property.retainAckedMessages"></a>

```typescript
public readonly retainAckedMessages: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubSubscription.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscription.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubSubscription.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubSubscriptionIamBinding <a name="PubsubSubscriptionIamBinding" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding google_pubsub_subscription_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.Initializer"></a>

```typescript
import { PubsubSubscriptionIamBinding } from '@dschmidt/provider-google'

new PubsubSubscriptionIamBinding(scope: Construct, id: string, config: PubsubSubscriptionIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig">PubsubSubscriptionIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig">PubsubSubscriptionIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.putCondition"></a>

```typescript
public putCondition(value: PubsubSubscriptionIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition">PubsubSubscriptionIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.isConstruct"></a>

```typescript
import { PubsubSubscriptionIamBinding } from '@dschmidt/provider-google'

PubsubSubscriptionIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConditionOutputReference">PubsubSubscriptionIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition">PubsubSubscriptionIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.subscriptionInput">subscriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.subscription">subscription</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.condition"></a>

```typescript
public readonly condition: PubsubSubscriptionIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConditionOutputReference">PubsubSubscriptionIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: PubsubSubscriptionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition">PubsubSubscriptionIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `subscriptionInput`<sup>Optional</sup> <a name="subscriptionInput" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.subscriptionInput"></a>

```typescript
public readonly subscriptionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `subscription`<sup>Required</sup> <a name="subscription" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.subscription"></a>

```typescript
public readonly subscription: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubSubscriptionIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubSubscriptionIamMember <a name="PubsubSubscriptionIamMember" id="@dschmidt/provider-google.PubsubSubscriptionIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member google_pubsub_subscription_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.Initializer"></a>

```typescript
import { PubsubSubscriptionIamMember } from '@dschmidt/provider-google'

new PubsubSubscriptionIamMember(scope: Construct, id: string, config: PubsubSubscriptionIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig">PubsubSubscriptionIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig">PubsubSubscriptionIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.putCondition"></a>

```typescript
public putCondition(value: PubsubSubscriptionIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition">PubsubSubscriptionIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.isConstruct"></a>

```typescript
import { PubsubSubscriptionIamMember } from '@dschmidt/provider-google'

PubsubSubscriptionIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConditionOutputReference">PubsubSubscriptionIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition">PubsubSubscriptionIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.subscriptionInput">subscriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.subscription">subscription</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.condition"></a>

```typescript
public readonly condition: PubsubSubscriptionIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConditionOutputReference">PubsubSubscriptionIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: PubsubSubscriptionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition">PubsubSubscriptionIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `subscriptionInput`<sup>Optional</sup> <a name="subscriptionInput" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.subscriptionInput"></a>

```typescript
public readonly subscriptionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `subscription`<sup>Required</sup> <a name="subscription" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.subscription"></a>

```typescript
public readonly subscription: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubSubscriptionIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubSubscriptionIamPolicy <a name="PubsubSubscriptionIamPolicy" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_policy google_pubsub_subscription_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.Initializer"></a>

```typescript
import { PubsubSubscriptionIamPolicy } from '@dschmidt/provider-google'

new PubsubSubscriptionIamPolicy(scope: Construct, id: string, config: PubsubSubscriptionIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig">PubsubSubscriptionIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig">PubsubSubscriptionIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.isConstruct"></a>

```typescript
import { PubsubSubscriptionIamPolicy } from '@dschmidt/provider-google'

PubsubSubscriptionIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.subscriptionInput">subscriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.subscription">subscription</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `subscriptionInput`<sup>Optional</sup> <a name="subscriptionInput" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.subscriptionInput"></a>

```typescript
public readonly subscriptionInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `subscription`<sup>Required</sup> <a name="subscription" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.subscription"></a>

```typescript
public readonly subscription: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubTopic <a name="PubsubTopic" id="@dschmidt/provider-google.PubsubTopic"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic google_pubsub_topic}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubTopic.Initializer"></a>

```typescript
import { PubsubTopic } from '@dschmidt/provider-google'

new PubsubTopic(scope: Construct, id: string, config: PubsubTopicConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicConfig">PubsubTopicConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubTopic.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopic.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubTopic.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicConfig">PubsubTopicConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.putMessageStoragePolicy">putMessageStoragePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.putSchemaSettings">putSchemaSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.resetKmsKeyName">resetKmsKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.resetMessageRetentionDuration">resetMessageRetentionDuration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.resetMessageStoragePolicy">resetMessageStoragePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.resetSchemaSettings">resetSchemaSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubTopic.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubTopic.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubTopic.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubTopic.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubTopic.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubTopic.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubTopic.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubTopic.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubTopic.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubTopic.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubTopic.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubTopic.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubTopic.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubTopic.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubTopic.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubTopic.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubTopic.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubTopic.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubTopic.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopic.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMessageStoragePolicy` <a name="putMessageStoragePolicy" id="@dschmidt/provider-google.PubsubTopic.putMessageStoragePolicy"></a>

```typescript
public putMessageStoragePolicy(value: PubsubTopicMessageStoragePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubTopic.putMessageStoragePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicMessageStoragePolicy">PubsubTopicMessageStoragePolicy</a>

---

##### `putSchemaSettings` <a name="putSchemaSettings" id="@dschmidt/provider-google.PubsubTopic.putSchemaSettings"></a>

```typescript
public putSchemaSettings(value: PubsubTopicSchemaSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubTopic.putSchemaSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicSchemaSettings">PubsubTopicSchemaSettings</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.PubsubTopic.putTimeouts"></a>

```typescript
public putTimeouts(value: PubsubTopicTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubTopic.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicTimeouts">PubsubTopicTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubTopic.resetId"></a>

```typescript
public resetId(): void
```

##### `resetKmsKeyName` <a name="resetKmsKeyName" id="@dschmidt/provider-google.PubsubTopic.resetKmsKeyName"></a>

```typescript
public resetKmsKeyName(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.PubsubTopic.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetMessageRetentionDuration` <a name="resetMessageRetentionDuration" id="@dschmidt/provider-google.PubsubTopic.resetMessageRetentionDuration"></a>

```typescript
public resetMessageRetentionDuration(): void
```

##### `resetMessageStoragePolicy` <a name="resetMessageStoragePolicy" id="@dschmidt/provider-google.PubsubTopic.resetMessageStoragePolicy"></a>

```typescript
public resetMessageStoragePolicy(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubTopic.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSchemaSettings` <a name="resetSchemaSettings" id="@dschmidt/provider-google.PubsubTopic.resetSchemaSettings"></a>

```typescript
public resetSchemaSettings(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.PubsubTopic.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubTopic.isConstruct"></a>

```typescript
import { PubsubTopic } from '@dschmidt/provider-google'

PubsubTopic.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubTopic.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.messageStoragePolicy">messageStoragePolicy</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicMessageStoragePolicyOutputReference">PubsubTopicMessageStoragePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.schemaSettings">schemaSettings</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicSchemaSettingsOutputReference">PubsubTopicSchemaSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicTimeoutsOutputReference">PubsubTopicTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.kmsKeyNameInput">kmsKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.messageRetentionDurationInput">messageRetentionDurationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.messageStoragePolicyInput">messageStoragePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicMessageStoragePolicy">PubsubTopicMessageStoragePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.schemaSettingsInput">schemaSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicSchemaSettings">PubsubTopicSchemaSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PubsubTopicTimeouts">PubsubTopicTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.messageRetentionDuration">messageRetentionDuration</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubTopic.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubTopic.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubTopic.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubTopic.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubTopic.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubTopic.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubTopic.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubTopic.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubTopic.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubTopic.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubTopic.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubTopic.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubTopic.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubTopic.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `messageStoragePolicy`<sup>Required</sup> <a name="messageStoragePolicy" id="@dschmidt/provider-google.PubsubTopic.property.messageStoragePolicy"></a>

```typescript
public readonly messageStoragePolicy: PubsubTopicMessageStoragePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicMessageStoragePolicyOutputReference">PubsubTopicMessageStoragePolicyOutputReference</a>

---

##### `schemaSettings`<sup>Required</sup> <a name="schemaSettings" id="@dschmidt/provider-google.PubsubTopic.property.schemaSettings"></a>

```typescript
public readonly schemaSettings: PubsubTopicSchemaSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicSchemaSettingsOutputReference">PubsubTopicSchemaSettingsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubTopic.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubTopicTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicTimeoutsOutputReference">PubsubTopicTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubTopic.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `kmsKeyNameInput`<sup>Optional</sup> <a name="kmsKeyNameInput" id="@dschmidt/provider-google.PubsubTopic.property.kmsKeyNameInput"></a>

```typescript
public readonly kmsKeyNameInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.PubsubTopic.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `messageRetentionDurationInput`<sup>Optional</sup> <a name="messageRetentionDurationInput" id="@dschmidt/provider-google.PubsubTopic.property.messageRetentionDurationInput"></a>

```typescript
public readonly messageRetentionDurationInput: string;
```

- *Type:* string

---

##### `messageStoragePolicyInput`<sup>Optional</sup> <a name="messageStoragePolicyInput" id="@dschmidt/provider-google.PubsubTopic.property.messageStoragePolicyInput"></a>

```typescript
public readonly messageStoragePolicyInput: PubsubTopicMessageStoragePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicMessageStoragePolicy">PubsubTopicMessageStoragePolicy</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.PubsubTopic.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubTopic.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `schemaSettingsInput`<sup>Optional</sup> <a name="schemaSettingsInput" id="@dschmidt/provider-google.PubsubTopic.property.schemaSettingsInput"></a>

```typescript
public readonly schemaSettingsInput: PubsubTopicSchemaSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicSchemaSettings">PubsubTopicSchemaSettings</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.PubsubTopic.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | PubsubTopicTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PubsubTopicTimeouts">PubsubTopicTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopic.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.PubsubTopic.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.PubsubTopic.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `messageRetentionDuration`<sup>Required</sup> <a name="messageRetentionDuration" id="@dschmidt/provider-google.PubsubTopic.property.messageRetentionDuration"></a>

```typescript
public readonly messageRetentionDuration: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubTopic.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubTopic.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopic.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubTopic.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubTopicIamBinding <a name="PubsubTopicIamBinding" id="@dschmidt/provider-google.PubsubTopicIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding google_pubsub_topic_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubTopicIamBinding.Initializer"></a>

```typescript
import { PubsubTopicIamBinding } from '@dschmidt/provider-google'

new PubsubTopicIamBinding(scope: Construct, id: string, config: PubsubTopicIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig">PubsubTopicIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubTopicIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubTopicIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig">PubsubTopicIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubTopicIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubTopicIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubTopicIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubTopicIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubTopicIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubTopicIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubTopicIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubTopicIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubTopicIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.PubsubTopicIamBinding.putCondition"></a>

```typescript
public putCondition(value: PubsubTopicIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubTopicIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamBindingCondition">PubsubTopicIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.PubsubTopicIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubTopicIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubTopicIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubTopicIamBinding.isConstruct"></a>

```typescript
import { PubsubTopicIamBinding } from '@dschmidt/provider-google'

PubsubTopicIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubTopicIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConditionOutputReference">PubsubTopicIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingCondition">PubsubTopicIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.topicInput">topicInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.topic">topic</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.condition"></a>

```typescript
public readonly condition: PubsubTopicIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamBindingConditionOutputReference">PubsubTopicIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: PubsubTopicIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamBindingCondition">PubsubTopicIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `topicInput`<sup>Optional</sup> <a name="topicInput" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.topicInput"></a>

```typescript
public readonly topicInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubTopicIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubTopicIamMember <a name="PubsubTopicIamMember" id="@dschmidt/provider-google.PubsubTopicIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member google_pubsub_topic_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubTopicIamMember.Initializer"></a>

```typescript
import { PubsubTopicIamMember } from '@dschmidt/provider-google'

new PubsubTopicIamMember(scope: Construct, id: string, config: PubsubTopicIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig">PubsubTopicIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubTopicIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubTopicIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig">PubsubTopicIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubTopicIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubTopicIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubTopicIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubTopicIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubTopicIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubTopicIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubTopicIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubTopicIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubTopicIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.PubsubTopicIamMember.putCondition"></a>

```typescript
public putCondition(value: PubsubTopicIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubTopicIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamMemberCondition">PubsubTopicIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.PubsubTopicIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubTopicIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubTopicIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubTopicIamMember.isConstruct"></a>

```typescript
import { PubsubTopicIamMember } from '@dschmidt/provider-google'

PubsubTopicIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubTopicIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConditionOutputReference">PubsubTopicIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberCondition">PubsubTopicIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.topicInput">topicInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.topic">topic</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubTopicIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubTopicIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubTopicIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubTopicIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubTopicIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubTopicIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubTopicIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubTopicIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubTopicIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubTopicIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubTopicIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubTopicIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubTopicIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubTopicIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.PubsubTopicIamMember.property.condition"></a>

```typescript
public readonly condition: PubsubTopicIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamMemberConditionOutputReference">PubsubTopicIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PubsubTopicIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.PubsubTopicIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: PubsubTopicIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamMemberCondition">PubsubTopicIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubTopicIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.PubsubTopicIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubTopicIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.PubsubTopicIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `topicInput`<sup>Optional</sup> <a name="topicInput" id="@dschmidt/provider-google.PubsubTopicIamMember.property.topicInput"></a>

```typescript
public readonly topicInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.PubsubTopicIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubTopicIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PubsubTopicIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubTopicIamMember.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubTopicIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### PubsubTopicIamPolicy <a name="PubsubTopicIamPolicy" id="@dschmidt/provider-google.PubsubTopicIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_policy google_pubsub_topic_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.PubsubTopicIamPolicy.Initializer"></a>

```typescript
import { PubsubTopicIamPolicy } from '@dschmidt/provider-google'

new PubsubTopicIamPolicy(scope: Construct, id: string, config: PubsubTopicIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig">PubsubTopicIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.PubsubTopicIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PubsubTopicIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig">PubsubTopicIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.PubsubTopicIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.PubsubTopicIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.PubsubTopicIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PubsubTopicIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.PubsubTopicIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.PubsubTopicIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.PubsubTopicIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.PubsubTopicIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.PubsubTopicIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.PubsubTopicIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.PubsubTopicIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.PubsubTopicIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.PubsubTopicIamPolicy.isConstruct"></a>

```typescript
import { PubsubTopicIamPolicy } from '@dschmidt/provider-google'

PubsubTopicIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.PubsubTopicIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.topicInput">topicInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.topic">topic</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `topicInput`<sup>Optional</sup> <a name="topicInput" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.topicInput"></a>

```typescript
public readonly topicInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.PubsubTopicIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### RecaptchaEnterpriseKey <a name="RecaptchaEnterpriseKey" id="@dschmidt/provider-google.RecaptchaEnterpriseKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key google_recaptcha_enterprise_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.Initializer"></a>

```typescript
import { RecaptchaEnterpriseKey } from '@dschmidt/provider-google'

new RecaptchaEnterpriseKey(scope: Construct, id: string, config: RecaptchaEnterpriseKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig">RecaptchaEnterpriseKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig">RecaptchaEnterpriseKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.putAndroidSettings">putAndroidSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.putIosSettings">putIosSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.putTestingOptions">putTestingOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.putWebSettings">putWebSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.resetAndroidSettings">resetAndroidSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.resetIosSettings">resetIosSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.resetTestingOptions">resetTestingOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.resetWebSettings">resetWebSettings</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putAndroidSettings` <a name="putAndroidSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putAndroidSettings"></a>

```typescript
public putAndroidSettings(value: RecaptchaEnterpriseKeyAndroidSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putAndroidSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings">RecaptchaEnterpriseKeyAndroidSettings</a>

---

##### `putIosSettings` <a name="putIosSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putIosSettings"></a>

```typescript
public putIosSettings(value: RecaptchaEnterpriseKeyIosSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putIosSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings">RecaptchaEnterpriseKeyIosSettings</a>

---

##### `putTestingOptions` <a name="putTestingOptions" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putTestingOptions"></a>

```typescript
public putTestingOptions(value: RecaptchaEnterpriseKeyTestingOptions): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putTestingOptions.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions">RecaptchaEnterpriseKeyTestingOptions</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putTimeouts"></a>

```typescript
public putTimeouts(value: RecaptchaEnterpriseKeyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts">RecaptchaEnterpriseKeyTimeouts</a>

---

##### `putWebSettings` <a name="putWebSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putWebSettings"></a>

```typescript
public putWebSettings(value: RecaptchaEnterpriseKeyWebSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.putWebSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings">RecaptchaEnterpriseKeyWebSettings</a>

---

##### `resetAndroidSettings` <a name="resetAndroidSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.resetAndroidSettings"></a>

```typescript
public resetAndroidSettings(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIosSettings` <a name="resetIosSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.resetIosSettings"></a>

```typescript
public resetIosSettings(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTestingOptions` <a name="resetTestingOptions" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.resetTestingOptions"></a>

```typescript
public resetTestingOptions(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetWebSettings` <a name="resetWebSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.resetWebSettings"></a>

```typescript
public resetWebSettings(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.isConstruct"></a>

```typescript
import { RecaptchaEnterpriseKey } from '@dschmidt/provider-google'

RecaptchaEnterpriseKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.androidSettings">androidSettings</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettingsOutputReference">RecaptchaEnterpriseKeyAndroidSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.iosSettings">iosSettings</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettingsOutputReference">RecaptchaEnterpriseKeyIosSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.testingOptions">testingOptions</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptionsOutputReference">RecaptchaEnterpriseKeyTestingOptionsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeoutsOutputReference">RecaptchaEnterpriseKeyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.webSettings">webSettings</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettingsOutputReference">RecaptchaEnterpriseKeyWebSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.androidSettingsInput">androidSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings">RecaptchaEnterpriseKeyAndroidSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.iosSettingsInput">iosSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings">RecaptchaEnterpriseKeyIosSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.testingOptionsInput">testingOptionsInput</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions">RecaptchaEnterpriseKeyTestingOptions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts">RecaptchaEnterpriseKeyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.webSettingsInput">webSettingsInput</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings">RecaptchaEnterpriseKeyWebSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `androidSettings`<sup>Required</sup> <a name="androidSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.androidSettings"></a>

```typescript
public readonly androidSettings: RecaptchaEnterpriseKeyAndroidSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettingsOutputReference">RecaptchaEnterpriseKeyAndroidSettingsOutputReference</a>

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `iosSettings`<sup>Required</sup> <a name="iosSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.iosSettings"></a>

```typescript
public readonly iosSettings: RecaptchaEnterpriseKeyIosSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettingsOutputReference">RecaptchaEnterpriseKeyIosSettingsOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `testingOptions`<sup>Required</sup> <a name="testingOptions" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.testingOptions"></a>

```typescript
public readonly testingOptions: RecaptchaEnterpriseKeyTestingOptionsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptionsOutputReference">RecaptchaEnterpriseKeyTestingOptionsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.timeouts"></a>

```typescript
public readonly timeouts: RecaptchaEnterpriseKeyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeoutsOutputReference">RecaptchaEnterpriseKeyTimeoutsOutputReference</a>

---

##### `webSettings`<sup>Required</sup> <a name="webSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.webSettings"></a>

```typescript
public readonly webSettings: RecaptchaEnterpriseKeyWebSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettingsOutputReference">RecaptchaEnterpriseKeyWebSettingsOutputReference</a>

---

##### `androidSettingsInput`<sup>Optional</sup> <a name="androidSettingsInput" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.androidSettingsInput"></a>

```typescript
public readonly androidSettingsInput: RecaptchaEnterpriseKeyAndroidSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings">RecaptchaEnterpriseKeyAndroidSettings</a>

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `iosSettingsInput`<sup>Optional</sup> <a name="iosSettingsInput" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.iosSettingsInput"></a>

```typescript
public readonly iosSettingsInput: RecaptchaEnterpriseKeyIosSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings">RecaptchaEnterpriseKeyIosSettings</a>

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `testingOptionsInput`<sup>Optional</sup> <a name="testingOptionsInput" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.testingOptionsInput"></a>

```typescript
public readonly testingOptionsInput: RecaptchaEnterpriseKeyTestingOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions">RecaptchaEnterpriseKeyTestingOptions</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | RecaptchaEnterpriseKeyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts">RecaptchaEnterpriseKeyTimeouts</a>

---

##### `webSettingsInput`<sup>Optional</sup> <a name="webSettingsInput" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.webSettingsInput"></a>

```typescript
public readonly webSettingsInput: RecaptchaEnterpriseKeyWebSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings">RecaptchaEnterpriseKeyWebSettings</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.RecaptchaEnterpriseKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### RedisInstance <a name="RedisInstance" id="@dschmidt/provider-google.RedisInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/redis_instance google_redis_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.RedisInstance.Initializer"></a>

```typescript
import { RedisInstance } from '@dschmidt/provider-google'

new RedisInstance(scope: Construct, id: string, config: RedisInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.RedisInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.RedisInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceConfig">RedisInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.RedisInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.RedisInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.RedisInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceConfig">RedisInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.RedisInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.RedisInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.RedisInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.putMaintenancePolicy">putMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.putMaintenanceSchedule">putMaintenanceSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetAlternativeLocationId">resetAlternativeLocationId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetAuthEnabled">resetAuthEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetAuthorizedNetwork">resetAuthorizedNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetConnectMode">resetConnectMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetCustomerManagedKey">resetCustomerManagedKey</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetLocationId">resetLocationId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetMaintenancePolicy">resetMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetMaintenanceSchedule">resetMaintenanceSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetReadReplicasMode">resetReadReplicasMode</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetRedisConfigs">resetRedisConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetRedisVersion">resetRedisVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetReplicaCount">resetReplicaCount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetReservedIpRange">resetReservedIpRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetSecondaryIpRange">resetSecondaryIpRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetTier">resetTier</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.resetTransitEncryptionMode">resetTransitEncryptionMode</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.RedisInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.RedisInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.RedisInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RedisInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.RedisInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.RedisInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.RedisInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.RedisInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.RedisInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.RedisInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.RedisInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.RedisInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.RedisInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.RedisInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.RedisInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.RedisInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.RedisInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.RedisInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.RedisInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.RedisInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putMaintenancePolicy` <a name="putMaintenancePolicy" id="@dschmidt/provider-google.RedisInstance.putMaintenancePolicy"></a>

```typescript
public putMaintenancePolicy(value: RedisInstanceMaintenancePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RedisInstance.putMaintenancePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicy">RedisInstanceMaintenancePolicy</a>

---

##### `putMaintenanceSchedule` <a name="putMaintenanceSchedule" id="@dschmidt/provider-google.RedisInstance.putMaintenanceSchedule"></a>

```typescript
public putMaintenanceSchedule(value: RedisInstanceMaintenanceSchedule): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RedisInstance.putMaintenanceSchedule.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceMaintenanceSchedule">RedisInstanceMaintenanceSchedule</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.RedisInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: RedisInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.RedisInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceTimeouts">RedisInstanceTimeouts</a>

---

##### `resetAlternativeLocationId` <a name="resetAlternativeLocationId" id="@dschmidt/provider-google.RedisInstance.resetAlternativeLocationId"></a>

```typescript
public resetAlternativeLocationId(): void
```

##### `resetAuthEnabled` <a name="resetAuthEnabled" id="@dschmidt/provider-google.RedisInstance.resetAuthEnabled"></a>

```typescript
public resetAuthEnabled(): void
```

##### `resetAuthorizedNetwork` <a name="resetAuthorizedNetwork" id="@dschmidt/provider-google.RedisInstance.resetAuthorizedNetwork"></a>

```typescript
public resetAuthorizedNetwork(): void
```

##### `resetConnectMode` <a name="resetConnectMode" id="@dschmidt/provider-google.RedisInstance.resetConnectMode"></a>

```typescript
public resetConnectMode(): void
```

##### `resetCustomerManagedKey` <a name="resetCustomerManagedKey" id="@dschmidt/provider-google.RedisInstance.resetCustomerManagedKey"></a>

```typescript
public resetCustomerManagedKey(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.RedisInstance.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.RedisInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.RedisInstance.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLocationId` <a name="resetLocationId" id="@dschmidt/provider-google.RedisInstance.resetLocationId"></a>

```typescript
public resetLocationId(): void
```

##### `resetMaintenancePolicy` <a name="resetMaintenancePolicy" id="@dschmidt/provider-google.RedisInstance.resetMaintenancePolicy"></a>

```typescript
public resetMaintenancePolicy(): void
```

##### `resetMaintenanceSchedule` <a name="resetMaintenanceSchedule" id="@dschmidt/provider-google.RedisInstance.resetMaintenanceSchedule"></a>

```typescript
public resetMaintenanceSchedule(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.RedisInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetReadReplicasMode` <a name="resetReadReplicasMode" id="@dschmidt/provider-google.RedisInstance.resetReadReplicasMode"></a>

```typescript
public resetReadReplicasMode(): void
```

##### `resetRedisConfigs` <a name="resetRedisConfigs" id="@dschmidt/provider-google.RedisInstance.resetRedisConfigs"></a>

```typescript
public resetRedisConfigs(): void
```

##### `resetRedisVersion` <a name="resetRedisVersion" id="@dschmidt/provider-google.RedisInstance.resetRedisVersion"></a>

```typescript
public resetRedisVersion(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.RedisInstance.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetReplicaCount` <a name="resetReplicaCount" id="@dschmidt/provider-google.RedisInstance.resetReplicaCount"></a>

```typescript
public resetReplicaCount(): void
```

##### `resetReservedIpRange` <a name="resetReservedIpRange" id="@dschmidt/provider-google.RedisInstance.resetReservedIpRange"></a>

```typescript
public resetReservedIpRange(): void
```

##### `resetSecondaryIpRange` <a name="resetSecondaryIpRange" id="@dschmidt/provider-google.RedisInstance.resetSecondaryIpRange"></a>

```typescript
public resetSecondaryIpRange(): void
```

##### `resetTier` <a name="resetTier" id="@dschmidt/provider-google.RedisInstance.resetTier"></a>

```typescript
public resetTier(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.RedisInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTransitEncryptionMode` <a name="resetTransitEncryptionMode" id="@dschmidt/provider-google.RedisInstance.resetTransitEncryptionMode"></a>

```typescript
public resetTransitEncryptionMode(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.RedisInstance.isConstruct"></a>

```typescript
import { RedisInstance } from '@dschmidt/provider-google'

RedisInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.RedisInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.authString">authString</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.currentLocationId">currentLocationId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.host">host</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.maintenancePolicy">maintenancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyOutputReference">RedisInstanceMaintenancePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.maintenanceSchedule">maintenanceSchedule</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenanceScheduleOutputReference">RedisInstanceMaintenanceScheduleOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.nodes">nodes</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceNodesList">RedisInstanceNodesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.persistenceIamIdentity">persistenceIamIdentity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.readEndpoint">readEndpoint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.readEndpointPort">readEndpointPort</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.serverCaCerts">serverCaCerts</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceServerCaCertsList">RedisInstanceServerCaCertsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceTimeoutsOutputReference">RedisInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.alternativeLocationIdInput">alternativeLocationIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.authEnabledInput">authEnabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.authorizedNetworkInput">authorizedNetworkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.connectModeInput">connectModeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.customerManagedKeyInput">customerManagedKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.locationIdInput">locationIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.maintenancePolicyInput">maintenancePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicy">RedisInstanceMaintenancePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.maintenanceScheduleInput">maintenanceScheduleInput</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenanceSchedule">RedisInstanceMaintenanceSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.memorySizeGbInput">memorySizeGbInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.readReplicasModeInput">readReplicasModeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.redisConfigsInput">redisConfigsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.redisVersionInput">redisVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.replicaCountInput">replicaCountInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.reservedIpRangeInput">reservedIpRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.secondaryIpRangeInput">secondaryIpRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.tierInput">tierInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.RedisInstanceTimeouts">RedisInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.transitEncryptionModeInput">transitEncryptionModeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.alternativeLocationId">alternativeLocationId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.authEnabled">authEnabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.authorizedNetwork">authorizedNetwork</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.connectMode">connectMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.customerManagedKey">customerManagedKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.locationId">locationId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.memorySizeGb">memorySizeGb</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.readReplicasMode">readReplicasMode</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.redisConfigs">redisConfigs</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.redisVersion">redisVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.replicaCount">replicaCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.reservedIpRange">reservedIpRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.secondaryIpRange">secondaryIpRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.tier">tier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.transitEncryptionMode">transitEncryptionMode</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.RedisInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.RedisInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.RedisInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.RedisInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.RedisInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.RedisInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.RedisInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.RedisInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.RedisInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.RedisInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.RedisInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.RedisInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.RedisInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.RedisInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `authString`<sup>Required</sup> <a name="authString" id="@dschmidt/provider-google.RedisInstance.property.authString"></a>

```typescript
public readonly authString: string;
```

- *Type:* string

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.RedisInstance.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `currentLocationId`<sup>Required</sup> <a name="currentLocationId" id="@dschmidt/provider-google.RedisInstance.property.currentLocationId"></a>

```typescript
public readonly currentLocationId: string;
```

- *Type:* string

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.RedisInstance.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

---

##### `maintenancePolicy`<sup>Required</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.RedisInstance.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: RedisInstanceMaintenancePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyOutputReference">RedisInstanceMaintenancePolicyOutputReference</a>

---

##### `maintenanceSchedule`<sup>Required</sup> <a name="maintenanceSchedule" id="@dschmidt/provider-google.RedisInstance.property.maintenanceSchedule"></a>

```typescript
public readonly maintenanceSchedule: RedisInstanceMaintenanceScheduleOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceMaintenanceScheduleOutputReference">RedisInstanceMaintenanceScheduleOutputReference</a>

---

##### `nodes`<sup>Required</sup> <a name="nodes" id="@dschmidt/provider-google.RedisInstance.property.nodes"></a>

```typescript
public readonly nodes: RedisInstanceNodesList;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceNodesList">RedisInstanceNodesList</a>

---

##### `persistenceIamIdentity`<sup>Required</sup> <a name="persistenceIamIdentity" id="@dschmidt/provider-google.RedisInstance.property.persistenceIamIdentity"></a>

```typescript
public readonly persistenceIamIdentity: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.RedisInstance.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `readEndpoint`<sup>Required</sup> <a name="readEndpoint" id="@dschmidt/provider-google.RedisInstance.property.readEndpoint"></a>

```typescript
public readonly readEndpoint: string;
```

- *Type:* string

---

##### `readEndpointPort`<sup>Required</sup> <a name="readEndpointPort" id="@dschmidt/provider-google.RedisInstance.property.readEndpointPort"></a>

```typescript
public readonly readEndpointPort: number;
```

- *Type:* number

---

##### `serverCaCerts`<sup>Required</sup> <a name="serverCaCerts" id="@dschmidt/provider-google.RedisInstance.property.serverCaCerts"></a>

```typescript
public readonly serverCaCerts: RedisInstanceServerCaCertsList;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceServerCaCertsList">RedisInstanceServerCaCertsList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.RedisInstance.property.timeouts"></a>

```typescript
public readonly timeouts: RedisInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceTimeoutsOutputReference">RedisInstanceTimeoutsOutputReference</a>

---

##### `alternativeLocationIdInput`<sup>Optional</sup> <a name="alternativeLocationIdInput" id="@dschmidt/provider-google.RedisInstance.property.alternativeLocationIdInput"></a>

```typescript
public readonly alternativeLocationIdInput: string;
```

- *Type:* string

---

##### `authEnabledInput`<sup>Optional</sup> <a name="authEnabledInput" id="@dschmidt/provider-google.RedisInstance.property.authEnabledInput"></a>

```typescript
public readonly authEnabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `authorizedNetworkInput`<sup>Optional</sup> <a name="authorizedNetworkInput" id="@dschmidt/provider-google.RedisInstance.property.authorizedNetworkInput"></a>

```typescript
public readonly authorizedNetworkInput: string;
```

- *Type:* string

---

##### `connectModeInput`<sup>Optional</sup> <a name="connectModeInput" id="@dschmidt/provider-google.RedisInstance.property.connectModeInput"></a>

```typescript
public readonly connectModeInput: string;
```

- *Type:* string

---

##### `customerManagedKeyInput`<sup>Optional</sup> <a name="customerManagedKeyInput" id="@dschmidt/provider-google.RedisInstance.property.customerManagedKeyInput"></a>

```typescript
public readonly customerManagedKeyInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.RedisInstance.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.RedisInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.RedisInstance.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationIdInput`<sup>Optional</sup> <a name="locationIdInput" id="@dschmidt/provider-google.RedisInstance.property.locationIdInput"></a>

```typescript
public readonly locationIdInput: string;
```

- *Type:* string

---

##### `maintenancePolicyInput`<sup>Optional</sup> <a name="maintenancePolicyInput" id="@dschmidt/provider-google.RedisInstance.property.maintenancePolicyInput"></a>

```typescript
public readonly maintenancePolicyInput: RedisInstanceMaintenancePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicy">RedisInstanceMaintenancePolicy</a>

---

##### `maintenanceScheduleInput`<sup>Optional</sup> <a name="maintenanceScheduleInput" id="@dschmidt/provider-google.RedisInstance.property.maintenanceScheduleInput"></a>

```typescript
public readonly maintenanceScheduleInput: RedisInstanceMaintenanceSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceMaintenanceSchedule">RedisInstanceMaintenanceSchedule</a>

---

##### `memorySizeGbInput`<sup>Optional</sup> <a name="memorySizeGbInput" id="@dschmidt/provider-google.RedisInstance.property.memorySizeGbInput"></a>

```typescript
public readonly memorySizeGbInput: number;
```

- *Type:* number

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.RedisInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.RedisInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `readReplicasModeInput`<sup>Optional</sup> <a name="readReplicasModeInput" id="@dschmidt/provider-google.RedisInstance.property.readReplicasModeInput"></a>

```typescript
public readonly readReplicasModeInput: string;
```

- *Type:* string

---

##### `redisConfigsInput`<sup>Optional</sup> <a name="redisConfigsInput" id="@dschmidt/provider-google.RedisInstance.property.redisConfigsInput"></a>

```typescript
public readonly redisConfigsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `redisVersionInput`<sup>Optional</sup> <a name="redisVersionInput" id="@dschmidt/provider-google.RedisInstance.property.redisVersionInput"></a>

```typescript
public readonly redisVersionInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.RedisInstance.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `replicaCountInput`<sup>Optional</sup> <a name="replicaCountInput" id="@dschmidt/provider-google.RedisInstance.property.replicaCountInput"></a>

```typescript
public readonly replicaCountInput: number;
```

- *Type:* number

---

##### `reservedIpRangeInput`<sup>Optional</sup> <a name="reservedIpRangeInput" id="@dschmidt/provider-google.RedisInstance.property.reservedIpRangeInput"></a>

```typescript
public readonly reservedIpRangeInput: string;
```

- *Type:* string

---

##### `secondaryIpRangeInput`<sup>Optional</sup> <a name="secondaryIpRangeInput" id="@dschmidt/provider-google.RedisInstance.property.secondaryIpRangeInput"></a>

```typescript
public readonly secondaryIpRangeInput: string;
```

- *Type:* string

---

##### `tierInput`<sup>Optional</sup> <a name="tierInput" id="@dschmidt/provider-google.RedisInstance.property.tierInput"></a>

```typescript
public readonly tierInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.RedisInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | RedisInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.RedisInstanceTimeouts">RedisInstanceTimeouts</a>

---

##### `transitEncryptionModeInput`<sup>Optional</sup> <a name="transitEncryptionModeInput" id="@dschmidt/provider-google.RedisInstance.property.transitEncryptionModeInput"></a>

```typescript
public readonly transitEncryptionModeInput: string;
```

- *Type:* string

---

##### `alternativeLocationId`<sup>Required</sup> <a name="alternativeLocationId" id="@dschmidt/provider-google.RedisInstance.property.alternativeLocationId"></a>

```typescript
public readonly alternativeLocationId: string;
```

- *Type:* string

---

##### `authEnabled`<sup>Required</sup> <a name="authEnabled" id="@dschmidt/provider-google.RedisInstance.property.authEnabled"></a>

```typescript
public readonly authEnabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `authorizedNetwork`<sup>Required</sup> <a name="authorizedNetwork" id="@dschmidt/provider-google.RedisInstance.property.authorizedNetwork"></a>

```typescript
public readonly authorizedNetwork: string;
```

- *Type:* string

---

##### `connectMode`<sup>Required</sup> <a name="connectMode" id="@dschmidt/provider-google.RedisInstance.property.connectMode"></a>

```typescript
public readonly connectMode: string;
```

- *Type:* string

---

##### `customerManagedKey`<sup>Required</sup> <a name="customerManagedKey" id="@dschmidt/provider-google.RedisInstance.property.customerManagedKey"></a>

```typescript
public readonly customerManagedKey: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.RedisInstance.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.RedisInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.RedisInstance.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `locationId`<sup>Required</sup> <a name="locationId" id="@dschmidt/provider-google.RedisInstance.property.locationId"></a>

```typescript
public readonly locationId: string;
```

- *Type:* string

---

##### `memorySizeGb`<sup>Required</sup> <a name="memorySizeGb" id="@dschmidt/provider-google.RedisInstance.property.memorySizeGb"></a>

```typescript
public readonly memorySizeGb: number;
```

- *Type:* number

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.RedisInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.RedisInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `readReplicasMode`<sup>Required</sup> <a name="readReplicasMode" id="@dschmidt/provider-google.RedisInstance.property.readReplicasMode"></a>

```typescript
public readonly readReplicasMode: string;
```

- *Type:* string

---

##### `redisConfigs`<sup>Required</sup> <a name="redisConfigs" id="@dschmidt/provider-google.RedisInstance.property.redisConfigs"></a>

```typescript
public readonly redisConfigs: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `redisVersion`<sup>Required</sup> <a name="redisVersion" id="@dschmidt/provider-google.RedisInstance.property.redisVersion"></a>

```typescript
public readonly redisVersion: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.RedisInstance.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `replicaCount`<sup>Required</sup> <a name="replicaCount" id="@dschmidt/provider-google.RedisInstance.property.replicaCount"></a>

```typescript
public readonly replicaCount: number;
```

- *Type:* number

---

##### `reservedIpRange`<sup>Required</sup> <a name="reservedIpRange" id="@dschmidt/provider-google.RedisInstance.property.reservedIpRange"></a>

```typescript
public readonly reservedIpRange: string;
```

- *Type:* string

---

##### `secondaryIpRange`<sup>Required</sup> <a name="secondaryIpRange" id="@dschmidt/provider-google.RedisInstance.property.secondaryIpRange"></a>

```typescript
public readonly secondaryIpRange: string;
```

- *Type:* string

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.RedisInstance.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

---

##### `transitEncryptionMode`<sup>Required</sup> <a name="transitEncryptionMode" id="@dschmidt/provider-google.RedisInstance.property.transitEncryptionMode"></a>

```typescript
public readonly transitEncryptionMode: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.RedisInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ResourceManagerLien <a name="ResourceManagerLien" id="@dschmidt/provider-google.ResourceManagerLien"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien google_resource_manager_lien}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ResourceManagerLien.Initializer"></a>

```typescript
import { ResourceManagerLien } from '@dschmidt/provider-google'

new ResourceManagerLien(scope: Construct, id: string, config: ResourceManagerLienConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig">ResourceManagerLienConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ResourceManagerLien.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ResourceManagerLien.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ResourceManagerLien.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ResourceManagerLienConfig">ResourceManagerLienConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ResourceManagerLien.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ResourceManagerLien.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ResourceManagerLien.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ResourceManagerLien.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ResourceManagerLien.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ResourceManagerLien.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ResourceManagerLien.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ResourceManagerLien.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ResourceManagerLien.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ResourceManagerLien.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ResourceManagerLien.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ResourceManagerLien.putTimeouts"></a>

```typescript
public putTimeouts(value: ResourceManagerLienTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ResourceManagerLien.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ResourceManagerLienTimeouts">ResourceManagerLienTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ResourceManagerLien.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ResourceManagerLien.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ResourceManagerLien.isConstruct"></a>

```typescript
import { ResourceManagerLien } from '@dschmidt/provider-google'

ResourceManagerLien.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ResourceManagerLien.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ResourceManagerLienTimeoutsOutputReference">ResourceManagerLienTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.originInput">originInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.reasonInput">reasonInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.restrictionsInput">restrictionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ResourceManagerLienTimeouts">ResourceManagerLienTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.origin">origin</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.reason">reason</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.restrictions">restrictions</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ResourceManagerLien.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ResourceManagerLien.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ResourceManagerLien.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ResourceManagerLien.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ResourceManagerLien.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ResourceManagerLien.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ResourceManagerLien.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ResourceManagerLien.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ResourceManagerLien.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ResourceManagerLien.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ResourceManagerLien.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ResourceManagerLien.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ResourceManagerLien.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ResourceManagerLien.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.ResourceManagerLien.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ResourceManagerLien.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ResourceManagerLien.property.timeouts"></a>

```typescript
public readonly timeouts: ResourceManagerLienTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ResourceManagerLienTimeoutsOutputReference">ResourceManagerLienTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ResourceManagerLien.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `originInput`<sup>Optional</sup> <a name="originInput" id="@dschmidt/provider-google.ResourceManagerLien.property.originInput"></a>

```typescript
public readonly originInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.ResourceManagerLien.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `reasonInput`<sup>Optional</sup> <a name="reasonInput" id="@dschmidt/provider-google.ResourceManagerLien.property.reasonInput"></a>

```typescript
public readonly reasonInput: string;
```

- *Type:* string

---

##### `restrictionsInput`<sup>Optional</sup> <a name="restrictionsInput" id="@dschmidt/provider-google.ResourceManagerLien.property.restrictionsInput"></a>

```typescript
public readonly restrictionsInput: string[];
```

- *Type:* string[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ResourceManagerLien.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ResourceManagerLienTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ResourceManagerLienTimeouts">ResourceManagerLienTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ResourceManagerLien.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `origin`<sup>Required</sup> <a name="origin" id="@dschmidt/provider-google.ResourceManagerLien.property.origin"></a>

```typescript
public readonly origin: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.ResourceManagerLien.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `reason`<sup>Required</sup> <a name="reason" id="@dschmidt/provider-google.ResourceManagerLien.property.reason"></a>

```typescript
public readonly reason: string;
```

- *Type:* string

---

##### `restrictions`<sup>Required</sup> <a name="restrictions" id="@dschmidt/provider-google.ResourceManagerLien.property.restrictions"></a>

```typescript
public readonly restrictions: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLien.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ResourceManagerLien.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SccNotificationConfig <a name="SccNotificationConfig" id="@dschmidt/provider-google.SccNotificationConfig"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config google_scc_notification_config}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SccNotificationConfig.Initializer"></a>

```typescript
import { SccNotificationConfig } from '@dschmidt/provider-google'

new SccNotificationConfig(scope: Construct, id: string, config: SccNotificationConfigConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig">SccNotificationConfigConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SccNotificationConfig.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SccNotificationConfig.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SccNotificationConfig.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SccNotificationConfigConfig">SccNotificationConfigConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.putStreamingConfig">putStreamingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SccNotificationConfig.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SccNotificationConfig.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SccNotificationConfig.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SccNotificationConfig.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SccNotificationConfig.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SccNotificationConfig.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SccNotificationConfig.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SccNotificationConfig.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SccNotificationConfig.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SccNotificationConfig.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccNotificationConfig.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putStreamingConfig` <a name="putStreamingConfig" id="@dschmidt/provider-google.SccNotificationConfig.putStreamingConfig"></a>

```typescript
public putStreamingConfig(value: SccNotificationConfigStreamingConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SccNotificationConfig.putStreamingConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SccNotificationConfigStreamingConfig">SccNotificationConfigStreamingConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SccNotificationConfig.putTimeouts"></a>

```typescript
public putTimeouts(value: SccNotificationConfigTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SccNotificationConfig.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SccNotificationConfigTimeouts">SccNotificationConfigTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.SccNotificationConfig.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SccNotificationConfig.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SccNotificationConfig.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SccNotificationConfig.isConstruct"></a>

```typescript
import { SccNotificationConfig } from '@dschmidt/provider-google'

SccNotificationConfig.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SccNotificationConfig.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.streamingConfig">streamingConfig</a></code> | <code><a href="#@dschmidt/provider-google.SccNotificationConfigStreamingConfigOutputReference">SccNotificationConfigStreamingConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SccNotificationConfigTimeoutsOutputReference">SccNotificationConfigTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.configIdInput">configIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.organizationInput">organizationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.pubsubTopicInput">pubsubTopicInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.streamingConfigInput">streamingConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.SccNotificationConfigStreamingConfig">SccNotificationConfigStreamingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SccNotificationConfigTimeouts">SccNotificationConfigTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.configId">configId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.organization">organization</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.pubsubTopic">pubsubTopic</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SccNotificationConfig.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SccNotificationConfig.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SccNotificationConfig.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SccNotificationConfig.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SccNotificationConfig.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SccNotificationConfig.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SccNotificationConfig.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SccNotificationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SccNotificationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SccNotificationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SccNotificationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SccNotificationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SccNotificationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SccNotificationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SccNotificationConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.SccNotificationConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

---

##### `streamingConfig`<sup>Required</sup> <a name="streamingConfig" id="@dschmidt/provider-google.SccNotificationConfig.property.streamingConfig"></a>

```typescript
public readonly streamingConfig: SccNotificationConfigStreamingConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SccNotificationConfigStreamingConfigOutputReference">SccNotificationConfigStreamingConfigOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SccNotificationConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SccNotificationConfigTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SccNotificationConfigTimeoutsOutputReference">SccNotificationConfigTimeoutsOutputReference</a>

---

##### `configIdInput`<sup>Optional</sup> <a name="configIdInput" id="@dschmidt/provider-google.SccNotificationConfig.property.configIdInput"></a>

```typescript
public readonly configIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.SccNotificationConfig.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SccNotificationConfig.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `organizationInput`<sup>Optional</sup> <a name="organizationInput" id="@dschmidt/provider-google.SccNotificationConfig.property.organizationInput"></a>

```typescript
public readonly organizationInput: string;
```

- *Type:* string

---

##### `pubsubTopicInput`<sup>Optional</sup> <a name="pubsubTopicInput" id="@dschmidt/provider-google.SccNotificationConfig.property.pubsubTopicInput"></a>

```typescript
public readonly pubsubTopicInput: string;
```

- *Type:* string

---

##### `streamingConfigInput`<sup>Optional</sup> <a name="streamingConfigInput" id="@dschmidt/provider-google.SccNotificationConfig.property.streamingConfigInput"></a>

```typescript
public readonly streamingConfigInput: SccNotificationConfigStreamingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.SccNotificationConfigStreamingConfig">SccNotificationConfigStreamingConfig</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SccNotificationConfig.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SccNotificationConfigTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SccNotificationConfigTimeouts">SccNotificationConfigTimeouts</a>

---

##### `configId`<sup>Required</sup> <a name="configId" id="@dschmidt/provider-google.SccNotificationConfig.property.configId"></a>

```typescript
public readonly configId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.SccNotificationConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SccNotificationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.SccNotificationConfig.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

---

##### `pubsubTopic`<sup>Required</sup> <a name="pubsubTopic" id="@dschmidt/provider-google.SccNotificationConfig.property.pubsubTopic"></a>

```typescript
public readonly pubsubTopic: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfig.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SccNotificationConfig.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SccSource <a name="SccSource" id="@dschmidt/provider-google.SccSource"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/scc_source google_scc_source}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SccSource.Initializer"></a>

```typescript
import { SccSource } from '@dschmidt/provider-google'

new SccSource(scope: Construct, id: string, config: SccSourceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccSource.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SccSource.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SccSource.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SccSourceConfig">SccSourceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SccSource.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SccSource.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SccSource.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SccSourceConfig">SccSourceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SccSource.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SccSource.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SccSource.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SccSource.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SccSource.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SccSource.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SccSource.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SccSource.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SccSource.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SccSource.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SccSource.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SccSource.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SccSource.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SccSource.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SccSource.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SccSource.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SccSource.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SccSource.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SccSource.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SccSource.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SccSource.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SccSource.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SccSource.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SccSource.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SccSource.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SccSource.putTimeouts"></a>

```typescript
public putTimeouts(value: SccSourceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SccSource.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SccSourceTimeouts">SccSourceTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.SccSource.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SccSource.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SccSource.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SccSource.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SccSource.isConstruct"></a>

```typescript
import { SccSource } from '@dschmidt/provider-google'

SccSource.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SccSource.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccSource.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SccSource.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SccSourceTimeoutsOutputReference">SccSourceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.organizationInput">organizationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SccSourceTimeouts">SccSourceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSource.property.organization">organization</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SccSource.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SccSource.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SccSource.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SccSource.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SccSource.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SccSource.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SccSource.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SccSource.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SccSource.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SccSource.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SccSource.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SccSource.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SccSource.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SccSource.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SccSource.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SccSource.property.timeouts"></a>

```typescript
public readonly timeouts: SccSourceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SccSourceTimeoutsOutputReference">SccSourceTimeoutsOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.SccSource.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.SccSource.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SccSource.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `organizationInput`<sup>Optional</sup> <a name="organizationInput" id="@dschmidt/provider-google.SccSource.property.organizationInput"></a>

```typescript
public readonly organizationInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SccSource.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SccSourceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SccSourceTimeouts">SccSourceTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.SccSource.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.SccSource.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SccSource.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.SccSource.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccSource.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SccSource.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SecretManagerSecret <a name="SecretManagerSecret" id="@dschmidt/provider-google.SecretManagerSecret"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret google_secret_manager_secret}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SecretManagerSecret.Initializer"></a>

```typescript
import { SecretManagerSecret } from '@dschmidt/provider-google'

new SecretManagerSecret(scope: Construct, id: string, config: SecretManagerSecretConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig">SecretManagerSecretConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SecretManagerSecret.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecret.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SecretManagerSecret.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretConfig">SecretManagerSecretConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.putReplication">putReplication</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.putRotation">putRotation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.putTopics">putTopics</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.resetExpireTime">resetExpireTime</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.resetRotation">resetRotation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.resetTopics">resetTopics</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.resetTtl">resetTtl</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SecretManagerSecret.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SecretManagerSecret.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SecretManagerSecret.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecret.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecret.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SecretManagerSecret.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecret.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SecretManagerSecret.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SecretManagerSecret.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SecretManagerSecret.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecret.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putReplication` <a name="putReplication" id="@dschmidt/provider-google.SecretManagerSecret.putReplication"></a>

```typescript
public putReplication(value: SecretManagerSecretReplication): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecret.putReplication.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretReplication">SecretManagerSecretReplication</a>

---

##### `putRotation` <a name="putRotation" id="@dschmidt/provider-google.SecretManagerSecret.putRotation"></a>

```typescript
public putRotation(value: SecretManagerSecretRotation): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecret.putRotation.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretRotation">SecretManagerSecretRotation</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SecretManagerSecret.putTimeouts"></a>

```typescript
public putTimeouts(value: SecretManagerSecretTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecret.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretTimeouts">SecretManagerSecretTimeouts</a>

---

##### `putTopics` <a name="putTopics" id="@dschmidt/provider-google.SecretManagerSecret.putTopics"></a>

```typescript
public putTopics(value: IResolvable | SecretManagerSecretTopics[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecret.putTopics.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SecretManagerSecretTopics">SecretManagerSecretTopics</a>[]

---

##### `resetExpireTime` <a name="resetExpireTime" id="@dschmidt/provider-google.SecretManagerSecret.resetExpireTime"></a>

```typescript
public resetExpireTime(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SecretManagerSecret.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.SecretManagerSecret.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SecretManagerSecret.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRotation` <a name="resetRotation" id="@dschmidt/provider-google.SecretManagerSecret.resetRotation"></a>

```typescript
public resetRotation(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SecretManagerSecret.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetTopics` <a name="resetTopics" id="@dschmidt/provider-google.SecretManagerSecret.resetTopics"></a>

```typescript
public resetTopics(): void
```

##### `resetTtl` <a name="resetTtl" id="@dschmidt/provider-google.SecretManagerSecret.resetTtl"></a>

```typescript
public resetTtl(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SecretManagerSecret.isConstruct"></a>

```typescript
import { SecretManagerSecret } from '@dschmidt/provider-google'

SecretManagerSecret.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SecretManagerSecret.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.replication">replication</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplicationOutputReference">SecretManagerSecretReplicationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.rotation">rotation</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretRotationOutputReference">SecretManagerSecretRotationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretTimeoutsOutputReference">SecretManagerSecretTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.topics">topics</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretTopicsList">SecretManagerSecretTopicsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.expireTimeInput">expireTimeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.replicationInput">replicationInput</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplication">SecretManagerSecretReplication</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.rotationInput">rotationInput</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretRotation">SecretManagerSecretRotation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.secretIdInput">secretIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SecretManagerSecretTimeouts">SecretManagerSecretTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.topicsInput">topicsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SecretManagerSecretTopics">SecretManagerSecretTopics</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.ttlInput">ttlInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.expireTime">expireTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.secretId">secretId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.ttl">ttl</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SecretManagerSecret.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SecretManagerSecret.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SecretManagerSecret.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SecretManagerSecret.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SecretManagerSecret.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SecretManagerSecret.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SecretManagerSecret.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecret.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecret.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecret.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecret.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecret.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecret.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecret.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.SecretManagerSecret.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SecretManagerSecret.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `replication`<sup>Required</sup> <a name="replication" id="@dschmidt/provider-google.SecretManagerSecret.property.replication"></a>

```typescript
public readonly replication: SecretManagerSecretReplicationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretReplicationOutputReference">SecretManagerSecretReplicationOutputReference</a>

---

##### `rotation`<sup>Required</sup> <a name="rotation" id="@dschmidt/provider-google.SecretManagerSecret.property.rotation"></a>

```typescript
public readonly rotation: SecretManagerSecretRotationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretRotationOutputReference">SecretManagerSecretRotationOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SecretManagerSecret.property.timeouts"></a>

```typescript
public readonly timeouts: SecretManagerSecretTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretTimeoutsOutputReference">SecretManagerSecretTimeoutsOutputReference</a>

---

##### `topics`<sup>Required</sup> <a name="topics" id="@dschmidt/provider-google.SecretManagerSecret.property.topics"></a>

```typescript
public readonly topics: SecretManagerSecretTopicsList;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretTopicsList">SecretManagerSecretTopicsList</a>

---

##### `expireTimeInput`<sup>Optional</sup> <a name="expireTimeInput" id="@dschmidt/provider-google.SecretManagerSecret.property.expireTimeInput"></a>

```typescript
public readonly expireTimeInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SecretManagerSecret.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.SecretManagerSecret.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SecretManagerSecret.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `replicationInput`<sup>Optional</sup> <a name="replicationInput" id="@dschmidt/provider-google.SecretManagerSecret.property.replicationInput"></a>

```typescript
public readonly replicationInput: SecretManagerSecretReplication;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretReplication">SecretManagerSecretReplication</a>

---

##### `rotationInput`<sup>Optional</sup> <a name="rotationInput" id="@dschmidt/provider-google.SecretManagerSecret.property.rotationInput"></a>

```typescript
public readonly rotationInput: SecretManagerSecretRotation;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretRotation">SecretManagerSecretRotation</a>

---

##### `secretIdInput`<sup>Optional</sup> <a name="secretIdInput" id="@dschmidt/provider-google.SecretManagerSecret.property.secretIdInput"></a>

```typescript
public readonly secretIdInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SecretManagerSecret.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SecretManagerSecretTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SecretManagerSecretTimeouts">SecretManagerSecretTimeouts</a>

---

##### `topicsInput`<sup>Optional</sup> <a name="topicsInput" id="@dschmidt/provider-google.SecretManagerSecret.property.topicsInput"></a>

```typescript
public readonly topicsInput: IResolvable | SecretManagerSecretTopics[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SecretManagerSecretTopics">SecretManagerSecretTopics</a>[]

---

##### `ttlInput`<sup>Optional</sup> <a name="ttlInput" id="@dschmidt/provider-google.SecretManagerSecret.property.ttlInput"></a>

```typescript
public readonly ttlInput: string;
```

- *Type:* string

---

##### `expireTime`<sup>Required</sup> <a name="expireTime" id="@dschmidt/provider-google.SecretManagerSecret.property.expireTime"></a>

```typescript
public readonly expireTime: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecret.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.SecretManagerSecret.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SecretManagerSecret.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.SecretManagerSecret.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

---

##### `ttl`<sup>Required</sup> <a name="ttl" id="@dschmidt/provider-google.SecretManagerSecret.property.ttl"></a>

```typescript
public readonly ttl: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecret.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SecretManagerSecret.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SecretManagerSecretIamBinding <a name="SecretManagerSecretIamBinding" id="@dschmidt/provider-google.SecretManagerSecretIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding google_secret_manager_secret_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.Initializer"></a>

```typescript
import { SecretManagerSecretIamBinding } from '@dschmidt/provider-google'

new SecretManagerSecretIamBinding(scope: Construct, id: string, config: SecretManagerSecretIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig">SecretManagerSecretIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig">SecretManagerSecretIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.putCondition"></a>

```typescript
public putCondition(value: SecretManagerSecretIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingCondition">SecretManagerSecretIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.isConstruct"></a>

```typescript
import { SecretManagerSecretIamBinding } from '@dschmidt/provider-google'

SecretManagerSecretIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConditionOutputReference">SecretManagerSecretIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingCondition">SecretManagerSecretIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.secretIdInput">secretIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.secretId">secretId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.condition"></a>

```typescript
public readonly condition: SecretManagerSecretIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConditionOutputReference">SecretManagerSecretIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: SecretManagerSecretIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingCondition">SecretManagerSecretIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `secretIdInput`<sup>Optional</sup> <a name="secretIdInput" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.secretIdInput"></a>

```typescript
public readonly secretIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SecretManagerSecretIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SecretManagerSecretIamMember <a name="SecretManagerSecretIamMember" id="@dschmidt/provider-google.SecretManagerSecretIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member google_secret_manager_secret_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SecretManagerSecretIamMember.Initializer"></a>

```typescript
import { SecretManagerSecretIamMember } from '@dschmidt/provider-google'

new SecretManagerSecretIamMember(scope: Construct, id: string, config: SecretManagerSecretIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig">SecretManagerSecretIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SecretManagerSecretIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SecretManagerSecretIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig">SecretManagerSecretIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SecretManagerSecretIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SecretManagerSecretIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SecretManagerSecretIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecretIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecretIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SecretManagerSecretIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecretIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SecretManagerSecretIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SecretManagerSecretIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.SecretManagerSecretIamMember.putCondition"></a>

```typescript
public putCondition(value: SecretManagerSecretIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecretIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberCondition">SecretManagerSecretIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.SecretManagerSecretIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SecretManagerSecretIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SecretManagerSecretIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SecretManagerSecretIamMember.isConstruct"></a>

```typescript
import { SecretManagerSecretIamMember } from '@dschmidt/provider-google'

SecretManagerSecretIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SecretManagerSecretIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConditionOutputReference">SecretManagerSecretIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberCondition">SecretManagerSecretIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.secretIdInput">secretIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.secretId">secretId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.condition"></a>

```typescript
public readonly condition: SecretManagerSecretIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConditionOutputReference">SecretManagerSecretIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: SecretManagerSecretIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberCondition">SecretManagerSecretIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `secretIdInput`<sup>Optional</sup> <a name="secretIdInput" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.secretIdInput"></a>

```typescript
public readonly secretIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SecretManagerSecretIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SecretManagerSecretIamPolicy <a name="SecretManagerSecretIamPolicy" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_policy google_secret_manager_secret_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.Initializer"></a>

```typescript
import { SecretManagerSecretIamPolicy } from '@dschmidt/provider-google'

new SecretManagerSecretIamPolicy(scope: Construct, id: string, config: SecretManagerSecretIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig">SecretManagerSecretIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig">SecretManagerSecretIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.isConstruct"></a>

```typescript
import { SecretManagerSecretIamPolicy } from '@dschmidt/provider-google'

SecretManagerSecretIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.secretIdInput">secretIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.secretId">secretId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `secretIdInput`<sup>Optional</sup> <a name="secretIdInput" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.secretIdInput"></a>

```typescript
public readonly secretIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SecretManagerSecretIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SecretManagerSecretVersion <a name="SecretManagerSecretVersion" id="@dschmidt/provider-google.SecretManagerSecretVersion"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version google_secret_manager_secret_version}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SecretManagerSecretVersion.Initializer"></a>

```typescript
import { SecretManagerSecretVersion } from '@dschmidt/provider-google'

new SecretManagerSecretVersion(scope: Construct, id: string, config: SecretManagerSecretVersionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig">SecretManagerSecretVersionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SecretManagerSecretVersion.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretVersion.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SecretManagerSecretVersion.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig">SecretManagerSecretVersionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.resetEnabled">resetEnabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SecretManagerSecretVersion.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SecretManagerSecretVersion.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SecretManagerSecretVersion.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecretVersion.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecretVersion.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SecretManagerSecretVersion.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SecretManagerSecretVersion.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SecretManagerSecretVersion.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SecretManagerSecretVersion.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SecretManagerSecretVersion.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SecretManagerSecretVersion.putTimeouts"></a>

```typescript
public putTimeouts(value: SecretManagerSecretVersionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SecretManagerSecretVersion.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretVersionTimeouts">SecretManagerSecretVersionTimeouts</a>

---

##### `resetEnabled` <a name="resetEnabled" id="@dschmidt/provider-google.SecretManagerSecretVersion.resetEnabled"></a>

```typescript
public resetEnabled(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SecretManagerSecretVersion.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SecretManagerSecretVersion.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SecretManagerSecretVersion.isConstruct"></a>

```typescript
import { SecretManagerSecretVersion } from '@dschmidt/provider-google'

SecretManagerSecretVersion.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SecretManagerSecretVersion.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.destroyTime">destroyTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionTimeoutsOutputReference">SecretManagerSecretVersionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.enabledInput">enabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.secretDataInput">secretDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.secretInput">secretInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SecretManagerSecretVersionTimeouts">SecretManagerSecretVersionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.secret">secret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.secretData">secretData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `destroyTime`<sup>Required</sup> <a name="destroyTime" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.destroyTime"></a>

```typescript
public readonly destroyTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.timeouts"></a>

```typescript
public readonly timeouts: SecretManagerSecretVersionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretVersionTimeoutsOutputReference">SecretManagerSecretVersionTimeoutsOutputReference</a>

---

##### `enabledInput`<sup>Optional</sup> <a name="enabledInput" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.enabledInput"></a>

```typescript
public readonly enabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `secretDataInput`<sup>Optional</sup> <a name="secretDataInput" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.secretDataInput"></a>

```typescript
public readonly secretDataInput: string;
```

- *Type:* string

---

##### `secretInput`<sup>Optional</sup> <a name="secretInput" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.secretInput"></a>

```typescript
public readonly secretInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SecretManagerSecretVersionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SecretManagerSecretVersionTimeouts">SecretManagerSecretVersionTimeouts</a>

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

---

##### `secretData`<sup>Required</sup> <a name="secretData" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.secretData"></a>

```typescript
public readonly secretData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersion.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SecretManagerSecretVersion.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ServiceAccount <a name="ServiceAccount" id="@dschmidt/provider-google.ServiceAccount"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/service_account google_service_account}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ServiceAccount.Initializer"></a>

```typescript
import { ServiceAccount } from '@dschmidt/provider-google'

new ServiceAccount(scope: Construct, id: string, config: ServiceAccountConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountConfig">ServiceAccountConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ServiceAccount.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccount.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ServiceAccount.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountConfig">ServiceAccountConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.resetDisabled">resetDisabled</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.resetDisplayName">resetDisplayName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ServiceAccount.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ServiceAccount.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ServiceAccount.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceAccount.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ServiceAccount.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ServiceAccount.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ServiceAccount.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ServiceAccount.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ServiceAccount.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ServiceAccount.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ServiceAccount.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ServiceAccount.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ServiceAccount.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ServiceAccount.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ServiceAccount.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ServiceAccount.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ServiceAccount.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ServiceAccount.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ServiceAccount.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccount.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ServiceAccount.putTimeouts"></a>

```typescript
public putTimeouts(value: ServiceAccountTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceAccount.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountTimeouts">ServiceAccountTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.ServiceAccount.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetDisabled` <a name="resetDisabled" id="@dschmidt/provider-google.ServiceAccount.resetDisabled"></a>

```typescript
public resetDisabled(): void
```

##### `resetDisplayName` <a name="resetDisplayName" id="@dschmidt/provider-google.ServiceAccount.resetDisplayName"></a>

```typescript
public resetDisplayName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ServiceAccount.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ServiceAccount.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ServiceAccount.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ServiceAccount.isConstruct"></a>

```typescript
import { ServiceAccount } from '@dschmidt/provider-google'

ServiceAccount.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ServiceAccount.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountTimeoutsOutputReference">ServiceAccountTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.uniqueId">uniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.accountIdInput">accountIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.disabledInput">disabledInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ServiceAccountTimeouts">ServiceAccountTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.accountId">accountId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ServiceAccount.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ServiceAccount.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ServiceAccount.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ServiceAccount.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ServiceAccount.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ServiceAccount.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ServiceAccount.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccount.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccount.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccount.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccount.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccount.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccount.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccount.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.ServiceAccount.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ServiceAccount.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ServiceAccount.property.timeouts"></a>

```typescript
public readonly timeouts: ServiceAccountTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountTimeoutsOutputReference">ServiceAccountTimeoutsOutputReference</a>

---

##### `uniqueId`<sup>Required</sup> <a name="uniqueId" id="@dschmidt/provider-google.ServiceAccount.property.uniqueId"></a>

```typescript
public readonly uniqueId: string;
```

- *Type:* string

---

##### `accountIdInput`<sup>Optional</sup> <a name="accountIdInput" id="@dschmidt/provider-google.ServiceAccount.property.accountIdInput"></a>

```typescript
public readonly accountIdInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.ServiceAccount.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `disabledInput`<sup>Optional</sup> <a name="disabledInput" id="@dschmidt/provider-google.ServiceAccount.property.disabledInput"></a>

```typescript
public readonly disabledInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.ServiceAccount.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ServiceAccount.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ServiceAccount.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ServiceAccount.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ServiceAccountTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ServiceAccountTimeouts">ServiceAccountTimeouts</a>

---

##### `accountId`<sup>Required</sup> <a name="accountId" id="@dschmidt/provider-google.ServiceAccount.property.accountId"></a>

```typescript
public readonly accountId: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.ServiceAccount.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ServiceAccount.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.ServiceAccount.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccount.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ServiceAccount.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccount.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ServiceAccount.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ServiceAccountIamBinding <a name="ServiceAccountIamBinding" id="@dschmidt/provider-google.ServiceAccountIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding google_service_account_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ServiceAccountIamBinding.Initializer"></a>

```typescript
import { ServiceAccountIamBinding } from '@dschmidt/provider-google'

new ServiceAccountIamBinding(scope: Construct, id: string, config: ServiceAccountIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig">ServiceAccountIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ServiceAccountIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ServiceAccountIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig">ServiceAccountIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ServiceAccountIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ServiceAccountIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ServiceAccountIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceAccountIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ServiceAccountIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ServiceAccountIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ServiceAccountIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ServiceAccountIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ServiceAccountIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ServiceAccountIamBinding.putCondition"></a>

```typescript
public putCondition(value: ServiceAccountIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceAccountIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamBindingCondition">ServiceAccountIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ServiceAccountIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ServiceAccountIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ServiceAccountIamBinding.isConstruct"></a>

```typescript
import { ServiceAccountIamBinding } from '@dschmidt/provider-google'

ServiceAccountIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ServiceAccountIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConditionOutputReference">ServiceAccountIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingCondition">ServiceAccountIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.serviceAccountIdInput">serviceAccountIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.serviceAccountId">serviceAccountId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.condition"></a>

```typescript
public readonly condition: ServiceAccountIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamBindingConditionOutputReference">ServiceAccountIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: ServiceAccountIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamBindingCondition">ServiceAccountIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceAccountIdInput`<sup>Optional</sup> <a name="serviceAccountIdInput" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.serviceAccountIdInput"></a>

```typescript
public readonly serviceAccountIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `serviceAccountId`<sup>Required</sup> <a name="serviceAccountId" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.serviceAccountId"></a>

```typescript
public readonly serviceAccountId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ServiceAccountIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ServiceAccountIamMember <a name="ServiceAccountIamMember" id="@dschmidt/provider-google.ServiceAccountIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member google_service_account_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ServiceAccountIamMember.Initializer"></a>

```typescript
import { ServiceAccountIamMember } from '@dschmidt/provider-google'

new ServiceAccountIamMember(scope: Construct, id: string, config: ServiceAccountIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig">ServiceAccountIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ServiceAccountIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ServiceAccountIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig">ServiceAccountIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ServiceAccountIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ServiceAccountIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ServiceAccountIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceAccountIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ServiceAccountIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ServiceAccountIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ServiceAccountIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ServiceAccountIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ServiceAccountIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.ServiceAccountIamMember.putCondition"></a>

```typescript
public putCondition(value: ServiceAccountIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceAccountIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamMemberCondition">ServiceAccountIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.ServiceAccountIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ServiceAccountIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ServiceAccountIamMember.isConstruct"></a>

```typescript
import { ServiceAccountIamMember } from '@dschmidt/provider-google'

ServiceAccountIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ServiceAccountIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConditionOutputReference">ServiceAccountIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberCondition">ServiceAccountIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.serviceAccountIdInput">serviceAccountIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.serviceAccountId">serviceAccountId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ServiceAccountIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ServiceAccountIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ServiceAccountIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ServiceAccountIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ServiceAccountIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ServiceAccountIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ServiceAccountIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccountIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccountIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccountIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccountIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccountIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccountIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccountIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.ServiceAccountIamMember.property.condition"></a>

```typescript
public readonly condition: ServiceAccountIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamMemberConditionOutputReference">ServiceAccountIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ServiceAccountIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.ServiceAccountIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: ServiceAccountIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamMemberCondition">ServiceAccountIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ServiceAccountIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.ServiceAccountIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.ServiceAccountIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `serviceAccountIdInput`<sup>Optional</sup> <a name="serviceAccountIdInput" id="@dschmidt/provider-google.ServiceAccountIamMember.property.serviceAccountIdInput"></a>

```typescript
public readonly serviceAccountIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ServiceAccountIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ServiceAccountIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `serviceAccountId`<sup>Required</sup> <a name="serviceAccountId" id="@dschmidt/provider-google.ServiceAccountIamMember.property.serviceAccountId"></a>

```typescript
public readonly serviceAccountId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ServiceAccountIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ServiceAccountIamPolicy <a name="ServiceAccountIamPolicy" id="@dschmidt/provider-google.ServiceAccountIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_policy google_service_account_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ServiceAccountIamPolicy.Initializer"></a>

```typescript
import { ServiceAccountIamPolicy } from '@dschmidt/provider-google'

new ServiceAccountIamPolicy(scope: Construct, id: string, config: ServiceAccountIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig">ServiceAccountIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ServiceAccountIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ServiceAccountIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig">ServiceAccountIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ServiceAccountIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ServiceAccountIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ServiceAccountIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceAccountIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ServiceAccountIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ServiceAccountIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ServiceAccountIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ServiceAccountIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ServiceAccountIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ServiceAccountIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ServiceAccountIamPolicy.isConstruct"></a>

```typescript
import { ServiceAccountIamPolicy } from '@dschmidt/provider-google'

ServiceAccountIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ServiceAccountIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.serviceAccountIdInput">serviceAccountIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.serviceAccountId">serviceAccountId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `serviceAccountIdInput`<sup>Optional</sup> <a name="serviceAccountIdInput" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.serviceAccountIdInput"></a>

```typescript
public readonly serviceAccountIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `serviceAccountId`<sup>Required</sup> <a name="serviceAccountId" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.serviceAccountId"></a>

```typescript
public readonly serviceAccountId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ServiceAccountIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ServiceAccountKey <a name="ServiceAccountKey" id="@dschmidt/provider-google.ServiceAccountKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/service_account_key google_service_account_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ServiceAccountKey.Initializer"></a>

```typescript
import { ServiceAccountKey } from '@dschmidt/provider-google'

new ServiceAccountKey(scope: Construct, id: string, config: ServiceAccountKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig">ServiceAccountKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ServiceAccountKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ServiceAccountKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountKeyConfig">ServiceAccountKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.resetKeepers">resetKeepers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.resetKeyAlgorithm">resetKeyAlgorithm</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.resetPrivateKeyType">resetPrivateKeyType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.resetPublicKeyData">resetPublicKeyData</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.resetPublicKeyType">resetPublicKeyType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ServiceAccountKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ServiceAccountKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ServiceAccountKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceAccountKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ServiceAccountKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ServiceAccountKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ServiceAccountKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ServiceAccountKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ServiceAccountKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ServiceAccountKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceAccountKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ServiceAccountKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetKeepers` <a name="resetKeepers" id="@dschmidt/provider-google.ServiceAccountKey.resetKeepers"></a>

```typescript
public resetKeepers(): void
```

##### `resetKeyAlgorithm` <a name="resetKeyAlgorithm" id="@dschmidt/provider-google.ServiceAccountKey.resetKeyAlgorithm"></a>

```typescript
public resetKeyAlgorithm(): void
```

##### `resetPrivateKeyType` <a name="resetPrivateKeyType" id="@dschmidt/provider-google.ServiceAccountKey.resetPrivateKeyType"></a>

```typescript
public resetPrivateKeyType(): void
```

##### `resetPublicKeyData` <a name="resetPublicKeyData" id="@dschmidt/provider-google.ServiceAccountKey.resetPublicKeyData"></a>

```typescript
public resetPublicKeyData(): void
```

##### `resetPublicKeyType` <a name="resetPublicKeyType" id="@dschmidt/provider-google.ServiceAccountKey.resetPublicKeyType"></a>

```typescript
public resetPublicKeyType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ServiceAccountKey.isConstruct"></a>

```typescript
import { ServiceAccountKey } from '@dschmidt/provider-google'

ServiceAccountKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ServiceAccountKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.privateKey">privateKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.publicKey">publicKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.validAfter">validAfter</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.validBefore">validBefore</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.keepersInput">keepersInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.keyAlgorithmInput">keyAlgorithmInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.privateKeyTypeInput">privateKeyTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.publicKeyDataInput">publicKeyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.publicKeyTypeInput">publicKeyTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.serviceAccountIdInput">serviceAccountIdInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.keepers">keepers</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.keyAlgorithm">keyAlgorithm</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.privateKeyType">privateKeyType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.publicKeyData">publicKeyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.publicKeyType">publicKeyType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.serviceAccountId">serviceAccountId</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ServiceAccountKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ServiceAccountKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ServiceAccountKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ServiceAccountKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ServiceAccountKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ServiceAccountKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ServiceAccountKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccountKey.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccountKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccountKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccountKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccountKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccountKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccountKey.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ServiceAccountKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `privateKey`<sup>Required</sup> <a name="privateKey" id="@dschmidt/provider-google.ServiceAccountKey.property.privateKey"></a>

```typescript
public readonly privateKey: string;
```

- *Type:* string

---

##### `publicKey`<sup>Required</sup> <a name="publicKey" id="@dschmidt/provider-google.ServiceAccountKey.property.publicKey"></a>

```typescript
public readonly publicKey: string;
```

- *Type:* string

---

##### `validAfter`<sup>Required</sup> <a name="validAfter" id="@dschmidt/provider-google.ServiceAccountKey.property.validAfter"></a>

```typescript
public readonly validAfter: string;
```

- *Type:* string

---

##### `validBefore`<sup>Required</sup> <a name="validBefore" id="@dschmidt/provider-google.ServiceAccountKey.property.validBefore"></a>

```typescript
public readonly validBefore: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ServiceAccountKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `keepersInput`<sup>Optional</sup> <a name="keepersInput" id="@dschmidt/provider-google.ServiceAccountKey.property.keepersInput"></a>

```typescript
public readonly keepersInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `keyAlgorithmInput`<sup>Optional</sup> <a name="keyAlgorithmInput" id="@dschmidt/provider-google.ServiceAccountKey.property.keyAlgorithmInput"></a>

```typescript
public readonly keyAlgorithmInput: string;
```

- *Type:* string

---

##### `privateKeyTypeInput`<sup>Optional</sup> <a name="privateKeyTypeInput" id="@dschmidt/provider-google.ServiceAccountKey.property.privateKeyTypeInput"></a>

```typescript
public readonly privateKeyTypeInput: string;
```

- *Type:* string

---

##### `publicKeyDataInput`<sup>Optional</sup> <a name="publicKeyDataInput" id="@dschmidt/provider-google.ServiceAccountKey.property.publicKeyDataInput"></a>

```typescript
public readonly publicKeyDataInput: string;
```

- *Type:* string

---

##### `publicKeyTypeInput`<sup>Optional</sup> <a name="publicKeyTypeInput" id="@dschmidt/provider-google.ServiceAccountKey.property.publicKeyTypeInput"></a>

```typescript
public readonly publicKeyTypeInput: string;
```

- *Type:* string

---

##### `serviceAccountIdInput`<sup>Optional</sup> <a name="serviceAccountIdInput" id="@dschmidt/provider-google.ServiceAccountKey.property.serviceAccountIdInput"></a>

```typescript
public readonly serviceAccountIdInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `keepers`<sup>Required</sup> <a name="keepers" id="@dschmidt/provider-google.ServiceAccountKey.property.keepers"></a>

```typescript
public readonly keepers: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `keyAlgorithm`<sup>Required</sup> <a name="keyAlgorithm" id="@dschmidt/provider-google.ServiceAccountKey.property.keyAlgorithm"></a>

```typescript
public readonly keyAlgorithm: string;
```

- *Type:* string

---

##### `privateKeyType`<sup>Required</sup> <a name="privateKeyType" id="@dschmidt/provider-google.ServiceAccountKey.property.privateKeyType"></a>

```typescript
public readonly privateKeyType: string;
```

- *Type:* string

---

##### `publicKeyData`<sup>Required</sup> <a name="publicKeyData" id="@dschmidt/provider-google.ServiceAccountKey.property.publicKeyData"></a>

```typescript
public readonly publicKeyData: string;
```

- *Type:* string

---

##### `publicKeyType`<sup>Required</sup> <a name="publicKeyType" id="@dschmidt/provider-google.ServiceAccountKey.property.publicKeyType"></a>

```typescript
public readonly publicKeyType: string;
```

- *Type:* string

---

##### `serviceAccountId`<sup>Required</sup> <a name="serviceAccountId" id="@dschmidt/provider-google.ServiceAccountKey.property.serviceAccountId"></a>

```typescript
public readonly serviceAccountId: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ServiceAccountKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ServiceNetworkingConnection <a name="ServiceNetworkingConnection" id="@dschmidt/provider-google.ServiceNetworkingConnection"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection google_service_networking_connection}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ServiceNetworkingConnection.Initializer"></a>

```typescript
import { ServiceNetworkingConnection } from '@dschmidt/provider-google'

new ServiceNetworkingConnection(scope: Construct, id: string, config: ServiceNetworkingConnectionConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig">ServiceNetworkingConnectionConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ServiceNetworkingConnection.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceNetworkingConnection.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ServiceNetworkingConnection.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig">ServiceNetworkingConnectionConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ServiceNetworkingConnection.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ServiceNetworkingConnection.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ServiceNetworkingConnection.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceNetworkingConnection.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ServiceNetworkingConnection.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ServiceNetworkingConnection.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ServiceNetworkingConnection.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ServiceNetworkingConnection.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ServiceNetworkingConnection.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingConnection.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ServiceNetworkingConnection.putTimeouts"></a>

```typescript
public putTimeouts(value: ServiceNetworkingConnectionTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceNetworkingConnection.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts">ServiceNetworkingConnectionTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ServiceNetworkingConnection.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ServiceNetworkingConnection.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ServiceNetworkingConnection.isConstruct"></a>

```typescript
import { ServiceNetworkingConnection } from '@dschmidt/provider-google'

ServiceNetworkingConnection.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ServiceNetworkingConnection.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.peering">peering</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeoutsOutputReference">ServiceNetworkingConnectionTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.reservedPeeringRangesInput">reservedPeeringRangesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts">ServiceNetworkingConnectionTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.reservedPeeringRanges">reservedPeeringRanges</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `peering`<sup>Required</sup> <a name="peering" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.peering"></a>

```typescript
public readonly peering: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.timeouts"></a>

```typescript
public readonly timeouts: ServiceNetworkingConnectionTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeoutsOutputReference">ServiceNetworkingConnectionTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `reservedPeeringRangesInput`<sup>Optional</sup> <a name="reservedPeeringRangesInput" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.reservedPeeringRangesInput"></a>

```typescript
public readonly reservedPeeringRangesInput: string[];
```

- *Type:* string[]

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ServiceNetworkingConnectionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts">ServiceNetworkingConnectionTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `reservedPeeringRanges`<sup>Required</sup> <a name="reservedPeeringRanges" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.reservedPeeringRanges"></a>

```typescript
public readonly reservedPeeringRanges: string[];
```

- *Type:* string[]

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnection.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ServiceNetworkingConnection.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### ServiceNetworkingPeeredDnsDomain <a name="ServiceNetworkingPeeredDnsDomain" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain google_service_networking_peered_dns_domain}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.Initializer"></a>

```typescript
import { ServiceNetworkingPeeredDnsDomain } from '@dschmidt/provider-google'

new ServiceNetworkingPeeredDnsDomain(scope: Construct, id: string, config: ServiceNetworkingPeeredDnsDomainConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig">ServiceNetworkingPeeredDnsDomainConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig">ServiceNetworkingPeeredDnsDomainConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetService">resetService</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.putTimeouts"></a>

```typescript
public putTimeouts(value: ServiceNetworkingPeeredDnsDomainTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts">ServiceNetworkingPeeredDnsDomainTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetService` <a name="resetService" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetService"></a>

```typescript
public resetService(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.isConstruct"></a>

```typescript
import { ServiceNetworkingPeeredDnsDomain } from '@dschmidt/provider-google'

ServiceNetworkingPeeredDnsDomain.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeoutsOutputReference">ServiceNetworkingPeeredDnsDomainTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.dnsSuffixInput">dnsSuffixInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.serviceInput">serviceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts">ServiceNetworkingPeeredDnsDomainTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.dnsSuffix">dnsSuffix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.service">service</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.timeouts"></a>

```typescript
public readonly timeouts: ServiceNetworkingPeeredDnsDomainTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeoutsOutputReference">ServiceNetworkingPeeredDnsDomainTimeoutsOutputReference</a>

---

##### `dnsSuffixInput`<sup>Optional</sup> <a name="dnsSuffixInput" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.dnsSuffixInput"></a>

```typescript
public readonly dnsSuffixInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceInput`<sup>Optional</sup> <a name="serviceInput" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.serviceInput"></a>

```typescript
public readonly serviceInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | ServiceNetworkingPeeredDnsDomainTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts">ServiceNetworkingPeeredDnsDomainTimeouts</a>

---

##### `dnsSuffix`<sup>Required</sup> <a name="dnsSuffix" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.dnsSuffix"></a>

```typescript
public readonly dnsSuffix: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomain.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SourcerepoRepository <a name="SourcerepoRepository" id="@dschmidt/provider-google.SourcerepoRepository"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository google_sourcerepo_repository}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SourcerepoRepository.Initializer"></a>

```typescript
import { SourcerepoRepository } from '@dschmidt/provider-google'

new SourcerepoRepository(scope: Construct, id: string, config: SourcerepoRepositoryConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig">SourcerepoRepositoryConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SourcerepoRepository.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepository.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SourcerepoRepository.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig">SourcerepoRepositoryConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.putPubsubConfigs">putPubsubConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.resetPubsubConfigs">resetPubsubConfigs</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SourcerepoRepository.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SourcerepoRepository.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SourcerepoRepository.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SourcerepoRepository.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SourcerepoRepository.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SourcerepoRepository.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SourcerepoRepository.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SourcerepoRepository.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SourcerepoRepository.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SourcerepoRepository.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepository.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putPubsubConfigs` <a name="putPubsubConfigs" id="@dschmidt/provider-google.SourcerepoRepository.putPubsubConfigs"></a>

```typescript
public putPubsubConfigs(value: IResolvable | SourcerepoRepositoryPubsubConfigs[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SourcerepoRepository.putPubsubConfigs.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs">SourcerepoRepositoryPubsubConfigs</a>[]

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SourcerepoRepository.putTimeouts"></a>

```typescript
public putTimeouts(value: SourcerepoRepositoryTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SourcerepoRepository.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeouts">SourcerepoRepositoryTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SourcerepoRepository.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SourcerepoRepository.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetPubsubConfigs` <a name="resetPubsubConfigs" id="@dschmidt/provider-google.SourcerepoRepository.resetPubsubConfigs"></a>

```typescript
public resetPubsubConfigs(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SourcerepoRepository.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SourcerepoRepository.isConstruct"></a>

```typescript
import { SourcerepoRepository } from '@dschmidt/provider-google'

SourcerepoRepository.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SourcerepoRepository.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.pubsubConfigs">pubsubConfigs</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigsList">SourcerepoRepositoryPubsubConfigsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.size">size</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeoutsOutputReference">SourcerepoRepositoryTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.url">url</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.pubsubConfigsInput">pubsubConfigsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs">SourcerepoRepositoryPubsubConfigs</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeouts">SourcerepoRepositoryTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SourcerepoRepository.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SourcerepoRepository.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SourcerepoRepository.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SourcerepoRepository.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SourcerepoRepository.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SourcerepoRepository.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SourcerepoRepository.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SourcerepoRepository.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SourcerepoRepository.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SourcerepoRepository.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SourcerepoRepository.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SourcerepoRepository.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SourcerepoRepository.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SourcerepoRepository.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `pubsubConfigs`<sup>Required</sup> <a name="pubsubConfigs" id="@dschmidt/provider-google.SourcerepoRepository.property.pubsubConfigs"></a>

```typescript
public readonly pubsubConfigs: SourcerepoRepositoryPubsubConfigsList;
```

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigsList">SourcerepoRepositoryPubsubConfigsList</a>

---

##### `size`<sup>Required</sup> <a name="size" id="@dschmidt/provider-google.SourcerepoRepository.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SourcerepoRepository.property.timeouts"></a>

```typescript
public readonly timeouts: SourcerepoRepositoryTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeoutsOutputReference">SourcerepoRepositoryTimeoutsOutputReference</a>

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.SourcerepoRepository.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SourcerepoRepository.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.SourcerepoRepository.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SourcerepoRepository.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `pubsubConfigsInput`<sup>Optional</sup> <a name="pubsubConfigsInput" id="@dschmidt/provider-google.SourcerepoRepository.property.pubsubConfigsInput"></a>

```typescript
public readonly pubsubConfigsInput: IResolvable | SourcerepoRepositoryPubsubConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs">SourcerepoRepositoryPubsubConfigs</a>[]

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SourcerepoRepository.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SourcerepoRepositoryTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeouts">SourcerepoRepositoryTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepository.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SourcerepoRepository.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SourcerepoRepository.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepository.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SourcerepoRepository.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SourcerepoRepositoryIamBinding <a name="SourcerepoRepositoryIamBinding" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding google_sourcerepo_repository_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.Initializer"></a>

```typescript
import { SourcerepoRepositoryIamBinding } from '@dschmidt/provider-google'

new SourcerepoRepositoryIamBinding(scope: Construct, id: string, config: SourcerepoRepositoryIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig">SourcerepoRepositoryIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig">SourcerepoRepositoryIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.putCondition"></a>

```typescript
public putCondition(value: SourcerepoRepositoryIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition">SourcerepoRepositoryIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.isConstruct"></a>

```typescript
import { SourcerepoRepositoryIamBinding } from '@dschmidt/provider-google'

SourcerepoRepositoryIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConditionOutputReference">SourcerepoRepositoryIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition">SourcerepoRepositoryIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.repositoryInput">repositoryInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.repository">repository</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.condition"></a>

```typescript
public readonly condition: SourcerepoRepositoryIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConditionOutputReference">SourcerepoRepositoryIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: SourcerepoRepositoryIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition">SourcerepoRepositoryIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `repositoryInput`<sup>Optional</sup> <a name="repositoryInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.repositoryInput"></a>

```typescript
public readonly repositoryInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SourcerepoRepositoryIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SourcerepoRepositoryIamMember <a name="SourcerepoRepositoryIamMember" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member google_sourcerepo_repository_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.Initializer"></a>

```typescript
import { SourcerepoRepositoryIamMember } from '@dschmidt/provider-google'

new SourcerepoRepositoryIamMember(scope: Construct, id: string, config: SourcerepoRepositoryIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig">SourcerepoRepositoryIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig">SourcerepoRepositoryIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.putCondition"></a>

```typescript
public putCondition(value: SourcerepoRepositoryIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition">SourcerepoRepositoryIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.isConstruct"></a>

```typescript
import { SourcerepoRepositoryIamMember } from '@dschmidt/provider-google'

SourcerepoRepositoryIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConditionOutputReference">SourcerepoRepositoryIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition">SourcerepoRepositoryIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.repositoryInput">repositoryInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.repository">repository</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.condition"></a>

```typescript
public readonly condition: SourcerepoRepositoryIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConditionOutputReference">SourcerepoRepositoryIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: SourcerepoRepositoryIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition">SourcerepoRepositoryIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `repositoryInput`<sup>Optional</sup> <a name="repositoryInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.repositoryInput"></a>

```typescript
public readonly repositoryInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SourcerepoRepositoryIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SourcerepoRepositoryIamPolicy <a name="SourcerepoRepositoryIamPolicy" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_policy google_sourcerepo_repository_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.Initializer"></a>

```typescript
import { SourcerepoRepositoryIamPolicy } from '@dschmidt/provider-google'

new SourcerepoRepositoryIamPolicy(scope: Construct, id: string, config: SourcerepoRepositoryIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig">SourcerepoRepositoryIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig">SourcerepoRepositoryIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.isConstruct"></a>

```typescript
import { SourcerepoRepositoryIamPolicy } from '@dschmidt/provider-google'

SourcerepoRepositoryIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.repositoryInput">repositoryInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.repository">repository</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `repositoryInput`<sup>Optional</sup> <a name="repositoryInput" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.repositoryInput"></a>

```typescript
public readonly repositoryInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SpannerDatabase <a name="SpannerDatabase" id="@dschmidt/provider-google.SpannerDatabase"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/spanner_database google_spanner_database}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SpannerDatabase.Initializer"></a>

```typescript
import { SpannerDatabase } from '@dschmidt/provider-google'

new SpannerDatabase(scope: Construct, id: string, config: SpannerDatabaseConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig">SpannerDatabaseConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SpannerDatabase.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabase.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerDatabase.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseConfig">SpannerDatabaseConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.putEncryptionConfig">putEncryptionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.resetDatabaseDialect">resetDatabaseDialect</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.resetDdl">resetDdl</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.resetDeletionProtection">resetDeletionProtection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.resetEncryptionConfig">resetEncryptionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.resetVersionRetentionPeriod">resetVersionRetentionPeriod</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SpannerDatabase.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SpannerDatabase.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SpannerDatabase.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerDatabase.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SpannerDatabase.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SpannerDatabase.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SpannerDatabase.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SpannerDatabase.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SpannerDatabase.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SpannerDatabase.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SpannerDatabase.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SpannerDatabase.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SpannerDatabase.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SpannerDatabase.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SpannerDatabase.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SpannerDatabase.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SpannerDatabase.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SpannerDatabase.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SpannerDatabase.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabase.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEncryptionConfig` <a name="putEncryptionConfig" id="@dschmidt/provider-google.SpannerDatabase.putEncryptionConfig"></a>

```typescript
public putEncryptionConfig(value: SpannerDatabaseEncryptionConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerDatabase.putEncryptionConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseEncryptionConfig">SpannerDatabaseEncryptionConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SpannerDatabase.putTimeouts"></a>

```typescript
public putTimeouts(value: SpannerDatabaseTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerDatabase.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseTimeouts">SpannerDatabaseTimeouts</a>

---

##### `resetDatabaseDialect` <a name="resetDatabaseDialect" id="@dschmidt/provider-google.SpannerDatabase.resetDatabaseDialect"></a>

```typescript
public resetDatabaseDialect(): void
```

##### `resetDdl` <a name="resetDdl" id="@dschmidt/provider-google.SpannerDatabase.resetDdl"></a>

```typescript
public resetDdl(): void
```

##### `resetDeletionProtection` <a name="resetDeletionProtection" id="@dschmidt/provider-google.SpannerDatabase.resetDeletionProtection"></a>

```typescript
public resetDeletionProtection(): void
```

##### `resetEncryptionConfig` <a name="resetEncryptionConfig" id="@dschmidt/provider-google.SpannerDatabase.resetEncryptionConfig"></a>

```typescript
public resetEncryptionConfig(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SpannerDatabase.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SpannerDatabase.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SpannerDatabase.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetVersionRetentionPeriod` <a name="resetVersionRetentionPeriod" id="@dschmidt/provider-google.SpannerDatabase.resetVersionRetentionPeriod"></a>

```typescript
public resetVersionRetentionPeriod(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SpannerDatabase.isConstruct"></a>

```typescript
import { SpannerDatabase } from '@dschmidt/provider-google'

SpannerDatabase.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SpannerDatabase.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.encryptionConfig">encryptionConfig</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseEncryptionConfigOutputReference">SpannerDatabaseEncryptionConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseTimeoutsOutputReference">SpannerDatabaseTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.databaseDialectInput">databaseDialectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.ddlInput">ddlInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.deletionProtectionInput">deletionProtectionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.encryptionConfigInput">encryptionConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseEncryptionConfig">SpannerDatabaseEncryptionConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SpannerDatabaseTimeouts">SpannerDatabaseTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.versionRetentionPeriodInput">versionRetentionPeriodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.databaseDialect">databaseDialect</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.ddl">ddl</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.versionRetentionPeriod">versionRetentionPeriod</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SpannerDatabase.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SpannerDatabase.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SpannerDatabase.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SpannerDatabase.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SpannerDatabase.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SpannerDatabase.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SpannerDatabase.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerDatabase.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerDatabase.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerDatabase.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerDatabase.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerDatabase.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerDatabase.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerDatabase.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `encryptionConfig`<sup>Required</sup> <a name="encryptionConfig" id="@dschmidt/provider-google.SpannerDatabase.property.encryptionConfig"></a>

```typescript
public readonly encryptionConfig: SpannerDatabaseEncryptionConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseEncryptionConfigOutputReference">SpannerDatabaseEncryptionConfigOutputReference</a>

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.SpannerDatabase.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SpannerDatabase.property.timeouts"></a>

```typescript
public readonly timeouts: SpannerDatabaseTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseTimeoutsOutputReference">SpannerDatabaseTimeoutsOutputReference</a>

---

##### `databaseDialectInput`<sup>Optional</sup> <a name="databaseDialectInput" id="@dschmidt/provider-google.SpannerDatabase.property.databaseDialectInput"></a>

```typescript
public readonly databaseDialectInput: string;
```

- *Type:* string

---

##### `ddlInput`<sup>Optional</sup> <a name="ddlInput" id="@dschmidt/provider-google.SpannerDatabase.property.ddlInput"></a>

```typescript
public readonly ddlInput: string[];
```

- *Type:* string[]

---

##### `deletionProtectionInput`<sup>Optional</sup> <a name="deletionProtectionInput" id="@dschmidt/provider-google.SpannerDatabase.property.deletionProtectionInput"></a>

```typescript
public readonly deletionProtectionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `encryptionConfigInput`<sup>Optional</sup> <a name="encryptionConfigInput" id="@dschmidt/provider-google.SpannerDatabase.property.encryptionConfigInput"></a>

```typescript
public readonly encryptionConfigInput: SpannerDatabaseEncryptionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseEncryptionConfig">SpannerDatabaseEncryptionConfig</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SpannerDatabase.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SpannerDatabase.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.SpannerDatabase.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SpannerDatabase.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SpannerDatabase.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SpannerDatabaseTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SpannerDatabaseTimeouts">SpannerDatabaseTimeouts</a>

---

##### `versionRetentionPeriodInput`<sup>Optional</sup> <a name="versionRetentionPeriodInput" id="@dschmidt/provider-google.SpannerDatabase.property.versionRetentionPeriodInput"></a>

```typescript
public readonly versionRetentionPeriodInput: string;
```

- *Type:* string

---

##### `databaseDialect`<sup>Required</sup> <a name="databaseDialect" id="@dschmidt/provider-google.SpannerDatabase.property.databaseDialect"></a>

```typescript
public readonly databaseDialect: string;
```

- *Type:* string

---

##### `ddl`<sup>Required</sup> <a name="ddl" id="@dschmidt/provider-google.SpannerDatabase.property.ddl"></a>

```typescript
public readonly ddl: string[];
```

- *Type:* string[]

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.SpannerDatabase.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabase.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerDatabase.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SpannerDatabase.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SpannerDatabase.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `versionRetentionPeriod`<sup>Required</sup> <a name="versionRetentionPeriod" id="@dschmidt/provider-google.SpannerDatabase.property.versionRetentionPeriod"></a>

```typescript
public readonly versionRetentionPeriod: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabase.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SpannerDatabase.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SpannerDatabaseIamBinding <a name="SpannerDatabaseIamBinding" id="@dschmidt/provider-google.SpannerDatabaseIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding google_spanner_database_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.Initializer"></a>

```typescript
import { SpannerDatabaseIamBinding } from '@dschmidt/provider-google'

new SpannerDatabaseIamBinding(scope: Construct, id: string, config: SpannerDatabaseIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig">SpannerDatabaseIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig">SpannerDatabaseIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.putCondition"></a>

```typescript
public putCondition(value: SpannerDatabaseIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingCondition">SpannerDatabaseIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.isConstruct"></a>

```typescript
import { SpannerDatabaseIamBinding } from '@dschmidt/provider-google'

SpannerDatabaseIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConditionOutputReference">SpannerDatabaseIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingCondition">SpannerDatabaseIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.databaseInput">databaseInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.database">database</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.condition"></a>

```typescript
public readonly condition: SpannerDatabaseIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConditionOutputReference">SpannerDatabaseIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: SpannerDatabaseIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingCondition">SpannerDatabaseIamBindingCondition</a>

---

##### `databaseInput`<sup>Optional</sup> <a name="databaseInput" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.databaseInput"></a>

```typescript
public readonly databaseInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SpannerDatabaseIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SpannerDatabaseIamMember <a name="SpannerDatabaseIamMember" id="@dschmidt/provider-google.SpannerDatabaseIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member google_spanner_database_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SpannerDatabaseIamMember.Initializer"></a>

```typescript
import { SpannerDatabaseIamMember } from '@dschmidt/provider-google'

new SpannerDatabaseIamMember(scope: Construct, id: string, config: SpannerDatabaseIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig">SpannerDatabaseIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SpannerDatabaseIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerDatabaseIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig">SpannerDatabaseIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SpannerDatabaseIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SpannerDatabaseIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SpannerDatabaseIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerDatabaseIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SpannerDatabaseIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SpannerDatabaseIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SpannerDatabaseIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SpannerDatabaseIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SpannerDatabaseIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.SpannerDatabaseIamMember.putCondition"></a>

```typescript
public putCondition(value: SpannerDatabaseIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerDatabaseIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberCondition">SpannerDatabaseIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.SpannerDatabaseIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SpannerDatabaseIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SpannerDatabaseIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SpannerDatabaseIamMember.isConstruct"></a>

```typescript
import { SpannerDatabaseIamMember } from '@dschmidt/provider-google'

SpannerDatabaseIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SpannerDatabaseIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConditionOutputReference">SpannerDatabaseIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberCondition">SpannerDatabaseIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.databaseInput">databaseInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.database">database</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.condition"></a>

```typescript
public readonly condition: SpannerDatabaseIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConditionOutputReference">SpannerDatabaseIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: SpannerDatabaseIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberCondition">SpannerDatabaseIamMemberCondition</a>

---

##### `databaseInput`<sup>Optional</sup> <a name="databaseInput" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.databaseInput"></a>

```typescript
public readonly databaseInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SpannerDatabaseIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SpannerDatabaseIamPolicy <a name="SpannerDatabaseIamPolicy" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy google_spanner_database_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.Initializer"></a>

```typescript
import { SpannerDatabaseIamPolicy } from '@dschmidt/provider-google'

new SpannerDatabaseIamPolicy(scope: Construct, id: string, config: SpannerDatabaseIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig">SpannerDatabaseIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig">SpannerDatabaseIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.isConstruct"></a>

```typescript
import { SpannerDatabaseIamPolicy } from '@dschmidt/provider-google'

SpannerDatabaseIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.databaseInput">databaseInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.database">database</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `databaseInput`<sup>Optional</sup> <a name="databaseInput" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.databaseInput"></a>

```typescript
public readonly databaseInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SpannerDatabaseIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SpannerInstance <a name="SpannerInstance" id="@dschmidt/provider-google.SpannerInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/spanner_instance google_spanner_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SpannerInstance.Initializer"></a>

```typescript
import { SpannerInstance } from '@dschmidt/provider-google'

new SpannerInstance(scope: Construct, id: string, config: SpannerInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig">SpannerInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SpannerInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceConfig">SpannerInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.resetForceDestroy">resetForceDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.resetNumNodes">resetNumNodes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.resetProcessingUnits">resetProcessingUnits</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SpannerInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SpannerInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SpannerInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SpannerInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SpannerInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SpannerInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SpannerInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SpannerInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SpannerInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SpannerInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SpannerInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SpannerInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SpannerInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SpannerInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SpannerInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SpannerInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SpannerInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SpannerInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SpannerInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: SpannerInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceTimeouts">SpannerInstanceTimeouts</a>

---

##### `resetForceDestroy` <a name="resetForceDestroy" id="@dschmidt/provider-google.SpannerInstance.resetForceDestroy"></a>

```typescript
public resetForceDestroy(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SpannerInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.SpannerInstance.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.SpannerInstance.resetName"></a>

```typescript
public resetName(): void
```

##### `resetNumNodes` <a name="resetNumNodes" id="@dschmidt/provider-google.SpannerInstance.resetNumNodes"></a>

```typescript
public resetNumNodes(): void
```

##### `resetProcessingUnits` <a name="resetProcessingUnits" id="@dschmidt/provider-google.SpannerInstance.resetProcessingUnits"></a>

```typescript
public resetProcessingUnits(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SpannerInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SpannerInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SpannerInstance.isConstruct"></a>

```typescript
import { SpannerInstance } from '@dschmidt/provider-google'

SpannerInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SpannerInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceTimeoutsOutputReference">SpannerInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.configInput">configInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.forceDestroyInput">forceDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.numNodesInput">numNodesInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.processingUnitsInput">processingUnitsInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SpannerInstanceTimeouts">SpannerInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.config">config</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.forceDestroy">forceDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.numNodes">numNodes</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.processingUnits">processingUnits</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SpannerInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SpannerInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SpannerInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SpannerInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SpannerInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SpannerInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SpannerInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.SpannerInstance.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SpannerInstance.property.timeouts"></a>

```typescript
public readonly timeouts: SpannerInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceTimeoutsOutputReference">SpannerInstanceTimeoutsOutputReference</a>

---

##### `configInput`<sup>Optional</sup> <a name="configInput" id="@dschmidt/provider-google.SpannerInstance.property.configInput"></a>

```typescript
public readonly configInput: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.SpannerInstance.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `forceDestroyInput`<sup>Optional</sup> <a name="forceDestroyInput" id="@dschmidt/provider-google.SpannerInstance.property.forceDestroyInput"></a>

```typescript
public readonly forceDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SpannerInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.SpannerInstance.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.SpannerInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `numNodesInput`<sup>Optional</sup> <a name="numNodesInput" id="@dschmidt/provider-google.SpannerInstance.property.numNodesInput"></a>

```typescript
public readonly numNodesInput: number;
```

- *Type:* number

---

##### `processingUnitsInput`<sup>Optional</sup> <a name="processingUnitsInput" id="@dschmidt/provider-google.SpannerInstance.property.processingUnitsInput"></a>

```typescript
public readonly processingUnitsInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SpannerInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SpannerInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SpannerInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SpannerInstanceTimeouts">SpannerInstanceTimeouts</a>

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerInstance.property.config"></a>

```typescript
public readonly config: string;
```

- *Type:* string

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.SpannerInstance.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `forceDestroy`<sup>Required</sup> <a name="forceDestroy" id="@dschmidt/provider-google.SpannerInstance.property.forceDestroy"></a>

```typescript
public readonly forceDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.SpannerInstance.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SpannerInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `numNodes`<sup>Required</sup> <a name="numNodes" id="@dschmidt/provider-google.SpannerInstance.property.numNodes"></a>

```typescript
public readonly numNodes: number;
```

- *Type:* number

---

##### `processingUnits`<sup>Required</sup> <a name="processingUnits" id="@dschmidt/provider-google.SpannerInstance.property.processingUnits"></a>

```typescript
public readonly processingUnits: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SpannerInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SpannerInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SpannerInstanceIamBinding <a name="SpannerInstanceIamBinding" id="@dschmidt/provider-google.SpannerInstanceIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding google_spanner_instance_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SpannerInstanceIamBinding.Initializer"></a>

```typescript
import { SpannerInstanceIamBinding } from '@dschmidt/provider-google'

new SpannerInstanceIamBinding(scope: Construct, id: string, config: SpannerInstanceIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig">SpannerInstanceIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SpannerInstanceIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerInstanceIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig">SpannerInstanceIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SpannerInstanceIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SpannerInstanceIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SpannerInstanceIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerInstanceIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SpannerInstanceIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SpannerInstanceIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SpannerInstanceIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SpannerInstanceIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SpannerInstanceIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.SpannerInstanceIamBinding.putCondition"></a>

```typescript
public putCondition(value: SpannerInstanceIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerInstanceIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamBindingCondition">SpannerInstanceIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.SpannerInstanceIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SpannerInstanceIamBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SpannerInstanceIamBinding.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SpannerInstanceIamBinding.isConstruct"></a>

```typescript
import { SpannerInstanceIamBinding } from '@dschmidt/provider-google'

SpannerInstanceIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SpannerInstanceIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConditionOutputReference">SpannerInstanceIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingCondition">SpannerInstanceIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.condition"></a>

```typescript
public readonly condition: SpannerInstanceIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConditionOutputReference">SpannerInstanceIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: SpannerInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamBindingCondition">SpannerInstanceIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SpannerInstanceIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SpannerInstanceIamMember <a name="SpannerInstanceIamMember" id="@dschmidt/provider-google.SpannerInstanceIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member google_spanner_instance_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SpannerInstanceIamMember.Initializer"></a>

```typescript
import { SpannerInstanceIamMember } from '@dschmidt/provider-google'

new SpannerInstanceIamMember(scope: Construct, id: string, config: SpannerInstanceIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig">SpannerInstanceIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SpannerInstanceIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerInstanceIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig">SpannerInstanceIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SpannerInstanceIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SpannerInstanceIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SpannerInstanceIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerInstanceIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SpannerInstanceIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SpannerInstanceIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SpannerInstanceIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SpannerInstanceIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SpannerInstanceIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.SpannerInstanceIamMember.putCondition"></a>

```typescript
public putCondition(value: SpannerInstanceIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerInstanceIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamMemberCondition">SpannerInstanceIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.SpannerInstanceIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SpannerInstanceIamMember.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SpannerInstanceIamMember.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SpannerInstanceIamMember.isConstruct"></a>

```typescript
import { SpannerInstanceIamMember } from '@dschmidt/provider-google'

SpannerInstanceIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SpannerInstanceIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConditionOutputReference">SpannerInstanceIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberCondition">SpannerInstanceIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.condition"></a>

```typescript
public readonly condition: SpannerInstanceIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConditionOutputReference">SpannerInstanceIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: SpannerInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamMemberCondition">SpannerInstanceIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SpannerInstanceIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SpannerInstanceIamPolicy <a name="SpannerInstanceIamPolicy" id="@dschmidt/provider-google.SpannerInstanceIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_policy google_spanner_instance_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.Initializer"></a>

```typescript
import { SpannerInstanceIamPolicy } from '@dschmidt/provider-google'

new SpannerInstanceIamPolicy(scope: Construct, id: string, config: SpannerInstanceIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig">SpannerInstanceIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig">SpannerInstanceIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.resetProject">resetProject</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.resetProject"></a>

```typescript
public resetProject(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.isConstruct"></a>

```typescript
import { SpannerInstanceIamPolicy } from '@dschmidt/provider-google'

SpannerInstanceIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SpannerInstanceIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SqlDatabase <a name="SqlDatabase" id="@dschmidt/provider-google.SqlDatabase"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/sql_database google_sql_database}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SqlDatabase.Initializer"></a>

```typescript
import { SqlDatabase } from '@dschmidt/provider-google'

new SqlDatabase(scope: Construct, id: string, config: SqlDatabaseConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig">SqlDatabaseConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SqlDatabase.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlDatabase.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SqlDatabase.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseConfig">SqlDatabaseConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.resetCharset">resetCharset</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.resetCollation">resetCollation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SqlDatabase.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SqlDatabase.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SqlDatabase.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabase.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SqlDatabase.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SqlDatabase.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SqlDatabase.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SqlDatabase.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SqlDatabase.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SqlDatabase.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SqlDatabase.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SqlDatabase.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SqlDatabase.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SqlDatabase.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SqlDatabase.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SqlDatabase.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SqlDatabase.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SqlDatabase.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SqlDatabase.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabase.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SqlDatabase.putTimeouts"></a>

```typescript
public putTimeouts(value: SqlDatabaseTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabase.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseTimeouts">SqlDatabaseTimeouts</a>

---

##### `resetCharset` <a name="resetCharset" id="@dschmidt/provider-google.SqlDatabase.resetCharset"></a>

```typescript
public resetCharset(): void
```

##### `resetCollation` <a name="resetCollation" id="@dschmidt/provider-google.SqlDatabase.resetCollation"></a>

```typescript
public resetCollation(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SqlDatabase.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SqlDatabase.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SqlDatabase.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SqlDatabase.isConstruct"></a>

```typescript
import { SqlDatabase } from '@dschmidt/provider-google'

SqlDatabase.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SqlDatabase.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseTimeoutsOutputReference">SqlDatabaseTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.charsetInput">charsetInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.collationInput">collationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SqlDatabaseTimeouts">SqlDatabaseTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.charset">charset</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.collation">collation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SqlDatabase.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SqlDatabase.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SqlDatabase.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SqlDatabase.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SqlDatabase.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SqlDatabase.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SqlDatabase.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlDatabase.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlDatabase.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlDatabase.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlDatabase.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlDatabase.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlDatabase.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlDatabase.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.SqlDatabase.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlDatabase.property.timeouts"></a>

```typescript
public readonly timeouts: SqlDatabaseTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseTimeoutsOutputReference">SqlDatabaseTimeoutsOutputReference</a>

---

##### `charsetInput`<sup>Optional</sup> <a name="charsetInput" id="@dschmidt/provider-google.SqlDatabase.property.charsetInput"></a>

```typescript
public readonly charsetInput: string;
```

- *Type:* string

---

##### `collationInput`<sup>Optional</sup> <a name="collationInput" id="@dschmidt/provider-google.SqlDatabase.property.collationInput"></a>

```typescript
public readonly collationInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SqlDatabase.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SqlDatabase.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.SqlDatabase.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SqlDatabase.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SqlDatabase.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SqlDatabaseTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SqlDatabaseTimeouts">SqlDatabaseTimeouts</a>

---

##### `charset`<sup>Required</sup> <a name="charset" id="@dschmidt/provider-google.SqlDatabase.property.charset"></a>

```typescript
public readonly charset: string;
```

- *Type:* string

---

##### `collation`<sup>Required</sup> <a name="collation" id="@dschmidt/provider-google.SqlDatabase.property.collation"></a>

```typescript
public readonly collation: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlDatabase.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SqlDatabase.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SqlDatabase.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SqlDatabase.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabase.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SqlDatabase.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SqlDatabaseInstance <a name="SqlDatabaseInstance" id="@dschmidt/provider-google.SqlDatabaseInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance google_sql_database_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SqlDatabaseInstance.Initializer"></a>

```typescript
import { SqlDatabaseInstance } from '@dschmidt/provider-google'

new SqlDatabaseInstance(scope: Construct, id: string, config: SqlDatabaseInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig">SqlDatabaseInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SqlDatabaseInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlDatabaseInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SqlDatabaseInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig">SqlDatabaseInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.putClone">putClone</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.putReplicaConfiguration">putReplicaConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.putRestoreBackupContext">putRestoreBackupContext</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.putSettings">putSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetClone">resetClone</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetDeletionProtection">resetDeletionProtection</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetEncryptionKeyName">resetEncryptionKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetMasterInstanceName">resetMasterInstanceName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetReplicaConfiguration">resetReplicaConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetRestoreBackupContext">resetRestoreBackupContext</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetRootPassword">resetRootPassword</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetSettings">resetSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SqlDatabaseInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SqlDatabaseInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SqlDatabaseInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabaseInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SqlDatabaseInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SqlDatabaseInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SqlDatabaseInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SqlDatabaseInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SqlDatabaseInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlDatabaseInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putClone` <a name="putClone" id="@dschmidt/provider-google.SqlDatabaseInstance.putClone"></a>

```typescript
public putClone(value: SqlDatabaseInstanceClone): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabaseInstance.putClone.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceClone">SqlDatabaseInstanceClone</a>

---

##### `putReplicaConfiguration` <a name="putReplicaConfiguration" id="@dschmidt/provider-google.SqlDatabaseInstance.putReplicaConfiguration"></a>

```typescript
public putReplicaConfiguration(value: SqlDatabaseInstanceReplicaConfiguration): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabaseInstance.putReplicaConfiguration.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration">SqlDatabaseInstanceReplicaConfiguration</a>

---

##### `putRestoreBackupContext` <a name="putRestoreBackupContext" id="@dschmidt/provider-google.SqlDatabaseInstance.putRestoreBackupContext"></a>

```typescript
public putRestoreBackupContext(value: SqlDatabaseInstanceRestoreBackupContext): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabaseInstance.putRestoreBackupContext.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext">SqlDatabaseInstanceRestoreBackupContext</a>

---

##### `putSettings` <a name="putSettings" id="@dschmidt/provider-google.SqlDatabaseInstance.putSettings"></a>

```typescript
public putSettings(value: SqlDatabaseInstanceSettings): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabaseInstance.putSettings.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings">SqlDatabaseInstanceSettings</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SqlDatabaseInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: SqlDatabaseInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabaseInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeouts">SqlDatabaseInstanceTimeouts</a>

---

##### `resetClone` <a name="resetClone" id="@dschmidt/provider-google.SqlDatabaseInstance.resetClone"></a>

```typescript
public resetClone(): void
```

##### `resetDeletionProtection` <a name="resetDeletionProtection" id="@dschmidt/provider-google.SqlDatabaseInstance.resetDeletionProtection"></a>

```typescript
public resetDeletionProtection(): void
```

##### `resetEncryptionKeyName` <a name="resetEncryptionKeyName" id="@dschmidt/provider-google.SqlDatabaseInstance.resetEncryptionKeyName"></a>

```typescript
public resetEncryptionKeyName(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SqlDatabaseInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetMasterInstanceName` <a name="resetMasterInstanceName" id="@dschmidt/provider-google.SqlDatabaseInstance.resetMasterInstanceName"></a>

```typescript
public resetMasterInstanceName(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.SqlDatabaseInstance.resetName"></a>

```typescript
public resetName(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SqlDatabaseInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.SqlDatabaseInstance.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetReplicaConfiguration` <a name="resetReplicaConfiguration" id="@dschmidt/provider-google.SqlDatabaseInstance.resetReplicaConfiguration"></a>

```typescript
public resetReplicaConfiguration(): void
```

##### `resetRestoreBackupContext` <a name="resetRestoreBackupContext" id="@dschmidt/provider-google.SqlDatabaseInstance.resetRestoreBackupContext"></a>

```typescript
public resetRestoreBackupContext(): void
```

##### `resetRootPassword` <a name="resetRootPassword" id="@dschmidt/provider-google.SqlDatabaseInstance.resetRootPassword"></a>

```typescript
public resetRootPassword(): void
```

##### `resetSettings` <a name="resetSettings" id="@dschmidt/provider-google.SqlDatabaseInstance.resetSettings"></a>

```typescript
public resetSettings(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SqlDatabaseInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SqlDatabaseInstance.isConstruct"></a>

```typescript
import { SqlDatabaseInstance } from '@dschmidt/provider-google'

SqlDatabaseInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SqlDatabaseInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.clone">clone</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceCloneOutputReference">SqlDatabaseInstanceCloneOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.connectionName">connectionName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.firstIpAddress">firstIpAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.ipAddress">ipAddress</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceIpAddressList">SqlDatabaseInstanceIpAddressList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.privateIpAddress">privateIpAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.publicIpAddress">publicIpAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.replicaConfiguration">replicaConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfigurationOutputReference">SqlDatabaseInstanceReplicaConfigurationOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.restoreBackupContext">restoreBackupContext</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContextOutputReference">SqlDatabaseInstanceRestoreBackupContextOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.serverCaCert">serverCaCert</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceServerCaCertList">SqlDatabaseInstanceServerCaCertList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.serviceAccountEmailAddress">serviceAccountEmailAddress</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.settings">settings</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsOutputReference">SqlDatabaseInstanceSettingsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeoutsOutputReference">SqlDatabaseInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.cloneInput">cloneInput</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceClone">SqlDatabaseInstanceClone</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.databaseVersionInput">databaseVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.deletionProtectionInput">deletionProtectionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.encryptionKeyNameInput">encryptionKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.masterInstanceNameInput">masterInstanceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.replicaConfigurationInput">replicaConfigurationInput</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration">SqlDatabaseInstanceReplicaConfiguration</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.restoreBackupContextInput">restoreBackupContextInput</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext">SqlDatabaseInstanceRestoreBackupContext</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.rootPasswordInput">rootPasswordInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.settingsInput">settingsInput</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings">SqlDatabaseInstanceSettings</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeouts">SqlDatabaseInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.databaseVersion">databaseVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.encryptionKeyName">encryptionKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.masterInstanceName">masterInstanceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.rootPassword">rootPassword</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SqlDatabaseInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SqlDatabaseInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SqlDatabaseInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SqlDatabaseInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SqlDatabaseInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SqlDatabaseInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SqlDatabaseInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlDatabaseInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlDatabaseInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlDatabaseInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlDatabaseInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlDatabaseInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlDatabaseInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlDatabaseInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `clone`<sup>Required</sup> <a name="clone" id="@dschmidt/provider-google.SqlDatabaseInstance.property.clone"></a>

```typescript
public readonly clone: SqlDatabaseInstanceCloneOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceCloneOutputReference">SqlDatabaseInstanceCloneOutputReference</a>

---

##### `connectionName`<sup>Required</sup> <a name="connectionName" id="@dschmidt/provider-google.SqlDatabaseInstance.property.connectionName"></a>

```typescript
public readonly connectionName: string;
```

- *Type:* string

---

##### `firstIpAddress`<sup>Required</sup> <a name="firstIpAddress" id="@dschmidt/provider-google.SqlDatabaseInstance.property.firstIpAddress"></a>

```typescript
public readonly firstIpAddress: string;
```

- *Type:* string

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.SqlDatabaseInstance.property.ipAddress"></a>

```typescript
public readonly ipAddress: SqlDatabaseInstanceIpAddressList;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceIpAddressList">SqlDatabaseInstanceIpAddressList</a>

---

##### `privateIpAddress`<sup>Required</sup> <a name="privateIpAddress" id="@dschmidt/provider-google.SqlDatabaseInstance.property.privateIpAddress"></a>

```typescript
public readonly privateIpAddress: string;
```

- *Type:* string

---

##### `publicIpAddress`<sup>Required</sup> <a name="publicIpAddress" id="@dschmidt/provider-google.SqlDatabaseInstance.property.publicIpAddress"></a>

```typescript
public readonly publicIpAddress: string;
```

- *Type:* string

---

##### `replicaConfiguration`<sup>Required</sup> <a name="replicaConfiguration" id="@dschmidt/provider-google.SqlDatabaseInstance.property.replicaConfiguration"></a>

```typescript
public readonly replicaConfiguration: SqlDatabaseInstanceReplicaConfigurationOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfigurationOutputReference">SqlDatabaseInstanceReplicaConfigurationOutputReference</a>

---

##### `restoreBackupContext`<sup>Required</sup> <a name="restoreBackupContext" id="@dschmidt/provider-google.SqlDatabaseInstance.property.restoreBackupContext"></a>

```typescript
public readonly restoreBackupContext: SqlDatabaseInstanceRestoreBackupContextOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContextOutputReference">SqlDatabaseInstanceRestoreBackupContextOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.SqlDatabaseInstance.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `serverCaCert`<sup>Required</sup> <a name="serverCaCert" id="@dschmidt/provider-google.SqlDatabaseInstance.property.serverCaCert"></a>

```typescript
public readonly serverCaCert: SqlDatabaseInstanceServerCaCertList;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceServerCaCertList">SqlDatabaseInstanceServerCaCertList</a>

---

##### `serviceAccountEmailAddress`<sup>Required</sup> <a name="serviceAccountEmailAddress" id="@dschmidt/provider-google.SqlDatabaseInstance.property.serviceAccountEmailAddress"></a>

```typescript
public readonly serviceAccountEmailAddress: string;
```

- *Type:* string

---

##### `settings`<sup>Required</sup> <a name="settings" id="@dschmidt/provider-google.SqlDatabaseInstance.property.settings"></a>

```typescript
public readonly settings: SqlDatabaseInstanceSettingsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsOutputReference">SqlDatabaseInstanceSettingsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlDatabaseInstance.property.timeouts"></a>

```typescript
public readonly timeouts: SqlDatabaseInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeoutsOutputReference">SqlDatabaseInstanceTimeoutsOutputReference</a>

---

##### `cloneInput`<sup>Optional</sup> <a name="cloneInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.cloneInput"></a>

```typescript
public readonly cloneInput: SqlDatabaseInstanceClone;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceClone">SqlDatabaseInstanceClone</a>

---

##### `databaseVersionInput`<sup>Optional</sup> <a name="databaseVersionInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.databaseVersionInput"></a>

```typescript
public readonly databaseVersionInput: string;
```

- *Type:* string

---

##### `deletionProtectionInput`<sup>Optional</sup> <a name="deletionProtectionInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.deletionProtectionInput"></a>

```typescript
public readonly deletionProtectionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `encryptionKeyNameInput`<sup>Optional</sup> <a name="encryptionKeyNameInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.encryptionKeyNameInput"></a>

```typescript
public readonly encryptionKeyNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `masterInstanceNameInput`<sup>Optional</sup> <a name="masterInstanceNameInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.masterInstanceNameInput"></a>

```typescript
public readonly masterInstanceNameInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `replicaConfigurationInput`<sup>Optional</sup> <a name="replicaConfigurationInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.replicaConfigurationInput"></a>

```typescript
public readonly replicaConfigurationInput: SqlDatabaseInstanceReplicaConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration">SqlDatabaseInstanceReplicaConfiguration</a>

---

##### `restoreBackupContextInput`<sup>Optional</sup> <a name="restoreBackupContextInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.restoreBackupContextInput"></a>

```typescript
public readonly restoreBackupContextInput: SqlDatabaseInstanceRestoreBackupContext;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext">SqlDatabaseInstanceRestoreBackupContext</a>

---

##### `rootPasswordInput`<sup>Optional</sup> <a name="rootPasswordInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.rootPasswordInput"></a>

```typescript
public readonly rootPasswordInput: string;
```

- *Type:* string

---

##### `settingsInput`<sup>Optional</sup> <a name="settingsInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.settingsInput"></a>

```typescript
public readonly settingsInput: SqlDatabaseInstanceSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings">SqlDatabaseInstanceSettings</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SqlDatabaseInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SqlDatabaseInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeouts">SqlDatabaseInstanceTimeouts</a>

---

##### `databaseVersion`<sup>Required</sup> <a name="databaseVersion" id="@dschmidt/provider-google.SqlDatabaseInstance.property.databaseVersion"></a>

```typescript
public readonly databaseVersion: string;
```

- *Type:* string

---

##### `deletionProtection`<sup>Required</sup> <a name="deletionProtection" id="@dschmidt/provider-google.SqlDatabaseInstance.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `encryptionKeyName`<sup>Required</sup> <a name="encryptionKeyName" id="@dschmidt/provider-google.SqlDatabaseInstance.property.encryptionKeyName"></a>

```typescript
public readonly encryptionKeyName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlDatabaseInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `masterInstanceName`<sup>Required</sup> <a name="masterInstanceName" id="@dschmidt/provider-google.SqlDatabaseInstance.property.masterInstanceName"></a>

```typescript
public readonly masterInstanceName: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SqlDatabaseInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SqlDatabaseInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.SqlDatabaseInstance.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `rootPassword`<sup>Required</sup> <a name="rootPassword" id="@dschmidt/provider-google.SqlDatabaseInstance.property.rootPassword"></a>

```typescript
public readonly rootPassword: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SqlDatabaseInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SqlSourceRepresentationInstance <a name="SqlSourceRepresentationInstance" id="@dschmidt/provider-google.SqlSourceRepresentationInstance"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance google_sql_source_representation_instance}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.Initializer"></a>

```typescript
import { SqlSourceRepresentationInstance } from '@dschmidt/provider-google'

new SqlSourceRepresentationInstance(scope: Construct, id: string, config: SqlSourceRepresentationInstanceConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig">SqlSourceRepresentationInstanceConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig">SqlSourceRepresentationInstanceConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.resetPort">resetPort</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.putTimeouts"></a>

```typescript
public putTimeouts(value: SqlSourceRepresentationInstanceTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts">SqlSourceRepresentationInstanceTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPort` <a name="resetPort" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.resetPort"></a>

```typescript
public resetPort(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.isConstruct"></a>

```typescript
import { SqlSourceRepresentationInstance } from '@dschmidt/provider-google'

SqlSourceRepresentationInstance.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeoutsOutputReference">SqlSourceRepresentationInstanceTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.databaseVersionInput">databaseVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.hostInput">hostInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.portInput">portInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts">SqlSourceRepresentationInstanceTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.databaseVersion">databaseVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.host">host</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.port">port</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.timeouts"></a>

```typescript
public readonly timeouts: SqlSourceRepresentationInstanceTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeoutsOutputReference">SqlSourceRepresentationInstanceTimeoutsOutputReference</a>

---

##### `databaseVersionInput`<sup>Optional</sup> <a name="databaseVersionInput" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.databaseVersionInput"></a>

```typescript
public readonly databaseVersionInput: string;
```

- *Type:* string

---

##### `hostInput`<sup>Optional</sup> <a name="hostInput" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.hostInput"></a>

```typescript
public readonly hostInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `portInput`<sup>Optional</sup> <a name="portInput" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.portInput"></a>

```typescript
public readonly portInput: number;
```

- *Type:* number

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SqlSourceRepresentationInstanceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts">SqlSourceRepresentationInstanceTimeouts</a>

---

##### `databaseVersion`<sup>Required</sup> <a name="databaseVersion" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.databaseVersion"></a>

```typescript
public readonly databaseVersion: string;
```

- *Type:* string

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstance.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SqlSourceRepresentationInstance.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SqlSslCert <a name="SqlSslCert" id="@dschmidt/provider-google.SqlSslCert"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert google_sql_ssl_cert}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SqlSslCert.Initializer"></a>

```typescript
import { SqlSslCert } from '@dschmidt/provider-google'

new SqlSslCert(scope: Construct, id: string, config: SqlSslCertConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SqlSslCertConfig">SqlSslCertConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SqlSslCert.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlSslCert.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SqlSslCert.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlSslCertConfig">SqlSslCertConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SqlSslCert.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SqlSslCert.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SqlSslCert.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlSslCert.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SqlSslCert.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SqlSslCert.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SqlSslCert.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SqlSslCert.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SqlSslCert.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SqlSslCert.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SqlSslCert.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SqlSslCert.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SqlSslCert.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SqlSslCert.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SqlSslCert.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SqlSslCert.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SqlSslCert.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SqlSslCert.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SqlSslCert.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlSslCert.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SqlSslCert.putTimeouts"></a>

```typescript
public putTimeouts(value: SqlSslCertTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlSslCert.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlSslCertTimeouts">SqlSslCertTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SqlSslCert.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SqlSslCert.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SqlSslCert.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SqlSslCert.isConstruct"></a>

```typescript
import { SqlSslCert } from '@dschmidt/provider-google'

SqlSslCert.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SqlSslCert.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.cert">cert</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.certSerialNumber">certSerialNumber</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.expirationTime">expirationTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.privateKey">privateKey</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.serverCaCert">serverCaCert</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.sha1Fingerprint">sha1Fingerprint</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlSslCertTimeoutsOutputReference">SqlSslCertTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.commonNameInput">commonNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SqlSslCertTimeouts">SqlSslCertTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.commonName">commonName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.project">project</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SqlSslCert.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SqlSslCert.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SqlSslCert.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SqlSslCert.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SqlSslCert.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SqlSslCert.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SqlSslCert.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlSslCert.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlSslCert.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlSslCert.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlSslCert.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlSslCert.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlSslCert.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlSslCert.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cert`<sup>Required</sup> <a name="cert" id="@dschmidt/provider-google.SqlSslCert.property.cert"></a>

```typescript
public readonly cert: string;
```

- *Type:* string

---

##### `certSerialNumber`<sup>Required</sup> <a name="certSerialNumber" id="@dschmidt/provider-google.SqlSslCert.property.certSerialNumber"></a>

```typescript
public readonly certSerialNumber: string;
```

- *Type:* string

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.SqlSslCert.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `expirationTime`<sup>Required</sup> <a name="expirationTime" id="@dschmidt/provider-google.SqlSslCert.property.expirationTime"></a>

```typescript
public readonly expirationTime: string;
```

- *Type:* string

---

##### `privateKey`<sup>Required</sup> <a name="privateKey" id="@dschmidt/provider-google.SqlSslCert.property.privateKey"></a>

```typescript
public readonly privateKey: string;
```

- *Type:* string

---

##### `serverCaCert`<sup>Required</sup> <a name="serverCaCert" id="@dschmidt/provider-google.SqlSslCert.property.serverCaCert"></a>

```typescript
public readonly serverCaCert: string;
```

- *Type:* string

---

##### `sha1Fingerprint`<sup>Required</sup> <a name="sha1Fingerprint" id="@dschmidt/provider-google.SqlSslCert.property.sha1Fingerprint"></a>

```typescript
public readonly sha1Fingerprint: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlSslCert.property.timeouts"></a>

```typescript
public readonly timeouts: SqlSslCertTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlSslCertTimeoutsOutputReference">SqlSslCertTimeoutsOutputReference</a>

---

##### `commonNameInput`<sup>Optional</sup> <a name="commonNameInput" id="@dschmidt/provider-google.SqlSslCert.property.commonNameInput"></a>

```typescript
public readonly commonNameInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SqlSslCert.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SqlSslCert.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SqlSslCert.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SqlSslCert.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SqlSslCertTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SqlSslCertTimeouts">SqlSslCertTimeouts</a>

---

##### `commonName`<sup>Required</sup> <a name="commonName" id="@dschmidt/provider-google.SqlSslCert.property.commonName"></a>

```typescript
public readonly commonName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlSslCert.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SqlSslCert.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SqlSslCert.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSslCert.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SqlSslCert.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### SqlUser <a name="SqlUser" id="@dschmidt/provider-google.SqlUser"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/sql_user google_sql_user}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.SqlUser.Initializer"></a>

```typescript
import { SqlUser } from '@dschmidt/provider-google'

new SqlUser(scope: Construct, id: string, config: SqlUserConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlUser.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.SqlUser.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.SqlUser.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.SqlUserConfig">SqlUserConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.SqlUser.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlUser.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SqlUser.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlUserConfig">SqlUserConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlUser.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.SqlUser.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.SqlUser.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.SqlUser.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.SqlUser.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.putSqlServerUserDetails">putSqlServerUserDetails</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.resetDeletionPolicy">resetDeletionPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.resetHost">resetHost</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.resetPassword">resetPassword</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.resetSqlServerUserDetails">resetSqlServerUserDetails</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.resetType">resetType</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.SqlUser.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.SqlUser.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.SqlUser.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlUser.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.SqlUser.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.SqlUser.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.SqlUser.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.SqlUser.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.SqlUser.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.SqlUser.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.SqlUser.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.SqlUser.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.SqlUser.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.SqlUser.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.SqlUser.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.SqlUser.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.SqlUser.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.SqlUser.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.SqlUser.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.SqlUser.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSqlServerUserDetails` <a name="putSqlServerUserDetails" id="@dschmidt/provider-google.SqlUser.putSqlServerUserDetails"></a>

```typescript
public putSqlServerUserDetails(value: SqlUserSqlServerUserDetails): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlUser.putSqlServerUserDetails.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlUserSqlServerUserDetails">SqlUserSqlServerUserDetails</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.SqlUser.putTimeouts"></a>

```typescript
public putTimeouts(value: SqlUserTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlUser.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.SqlUserTimeouts">SqlUserTimeouts</a>

---

##### `resetDeletionPolicy` <a name="resetDeletionPolicy" id="@dschmidt/provider-google.SqlUser.resetDeletionPolicy"></a>

```typescript
public resetDeletionPolicy(): void
```

##### `resetHost` <a name="resetHost" id="@dschmidt/provider-google.SqlUser.resetHost"></a>

```typescript
public resetHost(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.SqlUser.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPassword` <a name="resetPassword" id="@dschmidt/provider-google.SqlUser.resetPassword"></a>

```typescript
public resetPassword(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.SqlUser.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSqlServerUserDetails` <a name="resetSqlServerUserDetails" id="@dschmidt/provider-google.SqlUser.resetSqlServerUserDetails"></a>

```typescript
public resetSqlServerUserDetails(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.SqlUser.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetType` <a name="resetType" id="@dschmidt/provider-google.SqlUser.resetType"></a>

```typescript
public resetType(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlUser.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.SqlUser.isConstruct"></a>

```typescript
import { SqlUser } from '@dschmidt/provider-google'

SqlUser.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.SqlUser.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.sqlServerUserDetails">sqlServerUserDetails</a></code> | <code><a href="#@dschmidt/provider-google.SqlUserSqlServerUserDetailsOutputReference">SqlUserSqlServerUserDetailsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlUserTimeoutsOutputReference">SqlUserTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.deletionPolicyInput">deletionPolicyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.hostInput">hostInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.instanceInput">instanceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.passwordInput">passwordInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.sqlServerUserDetailsInput">sqlServerUserDetailsInput</a></code> | <code><a href="#@dschmidt/provider-google.SqlUserSqlServerUserDetails">SqlUserSqlServerUserDetails</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SqlUserTimeouts">SqlUserTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.typeInput">typeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.deletionPolicy">deletionPolicy</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.host">host</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.instance">instance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.password">password</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.SqlUser.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.SqlUser.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.SqlUser.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.SqlUser.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.SqlUser.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.SqlUser.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.SqlUser.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlUser.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlUser.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlUser.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlUser.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlUser.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlUser.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlUser.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `sqlServerUserDetails`<sup>Required</sup> <a name="sqlServerUserDetails" id="@dschmidt/provider-google.SqlUser.property.sqlServerUserDetails"></a>

```typescript
public readonly sqlServerUserDetails: SqlUserSqlServerUserDetailsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlUserSqlServerUserDetailsOutputReference">SqlUserSqlServerUserDetailsOutputReference</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlUser.property.timeouts"></a>

```typescript
public readonly timeouts: SqlUserTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlUserTimeoutsOutputReference">SqlUserTimeoutsOutputReference</a>

---

##### `deletionPolicyInput`<sup>Optional</sup> <a name="deletionPolicyInput" id="@dschmidt/provider-google.SqlUser.property.deletionPolicyInput"></a>

```typescript
public readonly deletionPolicyInput: string;
```

- *Type:* string

---

##### `hostInput`<sup>Optional</sup> <a name="hostInput" id="@dschmidt/provider-google.SqlUser.property.hostInput"></a>

```typescript
public readonly hostInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.SqlUser.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `instanceInput`<sup>Optional</sup> <a name="instanceInput" id="@dschmidt/provider-google.SqlUser.property.instanceInput"></a>

```typescript
public readonly instanceInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.SqlUser.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `passwordInput`<sup>Optional</sup> <a name="passwordInput" id="@dschmidt/provider-google.SqlUser.property.passwordInput"></a>

```typescript
public readonly passwordInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.SqlUser.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `sqlServerUserDetailsInput`<sup>Optional</sup> <a name="sqlServerUserDetailsInput" id="@dschmidt/provider-google.SqlUser.property.sqlServerUserDetailsInput"></a>

```typescript
public readonly sqlServerUserDetailsInput: SqlUserSqlServerUserDetails;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlUserSqlServerUserDetails">SqlUserSqlServerUserDetails</a>

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.SqlUser.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | SqlUserTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SqlUserTimeouts">SqlUserTimeouts</a>

---

##### `typeInput`<sup>Optional</sup> <a name="typeInput" id="@dschmidt/provider-google.SqlUser.property.typeInput"></a>

```typescript
public readonly typeInput: string;
```

- *Type:* string

---

##### `deletionPolicy`<sup>Required</sup> <a name="deletionPolicy" id="@dschmidt/provider-google.SqlUser.property.deletionPolicy"></a>

```typescript
public readonly deletionPolicy: string;
```

- *Type:* string

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.SqlUser.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.SqlUser.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SqlUser.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SqlUser.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `password`<sup>Required</sup> <a name="password" id="@dschmidt/provider-google.SqlUser.property.password"></a>

```typescript
public readonly password: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.SqlUser.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.SqlUser.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlUser.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.SqlUser.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageBucket <a name="StorageBucket" id="@dschmidt/provider-google.StorageBucket"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_bucket google_storage_bucket}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageBucket.Initializer"></a>

```typescript
import { StorageBucket } from '@dschmidt/provider-google'

new StorageBucket(scope: Construct, id: string, config: StorageBucketConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucket.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucket.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucket.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketConfig">StorageBucketConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageBucket.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucket.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageBucket.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketConfig">StorageBucketConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucket.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucket.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageBucket.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageBucket.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.putCors">putCors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.putEncryption">putEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.putLifecycleRule">putLifecycleRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.putLogging">putLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.putRetentionPolicy">putRetentionPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.putVersioning">putVersioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.putWebsite">putWebsite</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetCors">resetCors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetDefaultEventBasedHold">resetDefaultEventBasedHold</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetEncryption">resetEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetForceDestroy">resetForceDestroy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetLifecycleRule">resetLifecycleRule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetLogging">resetLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetRequesterPays">resetRequesterPays</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetRetentionPolicy">resetRetentionPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetStorageClass">resetStorageClass</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetUniformBucketLevelAccess">resetUniformBucketLevelAccess</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetVersioning">resetVersioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.resetWebsite">resetWebsite</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageBucket.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageBucket.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageBucket.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucket.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageBucket.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageBucket.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageBucket.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageBucket.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageBucket.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageBucket.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageBucket.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageBucket.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageBucket.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageBucket.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageBucket.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageBucket.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageBucket.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageBucket.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageBucket.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucket.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCors` <a name="putCors" id="@dschmidt/provider-google.StorageBucket.putCors"></a>

```typescript
public putCors(value: IResolvable | StorageBucketCors[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucket.putCors.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageBucketCors">StorageBucketCors</a>[]

---

##### `putEncryption` <a name="putEncryption" id="@dschmidt/provider-google.StorageBucket.putEncryption"></a>

```typescript
public putEncryption(value: StorageBucketEncryption): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucket.putEncryption.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketEncryption">StorageBucketEncryption</a>

---

##### `putLifecycleRule` <a name="putLifecycleRule" id="@dschmidt/provider-google.StorageBucket.putLifecycleRule"></a>

```typescript
public putLifecycleRule(value: IResolvable | StorageBucketLifecycleRule[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucket.putLifecycleRule.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageBucketLifecycleRule">StorageBucketLifecycleRule</a>[]

---

##### `putLogging` <a name="putLogging" id="@dschmidt/provider-google.StorageBucket.putLogging"></a>

```typescript
public putLogging(value: StorageBucketLogging): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucket.putLogging.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketLogging">StorageBucketLogging</a>

---

##### `putRetentionPolicy` <a name="putRetentionPolicy" id="@dschmidt/provider-google.StorageBucket.putRetentionPolicy"></a>

```typescript
public putRetentionPolicy(value: StorageBucketRetentionPolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucket.putRetentionPolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketRetentionPolicy">StorageBucketRetentionPolicy</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.StorageBucket.putTimeouts"></a>

```typescript
public putTimeouts(value: StorageBucketTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucket.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketTimeouts">StorageBucketTimeouts</a>

---

##### `putVersioning` <a name="putVersioning" id="@dschmidt/provider-google.StorageBucket.putVersioning"></a>

```typescript
public putVersioning(value: StorageBucketVersioning): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucket.putVersioning.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketVersioning">StorageBucketVersioning</a>

---

##### `putWebsite` <a name="putWebsite" id="@dschmidt/provider-google.StorageBucket.putWebsite"></a>

```typescript
public putWebsite(value: StorageBucketWebsite): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucket.putWebsite.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketWebsite">StorageBucketWebsite</a>

---

##### `resetCors` <a name="resetCors" id="@dschmidt/provider-google.StorageBucket.resetCors"></a>

```typescript
public resetCors(): void
```

##### `resetDefaultEventBasedHold` <a name="resetDefaultEventBasedHold" id="@dschmidt/provider-google.StorageBucket.resetDefaultEventBasedHold"></a>

```typescript
public resetDefaultEventBasedHold(): void
```

##### `resetEncryption` <a name="resetEncryption" id="@dschmidt/provider-google.StorageBucket.resetEncryption"></a>

```typescript
public resetEncryption(): void
```

##### `resetForceDestroy` <a name="resetForceDestroy" id="@dschmidt/provider-google.StorageBucket.resetForceDestroy"></a>

```typescript
public resetForceDestroy(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageBucket.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.StorageBucket.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetLifecycleRule` <a name="resetLifecycleRule" id="@dschmidt/provider-google.StorageBucket.resetLifecycleRule"></a>

```typescript
public resetLifecycleRule(): void
```

##### `resetLogging` <a name="resetLogging" id="@dschmidt/provider-google.StorageBucket.resetLogging"></a>

```typescript
public resetLogging(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.StorageBucket.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRequesterPays` <a name="resetRequesterPays" id="@dschmidt/provider-google.StorageBucket.resetRequesterPays"></a>

```typescript
public resetRequesterPays(): void
```

##### `resetRetentionPolicy` <a name="resetRetentionPolicy" id="@dschmidt/provider-google.StorageBucket.resetRetentionPolicy"></a>

```typescript
public resetRetentionPolicy(): void
```

##### `resetStorageClass` <a name="resetStorageClass" id="@dschmidt/provider-google.StorageBucket.resetStorageClass"></a>

```typescript
public resetStorageClass(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.StorageBucket.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUniformBucketLevelAccess` <a name="resetUniformBucketLevelAccess" id="@dschmidt/provider-google.StorageBucket.resetUniformBucketLevelAccess"></a>

```typescript
public resetUniformBucketLevelAccess(): void
```

##### `resetVersioning` <a name="resetVersioning" id="@dschmidt/provider-google.StorageBucket.resetVersioning"></a>

```typescript
public resetVersioning(): void
```

##### `resetWebsite` <a name="resetWebsite" id="@dschmidt/provider-google.StorageBucket.resetWebsite"></a>

```typescript
public resetWebsite(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucket.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageBucket.isConstruct"></a>

```typescript
import { StorageBucket } from '@dschmidt/provider-google'

StorageBucket.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageBucket.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.cors">cors</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketCorsList">StorageBucketCorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.encryption">encryption</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketEncryptionOutputReference">StorageBucketEncryptionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.lifecycleRule">lifecycleRule</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleList">StorageBucketLifecycleRuleList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.logging">logging</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketLoggingOutputReference">StorageBucketLoggingOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.retentionPolicy">retentionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketRetentionPolicyOutputReference">StorageBucketRetentionPolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketTimeoutsOutputReference">StorageBucketTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.url">url</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.versioning">versioning</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketVersioningOutputReference">StorageBucketVersioningOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.website">website</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketWebsiteOutputReference">StorageBucketWebsiteOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.corsInput">corsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageBucketCors">StorageBucketCors</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.defaultEventBasedHoldInput">defaultEventBasedHoldInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.encryptionInput">encryptionInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketEncryption">StorageBucketEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.forceDestroyInput">forceDestroyInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.lifecycleRuleInput">lifecycleRuleInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageBucketLifecycleRule">StorageBucketLifecycleRule</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.loggingInput">loggingInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketLogging">StorageBucketLogging</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.requesterPaysInput">requesterPaysInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.retentionPolicyInput">retentionPolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketRetentionPolicy">StorageBucketRetentionPolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.storageClassInput">storageClassInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageBucketTimeouts">StorageBucketTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.uniformBucketLevelAccessInput">uniformBucketLevelAccessInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.versioningInput">versioningInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketVersioning">StorageBucketVersioning</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.websiteInput">websiteInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketWebsite">StorageBucketWebsite</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.defaultEventBasedHold">defaultEventBasedHold</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.forceDestroy">forceDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.requesterPays">requesterPays</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.storageClass">storageClass</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.uniformBucketLevelAccess">uniformBucketLevelAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageBucket.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageBucket.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageBucket.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageBucket.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageBucket.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageBucket.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageBucket.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucket.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucket.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucket.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucket.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucket.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucket.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucket.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cors`<sup>Required</sup> <a name="cors" id="@dschmidt/provider-google.StorageBucket.property.cors"></a>

```typescript
public readonly cors: StorageBucketCorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketCorsList">StorageBucketCorsList</a>

---

##### `encryption`<sup>Required</sup> <a name="encryption" id="@dschmidt/provider-google.StorageBucket.property.encryption"></a>

```typescript
public readonly encryption: StorageBucketEncryptionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketEncryptionOutputReference">StorageBucketEncryptionOutputReference</a>

---

##### `lifecycleRule`<sup>Required</sup> <a name="lifecycleRule" id="@dschmidt/provider-google.StorageBucket.property.lifecycleRule"></a>

```typescript
public readonly lifecycleRule: StorageBucketLifecycleRuleList;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleList">StorageBucketLifecycleRuleList</a>

---

##### `logging`<sup>Required</sup> <a name="logging" id="@dschmidt/provider-google.StorageBucket.property.logging"></a>

```typescript
public readonly logging: StorageBucketLoggingOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketLoggingOutputReference">StorageBucketLoggingOutputReference</a>

---

##### `retentionPolicy`<sup>Required</sup> <a name="retentionPolicy" id="@dschmidt/provider-google.StorageBucket.property.retentionPolicy"></a>

```typescript
public readonly retentionPolicy: StorageBucketRetentionPolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketRetentionPolicyOutputReference">StorageBucketRetentionPolicyOutputReference</a>

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.StorageBucket.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageBucket.property.timeouts"></a>

```typescript
public readonly timeouts: StorageBucketTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketTimeoutsOutputReference">StorageBucketTimeoutsOutputReference</a>

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.StorageBucket.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---

##### `versioning`<sup>Required</sup> <a name="versioning" id="@dschmidt/provider-google.StorageBucket.property.versioning"></a>

```typescript
public readonly versioning: StorageBucketVersioningOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketVersioningOutputReference">StorageBucketVersioningOutputReference</a>

---

##### `website`<sup>Required</sup> <a name="website" id="@dschmidt/provider-google.StorageBucket.property.website"></a>

```typescript
public readonly website: StorageBucketWebsiteOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketWebsiteOutputReference">StorageBucketWebsiteOutputReference</a>

---

##### `corsInput`<sup>Optional</sup> <a name="corsInput" id="@dschmidt/provider-google.StorageBucket.property.corsInput"></a>

```typescript
public readonly corsInput: IResolvable | StorageBucketCors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageBucketCors">StorageBucketCors</a>[]

---

##### `defaultEventBasedHoldInput`<sup>Optional</sup> <a name="defaultEventBasedHoldInput" id="@dschmidt/provider-google.StorageBucket.property.defaultEventBasedHoldInput"></a>

```typescript
public readonly defaultEventBasedHoldInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `encryptionInput`<sup>Optional</sup> <a name="encryptionInput" id="@dschmidt/provider-google.StorageBucket.property.encryptionInput"></a>

```typescript
public readonly encryptionInput: StorageBucketEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketEncryption">StorageBucketEncryption</a>

---

##### `forceDestroyInput`<sup>Optional</sup> <a name="forceDestroyInput" id="@dschmidt/provider-google.StorageBucket.property.forceDestroyInput"></a>

```typescript
public readonly forceDestroyInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageBucket.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.StorageBucket.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `lifecycleRuleInput`<sup>Optional</sup> <a name="lifecycleRuleInput" id="@dschmidt/provider-google.StorageBucket.property.lifecycleRuleInput"></a>

```typescript
public readonly lifecycleRuleInput: IResolvable | StorageBucketLifecycleRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageBucketLifecycleRule">StorageBucketLifecycleRule</a>[]

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.StorageBucket.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `loggingInput`<sup>Optional</sup> <a name="loggingInput" id="@dschmidt/provider-google.StorageBucket.property.loggingInput"></a>

```typescript
public readonly loggingInput: StorageBucketLogging;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketLogging">StorageBucketLogging</a>

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.StorageBucket.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.StorageBucket.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `requesterPaysInput`<sup>Optional</sup> <a name="requesterPaysInput" id="@dschmidt/provider-google.StorageBucket.property.requesterPaysInput"></a>

```typescript
public readonly requesterPaysInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `retentionPolicyInput`<sup>Optional</sup> <a name="retentionPolicyInput" id="@dschmidt/provider-google.StorageBucket.property.retentionPolicyInput"></a>

```typescript
public readonly retentionPolicyInput: StorageBucketRetentionPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketRetentionPolicy">StorageBucketRetentionPolicy</a>

---

##### `storageClassInput`<sup>Optional</sup> <a name="storageClassInput" id="@dschmidt/provider-google.StorageBucket.property.storageClassInput"></a>

```typescript
public readonly storageClassInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.StorageBucket.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | StorageBucketTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageBucketTimeouts">StorageBucketTimeouts</a>

---

##### `uniformBucketLevelAccessInput`<sup>Optional</sup> <a name="uniformBucketLevelAccessInput" id="@dschmidt/provider-google.StorageBucket.property.uniformBucketLevelAccessInput"></a>

```typescript
public readonly uniformBucketLevelAccessInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `versioningInput`<sup>Optional</sup> <a name="versioningInput" id="@dschmidt/provider-google.StorageBucket.property.versioningInput"></a>

```typescript
public readonly versioningInput: StorageBucketVersioning;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketVersioning">StorageBucketVersioning</a>

---

##### `websiteInput`<sup>Optional</sup> <a name="websiteInput" id="@dschmidt/provider-google.StorageBucket.property.websiteInput"></a>

```typescript
public readonly websiteInput: StorageBucketWebsite;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketWebsite">StorageBucketWebsite</a>

---

##### `defaultEventBasedHold`<sup>Required</sup> <a name="defaultEventBasedHold" id="@dschmidt/provider-google.StorageBucket.property.defaultEventBasedHold"></a>

```typescript
public readonly defaultEventBasedHold: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `forceDestroy`<sup>Required</sup> <a name="forceDestroy" id="@dschmidt/provider-google.StorageBucket.property.forceDestroy"></a>

```typescript
public readonly forceDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucket.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.StorageBucket.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.StorageBucket.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.StorageBucket.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.StorageBucket.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `requesterPays`<sup>Required</sup> <a name="requesterPays" id="@dschmidt/provider-google.StorageBucket.property.requesterPays"></a>

```typescript
public readonly requesterPays: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `storageClass`<sup>Required</sup> <a name="storageClass" id="@dschmidt/provider-google.StorageBucket.property.storageClass"></a>

```typescript
public readonly storageClass: string;
```

- *Type:* string

---

##### `uniformBucketLevelAccess`<sup>Required</sup> <a name="uniformBucketLevelAccess" id="@dschmidt/provider-google.StorageBucket.property.uniformBucketLevelAccess"></a>

```typescript
public readonly uniformBucketLevelAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucket.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageBucket.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageBucketAccessControl <a name="StorageBucketAccessControl" id="@dschmidt/provider-google.StorageBucketAccessControl"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control google_storage_bucket_access_control}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageBucketAccessControl.Initializer"></a>

```typescript
import { StorageBucketAccessControl } from '@dschmidt/provider-google'

new StorageBucketAccessControl(scope: Construct, id: string, config: StorageBucketAccessControlConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig">StorageBucketAccessControlConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageBucketAccessControl.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketAccessControl.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageBucketAccessControl.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig">StorageBucketAccessControlConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.resetRole">resetRole</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageBucketAccessControl.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageBucketAccessControl.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageBucketAccessControl.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketAccessControl.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageBucketAccessControl.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageBucketAccessControl.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageBucketAccessControl.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageBucketAccessControl.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageBucketAccessControl.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAccessControl.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.StorageBucketAccessControl.putTimeouts"></a>

```typescript
public putTimeouts(value: StorageBucketAccessControlTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketAccessControl.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeouts">StorageBucketAccessControlTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageBucketAccessControl.resetId"></a>

```typescript
public resetId(): void
```

##### `resetRole` <a name="resetRole" id="@dschmidt/provider-google.StorageBucketAccessControl.resetRole"></a>

```typescript
public resetRole(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.StorageBucketAccessControl.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageBucketAccessControl.isConstruct"></a>

```typescript
import { StorageBucketAccessControl } from '@dschmidt/provider-google'

StorageBucketAccessControl.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageBucketAccessControl.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.domain">domain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeoutsOutputReference">StorageBucketAccessControlTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.entityInput">entityInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeouts">StorageBucketAccessControlTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.entity">entity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageBucketAccessControl.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageBucketAccessControl.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageBucketAccessControl.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageBucketAccessControl.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageBucketAccessControl.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageBucketAccessControl.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageBucketAccessControl.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketAccessControl.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketAccessControl.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketAccessControl.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketAccessControl.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketAccessControl.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketAccessControl.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketAccessControl.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.StorageBucketAccessControl.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.StorageBucketAccessControl.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageBucketAccessControl.property.timeouts"></a>

```typescript
public readonly timeouts: StorageBucketAccessControlTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeoutsOutputReference">StorageBucketAccessControlTimeoutsOutputReference</a>

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageBucketAccessControl.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `entityInput`<sup>Optional</sup> <a name="entityInput" id="@dschmidt/provider-google.StorageBucketAccessControl.property.entityInput"></a>

```typescript
public readonly entityInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageBucketAccessControl.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.StorageBucketAccessControl.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.StorageBucketAccessControl.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | StorageBucketAccessControlTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeouts">StorageBucketAccessControlTimeouts</a>

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketAccessControl.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `entity`<sup>Required</sup> <a name="entity" id="@dschmidt/provider-google.StorageBucketAccessControl.property.entity"></a>

```typescript
public readonly entity: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketAccessControl.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.StorageBucketAccessControl.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControl.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageBucketAccessControl.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageBucketAcl <a name="StorageBucketAcl" id="@dschmidt/provider-google.StorageBucketAcl"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_acl google_storage_bucket_acl}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageBucketAcl.Initializer"></a>

```typescript
import { StorageBucketAcl } from '@dschmidt/provider-google'

new StorageBucketAcl(scope: Construct, id: string, config: StorageBucketAclConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig">StorageBucketAclConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageBucketAcl.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketAcl.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageBucketAcl.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketAclConfig">StorageBucketAclConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.resetDefaultAcl">resetDefaultAcl</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.resetPredefinedAcl">resetPredefinedAcl</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.resetRoleEntity">resetRoleEntity</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageBucketAcl.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageBucketAcl.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageBucketAcl.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketAcl.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageBucketAcl.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageBucketAcl.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageBucketAcl.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageBucketAcl.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageBucketAcl.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageBucketAcl.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketAcl.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetDefaultAcl` <a name="resetDefaultAcl" id="@dschmidt/provider-google.StorageBucketAcl.resetDefaultAcl"></a>

```typescript
public resetDefaultAcl(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageBucketAcl.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPredefinedAcl` <a name="resetPredefinedAcl" id="@dschmidt/provider-google.StorageBucketAcl.resetPredefinedAcl"></a>

```typescript
public resetPredefinedAcl(): void
```

##### `resetRoleEntity` <a name="resetRoleEntity" id="@dschmidt/provider-google.StorageBucketAcl.resetRoleEntity"></a>

```typescript
public resetRoleEntity(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageBucketAcl.isConstruct"></a>

```typescript
import { StorageBucketAcl } from '@dschmidt/provider-google'

StorageBucketAcl.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageBucketAcl.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.defaultAclInput">defaultAclInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.predefinedAclInput">predefinedAclInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.roleEntityInput">roleEntityInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.defaultAcl">defaultAcl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.predefinedAcl">predefinedAcl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.roleEntity">roleEntity</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageBucketAcl.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageBucketAcl.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageBucketAcl.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageBucketAcl.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageBucketAcl.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageBucketAcl.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageBucketAcl.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketAcl.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketAcl.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketAcl.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketAcl.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketAcl.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketAcl.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketAcl.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageBucketAcl.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `defaultAclInput`<sup>Optional</sup> <a name="defaultAclInput" id="@dschmidt/provider-google.StorageBucketAcl.property.defaultAclInput"></a>

```typescript
public readonly defaultAclInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageBucketAcl.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `predefinedAclInput`<sup>Optional</sup> <a name="predefinedAclInput" id="@dschmidt/provider-google.StorageBucketAcl.property.predefinedAclInput"></a>

```typescript
public readonly predefinedAclInput: string;
```

- *Type:* string

---

##### `roleEntityInput`<sup>Optional</sup> <a name="roleEntityInput" id="@dschmidt/provider-google.StorageBucketAcl.property.roleEntityInput"></a>

```typescript
public readonly roleEntityInput: string[];
```

- *Type:* string[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketAcl.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `defaultAcl`<sup>Required</sup> <a name="defaultAcl" id="@dschmidt/provider-google.StorageBucketAcl.property.defaultAcl"></a>

```typescript
public readonly defaultAcl: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketAcl.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `predefinedAcl`<sup>Required</sup> <a name="predefinedAcl" id="@dschmidt/provider-google.StorageBucketAcl.property.predefinedAcl"></a>

```typescript
public readonly predefinedAcl: string;
```

- *Type:* string

---

##### `roleEntity`<sup>Required</sup> <a name="roleEntity" id="@dschmidt/provider-google.StorageBucketAcl.property.roleEntity"></a>

```typescript
public readonly roleEntity: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAcl.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageBucketAcl.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageBucketIamBinding <a name="StorageBucketIamBinding" id="@dschmidt/provider-google.StorageBucketIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding google_storage_bucket_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageBucketIamBinding.Initializer"></a>

```typescript
import { StorageBucketIamBinding } from '@dschmidt/provider-google'

new StorageBucketIamBinding(scope: Construct, id: string, config: StorageBucketIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig">StorageBucketIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageBucketIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageBucketIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig">StorageBucketIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageBucketIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageBucketIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageBucketIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageBucketIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageBucketIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageBucketIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageBucketIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageBucketIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.StorageBucketIamBinding.putCondition"></a>

```typescript
public putCondition(value: StorageBucketIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamBindingCondition">StorageBucketIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.StorageBucketIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageBucketIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageBucketIamBinding.isConstruct"></a>

```typescript
import { StorageBucketIamBinding } from '@dschmidt/provider-google'

StorageBucketIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageBucketIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConditionOutputReference">StorageBucketIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingCondition">StorageBucketIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageBucketIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageBucketIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageBucketIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageBucketIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageBucketIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageBucketIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageBucketIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.StorageBucketIamBinding.property.condition"></a>

```typescript
public readonly condition: StorageBucketIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamBindingConditionOutputReference">StorageBucketIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.StorageBucketIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageBucketIamBinding.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.StorageBucketIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: StorageBucketIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamBindingCondition">StorageBucketIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageBucketIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.StorageBucketIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.StorageBucketIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketIamBinding.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.StorageBucketIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.StorageBucketIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageBucketIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageBucketIamMember <a name="StorageBucketIamMember" id="@dschmidt/provider-google.StorageBucketIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member google_storage_bucket_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageBucketIamMember.Initializer"></a>

```typescript
import { StorageBucketIamMember } from '@dschmidt/provider-google'

new StorageBucketIamMember(scope: Construct, id: string, config: StorageBucketIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig">StorageBucketIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageBucketIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageBucketIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig">StorageBucketIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageBucketIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageBucketIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageBucketIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageBucketIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageBucketIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageBucketIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageBucketIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageBucketIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.StorageBucketIamMember.putCondition"></a>

```typescript
public putCondition(value: StorageBucketIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamMemberCondition">StorageBucketIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.StorageBucketIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageBucketIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageBucketIamMember.isConstruct"></a>

```typescript
import { StorageBucketIamMember } from '@dschmidt/provider-google'

StorageBucketIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageBucketIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConditionOutputReference">StorageBucketIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberCondition">StorageBucketIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageBucketIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageBucketIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageBucketIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageBucketIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageBucketIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageBucketIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageBucketIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.StorageBucketIamMember.property.condition"></a>

```typescript
public readonly condition: StorageBucketIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamMemberConditionOutputReference">StorageBucketIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.StorageBucketIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageBucketIamMember.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.StorageBucketIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: StorageBucketIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamMemberCondition">StorageBucketIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageBucketIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.StorageBucketIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.StorageBucketIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketIamMember.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.StorageBucketIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.StorageBucketIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageBucketIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageBucketIamPolicy <a name="StorageBucketIamPolicy" id="@dschmidt/provider-google.StorageBucketIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_policy google_storage_bucket_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageBucketIamPolicy.Initializer"></a>

```typescript
import { StorageBucketIamPolicy } from '@dschmidt/provider-google'

new StorageBucketIamPolicy(scope: Construct, id: string, config: StorageBucketIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig">StorageBucketIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageBucketIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageBucketIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig">StorageBucketIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageBucketIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageBucketIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageBucketIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageBucketIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageBucketIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageBucketIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageBucketIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageBucketIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageBucketIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageBucketIamPolicy.isConstruct"></a>

```typescript
import { StorageBucketIamPolicy } from '@dschmidt/provider-google'

StorageBucketIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageBucketIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageBucketIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageBucketObject <a name="StorageBucketObject" id="@dschmidt/provider-google.StorageBucketObject"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object google_storage_bucket_object}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageBucketObject.Initializer"></a>

```typescript
import { StorageBucketObject } from '@dschmidt/provider-google'

new StorageBucketObject(scope: Construct, id: string, config: StorageBucketObjectConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig">StorageBucketObjectConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageBucketObject.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketObject.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageBucketObject.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketObjectConfig">StorageBucketObjectConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.putCustomerEncryption">putCustomerEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetCacheControl">resetCacheControl</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetContent">resetContent</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetContentDisposition">resetContentDisposition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetContentEncoding">resetContentEncoding</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetContentLanguage">resetContentLanguage</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetContentType">resetContentType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetCustomerEncryption">resetCustomerEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetDetectMd5Hash">resetDetectMd5Hash</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetEventBasedHold">resetEventBasedHold</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetKmsKeyName">resetKmsKeyName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetMetadata">resetMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetSource">resetSource</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetStorageClass">resetStorageClass</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetTemporaryHold">resetTemporaryHold</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageBucketObject.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageBucketObject.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageBucketObject.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketObject.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageBucketObject.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageBucketObject.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageBucketObject.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageBucketObject.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageBucketObject.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageBucketObject.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageBucketObject.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageBucketObject.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageBucketObject.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageBucketObject.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageBucketObject.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageBucketObject.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageBucketObject.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageBucketObject.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageBucketObject.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageBucketObject.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCustomerEncryption` <a name="putCustomerEncryption" id="@dschmidt/provider-google.StorageBucketObject.putCustomerEncryption"></a>

```typescript
public putCustomerEncryption(value: StorageBucketObjectCustomerEncryption): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketObject.putCustomerEncryption.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketObjectCustomerEncryption">StorageBucketObjectCustomerEncryption</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.StorageBucketObject.putTimeouts"></a>

```typescript
public putTimeouts(value: StorageBucketObjectTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageBucketObject.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketObjectTimeouts">StorageBucketObjectTimeouts</a>

---

##### `resetCacheControl` <a name="resetCacheControl" id="@dschmidt/provider-google.StorageBucketObject.resetCacheControl"></a>

```typescript
public resetCacheControl(): void
```

##### `resetContent` <a name="resetContent" id="@dschmidt/provider-google.StorageBucketObject.resetContent"></a>

```typescript
public resetContent(): void
```

##### `resetContentDisposition` <a name="resetContentDisposition" id="@dschmidt/provider-google.StorageBucketObject.resetContentDisposition"></a>

```typescript
public resetContentDisposition(): void
```

##### `resetContentEncoding` <a name="resetContentEncoding" id="@dschmidt/provider-google.StorageBucketObject.resetContentEncoding"></a>

```typescript
public resetContentEncoding(): void
```

##### `resetContentLanguage` <a name="resetContentLanguage" id="@dschmidt/provider-google.StorageBucketObject.resetContentLanguage"></a>

```typescript
public resetContentLanguage(): void
```

##### `resetContentType` <a name="resetContentType" id="@dschmidt/provider-google.StorageBucketObject.resetContentType"></a>

```typescript
public resetContentType(): void
```

##### `resetCustomerEncryption` <a name="resetCustomerEncryption" id="@dschmidt/provider-google.StorageBucketObject.resetCustomerEncryption"></a>

```typescript
public resetCustomerEncryption(): void
```

##### `resetDetectMd5Hash` <a name="resetDetectMd5Hash" id="@dschmidt/provider-google.StorageBucketObject.resetDetectMd5Hash"></a>

```typescript
public resetDetectMd5Hash(): void
```

##### `resetEventBasedHold` <a name="resetEventBasedHold" id="@dschmidt/provider-google.StorageBucketObject.resetEventBasedHold"></a>

```typescript
public resetEventBasedHold(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageBucketObject.resetId"></a>

```typescript
public resetId(): void
```

##### `resetKmsKeyName` <a name="resetKmsKeyName" id="@dschmidt/provider-google.StorageBucketObject.resetKmsKeyName"></a>

```typescript
public resetKmsKeyName(): void
```

##### `resetMetadata` <a name="resetMetadata" id="@dschmidt/provider-google.StorageBucketObject.resetMetadata"></a>

```typescript
public resetMetadata(): void
```

##### `resetSource` <a name="resetSource" id="@dschmidt/provider-google.StorageBucketObject.resetSource"></a>

```typescript
public resetSource(): void
```

##### `resetStorageClass` <a name="resetStorageClass" id="@dschmidt/provider-google.StorageBucketObject.resetStorageClass"></a>

```typescript
public resetStorageClass(): void
```

##### `resetTemporaryHold` <a name="resetTemporaryHold" id="@dschmidt/provider-google.StorageBucketObject.resetTemporaryHold"></a>

```typescript
public resetTemporaryHold(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.StorageBucketObject.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageBucketObject.isConstruct"></a>

```typescript
import { StorageBucketObject } from '@dschmidt/provider-google'

StorageBucketObject.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageBucketObject.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.crc32C">crc32C</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.customerEncryption">customerEncryption</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketObjectCustomerEncryptionOutputReference">StorageBucketObjectCustomerEncryptionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.md5Hash">md5Hash</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.mediaLink">mediaLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.outputName">outputName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketObjectTimeoutsOutputReference">StorageBucketObjectTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.cacheControlInput">cacheControlInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.contentDispositionInput">contentDispositionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.contentEncodingInput">contentEncodingInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.contentInput">contentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.contentLanguageInput">contentLanguageInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.contentTypeInput">contentTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.customerEncryptionInput">customerEncryptionInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketObjectCustomerEncryption">StorageBucketObjectCustomerEncryption</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.detectMd5HashInput">detectMd5HashInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.eventBasedHoldInput">eventBasedHoldInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.kmsKeyNameInput">kmsKeyNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.metadataInput">metadataInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.sourceInput">sourceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.storageClassInput">storageClassInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.temporaryHoldInput">temporaryHoldInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageBucketObjectTimeouts">StorageBucketObjectTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.cacheControl">cacheControl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.content">content</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.contentDisposition">contentDisposition</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.contentEncoding">contentEncoding</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.contentLanguage">contentLanguage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.contentType">contentType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.detectMd5Hash">detectMd5Hash</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.eventBasedHold">eventBasedHold</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.source">source</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.storageClass">storageClass</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.temporaryHold">temporaryHold</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageBucketObject.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageBucketObject.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageBucketObject.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageBucketObject.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageBucketObject.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageBucketObject.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageBucketObject.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketObject.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketObject.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketObject.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketObject.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketObject.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketObject.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketObject.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `crc32C`<sup>Required</sup> <a name="crc32C" id="@dschmidt/provider-google.StorageBucketObject.property.crc32C"></a>

```typescript
public readonly crc32C: string;
```

- *Type:* string

---

##### `customerEncryption`<sup>Required</sup> <a name="customerEncryption" id="@dschmidt/provider-google.StorageBucketObject.property.customerEncryption"></a>

```typescript
public readonly customerEncryption: StorageBucketObjectCustomerEncryptionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketObjectCustomerEncryptionOutputReference">StorageBucketObjectCustomerEncryptionOutputReference</a>

---

##### `md5Hash`<sup>Required</sup> <a name="md5Hash" id="@dschmidt/provider-google.StorageBucketObject.property.md5Hash"></a>

```typescript
public readonly md5Hash: string;
```

- *Type:* string

---

##### `mediaLink`<sup>Required</sup> <a name="mediaLink" id="@dschmidt/provider-google.StorageBucketObject.property.mediaLink"></a>

```typescript
public readonly mediaLink: string;
```

- *Type:* string

---

##### `outputName`<sup>Required</sup> <a name="outputName" id="@dschmidt/provider-google.StorageBucketObject.property.outputName"></a>

```typescript
public readonly outputName: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.StorageBucketObject.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageBucketObject.property.timeouts"></a>

```typescript
public readonly timeouts: StorageBucketObjectTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketObjectTimeoutsOutputReference">StorageBucketObjectTimeoutsOutputReference</a>

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageBucketObject.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `cacheControlInput`<sup>Optional</sup> <a name="cacheControlInput" id="@dschmidt/provider-google.StorageBucketObject.property.cacheControlInput"></a>

```typescript
public readonly cacheControlInput: string;
```

- *Type:* string

---

##### `contentDispositionInput`<sup>Optional</sup> <a name="contentDispositionInput" id="@dschmidt/provider-google.StorageBucketObject.property.contentDispositionInput"></a>

```typescript
public readonly contentDispositionInput: string;
```

- *Type:* string

---

##### `contentEncodingInput`<sup>Optional</sup> <a name="contentEncodingInput" id="@dschmidt/provider-google.StorageBucketObject.property.contentEncodingInput"></a>

```typescript
public readonly contentEncodingInput: string;
```

- *Type:* string

---

##### `contentInput`<sup>Optional</sup> <a name="contentInput" id="@dschmidt/provider-google.StorageBucketObject.property.contentInput"></a>

```typescript
public readonly contentInput: string;
```

- *Type:* string

---

##### `contentLanguageInput`<sup>Optional</sup> <a name="contentLanguageInput" id="@dschmidt/provider-google.StorageBucketObject.property.contentLanguageInput"></a>

```typescript
public readonly contentLanguageInput: string;
```

- *Type:* string

---

##### `contentTypeInput`<sup>Optional</sup> <a name="contentTypeInput" id="@dschmidt/provider-google.StorageBucketObject.property.contentTypeInput"></a>

```typescript
public readonly contentTypeInput: string;
```

- *Type:* string

---

##### `customerEncryptionInput`<sup>Optional</sup> <a name="customerEncryptionInput" id="@dschmidt/provider-google.StorageBucketObject.property.customerEncryptionInput"></a>

```typescript
public readonly customerEncryptionInput: StorageBucketObjectCustomerEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketObjectCustomerEncryption">StorageBucketObjectCustomerEncryption</a>

---

##### `detectMd5HashInput`<sup>Optional</sup> <a name="detectMd5HashInput" id="@dschmidt/provider-google.StorageBucketObject.property.detectMd5HashInput"></a>

```typescript
public readonly detectMd5HashInput: string;
```

- *Type:* string

---

##### `eventBasedHoldInput`<sup>Optional</sup> <a name="eventBasedHoldInput" id="@dschmidt/provider-google.StorageBucketObject.property.eventBasedHoldInput"></a>

```typescript
public readonly eventBasedHoldInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageBucketObject.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `kmsKeyNameInput`<sup>Optional</sup> <a name="kmsKeyNameInput" id="@dschmidt/provider-google.StorageBucketObject.property.kmsKeyNameInput"></a>

```typescript
public readonly kmsKeyNameInput: string;
```

- *Type:* string

---

##### `metadataInput`<sup>Optional</sup> <a name="metadataInput" id="@dschmidt/provider-google.StorageBucketObject.property.metadataInput"></a>

```typescript
public readonly metadataInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.StorageBucketObject.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `sourceInput`<sup>Optional</sup> <a name="sourceInput" id="@dschmidt/provider-google.StorageBucketObject.property.sourceInput"></a>

```typescript
public readonly sourceInput: string;
```

- *Type:* string

---

##### `storageClassInput`<sup>Optional</sup> <a name="storageClassInput" id="@dschmidt/provider-google.StorageBucketObject.property.storageClassInput"></a>

```typescript
public readonly storageClassInput: string;
```

- *Type:* string

---

##### `temporaryHoldInput`<sup>Optional</sup> <a name="temporaryHoldInput" id="@dschmidt/provider-google.StorageBucketObject.property.temporaryHoldInput"></a>

```typescript
public readonly temporaryHoldInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.StorageBucketObject.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | StorageBucketObjectTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageBucketObjectTimeouts">StorageBucketObjectTimeouts</a>

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketObject.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `cacheControl`<sup>Required</sup> <a name="cacheControl" id="@dschmidt/provider-google.StorageBucketObject.property.cacheControl"></a>

```typescript
public readonly cacheControl: string;
```

- *Type:* string

---

##### `content`<sup>Required</sup> <a name="content" id="@dschmidt/provider-google.StorageBucketObject.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

---

##### `contentDisposition`<sup>Required</sup> <a name="contentDisposition" id="@dschmidt/provider-google.StorageBucketObject.property.contentDisposition"></a>

```typescript
public readonly contentDisposition: string;
```

- *Type:* string

---

##### `contentEncoding`<sup>Required</sup> <a name="contentEncoding" id="@dschmidt/provider-google.StorageBucketObject.property.contentEncoding"></a>

```typescript
public readonly contentEncoding: string;
```

- *Type:* string

---

##### `contentLanguage`<sup>Required</sup> <a name="contentLanguage" id="@dschmidt/provider-google.StorageBucketObject.property.contentLanguage"></a>

```typescript
public readonly contentLanguage: string;
```

- *Type:* string

---

##### `contentType`<sup>Required</sup> <a name="contentType" id="@dschmidt/provider-google.StorageBucketObject.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

---

##### `detectMd5Hash`<sup>Required</sup> <a name="detectMd5Hash" id="@dschmidt/provider-google.StorageBucketObject.property.detectMd5Hash"></a>

```typescript
public readonly detectMd5Hash: string;
```

- *Type:* string

---

##### `eventBasedHold`<sup>Required</sup> <a name="eventBasedHold" id="@dschmidt/provider-google.StorageBucketObject.property.eventBasedHold"></a>

```typescript
public readonly eventBasedHold: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketObject.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.StorageBucketObject.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.StorageBucketObject.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.StorageBucketObject.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.StorageBucketObject.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

---

##### `storageClass`<sup>Required</sup> <a name="storageClass" id="@dschmidt/provider-google.StorageBucketObject.property.storageClass"></a>

```typescript
public readonly storageClass: string;
```

- *Type:* string

---

##### `temporaryHold`<sup>Required</sup> <a name="temporaryHold" id="@dschmidt/provider-google.StorageBucketObject.property.temporaryHold"></a>

```typescript
public readonly temporaryHold: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketObject.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageBucketObject.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageDefaultObjectAccessControl <a name="StorageDefaultObjectAccessControl" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control google_storage_default_object_access_control}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.Initializer"></a>

```typescript
import { StorageDefaultObjectAccessControl } from '@dschmidt/provider-google'

new StorageDefaultObjectAccessControl(scope: Construct, id: string, config: StorageDefaultObjectAccessControlConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig">StorageDefaultObjectAccessControlConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig">StorageDefaultObjectAccessControlConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.resetObject">resetObject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.putTimeouts"></a>

```typescript
public putTimeouts(value: StorageDefaultObjectAccessControlTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts">StorageDefaultObjectAccessControlTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.resetId"></a>

```typescript
public resetId(): void
```

##### `resetObject` <a name="resetObject" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.resetObject"></a>

```typescript
public resetObject(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.isConstruct"></a>

```typescript
import { StorageDefaultObjectAccessControl } from '@dschmidt/provider-google'

StorageDefaultObjectAccessControl.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.domain">domain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.entityId">entityId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.generation">generation</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.projectTeam">projectTeam</a></code> | <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlProjectTeamList">StorageDefaultObjectAccessControlProjectTeamList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeoutsOutputReference">StorageDefaultObjectAccessControlTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.entityInput">entityInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.objectInput">objectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts">StorageDefaultObjectAccessControlTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.entity">entity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.object">object</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `entityId`<sup>Required</sup> <a name="entityId" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.entityId"></a>

```typescript
public readonly entityId: string;
```

- *Type:* string

---

##### `generation`<sup>Required</sup> <a name="generation" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.generation"></a>

```typescript
public readonly generation: number;
```

- *Type:* number

---

##### `projectTeam`<sup>Required</sup> <a name="projectTeam" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.projectTeam"></a>

```typescript
public readonly projectTeam: StorageDefaultObjectAccessControlProjectTeamList;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlProjectTeamList">StorageDefaultObjectAccessControlProjectTeamList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.timeouts"></a>

```typescript
public readonly timeouts: StorageDefaultObjectAccessControlTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeoutsOutputReference">StorageDefaultObjectAccessControlTimeoutsOutputReference</a>

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `entityInput`<sup>Optional</sup> <a name="entityInput" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.entityInput"></a>

```typescript
public readonly entityInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `objectInput`<sup>Optional</sup> <a name="objectInput" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.objectInput"></a>

```typescript
public readonly objectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | StorageDefaultObjectAccessControlTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts">StorageDefaultObjectAccessControlTimeouts</a>

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `entity`<sup>Required</sup> <a name="entity" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.entity"></a>

```typescript
public readonly entity: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageDefaultObjectAccessControl.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageDefaultObjectAcl <a name="StorageDefaultObjectAcl" id="@dschmidt/provider-google.StorageDefaultObjectAcl"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_acl google_storage_default_object_acl}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageDefaultObjectAcl.Initializer"></a>

```typescript
import { StorageDefaultObjectAcl } from '@dschmidt/provider-google'

new StorageDefaultObjectAcl(scope: Construct, id: string, config: StorageDefaultObjectAclConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig">StorageDefaultObjectAclConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageDefaultObjectAcl.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageDefaultObjectAcl.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageDefaultObjectAcl.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig">StorageDefaultObjectAclConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.resetRoleEntity">resetRoleEntity</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageDefaultObjectAcl.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageDefaultObjectAcl.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageDefaultObjectAcl.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageDefaultObjectAcl.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageDefaultObjectAcl.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageDefaultObjectAcl.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageDefaultObjectAcl.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageDefaultObjectAcl.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageDefaultObjectAcl.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageDefaultObjectAcl.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageDefaultObjectAcl.resetId"></a>

```typescript
public resetId(): void
```

##### `resetRoleEntity` <a name="resetRoleEntity" id="@dschmidt/provider-google.StorageDefaultObjectAcl.resetRoleEntity"></a>

```typescript
public resetRoleEntity(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageDefaultObjectAcl.isConstruct"></a>

```typescript
import { StorageDefaultObjectAcl } from '@dschmidt/provider-google'

StorageDefaultObjectAcl.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageDefaultObjectAcl.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.roleEntityInput">roleEntityInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.roleEntity">roleEntity</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `roleEntityInput`<sup>Optional</sup> <a name="roleEntityInput" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.roleEntityInput"></a>

```typescript
public readonly roleEntityInput: string[];
```

- *Type:* string[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `roleEntity`<sup>Required</sup> <a name="roleEntity" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.roleEntity"></a>

```typescript
public readonly roleEntity: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAcl.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageDefaultObjectAcl.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageHmacKey <a name="StorageHmacKey" id="@dschmidt/provider-google.StorageHmacKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key google_storage_hmac_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageHmacKey.Initializer"></a>

```typescript
import { StorageHmacKey } from '@dschmidt/provider-google'

new StorageHmacKey(scope: Construct, id: string, config: StorageHmacKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig">StorageHmacKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageHmacKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageHmacKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageHmacKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageHmacKeyConfig">StorageHmacKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.resetState">resetState</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageHmacKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageHmacKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageHmacKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageHmacKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageHmacKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageHmacKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageHmacKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageHmacKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageHmacKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageHmacKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageHmacKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageHmacKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageHmacKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageHmacKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageHmacKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageHmacKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageHmacKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageHmacKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageHmacKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageHmacKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.StorageHmacKey.putTimeouts"></a>

```typescript
public putTimeouts(value: StorageHmacKeyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageHmacKey.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageHmacKeyTimeouts">StorageHmacKeyTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageHmacKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.StorageHmacKey.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetState` <a name="resetState" id="@dschmidt/provider-google.StorageHmacKey.resetState"></a>

```typescript
public resetState(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.StorageHmacKey.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageHmacKey.isConstruct"></a>

```typescript
import { StorageHmacKey } from '@dschmidt/provider-google'

StorageHmacKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageHmacKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.accessId">accessId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.secret">secret</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.timeCreated">timeCreated</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageHmacKeyTimeoutsOutputReference">StorageHmacKeyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.updated">updated</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.serviceAccountEmailInput">serviceAccountEmailInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.stateInput">stateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageHmacKeyTimeouts">StorageHmacKeyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.state">state</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageHmacKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageHmacKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageHmacKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageHmacKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageHmacKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageHmacKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageHmacKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageHmacKey.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageHmacKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageHmacKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageHmacKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageHmacKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageHmacKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageHmacKey.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `accessId`<sup>Required</sup> <a name="accessId" id="@dschmidt/provider-google.StorageHmacKey.property.accessId"></a>

```typescript
public readonly accessId: string;
```

- *Type:* string

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.StorageHmacKey.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

---

##### `timeCreated`<sup>Required</sup> <a name="timeCreated" id="@dschmidt/provider-google.StorageHmacKey.property.timeCreated"></a>

```typescript
public readonly timeCreated: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageHmacKey.property.timeouts"></a>

```typescript
public readonly timeouts: StorageHmacKeyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageHmacKeyTimeoutsOutputReference">StorageHmacKeyTimeoutsOutputReference</a>

---

##### `updated`<sup>Required</sup> <a name="updated" id="@dschmidt/provider-google.StorageHmacKey.property.updated"></a>

```typescript
public readonly updated: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageHmacKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.StorageHmacKey.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `serviceAccountEmailInput`<sup>Optional</sup> <a name="serviceAccountEmailInput" id="@dschmidt/provider-google.StorageHmacKey.property.serviceAccountEmailInput"></a>

```typescript
public readonly serviceAccountEmailInput: string;
```

- *Type:* string

---

##### `stateInput`<sup>Optional</sup> <a name="stateInput" id="@dschmidt/provider-google.StorageHmacKey.property.stateInput"></a>

```typescript
public readonly stateInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.StorageHmacKey.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | StorageHmacKeyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageHmacKeyTimeouts">StorageHmacKeyTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageHmacKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.StorageHmacKey.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `serviceAccountEmail`<sup>Required</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.StorageHmacKey.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.StorageHmacKey.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageHmacKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageHmacKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageNotification <a name="StorageNotification" id="@dschmidt/provider-google.StorageNotification"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_notification google_storage_notification}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageNotification.Initializer"></a>

```typescript
import { StorageNotification } from '@dschmidt/provider-google'

new StorageNotification(scope: Construct, id: string, config: StorageNotificationConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageNotification.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageNotification.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageNotification.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageNotificationConfig">StorageNotificationConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageNotification.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageNotification.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageNotification.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageNotificationConfig">StorageNotificationConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageNotification.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageNotification.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageNotification.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageNotification.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageNotification.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.resetCustomAttributes">resetCustomAttributes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.resetEventTypes">resetEventTypes</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.resetObjectNamePrefix">resetObjectNamePrefix</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageNotification.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageNotification.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageNotification.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageNotification.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageNotification.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageNotification.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageNotification.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageNotification.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageNotification.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageNotification.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageNotification.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageNotification.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageNotification.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageNotification.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageNotification.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageNotification.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageNotification.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageNotification.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageNotification.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageNotification.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetCustomAttributes` <a name="resetCustomAttributes" id="@dschmidt/provider-google.StorageNotification.resetCustomAttributes"></a>

```typescript
public resetCustomAttributes(): void
```

##### `resetEventTypes` <a name="resetEventTypes" id="@dschmidt/provider-google.StorageNotification.resetEventTypes"></a>

```typescript
public resetEventTypes(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageNotification.resetId"></a>

```typescript
public resetId(): void
```

##### `resetObjectNamePrefix` <a name="resetObjectNamePrefix" id="@dschmidt/provider-google.StorageNotification.resetObjectNamePrefix"></a>

```typescript
public resetObjectNamePrefix(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageNotification.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageNotification.isConstruct"></a>

```typescript
import { StorageNotification } from '@dschmidt/provider-google'

StorageNotification.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageNotification.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.notificationId">notificationId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.customAttributesInput">customAttributesInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.eventTypesInput">eventTypesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.objectNamePrefixInput">objectNamePrefixInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.payloadFormatInput">payloadFormatInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.topicInput">topicInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.customAttributes">customAttributes</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.eventTypes">eventTypes</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.objectNamePrefix">objectNamePrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.payloadFormat">payloadFormat</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.topic">topic</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageNotification.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageNotification.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageNotification.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageNotification.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageNotification.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageNotification.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageNotification.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageNotification.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageNotification.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageNotification.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageNotification.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageNotification.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageNotification.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageNotification.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `notificationId`<sup>Required</sup> <a name="notificationId" id="@dschmidt/provider-google.StorageNotification.property.notificationId"></a>

```typescript
public readonly notificationId: string;
```

- *Type:* string

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.StorageNotification.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageNotification.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `customAttributesInput`<sup>Optional</sup> <a name="customAttributesInput" id="@dschmidt/provider-google.StorageNotification.property.customAttributesInput"></a>

```typescript
public readonly customAttributesInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `eventTypesInput`<sup>Optional</sup> <a name="eventTypesInput" id="@dschmidt/provider-google.StorageNotification.property.eventTypesInput"></a>

```typescript
public readonly eventTypesInput: string[];
```

- *Type:* string[]

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageNotification.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `objectNamePrefixInput`<sup>Optional</sup> <a name="objectNamePrefixInput" id="@dschmidt/provider-google.StorageNotification.property.objectNamePrefixInput"></a>

```typescript
public readonly objectNamePrefixInput: string;
```

- *Type:* string

---

##### `payloadFormatInput`<sup>Optional</sup> <a name="payloadFormatInput" id="@dschmidt/provider-google.StorageNotification.property.payloadFormatInput"></a>

```typescript
public readonly payloadFormatInput: string;
```

- *Type:* string

---

##### `topicInput`<sup>Optional</sup> <a name="topicInput" id="@dschmidt/provider-google.StorageNotification.property.topicInput"></a>

```typescript
public readonly topicInput: string;
```

- *Type:* string

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageNotification.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `customAttributes`<sup>Required</sup> <a name="customAttributes" id="@dschmidt/provider-google.StorageNotification.property.customAttributes"></a>

```typescript
public readonly customAttributes: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `eventTypes`<sup>Required</sup> <a name="eventTypes" id="@dschmidt/provider-google.StorageNotification.property.eventTypes"></a>

```typescript
public readonly eventTypes: string[];
```

- *Type:* string[]

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageNotification.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `objectNamePrefix`<sup>Required</sup> <a name="objectNamePrefix" id="@dschmidt/provider-google.StorageNotification.property.objectNamePrefix"></a>

```typescript
public readonly objectNamePrefix: string;
```

- *Type:* string

---

##### `payloadFormat`<sup>Required</sup> <a name="payloadFormat" id="@dschmidt/provider-google.StorageNotification.property.payloadFormat"></a>

```typescript
public readonly payloadFormat: string;
```

- *Type:* string

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.StorageNotification.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageNotification.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageNotification.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageObjectAccessControl <a name="StorageObjectAccessControl" id="@dschmidt/provider-google.StorageObjectAccessControl"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control google_storage_object_access_control}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageObjectAccessControl.Initializer"></a>

```typescript
import { StorageObjectAccessControl } from '@dschmidt/provider-google'

new StorageObjectAccessControl(scope: Construct, id: string, config: StorageObjectAccessControlConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig">StorageObjectAccessControlConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageObjectAccessControl.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageObjectAccessControl.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageObjectAccessControl.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig">StorageObjectAccessControlConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageObjectAccessControl.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageObjectAccessControl.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageObjectAccessControl.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageObjectAccessControl.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageObjectAccessControl.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageObjectAccessControl.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageObjectAccessControl.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageObjectAccessControl.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageObjectAccessControl.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAccessControl.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.StorageObjectAccessControl.putTimeouts"></a>

```typescript
public putTimeouts(value: StorageObjectAccessControlTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageObjectAccessControl.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeouts">StorageObjectAccessControlTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageObjectAccessControl.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.StorageObjectAccessControl.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageObjectAccessControl.isConstruct"></a>

```typescript
import { StorageObjectAccessControl } from '@dschmidt/provider-google'

StorageObjectAccessControl.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageObjectAccessControl.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.domain">domain</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.email">email</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.entityId">entityId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.generation">generation</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.projectTeam">projectTeam</a></code> | <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlProjectTeamList">StorageObjectAccessControlProjectTeamList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeoutsOutputReference">StorageObjectAccessControlTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.entityInput">entityInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.objectInput">objectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeouts">StorageObjectAccessControlTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.entity">entity</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.object">object</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.role">role</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageObjectAccessControl.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageObjectAccessControl.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageObjectAccessControl.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageObjectAccessControl.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageObjectAccessControl.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageObjectAccessControl.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageObjectAccessControl.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageObjectAccessControl.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageObjectAccessControl.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageObjectAccessControl.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageObjectAccessControl.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageObjectAccessControl.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageObjectAccessControl.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageObjectAccessControl.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.StorageObjectAccessControl.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.StorageObjectAccessControl.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

---

##### `entityId`<sup>Required</sup> <a name="entityId" id="@dschmidt/provider-google.StorageObjectAccessControl.property.entityId"></a>

```typescript
public readonly entityId: string;
```

- *Type:* string

---

##### `generation`<sup>Required</sup> <a name="generation" id="@dschmidt/provider-google.StorageObjectAccessControl.property.generation"></a>

```typescript
public readonly generation: number;
```

- *Type:* number

---

##### `projectTeam`<sup>Required</sup> <a name="projectTeam" id="@dschmidt/provider-google.StorageObjectAccessControl.property.projectTeam"></a>

```typescript
public readonly projectTeam: StorageObjectAccessControlProjectTeamList;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageObjectAccessControlProjectTeamList">StorageObjectAccessControlProjectTeamList</a>

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageObjectAccessControl.property.timeouts"></a>

```typescript
public readonly timeouts: StorageObjectAccessControlTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeoutsOutputReference">StorageObjectAccessControlTimeoutsOutputReference</a>

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageObjectAccessControl.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `entityInput`<sup>Optional</sup> <a name="entityInput" id="@dschmidt/provider-google.StorageObjectAccessControl.property.entityInput"></a>

```typescript
public readonly entityInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageObjectAccessControl.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `objectInput`<sup>Optional</sup> <a name="objectInput" id="@dschmidt/provider-google.StorageObjectAccessControl.property.objectInput"></a>

```typescript
public readonly objectInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.StorageObjectAccessControl.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.StorageObjectAccessControl.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | StorageObjectAccessControlTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeouts">StorageObjectAccessControlTimeouts</a>

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageObjectAccessControl.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `entity`<sup>Required</sup> <a name="entity" id="@dschmidt/provider-google.StorageObjectAccessControl.property.entity"></a>

```typescript
public readonly entity: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageObjectAccessControl.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.StorageObjectAccessControl.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.StorageObjectAccessControl.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControl.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageObjectAccessControl.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageObjectAcl <a name="StorageObjectAcl" id="@dschmidt/provider-google.StorageObjectAcl"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl google_storage_object_acl}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageObjectAcl.Initializer"></a>

```typescript
import { StorageObjectAcl } from '@dschmidt/provider-google'

new StorageObjectAcl(scope: Construct, id: string, config: StorageObjectAclConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig">StorageObjectAclConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageObjectAcl.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageObjectAcl.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageObjectAcl.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageObjectAclConfig">StorageObjectAclConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.resetPredefinedAcl">resetPredefinedAcl</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.resetRoleEntity">resetRoleEntity</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageObjectAcl.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageObjectAcl.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageObjectAcl.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageObjectAcl.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageObjectAcl.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageObjectAcl.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageObjectAcl.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageObjectAcl.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageObjectAcl.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageObjectAcl.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageObjectAcl.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageObjectAcl.resetId"></a>

```typescript
public resetId(): void
```

##### `resetPredefinedAcl` <a name="resetPredefinedAcl" id="@dschmidt/provider-google.StorageObjectAcl.resetPredefinedAcl"></a>

```typescript
public resetPredefinedAcl(): void
```

##### `resetRoleEntity` <a name="resetRoleEntity" id="@dschmidt/provider-google.StorageObjectAcl.resetRoleEntity"></a>

```typescript
public resetRoleEntity(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageObjectAcl.isConstruct"></a>

```typescript
import { StorageObjectAcl } from '@dschmidt/provider-google'

StorageObjectAcl.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageObjectAcl.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.bucketInput">bucketInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.objectInput">objectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.predefinedAclInput">predefinedAclInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.roleEntityInput">roleEntityInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.bucket">bucket</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.object">object</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.predefinedAcl">predefinedAcl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.roleEntity">roleEntity</a></code> | <code>string[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageObjectAcl.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageObjectAcl.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageObjectAcl.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageObjectAcl.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageObjectAcl.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageObjectAcl.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageObjectAcl.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageObjectAcl.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageObjectAcl.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageObjectAcl.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageObjectAcl.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageObjectAcl.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageObjectAcl.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageObjectAcl.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketInput`<sup>Optional</sup> <a name="bucketInput" id="@dschmidt/provider-google.StorageObjectAcl.property.bucketInput"></a>

```typescript
public readonly bucketInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageObjectAcl.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `objectInput`<sup>Optional</sup> <a name="objectInput" id="@dschmidt/provider-google.StorageObjectAcl.property.objectInput"></a>

```typescript
public readonly objectInput: string;
```

- *Type:* string

---

##### `predefinedAclInput`<sup>Optional</sup> <a name="predefinedAclInput" id="@dschmidt/provider-google.StorageObjectAcl.property.predefinedAclInput"></a>

```typescript
public readonly predefinedAclInput: string;
```

- *Type:* string

---

##### `roleEntityInput`<sup>Optional</sup> <a name="roleEntityInput" id="@dschmidt/provider-google.StorageObjectAcl.property.roleEntityInput"></a>

```typescript
public readonly roleEntityInput: string[];
```

- *Type:* string[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageObjectAcl.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageObjectAcl.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.StorageObjectAcl.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

---

##### `predefinedAcl`<sup>Required</sup> <a name="predefinedAcl" id="@dschmidt/provider-google.StorageObjectAcl.property.predefinedAcl"></a>

```typescript
public readonly predefinedAcl: string;
```

- *Type:* string

---

##### `roleEntity`<sup>Required</sup> <a name="roleEntity" id="@dschmidt/provider-google.StorageObjectAcl.property.roleEntity"></a>

```typescript
public readonly roleEntity: string[];
```

- *Type:* string[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAcl.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageObjectAcl.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### StorageTransferJob <a name="StorageTransferJob" id="@dschmidt/provider-google.StorageTransferJob"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job google_storage_transfer_job}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.StorageTransferJob.Initializer"></a>

```typescript
import { StorageTransferJob } from '@dschmidt/provider-google'

new StorageTransferJob(scope: Construct, id: string, config: StorageTransferJobConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig">StorageTransferJobConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.StorageTransferJob.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageTransferJob.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.StorageTransferJob.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobConfig">StorageTransferJobConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.putSchedule">putSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.putTransferSpec">putTransferSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.resetSchedule">resetSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.resetStatus">resetStatus</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.StorageTransferJob.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.StorageTransferJob.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.StorageTransferJob.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageTransferJob.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.StorageTransferJob.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.StorageTransferJob.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.StorageTransferJob.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.StorageTransferJob.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.StorageTransferJob.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.StorageTransferJob.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.StorageTransferJob.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.StorageTransferJob.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.StorageTransferJob.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.StorageTransferJob.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.StorageTransferJob.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.StorageTransferJob.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.StorageTransferJob.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.StorageTransferJob.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.StorageTransferJob.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.StorageTransferJob.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSchedule` <a name="putSchedule" id="@dschmidt/provider-google.StorageTransferJob.putSchedule"></a>

```typescript
public putSchedule(value: StorageTransferJobSchedule): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageTransferJob.putSchedule.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobSchedule">StorageTransferJobSchedule</a>

---

##### `putTransferSpec` <a name="putTransferSpec" id="@dschmidt/provider-google.StorageTransferJob.putTransferSpec"></a>

```typescript
public putTransferSpec(value: StorageTransferJobTransferSpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.StorageTransferJob.putTransferSpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec">StorageTransferJobTransferSpec</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.StorageTransferJob.resetId"></a>

```typescript
public resetId(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.StorageTransferJob.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSchedule` <a name="resetSchedule" id="@dschmidt/provider-google.StorageTransferJob.resetSchedule"></a>

```typescript
public resetSchedule(): void
```

##### `resetStatus` <a name="resetStatus" id="@dschmidt/provider-google.StorageTransferJob.resetStatus"></a>

```typescript
public resetStatus(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.StorageTransferJob.isConstruct"></a>

```typescript
import { StorageTransferJob } from '@dschmidt/provider-google'

StorageTransferJob.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.StorageTransferJob.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.creationTime">creationTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.deletionTime">deletionTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.lastModificationTime">lastModificationTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.schedule">schedule</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleOutputReference">StorageTransferJobScheduleOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.transferSpec">transferSpec</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecOutputReference">StorageTransferJobTransferSpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.scheduleInput">scheduleInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobSchedule">StorageTransferJobSchedule</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.statusInput">statusInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.transferSpecInput">transferSpecInput</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec">StorageTransferJobTransferSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.status">status</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.StorageTransferJob.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.StorageTransferJob.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.StorageTransferJob.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.StorageTransferJob.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.StorageTransferJob.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.StorageTransferJob.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.StorageTransferJob.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageTransferJob.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageTransferJob.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageTransferJob.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageTransferJob.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageTransferJob.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageTransferJob.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageTransferJob.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `creationTime`<sup>Required</sup> <a name="creationTime" id="@dschmidt/provider-google.StorageTransferJob.property.creationTime"></a>

```typescript
public readonly creationTime: string;
```

- *Type:* string

---

##### `deletionTime`<sup>Required</sup> <a name="deletionTime" id="@dschmidt/provider-google.StorageTransferJob.property.deletionTime"></a>

```typescript
public readonly deletionTime: string;
```

- *Type:* string

---

##### `lastModificationTime`<sup>Required</sup> <a name="lastModificationTime" id="@dschmidt/provider-google.StorageTransferJob.property.lastModificationTime"></a>

```typescript
public readonly lastModificationTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.StorageTransferJob.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `schedule`<sup>Required</sup> <a name="schedule" id="@dschmidt/provider-google.StorageTransferJob.property.schedule"></a>

```typescript
public readonly schedule: StorageTransferJobScheduleOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobScheduleOutputReference">StorageTransferJobScheduleOutputReference</a>

---

##### `transferSpec`<sup>Required</sup> <a name="transferSpec" id="@dschmidt/provider-google.StorageTransferJob.property.transferSpec"></a>

```typescript
public readonly transferSpec: StorageTransferJobTransferSpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecOutputReference">StorageTransferJobTransferSpecOutputReference</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.StorageTransferJob.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.StorageTransferJob.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.StorageTransferJob.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `scheduleInput`<sup>Optional</sup> <a name="scheduleInput" id="@dschmidt/provider-google.StorageTransferJob.property.scheduleInput"></a>

```typescript
public readonly scheduleInput: StorageTransferJobSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobSchedule">StorageTransferJobSchedule</a>

---

##### `statusInput`<sup>Optional</sup> <a name="statusInput" id="@dschmidt/provider-google.StorageTransferJob.property.statusInput"></a>

```typescript
public readonly statusInput: string;
```

- *Type:* string

---

##### `transferSpecInput`<sup>Optional</sup> <a name="transferSpecInput" id="@dschmidt/provider-google.StorageTransferJob.property.transferSpecInput"></a>

```typescript
public readonly transferSpecInput: StorageTransferJobTransferSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec">StorageTransferJobTransferSpec</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.StorageTransferJob.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.StorageTransferJob.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.StorageTransferJob.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.StorageTransferJob.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJob.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.StorageTransferJob.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TagsTagBinding <a name="TagsTagBinding" id="@dschmidt/provider-google.TagsTagBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding google_tags_tag_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TagsTagBinding.Initializer"></a>

```typescript
import { TagsTagBinding } from '@dschmidt/provider-google'

new TagsTagBinding(scope: Construct, id: string, config: TagsTagBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig">TagsTagBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TagsTagBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TagsTagBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagBindingConfig">TagsTagBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TagsTagBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TagsTagBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TagsTagBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TagsTagBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TagsTagBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TagsTagBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TagsTagBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TagsTagBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TagsTagBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TagsTagBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TagsTagBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TagsTagBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TagsTagBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TagsTagBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TagsTagBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TagsTagBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TagsTagBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TagsTagBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.TagsTagBinding.putTimeouts"></a>

```typescript
public putTimeouts(value: TagsTagBindingTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagBinding.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagBindingTimeouts">TagsTagBindingTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TagsTagBinding.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.TagsTagBinding.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TagsTagBinding.isConstruct"></a>

```typescript
import { TagsTagBinding } from '@dschmidt/provider-google'

TagsTagBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TagsTagBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagBindingTimeoutsOutputReference">TagsTagBindingTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.tagValueInput">tagValueInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.TagsTagBindingTimeouts">TagsTagBindingTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.tagValue">tagValue</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TagsTagBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TagsTagBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TagsTagBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TagsTagBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TagsTagBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TagsTagBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TagsTagBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.TagsTagBinding.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.TagsTagBinding.property.timeouts"></a>

```typescript
public readonly timeouts: TagsTagBindingTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagBindingTimeoutsOutputReference">TagsTagBindingTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TagsTagBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.TagsTagBinding.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `tagValueInput`<sup>Optional</sup> <a name="tagValueInput" id="@dschmidt/provider-google.TagsTagBinding.property.tagValueInput"></a>

```typescript
public readonly tagValueInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.TagsTagBinding.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | TagsTagBindingTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.TagsTagBindingTimeouts">TagsTagBindingTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.TagsTagBinding.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `tagValue`<sup>Required</sup> <a name="tagValue" id="@dschmidt/provider-google.TagsTagBinding.property.tagValue"></a>

```typescript
public readonly tagValue: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TagsTagBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TagsTagKey <a name="TagsTagKey" id="@dschmidt/provider-google.TagsTagKey"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key google_tags_tag_key}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TagsTagKey.Initializer"></a>

```typescript
import { TagsTagKey } from '@dschmidt/provider-google'

new TagsTagKey(scope: Construct, id: string, config: TagsTagKeyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig">TagsTagKeyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TagsTagKey.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKey.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TagsTagKey.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyConfig">TagsTagKeyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TagsTagKey.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TagsTagKey.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TagsTagKey.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagKey.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TagsTagKey.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TagsTagKey.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TagsTagKey.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TagsTagKey.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TagsTagKey.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TagsTagKey.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TagsTagKey.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TagsTagKey.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TagsTagKey.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TagsTagKey.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TagsTagKey.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TagsTagKey.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TagsTagKey.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TagsTagKey.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TagsTagKey.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKey.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.TagsTagKey.putTimeouts"></a>

```typescript
public putTimeouts(value: TagsTagKeyTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagKey.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyTimeouts">TagsTagKeyTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.TagsTagKey.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TagsTagKey.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.TagsTagKey.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TagsTagKey.isConstruct"></a>

```typescript
import { TagsTagKey } from '@dschmidt/provider-google'

TagsTagKey.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TagsTagKey.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.namespacedName">namespacedName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyTimeoutsOutputReference">TagsTagKeyTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.shortNameInput">shortNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.TagsTagKeyTimeouts">TagsTagKeyTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.shortName">shortName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TagsTagKey.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TagsTagKey.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TagsTagKey.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TagsTagKey.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TagsTagKey.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TagsTagKey.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TagsTagKey.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagKey.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagKey.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagKey.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagKey.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagKey.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagKey.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagKey.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.TagsTagKey.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.TagsTagKey.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `namespacedName`<sup>Required</sup> <a name="namespacedName" id="@dschmidt/provider-google.TagsTagKey.property.namespacedName"></a>

```typescript
public readonly namespacedName: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.TagsTagKey.property.timeouts"></a>

```typescript
public readonly timeouts: TagsTagKeyTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyTimeoutsOutputReference">TagsTagKeyTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.TagsTagKey.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.TagsTagKey.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TagsTagKey.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.TagsTagKey.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `shortNameInput`<sup>Optional</sup> <a name="shortNameInput" id="@dschmidt/provider-google.TagsTagKey.property.shortNameInput"></a>

```typescript
public readonly shortNameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.TagsTagKey.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | TagsTagKeyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.TagsTagKeyTimeouts">TagsTagKeyTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.TagsTagKey.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.TagsTagKey.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.TagsTagKey.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKey.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TagsTagKey.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TagsTagKeyIamBinding <a name="TagsTagKeyIamBinding" id="@dschmidt/provider-google.TagsTagKeyIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding google_tags_tag_key_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TagsTagKeyIamBinding.Initializer"></a>

```typescript
import { TagsTagKeyIamBinding } from '@dschmidt/provider-google'

new TagsTagKeyIamBinding(scope: Construct, id: string, config: TagsTagKeyIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig">TagsTagKeyIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TagsTagKeyIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TagsTagKeyIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig">TagsTagKeyIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TagsTagKeyIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TagsTagKeyIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TagsTagKeyIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagKeyIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TagsTagKeyIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TagsTagKeyIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TagsTagKeyIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TagsTagKeyIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TagsTagKeyIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.TagsTagKeyIamBinding.putCondition"></a>

```typescript
public putCondition(value: TagsTagKeyIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagKeyIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamBindingCondition">TagsTagKeyIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.TagsTagKeyIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TagsTagKeyIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TagsTagKeyIamBinding.isConstruct"></a>

```typescript
import { TagsTagKeyIamBinding } from '@dschmidt/provider-google'

TagsTagKeyIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TagsTagKeyIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConditionOutputReference">TagsTagKeyIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingCondition">TagsTagKeyIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.tagKeyInput">tagKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.tagKey">tagKey</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.condition"></a>

```typescript
public readonly condition: TagsTagKeyIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConditionOutputReference">TagsTagKeyIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: TagsTagKeyIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamBindingCondition">TagsTagKeyIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tagKeyInput`<sup>Optional</sup> <a name="tagKeyInput" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.tagKeyInput"></a>

```typescript
public readonly tagKeyInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `tagKey`<sup>Required</sup> <a name="tagKey" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.tagKey"></a>

```typescript
public readonly tagKey: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TagsTagKeyIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TagsTagKeyIamMember <a name="TagsTagKeyIamMember" id="@dschmidt/provider-google.TagsTagKeyIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member google_tags_tag_key_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TagsTagKeyIamMember.Initializer"></a>

```typescript
import { TagsTagKeyIamMember } from '@dschmidt/provider-google'

new TagsTagKeyIamMember(scope: Construct, id: string, config: TagsTagKeyIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig">TagsTagKeyIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TagsTagKeyIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TagsTagKeyIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig">TagsTagKeyIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TagsTagKeyIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TagsTagKeyIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TagsTagKeyIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagKeyIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TagsTagKeyIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TagsTagKeyIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TagsTagKeyIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TagsTagKeyIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TagsTagKeyIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.TagsTagKeyIamMember.putCondition"></a>

```typescript
public putCondition(value: TagsTagKeyIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagKeyIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamMemberCondition">TagsTagKeyIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.TagsTagKeyIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TagsTagKeyIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TagsTagKeyIamMember.isConstruct"></a>

```typescript
import { TagsTagKeyIamMember } from '@dschmidt/provider-google'

TagsTagKeyIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TagsTagKeyIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConditionOutputReference">TagsTagKeyIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberCondition">TagsTagKeyIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.tagKeyInput">tagKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.tagKey">tagKey</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.condition"></a>

```typescript
public readonly condition: TagsTagKeyIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConditionOutputReference">TagsTagKeyIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: TagsTagKeyIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamMemberCondition">TagsTagKeyIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tagKeyInput`<sup>Optional</sup> <a name="tagKeyInput" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.tagKeyInput"></a>

```typescript
public readonly tagKeyInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `tagKey`<sup>Required</sup> <a name="tagKey" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.tagKey"></a>

```typescript
public readonly tagKey: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TagsTagKeyIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TagsTagKeyIamPolicy <a name="TagsTagKeyIamPolicy" id="@dschmidt/provider-google.TagsTagKeyIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_policy google_tags_tag_key_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.Initializer"></a>

```typescript
import { TagsTagKeyIamPolicy } from '@dschmidt/provider-google'

new TagsTagKeyIamPolicy(scope: Construct, id: string, config: TagsTagKeyIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig">TagsTagKeyIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig">TagsTagKeyIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.isConstruct"></a>

```typescript
import { TagsTagKeyIamPolicy } from '@dschmidt/provider-google'

TagsTagKeyIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.tagKeyInput">tagKeyInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.tagKey">tagKey</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `tagKeyInput`<sup>Optional</sup> <a name="tagKeyInput" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.tagKeyInput"></a>

```typescript
public readonly tagKeyInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `tagKey`<sup>Required</sup> <a name="tagKey" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.tagKey"></a>

```typescript
public readonly tagKey: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TagsTagKeyIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TagsTagValue <a name="TagsTagValue" id="@dschmidt/provider-google.TagsTagValue"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value google_tags_tag_value}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TagsTagValue.Initializer"></a>

```typescript
import { TagsTagValue } from '@dschmidt/provider-google'

new TagsTagValue(scope: Construct, id: string, config: TagsTagValueConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueConfig">TagsTagValueConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TagsTagValue.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValue.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TagsTagValue.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueConfig">TagsTagValueConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TagsTagValue.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TagsTagValue.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TagsTagValue.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagValue.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TagsTagValue.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TagsTagValue.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TagsTagValue.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TagsTagValue.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TagsTagValue.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TagsTagValue.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TagsTagValue.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TagsTagValue.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TagsTagValue.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TagsTagValue.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TagsTagValue.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TagsTagValue.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TagsTagValue.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TagsTagValue.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TagsTagValue.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValue.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.TagsTagValue.putTimeouts"></a>

```typescript
public putTimeouts(value: TagsTagValueTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagValue.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueTimeouts">TagsTagValueTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.TagsTagValue.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TagsTagValue.resetId"></a>

```typescript
public resetId(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.TagsTagValue.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TagsTagValue.isConstruct"></a>

```typescript
import { TagsTagValue } from '@dschmidt/provider-google'

TagsTagValue.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TagsTagValue.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.namespacedName">namespacedName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueTimeoutsOutputReference">TagsTagValueTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.parentInput">parentInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.shortNameInput">shortNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.TagsTagValueTimeouts">TagsTagValueTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.parent">parent</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.shortName">shortName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TagsTagValue.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TagsTagValue.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TagsTagValue.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TagsTagValue.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TagsTagValue.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TagsTagValue.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TagsTagValue.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagValue.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagValue.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagValue.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagValue.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagValue.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagValue.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagValue.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.TagsTagValue.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.TagsTagValue.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `namespacedName`<sup>Required</sup> <a name="namespacedName" id="@dschmidt/provider-google.TagsTagValue.property.namespacedName"></a>

```typescript
public readonly namespacedName: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.TagsTagValue.property.timeouts"></a>

```typescript
public readonly timeouts: TagsTagValueTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueTimeoutsOutputReference">TagsTagValueTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.TagsTagValue.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.TagsTagValue.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TagsTagValue.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `parentInput`<sup>Optional</sup> <a name="parentInput" id="@dschmidt/provider-google.TagsTagValue.property.parentInput"></a>

```typescript
public readonly parentInput: string;
```

- *Type:* string

---

##### `shortNameInput`<sup>Optional</sup> <a name="shortNameInput" id="@dschmidt/provider-google.TagsTagValue.property.shortNameInput"></a>

```typescript
public readonly shortNameInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.TagsTagValue.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | TagsTagValueTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.TagsTagValueTimeouts">TagsTagValueTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.TagsTagValue.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValue.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.TagsTagValue.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.TagsTagValue.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValue.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TagsTagValue.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TagsTagValueIamBinding <a name="TagsTagValueIamBinding" id="@dschmidt/provider-google.TagsTagValueIamBinding"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding google_tags_tag_value_iam_binding}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TagsTagValueIamBinding.Initializer"></a>

```typescript
import { TagsTagValueIamBinding } from '@dschmidt/provider-google'

new TagsTagValueIamBinding(scope: Construct, id: string, config: TagsTagValueIamBindingConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig">TagsTagValueIamBindingConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TagsTagValueIamBinding.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueIamBinding.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TagsTagValueIamBinding.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig">TagsTagValueIamBindingConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TagsTagValueIamBinding.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TagsTagValueIamBinding.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TagsTagValueIamBinding.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagValueIamBinding.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TagsTagValueIamBinding.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TagsTagValueIamBinding.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TagsTagValueIamBinding.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TagsTagValueIamBinding.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TagsTagValueIamBinding.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamBinding.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.TagsTagValueIamBinding.putCondition"></a>

```typescript
public putCondition(value: TagsTagValueIamBindingCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagValueIamBinding.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamBindingCondition">TagsTagValueIamBindingCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.TagsTagValueIamBinding.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TagsTagValueIamBinding.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TagsTagValueIamBinding.isConstruct"></a>

```typescript
import { TagsTagValueIamBinding } from '@dschmidt/provider-google'

TagsTagValueIamBinding.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TagsTagValueIamBinding.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConditionOutputReference">TagsTagValueIamBindingConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingCondition">TagsTagValueIamBindingCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.tagValueInput">tagValueInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.tagValue">tagValue</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.condition"></a>

```typescript
public readonly condition: TagsTagValueIamBindingConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamBindingConditionOutputReference">TagsTagValueIamBindingConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.conditionInput"></a>

```typescript
public readonly conditionInput: TagsTagValueIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamBindingCondition">TagsTagValueIamBindingCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tagValueInput`<sup>Optional</sup> <a name="tagValueInput" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.tagValueInput"></a>

```typescript
public readonly tagValueInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `tagValue`<sup>Required</sup> <a name="tagValue" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.tagValue"></a>

```typescript
public readonly tagValue: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBinding.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TagsTagValueIamBinding.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TagsTagValueIamMember <a name="TagsTagValueIamMember" id="@dschmidt/provider-google.TagsTagValueIamMember"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member google_tags_tag_value_iam_member}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TagsTagValueIamMember.Initializer"></a>

```typescript
import { TagsTagValueIamMember } from '@dschmidt/provider-google'

new TagsTagValueIamMember(scope: Construct, id: string, config: TagsTagValueIamMemberConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig">TagsTagValueIamMemberConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TagsTagValueIamMember.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueIamMember.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TagsTagValueIamMember.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig">TagsTagValueIamMemberConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.putCondition">putCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.resetCondition">resetCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TagsTagValueIamMember.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TagsTagValueIamMember.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TagsTagValueIamMember.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagValueIamMember.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TagsTagValueIamMember.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TagsTagValueIamMember.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TagsTagValueIamMember.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TagsTagValueIamMember.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TagsTagValueIamMember.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamMember.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putCondition` <a name="putCondition" id="@dschmidt/provider-google.TagsTagValueIamMember.putCondition"></a>

```typescript
public putCondition(value: TagsTagValueIamMemberCondition): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagValueIamMember.putCondition.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamMemberCondition">TagsTagValueIamMemberCondition</a>

---

##### `resetCondition` <a name="resetCondition" id="@dschmidt/provider-google.TagsTagValueIamMember.resetCondition"></a>

```typescript
public resetCondition(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TagsTagValueIamMember.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TagsTagValueIamMember.isConstruct"></a>

```typescript
import { TagsTagValueIamMember } from '@dschmidt/provider-google'

TagsTagValueIamMember.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TagsTagValueIamMember.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConditionOutputReference">TagsTagValueIamMemberConditionOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.conditionInput">conditionInput</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberCondition">TagsTagValueIamMemberCondition</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.memberInput">memberInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.roleInput">roleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.tagValueInput">tagValueInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.member">member</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.role">role</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.tagValue">tagValue</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TagsTagValueIamMember.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TagsTagValueIamMember.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TagsTagValueIamMember.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TagsTagValueIamMember.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TagsTagValueIamMember.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TagsTagValueIamMember.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TagsTagValueIamMember.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagValueIamMember.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagValueIamMember.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagValueIamMember.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagValueIamMember.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagValueIamMember.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagValueIamMember.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagValueIamMember.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.TagsTagValueIamMember.property.condition"></a>

```typescript
public readonly condition: TagsTagValueIamMemberConditionOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamMemberConditionOutputReference">TagsTagValueIamMemberConditionOutputReference</a>

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.TagsTagValueIamMember.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `conditionInput`<sup>Optional</sup> <a name="conditionInput" id="@dschmidt/provider-google.TagsTagValueIamMember.property.conditionInput"></a>

```typescript
public readonly conditionInput: TagsTagValueIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamMemberCondition">TagsTagValueIamMemberCondition</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TagsTagValueIamMember.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `memberInput`<sup>Optional</sup> <a name="memberInput" id="@dschmidt/provider-google.TagsTagValueIamMember.property.memberInput"></a>

```typescript
public readonly memberInput: string;
```

- *Type:* string

---

##### `roleInput`<sup>Optional</sup> <a name="roleInput" id="@dschmidt/provider-google.TagsTagValueIamMember.property.roleInput"></a>

```typescript
public readonly roleInput: string;
```

- *Type:* string

---

##### `tagValueInput`<sup>Optional</sup> <a name="tagValueInput" id="@dschmidt/provider-google.TagsTagValueIamMember.property.tagValueInput"></a>

```typescript
public readonly tagValueInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueIamMember.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.TagsTagValueIamMember.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.TagsTagValueIamMember.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

---

##### `tagValue`<sup>Required</sup> <a name="tagValue" id="@dschmidt/provider-google.TagsTagValueIamMember.property.tagValue"></a>

```typescript
public readonly tagValue: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMember.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TagsTagValueIamMember.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TagsTagValueIamPolicy <a name="TagsTagValueIamPolicy" id="@dschmidt/provider-google.TagsTagValueIamPolicy"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_policy google_tags_tag_value_iam_policy}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TagsTagValueIamPolicy.Initializer"></a>

```typescript
import { TagsTagValueIamPolicy } from '@dschmidt/provider-google'

new TagsTagValueIamPolicy(scope: Construct, id: string, config: TagsTagValueIamPolicyConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig">TagsTagValueIamPolicyConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TagsTagValueIamPolicy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueIamPolicy.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TagsTagValueIamPolicy.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig">TagsTagValueIamPolicyConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.resetId">resetId</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TagsTagValueIamPolicy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TagsTagValueIamPolicy.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TagsTagValueIamPolicy.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TagsTagValueIamPolicy.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TagsTagValueIamPolicy.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TagsTagValueIamPolicy.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TagsTagValueIamPolicy.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TagsTagValueIamPolicy.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TagsTagValueIamPolicy.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TagsTagValueIamPolicy.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TagsTagValueIamPolicy.resetId"></a>

```typescript
public resetId(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TagsTagValueIamPolicy.isConstruct"></a>

```typescript
import { TagsTagValueIamPolicy } from '@dschmidt/provider-google'

TagsTagValueIamPolicy.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TagsTagValueIamPolicy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.etag">etag</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.policyDataInput">policyDataInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.tagValueInput">tagValueInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.policyData">policyData</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.tagValue">tagValue</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `etag`<sup>Required</sup> <a name="etag" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.etag"></a>

```typescript
public readonly etag: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `policyDataInput`<sup>Optional</sup> <a name="policyDataInput" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.policyDataInput"></a>

```typescript
public readonly policyDataInput: string;
```

- *Type:* string

---

##### `tagValueInput`<sup>Optional</sup> <a name="tagValueInput" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.tagValueInput"></a>

```typescript
public readonly tagValueInput: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

---

##### `tagValue`<sup>Required</sup> <a name="tagValue" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.tagValue"></a>

```typescript
public readonly tagValue: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicy.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TagsTagValueIamPolicy.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### TpuNode <a name="TpuNode" id="@dschmidt/provider-google.TpuNode"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/tpu_node google_tpu_node}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.TpuNode.Initializer"></a>

```typescript
import { TpuNode } from '@dschmidt/provider-google'

new TpuNode(scope: Construct, id: string, config: TpuNodeConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TpuNode.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.TpuNode.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.TpuNode.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.TpuNodeConfig">TpuNodeConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.TpuNode.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TpuNode.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.TpuNode.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.TpuNodeConfig">TpuNodeConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TpuNode.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.TpuNode.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.TpuNode.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.TpuNode.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.putSchedulingConfig">putSchedulingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetCidrBlock">resetCidrBlock</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetSchedulingConfig">resetSchedulingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetTimeouts">resetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetUseServiceNetworking">resetUseServiceNetworking</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.resetZone">resetZone</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.TpuNode.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.TpuNode.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.TpuNode.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TpuNode.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.TpuNode.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.TpuNode.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.TpuNode.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.TpuNode.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.TpuNode.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.TpuNode.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.TpuNode.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.TpuNode.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.TpuNode.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.TpuNode.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.TpuNode.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.TpuNode.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.TpuNode.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.TpuNode.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.TpuNode.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.TpuNode.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putSchedulingConfig` <a name="putSchedulingConfig" id="@dschmidt/provider-google.TpuNode.putSchedulingConfig"></a>

```typescript
public putSchedulingConfig(value: TpuNodeSchedulingConfig): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TpuNode.putSchedulingConfig.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.TpuNodeSchedulingConfig">TpuNodeSchedulingConfig</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.TpuNode.putTimeouts"></a>

```typescript
public putTimeouts(value: TpuNodeTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.TpuNode.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.TpuNodeTimeouts">TpuNodeTimeouts</a>

---

##### `resetCidrBlock` <a name="resetCidrBlock" id="@dschmidt/provider-google.TpuNode.resetCidrBlock"></a>

```typescript
public resetCidrBlock(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.TpuNode.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.TpuNode.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.TpuNode.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.TpuNode.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.TpuNode.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetSchedulingConfig` <a name="resetSchedulingConfig" id="@dschmidt/provider-google.TpuNode.resetSchedulingConfig"></a>

```typescript
public resetSchedulingConfig(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.TpuNode.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

##### `resetUseServiceNetworking` <a name="resetUseServiceNetworking" id="@dschmidt/provider-google.TpuNode.resetUseServiceNetworking"></a>

```typescript
public resetUseServiceNetworking(): void
```

##### `resetZone` <a name="resetZone" id="@dschmidt/provider-google.TpuNode.resetZone"></a>

```typescript
public resetZone(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.TpuNode.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.TpuNode.isConstruct"></a>

```typescript
import { TpuNode } from '@dschmidt/provider-google'

TpuNode.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.TpuNode.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.networkEndpoints">networkEndpoints</a></code> | <code><a href="#@dschmidt/provider-google.TpuNodeNetworkEndpointsList">TpuNodeNetworkEndpointsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.schedulingConfig">schedulingConfig</a></code> | <code><a href="#@dschmidt/provider-google.TpuNodeSchedulingConfigOutputReference">TpuNodeSchedulingConfigOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.TpuNodeTimeoutsOutputReference">TpuNodeTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.acceleratorTypeInput">acceleratorTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.cidrBlockInput">cidrBlockInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.schedulingConfigInput">schedulingConfigInput</a></code> | <code><a href="#@dschmidt/provider-google.TpuNodeSchedulingConfig">TpuNodeSchedulingConfig</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.tensorflowVersionInput">tensorflowVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.TpuNodeTimeouts">TpuNodeTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.useServiceNetworkingInput">useServiceNetworkingInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.zoneInput">zoneInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.acceleratorType">acceleratorType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.cidrBlock">cidrBlock</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.tensorflowVersion">tensorflowVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.useServiceNetworking">useServiceNetworking</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.zone">zone</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.TpuNode.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.TpuNode.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.TpuNode.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.TpuNode.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.TpuNode.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.TpuNode.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.TpuNode.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TpuNode.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TpuNode.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TpuNode.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TpuNode.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TpuNode.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TpuNode.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TpuNode.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `networkEndpoints`<sup>Required</sup> <a name="networkEndpoints" id="@dschmidt/provider-google.TpuNode.property.networkEndpoints"></a>

```typescript
public readonly networkEndpoints: TpuNodeNetworkEndpointsList;
```

- *Type:* <a href="#@dschmidt/provider-google.TpuNodeNetworkEndpointsList">TpuNodeNetworkEndpointsList</a>

---

##### `schedulingConfig`<sup>Required</sup> <a name="schedulingConfig" id="@dschmidt/provider-google.TpuNode.property.schedulingConfig"></a>

```typescript
public readonly schedulingConfig: TpuNodeSchedulingConfigOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.TpuNodeSchedulingConfigOutputReference">TpuNodeSchedulingConfigOutputReference</a>

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.TpuNode.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.TpuNode.property.timeouts"></a>

```typescript
public readonly timeouts: TpuNodeTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.TpuNodeTimeoutsOutputReference">TpuNodeTimeoutsOutputReference</a>

---

##### `acceleratorTypeInput`<sup>Optional</sup> <a name="acceleratorTypeInput" id="@dschmidt/provider-google.TpuNode.property.acceleratorTypeInput"></a>

```typescript
public readonly acceleratorTypeInput: string;
```

- *Type:* string

---

##### `cidrBlockInput`<sup>Optional</sup> <a name="cidrBlockInput" id="@dschmidt/provider-google.TpuNode.property.cidrBlockInput"></a>

```typescript
public readonly cidrBlockInput: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.TpuNode.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.TpuNode.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.TpuNode.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.TpuNode.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.TpuNode.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.TpuNode.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `schedulingConfigInput`<sup>Optional</sup> <a name="schedulingConfigInput" id="@dschmidt/provider-google.TpuNode.property.schedulingConfigInput"></a>

```typescript
public readonly schedulingConfigInput: TpuNodeSchedulingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.TpuNodeSchedulingConfig">TpuNodeSchedulingConfig</a>

---

##### `tensorflowVersionInput`<sup>Optional</sup> <a name="tensorflowVersionInput" id="@dschmidt/provider-google.TpuNode.property.tensorflowVersionInput"></a>

```typescript
public readonly tensorflowVersionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.TpuNode.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | TpuNodeTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.TpuNodeTimeouts">TpuNodeTimeouts</a>

---

##### `useServiceNetworkingInput`<sup>Optional</sup> <a name="useServiceNetworkingInput" id="@dschmidt/provider-google.TpuNode.property.useServiceNetworkingInput"></a>

```typescript
public readonly useServiceNetworkingInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `zoneInput`<sup>Optional</sup> <a name="zoneInput" id="@dschmidt/provider-google.TpuNode.property.zoneInput"></a>

```typescript
public readonly zoneInput: string;
```

- *Type:* string

---

##### `acceleratorType`<sup>Required</sup> <a name="acceleratorType" id="@dschmidt/provider-google.TpuNode.property.acceleratorType"></a>

```typescript
public readonly acceleratorType: string;
```

- *Type:* string

---

##### `cidrBlock`<sup>Required</sup> <a name="cidrBlock" id="@dschmidt/provider-google.TpuNode.property.cidrBlock"></a>

```typescript
public readonly cidrBlock: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.TpuNode.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.TpuNode.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.TpuNode.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.TpuNode.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.TpuNode.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.TpuNode.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `tensorflowVersion`<sup>Required</sup> <a name="tensorflowVersion" id="@dschmidt/provider-google.TpuNode.property.tensorflowVersion"></a>

```typescript
public readonly tensorflowVersion: string;
```

- *Type:* string

---

##### `useServiceNetworking`<sup>Required</sup> <a name="useServiceNetworking" id="@dschmidt/provider-google.TpuNode.property.useServiceNetworking"></a>

```typescript
public readonly useServiceNetworking: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.TpuNode.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TpuNode.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.TpuNode.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### VertexAiDataset <a name="VertexAiDataset" id="@dschmidt/provider-google.VertexAiDataset"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset google_vertex_ai_dataset}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.VertexAiDataset.Initializer"></a>

```typescript
import { VertexAiDataset } from '@dschmidt/provider-google'

new VertexAiDataset(scope: Construct, id: string, config: VertexAiDatasetConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig">VertexAiDatasetConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.VertexAiDataset.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.VertexAiDataset.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.VertexAiDataset.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.VertexAiDatasetConfig">VertexAiDatasetConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.putEncryptionSpec">putEncryptionSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.resetEncryptionSpec">resetEncryptionSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.VertexAiDataset.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.VertexAiDataset.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.VertexAiDataset.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.VertexAiDataset.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.VertexAiDataset.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.VertexAiDataset.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.VertexAiDataset.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.VertexAiDataset.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.VertexAiDataset.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.VertexAiDataset.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.VertexAiDataset.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.VertexAiDataset.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.VertexAiDataset.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.VertexAiDataset.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.VertexAiDataset.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.VertexAiDataset.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.VertexAiDataset.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.VertexAiDataset.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.VertexAiDataset.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VertexAiDataset.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putEncryptionSpec` <a name="putEncryptionSpec" id="@dschmidt/provider-google.VertexAiDataset.putEncryptionSpec"></a>

```typescript
public putEncryptionSpec(value: VertexAiDatasetEncryptionSpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.VertexAiDataset.putEncryptionSpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.VertexAiDatasetEncryptionSpec">VertexAiDatasetEncryptionSpec</a>

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.VertexAiDataset.putTimeouts"></a>

```typescript
public putTimeouts(value: VertexAiDatasetTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.VertexAiDataset.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.VertexAiDatasetTimeouts">VertexAiDatasetTimeouts</a>

---

##### `resetEncryptionSpec` <a name="resetEncryptionSpec" id="@dschmidt/provider-google.VertexAiDataset.resetEncryptionSpec"></a>

```typescript
public resetEncryptionSpec(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.VertexAiDataset.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.VertexAiDataset.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.VertexAiDataset.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.VertexAiDataset.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.VertexAiDataset.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.VertexAiDataset.isConstruct"></a>

```typescript
import { VertexAiDataset } from '@dschmidt/provider-google'

VertexAiDataset.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.VertexAiDataset.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.encryptionSpec">encryptionSpec</a></code> | <code><a href="#@dschmidt/provider-google.VertexAiDatasetEncryptionSpecOutputReference">VertexAiDatasetEncryptionSpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.VertexAiDatasetTimeoutsOutputReference">VertexAiDatasetTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.displayNameInput">displayNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.encryptionSpecInput">encryptionSpecInput</a></code> | <code><a href="#@dschmidt/provider-google.VertexAiDatasetEncryptionSpec">VertexAiDatasetEncryptionSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.metadataSchemaUriInput">metadataSchemaUriInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.VertexAiDatasetTimeouts">VertexAiDatasetTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.displayName">displayName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.metadataSchemaUri">metadataSchemaUri</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.VertexAiDataset.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.VertexAiDataset.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.VertexAiDataset.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.VertexAiDataset.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.VertexAiDataset.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.VertexAiDataset.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.VertexAiDataset.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.VertexAiDataset.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.VertexAiDataset.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.VertexAiDataset.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.VertexAiDataset.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.VertexAiDataset.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.VertexAiDataset.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.VertexAiDataset.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.VertexAiDataset.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `encryptionSpec`<sup>Required</sup> <a name="encryptionSpec" id="@dschmidt/provider-google.VertexAiDataset.property.encryptionSpec"></a>

```typescript
public readonly encryptionSpec: VertexAiDatasetEncryptionSpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.VertexAiDatasetEncryptionSpecOutputReference">VertexAiDatasetEncryptionSpecOutputReference</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.VertexAiDataset.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.VertexAiDataset.property.timeouts"></a>

```typescript
public readonly timeouts: VertexAiDatasetTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.VertexAiDatasetTimeoutsOutputReference">VertexAiDatasetTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.VertexAiDataset.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `displayNameInput`<sup>Optional</sup> <a name="displayNameInput" id="@dschmidt/provider-google.VertexAiDataset.property.displayNameInput"></a>

```typescript
public readonly displayNameInput: string;
```

- *Type:* string

---

##### `encryptionSpecInput`<sup>Optional</sup> <a name="encryptionSpecInput" id="@dschmidt/provider-google.VertexAiDataset.property.encryptionSpecInput"></a>

```typescript
public readonly encryptionSpecInput: VertexAiDatasetEncryptionSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.VertexAiDatasetEncryptionSpec">VertexAiDatasetEncryptionSpec</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.VertexAiDataset.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.VertexAiDataset.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `metadataSchemaUriInput`<sup>Optional</sup> <a name="metadataSchemaUriInput" id="@dschmidt/provider-google.VertexAiDataset.property.metadataSchemaUriInput"></a>

```typescript
public readonly metadataSchemaUriInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.VertexAiDataset.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.VertexAiDataset.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.VertexAiDataset.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | VertexAiDatasetTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.VertexAiDatasetTimeouts">VertexAiDatasetTimeouts</a>

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.VertexAiDataset.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.VertexAiDataset.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.VertexAiDataset.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `metadataSchemaUri`<sup>Required</sup> <a name="metadataSchemaUri" id="@dschmidt/provider-google.VertexAiDataset.property.metadataSchemaUri"></a>

```typescript
public readonly metadataSchemaUri: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.VertexAiDataset.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.VertexAiDataset.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VertexAiDataset.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.VertexAiDataset.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### VpcAccessConnector <a name="VpcAccessConnector" id="@dschmidt/provider-google.VpcAccessConnector"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector google_vpc_access_connector}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.VpcAccessConnector.Initializer"></a>

```typescript
import { VpcAccessConnector } from '@dschmidt/provider-google'

new VpcAccessConnector(scope: Construct, id: string, config: VpcAccessConnectorConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig">VpcAccessConnectorConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.VpcAccessConnector.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.VpcAccessConnector.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.VpcAccessConnector.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.VpcAccessConnectorConfig">VpcAccessConnectorConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.resetIpCidrRange">resetIpCidrRange</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.resetMaxThroughput">resetMaxThroughput</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.resetMinThroughput">resetMinThroughput</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.resetNetwork">resetNetwork</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.VpcAccessConnector.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.VpcAccessConnector.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.VpcAccessConnector.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.VpcAccessConnector.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.VpcAccessConnector.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.VpcAccessConnector.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.VpcAccessConnector.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.VpcAccessConnector.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.VpcAccessConnector.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.VpcAccessConnector.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.VpcAccessConnector.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.VpcAccessConnector.putTimeouts"></a>

```typescript
public putTimeouts(value: VpcAccessConnectorTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.VpcAccessConnector.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.VpcAccessConnectorTimeouts">VpcAccessConnectorTimeouts</a>

---

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.VpcAccessConnector.resetId"></a>

```typescript
public resetId(): void
```

##### `resetIpCidrRange` <a name="resetIpCidrRange" id="@dschmidt/provider-google.VpcAccessConnector.resetIpCidrRange"></a>

```typescript
public resetIpCidrRange(): void
```

##### `resetMaxThroughput` <a name="resetMaxThroughput" id="@dschmidt/provider-google.VpcAccessConnector.resetMaxThroughput"></a>

```typescript
public resetMaxThroughput(): void
```

##### `resetMinThroughput` <a name="resetMinThroughput" id="@dschmidt/provider-google.VpcAccessConnector.resetMinThroughput"></a>

```typescript
public resetMinThroughput(): void
```

##### `resetNetwork` <a name="resetNetwork" id="@dschmidt/provider-google.VpcAccessConnector.resetNetwork"></a>

```typescript
public resetNetwork(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.VpcAccessConnector.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.VpcAccessConnector.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.VpcAccessConnector.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.VpcAccessConnector.isConstruct"></a>

```typescript
import { VpcAccessConnector } from '@dschmidt/provider-google'

VpcAccessConnector.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.VpcAccessConnector.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.selfLink">selfLink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.VpcAccessConnectorTimeoutsOutputReference">VpcAccessConnectorTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.ipCidrRangeInput">ipCidrRangeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.maxThroughputInput">maxThroughputInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.minThroughputInput">minThroughputInput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.networkInput">networkInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.VpcAccessConnectorTimeouts">VpcAccessConnectorTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.ipCidrRange">ipCidrRange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.maxThroughput">maxThroughput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.minThroughput">minThroughput</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.network">network</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.VpcAccessConnector.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.VpcAccessConnector.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.VpcAccessConnector.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.VpcAccessConnector.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.VpcAccessConnector.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.VpcAccessConnector.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.VpcAccessConnector.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.VpcAccessConnector.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.VpcAccessConnector.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.VpcAccessConnector.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.VpcAccessConnector.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.VpcAccessConnector.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.VpcAccessConnector.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.VpcAccessConnector.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `selfLink`<sup>Required</sup> <a name="selfLink" id="@dschmidt/provider-google.VpcAccessConnector.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.VpcAccessConnector.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.VpcAccessConnector.property.timeouts"></a>

```typescript
public readonly timeouts: VpcAccessConnectorTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.VpcAccessConnectorTimeoutsOutputReference">VpcAccessConnectorTimeoutsOutputReference</a>

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.VpcAccessConnector.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `ipCidrRangeInput`<sup>Optional</sup> <a name="ipCidrRangeInput" id="@dschmidt/provider-google.VpcAccessConnector.property.ipCidrRangeInput"></a>

```typescript
public readonly ipCidrRangeInput: string;
```

- *Type:* string

---

##### `maxThroughputInput`<sup>Optional</sup> <a name="maxThroughputInput" id="@dschmidt/provider-google.VpcAccessConnector.property.maxThroughputInput"></a>

```typescript
public readonly maxThroughputInput: number;
```

- *Type:* number

---

##### `minThroughputInput`<sup>Optional</sup> <a name="minThroughputInput" id="@dschmidt/provider-google.VpcAccessConnector.property.minThroughputInput"></a>

```typescript
public readonly minThroughputInput: number;
```

- *Type:* number

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.VpcAccessConnector.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `networkInput`<sup>Optional</sup> <a name="networkInput" id="@dschmidt/provider-google.VpcAccessConnector.property.networkInput"></a>

```typescript
public readonly networkInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.VpcAccessConnector.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.VpcAccessConnector.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.VpcAccessConnector.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | VpcAccessConnectorTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.VpcAccessConnectorTimeouts">VpcAccessConnectorTimeouts</a>

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.VpcAccessConnector.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `ipCidrRange`<sup>Required</sup> <a name="ipCidrRange" id="@dschmidt/provider-google.VpcAccessConnector.property.ipCidrRange"></a>

```typescript
public readonly ipCidrRange: string;
```

- *Type:* string

---

##### `maxThroughput`<sup>Required</sup> <a name="maxThroughput" id="@dschmidt/provider-google.VpcAccessConnector.property.maxThroughput"></a>

```typescript
public readonly maxThroughput: number;
```

- *Type:* number

---

##### `minThroughput`<sup>Required</sup> <a name="minThroughput" id="@dschmidt/provider-google.VpcAccessConnector.property.minThroughput"></a>

```typescript
public readonly minThroughput: number;
```

- *Type:* number

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.VpcAccessConnector.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.VpcAccessConnector.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.VpcAccessConnector.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.VpcAccessConnector.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnector.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.VpcAccessConnector.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

### WorkflowsWorkflow <a name="WorkflowsWorkflow" id="@dschmidt/provider-google.WorkflowsWorkflow"></a>

Represents a {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow google_workflows_workflow}.

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.WorkflowsWorkflow.Initializer"></a>

```typescript
import { WorkflowsWorkflow } from '@dschmidt/provider-google'

new WorkflowsWorkflow(scope: Construct, id: string, config?: WorkflowsWorkflowConfig)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.Initializer.parameter.config">config</a></code> | <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig">WorkflowsWorkflowConfig</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.WorkflowsWorkflow.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.WorkflowsWorkflow.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.WorkflowsWorkflow.Initializer.parameter.config"></a>

- *Type:* <a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig">WorkflowsWorkflowConfig</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.addOverride">addOverride</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetOverrideLogicalId">resetOverrideLogicalId</a></code> | Resets a previously passed logical Id to use the auto-generated logical id again. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.toMetadata">toMetadata</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.toTerraform">toTerraform</a></code> | Adds this resource to the terraform JSON output. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.putTimeouts">putTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetId">resetId</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetLabels">resetLabels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetName">resetName</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetNamePrefix">resetNamePrefix</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetProject">resetProject</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetRegion">resetRegion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetServiceAccount">resetServiceAccount</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetSourceContents">resetSourceContents</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.resetTimeouts">resetTimeouts</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.WorkflowsWorkflow.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addOverride` <a name="addOverride" id="@dschmidt/provider-google.WorkflowsWorkflow.addOverride"></a>

```typescript
public addOverride(path: string, value: any): void
```

###### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.WorkflowsWorkflow.addOverride.parameter.path"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.WorkflowsWorkflow.addOverride.parameter.value"></a>

- *Type:* any

---

##### `overrideLogicalId` <a name="overrideLogicalId" id="@dschmidt/provider-google.WorkflowsWorkflow.overrideLogicalId"></a>

```typescript
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="@dschmidt/provider-google.WorkflowsWorkflow.overrideLogicalId.parameter.newLogicalId"></a>

- *Type:* string

The new logical ID to use for this stack element.

---

##### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="@dschmidt/provider-google.WorkflowsWorkflow.resetOverrideLogicalId"></a>

```typescript
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

##### `toMetadata` <a name="toMetadata" id="@dschmidt/provider-google.WorkflowsWorkflow.toMetadata"></a>

```typescript
public toMetadata(): any
```

##### `toTerraform` <a name="toTerraform" id="@dschmidt/provider-google.WorkflowsWorkflow.toTerraform"></a>

```typescript
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.WorkflowsWorkflow.interpolationForAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `putTimeouts` <a name="putTimeouts" id="@dschmidt/provider-google.WorkflowsWorkflow.putTimeouts"></a>

```typescript
public putTimeouts(value: WorkflowsWorkflowTimeouts): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.WorkflowsWorkflow.putTimeouts.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeouts">WorkflowsWorkflowTimeouts</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.WorkflowsWorkflow.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetId` <a name="resetId" id="@dschmidt/provider-google.WorkflowsWorkflow.resetId"></a>

```typescript
public resetId(): void
```

##### `resetLabels` <a name="resetLabels" id="@dschmidt/provider-google.WorkflowsWorkflow.resetLabels"></a>

```typescript
public resetLabels(): void
```

##### `resetName` <a name="resetName" id="@dschmidt/provider-google.WorkflowsWorkflow.resetName"></a>

```typescript
public resetName(): void
```

##### `resetNamePrefix` <a name="resetNamePrefix" id="@dschmidt/provider-google.WorkflowsWorkflow.resetNamePrefix"></a>

```typescript
public resetNamePrefix(): void
```

##### `resetProject` <a name="resetProject" id="@dschmidt/provider-google.WorkflowsWorkflow.resetProject"></a>

```typescript
public resetProject(): void
```

##### `resetRegion` <a name="resetRegion" id="@dschmidt/provider-google.WorkflowsWorkflow.resetRegion"></a>

```typescript
public resetRegion(): void
```

##### `resetServiceAccount` <a name="resetServiceAccount" id="@dschmidt/provider-google.WorkflowsWorkflow.resetServiceAccount"></a>

```typescript
public resetServiceAccount(): void
```

##### `resetSourceContents` <a name="resetSourceContents" id="@dschmidt/provider-google.WorkflowsWorkflow.resetSourceContents"></a>

```typescript
public resetSourceContents(): void
```

##### `resetTimeouts` <a name="resetTimeouts" id="@dschmidt/provider-google.WorkflowsWorkflow.resetTimeouts"></a>

```typescript
public resetTimeouts(): void
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@dschmidt/provider-google.WorkflowsWorkflow.isConstruct"></a>

```typescript
import { WorkflowsWorkflow } from '@dschmidt/provider-google'

WorkflowsWorkflow.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@dschmidt/provider-google.WorkflowsWorkflow.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.cdktfStack">cdktfStack</a></code> | <code>cdktf.TerraformStack</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.friendlyUniqueId">friendlyUniqueId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.terraformMetaArguments">terraformMetaArguments</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.terraformResourceType">terraformResourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code>cdktf.TerraformProviderGeneratorMetadata</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.dependsOn">dependsOn</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.revisionId">revisionId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.state">state</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeoutsOutputReference">WorkflowsWorkflowTimeoutsOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.idInput">idInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.labelsInput">labelsInput</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.namePrefixInput">namePrefixInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.projectInput">projectInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.regionInput">regionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.serviceAccountInput">serviceAccountInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.sourceContentsInput">sourceContentsInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.timeoutsInput">timeoutsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeouts">WorkflowsWorkflowTimeouts</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.namePrefix">namePrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.project">project</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.sourceContents">sourceContents</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@dschmidt/provider-google.WorkflowsWorkflow.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="@dschmidt/provider-google.WorkflowsWorkflow.property.cdktfStack"></a>

```typescript
public readonly cdktfStack: TerraformStack;
```

- *Type:* cdktf.TerraformStack

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.WorkflowsWorkflow.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="@dschmidt/provider-google.WorkflowsWorkflow.property.friendlyUniqueId"></a>

```typescript
public readonly friendlyUniqueId: string;
```

- *Type:* string

---

##### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="@dschmidt/provider-google.WorkflowsWorkflow.property.terraformMetaArguments"></a>

```typescript
public readonly terraformMetaArguments: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="@dschmidt/provider-google.WorkflowsWorkflow.property.terraformResourceType"></a>

```typescript
public readonly terraformResourceType: string;
```

- *Type:* string

---

##### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="@dschmidt/provider-google.WorkflowsWorkflow.property.terraformGeneratorMetadata"></a>

```typescript
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

- *Type:* cdktf.TerraformProviderGeneratorMetadata

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.WorkflowsWorkflow.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.WorkflowsWorkflow.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.WorkflowsWorkflow.property.dependsOn"></a>

```typescript
public readonly dependsOn: string[];
```

- *Type:* string[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.WorkflowsWorkflow.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.WorkflowsWorkflow.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.WorkflowsWorkflow.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.WorkflowsWorkflow.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.WorkflowsWorkflow.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `revisionId`<sup>Required</sup> <a name="revisionId" id="@dschmidt/provider-google.WorkflowsWorkflow.property.revisionId"></a>

```typescript
public readonly revisionId: string;
```

- *Type:* string

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.WorkflowsWorkflow.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

---

##### `timeouts`<sup>Required</sup> <a name="timeouts" id="@dschmidt/provider-google.WorkflowsWorkflow.property.timeouts"></a>

```typescript
public readonly timeouts: WorkflowsWorkflowTimeoutsOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeoutsOutputReference">WorkflowsWorkflowTimeoutsOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.WorkflowsWorkflow.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `idInput`<sup>Optional</sup> <a name="idInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.idInput"></a>

```typescript
public readonly idInput: string;
```

- *Type:* string

---

##### `labelsInput`<sup>Optional</sup> <a name="labelsInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.labelsInput"></a>

```typescript
public readonly labelsInput: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `namePrefixInput`<sup>Optional</sup> <a name="namePrefixInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.namePrefixInput"></a>

```typescript
public readonly namePrefixInput: string;
```

- *Type:* string

---

##### `projectInput`<sup>Optional</sup> <a name="projectInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.projectInput"></a>

```typescript
public readonly projectInput: string;
```

- *Type:* string

---

##### `regionInput`<sup>Optional</sup> <a name="regionInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.regionInput"></a>

```typescript
public readonly regionInput: string;
```

- *Type:* string

---

##### `serviceAccountInput`<sup>Optional</sup> <a name="serviceAccountInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.serviceAccountInput"></a>

```typescript
public readonly serviceAccountInput: string;
```

- *Type:* string

---

##### `sourceContentsInput`<sup>Optional</sup> <a name="sourceContentsInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.sourceContentsInput"></a>

```typescript
public readonly sourceContentsInput: string;
```

- *Type:* string

---

##### `timeoutsInput`<sup>Optional</sup> <a name="timeoutsInput" id="@dschmidt/provider-google.WorkflowsWorkflow.property.timeoutsInput"></a>

```typescript
public readonly timeoutsInput: IResolvable | WorkflowsWorkflowTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeouts">WorkflowsWorkflowTimeouts</a>

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.WorkflowsWorkflow.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.WorkflowsWorkflow.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.WorkflowsWorkflow.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.WorkflowsWorkflow.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `namePrefix`<sup>Required</sup> <a name="namePrefix" id="@dschmidt/provider-google.WorkflowsWorkflow.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.WorkflowsWorkflow.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.WorkflowsWorkflow.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `serviceAccount`<sup>Required</sup> <a name="serviceAccount" id="@dschmidt/provider-google.WorkflowsWorkflow.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

---

##### `sourceContents`<sup>Required</sup> <a name="sourceContents" id="@dschmidt/provider-google.WorkflowsWorkflow.property.sourceContents"></a>

```typescript
public readonly sourceContents: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflow.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

---

##### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="@dschmidt/provider-google.WorkflowsWorkflow.property.tfResourceType"></a>

```typescript
public readonly tfResourceType: string;
```

- *Type:* string

---

## Structs <a name="Structs" id="Structs"></a>

### AccessContextManagerAccessLevelBasic <a name="AccessContextManagerAccessLevelBasic" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasic"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasic.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasic } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelBasic: AccessContextManagerAccessLevelBasic = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasic.property.conditions">conditions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions">AccessContextManagerAccessLevelBasicConditions</a>[]</code> | conditions block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasic.property.combiningFunction">combiningFunction</a></code> | <code>string</code> | How the conditions list should be combined to determine if a request is granted this AccessLevel. |

---

##### `conditions`<sup>Required</sup> <a name="conditions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasic.property.conditions"></a>

```typescript
public readonly conditions: IResolvable | AccessContextManagerAccessLevelBasicConditions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions">AccessContextManagerAccessLevelBasicConditions</a>[]

conditions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#conditions AccessContextManagerAccessLevel#conditions}

---

##### `combiningFunction`<sup>Optional</sup> <a name="combiningFunction" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasic.property.combiningFunction"></a>

```typescript
public readonly combiningFunction: string;
```

- *Type:* string

How the conditions list should be combined to determine if a request is granted this AccessLevel.

If AND is used, each Condition in
conditions must be satisfied for the AccessLevel to be applied. If
OR is used, at least one Condition in conditions must be satisfied
for the AccessLevel to be applied. Default value: "AND" Possible values: ["AND", "OR"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#combining_function AccessContextManagerAccessLevel#combining_function}

---

### AccessContextManagerAccessLevelBasicConditions <a name="AccessContextManagerAccessLevelBasicConditions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasicConditions } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelBasicConditions: AccessContextManagerAccessLevelBasicConditions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.devicePolicy">devicePolicy</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy">AccessContextManagerAccessLevelBasicConditionsDevicePolicy</a></code> | device_policy block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.ipSubnetworks">ipSubnetworks</a></code> | <code>string[]</code> | A list of CIDR block IP subnetwork specification. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.members">members</a></code> | <code>string[]</code> | An allowed list of members (users, service accounts). Using groups is not supported yet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.negate">negate</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to negate the Condition. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.regions">regions</a></code> | <code>string[]</code> | The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.requiredAccessLevels">requiredAccessLevels</a></code> | <code>string[]</code> | A list of other access levels defined in the same Policy, referenced by resource name. |

---

##### `devicePolicy`<sup>Optional</sup> <a name="devicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.devicePolicy"></a>

```typescript
public readonly devicePolicy: AccessContextManagerAccessLevelBasicConditionsDevicePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy">AccessContextManagerAccessLevelBasicConditionsDevicePolicy</a>

device_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#device_policy AccessContextManagerAccessLevel#device_policy}

---

##### `ipSubnetworks`<sup>Optional</sup> <a name="ipSubnetworks" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.ipSubnetworks"></a>

```typescript
public readonly ipSubnetworks: string[];
```

- *Type:* string[]

A list of CIDR block IP subnetwork specification.

May be IPv4
or IPv6.
Note that for a CIDR IP address block, the specified IP address
portion must be properly truncated (i.e. all the host bits must
be zero) or the input is considered malformed. For example,
"192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
is not. The originating IP of a request must be in one of the
listed subnets in order for this Condition to be true.
If empty, all IP addresses are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#ip_subnetworks AccessContextManagerAccessLevel#ip_subnetworks}

---

##### `members`<sup>Optional</sup> <a name="members" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

An allowed list of members (users, service accounts). Using groups is not supported yet.

The signed-in user originating the request must be a part of one
of the provided members. If not specified, a request may come
from any user (logged in/not logged in, not present in any
groups, etc.).
Formats: 'user:{emailid}', 'serviceAccount:{emailid}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#members AccessContextManagerAccessLevel#members}

---

##### `negate`<sup>Optional</sup> <a name="negate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.negate"></a>

```typescript
public readonly negate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to negate the Condition.

If true, the Condition becomes
a NAND over its non-empty fields, each field must be false for
the Condition overall to be satisfied. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#negate AccessContextManagerAccessLevel#negate}

---

##### `regions`<sup>Optional</sup> <a name="regions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.regions"></a>

```typescript
public readonly regions: string[];
```

- *Type:* string[]

The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#regions AccessContextManagerAccessLevel#regions}

---

##### `requiredAccessLevels`<sup>Optional</sup> <a name="requiredAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions.property.requiredAccessLevels"></a>

```typescript
public readonly requiredAccessLevels: string[];
```

- *Type:* string[]

A list of other access levels defined in the same Policy, referenced by resource name.

Referencing an AccessLevel which
does not exist is an error. All access levels listed must be
granted for the Condition to be true.
Format: accessPolicies/{policy_id}/accessLevels/{short_name}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#required_access_levels AccessContextManagerAccessLevel#required_access_levels}

---

### AccessContextManagerAccessLevelBasicConditionsDevicePolicy <a name="AccessContextManagerAccessLevelBasicConditionsDevicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasicConditionsDevicePolicy } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelBasicConditionsDevicePolicy: AccessContextManagerAccessLevelBasicConditionsDevicePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.allowedDeviceManagementLevels">allowedDeviceManagementLevels</a></code> | <code>string[]</code> | A list of allowed device management levels. An empty list allows all management levels. Possible values: ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"]. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.allowedEncryptionStatuses">allowedEncryptionStatuses</a></code> | <code>string[]</code> | A list of allowed encryptions statuses. An empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"]. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.osConstraints">osConstraints</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints</a>[]</code> | os_constraints block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.requireAdminApproval">requireAdminApproval</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the device needs to be approved by the customer admin. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.requireCorpOwned">requireCorpOwned</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the device needs to be corp owned. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.requireScreenLock">requireScreenLock</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false. |

---

##### `allowedDeviceManagementLevels`<sup>Optional</sup> <a name="allowedDeviceManagementLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.allowedDeviceManagementLevels"></a>

```typescript
public readonly allowedDeviceManagementLevels: string[];
```

- *Type:* string[]

A list of allowed device management levels. An empty list allows all management levels. Possible values: ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#allowed_device_management_levels AccessContextManagerAccessLevel#allowed_device_management_levels}

---

##### `allowedEncryptionStatuses`<sup>Optional</sup> <a name="allowedEncryptionStatuses" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.allowedEncryptionStatuses"></a>

```typescript
public readonly allowedEncryptionStatuses: string[];
```

- *Type:* string[]

A list of allowed encryptions statuses. An empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#allowed_encryption_statuses AccessContextManagerAccessLevel#allowed_encryption_statuses}

---

##### `osConstraints`<sup>Optional</sup> <a name="osConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.osConstraints"></a>

```typescript
public readonly osConstraints: IResolvable | AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints</a>[]

os_constraints block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#os_constraints AccessContextManagerAccessLevel#os_constraints}

---

##### `requireAdminApproval`<sup>Optional</sup> <a name="requireAdminApproval" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.requireAdminApproval"></a>

```typescript
public readonly requireAdminApproval: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the device needs to be approved by the customer admin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#require_admin_approval AccessContextManagerAccessLevel#require_admin_approval}

---

##### `requireCorpOwned`<sup>Optional</sup> <a name="requireCorpOwned" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.requireCorpOwned"></a>

```typescript
public readonly requireCorpOwned: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the device needs to be corp owned.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#require_corp_owned AccessContextManagerAccessLevel#require_corp_owned}

---

##### `requireScreenLock`<sup>Optional</sup> <a name="requireScreenLock" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy.property.requireScreenLock"></a>

```typescript
public readonly requireScreenLock: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#require_screen_lock AccessContextManagerAccessLevel#require_screen_lock}

---

### AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints <a name="AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints: AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints.property.osType">osType</a></code> | <code>string</code> | The operating system type of the device. Possible values: ["OS_UNSPECIFIED", "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX", "DESKTOP_CHROME_OS", "ANDROID", "IOS"]. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints.property.minimumVersion">minimumVersion</a></code> | <code>string</code> | The minimum allowed OS version. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints.property.requireVerifiedChromeOs">requireVerifiedChromeOs</a></code> | <code>boolean \| cdktf.IResolvable</code> | If you specify DESKTOP_CHROME_OS for osType, you can optionally include requireVerifiedChromeOs to require Chrome Verified Access. |

---

##### `osType`<sup>Required</sup> <a name="osType" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints.property.osType"></a>

```typescript
public readonly osType: string;
```

- *Type:* string

The operating system type of the device. Possible values: ["OS_UNSPECIFIED", "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX", "DESKTOP_CHROME_OS", "ANDROID", "IOS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#os_type AccessContextManagerAccessLevel#os_type}

---

##### `minimumVersion`<sup>Optional</sup> <a name="minimumVersion" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints.property.minimumVersion"></a>

```typescript
public readonly minimumVersion: string;
```

- *Type:* string

The minimum allowed OS version.

If not set, any version
of this OS satisfies the constraint.
Format: "major.minor.patch" such as "10.5.301", "9.2.1".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#minimum_version AccessContextManagerAccessLevel#minimum_version}

---

##### `requireVerifiedChromeOs`<sup>Optional</sup> <a name="requireVerifiedChromeOs" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints.property.requireVerifiedChromeOs"></a>

```typescript
public readonly requireVerifiedChromeOs: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If you specify DESKTOP_CHROME_OS for osType, you can optionally include requireVerifiedChromeOs to require Chrome Verified Access.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#require_verified_chrome_os AccessContextManagerAccessLevel#require_verified_chrome_os}

---

### AccessContextManagerAccessLevelConditionConfig <a name="AccessContextManagerAccessLevelConditionConfig" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelConditionConfig } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelConditionConfig: AccessContextManagerAccessLevelConditionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.accessLevel">accessLevel</a></code> | <code>string</code> | The name of the Access Level to add this condition to. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.devicePolicy">devicePolicy</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy">AccessContextManagerAccessLevelConditionDevicePolicy</a></code> | device_policy block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#id AccessContextManagerAccessLevelCondition#id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.ipSubnetworks">ipSubnetworks</a></code> | <code>string[]</code> | A list of CIDR block IP subnetwork specification. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.members">members</a></code> | <code>string[]</code> | An allowed list of members (users, service accounts). Using groups is not supported yet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.negate">negate</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to negate the Condition. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.regions">regions</a></code> | <code>string[]</code> | The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.requiredAccessLevels">requiredAccessLevels</a></code> | <code>string[]</code> | A list of other access levels defined in the same Policy, referenced by resource name. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts">AccessContextManagerAccessLevelConditionTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `accessLevel`<sup>Required</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

The name of the Access Level to add this condition to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#access_level AccessContextManagerAccessLevelCondition#access_level}

---

##### `devicePolicy`<sup>Optional</sup> <a name="devicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.devicePolicy"></a>

```typescript
public readonly devicePolicy: AccessContextManagerAccessLevelConditionDevicePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy">AccessContextManagerAccessLevelConditionDevicePolicy</a>

device_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#device_policy AccessContextManagerAccessLevelCondition#device_policy}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#id AccessContextManagerAccessLevelCondition#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipSubnetworks`<sup>Optional</sup> <a name="ipSubnetworks" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.ipSubnetworks"></a>

```typescript
public readonly ipSubnetworks: string[];
```

- *Type:* string[]

A list of CIDR block IP subnetwork specification.

May be IPv4
or IPv6.
Note that for a CIDR IP address block, the specified IP address
portion must be properly truncated (i.e. all the host bits must
be zero) or the input is considered malformed. For example,
"192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
is not. The originating IP of a request must be in one of the
listed subnets in order for this Condition to be true.
If empty, all IP addresses are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#ip_subnetworks AccessContextManagerAccessLevelCondition#ip_subnetworks}

---

##### `members`<sup>Optional</sup> <a name="members" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

An allowed list of members (users, service accounts). Using groups is not supported yet.

The signed-in user originating the request must be a part of one
of the provided members. If not specified, a request may come
from any user (logged in/not logged in, not present in any
groups, etc.).
Formats: 'user:{emailid}', 'serviceAccount:{emailid}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#members AccessContextManagerAccessLevelCondition#members}

---

##### `negate`<sup>Optional</sup> <a name="negate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.negate"></a>

```typescript
public readonly negate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to negate the Condition.

If true, the Condition becomes
a NAND over its non-empty fields, each field must be false for
the Condition overall to be satisfied. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#negate AccessContextManagerAccessLevelCondition#negate}

---

##### `regions`<sup>Optional</sup> <a name="regions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.regions"></a>

```typescript
public readonly regions: string[];
```

- *Type:* string[]

The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#regions AccessContextManagerAccessLevelCondition#regions}

---

##### `requiredAccessLevels`<sup>Optional</sup> <a name="requiredAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.requiredAccessLevels"></a>

```typescript
public readonly requiredAccessLevels: string[];
```

- *Type:* string[]

A list of other access levels defined in the same Policy, referenced by resource name.

Referencing an AccessLevel which
does not exist is an error. All access levels listed must be
granted for the Condition to be true.
Format: accessPolicies/{policy_id}/accessLevels/{short_name}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#required_access_levels AccessContextManagerAccessLevelCondition#required_access_levels}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerAccessLevelConditionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts">AccessContextManagerAccessLevelConditionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#timeouts AccessContextManagerAccessLevelCondition#timeouts}

---

### AccessContextManagerAccessLevelConditionDevicePolicy <a name="AccessContextManagerAccessLevelConditionDevicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelConditionDevicePolicy } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelConditionDevicePolicy: AccessContextManagerAccessLevelConditionDevicePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.allowedDeviceManagementLevels">allowedDeviceManagementLevels</a></code> | <code>string[]</code> | A list of allowed device management levels. An empty list allows all management levels. Possible values: ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"]. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.allowedEncryptionStatuses">allowedEncryptionStatuses</a></code> | <code>string[]</code> | A list of allowed encryptions statuses. An empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"]. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.osConstraints">osConstraints</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints</a>[]</code> | os_constraints block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.requireAdminApproval">requireAdminApproval</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the device needs to be approved by the customer admin. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.requireCorpOwned">requireCorpOwned</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the device needs to be corp owned. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.requireScreenLock">requireScreenLock</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false. |

---

##### `allowedDeviceManagementLevels`<sup>Optional</sup> <a name="allowedDeviceManagementLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.allowedDeviceManagementLevels"></a>

```typescript
public readonly allowedDeviceManagementLevels: string[];
```

- *Type:* string[]

A list of allowed device management levels. An empty list allows all management levels. Possible values: ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#allowed_device_management_levels AccessContextManagerAccessLevelCondition#allowed_device_management_levels}

---

##### `allowedEncryptionStatuses`<sup>Optional</sup> <a name="allowedEncryptionStatuses" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.allowedEncryptionStatuses"></a>

```typescript
public readonly allowedEncryptionStatuses: string[];
```

- *Type:* string[]

A list of allowed encryptions statuses. An empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#allowed_encryption_statuses AccessContextManagerAccessLevelCondition#allowed_encryption_statuses}

---

##### `osConstraints`<sup>Optional</sup> <a name="osConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.osConstraints"></a>

```typescript
public readonly osConstraints: IResolvable | AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints</a>[]

os_constraints block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#os_constraints AccessContextManagerAccessLevelCondition#os_constraints}

---

##### `requireAdminApproval`<sup>Optional</sup> <a name="requireAdminApproval" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.requireAdminApproval"></a>

```typescript
public readonly requireAdminApproval: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the device needs to be approved by the customer admin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#require_admin_approval AccessContextManagerAccessLevelCondition#require_admin_approval}

---

##### `requireCorpOwned`<sup>Optional</sup> <a name="requireCorpOwned" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.requireCorpOwned"></a>

```typescript
public readonly requireCorpOwned: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the device needs to be corp owned.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#require_corp_owned AccessContextManagerAccessLevelCondition#require_corp_owned}

---

##### `requireScreenLock`<sup>Optional</sup> <a name="requireScreenLock" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy.property.requireScreenLock"></a>

```typescript
public readonly requireScreenLock: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#require_screen_lock AccessContextManagerAccessLevelCondition#require_screen_lock}

---

### AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints <a name="AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelConditionDevicePolicyOsConstraints: AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints.property.osType">osType</a></code> | <code>string</code> | The operating system type of the device. Possible values: ["OS_UNSPECIFIED", "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX", "DESKTOP_CHROME_OS", "ANDROID", "IOS"]. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints.property.minimumVersion">minimumVersion</a></code> | <code>string</code> | The minimum allowed OS version. |

---

##### `osType`<sup>Required</sup> <a name="osType" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints.property.osType"></a>

```typescript
public readonly osType: string;
```

- *Type:* string

The operating system type of the device. Possible values: ["OS_UNSPECIFIED", "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX", "DESKTOP_CHROME_OS", "ANDROID", "IOS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#os_type AccessContextManagerAccessLevelCondition#os_type}

---

##### `minimumVersion`<sup>Optional</sup> <a name="minimumVersion" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints.property.minimumVersion"></a>

```typescript
public readonly minimumVersion: string;
```

- *Type:* string

The minimum allowed OS version.

If not set, any version
of this OS satisfies the constraint.
Format: "major.minor.patch" such as "10.5.301", "9.2.1".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#minimum_version AccessContextManagerAccessLevelCondition#minimum_version}

---

### AccessContextManagerAccessLevelConditionTimeouts <a name="AccessContextManagerAccessLevelConditionTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelConditionTimeouts } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelConditionTimeouts: AccessContextManagerAccessLevelConditionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#create AccessContextManagerAccessLevelCondition#create}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#delete AccessContextManagerAccessLevelCondition#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#create AccessContextManagerAccessLevelCondition#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level_condition#delete AccessContextManagerAccessLevelCondition#delete}.

---

### AccessContextManagerAccessLevelConfig <a name="AccessContextManagerAccessLevelConfig" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelConfig } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelConfig: AccessContextManagerAccessLevelConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.name">name</a></code> | <code>string</code> | Resource name for the Access Level. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.parent">parent</a></code> | <code>string</code> | The AccessPolicy this AccessLevel lives in. Format: accessPolicies/{policy_id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.title">title</a></code> | <code>string</code> | Human readable title. Must be unique within the Policy. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.basic">basic</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasic">AccessContextManagerAccessLevelBasic</a></code> | basic block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.custom">custom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustom">AccessContextManagerAccessLevelCustom</a></code> | custom block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.description">description</a></code> | <code>string</code> | Description of the AccessLevel and its use. Does not affect behavior. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#id AccessContextManagerAccessLevel#id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts">AccessContextManagerAccessLevelTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Resource name for the Access Level.

The short_name component must begin
with a letter and only include alphanumeric and '_'.
Format: accessPolicies/{policy_id}/accessLevels/{short_name}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#name AccessContextManagerAccessLevel#name}

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The AccessPolicy this AccessLevel lives in. Format: accessPolicies/{policy_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#parent AccessContextManagerAccessLevel#parent}

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Human readable title. Must be unique within the Policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#title AccessContextManagerAccessLevel#title}

---

##### `basic`<sup>Optional</sup> <a name="basic" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.basic"></a>

```typescript
public readonly basic: AccessContextManagerAccessLevelBasic;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasic">AccessContextManagerAccessLevelBasic</a>

basic block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#basic AccessContextManagerAccessLevel#basic}

---

##### `custom`<sup>Optional</sup> <a name="custom" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.custom"></a>

```typescript
public readonly custom: AccessContextManagerAccessLevelCustom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustom">AccessContextManagerAccessLevelCustom</a>

custom block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#custom AccessContextManagerAccessLevel#custom}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the AccessLevel and its use. Does not affect behavior.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#description AccessContextManagerAccessLevel#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#id AccessContextManagerAccessLevel#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerAccessLevelTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts">AccessContextManagerAccessLevelTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#timeouts AccessContextManagerAccessLevel#timeouts}

---

### AccessContextManagerAccessLevelCustom <a name="AccessContextManagerAccessLevelCustom" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustom.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelCustom } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelCustom: AccessContextManagerAccessLevelCustom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustom.property.expr">expr</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr">AccessContextManagerAccessLevelCustomExpr</a></code> | expr block. |

---

##### `expr`<sup>Required</sup> <a name="expr" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustom.property.expr"></a>

```typescript
public readonly expr: AccessContextManagerAccessLevelCustomExpr;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr">AccessContextManagerAccessLevelCustomExpr</a>

expr block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#expr AccessContextManagerAccessLevel#expr}

---

### AccessContextManagerAccessLevelCustomExpr <a name="AccessContextManagerAccessLevelCustomExpr" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelCustomExpr } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelCustomExpr: AccessContextManagerAccessLevelCustomExpr = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr.property.expression">expression</a></code> | <code>string</code> | Textual representation of an expression in Common Expression Language syntax. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr.property.description">description</a></code> | <code>string</code> | Description of the expression. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr.property.location">location</a></code> | <code>string</code> | String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr.property.title">title</a></code> | <code>string</code> | Title for the expression, i.e. a short string describing its purpose. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Textual representation of an expression in Common Expression Language syntax.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#expression AccessContextManagerAccessLevel#expression}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#description AccessContextManagerAccessLevel#description}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#location AccessContextManagerAccessLevel#location}

---

##### `title`<sup>Optional</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Title for the expression, i.e. a short string describing its purpose.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#title AccessContextManagerAccessLevel#title}

---

### AccessContextManagerAccessLevelsAccessLevels <a name="AccessContextManagerAccessLevelsAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevels } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelsAccessLevels: AccessContextManagerAccessLevelsAccessLevels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.name">name</a></code> | <code>string</code> | Resource name for the Access Level. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.title">title</a></code> | <code>string</code> | Human readable title. Must be unique within the Policy. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.basic">basic</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic">AccessContextManagerAccessLevelsAccessLevelsBasic</a></code> | basic block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.custom">custom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom">AccessContextManagerAccessLevelsAccessLevelsCustom</a></code> | custom block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.description">description</a></code> | <code>string</code> | Description of the AccessLevel and its use. Does not affect behavior. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Resource name for the Access Level.

The short_name component must begin
with a letter and only include alphanumeric and '_'.
Format: accessPolicies/{policy_id}/accessLevels/{short_name}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#name AccessContextManagerAccessLevels#name}

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Human readable title. Must be unique within the Policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#title AccessContextManagerAccessLevels#title}

---

##### `basic`<sup>Optional</sup> <a name="basic" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.basic"></a>

```typescript
public readonly basic: AccessContextManagerAccessLevelsAccessLevelsBasic;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic">AccessContextManagerAccessLevelsAccessLevelsBasic</a>

basic block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#basic AccessContextManagerAccessLevels#basic}

---

##### `custom`<sup>Optional</sup> <a name="custom" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.custom"></a>

```typescript
public readonly custom: AccessContextManagerAccessLevelsAccessLevelsCustom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom">AccessContextManagerAccessLevelsAccessLevelsCustom</a>

custom block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#custom AccessContextManagerAccessLevels#custom}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the AccessLevel and its use. Does not affect behavior.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#description AccessContextManagerAccessLevels#description}

---

### AccessContextManagerAccessLevelsAccessLevelsBasic <a name="AccessContextManagerAccessLevelsAccessLevelsBasic" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasic } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelsAccessLevelsBasic: AccessContextManagerAccessLevelsAccessLevelsBasic = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic.property.conditions">conditions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions">AccessContextManagerAccessLevelsAccessLevelsBasicConditions</a>[]</code> | conditions block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic.property.combiningFunction">combiningFunction</a></code> | <code>string</code> | How the conditions list should be combined to determine if a request is granted this AccessLevel. |

---

##### `conditions`<sup>Required</sup> <a name="conditions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic.property.conditions"></a>

```typescript
public readonly conditions: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions">AccessContextManagerAccessLevelsAccessLevelsBasicConditions</a>[]

conditions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#conditions AccessContextManagerAccessLevels#conditions}

---

##### `combiningFunction`<sup>Optional</sup> <a name="combiningFunction" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic.property.combiningFunction"></a>

```typescript
public readonly combiningFunction: string;
```

- *Type:* string

How the conditions list should be combined to determine if a request is granted this AccessLevel.

If AND is used, each Condition in
conditions must be satisfied for the AccessLevel to be applied. If
OR is used, at least one Condition in conditions must be satisfied
for the AccessLevel to be applied. Default value: "AND" Possible values: ["AND", "OR"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#combining_function AccessContextManagerAccessLevels#combining_function}

---

### AccessContextManagerAccessLevelsAccessLevelsBasicConditions <a name="AccessContextManagerAccessLevelsAccessLevelsBasicConditions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasicConditions } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelsAccessLevelsBasicConditions: AccessContextManagerAccessLevelsAccessLevelsBasicConditions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.devicePolicy">devicePolicy</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy</a></code> | device_policy block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.ipSubnetworks">ipSubnetworks</a></code> | <code>string[]</code> | A list of CIDR block IP subnetwork specification. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.members">members</a></code> | <code>string[]</code> | An allowed list of members (users, service accounts). Using groups is not supported yet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.negate">negate</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to negate the Condition. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.regions">regions</a></code> | <code>string[]</code> | The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.requiredAccessLevels">requiredAccessLevels</a></code> | <code>string[]</code> | A list of other access levels defined in the same Policy, referenced by resource name. |

---

##### `devicePolicy`<sup>Optional</sup> <a name="devicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.devicePolicy"></a>

```typescript
public readonly devicePolicy: AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy</a>

device_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#device_policy AccessContextManagerAccessLevels#device_policy}

---

##### `ipSubnetworks`<sup>Optional</sup> <a name="ipSubnetworks" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.ipSubnetworks"></a>

```typescript
public readonly ipSubnetworks: string[];
```

- *Type:* string[]

A list of CIDR block IP subnetwork specification.

May be IPv4
or IPv6.
Note that for a CIDR IP address block, the specified IP address
portion must be properly truncated (i.e. all the host bits must
be zero) or the input is considered malformed. For example,
"192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
is not. The originating IP of a request must be in one of the
listed subnets in order for this Condition to be true.
If empty, all IP addresses are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#ip_subnetworks AccessContextManagerAccessLevels#ip_subnetworks}

---

##### `members`<sup>Optional</sup> <a name="members" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

An allowed list of members (users, service accounts). Using groups is not supported yet.

The signed-in user originating the request must be a part of one
of the provided members. If not specified, a request may come
from any user (logged in/not logged in, not present in any
groups, etc.).
Formats: 'user:{emailid}', 'serviceAccount:{emailid}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#members AccessContextManagerAccessLevels#members}

---

##### `negate`<sup>Optional</sup> <a name="negate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.negate"></a>

```typescript
public readonly negate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to negate the Condition.

If true, the Condition becomes
a NAND over its non-empty fields, each field must be false for
the Condition overall to be satisfied. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#negate AccessContextManagerAccessLevels#negate}

---

##### `regions`<sup>Optional</sup> <a name="regions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.regions"></a>

```typescript
public readonly regions: string[];
```

- *Type:* string[]

The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#regions AccessContextManagerAccessLevels#regions}

---

##### `requiredAccessLevels`<sup>Optional</sup> <a name="requiredAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions.property.requiredAccessLevels"></a>

```typescript
public readonly requiredAccessLevels: string[];
```

- *Type:* string[]

A list of other access levels defined in the same Policy, referenced by resource name.

Referencing an AccessLevel which
does not exist is an error. All access levels listed must be
granted for the Condition to be true.
Format: accessPolicies/{policy_id}/accessLevels/{short_name}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#required_access_levels AccessContextManagerAccessLevels#required_access_levels}

---

### AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy <a name="AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy: AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.allowedDeviceManagementLevels">allowedDeviceManagementLevels</a></code> | <code>string[]</code> | A list of allowed device management levels. An empty list allows all management levels. Possible values: ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"]. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.allowedEncryptionStatuses">allowedEncryptionStatuses</a></code> | <code>string[]</code> | A list of allowed encryptions statuses. An empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"]. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.osConstraints">osConstraints</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints</a>[]</code> | os_constraints block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.requireAdminApproval">requireAdminApproval</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the device needs to be approved by the customer admin. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.requireCorpOwned">requireCorpOwned</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the device needs to be corp owned. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.requireScreenLock">requireScreenLock</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false. |

---

##### `allowedDeviceManagementLevels`<sup>Optional</sup> <a name="allowedDeviceManagementLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.allowedDeviceManagementLevels"></a>

```typescript
public readonly allowedDeviceManagementLevels: string[];
```

- *Type:* string[]

A list of allowed device management levels. An empty list allows all management levels. Possible values: ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#allowed_device_management_levels AccessContextManagerAccessLevels#allowed_device_management_levels}

---

##### `allowedEncryptionStatuses`<sup>Optional</sup> <a name="allowedEncryptionStatuses" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.allowedEncryptionStatuses"></a>

```typescript
public readonly allowedEncryptionStatuses: string[];
```

- *Type:* string[]

A list of allowed encryptions statuses. An empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#allowed_encryption_statuses AccessContextManagerAccessLevels#allowed_encryption_statuses}

---

##### `osConstraints`<sup>Optional</sup> <a name="osConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.osConstraints"></a>

```typescript
public readonly osConstraints: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints</a>[]

os_constraints block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#os_constraints AccessContextManagerAccessLevels#os_constraints}

---

##### `requireAdminApproval`<sup>Optional</sup> <a name="requireAdminApproval" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.requireAdminApproval"></a>

```typescript
public readonly requireAdminApproval: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the device needs to be approved by the customer admin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#require_admin_approval AccessContextManagerAccessLevels#require_admin_approval}

---

##### `requireCorpOwned`<sup>Optional</sup> <a name="requireCorpOwned" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.requireCorpOwned"></a>

```typescript
public readonly requireCorpOwned: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the device needs to be corp owned.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#require_corp_owned AccessContextManagerAccessLevels#require_corp_owned}

---

##### `requireScreenLock`<sup>Optional</sup> <a name="requireScreenLock" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy.property.requireScreenLock"></a>

```typescript
public readonly requireScreenLock: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#require_screen_lock AccessContextManagerAccessLevels#require_screen_lock}

---

### AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints <a name="AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints: AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints.property.osType">osType</a></code> | <code>string</code> | The operating system type of the device. Possible values: ["OS_UNSPECIFIED", "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX", "DESKTOP_CHROME_OS", "ANDROID", "IOS"]. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints.property.minimumVersion">minimumVersion</a></code> | <code>string</code> | The minimum allowed OS version. |

---

##### `osType`<sup>Required</sup> <a name="osType" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints.property.osType"></a>

```typescript
public readonly osType: string;
```

- *Type:* string

The operating system type of the device. Possible values: ["OS_UNSPECIFIED", "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX", "DESKTOP_CHROME_OS", "ANDROID", "IOS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#os_type AccessContextManagerAccessLevels#os_type}

---

##### `minimumVersion`<sup>Optional</sup> <a name="minimumVersion" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints.property.minimumVersion"></a>

```typescript
public readonly minimumVersion: string;
```

- *Type:* string

The minimum allowed OS version.

If not set, any version
of this OS satisfies the constraint.
Format: "major.minor.patch" such as "10.5.301", "9.2.1".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#minimum_version AccessContextManagerAccessLevels#minimum_version}

---

### AccessContextManagerAccessLevelsAccessLevelsCustom <a name="AccessContextManagerAccessLevelsAccessLevelsCustom" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsCustom } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelsAccessLevelsCustom: AccessContextManagerAccessLevelsAccessLevelsCustom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom.property.expr">expr</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr">AccessContextManagerAccessLevelsAccessLevelsCustomExpr</a></code> | expr block. |

---

##### `expr`<sup>Required</sup> <a name="expr" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom.property.expr"></a>

```typescript
public readonly expr: AccessContextManagerAccessLevelsAccessLevelsCustomExpr;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr">AccessContextManagerAccessLevelsAccessLevelsCustomExpr</a>

expr block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#expr AccessContextManagerAccessLevels#expr}

---

### AccessContextManagerAccessLevelsAccessLevelsCustomExpr <a name="AccessContextManagerAccessLevelsAccessLevelsCustomExpr" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsCustomExpr } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelsAccessLevelsCustomExpr: AccessContextManagerAccessLevelsAccessLevelsCustomExpr = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr.property.expression">expression</a></code> | <code>string</code> | Textual representation of an expression in Common Expression Language syntax. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr.property.description">description</a></code> | <code>string</code> | Description of the expression. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr.property.location">location</a></code> | <code>string</code> | String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr.property.title">title</a></code> | <code>string</code> | Title for the expression, i.e. a short string describing its purpose. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Textual representation of an expression in Common Expression Language syntax.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#expression AccessContextManagerAccessLevels#expression}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#description AccessContextManagerAccessLevels#description}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#location AccessContextManagerAccessLevels#location}

---

##### `title`<sup>Optional</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Title for the expression, i.e. a short string describing its purpose.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#title AccessContextManagerAccessLevels#title}

---

### AccessContextManagerAccessLevelsConfig <a name="AccessContextManagerAccessLevelsConfig" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsConfig } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelsConfig: AccessContextManagerAccessLevelsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.parent">parent</a></code> | <code>string</code> | The AccessPolicy this AccessLevel lives in. Format: accessPolicies/{policy_id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.accessLevels">accessLevels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels">AccessContextManagerAccessLevelsAccessLevels</a>[]</code> | access_levels block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#id AccessContextManagerAccessLevels#id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts">AccessContextManagerAccessLevelsTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The AccessPolicy this AccessLevel lives in. Format: accessPolicies/{policy_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#parent AccessContextManagerAccessLevels#parent}

---

##### `accessLevels`<sup>Optional</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.accessLevels"></a>

```typescript
public readonly accessLevels: IResolvable | AccessContextManagerAccessLevelsAccessLevels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels">AccessContextManagerAccessLevelsAccessLevels</a>[]

access_levels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#access_levels AccessContextManagerAccessLevels#access_levels}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#id AccessContextManagerAccessLevels#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerAccessLevelsTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts">AccessContextManagerAccessLevelsTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#timeouts AccessContextManagerAccessLevels#timeouts}

---

### AccessContextManagerAccessLevelsTimeouts <a name="AccessContextManagerAccessLevelsTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsTimeouts } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelsTimeouts: AccessContextManagerAccessLevelsTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#create AccessContextManagerAccessLevels#create}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#delete AccessContextManagerAccessLevels#delete}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#update AccessContextManagerAccessLevels#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#create AccessContextManagerAccessLevels#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#delete AccessContextManagerAccessLevels#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_levels#update AccessContextManagerAccessLevels#update}.

---

### AccessContextManagerAccessLevelTimeouts <a name="AccessContextManagerAccessLevelTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelTimeouts } from '@dschmidt/provider-google'

const accessContextManagerAccessLevelTimeouts: AccessContextManagerAccessLevelTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#create AccessContextManagerAccessLevel#create}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#delete AccessContextManagerAccessLevel#delete}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#update AccessContextManagerAccessLevel#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#create AccessContextManagerAccessLevel#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#delete AccessContextManagerAccessLevel#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_level#update AccessContextManagerAccessLevel#update}.

---

### AccessContextManagerAccessPolicyConfig <a name="AccessContextManagerAccessPolicyConfig" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyConfig } from '@dschmidt/provider-google'

const accessContextManagerAccessPolicyConfig: AccessContextManagerAccessPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.parent">parent</a></code> | <code>string</code> | The parent of this AccessPolicy in the Cloud Resource Hierarchy. Format: organizations/{organization_id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.title">title</a></code> | <code>string</code> | Human readable title. Does not affect behavior. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#id AccessContextManagerAccessPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.scopes">scopes</a></code> | <code>string[]</code> | Folder or project on which this policy is applicable. Format: folders/{{folder_id}} or projects/{{project_id}}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts">AccessContextManagerAccessPolicyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The parent of this AccessPolicy in the Cloud Resource Hierarchy. Format: organizations/{organization_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#parent AccessContextManagerAccessPolicy#parent}

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Human readable title. Does not affect behavior.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#title AccessContextManagerAccessPolicy#title}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#id AccessContextManagerAccessPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `scopes`<sup>Optional</sup> <a name="scopes" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.scopes"></a>

```typescript
public readonly scopes: string[];
```

- *Type:* string[]

Folder or project on which this policy is applicable. Format: folders/{{folder_id}} or projects/{{project_id}}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#scopes AccessContextManagerAccessPolicy#scopes}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerAccessPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts">AccessContextManagerAccessPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#timeouts AccessContextManagerAccessPolicy#timeouts}

---

### AccessContextManagerAccessPolicyIamBindingCondition <a name="AccessContextManagerAccessPolicyIamBindingCondition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamBindingCondition } from '@dschmidt/provider-google'

const accessContextManagerAccessPolicyIamBindingCondition: AccessContextManagerAccessPolicyIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#expression AccessContextManagerAccessPolicyIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#title AccessContextManagerAccessPolicyIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#description AccessContextManagerAccessPolicyIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#expression AccessContextManagerAccessPolicyIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#title AccessContextManagerAccessPolicyIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#description AccessContextManagerAccessPolicyIamBinding#description}.

---

### AccessContextManagerAccessPolicyIamBindingConfig <a name="AccessContextManagerAccessPolicyIamBindingConfig" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamBindingConfig } from '@dschmidt/provider-google'

const accessContextManagerAccessPolicyIamBindingConfig: AccessContextManagerAccessPolicyIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#members AccessContextManagerAccessPolicyIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#name AccessContextManagerAccessPolicyIamBinding#name}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#role AccessContextManagerAccessPolicyIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition">AccessContextManagerAccessPolicyIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#id AccessContextManagerAccessPolicyIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#members AccessContextManagerAccessPolicyIamBinding#members}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#name AccessContextManagerAccessPolicyIamBinding#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#role AccessContextManagerAccessPolicyIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: AccessContextManagerAccessPolicyIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition">AccessContextManagerAccessPolicyIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#condition AccessContextManagerAccessPolicyIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_binding#id AccessContextManagerAccessPolicyIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### AccessContextManagerAccessPolicyIamMemberCondition <a name="AccessContextManagerAccessPolicyIamMemberCondition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamMemberCondition } from '@dschmidt/provider-google'

const accessContextManagerAccessPolicyIamMemberCondition: AccessContextManagerAccessPolicyIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#expression AccessContextManagerAccessPolicyIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#title AccessContextManagerAccessPolicyIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#description AccessContextManagerAccessPolicyIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#expression AccessContextManagerAccessPolicyIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#title AccessContextManagerAccessPolicyIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#description AccessContextManagerAccessPolicyIamMember#description}.

---

### AccessContextManagerAccessPolicyIamMemberConfig <a name="AccessContextManagerAccessPolicyIamMemberConfig" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamMemberConfig } from '@dschmidt/provider-google'

const accessContextManagerAccessPolicyIamMemberConfig: AccessContextManagerAccessPolicyIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#member AccessContextManagerAccessPolicyIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#name AccessContextManagerAccessPolicyIamMember#name}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#role AccessContextManagerAccessPolicyIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition">AccessContextManagerAccessPolicyIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#id AccessContextManagerAccessPolicyIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#member AccessContextManagerAccessPolicyIamMember#member}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#name AccessContextManagerAccessPolicyIamMember#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#role AccessContextManagerAccessPolicyIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: AccessContextManagerAccessPolicyIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition">AccessContextManagerAccessPolicyIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#condition AccessContextManagerAccessPolicyIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_member#id AccessContextManagerAccessPolicyIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### AccessContextManagerAccessPolicyIamPolicyConfig <a name="AccessContextManagerAccessPolicyIamPolicyConfig" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamPolicyConfig } from '@dschmidt/provider-google'

const accessContextManagerAccessPolicyIamPolicyConfig: AccessContextManagerAccessPolicyIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_policy#name AccessContextManagerAccessPolicyIamPolicy#name}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_policy#policy_data AccessContextManagerAccessPolicyIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_policy#id AccessContextManagerAccessPolicyIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_policy#name AccessContextManagerAccessPolicyIamPolicy#name}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_policy#policy_data AccessContextManagerAccessPolicyIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy_iam_policy#id AccessContextManagerAccessPolicyIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### AccessContextManagerAccessPolicyTimeouts <a name="AccessContextManagerAccessPolicyTimeouts" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyTimeouts } from '@dschmidt/provider-google'

const accessContextManagerAccessPolicyTimeouts: AccessContextManagerAccessPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#create AccessContextManagerAccessPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#delete AccessContextManagerAccessPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#update AccessContextManagerAccessPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#create AccessContextManagerAccessPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#delete AccessContextManagerAccessPolicy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_access_policy#update AccessContextManagerAccessPolicy#update}.

---

### AccessContextManagerGcpUserAccessBindingConfig <a name="AccessContextManagerGcpUserAccessBindingConfig" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.Initializer"></a>

```typescript
import { AccessContextManagerGcpUserAccessBindingConfig } from '@dschmidt/provider-google'

const accessContextManagerGcpUserAccessBindingConfig: AccessContextManagerGcpUserAccessBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | Required. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.groupKey">groupKey</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.organizationId">organizationId</a></code> | <code>string</code> | Required. ID of the parent organization. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#id AccessContextManagerGcpUserAccessBinding#id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts">AccessContextManagerGcpUserAccessBindingTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `accessLevels`<sup>Required</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

Required.

Access level that a user must have to be granted access. Only one access level is supported, not multiple. This repeated field must have exactly one element. Example: "accessPolicies/9522/accessLevels/device_trusted"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#access_levels AccessContextManagerGcpUserAccessBinding#access_levels}

---

##### `groupKey`<sup>Required</sup> <a name="groupKey" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.groupKey"></a>

```typescript
public readonly groupKey: string;
```

- *Type:* string

Required.

Immutable. Google Group id whose members are subject to this binding's restrictions. See "id" in the G Suite Directory API's Groups resource. If a group's email address/alias is changed, this resource will continue to point at the changed group. This field does not accept group email addresses or aliases. Example: "01d520gv4vjcrht"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#group_key AccessContextManagerGcpUserAccessBinding#group_key}

---

##### `organizationId`<sup>Required</sup> <a name="organizationId" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.organizationId"></a>

```typescript
public readonly organizationId: string;
```

- *Type:* string

Required. ID of the parent organization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#organization_id AccessContextManagerGcpUserAccessBinding#organization_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#id AccessContextManagerGcpUserAccessBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerGcpUserAccessBindingTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts">AccessContextManagerGcpUserAccessBindingTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#timeouts AccessContextManagerGcpUserAccessBinding#timeouts}

---

### AccessContextManagerGcpUserAccessBindingTimeouts <a name="AccessContextManagerGcpUserAccessBindingTimeouts" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts.Initializer"></a>

```typescript
import { AccessContextManagerGcpUserAccessBindingTimeouts } from '@dschmidt/provider-google'

const accessContextManagerGcpUserAccessBindingTimeouts: AccessContextManagerGcpUserAccessBindingTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#create AccessContextManagerGcpUserAccessBinding#create}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#delete AccessContextManagerGcpUserAccessBinding#delete}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#update AccessContextManagerGcpUserAccessBinding#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#create AccessContextManagerGcpUserAccessBinding#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#delete AccessContextManagerGcpUserAccessBinding#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_gcp_user_access_binding#update AccessContextManagerGcpUserAccessBinding#update}.

---

### AccessContextManagerServicePerimeterConfig <a name="AccessContextManagerServicePerimeterConfig" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterConfig } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterConfig: AccessContextManagerServicePerimeterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.name">name</a></code> | <code>string</code> | Resource name for the ServicePerimeter. The short_name component must begin with a letter and only include alphanumeric and '_'. Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.parent">parent</a></code> | <code>string</code> | The AccessPolicy this ServicePerimeter lives in. Format: accessPolicies/{policy_id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.title">title</a></code> | <code>string</code> | Human readable title. Must be unique within the Policy. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.description">description</a></code> | <code>string</code> | Description of the ServicePerimeter and its use. Does not affect behavior. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#id AccessContextManagerServicePerimeter#id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.perimeterType">perimeterType</a></code> | <code>string</code> | Specifies the type of the Perimeter. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.spec">spec</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec">AccessContextManagerServicePerimeterSpec</a></code> | spec block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus">AccessContextManagerServicePerimeterStatus</a></code> | status block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts">AccessContextManagerServicePerimeterTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.useExplicitDryRunSpec">useExplicitDryRunSpec</a></code> | <code>boolean \| cdktf.IResolvable</code> | Use explicit dry run spec flag. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Resource name for the ServicePerimeter. The short_name component must begin with a letter and only include alphanumeric and '_'. Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#name AccessContextManagerServicePerimeter#name}

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The AccessPolicy this ServicePerimeter lives in. Format: accessPolicies/{policy_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#parent AccessContextManagerServicePerimeter#parent}

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Human readable title. Must be unique within the Policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#title AccessContextManagerServicePerimeter#title}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the ServicePerimeter and its use. Does not affect behavior.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#description AccessContextManagerServicePerimeter#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#id AccessContextManagerServicePerimeter#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `perimeterType`<sup>Optional</sup> <a name="perimeterType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.perimeterType"></a>

```typescript
public readonly perimeterType: string;
```

- *Type:* string

Specifies the type of the Perimeter.

There are two types: regular and
bridge. Regular Service Perimeter contains resources, access levels,
and restricted services. Every resource can be in at most
ONE regular Service Perimeter.

In addition to being in a regular service perimeter, a resource can also
be in zero or more perimeter bridges. A perimeter bridge only contains
resources. Cross project operations are permitted if all effected
resources share some perimeter (whether bridge or regular). Perimeter
Bridge does not contain access levels or services: those are governed
entirely by the regular perimeter that resource is in.

Perimeter Bridges are typically useful when building more complex
topologies with many independent perimeters that need to share some data
with a common perimeter, but should not be able to share data among
themselves. Default value: "PERIMETER_TYPE_REGULAR" Possible values: ["PERIMETER_TYPE_REGULAR", "PERIMETER_TYPE_BRIDGE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#perimeter_type AccessContextManagerServicePerimeter#perimeter_type}

---

##### `spec`<sup>Optional</sup> <a name="spec" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.spec"></a>

```typescript
public readonly spec: AccessContextManagerServicePerimeterSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec">AccessContextManagerServicePerimeterSpec</a>

spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#spec AccessContextManagerServicePerimeter#spec}

---

##### `status`<sup>Optional</sup> <a name="status" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.status"></a>

```typescript
public readonly status: AccessContextManagerServicePerimeterStatus;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus">AccessContextManagerServicePerimeterStatus</a>

status block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#status AccessContextManagerServicePerimeter#status}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerServicePerimeterTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts">AccessContextManagerServicePerimeterTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#timeouts AccessContextManagerServicePerimeter#timeouts}

---

##### `useExplicitDryRunSpec`<sup>Optional</sup> <a name="useExplicitDryRunSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterConfig.property.useExplicitDryRunSpec"></a>

```typescript
public readonly useExplicitDryRunSpec: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Use explicit dry run spec flag.

Ordinarily, a dry-run spec implicitly exists
for all Service Perimeters, and that spec is identical to the status for those
Service Perimeters. When this flag is set, it inhibits the generation of the
implicit spec, thereby allowing the user to explicitly provide a
configuration ("spec") to use in a dry-run version of the Service Perimeter.
This allows the user to test changes to the enforced config ("status") without
actually enforcing them. This testing is done through analyzing the differences
between currently enforced and suggested restrictions. useExplicitDryRunSpec must
bet set to True if any of the fields in the spec are set to non-default values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#use_explicit_dry_run_spec AccessContextManagerServicePerimeter#use_explicit_dry_run_spec}

---

### AccessContextManagerServicePerimeterResourceConfig <a name="AccessContextManagerServicePerimeterResourceConfig" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterResourceConfig } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterResourceConfig: AccessContextManagerServicePerimeterResourceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.perimeterName">perimeterName</a></code> | <code>string</code> | The name of the Service Perimeter to add this resource to. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.resource">resource</a></code> | <code>string</code> | A GCP resource that is inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource#id AccessContextManagerServicePerimeterResource#id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts">AccessContextManagerServicePerimeterResourceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `perimeterName`<sup>Required</sup> <a name="perimeterName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.perimeterName"></a>

```typescript
public readonly perimeterName: string;
```

- *Type:* string

The name of the Service Perimeter to add this resource to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource#perimeter_name AccessContextManagerServicePerimeterResource#perimeter_name}

---

##### `resource`<sup>Required</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

A GCP resource that is inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource#resource AccessContextManagerServicePerimeterResource#resource}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource#id AccessContextManagerServicePerimeterResource#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerServicePerimeterResourceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts">AccessContextManagerServicePerimeterResourceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource#timeouts AccessContextManagerServicePerimeterResource#timeouts}

---

### AccessContextManagerServicePerimeterResourceTimeouts <a name="AccessContextManagerServicePerimeterResourceTimeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterResourceTimeouts } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterResourceTimeouts: AccessContextManagerServicePerimeterResourceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource#create AccessContextManagerServicePerimeterResource#create}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource#delete AccessContextManagerServicePerimeterResource#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource#create AccessContextManagerServicePerimeterResource#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter_resource#delete AccessContextManagerServicePerimeterResource#delete}.

---

### AccessContextManagerServicePerimetersConfig <a name="AccessContextManagerServicePerimetersConfig" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersConfig } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersConfig: AccessContextManagerServicePerimetersConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.parent">parent</a></code> | <code>string</code> | The AccessPolicy this ServicePerimeter lives in. Format: accessPolicies/{policy_id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#id AccessContextManagerServicePerimeters#id}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.servicePerimeters">servicePerimeters</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters">AccessContextManagerServicePerimetersServicePerimeters</a>[]</code> | service_perimeters block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts">AccessContextManagerServicePerimetersTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The AccessPolicy this ServicePerimeter lives in. Format: accessPolicies/{policy_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#parent AccessContextManagerServicePerimeters#parent}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#id AccessContextManagerServicePerimeters#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `servicePerimeters`<sup>Optional</sup> <a name="servicePerimeters" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.servicePerimeters"></a>

```typescript
public readonly servicePerimeters: IResolvable | AccessContextManagerServicePerimetersServicePerimeters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters">AccessContextManagerServicePerimetersServicePerimeters</a>[]

service_perimeters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#service_perimeters AccessContextManagerServicePerimeters#service_perimeters}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AccessContextManagerServicePerimetersTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts">AccessContextManagerServicePerimetersTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#timeouts AccessContextManagerServicePerimeters#timeouts}

---

### AccessContextManagerServicePerimeterSpec <a name="AccessContextManagerServicePerimeterSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpec } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpec: AccessContextManagerServicePerimeterSpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.egressPolicies">egressPolicies</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies">AccessContextManagerServicePerimeterSpecEgressPolicies</a>[]</code> | egress_policies block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.ingressPolicies">ingressPolicies</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies">AccessContextManagerServicePerimeterSpecIngressPolicies</a>[]</code> | ingress_policies block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.resources">resources</a></code> | <code>string[]</code> | A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.restrictedServices">restrictedServices</a></code> | <code>string[]</code> | GCP services that are subject to the Service Perimeter restrictions. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.vpcAccessibleServices">vpcAccessibleServices</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices">AccessContextManagerServicePerimeterSpecVpcAccessibleServices</a></code> | vpc_accessible_services block. |

---

##### `accessLevels`<sup>Optional</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet.

AccessLevels listed must be in the same policy as this
ServicePerimeter. Referencing a nonexistent AccessLevel is a
syntax error. If no AccessLevel names are listed, resources within
the perimeter can only be accessed via GCP calls with request
origins within the perimeter. For Service Perimeter Bridge, must
be empty.

Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#access_levels AccessContextManagerServicePerimeter#access_levels}

---

##### `egressPolicies`<sup>Optional</sup> <a name="egressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.egressPolicies"></a>

```typescript
public readonly egressPolicies: IResolvable | AccessContextManagerServicePerimeterSpecEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies">AccessContextManagerServicePerimeterSpecEgressPolicies</a>[]

egress_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#egress_policies AccessContextManagerServicePerimeter#egress_policies}

---

##### `ingressPolicies`<sup>Optional</sup> <a name="ingressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.ingressPolicies"></a>

```typescript
public readonly ingressPolicies: IResolvable | AccessContextManagerServicePerimeterSpecIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies">AccessContextManagerServicePerimeterSpecIngressPolicies</a>[]

ingress_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#ingress_policies AccessContextManagerServicePerimeter#ingress_policies}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#resources AccessContextManagerServicePerimeter#resources}

---

##### `restrictedServices`<sup>Optional</sup> <a name="restrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.restrictedServices"></a>

```typescript
public readonly restrictedServices: string[];
```

- *Type:* string[]

GCP services that are subject to the Service Perimeter restrictions.

Must contain a list of services. For example, if
'storage.googleapis.com' is specified, access to the storage
buckets inside the perimeter must meet the perimeter's access
restrictions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#restricted_services AccessContextManagerServicePerimeter#restricted_services}

---

##### `vpcAccessibleServices`<sup>Optional</sup> <a name="vpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec.property.vpcAccessibleServices"></a>

```typescript
public readonly vpcAccessibleServices: AccessContextManagerServicePerimeterSpecVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices">AccessContextManagerServicePerimeterSpecVpcAccessibleServices</a>

vpc_accessible_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#vpc_accessible_services AccessContextManagerServicePerimeter#vpc_accessible_services}

---

### AccessContextManagerServicePerimeterSpecEgressPolicies <a name="AccessContextManagerServicePerimeterSpecEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPolicies } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecEgressPolicies: AccessContextManagerServicePerimeterSpecEgressPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies.property.egressFrom">egressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom</a></code> | egress_from block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies.property.egressTo">egressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo</a></code> | egress_to block. |

---

##### `egressFrom`<sup>Optional</sup> <a name="egressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies.property.egressFrom"></a>

```typescript
public readonly egressFrom: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom</a>

egress_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#egress_from AccessContextManagerServicePerimeter#egress_from}

---

##### `egressTo`<sup>Optional</sup> <a name="egressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies.property.egressTo"></a>

```typescript
public readonly egressTo: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo</a>

egress_to block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#egress_to AccessContextManagerServicePerimeter#egress_to}

---

### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom.property.identities">identities</a></code> | <code>string[]</code> | A list of identities that are allowed access through this 'EgressPolicy'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom.property.identityType">identityType</a></code> | <code>string</code> | Specifies the type of identities that are allowed access to outside the  perimeter. |

---

##### `identities`<sup>Optional</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

A list of identities that are allowed access through this 'EgressPolicy'.

Should be in the format of email address. The email address should 
represent individual user or service account only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#identities AccessContextManagerServicePerimeter#identities}

---

##### `identityType`<sup>Optional</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

Specifies the type of identities that are allowed access to outside the  perimeter.

If left unspecified, then members of 'identities' field will 
be allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#identity_type AccessContextManagerServicePerimeter#identity_type}

---

### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecEgressPoliciesEgressTo: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo.property.externalResources">externalResources</a></code> | <code>string[]</code> | A list of external resources that are allowed to be accessed. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo.property.operations">operations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations</a>[]</code> | operations block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo.property.resources">resources</a></code> | <code>string[]</code> | A list of resources, currently only projects in the form  'projects/<projectnumber>', that match this to stanza. |

---

##### `externalResources`<sup>Optional</sup> <a name="externalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo.property.externalResources"></a>

```typescript
public readonly externalResources: string[];
```

- *Type:* string[]

A list of external resources that are allowed to be accessed.

A request
matches if it contains an external resource in this list (Example:
s3://bucket/path). Currently '*' is not allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#external_resources AccessContextManagerServicePerimeter#external_resources}

---

##### `operations`<sup>Optional</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo.property.operations"></a>

```typescript
public readonly operations: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations</a>[]

operations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#operations AccessContextManagerServicePerimeter#operations}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of resources, currently only projects in the form  'projects/<projectnumber>', that match this to stanza.

A request matches 
if it contains a resource in this list. If * is specified for resources, 
then this 'EgressTo' rule will authorize access to all resources outside 
the perimeter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#resources AccessContextManagerServicePerimeter#resources}

---

### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations.property.methodSelectors">methodSelectors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | method_selectors block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow. |

---

##### `methodSelectors`<sup>Optional</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]

method_selectors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#method_selectors AccessContextManagerServicePerimeter#method_selectors}

---

##### `serviceName`<sup>Optional</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow.

A single 'ApiOperation' with serviceName 
field set to '*' will allow all methods AND permissions for all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#service_name AccessContextManagerServicePerimeter#service_name}

---

### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors.property.method">method</a></code> | <code>string</code> | Value for 'method' should be a valid method name for the corresponding  'serviceName' in 'ApiOperation'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors.property.permission">permission</a></code> | <code>string</code> | Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'. |

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

Value for 'method' should be a valid method name for the corresponding  'serviceName' in 'ApiOperation'.

If '*' used as value for method, 
then ALL methods and permissions are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#method AccessContextManagerServicePerimeter#method}

---

##### `permission`<sup>Optional</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#permission AccessContextManagerServicePerimeter#permission}

---

### AccessContextManagerServicePerimeterSpecIngressPolicies <a name="AccessContextManagerServicePerimeterSpecIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPolicies } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecIngressPolicies: AccessContextManagerServicePerimeterSpecIngressPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies.property.ingressFrom">ingressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom</a></code> | ingress_from block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies.property.ingressTo">ingressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo</a></code> | ingress_to block. |

---

##### `ingressFrom`<sup>Optional</sup> <a name="ingressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies.property.ingressFrom"></a>

```typescript
public readonly ingressFrom: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom</a>

ingress_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#ingress_from AccessContextManagerServicePerimeter#ingress_from}

---

##### `ingressTo`<sup>Optional</sup> <a name="ingressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies.property.ingressTo"></a>

```typescript
public readonly ingressTo: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo</a>

ingress_to block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#ingress_to AccessContextManagerServicePerimeter#ingress_to}

---

### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom.property.identities">identities</a></code> | <code>string[]</code> | A list of identities that are allowed access through this ingress policy. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom.property.identityType">identityType</a></code> | <code>string</code> | Specifies the type of identities that are allowed access from outside the  perimeter. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom.property.sources">sources</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources</a>[]</code> | sources block. |

---

##### `identities`<sup>Optional</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

A list of identities that are allowed access through this ingress policy.

Should be in the format of email address. The email address should represent 
individual user or service account only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#identities AccessContextManagerServicePerimeter#identities}

---

##### `identityType`<sup>Optional</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

Specifies the type of identities that are allowed access from outside the  perimeter.

If left unspecified, then members of 'identities' field will be 
allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#identity_type AccessContextManagerServicePerimeter#identity_type}

---

##### `sources`<sup>Optional</sup> <a name="sources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom.property.sources"></a>

```typescript
public readonly sources: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources</a>[]

sources block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#sources AccessContextManagerServicePerimeter#sources}

---

### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources.property.accessLevel">accessLevel</a></code> | <code>string</code> | An 'AccessLevel' resource name that allow resources within the  'ServicePerimeters' to be accessed from the internet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources.property.resource">resource</a></code> | <code>string</code> | A Google Cloud resource that is allowed to ingress the perimeter. |

---

##### `accessLevel`<sup>Optional</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

An 'AccessLevel' resource name that allow resources within the  'ServicePerimeters' to be accessed from the internet.

'AccessLevels' listed 
must be in the same policy as this 'ServicePerimeter'. Referencing a nonexistent
'AccessLevel' will cause an error. If no 'AccessLevel' names are listed, 
resources within the perimeter can only be accessed via Google Cloud calls 
with request origins within the perimeter. 
Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.' 
If * is specified, then all IngressSources will be allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#access_level AccessContextManagerServicePerimeter#access_level}

---

##### `resource`<sup>Optional</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

A Google Cloud resource that is allowed to ingress the perimeter.

Requests from these resources will be allowed to access perimeter data. 
Currently only projects are allowed. Format 'projects/{project_number}' 
The project may be in any Google Cloud organization, not just the 
organization that the perimeter is defined in. '*' is not allowed, the case 
of allowing all Google Cloud resources only is not supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#resource AccessContextManagerServicePerimeter#resource}

---

### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecIngressPoliciesIngressTo: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo.property.operations">operations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations</a>[]</code> | operations block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo.property.resources">resources</a></code> | <code>string[]</code> | A list of resources, currently only projects in the form  'projects/<projectnumber>', protected by this 'ServicePerimeter' that are allowed to be accessed by sources defined in the corresponding 'IngressFrom'. |

---

##### `operations`<sup>Optional</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo.property.operations"></a>

```typescript
public readonly operations: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations</a>[]

operations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#operations AccessContextManagerServicePerimeter#operations}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of resources, currently only projects in the form  'projects/<projectnumber>', protected by this 'ServicePerimeter' that are allowed to be accessed by sources defined in the corresponding 'IngressFrom'.

A request matches if it contains
a resource in this list. If '*' is specified for resources,
then this 'IngressTo' rule will authorize access to all 
resources inside the perimeter, provided that the request
also matches the 'operations' field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#resources AccessContextManagerServicePerimeter#resources}

---

### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations.property.methodSelectors">methodSelectors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | method_selectors block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow. |

---

##### `methodSelectors`<sup>Optional</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]

method_selectors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#method_selectors AccessContextManagerServicePerimeter#method_selectors}

---

##### `serviceName`<sup>Optional</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow.

A single 'ApiOperation' with 'serviceName' 
field set to '*' will allow all methods AND permissions for all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#service_name AccessContextManagerServicePerimeter#service_name}

---

### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors.property.method">method</a></code> | <code>string</code> | Value for method should be a valid method name for the corresponding  serviceName in 'ApiOperation'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors.property.permission">permission</a></code> | <code>string</code> | Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'. |

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

Value for method should be a valid method name for the corresponding  serviceName in 'ApiOperation'.

If '*' used as value for 'method', then 
ALL methods and permissions are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#method AccessContextManagerServicePerimeter#method}

---

##### `permission`<sup>Optional</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#permission AccessContextManagerServicePerimeter#permission}

---

### AccessContextManagerServicePerimeterSpecVpcAccessibleServices <a name="AccessContextManagerServicePerimeterSpecVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecVpcAccessibleServices } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterSpecVpcAccessibleServices: AccessContextManagerServicePerimeterSpecVpcAccessibleServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices.property.allowedServices">allowedServices</a></code> | <code>string[]</code> | The list of APIs usable within the Service Perimeter. Must be empty unless 'enableRestriction' is True. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices.property.enableRestriction">enableRestriction</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'. |

---

##### `allowedServices`<sup>Optional</sup> <a name="allowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices.property.allowedServices"></a>

```typescript
public readonly allowedServices: string[];
```

- *Type:* string[]

The list of APIs usable within the Service Perimeter. Must be empty unless 'enableRestriction' is True.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#allowed_services AccessContextManagerServicePerimeter#allowed_services}

---

##### `enableRestriction`<sup>Optional</sup> <a name="enableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices.property.enableRestriction"></a>

```typescript
public readonly enableRestriction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#enable_restriction AccessContextManagerServicePerimeter#enable_restriction}

---

### AccessContextManagerServicePerimetersServicePerimeters <a name="AccessContextManagerServicePerimetersServicePerimeters" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimeters } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimeters: AccessContextManagerServicePerimetersServicePerimeters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.name">name</a></code> | <code>string</code> | Resource name for the ServicePerimeter. The short_name component must begin with a letter and only include alphanumeric and '_'. Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.title">title</a></code> | <code>string</code> | Human readable title. Must be unique within the Policy. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.description">description</a></code> | <code>string</code> | Description of the ServicePerimeter and its use. Does not affect behavior. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.perimeterType">perimeterType</a></code> | <code>string</code> | Specifies the type of the Perimeter. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.spec">spec</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec">AccessContextManagerServicePerimetersServicePerimetersSpec</a></code> | spec block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus">AccessContextManagerServicePerimetersServicePerimetersStatus</a></code> | status block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.useExplicitDryRunSpec">useExplicitDryRunSpec</a></code> | <code>boolean \| cdktf.IResolvable</code> | Use explicit dry run spec flag. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Resource name for the ServicePerimeter. The short_name component must begin with a letter and only include alphanumeric and '_'. Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#name AccessContextManagerServicePerimeters#name}

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Human readable title. Must be unique within the Policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#title AccessContextManagerServicePerimeters#title}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the ServicePerimeter and its use. Does not affect behavior.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#description AccessContextManagerServicePerimeters#description}

---

##### `perimeterType`<sup>Optional</sup> <a name="perimeterType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.perimeterType"></a>

```typescript
public readonly perimeterType: string;
```

- *Type:* string

Specifies the type of the Perimeter.

There are two types: regular and
bridge. Regular Service Perimeter contains resources, access levels,
and restricted services. Every resource can be in at most
ONE regular Service Perimeter.

In addition to being in a regular service perimeter, a resource can also
be in zero or more perimeter bridges. A perimeter bridge only contains
resources. Cross project operations are permitted if all effected
resources share some perimeter (whether bridge or regular). Perimeter
Bridge does not contain access levels or services: those are governed
entirely by the regular perimeter that resource is in.

Perimeter Bridges are typically useful when building more complex
topologies with many independent perimeters that need to share some data
with a common perimeter, but should not be able to share data among
themselves. Default value: "PERIMETER_TYPE_REGULAR" Possible values: ["PERIMETER_TYPE_REGULAR", "PERIMETER_TYPE_BRIDGE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#perimeter_type AccessContextManagerServicePerimeters#perimeter_type}

---

##### `spec`<sup>Optional</sup> <a name="spec" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.spec"></a>

```typescript
public readonly spec: AccessContextManagerServicePerimetersServicePerimetersSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec">AccessContextManagerServicePerimetersServicePerimetersSpec</a>

spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#spec AccessContextManagerServicePerimeters#spec}

---

##### `status`<sup>Optional</sup> <a name="status" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.status"></a>

```typescript
public readonly status: AccessContextManagerServicePerimetersServicePerimetersStatus;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus">AccessContextManagerServicePerimetersServicePerimetersStatus</a>

status block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#status AccessContextManagerServicePerimeters#status}

---

##### `useExplicitDryRunSpec`<sup>Optional</sup> <a name="useExplicitDryRunSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters.property.useExplicitDryRunSpec"></a>

```typescript
public readonly useExplicitDryRunSpec: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Use explicit dry run spec flag.

Ordinarily, a dry-run spec implicitly exists
for all Service Perimeters, and that spec is identical to the status for those
Service Perimeters. When this flag is set, it inhibits the generation of the
implicit spec, thereby allowing the user to explicitly provide a
configuration ("spec") to use in a dry-run version of the Service Perimeter.
This allows the user to test changes to the enforced config ("status") without
actually enforcing them. This testing is done through analyzing the differences
between currently enforced and suggested restrictions. useExplicitDryRunSpec must
bet set to True if any of the fields in the spec are set to non-default values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#use_explicit_dry_run_spec AccessContextManagerServicePerimeters#use_explicit_dry_run_spec}

---

### AccessContextManagerServicePerimetersServicePerimetersSpec <a name="AccessContextManagerServicePerimetersServicePerimetersSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpec } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpec: AccessContextManagerServicePerimetersServicePerimetersSpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.egressPolicies">egressPolicies</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies</a>[]</code> | egress_policies block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.ingressPolicies">ingressPolicies</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies</a>[]</code> | ingress_policies block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.resources">resources</a></code> | <code>string[]</code> | A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.restrictedServices">restrictedServices</a></code> | <code>string[]</code> | GCP services that are subject to the Service Perimeter restrictions. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.vpcAccessibleServices">vpcAccessibleServices</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices</a></code> | vpc_accessible_services block. |

---

##### `accessLevels`<sup>Optional</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet.

AccessLevels listed must be in the same policy as this
ServicePerimeter. Referencing a nonexistent AccessLevel is a
syntax error. If no AccessLevel names are listed, resources within
the perimeter can only be accessed via GCP calls with request
origins within the perimeter. For Service Perimeter Bridge, must
be empty.

Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#access_levels AccessContextManagerServicePerimeters#access_levels}

---

##### `egressPolicies`<sup>Optional</sup> <a name="egressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.egressPolicies"></a>

```typescript
public readonly egressPolicies: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies</a>[]

egress_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#egress_policies AccessContextManagerServicePerimeters#egress_policies}

---

##### `ingressPolicies`<sup>Optional</sup> <a name="ingressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.ingressPolicies"></a>

```typescript
public readonly ingressPolicies: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies</a>[]

ingress_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#ingress_policies AccessContextManagerServicePerimeters#ingress_policies}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}

---

##### `restrictedServices`<sup>Optional</sup> <a name="restrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.restrictedServices"></a>

```typescript
public readonly restrictedServices: string[];
```

- *Type:* string[]

GCP services that are subject to the Service Perimeter restrictions.

Must contain a list of services. For example, if
'storage.googleapis.com' is specified, access to the storage
buckets inside the perimeter must meet the perimeter's access
restrictions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#restricted_services AccessContextManagerServicePerimeters#restricted_services}

---

##### `vpcAccessibleServices`<sup>Optional</sup> <a name="vpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec.property.vpcAccessibleServices"></a>

```typescript
public readonly vpcAccessibleServices: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices</a>

vpc_accessible_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#vpc_accessible_services AccessContextManagerServicePerimeters#vpc_accessible_services}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies.property.egressFrom">egressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom</a></code> | egress_from block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies.property.egressTo">egressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo</a></code> | egress_to block. |

---

##### `egressFrom`<sup>Optional</sup> <a name="egressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies.property.egressFrom"></a>

```typescript
public readonly egressFrom: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom</a>

egress_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#egress_from AccessContextManagerServicePerimeters#egress_from}

---

##### `egressTo`<sup>Optional</sup> <a name="egressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies.property.egressTo"></a>

```typescript
public readonly egressTo: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo</a>

egress_to block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#egress_to AccessContextManagerServicePerimeters#egress_to}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom.property.identities">identities</a></code> | <code>string[]</code> | A list of identities that are allowed access through this 'EgressPolicy'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom.property.identityType">identityType</a></code> | <code>string</code> | Specifies the type of identities that are allowed access to outside the  perimeter. |

---

##### `identities`<sup>Optional</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

A list of identities that are allowed access through this 'EgressPolicy'.

Should be in the format of email address. The email address should 
represent individual user or service account only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#identities AccessContextManagerServicePerimeters#identities}

---

##### `identityType`<sup>Optional</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

Specifies the type of identities that are allowed access to outside the  perimeter.

If left unspecified, then members of 'identities' field will 
be allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#identity_type AccessContextManagerServicePerimeters#identity_type}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo.property.externalResources">externalResources</a></code> | <code>string[]</code> | A list of external resources that are allowed to be accessed. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo.property.operations">operations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations</a>[]</code> | operations block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo.property.resources">resources</a></code> | <code>string[]</code> | A list of resources, currently only projects in the form  'projects/<projectnumber>', that match this to stanza. |

---

##### `externalResources`<sup>Optional</sup> <a name="externalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo.property.externalResources"></a>

```typescript
public readonly externalResources: string[];
```

- *Type:* string[]

A list of external resources that are allowed to be accessed.

A request
matches if it contains an external resource in this list (Example:
s3://bucket/path). Currently '*' is not allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#external_resources AccessContextManagerServicePerimeters#external_resources}

---

##### `operations`<sup>Optional</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo.property.operations"></a>

```typescript
public readonly operations: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations</a>[]

operations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#operations AccessContextManagerServicePerimeters#operations}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of resources, currently only projects in the form  'projects/<projectnumber>', that match this to stanza.

A request matches 
if it contains a resource in this list. If * is specified for resources, 
then this 'EgressTo' rule will authorize access to all resources outside 
the perimeter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations.property.methodSelectors">methodSelectors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | method_selectors block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow. |

---

##### `methodSelectors`<sup>Optional</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]

method_selectors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#method_selectors AccessContextManagerServicePerimeters#method_selectors}

---

##### `serviceName`<sup>Optional</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow.

A single 'ApiOperation' with serviceName 
field set to '*' will allow all methods AND permissions for all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#service_name AccessContextManagerServicePerimeters#service_name}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors.property.method">method</a></code> | <code>string</code> | Value for 'method' should be a valid method name for the corresponding  'serviceName' in 'ApiOperation'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors.property.permission">permission</a></code> | <code>string</code> | Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'. |

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

Value for 'method' should be a valid method name for the corresponding  'serviceName' in 'ApiOperation'.

If '*' used as value for method, 
then ALL methods and permissions are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#method AccessContextManagerServicePerimeters#method}

---

##### `permission`<sup>Optional</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#permission AccessContextManagerServicePerimeters#permission}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies.property.ingressFrom">ingressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom</a></code> | ingress_from block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies.property.ingressTo">ingressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo</a></code> | ingress_to block. |

---

##### `ingressFrom`<sup>Optional</sup> <a name="ingressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies.property.ingressFrom"></a>

```typescript
public readonly ingressFrom: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom</a>

ingress_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#ingress_from AccessContextManagerServicePerimeters#ingress_from}

---

##### `ingressTo`<sup>Optional</sup> <a name="ingressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies.property.ingressTo"></a>

```typescript
public readonly ingressTo: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo</a>

ingress_to block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#ingress_to AccessContextManagerServicePerimeters#ingress_to}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom.property.identities">identities</a></code> | <code>string[]</code> | A list of identities that are allowed access through this ingress policy. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom.property.identityType">identityType</a></code> | <code>string</code> | Specifies the type of identities that are allowed access from outside the  perimeter. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom.property.sources">sources</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources</a>[]</code> | sources block. |

---

##### `identities`<sup>Optional</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

A list of identities that are allowed access through this ingress policy.

Should be in the format of email address. The email address should represent 
individual user or service account only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#identities AccessContextManagerServicePerimeters#identities}

---

##### `identityType`<sup>Optional</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

Specifies the type of identities that are allowed access from outside the  perimeter.

If left unspecified, then members of 'identities' field will be 
allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#identity_type AccessContextManagerServicePerimeters#identity_type}

---

##### `sources`<sup>Optional</sup> <a name="sources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom.property.sources"></a>

```typescript
public readonly sources: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources</a>[]

sources block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#sources AccessContextManagerServicePerimeters#sources}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources.property.accessLevel">accessLevel</a></code> | <code>string</code> | An 'AccessLevel' resource name that allow resources within the  'ServicePerimeters' to be accessed from the internet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources.property.resource">resource</a></code> | <code>string</code> | A Google Cloud resource that is allowed to ingress the perimeter. |

---

##### `accessLevel`<sup>Optional</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

An 'AccessLevel' resource name that allow resources within the  'ServicePerimeters' to be accessed from the internet.

'AccessLevels' listed 
must be in the same policy as this 'ServicePerimeter'. Referencing a nonexistent
'AccessLevel' will cause an error. If no 'AccessLevel' names are listed, 
resources within the perimeter can only be accessed via Google Cloud calls 
with request origins within the perimeter. 
Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.' 
If * is specified, then all IngressSources will be allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#access_level AccessContextManagerServicePerimeters#access_level}

---

##### `resource`<sup>Optional</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

A Google Cloud resource that is allowed to ingress the perimeter.

Requests from these resources will be allowed to access perimeter data. 
Currently only projects are allowed. Format 'projects/{project_number}' 
The project may be in any Google Cloud organization, not just the 
organization that the perimeter is defined in. '*' is not allowed, the case 
of allowing all Google Cloud resources only is not supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#resource AccessContextManagerServicePerimeters#resource}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo.property.operations">operations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations</a>[]</code> | operations block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo.property.resources">resources</a></code> | <code>string[]</code> | A list of resources, currently only projects in the form  'projects/<projectnumber>', protected by this 'ServicePerimeter' that are allowed to be accessed by sources defined in the corresponding 'IngressFrom'. |

---

##### `operations`<sup>Optional</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo.property.operations"></a>

```typescript
public readonly operations: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations</a>[]

operations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#operations AccessContextManagerServicePerimeters#operations}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of resources, currently only projects in the form  'projects/<projectnumber>', protected by this 'ServicePerimeter' that are allowed to be accessed by sources defined in the corresponding 'IngressFrom'.

A request matches if it contains
a resource in this list. If '*' is specified for resources,
then this 'IngressTo' rule will authorize access to all 
resources inside the perimeter, provided that the request
also matches the 'operations' field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations.property.methodSelectors">methodSelectors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | method_selectors block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow. |

---

##### `methodSelectors`<sup>Optional</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]

method_selectors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#method_selectors AccessContextManagerServicePerimeters#method_selectors}

---

##### `serviceName`<sup>Optional</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow.

A single 'ApiOperation' with 'serviceName' 
field set to '*' will allow all methods AND permissions for all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#service_name AccessContextManagerServicePerimeters#service_name}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors.property.method">method</a></code> | <code>string</code> | Value for method should be a valid method name for the corresponding  serviceName in 'ApiOperation'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors.property.permission">permission</a></code> | <code>string</code> | Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'. |

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

Value for method should be a valid method name for the corresponding  serviceName in 'ApiOperation'.

If '*' used as value for 'method', then 
ALL methods and permissions are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#method AccessContextManagerServicePerimeters#method}

---

##### `permission`<sup>Optional</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#permission AccessContextManagerServicePerimeters#permission}

---

### AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices <a name="AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices.property.allowedServices">allowedServices</a></code> | <code>string[]</code> | The list of APIs usable within the Service Perimeter. Must be empty unless 'enableRestriction' is True. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices.property.enableRestriction">enableRestriction</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'. |

---

##### `allowedServices`<sup>Optional</sup> <a name="allowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices.property.allowedServices"></a>

```typescript
public readonly allowedServices: string[];
```

- *Type:* string[]

The list of APIs usable within the Service Perimeter. Must be empty unless 'enableRestriction' is True.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#allowed_services AccessContextManagerServicePerimeters#allowed_services}

---

##### `enableRestriction`<sup>Optional</sup> <a name="enableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices.property.enableRestriction"></a>

```typescript
public readonly enableRestriction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#enable_restriction AccessContextManagerServicePerimeters#enable_restriction}

---

### AccessContextManagerServicePerimetersServicePerimetersStatus <a name="AccessContextManagerServicePerimetersServicePerimetersStatus" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatus } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatus: AccessContextManagerServicePerimetersServicePerimetersStatus = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.egressPolicies">egressPolicies</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies</a>[]</code> | egress_policies block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.ingressPolicies">ingressPolicies</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies</a>[]</code> | ingress_policies block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.resources">resources</a></code> | <code>string[]</code> | A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.restrictedServices">restrictedServices</a></code> | <code>string[]</code> | GCP services that are subject to the Service Perimeter restrictions. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.vpcAccessibleServices">vpcAccessibleServices</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices</a></code> | vpc_accessible_services block. |

---

##### `accessLevels`<sup>Optional</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet.

AccessLevels listed must be in the same policy as this
ServicePerimeter. Referencing a nonexistent AccessLevel is a
syntax error. If no AccessLevel names are listed, resources within
the perimeter can only be accessed via GCP calls with request
origins within the perimeter. For Service Perimeter Bridge, must
be empty.

Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#access_levels AccessContextManagerServicePerimeters#access_levels}

---

##### `egressPolicies`<sup>Optional</sup> <a name="egressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.egressPolicies"></a>

```typescript
public readonly egressPolicies: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies</a>[]

egress_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#egress_policies AccessContextManagerServicePerimeters#egress_policies}

---

##### `ingressPolicies`<sup>Optional</sup> <a name="ingressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.ingressPolicies"></a>

```typescript
public readonly ingressPolicies: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies</a>[]

ingress_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#ingress_policies AccessContextManagerServicePerimeters#ingress_policies}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}

---

##### `restrictedServices`<sup>Optional</sup> <a name="restrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.restrictedServices"></a>

```typescript
public readonly restrictedServices: string[];
```

- *Type:* string[]

GCP services that are subject to the Service Perimeter restrictions.

Must contain a list of services. For example, if
'storage.googleapis.com' is specified, access to the storage
buckets inside the perimeter must meet the perimeter's access
restrictions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#restricted_services AccessContextManagerServicePerimeters#restricted_services}

---

##### `vpcAccessibleServices`<sup>Optional</sup> <a name="vpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus.property.vpcAccessibleServices"></a>

```typescript
public readonly vpcAccessibleServices: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices</a>

vpc_accessible_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#vpc_accessible_services AccessContextManagerServicePerimeters#vpc_accessible_services}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies.property.egressFrom">egressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom</a></code> | egress_from block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies.property.egressTo">egressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo</a></code> | egress_to block. |

---

##### `egressFrom`<sup>Optional</sup> <a name="egressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies.property.egressFrom"></a>

```typescript
public readonly egressFrom: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom</a>

egress_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#egress_from AccessContextManagerServicePerimeters#egress_from}

---

##### `egressTo`<sup>Optional</sup> <a name="egressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies.property.egressTo"></a>

```typescript
public readonly egressTo: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo</a>

egress_to block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#egress_to AccessContextManagerServicePerimeters#egress_to}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom.property.identities">identities</a></code> | <code>string[]</code> | A list of identities that are allowed access through this 'EgressPolicy'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom.property.identityType">identityType</a></code> | <code>string</code> | Specifies the type of identities that are allowed access to outside the  perimeter. |

---

##### `identities`<sup>Optional</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

A list of identities that are allowed access through this 'EgressPolicy'.

Should be in the format of email address. The email address should 
represent individual user or service account only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#identities AccessContextManagerServicePerimeters#identities}

---

##### `identityType`<sup>Optional</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

Specifies the type of identities that are allowed access to outside the  perimeter.

If left unspecified, then members of 'identities' field will 
be allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#identity_type AccessContextManagerServicePerimeters#identity_type}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo.property.externalResources">externalResources</a></code> | <code>string[]</code> | A list of external resources that are allowed to be accessed. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo.property.operations">operations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations</a>[]</code> | operations block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo.property.resources">resources</a></code> | <code>string[]</code> | A list of resources, currently only projects in the form  'projects/<projectnumber>', that match this to stanza. |

---

##### `externalResources`<sup>Optional</sup> <a name="externalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo.property.externalResources"></a>

```typescript
public readonly externalResources: string[];
```

- *Type:* string[]

A list of external resources that are allowed to be accessed.

A request
matches if it contains an external resource in this list (Example:
s3://bucket/path). Currently '*' is not allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#external_resources AccessContextManagerServicePerimeters#external_resources}

---

##### `operations`<sup>Optional</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo.property.operations"></a>

```typescript
public readonly operations: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations</a>[]

operations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#operations AccessContextManagerServicePerimeters#operations}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of resources, currently only projects in the form  'projects/<projectnumber>', that match this to stanza.

A request matches 
if it contains a resource in this list. If * is specified for resources, 
then this 'EgressTo' rule will authorize access to all resources outside 
the perimeter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations.property.methodSelectors">methodSelectors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | method_selectors block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow. |

---

##### `methodSelectors`<sup>Optional</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]

method_selectors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#method_selectors AccessContextManagerServicePerimeters#method_selectors}

---

##### `serviceName`<sup>Optional</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow.

A single 'ApiOperation' with serviceName 
field set to '*' will allow all methods AND permissions for all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#service_name AccessContextManagerServicePerimeters#service_name}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors.property.method">method</a></code> | <code>string</code> | Value for 'method' should be a valid method name for the corresponding  'serviceName' in 'ApiOperation'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors.property.permission">permission</a></code> | <code>string</code> | Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'. |

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

Value for 'method' should be a valid method name for the corresponding  'serviceName' in 'ApiOperation'.

If '*' used as value for method, 
then ALL methods and permissions are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#method AccessContextManagerServicePerimeters#method}

---

##### `permission`<sup>Optional</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#permission AccessContextManagerServicePerimeters#permission}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies.property.ingressFrom">ingressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom</a></code> | ingress_from block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies.property.ingressTo">ingressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo</a></code> | ingress_to block. |

---

##### `ingressFrom`<sup>Optional</sup> <a name="ingressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies.property.ingressFrom"></a>

```typescript
public readonly ingressFrom: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom</a>

ingress_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#ingress_from AccessContextManagerServicePerimeters#ingress_from}

---

##### `ingressTo`<sup>Optional</sup> <a name="ingressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies.property.ingressTo"></a>

```typescript
public readonly ingressTo: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo</a>

ingress_to block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#ingress_to AccessContextManagerServicePerimeters#ingress_to}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom.property.identities">identities</a></code> | <code>string[]</code> | A list of identities that are allowed access through this ingress policy. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom.property.identityType">identityType</a></code> | <code>string</code> | Specifies the type of identities that are allowed access from outside the  perimeter. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom.property.sources">sources</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources</a>[]</code> | sources block. |

---

##### `identities`<sup>Optional</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

A list of identities that are allowed access through this ingress policy.

Should be in the format of email address. The email address should represent 
individual user or service account only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#identities AccessContextManagerServicePerimeters#identities}

---

##### `identityType`<sup>Optional</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

Specifies the type of identities that are allowed access from outside the  perimeter.

If left unspecified, then members of 'identities' field will be 
allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#identity_type AccessContextManagerServicePerimeters#identity_type}

---

##### `sources`<sup>Optional</sup> <a name="sources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom.property.sources"></a>

```typescript
public readonly sources: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources</a>[]

sources block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#sources AccessContextManagerServicePerimeters#sources}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources.property.accessLevel">accessLevel</a></code> | <code>string</code> | An 'AccessLevel' resource name that allow resources within the  'ServicePerimeters' to be accessed from the internet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources.property.resource">resource</a></code> | <code>string</code> | A Google Cloud resource that is allowed to ingress the perimeter. |

---

##### `accessLevel`<sup>Optional</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

An 'AccessLevel' resource name that allow resources within the  'ServicePerimeters' to be accessed from the internet.

'AccessLevels' listed 
must be in the same policy as this 'ServicePerimeter'. Referencing a nonexistent
'AccessLevel' will cause an error. If no 'AccessLevel' names are listed, 
resources within the perimeter can only be accessed via Google Cloud calls 
with request origins within the perimeter. 
Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.' 
If * is specified, then all IngressSources will be allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#access_level AccessContextManagerServicePerimeters#access_level}

---

##### `resource`<sup>Optional</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

A Google Cloud resource that is allowed to ingress the perimeter.

Requests from these resources will be allowed to access perimeter data. 
Currently only projects are allowed. Format 'projects/{project_number}' 
The project may be in any Google Cloud organization, not just the 
organization that the perimeter is defined in. '*' is not allowed, the case 
of allowing all Google Cloud resources only is not supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#resource AccessContextManagerServicePerimeters#resource}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo.property.operations">operations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations</a>[]</code> | operations block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo.property.resources">resources</a></code> | <code>string[]</code> | A list of resources, currently only projects in the form  'projects/<projectnumber>', protected by this 'ServicePerimeter' that are allowed to be accessed by sources defined in the corresponding 'IngressFrom'. |

---

##### `operations`<sup>Optional</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo.property.operations"></a>

```typescript
public readonly operations: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations</a>[]

operations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#operations AccessContextManagerServicePerimeters#operations}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of resources, currently only projects in the form  'projects/<projectnumber>', protected by this 'ServicePerimeter' that are allowed to be accessed by sources defined in the corresponding 'IngressFrom'.

A request matches if it contains
a resource in this list. If '*' is specified for resources,
then this 'IngressTo' rule will authorize access to all 
resources inside the perimeter, provided that the request
also matches the 'operations' field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#resources AccessContextManagerServicePerimeters#resources}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations.property.methodSelectors">methodSelectors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | method_selectors block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow. |

---

##### `methodSelectors`<sup>Optional</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]

method_selectors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#method_selectors AccessContextManagerServicePerimeters#method_selectors}

---

##### `serviceName`<sup>Optional</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow.

A single 'ApiOperation' with 'serviceName' 
field set to '*' will allow all methods AND permissions for all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#service_name AccessContextManagerServicePerimeters#service_name}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors.property.method">method</a></code> | <code>string</code> | Value for method should be a valid method name for the corresponding  serviceName in 'ApiOperation'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors.property.permission">permission</a></code> | <code>string</code> | Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'. |

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

Value for method should be a valid method name for the corresponding  serviceName in 'ApiOperation'.

If '*' used as value for 'method', then 
ALL methods and permissions are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#method AccessContextManagerServicePerimeters#method}

---

##### `permission`<sup>Optional</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#permission AccessContextManagerServicePerimeters#permission}

---

### AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices <a name="AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices.property.allowedServices">allowedServices</a></code> | <code>string[]</code> | The list of APIs usable within the Service Perimeter. Must be empty unless 'enableRestriction' is True. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices.property.enableRestriction">enableRestriction</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'. |

---

##### `allowedServices`<sup>Optional</sup> <a name="allowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices.property.allowedServices"></a>

```typescript
public readonly allowedServices: string[];
```

- *Type:* string[]

The list of APIs usable within the Service Perimeter. Must be empty unless 'enableRestriction' is True.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#allowed_services AccessContextManagerServicePerimeters#allowed_services}

---

##### `enableRestriction`<sup>Optional</sup> <a name="enableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices.property.enableRestriction"></a>

```typescript
public readonly enableRestriction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#enable_restriction AccessContextManagerServicePerimeters#enable_restriction}

---

### AccessContextManagerServicePerimeterStatus <a name="AccessContextManagerServicePerimeterStatus" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatus } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatus: AccessContextManagerServicePerimeterStatus = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.egressPolicies">egressPolicies</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies">AccessContextManagerServicePerimeterStatusEgressPolicies</a>[]</code> | egress_policies block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.ingressPolicies">ingressPolicies</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies">AccessContextManagerServicePerimeterStatusIngressPolicies</a>[]</code> | ingress_policies block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.resources">resources</a></code> | <code>string[]</code> | A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.restrictedServices">restrictedServices</a></code> | <code>string[]</code> | GCP services that are subject to the Service Perimeter restrictions. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.vpcAccessibleServices">vpcAccessibleServices</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices">AccessContextManagerServicePerimeterStatusVpcAccessibleServices</a></code> | vpc_accessible_services block. |

---

##### `accessLevels`<sup>Optional</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet.

AccessLevels listed must be in the same policy as this
ServicePerimeter. Referencing a nonexistent AccessLevel is a
syntax error. If no AccessLevel names are listed, resources within
the perimeter can only be accessed via GCP calls with request
origins within the perimeter. For Service Perimeter Bridge, must
be empty.

Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#access_levels AccessContextManagerServicePerimeter#access_levels}

---

##### `egressPolicies`<sup>Optional</sup> <a name="egressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.egressPolicies"></a>

```typescript
public readonly egressPolicies: IResolvable | AccessContextManagerServicePerimeterStatusEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies">AccessContextManagerServicePerimeterStatusEgressPolicies</a>[]

egress_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#egress_policies AccessContextManagerServicePerimeter#egress_policies}

---

##### `ingressPolicies`<sup>Optional</sup> <a name="ingressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.ingressPolicies"></a>

```typescript
public readonly ingressPolicies: IResolvable | AccessContextManagerServicePerimeterStatusIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies">AccessContextManagerServicePerimeterStatusIngressPolicies</a>[]

ingress_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#ingress_policies AccessContextManagerServicePerimeter#ingress_policies}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#resources AccessContextManagerServicePerimeter#resources}

---

##### `restrictedServices`<sup>Optional</sup> <a name="restrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.restrictedServices"></a>

```typescript
public readonly restrictedServices: string[];
```

- *Type:* string[]

GCP services that are subject to the Service Perimeter restrictions.

Must contain a list of services. For example, if
'storage.googleapis.com' is specified, access to the storage
buckets inside the perimeter must meet the perimeter's access
restrictions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#restricted_services AccessContextManagerServicePerimeter#restricted_services}

---

##### `vpcAccessibleServices`<sup>Optional</sup> <a name="vpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus.property.vpcAccessibleServices"></a>

```typescript
public readonly vpcAccessibleServices: AccessContextManagerServicePerimeterStatusVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices">AccessContextManagerServicePerimeterStatusVpcAccessibleServices</a>

vpc_accessible_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#vpc_accessible_services AccessContextManagerServicePerimeter#vpc_accessible_services}

---

### AccessContextManagerServicePerimeterStatusEgressPolicies <a name="AccessContextManagerServicePerimeterStatusEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPolicies } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusEgressPolicies: AccessContextManagerServicePerimeterStatusEgressPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies.property.egressFrom">egressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom</a></code> | egress_from block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies.property.egressTo">egressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo</a></code> | egress_to block. |

---

##### `egressFrom`<sup>Optional</sup> <a name="egressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies.property.egressFrom"></a>

```typescript
public readonly egressFrom: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom</a>

egress_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#egress_from AccessContextManagerServicePerimeter#egress_from}

---

##### `egressTo`<sup>Optional</sup> <a name="egressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies.property.egressTo"></a>

```typescript
public readonly egressTo: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo</a>

egress_to block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#egress_to AccessContextManagerServicePerimeter#egress_to}

---

### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom.property.identities">identities</a></code> | <code>string[]</code> | A list of identities that are allowed access through this 'EgressPolicy'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom.property.identityType">identityType</a></code> | <code>string</code> | Specifies the type of identities that are allowed access to outside the  perimeter. |

---

##### `identities`<sup>Optional</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

A list of identities that are allowed access through this 'EgressPolicy'.

Should be in the format of email address. The email address should 
represent individual user or service account only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#identities AccessContextManagerServicePerimeter#identities}

---

##### `identityType`<sup>Optional</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

Specifies the type of identities that are allowed access to outside the  perimeter.

If left unspecified, then members of 'identities' field will 
be allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#identity_type AccessContextManagerServicePerimeter#identity_type}

---

### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusEgressPoliciesEgressTo: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo.property.externalResources">externalResources</a></code> | <code>string[]</code> | A list of external resources that are allowed to be accessed. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo.property.operations">operations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations</a>[]</code> | operations block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo.property.resources">resources</a></code> | <code>string[]</code> | A list of resources, currently only projects in the form  'projects/<projectnumber>', that match this to stanza. |

---

##### `externalResources`<sup>Optional</sup> <a name="externalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo.property.externalResources"></a>

```typescript
public readonly externalResources: string[];
```

- *Type:* string[]

A list of external resources that are allowed to be accessed.

A request
matches if it contains an external resource in this list (Example:
s3://bucket/path). Currently '*' is not allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#external_resources AccessContextManagerServicePerimeter#external_resources}

---

##### `operations`<sup>Optional</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo.property.operations"></a>

```typescript
public readonly operations: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations</a>[]

operations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#operations AccessContextManagerServicePerimeter#operations}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of resources, currently only projects in the form  'projects/<projectnumber>', that match this to stanza.

A request matches 
if it contains a resource in this list. If * is specified for resources, 
then this 'EgressTo' rule will authorize access to all resources outside 
the perimeter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#resources AccessContextManagerServicePerimeter#resources}

---

### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations.property.methodSelectors">methodSelectors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | method_selectors block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow. |

---

##### `methodSelectors`<sup>Optional</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]

method_selectors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#method_selectors AccessContextManagerServicePerimeter#method_selectors}

---

##### `serviceName`<sup>Optional</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow.

A single 'ApiOperation' with serviceName 
field set to '*' will allow all methods AND permissions for all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#service_name AccessContextManagerServicePerimeter#service_name}

---

### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors.property.method">method</a></code> | <code>string</code> | Value for 'method' should be a valid method name for the corresponding  'serviceName' in 'ApiOperation'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors.property.permission">permission</a></code> | <code>string</code> | Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'. |

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

Value for 'method' should be a valid method name for the corresponding  'serviceName' in 'ApiOperation'.

If '*' used as value for method, 
then ALL methods and permissions are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#method AccessContextManagerServicePerimeter#method}

---

##### `permission`<sup>Optional</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#permission AccessContextManagerServicePerimeter#permission}

---

### AccessContextManagerServicePerimeterStatusIngressPolicies <a name="AccessContextManagerServicePerimeterStatusIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPolicies } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusIngressPolicies: AccessContextManagerServicePerimeterStatusIngressPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies.property.ingressFrom">ingressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom</a></code> | ingress_from block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies.property.ingressTo">ingressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo</a></code> | ingress_to block. |

---

##### `ingressFrom`<sup>Optional</sup> <a name="ingressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies.property.ingressFrom"></a>

```typescript
public readonly ingressFrom: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom</a>

ingress_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#ingress_from AccessContextManagerServicePerimeter#ingress_from}

---

##### `ingressTo`<sup>Optional</sup> <a name="ingressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies.property.ingressTo"></a>

```typescript
public readonly ingressTo: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo</a>

ingress_to block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#ingress_to AccessContextManagerServicePerimeter#ingress_to}

---

### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom.property.identities">identities</a></code> | <code>string[]</code> | A list of identities that are allowed access through this ingress policy. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom.property.identityType">identityType</a></code> | <code>string</code> | Specifies the type of identities that are allowed access from outside the  perimeter. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom.property.sources">sources</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources</a>[]</code> | sources block. |

---

##### `identities`<sup>Optional</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

A list of identities that are allowed access through this ingress policy.

Should be in the format of email address. The email address should represent 
individual user or service account only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#identities AccessContextManagerServicePerimeter#identities}

---

##### `identityType`<sup>Optional</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

Specifies the type of identities that are allowed access from outside the  perimeter.

If left unspecified, then members of 'identities' field will be 
allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#identity_type AccessContextManagerServicePerimeter#identity_type}

---

##### `sources`<sup>Optional</sup> <a name="sources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom.property.sources"></a>

```typescript
public readonly sources: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources</a>[]

sources block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#sources AccessContextManagerServicePerimeter#sources}

---

### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources.property.accessLevel">accessLevel</a></code> | <code>string</code> | An 'AccessLevel' resource name that allow resources within the  'ServicePerimeters' to be accessed from the internet. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources.property.resource">resource</a></code> | <code>string</code> | A Google Cloud resource that is allowed to ingress the perimeter. |

---

##### `accessLevel`<sup>Optional</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

An 'AccessLevel' resource name that allow resources within the  'ServicePerimeters' to be accessed from the internet.

'AccessLevels' listed 
must be in the same policy as this 'ServicePerimeter'. Referencing a nonexistent
'AccessLevel' will cause an error. If no 'AccessLevel' names are listed, 
resources within the perimeter can only be accessed via Google Cloud calls 
with request origins within the perimeter. 
Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.' 
If * is specified, then all IngressSources will be allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#access_level AccessContextManagerServicePerimeter#access_level}

---

##### `resource`<sup>Optional</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

A Google Cloud resource that is allowed to ingress the perimeter.

Requests from these resources will be allowed to access perimeter data. 
Currently only projects are allowed. Format 'projects/{project_number}' 
The project may be in any Google Cloud organization, not just the 
organization that the perimeter is defined in. '*' is not allowed, the case 
of allowing all Google Cloud resources only is not supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#resource AccessContextManagerServicePerimeter#resource}

---

### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusIngressPoliciesIngressTo: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo.property.operations">operations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations</a>[]</code> | operations block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo.property.resources">resources</a></code> | <code>string[]</code> | A list of resources, currently only projects in the form  'projects/<projectnumber>', protected by this 'ServicePerimeter' that are allowed to be accessed by sources defined in the corresponding 'IngressFrom'. |

---

##### `operations`<sup>Optional</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo.property.operations"></a>

```typescript
public readonly operations: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations</a>[]

operations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#operations AccessContextManagerServicePerimeter#operations}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

A list of resources, currently only projects in the form  'projects/<projectnumber>', protected by this 'ServicePerimeter' that are allowed to be accessed by sources defined in the corresponding 'IngressFrom'.

A request matches if it contains
a resource in this list. If '*' is specified for resources,
then this 'IngressTo' rule will authorize access to all 
resources inside the perimeter, provided that the request
also matches the 'operations' field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#resources AccessContextManagerServicePerimeter#resources}

---

### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations.property.methodSelectors">methodSelectors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | method_selectors block. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow. |

---

##### `methodSelectors`<sup>Optional</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]

method_selectors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#method_selectors AccessContextManagerServicePerimeter#method_selectors}

---

##### `serviceName`<sup>Optional</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the API whose methods or permissions the 'IngressPolicy' or  'EgressPolicy' want to allow.

A single 'ApiOperation' with 'serviceName' 
field set to '*' will allow all methods AND permissions for all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#service_name AccessContextManagerServicePerimeter#service_name}

---

### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors.property.method">method</a></code> | <code>string</code> | Value for method should be a valid method name for the corresponding  serviceName in 'ApiOperation'. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors.property.permission">permission</a></code> | <code>string</code> | Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'. |

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

Value for method should be a valid method name for the corresponding  serviceName in 'ApiOperation'.

If '*' used as value for 'method', then 
ALL methods and permissions are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#method AccessContextManagerServicePerimeter#method}

---

##### `permission`<sup>Optional</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

Value for permission should be a valid Cloud IAM permission for the  corresponding 'serviceName' in 'ApiOperation'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#permission AccessContextManagerServicePerimeter#permission}

---

### AccessContextManagerServicePerimeterStatusVpcAccessibleServices <a name="AccessContextManagerServicePerimeterStatusVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusVpcAccessibleServices } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterStatusVpcAccessibleServices: AccessContextManagerServicePerimeterStatusVpcAccessibleServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices.property.allowedServices">allowedServices</a></code> | <code>string[]</code> | The list of APIs usable within the Service Perimeter. Must be empty unless 'enableRestriction' is True. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices.property.enableRestriction">enableRestriction</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'. |

---

##### `allowedServices`<sup>Optional</sup> <a name="allowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices.property.allowedServices"></a>

```typescript
public readonly allowedServices: string[];
```

- *Type:* string[]

The list of APIs usable within the Service Perimeter. Must be empty unless 'enableRestriction' is True.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#allowed_services AccessContextManagerServicePerimeter#allowed_services}

---

##### `enableRestriction`<sup>Optional</sup> <a name="enableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices.property.enableRestriction"></a>

```typescript
public readonly enableRestriction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#enable_restriction AccessContextManagerServicePerimeter#enable_restriction}

---

### AccessContextManagerServicePerimetersTimeouts <a name="AccessContextManagerServicePerimetersTimeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersTimeouts } from '@dschmidt/provider-google'

const accessContextManagerServicePerimetersTimeouts: AccessContextManagerServicePerimetersTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#create AccessContextManagerServicePerimeters#create}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#delete AccessContextManagerServicePerimeters#delete}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#update AccessContextManagerServicePerimeters#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#create AccessContextManagerServicePerimeters#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#delete AccessContextManagerServicePerimeters#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeters#update AccessContextManagerServicePerimeters#update}.

---

### AccessContextManagerServicePerimeterTimeouts <a name="AccessContextManagerServicePerimeterTimeouts" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterTimeouts } from '@dschmidt/provider-google'

const accessContextManagerServicePerimeterTimeouts: AccessContextManagerServicePerimeterTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#create AccessContextManagerServicePerimeter#create}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#delete AccessContextManagerServicePerimeter#delete}. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#update AccessContextManagerServicePerimeter#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#create AccessContextManagerServicePerimeter#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#delete AccessContextManagerServicePerimeter#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/access_context_manager_service_perimeter#update AccessContextManagerServicePerimeter#update}.

---

### ActiveDirectoryDomainConfig <a name="ActiveDirectoryDomainConfig" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.Initializer"></a>

```typescript
import { ActiveDirectoryDomainConfig } from '@dschmidt/provider-google'

const activeDirectoryDomainConfig: ActiveDirectoryDomainConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.domainName">domainName</a></code> | <code>string</code> | The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,  https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.locations">locations</a></code> | <code>string[]</code> | Locations where domain needs to be provisioned. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.reservedIpRange">reservedIpRange</a></code> | <code>string</code> | The CIDR range of internal addresses that are reserved for this domain. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.admin">admin</a></code> | <code>string</code> | The name of delegated administrator account used to perform Active Directory operations.  If not specified, setupadmin will be used. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.authorizedNetworks">authorizedNetworks</a></code> | <code>string[]</code> | The full names of the Google Compute Engine networks the domain instance is connected to. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#id ActiveDirectoryDomain#id}. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Resource labels that can contain user-provided metadata. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#project ActiveDirectoryDomain#project}. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeouts">ActiveDirectoryDomainTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `domainName`<sup>Required</sup> <a name="domainName" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.domainName"></a>

```typescript
public readonly domainName: string;
```

- *Type:* string

The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,  https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#domain_name ActiveDirectoryDomain#domain_name}

---

##### `locations`<sup>Required</sup> <a name="locations" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.locations"></a>

```typescript
public readonly locations: string[];
```

- *Type:* string[]

Locations where domain needs to be provisioned.

[regions][compute/docs/regions-zones/] 
e.g. us-west1 or us-east4 Service supports up to 4 locations at once. Each location will use a /26 block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#locations ActiveDirectoryDomain#locations}

---

##### `reservedIpRange`<sup>Required</sup> <a name="reservedIpRange" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.reservedIpRange"></a>

```typescript
public readonly reservedIpRange: string;
```

- *Type:* string

The CIDR range of internal addresses that are reserved for this domain.

Reserved networks must be /24 or larger. 
Ranges must be unique and non-overlapping with existing subnets in authorizedNetworks

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#reserved_ip_range ActiveDirectoryDomain#reserved_ip_range}

---

##### `admin`<sup>Optional</sup> <a name="admin" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.admin"></a>

```typescript
public readonly admin: string;
```

- *Type:* string

The name of delegated administrator account used to perform Active Directory operations.  If not specified, setupadmin will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#admin ActiveDirectoryDomain#admin}

---

##### `authorizedNetworks`<sup>Optional</sup> <a name="authorizedNetworks" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.authorizedNetworks"></a>

```typescript
public readonly authorizedNetworks: string[];
```

- *Type:* string[]

The full names of the Google Compute Engine networks the domain instance is connected to.

The domain is only available on networks listed in authorizedNetworks.
If CIDR subnets overlap between networks, domain creation will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#authorized_networks ActiveDirectoryDomain#authorized_networks}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#id ActiveDirectoryDomain#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Resource labels that can contain user-provided metadata.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#labels ActiveDirectoryDomain#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#project ActiveDirectoryDomain#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ActiveDirectoryDomainConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ActiveDirectoryDomainTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeouts">ActiveDirectoryDomainTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#timeouts ActiveDirectoryDomain#timeouts}

---

### ActiveDirectoryDomainTimeouts <a name="ActiveDirectoryDomainTimeouts" id="@dschmidt/provider-google.ActiveDirectoryDomainTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ActiveDirectoryDomainTimeouts.Initializer"></a>

```typescript
import { ActiveDirectoryDomainTimeouts } from '@dschmidt/provider-google'

const activeDirectoryDomainTimeouts: ActiveDirectoryDomainTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#create ActiveDirectoryDomain#create}. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#delete ActiveDirectoryDomain#delete}. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#update ActiveDirectoryDomain#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ActiveDirectoryDomainTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#create ActiveDirectoryDomain#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ActiveDirectoryDomainTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#delete ActiveDirectoryDomain#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ActiveDirectoryDomainTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain#update ActiveDirectoryDomain#update}.

---

### ActiveDirectoryDomainTrustConfig <a name="ActiveDirectoryDomainTrustConfig" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.Initializer"></a>

```typescript
import { ActiveDirectoryDomainTrustConfig } from '@dschmidt/provider-google'

const activeDirectoryDomainTrustConfig: ActiveDirectoryDomainTrustConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.domain">domain</a></code> | <code>string</code> | The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,  https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.targetDnsIpAddresses">targetDnsIpAddresses</a></code> | <code>string[]</code> | The target DNS server IP addresses which can resolve the remote domain involved in the trust. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.targetDomainName">targetDomainName</a></code> | <code>string</code> | The fully qualified target domain name which will be in trust with the current domain. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.trustDirection">trustDirection</a></code> | <code>string</code> | The trust direction, which decides if the current domain is trusted, trusting, or both. Possible values: ["INBOUND", "OUTBOUND", "BIDIRECTIONAL"]. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.trustHandshakeSecret">trustHandshakeSecret</a></code> | <code>string</code> | The trust secret used for the handshake with the target domain. This will not be stored. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.trustType">trustType</a></code> | <code>string</code> | The type of trust represented by the trust resource. Possible values: ["FOREST", "EXTERNAL"]. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#id ActiveDirectoryDomainTrust#id}. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#project ActiveDirectoryDomainTrust#project}. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.selectiveAuthentication">selectiveAuthentication</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the trusted side has forest/domain wide access or selective access to an approved set of resources. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts">ActiveDirectoryDomainTrustTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,  https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#domain ActiveDirectoryDomainTrust#domain}

---

##### `targetDnsIpAddresses`<sup>Required</sup> <a name="targetDnsIpAddresses" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.targetDnsIpAddresses"></a>

```typescript
public readonly targetDnsIpAddresses: string[];
```

- *Type:* string[]

The target DNS server IP addresses which can resolve the remote domain involved in the trust.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#target_dns_ip_addresses ActiveDirectoryDomainTrust#target_dns_ip_addresses}

---

##### `targetDomainName`<sup>Required</sup> <a name="targetDomainName" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.targetDomainName"></a>

```typescript
public readonly targetDomainName: string;
```

- *Type:* string

The fully qualified target domain name which will be in trust with the current domain.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#target_domain_name ActiveDirectoryDomainTrust#target_domain_name}

---

##### `trustDirection`<sup>Required</sup> <a name="trustDirection" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.trustDirection"></a>

```typescript
public readonly trustDirection: string;
```

- *Type:* string

The trust direction, which decides if the current domain is trusted, trusting, or both. Possible values: ["INBOUND", "OUTBOUND", "BIDIRECTIONAL"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#trust_direction ActiveDirectoryDomainTrust#trust_direction}

---

##### `trustHandshakeSecret`<sup>Required</sup> <a name="trustHandshakeSecret" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.trustHandshakeSecret"></a>

```typescript
public readonly trustHandshakeSecret: string;
```

- *Type:* string

The trust secret used for the handshake with the target domain. This will not be stored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#trust_handshake_secret ActiveDirectoryDomainTrust#trust_handshake_secret}

---

##### `trustType`<sup>Required</sup> <a name="trustType" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.trustType"></a>

```typescript
public readonly trustType: string;
```

- *Type:* string

The type of trust represented by the trust resource. Possible values: ["FOREST", "EXTERNAL"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#trust_type ActiveDirectoryDomainTrust#trust_type}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#id ActiveDirectoryDomainTrust#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#project ActiveDirectoryDomainTrust#project}.

---

##### `selectiveAuthentication`<sup>Optional</sup> <a name="selectiveAuthentication" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.selectiveAuthentication"></a>

```typescript
public readonly selectiveAuthentication: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the trusted side has forest/domain wide access or selective access to an approved set of resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#selective_authentication ActiveDirectoryDomainTrust#selective_authentication}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ActiveDirectoryDomainTrustTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts">ActiveDirectoryDomainTrustTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#timeouts ActiveDirectoryDomainTrust#timeouts}

---

### ActiveDirectoryDomainTrustTimeouts <a name="ActiveDirectoryDomainTrustTimeouts" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts.Initializer"></a>

```typescript
import { ActiveDirectoryDomainTrustTimeouts } from '@dschmidt/provider-google'

const activeDirectoryDomainTrustTimeouts: ActiveDirectoryDomainTrustTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#create ActiveDirectoryDomainTrust#create}. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#delete ActiveDirectoryDomainTrust#delete}. |
| <code><a href="#@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#update ActiveDirectoryDomainTrust#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#create ActiveDirectoryDomainTrust#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#delete ActiveDirectoryDomainTrust#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ActiveDirectoryDomainTrustTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/active_directory_domain_trust#update ActiveDirectoryDomainTrust#update}.

---

### ApigeeEndpointAttachmentConfig <a name="ApigeeEndpointAttachmentConfig" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.Initializer"></a>

```typescript
import { ApigeeEndpointAttachmentConfig } from '@dschmidt/provider-google'

const apigeeEndpointAttachmentConfig: ApigeeEndpointAttachmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.endpointAttachmentId">endpointAttachmentId</a></code> | <code>string</code> | ID of the endpoint attachment. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.location">location</a></code> | <code>string</code> | Location of the endpoint attachment. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.orgId">orgId</a></code> | <code>string</code> | The Apigee Organization associated with the Apigee instance, in the format 'organizations/{{org_name}}'. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.serviceAttachment">serviceAttachment</a></code> | <code>string</code> | Format: projects/*\/regions/*\/serviceAttachments/*. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#id ApigeeEndpointAttachment#id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts">ApigeeEndpointAttachmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `endpointAttachmentId`<sup>Required</sup> <a name="endpointAttachmentId" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.endpointAttachmentId"></a>

```typescript
public readonly endpointAttachmentId: string;
```

- *Type:* string

ID of the endpoint attachment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#endpoint_attachment_id ApigeeEndpointAttachment#endpoint_attachment_id}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the endpoint attachment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#location ApigeeEndpointAttachment#location}

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The Apigee Organization associated with the Apigee instance, in the format 'organizations/{{org_name}}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#org_id ApigeeEndpointAttachment#org_id}

---

##### `serviceAttachment`<sup>Required</sup> <a name="serviceAttachment" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.serviceAttachment"></a>

```typescript
public readonly serviceAttachment: string;
```

- *Type:* string

Format: projects/*\/regions/*\/serviceAttachments/*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#service_attachment ApigeeEndpointAttachment#service_attachment}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#id ApigeeEndpointAttachment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeEndpointAttachmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeEndpointAttachmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts">ApigeeEndpointAttachmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#timeouts ApigeeEndpointAttachment#timeouts}

---

### ApigeeEndpointAttachmentTimeouts <a name="ApigeeEndpointAttachmentTimeouts" id="@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts.Initializer"></a>

```typescript
import { ApigeeEndpointAttachmentTimeouts } from '@dschmidt/provider-google'

const apigeeEndpointAttachmentTimeouts: ApigeeEndpointAttachmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#create ApigeeEndpointAttachment#create}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#delete ApigeeEndpointAttachment#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#create ApigeeEndpointAttachment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ApigeeEndpointAttachmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_endpoint_attachment#delete ApigeeEndpointAttachment#delete}.

---

### ApigeeEnvgroupAttachmentConfig <a name="ApigeeEnvgroupAttachmentConfig" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.Initializer"></a>

```typescript
import { ApigeeEnvgroupAttachmentConfig } from '@dschmidt/provider-google'

const apigeeEnvgroupAttachmentConfig: ApigeeEnvgroupAttachmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.envgroupId">envgroupId</a></code> | <code>string</code> | The Apigee environment group associated with the Apigee environment, in the format 'organizations/{{org_name}}/envgroups/{{envgroup_name}}'. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.environment">environment</a></code> | <code>string</code> | The resource ID of the environment. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment#id ApigeeEnvgroupAttachment#id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts">ApigeeEnvgroupAttachmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `envgroupId`<sup>Required</sup> <a name="envgroupId" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.envgroupId"></a>

```typescript
public readonly envgroupId: string;
```

- *Type:* string

The Apigee environment group associated with the Apigee environment, in the format 'organizations/{{org_name}}/envgroups/{{envgroup_name}}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment#envgroup_id ApigeeEnvgroupAttachment#envgroup_id}

---

##### `environment`<sup>Required</sup> <a name="environment" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.environment"></a>

```typescript
public readonly environment: string;
```

- *Type:* string

The resource ID of the environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment#environment ApigeeEnvgroupAttachment#environment}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment#id ApigeeEnvgroupAttachment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeEnvgroupAttachmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts">ApigeeEnvgroupAttachmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment#timeouts ApigeeEnvgroupAttachment#timeouts}

---

### ApigeeEnvgroupAttachmentTimeouts <a name="ApigeeEnvgroupAttachmentTimeouts" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts.Initializer"></a>

```typescript
import { ApigeeEnvgroupAttachmentTimeouts } from '@dschmidt/provider-google'

const apigeeEnvgroupAttachmentTimeouts: ApigeeEnvgroupAttachmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment#create ApigeeEnvgroupAttachment#create}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment#delete ApigeeEnvgroupAttachment#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment#create ApigeeEnvgroupAttachment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ApigeeEnvgroupAttachmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup_attachment#delete ApigeeEnvgroupAttachment#delete}.

---

### ApigeeEnvgroupConfig <a name="ApigeeEnvgroupConfig" id="@dschmidt/provider-google.ApigeeEnvgroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.Initializer"></a>

```typescript
import { ApigeeEnvgroupConfig } from '@dschmidt/provider-google'

const apigeeEnvgroupConfig: ApigeeEnvgroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.name">name</a></code> | <code>string</code> | The resource ID of the environment group. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.orgId">orgId</a></code> | <code>string</code> | The Apigee Organization associated with the Apigee environment group, in the format 'organizations/{{org_name}}'. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.hostnames">hostnames</a></code> | <code>string[]</code> | Hostnames of the environment group. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#id ApigeeEnvgroup#id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeouts">ApigeeEnvgroupTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource ID of the environment group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#name ApigeeEnvgroup#name}

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The Apigee Organization associated with the Apigee environment group, in the format 'organizations/{{org_name}}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#org_id ApigeeEnvgroup#org_id}

---

##### `hostnames`<sup>Optional</sup> <a name="hostnames" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.hostnames"></a>

```typescript
public readonly hostnames: string[];
```

- *Type:* string[]

Hostnames of the environment group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#hostnames ApigeeEnvgroup#hostnames}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#id ApigeeEnvgroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeEnvgroupConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeEnvgroupTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeouts">ApigeeEnvgroupTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#timeouts ApigeeEnvgroup#timeouts}

---

### ApigeeEnvgroupTimeouts <a name="ApigeeEnvgroupTimeouts" id="@dschmidt/provider-google.ApigeeEnvgroupTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvgroupTimeouts.Initializer"></a>

```typescript
import { ApigeeEnvgroupTimeouts } from '@dschmidt/provider-google'

const apigeeEnvgroupTimeouts: ApigeeEnvgroupTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#create ApigeeEnvgroup#create}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#delete ApigeeEnvgroup#delete}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvgroupTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#update ApigeeEnvgroup#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ApigeeEnvgroupTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#create ApigeeEnvgroup#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ApigeeEnvgroupTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#delete ApigeeEnvgroup#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ApigeeEnvgroupTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_envgroup#update ApigeeEnvgroup#update}.

---

### ApigeeEnvironmentConfig <a name="ApigeeEnvironmentConfig" id="@dschmidt/provider-google.ApigeeEnvironmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.Initializer"></a>

```typescript
import { ApigeeEnvironmentConfig } from '@dschmidt/provider-google'

const apigeeEnvironmentConfig: ApigeeEnvironmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.name">name</a></code> | <code>string</code> | The resource ID of the environment. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.orgId">orgId</a></code> | <code>string</code> | The Apigee Organization associated with the Apigee environment, in the format 'organizations/{{org_name}}'. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.apiProxyType">apiProxyType</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.deploymentType">deploymentType</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.description">description</a></code> | <code>string</code> | Description of the environment. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.displayName">displayName</a></code> | <code>string</code> | Display name of the environment. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#id ApigeeEnvironment#id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentNodeConfig">ApigeeEnvironmentNodeConfig</a></code> | node_config block. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeouts">ApigeeEnvironmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource ID of the environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#name ApigeeEnvironment#name}

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The Apigee Organization associated with the Apigee environment, in the format 'organizations/{{org_name}}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#org_id ApigeeEnvironment#org_id}

---

##### `apiProxyType`<sup>Optional</sup> <a name="apiProxyType" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.apiProxyType"></a>

```typescript
public readonly apiProxyType: string;
```

- *Type:* string

Optional.

API Proxy type supported by the environment. The type can be set when creating
the Environment and cannot be changed. Possible values: ["API_PROXY_TYPE_UNSPECIFIED", "PROGRAMMABLE", "CONFIGURABLE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#api_proxy_type ApigeeEnvironment#api_proxy_type}

---

##### `deploymentType`<sup>Optional</sup> <a name="deploymentType" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.deploymentType"></a>

```typescript
public readonly deploymentType: string;
```

- *Type:* string

Optional.

Deployment type supported by the environment. The deployment type can be
set when creating the environment and cannot be changed. When you enable archive
deployment, you will be prevented from performing a subset of actions within the
environment, including:
Managing the deployment of API proxy or shared flow revisions;
Creating, updating, or deleting resource files;
Creating, updating, or deleting target servers. Possible values: ["DEPLOYMENT_TYPE_UNSPECIFIED", "PROXY", "ARCHIVE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#deployment_type ApigeeEnvironment#deployment_type}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#description ApigeeEnvironment#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Display name of the environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#display_name ApigeeEnvironment#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#id ApigeeEnvironment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `nodeConfig`<sup>Optional</sup> <a name="nodeConfig" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: ApigeeEnvironmentNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentNodeConfig">ApigeeEnvironmentNodeConfig</a>

node_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#node_config ApigeeEnvironment#node_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeEnvironmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeEnvironmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeouts">ApigeeEnvironmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#timeouts ApigeeEnvironment#timeouts}

---

### ApigeeEnvironmentIamBindingCondition <a name="ApigeeEnvironmentIamBindingCondition" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition.Initializer"></a>

```typescript
import { ApigeeEnvironmentIamBindingCondition } from '@dschmidt/provider-google'

const apigeeEnvironmentIamBindingCondition: ApigeeEnvironmentIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#expression ApigeeEnvironmentIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#title ApigeeEnvironmentIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#description ApigeeEnvironmentIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#expression ApigeeEnvironmentIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#title ApigeeEnvironmentIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#description ApigeeEnvironmentIamBinding#description}.

---

### ApigeeEnvironmentIamBindingConfig <a name="ApigeeEnvironmentIamBindingConfig" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.Initializer"></a>

```typescript
import { ApigeeEnvironmentIamBindingConfig } from '@dschmidt/provider-google'

const apigeeEnvironmentIamBindingConfig: ApigeeEnvironmentIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.envId">envId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#env_id ApigeeEnvironmentIamBinding#env_id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#members ApigeeEnvironmentIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.orgId">orgId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#org_id ApigeeEnvironmentIamBinding#org_id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#role ApigeeEnvironmentIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition">ApigeeEnvironmentIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#id ApigeeEnvironmentIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `envId`<sup>Required</sup> <a name="envId" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.envId"></a>

```typescript
public readonly envId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#env_id ApigeeEnvironmentIamBinding#env_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#members ApigeeEnvironmentIamBinding#members}.

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#org_id ApigeeEnvironmentIamBinding#org_id}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#role ApigeeEnvironmentIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ApigeeEnvironmentIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamBindingCondition">ApigeeEnvironmentIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#condition ApigeeEnvironmentIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_binding#id ApigeeEnvironmentIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ApigeeEnvironmentIamMemberCondition <a name="ApigeeEnvironmentIamMemberCondition" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition.Initializer"></a>

```typescript
import { ApigeeEnvironmentIamMemberCondition } from '@dschmidt/provider-google'

const apigeeEnvironmentIamMemberCondition: ApigeeEnvironmentIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#expression ApigeeEnvironmentIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#title ApigeeEnvironmentIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#description ApigeeEnvironmentIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#expression ApigeeEnvironmentIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#title ApigeeEnvironmentIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#description ApigeeEnvironmentIamMember#description}.

---

### ApigeeEnvironmentIamMemberConfig <a name="ApigeeEnvironmentIamMemberConfig" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.Initializer"></a>

```typescript
import { ApigeeEnvironmentIamMemberConfig } from '@dschmidt/provider-google'

const apigeeEnvironmentIamMemberConfig: ApigeeEnvironmentIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.envId">envId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#env_id ApigeeEnvironmentIamMember#env_id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#member ApigeeEnvironmentIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.orgId">orgId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#org_id ApigeeEnvironmentIamMember#org_id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#role ApigeeEnvironmentIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition">ApigeeEnvironmentIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#id ApigeeEnvironmentIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `envId`<sup>Required</sup> <a name="envId" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.envId"></a>

```typescript
public readonly envId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#env_id ApigeeEnvironmentIamMember#env_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#member ApigeeEnvironmentIamMember#member}.

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#org_id ApigeeEnvironmentIamMember#org_id}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#role ApigeeEnvironmentIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ApigeeEnvironmentIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeEnvironmentIamMemberCondition">ApigeeEnvironmentIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#condition ApigeeEnvironmentIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_member#id ApigeeEnvironmentIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ApigeeEnvironmentIamPolicyConfig <a name="ApigeeEnvironmentIamPolicyConfig" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.Initializer"></a>

```typescript
import { ApigeeEnvironmentIamPolicyConfig } from '@dschmidt/provider-google'

const apigeeEnvironmentIamPolicyConfig: ApigeeEnvironmentIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.envId">envId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_policy#env_id ApigeeEnvironmentIamPolicy#env_id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.orgId">orgId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_policy#org_id ApigeeEnvironmentIamPolicy#org_id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_policy#policy_data ApigeeEnvironmentIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_policy#id ApigeeEnvironmentIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `envId`<sup>Required</sup> <a name="envId" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.envId"></a>

```typescript
public readonly envId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_policy#env_id ApigeeEnvironmentIamPolicy#env_id}.

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_policy#org_id ApigeeEnvironmentIamPolicy#org_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_policy#policy_data ApigeeEnvironmentIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeEnvironmentIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment_iam_policy#id ApigeeEnvironmentIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ApigeeEnvironmentNodeConfig <a name="ApigeeEnvironmentNodeConfig" id="@dschmidt/provider-google.ApigeeEnvironmentNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvironmentNodeConfig.Initializer"></a>

```typescript
import { ApigeeEnvironmentNodeConfig } from '@dschmidt/provider-google'

const apigeeEnvironmentNodeConfig: ApigeeEnvironmentNodeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentNodeConfig.property.maxNodeCount">maxNodeCount</a></code> | <code>string</code> | The maximum total number of gateway nodes that the is reserved for all instances that has the specified environment. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentNodeConfig.property.minNodeCount">minNodeCount</a></code> | <code>string</code> | The minimum total number of gateway nodes that the is reserved for all instances that has the specified environment. |

---

##### `maxNodeCount`<sup>Optional</sup> <a name="maxNodeCount" id="@dschmidt/provider-google.ApigeeEnvironmentNodeConfig.property.maxNodeCount"></a>

```typescript
public readonly maxNodeCount: string;
```

- *Type:* string

The maximum total number of gateway nodes that the is reserved for all instances that has the specified environment.

If not specified, the default is determined by the
recommended maximum number of nodes for that gateway.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#max_node_count ApigeeEnvironment#max_node_count}

---

##### `minNodeCount`<sup>Optional</sup> <a name="minNodeCount" id="@dschmidt/provider-google.ApigeeEnvironmentNodeConfig.property.minNodeCount"></a>

```typescript
public readonly minNodeCount: string;
```

- *Type:* string

The minimum total number of gateway nodes that the is reserved for all instances that has the specified environment.

If not specified, the default is determined by the
recommended minimum number of nodes for that gateway.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#min_node_count ApigeeEnvironment#min_node_count}

---

### ApigeeEnvironmentTimeouts <a name="ApigeeEnvironmentTimeouts" id="@dschmidt/provider-google.ApigeeEnvironmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeEnvironmentTimeouts.Initializer"></a>

```typescript
import { ApigeeEnvironmentTimeouts } from '@dschmidt/provider-google'

const apigeeEnvironmentTimeouts: ApigeeEnvironmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#create ApigeeEnvironment#create}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#delete ApigeeEnvironment#delete}. |
| <code><a href="#@dschmidt/provider-google.ApigeeEnvironmentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#update ApigeeEnvironment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ApigeeEnvironmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#create ApigeeEnvironment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ApigeeEnvironmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#delete ApigeeEnvironment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ApigeeEnvironmentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_environment#update ApigeeEnvironment#update}.

---

### ApigeeInstanceAttachmentConfig <a name="ApigeeInstanceAttachmentConfig" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.Initializer"></a>

```typescript
import { ApigeeInstanceAttachmentConfig } from '@dschmidt/provider-google'

const apigeeInstanceAttachmentConfig: ApigeeInstanceAttachmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.environment">environment</a></code> | <code>string</code> | The resource ID of the environment. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.instanceId">instanceId</a></code> | <code>string</code> | The Apigee instance associated with the Apigee environment, in the format 'organisations/{{org_name}}/instances/{{instance_name}}'. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment#id ApigeeInstanceAttachment#id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts">ApigeeInstanceAttachmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `environment`<sup>Required</sup> <a name="environment" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.environment"></a>

```typescript
public readonly environment: string;
```

- *Type:* string

The resource ID of the environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment#environment ApigeeInstanceAttachment#environment}

---

##### `instanceId`<sup>Required</sup> <a name="instanceId" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.instanceId"></a>

```typescript
public readonly instanceId: string;
```

- *Type:* string

The Apigee instance associated with the Apigee environment, in the format 'organisations/{{org_name}}/instances/{{instance_name}}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment#instance_id ApigeeInstanceAttachment#instance_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment#id ApigeeInstanceAttachment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeInstanceAttachmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeInstanceAttachmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts">ApigeeInstanceAttachmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment#timeouts ApigeeInstanceAttachment#timeouts}

---

### ApigeeInstanceAttachmentTimeouts <a name="ApigeeInstanceAttachmentTimeouts" id="@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts.Initializer"></a>

```typescript
import { ApigeeInstanceAttachmentTimeouts } from '@dschmidt/provider-google'

const apigeeInstanceAttachmentTimeouts: ApigeeInstanceAttachmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment#create ApigeeInstanceAttachment#create}. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment#delete ApigeeInstanceAttachment#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment#create ApigeeInstanceAttachment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ApigeeInstanceAttachmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance_attachment#delete ApigeeInstanceAttachment#delete}.

---

### ApigeeInstanceConfig <a name="ApigeeInstanceConfig" id="@dschmidt/provider-google.ApigeeInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeInstanceConfig.Initializer"></a>

```typescript
import { ApigeeInstanceConfig } from '@dschmidt/provider-google'

const apigeeInstanceConfig: ApigeeInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.location">location</a></code> | <code>string</code> | Required. Compute Engine location where the instance resides. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.name">name</a></code> | <code>string</code> | Resource ID of the instance. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.orgId">orgId</a></code> | <code>string</code> | The Apigee Organization associated with the Apigee instance, in the format 'organizations/{{org_name}}'. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.consumerAcceptList">consumerAcceptList</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.description">description</a></code> | <code>string</code> | Description of the instance. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.diskEncryptionKeyName">diskEncryptionKeyName</a></code> | <code>string</code> | Customer Managed Encryption Key (CMEK) used for disk and volume encryption. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.displayName">displayName</a></code> | <code>string</code> | Display name of the instance. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#id ApigeeInstance#id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.ipRange">ipRange</a></code> | <code>string</code> | IP range represents the customer-provided CIDR block of length 22 that will be used for the Apigee instance creation. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.peeringCidrRange">peeringCidrRange</a></code> | <code>string</code> | The size of the CIDR block range that will be reserved by the instance. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeInstanceTimeouts">ApigeeInstanceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Required. Compute Engine location where the instance resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#location ApigeeInstance#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Resource ID of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#name ApigeeInstance#name}

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The Apigee Organization associated with the Apigee instance, in the format 'organizations/{{org_name}}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#org_id ApigeeInstance#org_id}

---

##### `consumerAcceptList`<sup>Optional</sup> <a name="consumerAcceptList" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.consumerAcceptList"></a>

```typescript
public readonly consumerAcceptList: string[];
```

- *Type:* string[]

Optional.

Customer accept list represents the list of projects (id/number) on customer
side that can privately connect to the service attachment. It is an optional field
which the customers can provide during the instance creation. By default, the customer
project associated with the Apigee organization will be included to the list.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#consumer_accept_list ApigeeInstance#consumer_accept_list}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#description ApigeeInstance#description}

---

##### `diskEncryptionKeyName`<sup>Optional</sup> <a name="diskEncryptionKeyName" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.diskEncryptionKeyName"></a>

```typescript
public readonly diskEncryptionKeyName: string;
```

- *Type:* string

Customer Managed Encryption Key (CMEK) used for disk and volume encryption.

Required for Apigee paid subscriptions only.
Use the following format: 'projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#disk_encryption_key_name ApigeeInstance#disk_encryption_key_name}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Display name of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#display_name ApigeeInstance#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#id ApigeeInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipRange`<sup>Optional</sup> <a name="ipRange" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.ipRange"></a>

```typescript
public readonly ipRange: string;
```

- *Type:* string

IP range represents the customer-provided CIDR block of length 22 that will be used for the Apigee instance creation.

This optional range, if provided, should be freely
available as part of larger named range the customer has allocated to the Service
Networking peering. If this is not provided, Apigee will automatically request for any
available /22 CIDR block from Service Networking. The customer should use this CIDR block
for configuring their firewall needs to allow traffic from Apigee.
Input format: "a.b.c.d/22"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#ip_range ApigeeInstance#ip_range}

---

##### `peeringCidrRange`<sup>Optional</sup> <a name="peeringCidrRange" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.peeringCidrRange"></a>

```typescript
public readonly peeringCidrRange: string;
```

- *Type:* string

The size of the CIDR block range that will be reserved by the instance.

For valid values, 
see [CidrRange](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances#CidrRange) on the documentation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#peering_cidr_range ApigeeInstance#peering_cidr_range}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeInstanceTimeouts">ApigeeInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#timeouts ApigeeInstance#timeouts}

---

### ApigeeInstanceTimeouts <a name="ApigeeInstanceTimeouts" id="@dschmidt/provider-google.ApigeeInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeInstanceTimeouts.Initializer"></a>

```typescript
import { ApigeeInstanceTimeouts } from '@dschmidt/provider-google'

const apigeeInstanceTimeouts: ApigeeInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#create ApigeeInstance#create}. |
| <code><a href="#@dschmidt/provider-google.ApigeeInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#delete ApigeeInstance#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ApigeeInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#create ApigeeInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ApigeeInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_instance#delete ApigeeInstance#delete}.

---

### ApigeeOrganizationConfig <a name="ApigeeOrganizationConfig" id="@dschmidt/provider-google.ApigeeOrganizationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeOrganizationConfig.Initializer"></a>

```typescript
import { ApigeeOrganizationConfig } from '@dschmidt/provider-google'

const apigeeOrganizationConfig: ApigeeOrganizationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.projectId">projectId</a></code> | <code>string</code> | The project ID associated with the Apigee organization. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.analyticsRegion">analyticsRegion</a></code> | <code>string</code> | Primary GCP region for analytics data storage. For valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.authorizedNetwork">authorizedNetwork</a></code> | <code>string</code> | Compute Engine network used for Service Networking to be peered with Apigee runtime instances. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.billingType">billingType</a></code> | <code>string</code> | Billing type of the Apigee organization. See [Apigee pricing](https://cloud.google.com/apigee/pricing). |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.description">description</a></code> | <code>string</code> | Description of the Apigee organization. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.displayName">displayName</a></code> | <code>string</code> | The display name of the Apigee organization. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#id ApigeeOrganization#id}. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.properties">properties</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeOrganizationProperties">ApigeeOrganizationProperties</a></code> | properties block. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.retention">retention</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.runtimeDatabaseEncryptionKeyName">runtimeDatabaseEncryptionKeyName</a></code> | <code>string</code> | Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.runtimeType">runtimeType</a></code> | <code>string</code> | Runtime type of the Apigee organization based on the Apigee subscription purchased. Default value: "CLOUD" Possible values: ["CLOUD", "HYBRID"]. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApigeeOrganizationTimeouts">ApigeeOrganizationTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The project ID associated with the Apigee organization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#project_id ApigeeOrganization#project_id}

---

##### `analyticsRegion`<sup>Optional</sup> <a name="analyticsRegion" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.analyticsRegion"></a>

```typescript
public readonly analyticsRegion: string;
```

- *Type:* string

Primary GCP region for analytics data storage. For valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#analytics_region ApigeeOrganization#analytics_region}

---

##### `authorizedNetwork`<sup>Optional</sup> <a name="authorizedNetwork" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.authorizedNetwork"></a>

```typescript
public readonly authorizedNetwork: string;
```

- *Type:* string

Compute Engine network used for Service Networking to be peered with Apigee runtime instances.

See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started).
Valid only when 'RuntimeType' is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#authorized_network ApigeeOrganization#authorized_network}

---

##### `billingType`<sup>Optional</sup> <a name="billingType" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.billingType"></a>

```typescript
public readonly billingType: string;
```

- *Type:* string

Billing type of the Apigee organization. See [Apigee pricing](https://cloud.google.com/apigee/pricing).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#billing_type ApigeeOrganization#billing_type}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the Apigee organization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#description ApigeeOrganization#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The display name of the Apigee organization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#display_name ApigeeOrganization#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#id ApigeeOrganization#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.properties"></a>

```typescript
public readonly properties: ApigeeOrganizationProperties;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeOrganizationProperties">ApigeeOrganizationProperties</a>

properties block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#properties ApigeeOrganization#properties}

---

##### `retention`<sup>Optional</sup> <a name="retention" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.retention"></a>

```typescript
public readonly retention: string;
```

- *Type:* string

Optional.

This setting is applicable only for organizations that are soft-deleted (i.e., BillingType
is not EVALUATION). It controls how long Organization data will be retained after the initial delete
operation completes. During this period, the Organization may be restored to its last known state.
After this period, the Organization will no longer be able to be restored. Default value: "DELETION_RETENTION_UNSPECIFIED" Possible values: ["DELETION_RETENTION_UNSPECIFIED", "MINIMUM"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#retention ApigeeOrganization#retention}

---

##### `runtimeDatabaseEncryptionKeyName`<sup>Optional</sup> <a name="runtimeDatabaseEncryptionKeyName" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.runtimeDatabaseEncryptionKeyName"></a>

```typescript
public readonly runtimeDatabaseEncryptionKeyName: string;
```

- *Type:* string

Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances.

Update is not allowed after the organization is created.
If not specified, a Google-Managed encryption key will be used.
Valid only when 'RuntimeType' is CLOUD. For example: 'projects/foo/locations/us/keyRings/bar/cryptoKeys/baz'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#runtime_database_encryption_key_name ApigeeOrganization#runtime_database_encryption_key_name}

---

##### `runtimeType`<sup>Optional</sup> <a name="runtimeType" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.runtimeType"></a>

```typescript
public readonly runtimeType: string;
```

- *Type:* string

Runtime type of the Apigee organization based on the Apigee subscription purchased. Default value: "CLOUD" Possible values: ["CLOUD", "HYBRID"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#runtime_type ApigeeOrganization#runtime_type}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ApigeeOrganizationConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ApigeeOrganizationTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ApigeeOrganizationTimeouts">ApigeeOrganizationTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#timeouts ApigeeOrganization#timeouts}

---

### ApigeeOrganizationProperties <a name="ApigeeOrganizationProperties" id="@dschmidt/provider-google.ApigeeOrganizationProperties"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeOrganizationProperties.Initializer"></a>

```typescript
import { ApigeeOrganizationProperties } from '@dschmidt/provider-google'

const apigeeOrganizationProperties: ApigeeOrganizationProperties = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationProperties.property.property">property</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApigeeOrganizationPropertiesProperty">ApigeeOrganizationPropertiesProperty</a>[]</code> | property block. |

---

##### `property`<sup>Optional</sup> <a name="property" id="@dschmidt/provider-google.ApigeeOrganizationProperties.property.property"></a>

```typescript
public readonly property: IResolvable | ApigeeOrganizationPropertiesProperty[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApigeeOrganizationPropertiesProperty">ApigeeOrganizationPropertiesProperty</a>[]

property block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#property ApigeeOrganization#property}

---

### ApigeeOrganizationPropertiesProperty <a name="ApigeeOrganizationPropertiesProperty" id="@dschmidt/provider-google.ApigeeOrganizationPropertiesProperty"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeOrganizationPropertiesProperty.Initializer"></a>

```typescript
import { ApigeeOrganizationPropertiesProperty } from '@dschmidt/provider-google'

const apigeeOrganizationPropertiesProperty: ApigeeOrganizationPropertiesProperty = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationPropertiesProperty.property.name">name</a></code> | <code>string</code> | Name of the property. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationPropertiesProperty.property.value">value</a></code> | <code>string</code> | Value of the property. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ApigeeOrganizationPropertiesProperty.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the property.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#name ApigeeOrganization#name}

---

##### `value`<sup>Optional</sup> <a name="value" id="@dschmidt/provider-google.ApigeeOrganizationPropertiesProperty.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Value of the property.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#value ApigeeOrganization#value}

---

### ApigeeOrganizationTimeouts <a name="ApigeeOrganizationTimeouts" id="@dschmidt/provider-google.ApigeeOrganizationTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApigeeOrganizationTimeouts.Initializer"></a>

```typescript
import { ApigeeOrganizationTimeouts } from '@dschmidt/provider-google'

const apigeeOrganizationTimeouts: ApigeeOrganizationTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#create ApigeeOrganization#create}. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#delete ApigeeOrganization#delete}. |
| <code><a href="#@dschmidt/provider-google.ApigeeOrganizationTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#update ApigeeOrganization#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ApigeeOrganizationTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#create ApigeeOrganization#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ApigeeOrganizationTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#delete ApigeeOrganization#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ApigeeOrganizationTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apigee_organization#update ApigeeOrganization#update}.

---

### ApikeysKeyConfig <a name="ApikeysKeyConfig" id="@dschmidt/provider-google.ApikeysKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApikeysKeyConfig.Initializer"></a>

```typescript
import { ApikeysKeyConfig } from '@dschmidt/provider-google'

const apikeysKeyConfig: ApikeysKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.name">name</a></code> | <code>string</code> | The resource name of the key. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.displayName">displayName</a></code> | <code>string</code> | Human-readable display name of this API key. Modifiable by user. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#id ApikeysKey#id}. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.restrictions">restrictions</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictions">ApikeysKeyRestrictions</a></code> | restrictions block. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyTimeouts">ApikeysKeyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ApikeysKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ApikeysKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ApikeysKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ApikeysKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ApikeysKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ApikeysKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ApikeysKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ApikeysKeyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name of the key.

The name must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. In another word, the name must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#name ApikeysKey#name}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.ApikeysKeyConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Human-readable display name of this API key. Modifiable by user.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#display_name ApikeysKey#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ApikeysKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#id ApikeysKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ApikeysKeyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#project ApikeysKey#project}

---

##### `restrictions`<sup>Optional</sup> <a name="restrictions" id="@dschmidt/provider-google.ApikeysKeyConfig.property.restrictions"></a>

```typescript
public readonly restrictions: ApikeysKeyRestrictions;
```

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyRestrictions">ApikeysKeyRestrictions</a>

restrictions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#restrictions ApikeysKey#restrictions}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ApikeysKeyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ApikeysKeyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyTimeouts">ApikeysKeyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#timeouts ApikeysKey#timeouts}

---

### ApikeysKeyRestrictions <a name="ApikeysKeyRestrictions" id="@dschmidt/provider-google.ApikeysKeyRestrictions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApikeysKeyRestrictions.Initializer"></a>

```typescript
import { ApikeysKeyRestrictions } from '@dschmidt/provider-google'

const apikeysKeyRestrictions: ApikeysKeyRestrictions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictions.property.androidKeyRestrictions">androidKeyRestrictions</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictions">ApikeysKeyRestrictionsAndroidKeyRestrictions</a></code> | android_key_restrictions block. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictions.property.apiTargets">apiTargets</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsApiTargets">ApikeysKeyRestrictionsApiTargets</a>[]</code> | api_targets block. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictions.property.browserKeyRestrictions">browserKeyRestrictions</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsBrowserKeyRestrictions">ApikeysKeyRestrictionsBrowserKeyRestrictions</a></code> | browser_key_restrictions block. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictions.property.iosKeyRestrictions">iosKeyRestrictions</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsIosKeyRestrictions">ApikeysKeyRestrictionsIosKeyRestrictions</a></code> | ios_key_restrictions block. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictions.property.serverKeyRestrictions">serverKeyRestrictions</a></code> | <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsServerKeyRestrictions">ApikeysKeyRestrictionsServerKeyRestrictions</a></code> | server_key_restrictions block. |

---

##### `androidKeyRestrictions`<sup>Optional</sup> <a name="androidKeyRestrictions" id="@dschmidt/provider-google.ApikeysKeyRestrictions.property.androidKeyRestrictions"></a>

```typescript
public readonly androidKeyRestrictions: ApikeysKeyRestrictionsAndroidKeyRestrictions;
```

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictions">ApikeysKeyRestrictionsAndroidKeyRestrictions</a>

android_key_restrictions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#android_key_restrictions ApikeysKey#android_key_restrictions}

---

##### `apiTargets`<sup>Optional</sup> <a name="apiTargets" id="@dschmidt/provider-google.ApikeysKeyRestrictions.property.apiTargets"></a>

```typescript
public readonly apiTargets: IResolvable | ApikeysKeyRestrictionsApiTargets[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsApiTargets">ApikeysKeyRestrictionsApiTargets</a>[]

api_targets block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#api_targets ApikeysKey#api_targets}

---

##### `browserKeyRestrictions`<sup>Optional</sup> <a name="browserKeyRestrictions" id="@dschmidt/provider-google.ApikeysKeyRestrictions.property.browserKeyRestrictions"></a>

```typescript
public readonly browserKeyRestrictions: ApikeysKeyRestrictionsBrowserKeyRestrictions;
```

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsBrowserKeyRestrictions">ApikeysKeyRestrictionsBrowserKeyRestrictions</a>

browser_key_restrictions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#browser_key_restrictions ApikeysKey#browser_key_restrictions}

---

##### `iosKeyRestrictions`<sup>Optional</sup> <a name="iosKeyRestrictions" id="@dschmidt/provider-google.ApikeysKeyRestrictions.property.iosKeyRestrictions"></a>

```typescript
public readonly iosKeyRestrictions: ApikeysKeyRestrictionsIosKeyRestrictions;
```

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsIosKeyRestrictions">ApikeysKeyRestrictionsIosKeyRestrictions</a>

ios_key_restrictions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#ios_key_restrictions ApikeysKey#ios_key_restrictions}

---

##### `serverKeyRestrictions`<sup>Optional</sup> <a name="serverKeyRestrictions" id="@dschmidt/provider-google.ApikeysKeyRestrictions.property.serverKeyRestrictions"></a>

```typescript
public readonly serverKeyRestrictions: ApikeysKeyRestrictionsServerKeyRestrictions;
```

- *Type:* <a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsServerKeyRestrictions">ApikeysKeyRestrictionsServerKeyRestrictions</a>

server_key_restrictions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#server_key_restrictions ApikeysKey#server_key_restrictions}

---

### ApikeysKeyRestrictionsAndroidKeyRestrictions <a name="ApikeysKeyRestrictionsAndroidKeyRestrictions" id="@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictions.Initializer"></a>

```typescript
import { ApikeysKeyRestrictionsAndroidKeyRestrictions } from '@dschmidt/provider-google'

const apikeysKeyRestrictionsAndroidKeyRestrictions: ApikeysKeyRestrictionsAndroidKeyRestrictions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictions.property.allowedApplications">allowedApplications</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications">ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications</a>[]</code> | allowed_applications block. |

---

##### `allowedApplications`<sup>Required</sup> <a name="allowedApplications" id="@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictions.property.allowedApplications"></a>

```typescript
public readonly allowedApplications: IResolvable | ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications">ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications</a>[]

allowed_applications block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#allowed_applications ApikeysKey#allowed_applications}

---

### ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications <a name="ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications" id="@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications.Initializer"></a>

```typescript
import { ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications } from '@dschmidt/provider-google'

const apikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications: ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications.property.packageName">packageName</a></code> | <code>string</code> | The package name of the application. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications.property.sha1Fingerprint">sha1Fingerprint</a></code> | <code>string</code> | The SHA1 fingerprint of the application. |

---

##### `packageName`<sup>Required</sup> <a name="packageName" id="@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications.property.packageName"></a>

```typescript
public readonly packageName: string;
```

- *Type:* string

The package name of the application.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#package_name ApikeysKey#package_name}

---

##### `sha1Fingerprint`<sup>Required</sup> <a name="sha1Fingerprint" id="@dschmidt/provider-google.ApikeysKeyRestrictionsAndroidKeyRestrictionsAllowedApplications.property.sha1Fingerprint"></a>

```typescript
public readonly sha1Fingerprint: string;
```

- *Type:* string

The SHA1 fingerprint of the application.

For example, both sha1 formats are acceptable : DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. Output format is the latter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#sha1_fingerprint ApikeysKey#sha1_fingerprint}

---

### ApikeysKeyRestrictionsApiTargets <a name="ApikeysKeyRestrictionsApiTargets" id="@dschmidt/provider-google.ApikeysKeyRestrictionsApiTargets"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApikeysKeyRestrictionsApiTargets.Initializer"></a>

```typescript
import { ApikeysKeyRestrictionsApiTargets } from '@dschmidt/provider-google'

const apikeysKeyRestrictionsApiTargets: ApikeysKeyRestrictionsApiTargets = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsApiTargets.property.service">service</a></code> | <code>string</code> | The service for this restriction. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsApiTargets.property.methods">methods</a></code> | <code>string[]</code> | Optional. |

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ApikeysKeyRestrictionsApiTargets.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

The service for this restriction.

It should be the canonical service name, for example: `translate.googleapis.com`. You can use `gcloud services list` to get a list of services that are enabled in the project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#service ApikeysKey#service}

---

##### `methods`<sup>Optional</sup> <a name="methods" id="@dschmidt/provider-google.ApikeysKeyRestrictionsApiTargets.property.methods"></a>

```typescript
public readonly methods: string[];
```

- *Type:* string[]

Optional.

List of one or more methods that can be called. If empty, all methods for the service are allowed. A wildcard (*) can be used as the last symbol. Valid examples: `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` `TranslateText` `Get*` `translate.googleapis.com.Get*`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#methods ApikeysKey#methods}

---

### ApikeysKeyRestrictionsBrowserKeyRestrictions <a name="ApikeysKeyRestrictionsBrowserKeyRestrictions" id="@dschmidt/provider-google.ApikeysKeyRestrictionsBrowserKeyRestrictions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApikeysKeyRestrictionsBrowserKeyRestrictions.Initializer"></a>

```typescript
import { ApikeysKeyRestrictionsBrowserKeyRestrictions } from '@dschmidt/provider-google'

const apikeysKeyRestrictionsBrowserKeyRestrictions: ApikeysKeyRestrictionsBrowserKeyRestrictions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsBrowserKeyRestrictions.property.allowedReferrers">allowedReferrers</a></code> | <code>string[]</code> | A list of regular expressions for the referrer URLs that are allowed to make API calls with this key. |

---

##### `allowedReferrers`<sup>Required</sup> <a name="allowedReferrers" id="@dschmidt/provider-google.ApikeysKeyRestrictionsBrowserKeyRestrictions.property.allowedReferrers"></a>

```typescript
public readonly allowedReferrers: string[];
```

- *Type:* string[]

A list of regular expressions for the referrer URLs that are allowed to make API calls with this key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#allowed_referrers ApikeysKey#allowed_referrers}

---

### ApikeysKeyRestrictionsIosKeyRestrictions <a name="ApikeysKeyRestrictionsIosKeyRestrictions" id="@dschmidt/provider-google.ApikeysKeyRestrictionsIosKeyRestrictions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApikeysKeyRestrictionsIosKeyRestrictions.Initializer"></a>

```typescript
import { ApikeysKeyRestrictionsIosKeyRestrictions } from '@dschmidt/provider-google'

const apikeysKeyRestrictionsIosKeyRestrictions: ApikeysKeyRestrictionsIosKeyRestrictions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsIosKeyRestrictions.property.allowedBundleIds">allowedBundleIds</a></code> | <code>string[]</code> | A list of bundle IDs that are allowed when making API calls with this key. |

---

##### `allowedBundleIds`<sup>Required</sup> <a name="allowedBundleIds" id="@dschmidt/provider-google.ApikeysKeyRestrictionsIosKeyRestrictions.property.allowedBundleIds"></a>

```typescript
public readonly allowedBundleIds: string[];
```

- *Type:* string[]

A list of bundle IDs that are allowed when making API calls with this key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#allowed_bundle_ids ApikeysKey#allowed_bundle_ids}

---

### ApikeysKeyRestrictionsServerKeyRestrictions <a name="ApikeysKeyRestrictionsServerKeyRestrictions" id="@dschmidt/provider-google.ApikeysKeyRestrictionsServerKeyRestrictions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApikeysKeyRestrictionsServerKeyRestrictions.Initializer"></a>

```typescript
import { ApikeysKeyRestrictionsServerKeyRestrictions } from '@dschmidt/provider-google'

const apikeysKeyRestrictionsServerKeyRestrictions: ApikeysKeyRestrictionsServerKeyRestrictions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyRestrictionsServerKeyRestrictions.property.allowedIps">allowedIps</a></code> | <code>string[]</code> | A list of the caller IP addresses that are allowed to make API calls with this key. |

---

##### `allowedIps`<sup>Required</sup> <a name="allowedIps" id="@dschmidt/provider-google.ApikeysKeyRestrictionsServerKeyRestrictions.property.allowedIps"></a>

```typescript
public readonly allowedIps: string[];
```

- *Type:* string[]

A list of the caller IP addresses that are allowed to make API calls with this key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#allowed_ips ApikeysKey#allowed_ips}

---

### ApikeysKeyTimeouts <a name="ApikeysKeyTimeouts" id="@dschmidt/provider-google.ApikeysKeyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ApikeysKeyTimeouts.Initializer"></a>

```typescript
import { ApikeysKeyTimeouts } from '@dschmidt/provider-google'

const apikeysKeyTimeouts: ApikeysKeyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#create ApikeysKey#create}. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#delete ApikeysKey#delete}. |
| <code><a href="#@dschmidt/provider-google.ApikeysKeyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#update ApikeysKey#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ApikeysKeyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#create ApikeysKey#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ApikeysKeyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#delete ApikeysKey#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ApikeysKeyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/apikeys_key#update ApikeysKey#update}.

---

### AppEngineApplicationConfig <a name="AppEngineApplicationConfig" id="@dschmidt/provider-google.AppEngineApplicationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineApplicationConfig.Initializer"></a>

```typescript
import { AppEngineApplicationConfig } from '@dschmidt/provider-google'

const appEngineApplicationConfig: AppEngineApplicationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.locationId">locationId</a></code> | <code>string</code> | The location to serve the app from. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.authDomain">authDomain</a></code> | <code>string</code> | The domain to authenticate users with when using App Engine's User API. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.databaseType">databaseType</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#database_type AppEngineApplication#database_type}. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.featureSettings">featureSettings</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationFeatureSettings">AppEngineApplicationFeatureSettings</a></code> | feature_settings block. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.iap">iap</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationIap">AppEngineApplicationIap</a></code> | iap block. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#id AppEngineApplication#id}. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.project">project</a></code> | <code>string</code> | The project ID to create the application under. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.servingStatus">servingStatus</a></code> | <code>string</code> | The serving status of the app. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationTimeouts">AppEngineApplicationTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `locationId`<sup>Required</sup> <a name="locationId" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.locationId"></a>

```typescript
public readonly locationId: string;
```

- *Type:* string

The location to serve the app from.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#location_id AppEngineApplication#location_id}

---

##### `authDomain`<sup>Optional</sup> <a name="authDomain" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.authDomain"></a>

```typescript
public readonly authDomain: string;
```

- *Type:* string

The domain to authenticate users with when using App Engine's User API.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#auth_domain AppEngineApplication#auth_domain}

---

##### `databaseType`<sup>Optional</sup> <a name="databaseType" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.databaseType"></a>

```typescript
public readonly databaseType: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#database_type AppEngineApplication#database_type}.

---

##### `featureSettings`<sup>Optional</sup> <a name="featureSettings" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.featureSettings"></a>

```typescript
public readonly featureSettings: AppEngineApplicationFeatureSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationFeatureSettings">AppEngineApplicationFeatureSettings</a>

feature_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#feature_settings AppEngineApplication#feature_settings}

---

##### `iap`<sup>Optional</sup> <a name="iap" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.iap"></a>

```typescript
public readonly iap: AppEngineApplicationIap;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationIap">AppEngineApplicationIap</a>

iap block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#iap AppEngineApplication#iap}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#id AppEngineApplication#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project ID to create the application under.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#project AppEngineApplication#project}

---

##### `servingStatus`<sup>Optional</sup> <a name="servingStatus" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.servingStatus"></a>

```typescript
public readonly servingStatus: string;
```

- *Type:* string

The serving status of the app.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#serving_status AppEngineApplication#serving_status}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineApplicationConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineApplicationTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationTimeouts">AppEngineApplicationTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#timeouts AppEngineApplication#timeouts}

---

### AppEngineApplicationFeatureSettings <a name="AppEngineApplicationFeatureSettings" id="@dschmidt/provider-google.AppEngineApplicationFeatureSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineApplicationFeatureSettings.Initializer"></a>

```typescript
import { AppEngineApplicationFeatureSettings } from '@dschmidt/provider-google'

const appEngineApplicationFeatureSettings: AppEngineApplicationFeatureSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationFeatureSettings.property.splitHealthChecks">splitHealthChecks</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#split_health_checks AppEngineApplication#split_health_checks}. |

---

##### `splitHealthChecks`<sup>Required</sup> <a name="splitHealthChecks" id="@dschmidt/provider-google.AppEngineApplicationFeatureSettings.property.splitHealthChecks"></a>

```typescript
public readonly splitHealthChecks: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#split_health_checks AppEngineApplication#split_health_checks}.

---

### AppEngineApplicationIap <a name="AppEngineApplicationIap" id="@dschmidt/provider-google.AppEngineApplicationIap"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineApplicationIap.Initializer"></a>

```typescript
import { AppEngineApplicationIap } from '@dschmidt/provider-google'

const appEngineApplicationIap: AppEngineApplicationIap = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationIap.property.oauth2ClientId">oauth2ClientId</a></code> | <code>string</code> | OAuth2 client ID to use for the authentication flow. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationIap.property.oauth2ClientSecret">oauth2ClientSecret</a></code> | <code>string</code> | OAuth2 client secret to use for the authentication flow. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationIap.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Adapted for use with the app. |

---

##### `oauth2ClientId`<sup>Required</sup> <a name="oauth2ClientId" id="@dschmidt/provider-google.AppEngineApplicationIap.property.oauth2ClientId"></a>

```typescript
public readonly oauth2ClientId: string;
```

- *Type:* string

OAuth2 client ID to use for the authentication flow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#oauth2_client_id AppEngineApplication#oauth2_client_id}

---

##### `oauth2ClientSecret`<sup>Required</sup> <a name="oauth2ClientSecret" id="@dschmidt/provider-google.AppEngineApplicationIap.property.oauth2ClientSecret"></a>

```typescript
public readonly oauth2ClientSecret: string;
```

- *Type:* string

OAuth2 client secret to use for the authentication flow.

The SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#oauth2_client_secret AppEngineApplication#oauth2_client_secret}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.AppEngineApplicationIap.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Adapted for use with the app.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#enabled AppEngineApplication#enabled}

---

### AppEngineApplicationTimeouts <a name="AppEngineApplicationTimeouts" id="@dschmidt/provider-google.AppEngineApplicationTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineApplicationTimeouts.Initializer"></a>

```typescript
import { AppEngineApplicationTimeouts } from '@dschmidt/provider-google'

const appEngineApplicationTimeouts: AppEngineApplicationTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#create AppEngineApplication#create}. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#update AppEngineApplication#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AppEngineApplicationTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#create AppEngineApplication#create}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AppEngineApplicationTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application#update AppEngineApplication#update}.

---

### AppEngineApplicationUrlDispatchRule <a name="AppEngineApplicationUrlDispatchRule" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRule.Initializer"></a>

```typescript
import { AppEngineApplicationUrlDispatchRule } from '@dschmidt/provider-google'

const appEngineApplicationUrlDispatchRule: AppEngineApplicationUrlDispatchRule = { ... }
```


### AppEngineApplicationUrlDispatchRulesConfig <a name="AppEngineApplicationUrlDispatchRulesConfig" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.Initializer"></a>

```typescript
import { AppEngineApplicationUrlDispatchRulesConfig } from '@dschmidt/provider-google'

const appEngineApplicationUrlDispatchRulesConfig: AppEngineApplicationUrlDispatchRulesConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.dispatchRules">dispatchRules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules">AppEngineApplicationUrlDispatchRulesDispatchRules</a>[]</code> | dispatch_rules block. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#id AppEngineApplicationUrlDispatchRules#id}. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#project AppEngineApplicationUrlDispatchRules#project}. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts">AppEngineApplicationUrlDispatchRulesTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dispatchRules`<sup>Required</sup> <a name="dispatchRules" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.dispatchRules"></a>

```typescript
public readonly dispatchRules: IResolvable | AppEngineApplicationUrlDispatchRulesDispatchRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules">AppEngineApplicationUrlDispatchRulesDispatchRules</a>[]

dispatch_rules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#dispatch_rules AppEngineApplicationUrlDispatchRules#dispatch_rules}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#id AppEngineApplicationUrlDispatchRules#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#project AppEngineApplicationUrlDispatchRules#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineApplicationUrlDispatchRulesTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts">AppEngineApplicationUrlDispatchRulesTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#timeouts AppEngineApplicationUrlDispatchRules#timeouts}

---

### AppEngineApplicationUrlDispatchRulesDispatchRules <a name="AppEngineApplicationUrlDispatchRulesDispatchRules" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules.Initializer"></a>

```typescript
import { AppEngineApplicationUrlDispatchRulesDispatchRules } from '@dschmidt/provider-google'

const appEngineApplicationUrlDispatchRulesDispatchRules: AppEngineApplicationUrlDispatchRulesDispatchRules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules.property.path">path</a></code> | <code>string</code> | Pathname within the host. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules.property.service">service</a></code> | <code>string</code> | Pathname within the host. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules.property.domain">domain</a></code> | <code>string</code> | Domain name to match against. |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Pathname within the host.

Must start with a "/". A single "*" can be included at the end of the path.
The sum of the lengths of the domain and path may not exceed 100 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#path AppEngineApplicationUrlDispatchRules#path}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Pathname within the host.

Must start with a "/". A single "*" can be included at the end of the path.
The sum of the lengths of the domain and path may not exceed 100 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#service AppEngineApplicationUrlDispatchRules#service}

---

##### `domain`<sup>Optional</sup> <a name="domain" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesDispatchRules.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

Domain name to match against.

The wildcard "*" is supported if specified before a period: "*.".
Defaults to matching all domains: "*".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#domain AppEngineApplicationUrlDispatchRules#domain}

---

### AppEngineApplicationUrlDispatchRulesTimeouts <a name="AppEngineApplicationUrlDispatchRulesTimeouts" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts.Initializer"></a>

```typescript
import { AppEngineApplicationUrlDispatchRulesTimeouts } from '@dschmidt/provider-google'

const appEngineApplicationUrlDispatchRulesTimeouts: AppEngineApplicationUrlDispatchRulesTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#create AppEngineApplicationUrlDispatchRules#create}. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#delete AppEngineApplicationUrlDispatchRules#delete}. |
| <code><a href="#@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#update AppEngineApplicationUrlDispatchRules#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#create AppEngineApplicationUrlDispatchRules#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#delete AppEngineApplicationUrlDispatchRules#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AppEngineApplicationUrlDispatchRulesTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_application_url_dispatch_rules#update AppEngineApplicationUrlDispatchRules#update}.

---

### AppEngineDomainMappingConfig <a name="AppEngineDomainMappingConfig" id="@dschmidt/provider-google.AppEngineDomainMappingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.Initializer"></a>

```typescript
import { AppEngineDomainMappingConfig } from '@dschmidt/provider-google'

const appEngineDomainMappingConfig: AppEngineDomainMappingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.domainName">domainName</a></code> | <code>string</code> | Relative name of the domain serving the application. Example: example.com. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#id AppEngineDomainMapping#id}. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.overrideStrategy">overrideStrategy</a></code> | <code>string</code> | Whether the domain creation should override any existing mappings for this domain. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#project AppEngineDomainMapping#project}. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.sslSettings">sslSettings</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingSslSettings">AppEngineDomainMappingSslSettings</a></code> | ssl_settings block. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeouts">AppEngineDomainMappingTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `domainName`<sup>Required</sup> <a name="domainName" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.domainName"></a>

```typescript
public readonly domainName: string;
```

- *Type:* string

Relative name of the domain serving the application. Example: example.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#domain_name AppEngineDomainMapping#domain_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#id AppEngineDomainMapping#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `overrideStrategy`<sup>Optional</sup> <a name="overrideStrategy" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.overrideStrategy"></a>

```typescript
public readonly overrideStrategy: string;
```

- *Type:* string

Whether the domain creation should override any existing mappings for this domain.

By default, overrides are rejected. Default value: "STRICT" Possible values: ["STRICT", "OVERRIDE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#override_strategy AppEngineDomainMapping#override_strategy}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#project AppEngineDomainMapping#project}.

---

##### `sslSettings`<sup>Optional</sup> <a name="sslSettings" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.sslSettings"></a>

```typescript
public readonly sslSettings: AppEngineDomainMappingSslSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineDomainMappingSslSettings">AppEngineDomainMappingSslSettings</a>

ssl_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#ssl_settings AppEngineDomainMapping#ssl_settings}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineDomainMappingConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineDomainMappingTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeouts">AppEngineDomainMappingTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#timeouts AppEngineDomainMapping#timeouts}

---

### AppEngineDomainMappingResourceRecords <a name="AppEngineDomainMappingResourceRecords" id="@dschmidt/provider-google.AppEngineDomainMappingResourceRecords"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineDomainMappingResourceRecords.Initializer"></a>

```typescript
import { AppEngineDomainMappingResourceRecords } from '@dschmidt/provider-google'

const appEngineDomainMappingResourceRecords: AppEngineDomainMappingResourceRecords = { ... }
```


### AppEngineDomainMappingSslSettings <a name="AppEngineDomainMappingSslSettings" id="@dschmidt/provider-google.AppEngineDomainMappingSslSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineDomainMappingSslSettings.Initializer"></a>

```typescript
import { AppEngineDomainMappingSslSettings } from '@dschmidt/provider-google'

const appEngineDomainMappingSslSettings: AppEngineDomainMappingSslSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingSslSettings.property.sslManagementType">sslManagementType</a></code> | <code>string</code> | SSL management type for this domain. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingSslSettings.property.certificateId">certificateId</a></code> | <code>string</code> | ID of the AuthorizedCertificate resource configuring SSL for the application. |

---

##### `sslManagementType`<sup>Required</sup> <a name="sslManagementType" id="@dschmidt/provider-google.AppEngineDomainMappingSslSettings.property.sslManagementType"></a>

```typescript
public readonly sslManagementType: string;
```

- *Type:* string

SSL management type for this domain.

If 'AUTOMATIC', a managed certificate is automatically provisioned.
If 'MANUAL', 'certificateId' must be manually specified in order to configure SSL for this domain. Possible values: ["AUTOMATIC", "MANUAL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#ssl_management_type AppEngineDomainMapping#ssl_management_type}

---

##### `certificateId`<sup>Optional</sup> <a name="certificateId" id="@dschmidt/provider-google.AppEngineDomainMappingSslSettings.property.certificateId"></a>

```typescript
public readonly certificateId: string;
```

- *Type:* string

ID of the AuthorizedCertificate resource configuring SSL for the application.

Clearing this field will
remove SSL support.
By default, a managed certificate is automatically created for every domain mapping. To omit SSL support
or to configure SSL manually, specify 'SslManagementType.MANUAL' on a 'CREATE' or 'UPDATE' request. You must be
authorized to administer the 'AuthorizedCertificate' resource to manually map it to a DomainMapping resource.
Example: 12345.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#certificate_id AppEngineDomainMapping#certificate_id}

---

### AppEngineDomainMappingTimeouts <a name="AppEngineDomainMappingTimeouts" id="@dschmidt/provider-google.AppEngineDomainMappingTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineDomainMappingTimeouts.Initializer"></a>

```typescript
import { AppEngineDomainMappingTimeouts } from '@dschmidt/provider-google'

const appEngineDomainMappingTimeouts: AppEngineDomainMappingTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#create AppEngineDomainMapping#create}. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#delete AppEngineDomainMapping#delete}. |
| <code><a href="#@dschmidt/provider-google.AppEngineDomainMappingTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#update AppEngineDomainMapping#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AppEngineDomainMappingTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#create AppEngineDomainMapping#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AppEngineDomainMappingTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#delete AppEngineDomainMapping#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AppEngineDomainMappingTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_domain_mapping#update AppEngineDomainMapping#update}.

---

### AppEngineFirewallRuleConfig <a name="AppEngineFirewallRuleConfig" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.Initializer"></a>

```typescript
import { AppEngineFirewallRuleConfig } from '@dschmidt/provider-google'

const appEngineFirewallRuleConfig: AppEngineFirewallRuleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.action">action</a></code> | <code>string</code> | The action to take if this rule matches. Possible values: ["UNSPECIFIED_ACTION", "ALLOW", "DENY"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.sourceRange">sourceRange</a></code> | <code>string</code> | IP address or range, defined using CIDR notation, of requests that this rule applies to. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.description">description</a></code> | <code>string</code> | An optional string description of this rule. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#id AppEngineFirewallRule#id}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.priority">priority</a></code> | <code>number</code> | A positive integer that defines the order of rule evaluation. Rules with the lowest priority are evaluated first. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#project AppEngineFirewallRule#project}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeouts">AppEngineFirewallRuleTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `action`<sup>Required</sup> <a name="action" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

The action to take if this rule matches. Possible values: ["UNSPECIFIED_ACTION", "ALLOW", "DENY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#action AppEngineFirewallRule#action}

---

##### `sourceRange`<sup>Required</sup> <a name="sourceRange" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.sourceRange"></a>

```typescript
public readonly sourceRange: string;
```

- *Type:* string

IP address or range, defined using CIDR notation, of requests that this rule applies to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#source_range AppEngineFirewallRule#source_range}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional string description of this rule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#description AppEngineFirewallRule#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#id AppEngineFirewallRule#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `priority`<sup>Optional</sup> <a name="priority" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

A positive integer that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.

A default rule at priority Int32.MaxValue matches all IPv4 and
IPv6 traffic when no previous rule matches. Only the action of
this rule can be modified by the user.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#priority AppEngineFirewallRule#priority}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#project AppEngineFirewallRule#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineFirewallRuleConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineFirewallRuleTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeouts">AppEngineFirewallRuleTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#timeouts AppEngineFirewallRule#timeouts}

---

### AppEngineFirewallRuleTimeouts <a name="AppEngineFirewallRuleTimeouts" id="@dschmidt/provider-google.AppEngineFirewallRuleTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFirewallRuleTimeouts.Initializer"></a>

```typescript
import { AppEngineFirewallRuleTimeouts } from '@dschmidt/provider-google'

const appEngineFirewallRuleTimeouts: AppEngineFirewallRuleTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#create AppEngineFirewallRule#create}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#delete AppEngineFirewallRule#delete}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFirewallRuleTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#update AppEngineFirewallRule#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AppEngineFirewallRuleTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#create AppEngineFirewallRule#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AppEngineFirewallRuleTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#delete AppEngineFirewallRule#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AppEngineFirewallRuleTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_firewall_rule#update AppEngineFirewallRule#update}.

---

### AppEngineFlexibleAppVersionApiConfig <a name="AppEngineFlexibleAppVersionApiConfig" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionApiConfig } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionApiConfig: AppEngineFlexibleAppVersionApiConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.script">script</a></code> | <code>string</code> | Path to the script from the application root directory. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.authFailAction">authFailAction</a></code> | <code>string</code> | Action to take when users access resources that require authentication. Default value: "AUTH_FAIL_ACTION_REDIRECT" Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.login">login</a></code> | <code>string</code> | Level of login required to access this resource. Default value: "LOGIN_OPTIONAL" Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.securityLevel">securityLevel</a></code> | <code>string</code> | Security (HTTPS) enforcement for this URL. Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.url">url</a></code> | <code>string</code> | URL to serve the endpoint at. |

---

##### `script`<sup>Required</sup> <a name="script" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.script"></a>

```typescript
public readonly script: string;
```

- *Type:* string

Path to the script from the application root directory.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#script AppEngineFlexibleAppVersion#script}

---

##### `authFailAction`<sup>Optional</sup> <a name="authFailAction" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.authFailAction"></a>

```typescript
public readonly authFailAction: string;
```

- *Type:* string

Action to take when users access resources that require authentication. Default value: "AUTH_FAIL_ACTION_REDIRECT" Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#auth_fail_action AppEngineFlexibleAppVersion#auth_fail_action}

---

##### `login`<sup>Optional</sup> <a name="login" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.login"></a>

```typescript
public readonly login: string;
```

- *Type:* string

Level of login required to access this resource. Default value: "LOGIN_OPTIONAL" Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#login AppEngineFlexibleAppVersion#login}

---

##### `securityLevel`<sup>Optional</sup> <a name="securityLevel" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.securityLevel"></a>

```typescript
public readonly securityLevel: string;
```

- *Type:* string

Security (HTTPS) enforcement for this URL. Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#security_level AppEngineFlexibleAppVersion#security_level}

---

##### `url`<sup>Optional</sup> <a name="url" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

URL to serve the endpoint at.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#url AppEngineFlexibleAppVersion#url}

---

### AppEngineFlexibleAppVersionAutomaticScaling <a name="AppEngineFlexibleAppVersionAutomaticScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionAutomaticScaling } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionAutomaticScaling: AppEngineFlexibleAppVersionAutomaticScaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.cpuUtilization">cpuUtilization</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization">AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization</a></code> | cpu_utilization block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.coolDownPeriod">coolDownPeriod</a></code> | <code>string</code> | The time period that the Autoscaler should wait before it starts collecting information from a new instance. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.diskUtilization">diskUtilization</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization">AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization</a></code> | disk_utilization block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.maxConcurrentRequests">maxConcurrentRequests</a></code> | <code>number</code> | Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.maxIdleInstances">maxIdleInstances</a></code> | <code>number</code> | Maximum number of idle instances that should be maintained for this version. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.maxPendingLatency">maxPendingLatency</a></code> | <code>string</code> | Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.maxTotalInstances">maxTotalInstances</a></code> | <code>number</code> | Maximum number of instances that should be started to handle requests for this version. Default: 20. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.minIdleInstances">minIdleInstances</a></code> | <code>number</code> | Minimum number of idle instances that should be maintained for this version. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.minPendingLatency">minPendingLatency</a></code> | <code>string</code> | Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.minTotalInstances">minTotalInstances</a></code> | <code>number</code> | Minimum number of running instances that should be maintained for this version. Default: 2. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.networkUtilization">networkUtilization</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization">AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization</a></code> | network_utilization block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.requestUtilization">requestUtilization</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization">AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization</a></code> | request_utilization block. |

---

##### `cpuUtilization`<sup>Required</sup> <a name="cpuUtilization" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.cpuUtilization"></a>

```typescript
public readonly cpuUtilization: AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization">AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization</a>

cpu_utilization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#cpu_utilization AppEngineFlexibleAppVersion#cpu_utilization}

---

##### `coolDownPeriod`<sup>Optional</sup> <a name="coolDownPeriod" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.coolDownPeriod"></a>

```typescript
public readonly coolDownPeriod: string;
```

- *Type:* string

The time period that the Autoscaler should wait before it starts collecting information from a new instance.

This prevents the autoscaler from collecting information when the instance is initializing,
during which the collected usage would not be reliable. Default: 120s

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#cool_down_period AppEngineFlexibleAppVersion#cool_down_period}

---

##### `diskUtilization`<sup>Optional</sup> <a name="diskUtilization" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.diskUtilization"></a>

```typescript
public readonly diskUtilization: AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization">AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization</a>

disk_utilization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#disk_utilization AppEngineFlexibleAppVersion#disk_utilization}

---

##### `maxConcurrentRequests`<sup>Optional</sup> <a name="maxConcurrentRequests" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.maxConcurrentRequests"></a>

```typescript
public readonly maxConcurrentRequests: number;
```

- *Type:* number

Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.

Defaults to a runtime-specific value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#max_concurrent_requests AppEngineFlexibleAppVersion#max_concurrent_requests}

---

##### `maxIdleInstances`<sup>Optional</sup> <a name="maxIdleInstances" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.maxIdleInstances"></a>

```typescript
public readonly maxIdleInstances: number;
```

- *Type:* number

Maximum number of idle instances that should be maintained for this version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#max_idle_instances AppEngineFlexibleAppVersion#max_idle_instances}

---

##### `maxPendingLatency`<sup>Optional</sup> <a name="maxPendingLatency" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.maxPendingLatency"></a>

```typescript
public readonly maxPendingLatency: string;
```

- *Type:* string

Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#max_pending_latency AppEngineFlexibleAppVersion#max_pending_latency}

---

##### `maxTotalInstances`<sup>Optional</sup> <a name="maxTotalInstances" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.maxTotalInstances"></a>

```typescript
public readonly maxTotalInstances: number;
```

- *Type:* number

Maximum number of instances that should be started to handle requests for this version. Default: 20.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#max_total_instances AppEngineFlexibleAppVersion#max_total_instances}

---

##### `minIdleInstances`<sup>Optional</sup> <a name="minIdleInstances" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.minIdleInstances"></a>

```typescript
public readonly minIdleInstances: number;
```

- *Type:* number

Minimum number of idle instances that should be maintained for this version.

Only applicable for the default version of a service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#min_idle_instances AppEngineFlexibleAppVersion#min_idle_instances}

---

##### `minPendingLatency`<sup>Optional</sup> <a name="minPendingLatency" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.minPendingLatency"></a>

```typescript
public readonly minPendingLatency: string;
```

- *Type:* string

Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#min_pending_latency AppEngineFlexibleAppVersion#min_pending_latency}

---

##### `minTotalInstances`<sup>Optional</sup> <a name="minTotalInstances" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.minTotalInstances"></a>

```typescript
public readonly minTotalInstances: number;
```

- *Type:* number

Minimum number of running instances that should be maintained for this version. Default: 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#min_total_instances AppEngineFlexibleAppVersion#min_total_instances}

---

##### `networkUtilization`<sup>Optional</sup> <a name="networkUtilization" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.networkUtilization"></a>

```typescript
public readonly networkUtilization: AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization">AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization</a>

network_utilization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#network_utilization AppEngineFlexibleAppVersion#network_utilization}

---

##### `requestUtilization`<sup>Optional</sup> <a name="requestUtilization" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling.property.requestUtilization"></a>

```typescript
public readonly requestUtilization: AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization">AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization</a>

request_utilization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#request_utilization AppEngineFlexibleAppVersion#request_utilization}

---

### AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization <a name="AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionAutomaticScalingCpuUtilization: AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization.property.targetUtilization">targetUtilization</a></code> | <code>number</code> | Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization.property.aggregationWindowLength">aggregationWindowLength</a></code> | <code>string</code> | Period of time over which CPU utilization is calculated. |

---

##### `targetUtilization`<sup>Required</sup> <a name="targetUtilization" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization.property.targetUtilization"></a>

```typescript
public readonly targetUtilization: number;
```

- *Type:* number

Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_utilization AppEngineFlexibleAppVersion#target_utilization}

---

##### `aggregationWindowLength`<sup>Optional</sup> <a name="aggregationWindowLength" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingCpuUtilization.property.aggregationWindowLength"></a>

```typescript
public readonly aggregationWindowLength: string;
```

- *Type:* string

Period of time over which CPU utilization is calculated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#aggregation_window_length AppEngineFlexibleAppVersion#aggregation_window_length}

---

### AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization <a name="AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionAutomaticScalingDiskUtilization: AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization.property.targetReadBytesPerSecond">targetReadBytesPerSecond</a></code> | <code>number</code> | Target bytes read per second. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization.property.targetReadOpsPerSecond">targetReadOpsPerSecond</a></code> | <code>number</code> | Target ops read per seconds. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization.property.targetWriteBytesPerSecond">targetWriteBytesPerSecond</a></code> | <code>number</code> | Target bytes written per second. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization.property.targetWriteOpsPerSecond">targetWriteOpsPerSecond</a></code> | <code>number</code> | Target ops written per second. |

---

##### `targetReadBytesPerSecond`<sup>Optional</sup> <a name="targetReadBytesPerSecond" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization.property.targetReadBytesPerSecond"></a>

```typescript
public readonly targetReadBytesPerSecond: number;
```

- *Type:* number

Target bytes read per second.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_read_bytes_per_second AppEngineFlexibleAppVersion#target_read_bytes_per_second}

---

##### `targetReadOpsPerSecond`<sup>Optional</sup> <a name="targetReadOpsPerSecond" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization.property.targetReadOpsPerSecond"></a>

```typescript
public readonly targetReadOpsPerSecond: number;
```

- *Type:* number

Target ops read per seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_read_ops_per_second AppEngineFlexibleAppVersion#target_read_ops_per_second}

---

##### `targetWriteBytesPerSecond`<sup>Optional</sup> <a name="targetWriteBytesPerSecond" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization.property.targetWriteBytesPerSecond"></a>

```typescript
public readonly targetWriteBytesPerSecond: number;
```

- *Type:* number

Target bytes written per second.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_write_bytes_per_second AppEngineFlexibleAppVersion#target_write_bytes_per_second}

---

##### `targetWriteOpsPerSecond`<sup>Optional</sup> <a name="targetWriteOpsPerSecond" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingDiskUtilization.property.targetWriteOpsPerSecond"></a>

```typescript
public readonly targetWriteOpsPerSecond: number;
```

- *Type:* number

Target ops written per second.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_write_ops_per_second AppEngineFlexibleAppVersion#target_write_ops_per_second}

---

### AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization <a name="AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionAutomaticScalingNetworkUtilization: AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization.property.targetReceivedBytesPerSecond">targetReceivedBytesPerSecond</a></code> | <code>number</code> | Target bytes received per second. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization.property.targetReceivedPacketsPerSecond">targetReceivedPacketsPerSecond</a></code> | <code>number</code> | Target packets received per second. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization.property.targetSentBytesPerSecond">targetSentBytesPerSecond</a></code> | <code>number</code> | Target bytes sent per second. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization.property.targetSentPacketsPerSecond">targetSentPacketsPerSecond</a></code> | <code>number</code> | Target packets sent per second. |

---

##### `targetReceivedBytesPerSecond`<sup>Optional</sup> <a name="targetReceivedBytesPerSecond" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization.property.targetReceivedBytesPerSecond"></a>

```typescript
public readonly targetReceivedBytesPerSecond: number;
```

- *Type:* number

Target bytes received per second.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_received_bytes_per_second AppEngineFlexibleAppVersion#target_received_bytes_per_second}

---

##### `targetReceivedPacketsPerSecond`<sup>Optional</sup> <a name="targetReceivedPacketsPerSecond" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization.property.targetReceivedPacketsPerSecond"></a>

```typescript
public readonly targetReceivedPacketsPerSecond: number;
```

- *Type:* number

Target packets received per second.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_received_packets_per_second AppEngineFlexibleAppVersion#target_received_packets_per_second}

---

##### `targetSentBytesPerSecond`<sup>Optional</sup> <a name="targetSentBytesPerSecond" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization.property.targetSentBytesPerSecond"></a>

```typescript
public readonly targetSentBytesPerSecond: number;
```

- *Type:* number

Target bytes sent per second.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_sent_bytes_per_second AppEngineFlexibleAppVersion#target_sent_bytes_per_second}

---

##### `targetSentPacketsPerSecond`<sup>Optional</sup> <a name="targetSentPacketsPerSecond" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingNetworkUtilization.property.targetSentPacketsPerSecond"></a>

```typescript
public readonly targetSentPacketsPerSecond: number;
```

- *Type:* number

Target packets sent per second.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_sent_packets_per_second AppEngineFlexibleAppVersion#target_sent_packets_per_second}

---

### AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization <a name="AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionAutomaticScalingRequestUtilization: AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization.property.targetConcurrentRequests">targetConcurrentRequests</a></code> | <code>number</code> | Target number of concurrent requests. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization.property.targetRequestCountPerSecond">targetRequestCountPerSecond</a></code> | <code>string</code> | Target requests per second. |

---

##### `targetConcurrentRequests`<sup>Optional</sup> <a name="targetConcurrentRequests" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization.property.targetConcurrentRequests"></a>

```typescript
public readonly targetConcurrentRequests: number;
```

- *Type:* number

Target number of concurrent requests.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_concurrent_requests AppEngineFlexibleAppVersion#target_concurrent_requests}

---

##### `targetRequestCountPerSecond`<sup>Optional</sup> <a name="targetRequestCountPerSecond" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScalingRequestUtilization.property.targetRequestCountPerSecond"></a>

```typescript
public readonly targetRequestCountPerSecond: string;
```

- *Type:* string

Target requests per second.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#target_request_count_per_second AppEngineFlexibleAppVersion#target_request_count_per_second}

---

### AppEngineFlexibleAppVersionConfig <a name="AppEngineFlexibleAppVersionConfig" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionConfig } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionConfig: AppEngineFlexibleAppVersionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.livenessCheck">livenessCheck</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck">AppEngineFlexibleAppVersionLivenessCheck</a></code> | liveness_check block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.readinessCheck">readinessCheck</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck">AppEngineFlexibleAppVersionReadinessCheck</a></code> | readiness_check block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.runtime">runtime</a></code> | <code>string</code> | Desired runtime. Example python27. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.service">service</a></code> | <code>string</code> | AppEngine service resource. Can contain numbers, letters, and hyphens. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.apiConfig">apiConfig</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig">AppEngineFlexibleAppVersionApiConfig</a></code> | api_config block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.automaticScaling">automaticScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling">AppEngineFlexibleAppVersionAutomaticScaling</a></code> | automatic_scaling block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.betaSettings">betaSettings</a></code> | <code>{[ key: string ]: string}</code> | Metadata settings that are supplied to this version to enable beta runtime features. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.defaultExpiration">defaultExpiration</a></code> | <code>string</code> | Duration that static files should be cached by web proxies and browsers. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.deleteServiceOnDestroy">deleteServiceOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#delete_service_on_destroy AppEngineFlexibleAppVersion#delete_service_on_destroy}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.deployment">deployment</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment">AppEngineFlexibleAppVersionDeployment</a></code> | deployment block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.endpointsApiService">endpointsApiService</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService">AppEngineFlexibleAppVersionEndpointsApiService</a></code> | endpoints_api_service block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.entrypoint">entrypoint</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypoint">AppEngineFlexibleAppVersionEntrypoint</a></code> | entrypoint block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.envVariables">envVariables</a></code> | <code>{[ key: string ]: string}</code> | Environment variables available to the application. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.handlers">handlers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers">AppEngineFlexibleAppVersionHandlers</a>[]</code> | handlers block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#id AppEngineFlexibleAppVersion#id}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.inboundServices">inboundServices</a></code> | <code>string[]</code> | A list of the types of messages that this application is able to receive. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.instanceClass">instanceClass</a></code> | <code>string</code> | Instance class that is used to run this version. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.manualScaling">manualScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScaling">AppEngineFlexibleAppVersionManualScaling</a></code> | manual_scaling block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.network">network</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork">AppEngineFlexibleAppVersionNetwork</a></code> | network block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.nobuildFilesRegex">nobuildFilesRegex</a></code> | <code>string</code> | Files that match this pattern will not be built into this version. Only applicable for Go runtimes. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.noopOnDestroy">noopOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#noop_on_destroy AppEngineFlexibleAppVersion#noop_on_destroy}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#project AppEngineFlexibleAppVersion#project}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.resources">resources</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResources">AppEngineFlexibleAppVersionResources</a></code> | resources block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.runtimeApiVersion">runtimeApiVersion</a></code> | <code>string</code> | The version of the API in the given runtime environment. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.runtimeChannel">runtimeChannel</a></code> | <code>string</code> | The channel of the runtime to use. Only available for some runtimes. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.runtimeMainExecutablePath">runtimeMainExecutablePath</a></code> | <code>string</code> | The path or name of the app's main executable. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.servingStatus">servingStatus</a></code> | <code>string</code> | Current serving status of this version. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts">AppEngineFlexibleAppVersionTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.versionId">versionId</a></code> | <code>string</code> | Relative name of the version within the service. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.vpcAccessConnector">vpcAccessConnector</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnector">AppEngineFlexibleAppVersionVpcAccessConnector</a></code> | vpc_access_connector block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `livenessCheck`<sup>Required</sup> <a name="livenessCheck" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.livenessCheck"></a>

```typescript
public readonly livenessCheck: AppEngineFlexibleAppVersionLivenessCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck">AppEngineFlexibleAppVersionLivenessCheck</a>

liveness_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#liveness_check AppEngineFlexibleAppVersion#liveness_check}

---

##### `readinessCheck`<sup>Required</sup> <a name="readinessCheck" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.readinessCheck"></a>

```typescript
public readonly readinessCheck: AppEngineFlexibleAppVersionReadinessCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck">AppEngineFlexibleAppVersionReadinessCheck</a>

readiness_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#readiness_check AppEngineFlexibleAppVersion#readiness_check}

---

##### `runtime`<sup>Required</sup> <a name="runtime" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.runtime"></a>

```typescript
public readonly runtime: string;
```

- *Type:* string

Desired runtime. Example python27.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#runtime AppEngineFlexibleAppVersion#runtime}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

AppEngine service resource. Can contain numbers, letters, and hyphens.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#service AppEngineFlexibleAppVersion#service}

---

##### `apiConfig`<sup>Optional</sup> <a name="apiConfig" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.apiConfig"></a>

```typescript
public readonly apiConfig: AppEngineFlexibleAppVersionApiConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionApiConfig">AppEngineFlexibleAppVersionApiConfig</a>

api_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#api_config AppEngineFlexibleAppVersion#api_config}

---

##### `automaticScaling`<sup>Optional</sup> <a name="automaticScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.automaticScaling"></a>

```typescript
public readonly automaticScaling: AppEngineFlexibleAppVersionAutomaticScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionAutomaticScaling">AppEngineFlexibleAppVersionAutomaticScaling</a>

automatic_scaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#automatic_scaling AppEngineFlexibleAppVersion#automatic_scaling}

---

##### `betaSettings`<sup>Optional</sup> <a name="betaSettings" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.betaSettings"></a>

```typescript
public readonly betaSettings: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Metadata settings that are supplied to this version to enable beta runtime features.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#beta_settings AppEngineFlexibleAppVersion#beta_settings}

---

##### `defaultExpiration`<sup>Optional</sup> <a name="defaultExpiration" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.defaultExpiration"></a>

```typescript
public readonly defaultExpiration: string;
```

- *Type:* string

Duration that static files should be cached by web proxies and browsers.

Only applicable if the corresponding StaticFilesHandler does not specify its own expiration time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#default_expiration AppEngineFlexibleAppVersion#default_expiration}

---

##### `deleteServiceOnDestroy`<sup>Optional</sup> <a name="deleteServiceOnDestroy" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.deleteServiceOnDestroy"></a>

```typescript
public readonly deleteServiceOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#delete_service_on_destroy AppEngineFlexibleAppVersion#delete_service_on_destroy}.

---

##### `deployment`<sup>Optional</sup> <a name="deployment" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.deployment"></a>

```typescript
public readonly deployment: AppEngineFlexibleAppVersionDeployment;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment">AppEngineFlexibleAppVersionDeployment</a>

deployment block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#deployment AppEngineFlexibleAppVersion#deployment}

---

##### `endpointsApiService`<sup>Optional</sup> <a name="endpointsApiService" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.endpointsApiService"></a>

```typescript
public readonly endpointsApiService: AppEngineFlexibleAppVersionEndpointsApiService;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService">AppEngineFlexibleAppVersionEndpointsApiService</a>

endpoints_api_service block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#endpoints_api_service AppEngineFlexibleAppVersion#endpoints_api_service}

---

##### `entrypoint`<sup>Optional</sup> <a name="entrypoint" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.entrypoint"></a>

```typescript
public readonly entrypoint: AppEngineFlexibleAppVersionEntrypoint;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypoint">AppEngineFlexibleAppVersionEntrypoint</a>

entrypoint block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#entrypoint AppEngineFlexibleAppVersion#entrypoint}

---

##### `envVariables`<sup>Optional</sup> <a name="envVariables" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.envVariables"></a>

```typescript
public readonly envVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Environment variables available to the application.

As these are not returned in the API request, Terraform will not detect any changes made outside of the Terraform config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#env_variables AppEngineFlexibleAppVersion#env_variables}

---

##### `handlers`<sup>Optional</sup> <a name="handlers" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.handlers"></a>

```typescript
public readonly handlers: IResolvable | AppEngineFlexibleAppVersionHandlers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers">AppEngineFlexibleAppVersionHandlers</a>[]

handlers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#handlers AppEngineFlexibleAppVersion#handlers}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#id AppEngineFlexibleAppVersion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `inboundServices`<sup>Optional</sup> <a name="inboundServices" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.inboundServices"></a>

```typescript
public readonly inboundServices: string[];
```

- *Type:* string[]

A list of the types of messages that this application is able to receive.

Possible values: ["INBOUND_SERVICE_MAIL", "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#inbound_services AppEngineFlexibleAppVersion#inbound_services}

---

##### `instanceClass`<sup>Optional</sup> <a name="instanceClass" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.instanceClass"></a>

```typescript
public readonly instanceClass: string;
```

- *Type:* string

Instance class that is used to run this version.

Valid values are
AutomaticScaling: F1, F2, F4, F4_1G
ManualScaling: B1, B2, B4, B8, B4_1G
Defaults to F1 for AutomaticScaling and B1 for ManualScaling.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#instance_class AppEngineFlexibleAppVersion#instance_class}

---

##### `manualScaling`<sup>Optional</sup> <a name="manualScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.manualScaling"></a>

```typescript
public readonly manualScaling: AppEngineFlexibleAppVersionManualScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScaling">AppEngineFlexibleAppVersionManualScaling</a>

manual_scaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#manual_scaling AppEngineFlexibleAppVersion#manual_scaling}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.network"></a>

```typescript
public readonly network: AppEngineFlexibleAppVersionNetwork;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork">AppEngineFlexibleAppVersionNetwork</a>

network block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#network AppEngineFlexibleAppVersion#network}

---

##### `nobuildFilesRegex`<sup>Optional</sup> <a name="nobuildFilesRegex" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.nobuildFilesRegex"></a>

```typescript
public readonly nobuildFilesRegex: string;
```

- *Type:* string

Files that match this pattern will not be built into this version. Only applicable for Go runtimes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#nobuild_files_regex AppEngineFlexibleAppVersion#nobuild_files_regex}

---

##### `noopOnDestroy`<sup>Optional</sup> <a name="noopOnDestroy" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.noopOnDestroy"></a>

```typescript
public readonly noopOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#noop_on_destroy AppEngineFlexibleAppVersion#noop_on_destroy}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#project AppEngineFlexibleAppVersion#project}.

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.resources"></a>

```typescript
public readonly resources: AppEngineFlexibleAppVersionResources;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResources">AppEngineFlexibleAppVersionResources</a>

resources block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#resources AppEngineFlexibleAppVersion#resources}

---

##### `runtimeApiVersion`<sup>Optional</sup> <a name="runtimeApiVersion" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.runtimeApiVersion"></a>

```typescript
public readonly runtimeApiVersion: string;
```

- *Type:* string

The version of the API in the given runtime environment.

Please see the app.yaml reference for valid values at 'https://cloud.google.com/appengine/docs/standard/<language>/config/appref'\
Substitute '<language>' with 'python', 'java', 'php', 'ruby', 'go' or 'nodejs'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#runtime_api_version AppEngineFlexibleAppVersion#runtime_api_version}

---

##### `runtimeChannel`<sup>Optional</sup> <a name="runtimeChannel" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.runtimeChannel"></a>

```typescript
public readonly runtimeChannel: string;
```

- *Type:* string

The channel of the runtime to use. Only available for some runtimes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#runtime_channel AppEngineFlexibleAppVersion#runtime_channel}

---

##### `runtimeMainExecutablePath`<sup>Optional</sup> <a name="runtimeMainExecutablePath" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.runtimeMainExecutablePath"></a>

```typescript
public readonly runtimeMainExecutablePath: string;
```

- *Type:* string

The path or name of the app's main executable.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#runtime_main_executable_path AppEngineFlexibleAppVersion#runtime_main_executable_path}

---

##### `servingStatus`<sup>Optional</sup> <a name="servingStatus" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.servingStatus"></a>

```typescript
public readonly servingStatus: string;
```

- *Type:* string

Current serving status of this version.

Only the versions with a SERVING status create instances and can be billed. Default value: "SERVING" Possible values: ["SERVING", "STOPPED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#serving_status AppEngineFlexibleAppVersion#serving_status}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineFlexibleAppVersionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts">AppEngineFlexibleAppVersionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#timeouts AppEngineFlexibleAppVersion#timeouts}

---

##### `versionId`<sup>Optional</sup> <a name="versionId" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

Relative name of the version within the service.

For example, 'v1'. Version names can contain only lowercase letters, numbers, or hyphens.
Reserved names,"default", "latest", and any name with the prefix "ah-".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#version_id AppEngineFlexibleAppVersion#version_id}

---

##### `vpcAccessConnector`<sup>Optional</sup> <a name="vpcAccessConnector" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionConfig.property.vpcAccessConnector"></a>

```typescript
public readonly vpcAccessConnector: AppEngineFlexibleAppVersionVpcAccessConnector;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnector">AppEngineFlexibleAppVersionVpcAccessConnector</a>

vpc_access_connector block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#vpc_access_connector AppEngineFlexibleAppVersion#vpc_access_connector}

---

### AppEngineFlexibleAppVersionDeployment <a name="AppEngineFlexibleAppVersionDeployment" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionDeployment } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionDeployment: AppEngineFlexibleAppVersionDeployment = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment.property.cloudBuildOptions">cloudBuildOptions</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentCloudBuildOptions">AppEngineFlexibleAppVersionDeploymentCloudBuildOptions</a></code> | cloud_build_options block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment.property.container">container</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentContainer">AppEngineFlexibleAppVersionDeploymentContainer</a></code> | container block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment.property.files">files</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles">AppEngineFlexibleAppVersionDeploymentFiles</a>[]</code> | files block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment.property.zip">zip</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentZip">AppEngineFlexibleAppVersionDeploymentZip</a></code> | zip block. |

---

##### `cloudBuildOptions`<sup>Optional</sup> <a name="cloudBuildOptions" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment.property.cloudBuildOptions"></a>

```typescript
public readonly cloudBuildOptions: AppEngineFlexibleAppVersionDeploymentCloudBuildOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentCloudBuildOptions">AppEngineFlexibleAppVersionDeploymentCloudBuildOptions</a>

cloud_build_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#cloud_build_options AppEngineFlexibleAppVersion#cloud_build_options}

---

##### `container`<sup>Optional</sup> <a name="container" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment.property.container"></a>

```typescript
public readonly container: AppEngineFlexibleAppVersionDeploymentContainer;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentContainer">AppEngineFlexibleAppVersionDeploymentContainer</a>

container block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#container AppEngineFlexibleAppVersion#container}

---

##### `files`<sup>Optional</sup> <a name="files" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment.property.files"></a>

```typescript
public readonly files: IResolvable | AppEngineFlexibleAppVersionDeploymentFiles[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles">AppEngineFlexibleAppVersionDeploymentFiles</a>[]

files block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#files AppEngineFlexibleAppVersion#files}

---

##### `zip`<sup>Optional</sup> <a name="zip" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeployment.property.zip"></a>

```typescript
public readonly zip: AppEngineFlexibleAppVersionDeploymentZip;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentZip">AppEngineFlexibleAppVersionDeploymentZip</a>

zip block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#zip AppEngineFlexibleAppVersion#zip}

---

### AppEngineFlexibleAppVersionDeploymentCloudBuildOptions <a name="AppEngineFlexibleAppVersionDeploymentCloudBuildOptions" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentCloudBuildOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentCloudBuildOptions.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionDeploymentCloudBuildOptions } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionDeploymentCloudBuildOptions: AppEngineFlexibleAppVersionDeploymentCloudBuildOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentCloudBuildOptions.property.appYamlPath">appYamlPath</a></code> | <code>string</code> | Path to the yaml file used in deployment, used to determine runtime configuration details. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentCloudBuildOptions.property.cloudBuildTimeout">cloudBuildTimeout</a></code> | <code>string</code> | The Cloud Build timeout used as part of any dependent builds performed by version creation. Defaults to 10 minutes. |

---

##### `appYamlPath`<sup>Required</sup> <a name="appYamlPath" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentCloudBuildOptions.property.appYamlPath"></a>

```typescript
public readonly appYamlPath: string;
```

- *Type:* string

Path to the yaml file used in deployment, used to determine runtime configuration details.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#app_yaml_path AppEngineFlexibleAppVersion#app_yaml_path}

---

##### `cloudBuildTimeout`<sup>Optional</sup> <a name="cloudBuildTimeout" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentCloudBuildOptions.property.cloudBuildTimeout"></a>

```typescript
public readonly cloudBuildTimeout: string;
```

- *Type:* string

The Cloud Build timeout used as part of any dependent builds performed by version creation. Defaults to 10 minutes.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#cloud_build_timeout AppEngineFlexibleAppVersion#cloud_build_timeout}

---

### AppEngineFlexibleAppVersionDeploymentContainer <a name="AppEngineFlexibleAppVersionDeploymentContainer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentContainer"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentContainer.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionDeploymentContainer } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionDeploymentContainer: AppEngineFlexibleAppVersionDeploymentContainer = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentContainer.property.image">image</a></code> | <code>string</code> | URI to the hosted container image in Google Container Registry. |

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentContainer.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

URI to the hosted container image in Google Container Registry.

The URI must be fully qualified and include a tag or digest.
Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#image AppEngineFlexibleAppVersion#image}

---

### AppEngineFlexibleAppVersionDeploymentFiles <a name="AppEngineFlexibleAppVersionDeploymentFiles" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionDeploymentFiles } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionDeploymentFiles: AppEngineFlexibleAppVersionDeploymentFiles = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#name AppEngineFlexibleAppVersion#name}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles.property.sourceUrl">sourceUrl</a></code> | <code>string</code> | Source URL. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles.property.sha1Sum">sha1Sum</a></code> | <code>string</code> | SHA1 checksum of the file. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#name AppEngineFlexibleAppVersion#name}.

---

##### `sourceUrl`<sup>Required</sup> <a name="sourceUrl" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles.property.sourceUrl"></a>

```typescript
public readonly sourceUrl: string;
```

- *Type:* string

Source URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#source_url AppEngineFlexibleAppVersion#source_url}

---

##### `sha1Sum`<sup>Optional</sup> <a name="sha1Sum" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentFiles.property.sha1Sum"></a>

```typescript
public readonly sha1Sum: string;
```

- *Type:* string

SHA1 checksum of the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#sha1_sum AppEngineFlexibleAppVersion#sha1_sum}

---

### AppEngineFlexibleAppVersionDeploymentZip <a name="AppEngineFlexibleAppVersionDeploymentZip" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentZip"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentZip.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionDeploymentZip } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionDeploymentZip: AppEngineFlexibleAppVersionDeploymentZip = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentZip.property.sourceUrl">sourceUrl</a></code> | <code>string</code> | Source URL. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentZip.property.filesCount">filesCount</a></code> | <code>number</code> | files count. |

---

##### `sourceUrl`<sup>Required</sup> <a name="sourceUrl" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentZip.property.sourceUrl"></a>

```typescript
public readonly sourceUrl: string;
```

- *Type:* string

Source URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#source_url AppEngineFlexibleAppVersion#source_url}

---

##### `filesCount`<sup>Optional</sup> <a name="filesCount" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionDeploymentZip.property.filesCount"></a>

```typescript
public readonly filesCount: number;
```

- *Type:* number

files count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#files_count AppEngineFlexibleAppVersion#files_count}

---

### AppEngineFlexibleAppVersionEndpointsApiService <a name="AppEngineFlexibleAppVersionEndpointsApiService" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionEndpointsApiService } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionEndpointsApiService: AppEngineFlexibleAppVersionEndpointsApiService = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService.property.name">name</a></code> | <code>string</code> | Endpoints service name which is the name of the "service" resource in the Service Management API. For example "myapi.endpoints.myproject.cloud.goog". |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService.property.configId">configId</a></code> | <code>string</code> | Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1". |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService.property.disableTraceSampling">disableTraceSampling</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enable or disable trace sampling. By default, this is set to false for enabled. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService.property.rolloutStrategy">rolloutStrategy</a></code> | <code>string</code> | Endpoints rollout strategy. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Endpoints service name which is the name of the "service" resource in the Service Management API. For example "myapi.endpoints.myproject.cloud.goog".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#name AppEngineFlexibleAppVersion#name}

---

##### `configId`<sup>Optional</sup> <a name="configId" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService.property.configId"></a>

```typescript
public readonly configId: string;
```

- *Type:* string

Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1".

By default, the rollout strategy for Endpoints is "FIXED". This means that Endpoints starts up with a particular configuration ID.
When a new configuration is rolled out, Endpoints must be given the new configuration ID. The configId field is used to give the configuration ID
and is required in this case.

Endpoints also has a rollout strategy called "MANAGED". When using this, Endpoints fetches the latest configuration and does not need
the configuration ID. In this case, configId must be omitted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#config_id AppEngineFlexibleAppVersion#config_id}

---

##### `disableTraceSampling`<sup>Optional</sup> <a name="disableTraceSampling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService.property.disableTraceSampling"></a>

```typescript
public readonly disableTraceSampling: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enable or disable trace sampling. By default, this is set to false for enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#disable_trace_sampling AppEngineFlexibleAppVersion#disable_trace_sampling}

---

##### `rolloutStrategy`<sup>Optional</sup> <a name="rolloutStrategy" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionEndpointsApiService.property.rolloutStrategy"></a>

```typescript
public readonly rolloutStrategy: string;
```

- *Type:* string

Endpoints rollout strategy.

If FIXED, configId must be specified. If MANAGED, configId must be omitted. Default value: "FIXED" Possible values: ["FIXED", "MANAGED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#rollout_strategy AppEngineFlexibleAppVersion#rollout_strategy}

---

### AppEngineFlexibleAppVersionEntrypoint <a name="AppEngineFlexibleAppVersionEntrypoint" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypoint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypoint.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionEntrypoint } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionEntrypoint: AppEngineFlexibleAppVersionEntrypoint = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypoint.property.shell">shell</a></code> | <code>string</code> | The format should be a shell command that can be fed to bash -c. |

---

##### `shell`<sup>Required</sup> <a name="shell" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionEntrypoint.property.shell"></a>

```typescript
public readonly shell: string;
```

- *Type:* string

The format should be a shell command that can be fed to bash -c.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#shell AppEngineFlexibleAppVersion#shell}

---

### AppEngineFlexibleAppVersionHandlers <a name="AppEngineFlexibleAppVersionHandlers" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionHandlers } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionHandlers: AppEngineFlexibleAppVersionHandlers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.authFailAction">authFailAction</a></code> | <code>string</code> | Actions to take when the user is not logged in. Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.login">login</a></code> | <code>string</code> | Methods to restrict access to a URL based on login status. Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.redirectHttpResponseCode">redirectHttpResponseCode</a></code> | <code>string</code> | 30x code to use when performing redirects for the secure field. Possible values: ["REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.script">script</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersScript">AppEngineFlexibleAppVersionHandlersScript</a></code> | script block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.securityLevel">securityLevel</a></code> | <code>string</code> | Security (HTTPS) enforcement for this URL. Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.staticFiles">staticFiles</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles">AppEngineFlexibleAppVersionHandlersStaticFiles</a></code> | static_files block. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.urlRegex">urlRegex</a></code> | <code>string</code> | URL prefix. |

---

##### `authFailAction`<sup>Optional</sup> <a name="authFailAction" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.authFailAction"></a>

```typescript
public readonly authFailAction: string;
```

- *Type:* string

Actions to take when the user is not logged in. Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#auth_fail_action AppEngineFlexibleAppVersion#auth_fail_action}

---

##### `login`<sup>Optional</sup> <a name="login" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.login"></a>

```typescript
public readonly login: string;
```

- *Type:* string

Methods to restrict access to a URL based on login status. Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#login AppEngineFlexibleAppVersion#login}

---

##### `redirectHttpResponseCode`<sup>Optional</sup> <a name="redirectHttpResponseCode" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.redirectHttpResponseCode"></a>

```typescript
public readonly redirectHttpResponseCode: string;
```

- *Type:* string

30x code to use when performing redirects for the secure field. Possible values: ["REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#redirect_http_response_code AppEngineFlexibleAppVersion#redirect_http_response_code}

---

##### `script`<sup>Optional</sup> <a name="script" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.script"></a>

```typescript
public readonly script: AppEngineFlexibleAppVersionHandlersScript;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersScript">AppEngineFlexibleAppVersionHandlersScript</a>

script block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#script AppEngineFlexibleAppVersion#script}

---

##### `securityLevel`<sup>Optional</sup> <a name="securityLevel" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.securityLevel"></a>

```typescript
public readonly securityLevel: string;
```

- *Type:* string

Security (HTTPS) enforcement for this URL. Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#security_level AppEngineFlexibleAppVersion#security_level}

---

##### `staticFiles`<sup>Optional</sup> <a name="staticFiles" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.staticFiles"></a>

```typescript
public readonly staticFiles: AppEngineFlexibleAppVersionHandlersStaticFiles;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles">AppEngineFlexibleAppVersionHandlersStaticFiles</a>

static_files block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#static_files AppEngineFlexibleAppVersion#static_files}

---

##### `urlRegex`<sup>Optional</sup> <a name="urlRegex" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlers.property.urlRegex"></a>

```typescript
public readonly urlRegex: string;
```

- *Type:* string

URL prefix.

Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings.
All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#url_regex AppEngineFlexibleAppVersion#url_regex}

---

### AppEngineFlexibleAppVersionHandlersScript <a name="AppEngineFlexibleAppVersionHandlersScript" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersScript"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersScript.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionHandlersScript } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionHandlersScript: AppEngineFlexibleAppVersionHandlersScript = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersScript.property.scriptPath">scriptPath</a></code> | <code>string</code> | Path to the script from the application root directory. |

---

##### `scriptPath`<sup>Required</sup> <a name="scriptPath" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersScript.property.scriptPath"></a>

```typescript
public readonly scriptPath: string;
```

- *Type:* string

Path to the script from the application root directory.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#script_path AppEngineFlexibleAppVersion#script_path}

---

### AppEngineFlexibleAppVersionHandlersStaticFiles <a name="AppEngineFlexibleAppVersionHandlersStaticFiles" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionHandlersStaticFiles } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionHandlersStaticFiles: AppEngineFlexibleAppVersionHandlersStaticFiles = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.applicationReadable">applicationReadable</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether files should also be uploaded as code data. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.expiration">expiration</a></code> | <code>string</code> | Time a static file served by this handler should be cached by web proxies and browsers. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.httpHeaders">httpHeaders</a></code> | <code>{[ key: string ]: string}</code> | HTTP headers to use for all responses from these URLs. An object containing a list of "key:value" value pairs.". |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.mimeType">mimeType</a></code> | <code>string</code> | MIME type used to serve all files served by this handler. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.path">path</a></code> | <code>string</code> | Path to the static files matched by the URL pattern, from the application root directory. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.requireMatchingFile">requireMatchingFile</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this handler should match the request if the file referenced by the handler does not exist. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.uploadPathRegex">uploadPathRegex</a></code> | <code>string</code> | Regular expression that matches the file paths for all files that should be referenced by this handler. |

---

##### `applicationReadable`<sup>Optional</sup> <a name="applicationReadable" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.applicationReadable"></a>

```typescript
public readonly applicationReadable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether files should also be uploaded as code data.

By default, files declared in static file handlers are
uploaded as static data and are only served to end users; they cannot be read by the application. If enabled,
uploads are charged against both your code and static data storage resource quotas.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#application_readable AppEngineFlexibleAppVersion#application_readable}

---

##### `expiration`<sup>Optional</sup> <a name="expiration" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.expiration"></a>

```typescript
public readonly expiration: string;
```

- *Type:* string

Time a static file served by this handler should be cached by web proxies and browsers.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example "3.5s".
Default is '0s'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#expiration AppEngineFlexibleAppVersion#expiration}

---

##### `httpHeaders`<sup>Optional</sup> <a name="httpHeaders" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.httpHeaders"></a>

```typescript
public readonly httpHeaders: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

HTTP headers to use for all responses from these URLs. An object containing a list of "key:value" value pairs.".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#http_headers AppEngineFlexibleAppVersion#http_headers}

---

##### `mimeType`<sup>Optional</sup> <a name="mimeType" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.mimeType"></a>

```typescript
public readonly mimeType: string;
```

- *Type:* string

MIME type used to serve all files served by this handler.

Defaults to file-specific MIME types, which are derived from each file's filename extension.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#mime_type AppEngineFlexibleAppVersion#mime_type}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Path to the static files matched by the URL pattern, from the application root directory.

The path can refer to text matched in groupings in the URL pattern.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#path AppEngineFlexibleAppVersion#path}

---

##### `requireMatchingFile`<sup>Optional</sup> <a name="requireMatchingFile" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.requireMatchingFile"></a>

```typescript
public readonly requireMatchingFile: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this handler should match the request if the file referenced by the handler does not exist.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#require_matching_file AppEngineFlexibleAppVersion#require_matching_file}

---

##### `uploadPathRegex`<sup>Optional</sup> <a name="uploadPathRegex" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionHandlersStaticFiles.property.uploadPathRegex"></a>

```typescript
public readonly uploadPathRegex: string;
```

- *Type:* string

Regular expression that matches the file paths for all files that should be referenced by this handler.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#upload_path_regex AppEngineFlexibleAppVersion#upload_path_regex}

---

### AppEngineFlexibleAppVersionLivenessCheck <a name="AppEngineFlexibleAppVersionLivenessCheck" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionLivenessCheck } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionLivenessCheck: AppEngineFlexibleAppVersionLivenessCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.path">path</a></code> | <code>string</code> | The request path. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.checkInterval">checkInterval</a></code> | <code>string</code> | Interval between health checks. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.failureThreshold">failureThreshold</a></code> | <code>number</code> | Number of consecutive failed checks required before considering the VM unhealthy. Default: 4. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.host">host</a></code> | <code>string</code> | Host header to send when performing a HTTP Readiness check. Example: "myapp.appspot.com". |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.initialDelay">initialDelay</a></code> | <code>string</code> | The initial delay before starting to execute the checks. Default: "300s". |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.successThreshold">successThreshold</a></code> | <code>number</code> | Number of consecutive successful checks required before considering the VM healthy. Default: 2. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.timeout">timeout</a></code> | <code>string</code> | Time before the check is considered failed. Default: "4s". |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

The request path.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#path AppEngineFlexibleAppVersion#path}

---

##### `checkInterval`<sup>Optional</sup> <a name="checkInterval" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.checkInterval"></a>

```typescript
public readonly checkInterval: string;
```

- *Type:* string

Interval between health checks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#check_interval AppEngineFlexibleAppVersion#check_interval}

---

##### `failureThreshold`<sup>Optional</sup> <a name="failureThreshold" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.failureThreshold"></a>

```typescript
public readonly failureThreshold: number;
```

- *Type:* number

Number of consecutive failed checks required before considering the VM unhealthy. Default: 4.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#failure_threshold AppEngineFlexibleAppVersion#failure_threshold}

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

Host header to send when performing a HTTP Readiness check. Example: "myapp.appspot.com".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#host AppEngineFlexibleAppVersion#host}

---

##### `initialDelay`<sup>Optional</sup> <a name="initialDelay" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.initialDelay"></a>

```typescript
public readonly initialDelay: string;
```

- *Type:* string

The initial delay before starting to execute the checks. Default: "300s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#initial_delay AppEngineFlexibleAppVersion#initial_delay}

---

##### `successThreshold`<sup>Optional</sup> <a name="successThreshold" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.successThreshold"></a>

```typescript
public readonly successThreshold: number;
```

- *Type:* number

Number of consecutive successful checks required before considering the VM healthy. Default: 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#success_threshold AppEngineFlexibleAppVersion#success_threshold}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionLivenessCheck.property.timeout"></a>

```typescript
public readonly timeout: string;
```

- *Type:* string

Time before the check is considered failed. Default: "4s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#timeout AppEngineFlexibleAppVersion#timeout}

---

### AppEngineFlexibleAppVersionManualScaling <a name="AppEngineFlexibleAppVersionManualScaling" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScaling.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionManualScaling } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionManualScaling: AppEngineFlexibleAppVersionManualScaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScaling.property.instances">instances</a></code> | <code>number</code> | Number of instances to assign to the service at the start. |

---

##### `instances`<sup>Required</sup> <a name="instances" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionManualScaling.property.instances"></a>

```typescript
public readonly instances: number;
```

- *Type:* number

Number of instances to assign to the service at the start.

*Note:** When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2
Modules API set_num_instances() you must use 'lifecycle.ignore_changes = ["manual_scaling"[0].instances]' to prevent drift detection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#instances AppEngineFlexibleAppVersion#instances}

---

### AppEngineFlexibleAppVersionNetwork <a name="AppEngineFlexibleAppVersionNetwork" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionNetwork } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionNetwork: AppEngineFlexibleAppVersionNetwork = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.name">name</a></code> | <code>string</code> | Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.forwardedPorts">forwardedPorts</a></code> | <code>string[]</code> | List of ports, or port pairs, to forward from the virtual machine to the application container. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.instanceTag">instanceTag</a></code> | <code>string</code> | Tag to apply to the instance during creation. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.sessionAffinity">sessionAffinity</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enable session affinity. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.subnetwork">subnetwork</a></code> | <code>string</code> | Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#name AppEngineFlexibleAppVersion#name}

---

##### `forwardedPorts`<sup>Optional</sup> <a name="forwardedPorts" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.forwardedPorts"></a>

```typescript
public readonly forwardedPorts: string[];
```

- *Type:* string[]

List of ports, or port pairs, to forward from the virtual machine to the application container.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#forwarded_ports AppEngineFlexibleAppVersion#forwarded_ports}

---

##### `instanceTag`<sup>Optional</sup> <a name="instanceTag" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.instanceTag"></a>

```typescript
public readonly instanceTag: string;
```

- *Type:* string

Tag to apply to the instance during creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#instance_tag AppEngineFlexibleAppVersion#instance_tag}

---

##### `sessionAffinity`<sup>Optional</sup> <a name="sessionAffinity" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.sessionAffinity"></a>

```typescript
public readonly sessionAffinity: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enable session affinity.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#session_affinity AppEngineFlexibleAppVersion#session_affinity}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionNetwork.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.

If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range.
If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetworkName) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network.
If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetworkName must be specified and the IP address is created from the IPCidrRange of the subnetwork.
If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#subnetwork AppEngineFlexibleAppVersion#subnetwork}

---

### AppEngineFlexibleAppVersionReadinessCheck <a name="AppEngineFlexibleAppVersionReadinessCheck" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionReadinessCheck } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionReadinessCheck: AppEngineFlexibleAppVersionReadinessCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.path">path</a></code> | <code>string</code> | The request path. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.appStartTimeout">appStartTimeout</a></code> | <code>string</code> | A maximum time limit on application initialization, measured from moment the application successfully replies to a healthcheck until it is ready to serve traffic. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.checkInterval">checkInterval</a></code> | <code>string</code> | Interval between health checks.  Default: "5s". |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.failureThreshold">failureThreshold</a></code> | <code>number</code> | Number of consecutive failed checks required before removing traffic. Default: 2. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.host">host</a></code> | <code>string</code> | Host header to send when performing a HTTP Readiness check. Example: "myapp.appspot.com". |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.successThreshold">successThreshold</a></code> | <code>number</code> | Number of consecutive successful checks required before receiving traffic. Default: 2. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.timeout">timeout</a></code> | <code>string</code> | Time before the check is considered failed. Default: "4s". |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

The request path.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#path AppEngineFlexibleAppVersion#path}

---

##### `appStartTimeout`<sup>Optional</sup> <a name="appStartTimeout" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.appStartTimeout"></a>

```typescript
public readonly appStartTimeout: string;
```

- *Type:* string

A maximum time limit on application initialization, measured from moment the application successfully replies to a healthcheck until it is ready to serve traffic.

Default: "300s"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#app_start_timeout AppEngineFlexibleAppVersion#app_start_timeout}

---

##### `checkInterval`<sup>Optional</sup> <a name="checkInterval" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.checkInterval"></a>

```typescript
public readonly checkInterval: string;
```

- *Type:* string

Interval between health checks.  Default: "5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#check_interval AppEngineFlexibleAppVersion#check_interval}

---

##### `failureThreshold`<sup>Optional</sup> <a name="failureThreshold" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.failureThreshold"></a>

```typescript
public readonly failureThreshold: number;
```

- *Type:* number

Number of consecutive failed checks required before removing traffic. Default: 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#failure_threshold AppEngineFlexibleAppVersion#failure_threshold}

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

Host header to send when performing a HTTP Readiness check. Example: "myapp.appspot.com".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#host AppEngineFlexibleAppVersion#host}

---

##### `successThreshold`<sup>Optional</sup> <a name="successThreshold" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.successThreshold"></a>

```typescript
public readonly successThreshold: number;
```

- *Type:* number

Number of consecutive successful checks required before receiving traffic. Default: 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#success_threshold AppEngineFlexibleAppVersion#success_threshold}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionReadinessCheck.property.timeout"></a>

```typescript
public readonly timeout: string;
```

- *Type:* string

Time before the check is considered failed. Default: "4s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#timeout AppEngineFlexibleAppVersion#timeout}

---

### AppEngineFlexibleAppVersionResources <a name="AppEngineFlexibleAppVersionResources" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResources.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionResources } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionResources: AppEngineFlexibleAppVersionResources = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResources.property.cpu">cpu</a></code> | <code>number</code> | Number of CPU cores needed. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResources.property.diskGb">diskGb</a></code> | <code>number</code> | Disk size (GB) needed. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResources.property.memoryGb">memoryGb</a></code> | <code>number</code> | Memory (GB) needed. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResources.property.volumes">volumes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes">AppEngineFlexibleAppVersionResourcesVolumes</a>[]</code> | volumes block. |

---

##### `cpu`<sup>Optional</sup> <a name="cpu" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResources.property.cpu"></a>

```typescript
public readonly cpu: number;
```

- *Type:* number

Number of CPU cores needed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#cpu AppEngineFlexibleAppVersion#cpu}

---

##### `diskGb`<sup>Optional</sup> <a name="diskGb" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResources.property.diskGb"></a>

```typescript
public readonly diskGb: number;
```

- *Type:* number

Disk size (GB) needed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#disk_gb AppEngineFlexibleAppVersion#disk_gb}

---

##### `memoryGb`<sup>Optional</sup> <a name="memoryGb" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResources.property.memoryGb"></a>

```typescript
public readonly memoryGb: number;
```

- *Type:* number

Memory (GB) needed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#memory_gb AppEngineFlexibleAppVersion#memory_gb}

---

##### `volumes`<sup>Optional</sup> <a name="volumes" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResources.property.volumes"></a>

```typescript
public readonly volumes: IResolvable | AppEngineFlexibleAppVersionResourcesVolumes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes">AppEngineFlexibleAppVersionResourcesVolumes</a>[]

volumes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#volumes AppEngineFlexibleAppVersion#volumes}

---

### AppEngineFlexibleAppVersionResourcesVolumes <a name="AppEngineFlexibleAppVersionResourcesVolumes" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionResourcesVolumes } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionResourcesVolumes: AppEngineFlexibleAppVersionResourcesVolumes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes.property.name">name</a></code> | <code>string</code> | Unique name for the volume. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes.property.sizeGb">sizeGb</a></code> | <code>number</code> | Volume size in gigabytes. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes.property.volumeType">volumeType</a></code> | <code>string</code> | Underlying volume type, e.g. 'tmpfs'. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Unique name for the volume.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#name AppEngineFlexibleAppVersion#name}

---

##### `sizeGb`<sup>Required</sup> <a name="sizeGb" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes.property.sizeGb"></a>

```typescript
public readonly sizeGb: number;
```

- *Type:* number

Volume size in gigabytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#size_gb AppEngineFlexibleAppVersion#size_gb}

---

##### `volumeType`<sup>Required</sup> <a name="volumeType" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionResourcesVolumes.property.volumeType"></a>

```typescript
public readonly volumeType: string;
```

- *Type:* string

Underlying volume type, e.g. 'tmpfs'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#volume_type AppEngineFlexibleAppVersion#volume_type}

---

### AppEngineFlexibleAppVersionTimeouts <a name="AppEngineFlexibleAppVersionTimeouts" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionTimeouts } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionTimeouts: AppEngineFlexibleAppVersionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#create AppEngineFlexibleAppVersion#create}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#delete AppEngineFlexibleAppVersion#delete}. |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#update AppEngineFlexibleAppVersion#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#create AppEngineFlexibleAppVersion#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#delete AppEngineFlexibleAppVersion#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#update AppEngineFlexibleAppVersion#update}.

---

### AppEngineFlexibleAppVersionVpcAccessConnector <a name="AppEngineFlexibleAppVersionVpcAccessConnector" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnector"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnector.Initializer"></a>

```typescript
import { AppEngineFlexibleAppVersionVpcAccessConnector } from '@dschmidt/provider-google'

const appEngineFlexibleAppVersionVpcAccessConnector: AppEngineFlexibleAppVersionVpcAccessConnector = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnector.property.name">name</a></code> | <code>string</code> | Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineFlexibleAppVersionVpcAccessConnector.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_flexible_app_version#name AppEngineFlexibleAppVersion#name}

---

### AppEngineServiceNetworkSettingsConfig <a name="AppEngineServiceNetworkSettingsConfig" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.Initializer"></a>

```typescript
import { AppEngineServiceNetworkSettingsConfig } from '@dschmidt/provider-google'

const appEngineServiceNetworkSettingsConfig: AppEngineServiceNetworkSettingsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.networkSettings">networkSettings</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettings">AppEngineServiceNetworkSettingsNetworkSettings</a></code> | network_settings block. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.service">service</a></code> | <code>string</code> | The name of the service these settings apply to. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#id AppEngineServiceNetworkSettings#id}. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#project AppEngineServiceNetworkSettings#project}. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts">AppEngineServiceNetworkSettingsTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `networkSettings`<sup>Required</sup> <a name="networkSettings" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.networkSettings"></a>

```typescript
public readonly networkSettings: AppEngineServiceNetworkSettingsNetworkSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettings">AppEngineServiceNetworkSettingsNetworkSettings</a>

network_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#network_settings AppEngineServiceNetworkSettings#network_settings}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

The name of the service these settings apply to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#service AppEngineServiceNetworkSettings#service}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#id AppEngineServiceNetworkSettings#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#project AppEngineServiceNetworkSettings#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineServiceNetworkSettingsTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts">AppEngineServiceNetworkSettingsTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#timeouts AppEngineServiceNetworkSettings#timeouts}

---

### AppEngineServiceNetworkSettingsNetworkSettings <a name="AppEngineServiceNetworkSettingsNetworkSettings" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettings.Initializer"></a>

```typescript
import { AppEngineServiceNetworkSettingsNetworkSettings } from '@dschmidt/provider-google'

const appEngineServiceNetworkSettingsNetworkSettings: AppEngineServiceNetworkSettingsNetworkSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettings.property.ingressTrafficAllowed">ingressTrafficAllowed</a></code> | <code>string</code> | The ingress settings for version or service. Default value: "INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED" Possible values: ["INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED", "INGRESS_TRAFFIC_ALLOWED_ALL", "INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY", "INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB"]. |

---

##### `ingressTrafficAllowed`<sup>Optional</sup> <a name="ingressTrafficAllowed" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsNetworkSettings.property.ingressTrafficAllowed"></a>

```typescript
public readonly ingressTrafficAllowed: string;
```

- *Type:* string

The ingress settings for version or service. Default value: "INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED" Possible values: ["INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED", "INGRESS_TRAFFIC_ALLOWED_ALL", "INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY", "INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#ingress_traffic_allowed AppEngineServiceNetworkSettings#ingress_traffic_allowed}

---

### AppEngineServiceNetworkSettingsTimeouts <a name="AppEngineServiceNetworkSettingsTimeouts" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts.Initializer"></a>

```typescript
import { AppEngineServiceNetworkSettingsTimeouts } from '@dschmidt/provider-google'

const appEngineServiceNetworkSettingsTimeouts: AppEngineServiceNetworkSettingsTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#create AppEngineServiceNetworkSettings#create}. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#delete AppEngineServiceNetworkSettings#delete}. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#update AppEngineServiceNetworkSettings#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#create AppEngineServiceNetworkSettings#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#delete AppEngineServiceNetworkSettings#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AppEngineServiceNetworkSettingsTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_network_settings#update AppEngineServiceNetworkSettings#update}.

---

### AppEngineServiceSplitTrafficConfig <a name="AppEngineServiceSplitTrafficConfig" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.Initializer"></a>

```typescript
import { AppEngineServiceSplitTrafficConfig } from '@dschmidt/provider-google'

const appEngineServiceSplitTrafficConfig: AppEngineServiceSplitTrafficConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.service">service</a></code> | <code>string</code> | The name of the service these settings apply to. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.split">split</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit">AppEngineServiceSplitTrafficSplit</a></code> | split block. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#id AppEngineServiceSplitTraffic#id}. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.migrateTraffic">migrateTraffic</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true traffic will be migrated to this version. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#project AppEngineServiceSplitTraffic#project}. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts">AppEngineServiceSplitTrafficTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

The name of the service these settings apply to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#service AppEngineServiceSplitTraffic#service}

---

##### `split`<sup>Required</sup> <a name="split" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.split"></a>

```typescript
public readonly split: AppEngineServiceSplitTrafficSplit;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit">AppEngineServiceSplitTrafficSplit</a>

split block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#split AppEngineServiceSplitTraffic#split}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#id AppEngineServiceSplitTraffic#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `migrateTraffic`<sup>Optional</sup> <a name="migrateTraffic" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.migrateTraffic"></a>

```typescript
public readonly migrateTraffic: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true traffic will be migrated to this version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#migrate_traffic AppEngineServiceSplitTraffic#migrate_traffic}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#project AppEngineServiceSplitTraffic#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineServiceSplitTrafficTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts">AppEngineServiceSplitTrafficTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#timeouts AppEngineServiceSplitTraffic#timeouts}

---

### AppEngineServiceSplitTrafficSplit <a name="AppEngineServiceSplitTrafficSplit" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit.Initializer"></a>

```typescript
import { AppEngineServiceSplitTrafficSplit } from '@dschmidt/provider-google'

const appEngineServiceSplitTrafficSplit: AppEngineServiceSplitTrafficSplit = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit.property.allocations">allocations</a></code> | <code>{[ key: string ]: string}</code> | Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit.property.shardBy">shardBy</a></code> | <code>string</code> | Mechanism used to determine which version a request is sent to. |

---

##### `allocations`<sup>Required</sup> <a name="allocations" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit.property.allocations"></a>

```typescript
public readonly allocations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#allocations AppEngineServiceSplitTraffic#allocations}

---

##### `shardBy`<sup>Optional</sup> <a name="shardBy" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficSplit.property.shardBy"></a>

```typescript
public readonly shardBy: string;
```

- *Type:* string

Mechanism used to determine which version a request is sent to.

The traffic selection algorithm will be stable for either type until allocations are changed. Possible values: ["UNSPECIFIED", "COOKIE", "IP", "RANDOM"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#shard_by AppEngineServiceSplitTraffic#shard_by}

---

### AppEngineServiceSplitTrafficTimeouts <a name="AppEngineServiceSplitTrafficTimeouts" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts.Initializer"></a>

```typescript
import { AppEngineServiceSplitTrafficTimeouts } from '@dschmidt/provider-google'

const appEngineServiceSplitTrafficTimeouts: AppEngineServiceSplitTrafficTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#create AppEngineServiceSplitTraffic#create}. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#delete AppEngineServiceSplitTraffic#delete}. |
| <code><a href="#@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#update AppEngineServiceSplitTraffic#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#create AppEngineServiceSplitTraffic#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#delete AppEngineServiceSplitTraffic#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AppEngineServiceSplitTrafficTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_service_split_traffic#update AppEngineServiceSplitTraffic#update}.

---

### AppEngineStandardAppVersionAutomaticScaling <a name="AppEngineStandardAppVersionAutomaticScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionAutomaticScaling } from '@dschmidt/provider-google'

const appEngineStandardAppVersionAutomaticScaling: AppEngineStandardAppVersionAutomaticScaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.maxConcurrentRequests">maxConcurrentRequests</a></code> | <code>number</code> | Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.maxIdleInstances">maxIdleInstances</a></code> | <code>number</code> | Maximum number of idle instances that should be maintained for this version. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.maxPendingLatency">maxPendingLatency</a></code> | <code>string</code> | Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.minIdleInstances">minIdleInstances</a></code> | <code>number</code> | Minimum number of idle instances that should be maintained for this version. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.minPendingLatency">minPendingLatency</a></code> | <code>string</code> | Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.standardSchedulerSettings">standardSchedulerSettings</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings">AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings</a></code> | standard_scheduler_settings block. |

---

##### `maxConcurrentRequests`<sup>Optional</sup> <a name="maxConcurrentRequests" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.maxConcurrentRequests"></a>

```typescript
public readonly maxConcurrentRequests: number;
```

- *Type:* number

Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.

Defaults to a runtime-specific value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#max_concurrent_requests AppEngineStandardAppVersion#max_concurrent_requests}

---

##### `maxIdleInstances`<sup>Optional</sup> <a name="maxIdleInstances" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.maxIdleInstances"></a>

```typescript
public readonly maxIdleInstances: number;
```

- *Type:* number

Maximum number of idle instances that should be maintained for this version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#max_idle_instances AppEngineStandardAppVersion#max_idle_instances}

---

##### `maxPendingLatency`<sup>Optional</sup> <a name="maxPendingLatency" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.maxPendingLatency"></a>

```typescript
public readonly maxPendingLatency: string;
```

- *Type:* string

Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#max_pending_latency AppEngineStandardAppVersion#max_pending_latency}

---

##### `minIdleInstances`<sup>Optional</sup> <a name="minIdleInstances" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.minIdleInstances"></a>

```typescript
public readonly minIdleInstances: number;
```

- *Type:* number

Minimum number of idle instances that should be maintained for this version.

Only applicable for the default version of a service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#min_idle_instances AppEngineStandardAppVersion#min_idle_instances}

---

##### `minPendingLatency`<sup>Optional</sup> <a name="minPendingLatency" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.minPendingLatency"></a>

```typescript
public readonly minPendingLatency: string;
```

- *Type:* string

Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#min_pending_latency AppEngineStandardAppVersion#min_pending_latency}

---

##### `standardSchedulerSettings`<sup>Optional</sup> <a name="standardSchedulerSettings" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling.property.standardSchedulerSettings"></a>

```typescript
public readonly standardSchedulerSettings: AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings">AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings</a>

standard_scheduler_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#standard_scheduler_settings AppEngineStandardAppVersion#standard_scheduler_settings}

---

### AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings <a name="AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings } from '@dschmidt/provider-google'

const appEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings: AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings.property.maxInstances">maxInstances</a></code> | <code>number</code> | Maximum number of instances to run for this version. Set to zero to disable maxInstances configuration. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings.property.minInstances">minInstances</a></code> | <code>number</code> | Minimum number of instances to run for this version. Set to zero to disable minInstances configuration. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings.property.targetCpuUtilization">targetCpuUtilization</a></code> | <code>number</code> | Target CPU utilization ratio to maintain when scaling. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings.property.targetThroughputUtilization">targetThroughputUtilization</a></code> | <code>number</code> | Target throughput utilization ratio to maintain when scaling. |

---

##### `maxInstances`<sup>Optional</sup> <a name="maxInstances" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings.property.maxInstances"></a>

```typescript
public readonly maxInstances: number;
```

- *Type:* number

Maximum number of instances to run for this version. Set to zero to disable maxInstances configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#max_instances AppEngineStandardAppVersion#max_instances}

---

##### `minInstances`<sup>Optional</sup> <a name="minInstances" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings.property.minInstances"></a>

```typescript
public readonly minInstances: number;
```

- *Type:* number

Minimum number of instances to run for this version. Set to zero to disable minInstances configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#min_instances AppEngineStandardAppVersion#min_instances}

---

##### `targetCpuUtilization`<sup>Optional</sup> <a name="targetCpuUtilization" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings.property.targetCpuUtilization"></a>

```typescript
public readonly targetCpuUtilization: number;
```

- *Type:* number

Target CPU utilization ratio to maintain when scaling.

Should be a value in the range [0.50, 0.95], zero, or a negative value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#target_cpu_utilization AppEngineStandardAppVersion#target_cpu_utilization}

---

##### `targetThroughputUtilization`<sup>Optional</sup> <a name="targetThroughputUtilization" id="@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScalingStandardSchedulerSettings.property.targetThroughputUtilization"></a>

```typescript
public readonly targetThroughputUtilization: number;
```

- *Type:* number

Target throughput utilization ratio to maintain when scaling.

Should be a value in the range [0.50, 0.95], zero, or a negative value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#target_throughput_utilization AppEngineStandardAppVersion#target_throughput_utilization}

---

### AppEngineStandardAppVersionBasicScaling <a name="AppEngineStandardAppVersionBasicScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionBasicScaling } from '@dschmidt/provider-google'

const appEngineStandardAppVersionBasicScaling: AppEngineStandardAppVersionBasicScaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling.property.maxInstances">maxInstances</a></code> | <code>number</code> | Maximum number of instances to create for this version. Must be in the range [1.0, 200.0]. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling.property.idleTimeout">idleTimeout</a></code> | <code>string</code> | Duration of time after the last request that an instance must wait before the instance is shut down. |

---

##### `maxInstances`<sup>Required</sup> <a name="maxInstances" id="@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling.property.maxInstances"></a>

```typescript
public readonly maxInstances: number;
```

- *Type:* number

Maximum number of instances to create for this version. Must be in the range [1.0, 200.0].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#max_instances AppEngineStandardAppVersion#max_instances}

---

##### `idleTimeout`<sup>Optional</sup> <a name="idleTimeout" id="@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling.property.idleTimeout"></a>

```typescript
public readonly idleTimeout: string;
```

- *Type:* string

Duration of time after the last request that an instance must wait before the instance is shut down.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#idle_timeout AppEngineStandardAppVersion#idle_timeout}

---

### AppEngineStandardAppVersionConfig <a name="AppEngineStandardAppVersionConfig" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionConfig } from '@dschmidt/provider-google'

const appEngineStandardAppVersionConfig: AppEngineStandardAppVersionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.deployment">deployment</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeployment">AppEngineStandardAppVersionDeployment</a></code> | deployment block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.entrypoint">entrypoint</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionEntrypoint">AppEngineStandardAppVersionEntrypoint</a></code> | entrypoint block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.runtime">runtime</a></code> | <code>string</code> | Desired runtime. Example python27. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.service">service</a></code> | <code>string</code> | AppEngine service resource. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.appEngineApis">appEngineApis</a></code> | <code>boolean \| cdktf.IResolvable</code> | Allows App Engine second generation runtimes to access the legacy bundled services. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.automaticScaling">automaticScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling">AppEngineStandardAppVersionAutomaticScaling</a></code> | automatic_scaling block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.basicScaling">basicScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling">AppEngineStandardAppVersionBasicScaling</a></code> | basic_scaling block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.deleteServiceOnDestroy">deleteServiceOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#delete_service_on_destroy AppEngineStandardAppVersion#delete_service_on_destroy}. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.envVariables">envVariables</a></code> | <code>{[ key: string ]: string}</code> | Environment variables available to the application. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.handlers">handlers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers">AppEngineStandardAppVersionHandlers</a>[]</code> | handlers block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#id AppEngineStandardAppVersion#id}. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.inboundServices">inboundServices</a></code> | <code>string[]</code> | A list of the types of messages that this application is able to receive. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.instanceClass">instanceClass</a></code> | <code>string</code> | Instance class that is used to run this version. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.libraries">libraries</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionLibraries">AppEngineStandardAppVersionLibraries</a>[]</code> | libraries block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.manualScaling">manualScaling</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionManualScaling">AppEngineStandardAppVersionManualScaling</a></code> | manual_scaling block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.noopOnDestroy">noopOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#noop_on_destroy AppEngineStandardAppVersion#noop_on_destroy}. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#project AppEngineStandardAppVersion#project}. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.runtimeApiVersion">runtimeApiVersion</a></code> | <code>string</code> | The version of the API in the given runtime environment. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.threadsafe">threadsafe</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether multiple requests can be dispatched to this version at once. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts">AppEngineStandardAppVersionTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.versionId">versionId</a></code> | <code>string</code> | Relative name of the version within the service. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.vpcAccessConnector">vpcAccessConnector</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnector">AppEngineStandardAppVersionVpcAccessConnector</a></code> | vpc_access_connector block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `deployment`<sup>Required</sup> <a name="deployment" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.deployment"></a>

```typescript
public readonly deployment: AppEngineStandardAppVersionDeployment;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeployment">AppEngineStandardAppVersionDeployment</a>

deployment block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#deployment AppEngineStandardAppVersion#deployment}

---

##### `entrypoint`<sup>Required</sup> <a name="entrypoint" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.entrypoint"></a>

```typescript
public readonly entrypoint: AppEngineStandardAppVersionEntrypoint;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionEntrypoint">AppEngineStandardAppVersionEntrypoint</a>

entrypoint block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#entrypoint AppEngineStandardAppVersion#entrypoint}

---

##### `runtime`<sup>Required</sup> <a name="runtime" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.runtime"></a>

```typescript
public readonly runtime: string;
```

- *Type:* string

Desired runtime. Example python27.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#runtime AppEngineStandardAppVersion#runtime}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

AppEngine service resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#service AppEngineStandardAppVersion#service}

---

##### `appEngineApis`<sup>Optional</sup> <a name="appEngineApis" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.appEngineApis"></a>

```typescript
public readonly appEngineApis: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Allows App Engine second generation runtimes to access the legacy bundled services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#app_engine_apis AppEngineStandardAppVersion#app_engine_apis}

---

##### `automaticScaling`<sup>Optional</sup> <a name="automaticScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.automaticScaling"></a>

```typescript
public readonly automaticScaling: AppEngineStandardAppVersionAutomaticScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionAutomaticScaling">AppEngineStandardAppVersionAutomaticScaling</a>

automatic_scaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#automatic_scaling AppEngineStandardAppVersion#automatic_scaling}

---

##### `basicScaling`<sup>Optional</sup> <a name="basicScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.basicScaling"></a>

```typescript
public readonly basicScaling: AppEngineStandardAppVersionBasicScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionBasicScaling">AppEngineStandardAppVersionBasicScaling</a>

basic_scaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#basic_scaling AppEngineStandardAppVersion#basic_scaling}

---

##### `deleteServiceOnDestroy`<sup>Optional</sup> <a name="deleteServiceOnDestroy" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.deleteServiceOnDestroy"></a>

```typescript
public readonly deleteServiceOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#delete_service_on_destroy AppEngineStandardAppVersion#delete_service_on_destroy}.

---

##### `envVariables`<sup>Optional</sup> <a name="envVariables" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.envVariables"></a>

```typescript
public readonly envVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Environment variables available to the application.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#env_variables AppEngineStandardAppVersion#env_variables}

---

##### `handlers`<sup>Optional</sup> <a name="handlers" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.handlers"></a>

```typescript
public readonly handlers: IResolvable | AppEngineStandardAppVersionHandlers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers">AppEngineStandardAppVersionHandlers</a>[]

handlers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#handlers AppEngineStandardAppVersion#handlers}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#id AppEngineStandardAppVersion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `inboundServices`<sup>Optional</sup> <a name="inboundServices" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.inboundServices"></a>

```typescript
public readonly inboundServices: string[];
```

- *Type:* string[]

A list of the types of messages that this application is able to receive.

Possible values: ["INBOUND_SERVICE_MAIL", "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#inbound_services AppEngineStandardAppVersion#inbound_services}

---

##### `instanceClass`<sup>Optional</sup> <a name="instanceClass" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.instanceClass"></a>

```typescript
public readonly instanceClass: string;
```

- *Type:* string

Instance class that is used to run this version.

Valid values are
AutomaticScaling: F1, F2, F4, F4_1G
BasicScaling or ManualScaling: B1, B2, B4, B4_1G, B8
Defaults to F1 for AutomaticScaling and B2 for ManualScaling and BasicScaling. If no scaling is specified, AutomaticScaling is chosen.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#instance_class AppEngineStandardAppVersion#instance_class}

---

##### `libraries`<sup>Optional</sup> <a name="libraries" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.libraries"></a>

```typescript
public readonly libraries: IResolvable | AppEngineStandardAppVersionLibraries[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionLibraries">AppEngineStandardAppVersionLibraries</a>[]

libraries block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#libraries AppEngineStandardAppVersion#libraries}

---

##### `manualScaling`<sup>Optional</sup> <a name="manualScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.manualScaling"></a>

```typescript
public readonly manualScaling: AppEngineStandardAppVersionManualScaling;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionManualScaling">AppEngineStandardAppVersionManualScaling</a>

manual_scaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#manual_scaling AppEngineStandardAppVersion#manual_scaling}

---

##### `noopOnDestroy`<sup>Optional</sup> <a name="noopOnDestroy" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.noopOnDestroy"></a>

```typescript
public readonly noopOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#noop_on_destroy AppEngineStandardAppVersion#noop_on_destroy}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#project AppEngineStandardAppVersion#project}.

---

##### `runtimeApiVersion`<sup>Optional</sup> <a name="runtimeApiVersion" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.runtimeApiVersion"></a>

```typescript
public readonly runtimeApiVersion: string;
```

- *Type:* string

The version of the API in the given runtime environment.

Please see the app.yaml reference for valid values at 'https://cloud.google.com/appengine/docs/standard/<language>/config/appref'\
Substitute '<language>' with 'python', 'java', 'php', 'ruby', 'go' or 'nodejs'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#runtime_api_version AppEngineStandardAppVersion#runtime_api_version}

---

##### `threadsafe`<sup>Optional</sup> <a name="threadsafe" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.threadsafe"></a>

```typescript
public readonly threadsafe: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether multiple requests can be dispatched to this version at once.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#threadsafe AppEngineStandardAppVersion#threadsafe}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AppEngineStandardAppVersionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts">AppEngineStandardAppVersionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#timeouts AppEngineStandardAppVersion#timeouts}

---

##### `versionId`<sup>Optional</sup> <a name="versionId" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

Relative name of the version within the service.

For example, 'v1'. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names,"default", "latest", and any name with the prefix "ah-".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#version_id AppEngineStandardAppVersion#version_id}

---

##### `vpcAccessConnector`<sup>Optional</sup> <a name="vpcAccessConnector" id="@dschmidt/provider-google.AppEngineStandardAppVersionConfig.property.vpcAccessConnector"></a>

```typescript
public readonly vpcAccessConnector: AppEngineStandardAppVersionVpcAccessConnector;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnector">AppEngineStandardAppVersionVpcAccessConnector</a>

vpc_access_connector block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#vpc_access_connector AppEngineStandardAppVersion#vpc_access_connector}

---

### AppEngineStandardAppVersionDeployment <a name="AppEngineStandardAppVersionDeployment" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeployment"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeployment.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionDeployment } from '@dschmidt/provider-google'

const appEngineStandardAppVersionDeployment: AppEngineStandardAppVersionDeployment = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeployment.property.files">files</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles">AppEngineStandardAppVersionDeploymentFiles</a>[]</code> | files block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeployment.property.zip">zip</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentZip">AppEngineStandardAppVersionDeploymentZip</a></code> | zip block. |

---

##### `files`<sup>Optional</sup> <a name="files" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeployment.property.files"></a>

```typescript
public readonly files: IResolvable | AppEngineStandardAppVersionDeploymentFiles[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles">AppEngineStandardAppVersionDeploymentFiles</a>[]

files block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#files AppEngineStandardAppVersion#files}

---

##### `zip`<sup>Optional</sup> <a name="zip" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeployment.property.zip"></a>

```typescript
public readonly zip: AppEngineStandardAppVersionDeploymentZip;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentZip">AppEngineStandardAppVersionDeploymentZip</a>

zip block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#zip AppEngineStandardAppVersion#zip}

---

### AppEngineStandardAppVersionDeploymentFiles <a name="AppEngineStandardAppVersionDeploymentFiles" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionDeploymentFiles } from '@dschmidt/provider-google'

const appEngineStandardAppVersionDeploymentFiles: AppEngineStandardAppVersionDeploymentFiles = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#name AppEngineStandardAppVersion#name}. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles.property.sourceUrl">sourceUrl</a></code> | <code>string</code> | Source URL. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles.property.sha1Sum">sha1Sum</a></code> | <code>string</code> | SHA1 checksum of the file. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#name AppEngineStandardAppVersion#name}.

---

##### `sourceUrl`<sup>Required</sup> <a name="sourceUrl" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles.property.sourceUrl"></a>

```typescript
public readonly sourceUrl: string;
```

- *Type:* string

Source URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#source_url AppEngineStandardAppVersion#source_url}

---

##### `sha1Sum`<sup>Optional</sup> <a name="sha1Sum" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentFiles.property.sha1Sum"></a>

```typescript
public readonly sha1Sum: string;
```

- *Type:* string

SHA1 checksum of the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#sha1_sum AppEngineStandardAppVersion#sha1_sum}

---

### AppEngineStandardAppVersionDeploymentZip <a name="AppEngineStandardAppVersionDeploymentZip" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentZip"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentZip.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionDeploymentZip } from '@dschmidt/provider-google'

const appEngineStandardAppVersionDeploymentZip: AppEngineStandardAppVersionDeploymentZip = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentZip.property.sourceUrl">sourceUrl</a></code> | <code>string</code> | Source URL. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentZip.property.filesCount">filesCount</a></code> | <code>number</code> | files count. |

---

##### `sourceUrl`<sup>Required</sup> <a name="sourceUrl" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentZip.property.sourceUrl"></a>

```typescript
public readonly sourceUrl: string;
```

- *Type:* string

Source URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#source_url AppEngineStandardAppVersion#source_url}

---

##### `filesCount`<sup>Optional</sup> <a name="filesCount" id="@dschmidt/provider-google.AppEngineStandardAppVersionDeploymentZip.property.filesCount"></a>

```typescript
public readonly filesCount: number;
```

- *Type:* number

files count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#files_count AppEngineStandardAppVersion#files_count}

---

### AppEngineStandardAppVersionEntrypoint <a name="AppEngineStandardAppVersionEntrypoint" id="@dschmidt/provider-google.AppEngineStandardAppVersionEntrypoint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionEntrypoint.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionEntrypoint } from '@dschmidt/provider-google'

const appEngineStandardAppVersionEntrypoint: AppEngineStandardAppVersionEntrypoint = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionEntrypoint.property.shell">shell</a></code> | <code>string</code> | The format should be a shell command that can be fed to bash -c. |

---

##### `shell`<sup>Required</sup> <a name="shell" id="@dschmidt/provider-google.AppEngineStandardAppVersionEntrypoint.property.shell"></a>

```typescript
public readonly shell: string;
```

- *Type:* string

The format should be a shell command that can be fed to bash -c.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#shell AppEngineStandardAppVersion#shell}

---

### AppEngineStandardAppVersionHandlers <a name="AppEngineStandardAppVersionHandlers" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionHandlers } from '@dschmidt/provider-google'

const appEngineStandardAppVersionHandlers: AppEngineStandardAppVersionHandlers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.authFailAction">authFailAction</a></code> | <code>string</code> | Actions to take when the user is not logged in. Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.login">login</a></code> | <code>string</code> | Methods to restrict access to a URL based on login status. Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.redirectHttpResponseCode">redirectHttpResponseCode</a></code> | <code>string</code> | 30x code to use when performing redirects for the secure field. Possible values: ["REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.script">script</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersScript">AppEngineStandardAppVersionHandlersScript</a></code> | script block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.securityLevel">securityLevel</a></code> | <code>string</code> | Security (HTTPS) enforcement for this URL. Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS"]. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.staticFiles">staticFiles</a></code> | <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles">AppEngineStandardAppVersionHandlersStaticFiles</a></code> | static_files block. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.urlRegex">urlRegex</a></code> | <code>string</code> | URL prefix. |

---

##### `authFailAction`<sup>Optional</sup> <a name="authFailAction" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.authFailAction"></a>

```typescript
public readonly authFailAction: string;
```

- *Type:* string

Actions to take when the user is not logged in. Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#auth_fail_action AppEngineStandardAppVersion#auth_fail_action}

---

##### `login`<sup>Optional</sup> <a name="login" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.login"></a>

```typescript
public readonly login: string;
```

- *Type:* string

Methods to restrict access to a URL based on login status. Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#login AppEngineStandardAppVersion#login}

---

##### `redirectHttpResponseCode`<sup>Optional</sup> <a name="redirectHttpResponseCode" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.redirectHttpResponseCode"></a>

```typescript
public readonly redirectHttpResponseCode: string;
```

- *Type:* string

30x code to use when performing redirects for the secure field. Possible values: ["REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#redirect_http_response_code AppEngineStandardAppVersion#redirect_http_response_code}

---

##### `script`<sup>Optional</sup> <a name="script" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.script"></a>

```typescript
public readonly script: AppEngineStandardAppVersionHandlersScript;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersScript">AppEngineStandardAppVersionHandlersScript</a>

script block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#script AppEngineStandardAppVersion#script}

---

##### `securityLevel`<sup>Optional</sup> <a name="securityLevel" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.securityLevel"></a>

```typescript
public readonly securityLevel: string;
```

- *Type:* string

Security (HTTPS) enforcement for this URL. Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#security_level AppEngineStandardAppVersion#security_level}

---

##### `staticFiles`<sup>Optional</sup> <a name="staticFiles" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.staticFiles"></a>

```typescript
public readonly staticFiles: AppEngineStandardAppVersionHandlersStaticFiles;
```

- *Type:* <a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles">AppEngineStandardAppVersionHandlersStaticFiles</a>

static_files block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#static_files AppEngineStandardAppVersion#static_files}

---

##### `urlRegex`<sup>Optional</sup> <a name="urlRegex" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlers.property.urlRegex"></a>

```typescript
public readonly urlRegex: string;
```

- *Type:* string

URL prefix.

Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings.
All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#url_regex AppEngineStandardAppVersion#url_regex}

---

### AppEngineStandardAppVersionHandlersScript <a name="AppEngineStandardAppVersionHandlersScript" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersScript"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersScript.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionHandlersScript } from '@dschmidt/provider-google'

const appEngineStandardAppVersionHandlersScript: AppEngineStandardAppVersionHandlersScript = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersScript.property.scriptPath">scriptPath</a></code> | <code>string</code> | Path to the script from the application root directory. |

---

##### `scriptPath`<sup>Required</sup> <a name="scriptPath" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersScript.property.scriptPath"></a>

```typescript
public readonly scriptPath: string;
```

- *Type:* string

Path to the script from the application root directory.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#script_path AppEngineStandardAppVersion#script_path}

---

### AppEngineStandardAppVersionHandlersStaticFiles <a name="AppEngineStandardAppVersionHandlersStaticFiles" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionHandlersStaticFiles } from '@dschmidt/provider-google'

const appEngineStandardAppVersionHandlersStaticFiles: AppEngineStandardAppVersionHandlersStaticFiles = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.applicationReadable">applicationReadable</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether files should also be uploaded as code data. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.expiration">expiration</a></code> | <code>string</code> | Time a static file served by this handler should be cached by web proxies and browsers. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.httpHeaders">httpHeaders</a></code> | <code>{[ key: string ]: string}</code> | HTTP headers to use for all responses from these URLs. An object containing a list of "key:value" value pairs.". |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.mimeType">mimeType</a></code> | <code>string</code> | MIME type used to serve all files served by this handler. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.path">path</a></code> | <code>string</code> | Path to the static files matched by the URL pattern, from the application root directory. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.requireMatchingFile">requireMatchingFile</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this handler should match the request if the file referenced by the handler does not exist. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.uploadPathRegex">uploadPathRegex</a></code> | <code>string</code> | Regular expression that matches the file paths for all files that should be referenced by this handler. |

---

##### `applicationReadable`<sup>Optional</sup> <a name="applicationReadable" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.applicationReadable"></a>

```typescript
public readonly applicationReadable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether files should also be uploaded as code data.

By default, files declared in static file handlers are uploaded as
static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged
against both your code and static data storage resource quotas.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#application_readable AppEngineStandardAppVersion#application_readable}

---

##### `expiration`<sup>Optional</sup> <a name="expiration" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.expiration"></a>

```typescript
public readonly expiration: string;
```

- *Type:* string

Time a static file served by this handler should be cached by web proxies and browsers.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#expiration AppEngineStandardAppVersion#expiration}

---

##### `httpHeaders`<sup>Optional</sup> <a name="httpHeaders" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.httpHeaders"></a>

```typescript
public readonly httpHeaders: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

HTTP headers to use for all responses from these URLs. An object containing a list of "key:value" value pairs.".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#http_headers AppEngineStandardAppVersion#http_headers}

---

##### `mimeType`<sup>Optional</sup> <a name="mimeType" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.mimeType"></a>

```typescript
public readonly mimeType: string;
```

- *Type:* string

MIME type used to serve all files served by this handler.

Defaults to file-specific MIME types, which are derived from each file's filename extension.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#mime_type AppEngineStandardAppVersion#mime_type}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Path to the static files matched by the URL pattern, from the application root directory.

The path can refer to text matched in groupings in the URL pattern.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#path AppEngineStandardAppVersion#path}

---

##### `requireMatchingFile`<sup>Optional</sup> <a name="requireMatchingFile" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.requireMatchingFile"></a>

```typescript
public readonly requireMatchingFile: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this handler should match the request if the file referenced by the handler does not exist.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#require_matching_file AppEngineStandardAppVersion#require_matching_file}

---

##### `uploadPathRegex`<sup>Optional</sup> <a name="uploadPathRegex" id="@dschmidt/provider-google.AppEngineStandardAppVersionHandlersStaticFiles.property.uploadPathRegex"></a>

```typescript
public readonly uploadPathRegex: string;
```

- *Type:* string

Regular expression that matches the file paths for all files that should be referenced by this handler.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#upload_path_regex AppEngineStandardAppVersion#upload_path_regex}

---

### AppEngineStandardAppVersionLibraries <a name="AppEngineStandardAppVersionLibraries" id="@dschmidt/provider-google.AppEngineStandardAppVersionLibraries"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionLibraries.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionLibraries } from '@dschmidt/provider-google'

const appEngineStandardAppVersionLibraries: AppEngineStandardAppVersionLibraries = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionLibraries.property.name">name</a></code> | <code>string</code> | Name of the library. Example "django". |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionLibraries.property.version">version</a></code> | <code>string</code> | Version of the library to select, or "latest". |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.AppEngineStandardAppVersionLibraries.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the library. Example "django".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#name AppEngineStandardAppVersion#name}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.AppEngineStandardAppVersionLibraries.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

Version of the library to select, or "latest".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#version AppEngineStandardAppVersion#version}

---

### AppEngineStandardAppVersionManualScaling <a name="AppEngineStandardAppVersionManualScaling" id="@dschmidt/provider-google.AppEngineStandardAppVersionManualScaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionManualScaling.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionManualScaling } from '@dschmidt/provider-google'

const appEngineStandardAppVersionManualScaling: AppEngineStandardAppVersionManualScaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionManualScaling.property.instances">instances</a></code> | <code>number</code> | Number of instances to assign to the service at the start. |

---

##### `instances`<sup>Required</sup> <a name="instances" id="@dschmidt/provider-google.AppEngineStandardAppVersionManualScaling.property.instances"></a>

```typescript
public readonly instances: number;
```

- *Type:* number

Number of instances to assign to the service at the start.

*Note:** When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2
Modules API set_num_instances() you must use 'lifecycle.ignore_changes = ["manual_scaling"[0].instances]' to prevent drift detection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#instances AppEngineStandardAppVersion#instances}

---

### AppEngineStandardAppVersionTimeouts <a name="AppEngineStandardAppVersionTimeouts" id="@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionTimeouts } from '@dschmidt/provider-google'

const appEngineStandardAppVersionTimeouts: AppEngineStandardAppVersionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#create AppEngineStandardAppVersion#create}. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#delete AppEngineStandardAppVersion#delete}. |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#update AppEngineStandardAppVersion#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#create AppEngineStandardAppVersion#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#delete AppEngineStandardAppVersion#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AppEngineStandardAppVersionTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#update AppEngineStandardAppVersion#update}.

---

### AppEngineStandardAppVersionVpcAccessConnector <a name="AppEngineStandardAppVersionVpcAccessConnector" id="@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnector"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnector.Initializer"></a>

```typescript
import { AppEngineStandardAppVersionVpcAccessConnector } from '@dschmidt/provider-google'

const appEngineStandardAppVersionVpcAccessConnector: AppEngineStandardAppVersionVpcAccessConnector = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnector.property.name">name</a></code> | <code>string</code> | Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AppEngineStandardAppVersionVpcAccessConnector.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/app_engine_standard_app_version#name AppEngineStandardAppVersion#name}

---

### ArtifactRegistryRepositoryConfig <a name="ArtifactRegistryRepositoryConfig" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryConfig } from '@dschmidt/provider-google'

const artifactRegistryRepositoryConfig: ArtifactRegistryRepositoryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.format">format</a></code> | <code>string</code> | The format of packages that are stored in the repository. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.repositoryId">repositoryId</a></code> | <code>string</code> | The last part of the repository name, for example: "repo1". |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.description">description</a></code> | <code>string</code> | The user-provided description of the repository. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#id ArtifactRegistryRepository#id}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | The Cloud KMS resource name of the customer managed encryption key that’s used to encrypt the contents of the Repository. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels with user-defined metadata. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.location">location</a></code> | <code>string</code> | The name of the location this repository is located in. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.mavenConfig">mavenConfig</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig">ArtifactRegistryRepositoryMavenConfig</a></code> | maven_config block. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#project ArtifactRegistryRepository#project}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts">ArtifactRegistryRepositoryTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `format`<sup>Required</sup> <a name="format" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.format"></a>

```typescript
public readonly format: string;
```

- *Type:* string

The format of packages that are stored in the repository.

Supported formats
can be found [here](https://cloud.google.com/artifact-registry/docs/supported-formats).
You can only create alpha formats if you are a member of the
[alpha user group](https://cloud.google.com/artifact-registry/docs/supported-formats#alpha-access).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#format ArtifactRegistryRepository#format}

---

##### `repositoryId`<sup>Required</sup> <a name="repositoryId" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.repositoryId"></a>

```typescript
public readonly repositoryId: string;
```

- *Type:* string

The last part of the repository name, for example: "repo1".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#repository_id ArtifactRegistryRepository#repository_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The user-provided description of the repository.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#description ArtifactRegistryRepository#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#id ArtifactRegistryRepository#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

The Cloud KMS resource name of the customer managed encryption key that’s used to encrypt the contents of the Repository.

Has the form:
'projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key'.
This value may not be changed after the Repository has been created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#kms_key_name ArtifactRegistryRepository#kms_key_name}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels with user-defined metadata.

This field may contain up to 64 entries. Label keys and values may be no
longer than 63 characters. Label keys must begin with a lowercase letter
and may only contain lowercase letters, numeric characters, underscores,
and dashes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#labels ArtifactRegistryRepository#labels}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The name of the location this repository is located in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#location ArtifactRegistryRepository#location}

---

##### `mavenConfig`<sup>Optional</sup> <a name="mavenConfig" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.mavenConfig"></a>

```typescript
public readonly mavenConfig: ArtifactRegistryRepositoryMavenConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig">ArtifactRegistryRepositoryMavenConfig</a>

maven_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#maven_config ArtifactRegistryRepository#maven_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#project ArtifactRegistryRepository#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ArtifactRegistryRepositoryConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ArtifactRegistryRepositoryTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts">ArtifactRegistryRepositoryTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#timeouts ArtifactRegistryRepository#timeouts}

---

### ArtifactRegistryRepositoryIamBindingCondition <a name="ArtifactRegistryRepositoryIamBindingCondition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryIamBindingCondition } from '@dschmidt/provider-google'

const artifactRegistryRepositoryIamBindingCondition: ArtifactRegistryRepositoryIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#expression ArtifactRegistryRepositoryIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#title ArtifactRegistryRepositoryIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#description ArtifactRegistryRepositoryIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#expression ArtifactRegistryRepositoryIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#title ArtifactRegistryRepositoryIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#description ArtifactRegistryRepositoryIamBinding#description}.

---

### ArtifactRegistryRepositoryIamBindingConfig <a name="ArtifactRegistryRepositoryIamBindingConfig" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryIamBindingConfig } from '@dschmidt/provider-google'

const artifactRegistryRepositoryIamBindingConfig: ArtifactRegistryRepositoryIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#members ArtifactRegistryRepositoryIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.repository">repository</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#repository ArtifactRegistryRepositoryIamBinding#repository}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#role ArtifactRegistryRepositoryIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition">ArtifactRegistryRepositoryIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#id ArtifactRegistryRepositoryIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#location ArtifactRegistryRepositoryIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#project ArtifactRegistryRepositoryIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#members ArtifactRegistryRepositoryIamBinding#members}.

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#repository ArtifactRegistryRepositoryIamBinding#repository}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#role ArtifactRegistryRepositoryIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ArtifactRegistryRepositoryIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingCondition">ArtifactRegistryRepositoryIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#condition ArtifactRegistryRepositoryIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#id ArtifactRegistryRepositoryIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#location ArtifactRegistryRepositoryIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_binding#project ArtifactRegistryRepositoryIamBinding#project}.

---

### ArtifactRegistryRepositoryIamMemberCondition <a name="ArtifactRegistryRepositoryIamMemberCondition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryIamMemberCondition } from '@dschmidt/provider-google'

const artifactRegistryRepositoryIamMemberCondition: ArtifactRegistryRepositoryIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#expression ArtifactRegistryRepositoryIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#title ArtifactRegistryRepositoryIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#description ArtifactRegistryRepositoryIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#expression ArtifactRegistryRepositoryIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#title ArtifactRegistryRepositoryIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#description ArtifactRegistryRepositoryIamMember#description}.

---

### ArtifactRegistryRepositoryIamMemberConfig <a name="ArtifactRegistryRepositoryIamMemberConfig" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryIamMemberConfig } from '@dschmidt/provider-google'

const artifactRegistryRepositoryIamMemberConfig: ArtifactRegistryRepositoryIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#member ArtifactRegistryRepositoryIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.repository">repository</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#repository ArtifactRegistryRepositoryIamMember#repository}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#role ArtifactRegistryRepositoryIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition">ArtifactRegistryRepositoryIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#id ArtifactRegistryRepositoryIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#location ArtifactRegistryRepositoryIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#project ArtifactRegistryRepositoryIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#member ArtifactRegistryRepositoryIamMember#member}.

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#repository ArtifactRegistryRepositoryIamMember#repository}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#role ArtifactRegistryRepositoryIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ArtifactRegistryRepositoryIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberCondition">ArtifactRegistryRepositoryIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#condition ArtifactRegistryRepositoryIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#id ArtifactRegistryRepositoryIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#location ArtifactRegistryRepositoryIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_member#project ArtifactRegistryRepositoryIamMember#project}.

---

### ArtifactRegistryRepositoryIamPolicyConfig <a name="ArtifactRegistryRepositoryIamPolicyConfig" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryIamPolicyConfig } from '@dschmidt/provider-google'

const artifactRegistryRepositoryIamPolicyConfig: ArtifactRegistryRepositoryIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#policy_data ArtifactRegistryRepositoryIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.repository">repository</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#repository ArtifactRegistryRepositoryIamPolicy#repository}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#id ArtifactRegistryRepositoryIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#location ArtifactRegistryRepositoryIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#project ArtifactRegistryRepositoryIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#policy_data ArtifactRegistryRepositoryIamPolicy#policy_data}.

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#repository ArtifactRegistryRepositoryIamPolicy#repository}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#id ArtifactRegistryRepositoryIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#location ArtifactRegistryRepositoryIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ArtifactRegistryRepositoryIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository_iam_policy#project ArtifactRegistryRepositoryIamPolicy#project}.

---

### ArtifactRegistryRepositoryMavenConfig <a name="ArtifactRegistryRepositoryMavenConfig" id="@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryMavenConfig } from '@dschmidt/provider-google'

const artifactRegistryRepositoryMavenConfig: ArtifactRegistryRepositoryMavenConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig.property.allowSnapshotOverwrites">allowSnapshotOverwrites</a></code> | <code>boolean \| cdktf.IResolvable</code> | The repository with this flag will allow publishing the same snapshot versions. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig.property.versionPolicy">versionPolicy</a></code> | <code>string</code> | Version policy defines the versions that the registry will accept. Default value: "VERSION_POLICY_UNSPECIFIED" Possible values: ["VERSION_POLICY_UNSPECIFIED", "RELEASE", "SNAPSHOT"]. |

---

##### `allowSnapshotOverwrites`<sup>Optional</sup> <a name="allowSnapshotOverwrites" id="@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig.property.allowSnapshotOverwrites"></a>

```typescript
public readonly allowSnapshotOverwrites: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The repository with this flag will allow publishing the same snapshot versions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#allow_snapshot_overwrites ArtifactRegistryRepository#allow_snapshot_overwrites}

---

##### `versionPolicy`<sup>Optional</sup> <a name="versionPolicy" id="@dschmidt/provider-google.ArtifactRegistryRepositoryMavenConfig.property.versionPolicy"></a>

```typescript
public readonly versionPolicy: string;
```

- *Type:* string

Version policy defines the versions that the registry will accept. Default value: "VERSION_POLICY_UNSPECIFIED" Possible values: ["VERSION_POLICY_UNSPECIFIED", "RELEASE", "SNAPSHOT"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#version_policy ArtifactRegistryRepository#version_policy}

---

### ArtifactRegistryRepositoryTimeouts <a name="ArtifactRegistryRepositoryTimeouts" id="@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts.Initializer"></a>

```typescript
import { ArtifactRegistryRepositoryTimeouts } from '@dschmidt/provider-google'

const artifactRegistryRepositoryTimeouts: ArtifactRegistryRepositoryTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#create ArtifactRegistryRepository#create}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#delete ArtifactRegistryRepository#delete}. |
| <code><a href="#@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#update ArtifactRegistryRepository#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#create ArtifactRegistryRepository#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#delete ArtifactRegistryRepository#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ArtifactRegistryRepositoryTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/artifact_registry_repository#update ArtifactRegistryRepository#update}.

---

### AssuredWorkloadsWorkloadConfig <a name="AssuredWorkloadsWorkloadConfig" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.Initializer"></a>

```typescript
import { AssuredWorkloadsWorkloadConfig } from '@dschmidt/provider-google'

const assuredWorkloadsWorkloadConfig: AssuredWorkloadsWorkloadConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.billingAccount">billingAccount</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.complianceRegime">complianceRegime</a></code> | <code>string</code> | Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.displayName">displayName</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.organization">organization</a></code> | <code>string</code> | The organization for the resource. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#id AssuredWorkloadsWorkload#id}. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.kmsSettings">kmsSettings</a></code> | <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings">AssuredWorkloadsWorkloadKmsSettings</a></code> | kms_settings block. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. Labels applied to the workload. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.provisionedResourcesParent">provisionedResourcesParent</a></code> | <code>string</code> | Input only. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.resourceSettings">resourceSettings</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings">AssuredWorkloadsWorkloadResourceSettings</a>[]</code> | resource_settings block. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts">AssuredWorkloadsWorkloadTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

Required.

Input only. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, 'billingAccounts/012345-567890-ABCDEF`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#billing_account AssuredWorkloadsWorkload#billing_account}

---

##### `complianceRegime`<sup>Required</sup> <a name="complianceRegime" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.complianceRegime"></a>

```typescript
public readonly complianceRegime: string;
```

- *Type:* string

Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#compliance_regime AssuredWorkloadsWorkload#compliance_regime}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Required.

The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#display_name AssuredWorkloadsWorkload#display_name}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#location AssuredWorkloadsWorkload#location}

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

The organization for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#organization AssuredWorkloadsWorkload#organization}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#id AssuredWorkloadsWorkload#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `kmsSettings`<sup>Optional</sup> <a name="kmsSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.kmsSettings"></a>

```typescript
public readonly kmsSettings: AssuredWorkloadsWorkloadKmsSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings">AssuredWorkloadsWorkloadKmsSettings</a>

kms_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#kms_settings AssuredWorkloadsWorkload#kms_settings}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. Labels applied to the workload.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#labels AssuredWorkloadsWorkload#labels}

---

##### `provisionedResourcesParent`<sup>Optional</sup> <a name="provisionedResourcesParent" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.provisionedResourcesParent"></a>

```typescript
public readonly provisionedResourcesParent: string;
```

- *Type:* string

Input only.

The parent resource for the resources managed by this Assured Workload. May be either an organization or a folder. Must be the same or a child of the Workload parent. If not specified all resources are created under the Workload parent. Formats: folders/{folder_id}, organizations/{organization_id}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#provisioned_resources_parent AssuredWorkloadsWorkload#provisioned_resources_parent}

---

##### `resourceSettings`<sup>Optional</sup> <a name="resourceSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.resourceSettings"></a>

```typescript
public readonly resourceSettings: IResolvable | AssuredWorkloadsWorkloadResourceSettings[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings">AssuredWorkloadsWorkloadResourceSettings</a>[]

resource_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#resource_settings AssuredWorkloadsWorkload#resource_settings}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadConfig.property.timeouts"></a>

```typescript
public readonly timeouts: AssuredWorkloadsWorkloadTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts">AssuredWorkloadsWorkloadTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#timeouts AssuredWorkloadsWorkload#timeouts}

---

### AssuredWorkloadsWorkloadKmsSettings <a name="AssuredWorkloadsWorkloadKmsSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings.Initializer"></a>

```typescript
import { AssuredWorkloadsWorkloadKmsSettings } from '@dschmidt/provider-google'

const assuredWorkloadsWorkloadKmsSettings: AssuredWorkloadsWorkloadKmsSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings.property.nextRotationTime">nextRotationTime</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings.property.rotationPeriod">rotationPeriod</a></code> | <code>string</code> | Required. |

---

##### `nextRotationTime`<sup>Required</sup> <a name="nextRotationTime" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings.property.nextRotationTime"></a>

```typescript
public readonly nextRotationTime: string;
```

- *Type:* string

Required.

Input only. Immutable. The time at which the Key Management Service will automatically create a new version of the crypto key and mark it as the primary.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#next_rotation_time AssuredWorkloadsWorkload#next_rotation_time}

---

##### `rotationPeriod`<sup>Required</sup> <a name="rotationPeriod" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadKmsSettings.property.rotationPeriod"></a>

```typescript
public readonly rotationPeriod: string;
```

- *Type:* string

Required.

Input only. Immutable. will be advanced by this period when the Key Management Service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#rotation_period AssuredWorkloadsWorkload#rotation_period}

---

### AssuredWorkloadsWorkloadResources <a name="AssuredWorkloadsWorkloadResources" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadResources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadResources.Initializer"></a>

```typescript
import { AssuredWorkloadsWorkloadResources } from '@dschmidt/provider-google'

const assuredWorkloadsWorkloadResources: AssuredWorkloadsWorkloadResources = { ... }
```


### AssuredWorkloadsWorkloadResourceSettings <a name="AssuredWorkloadsWorkloadResourceSettings" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings.Initializer"></a>

```typescript
import { AssuredWorkloadsWorkloadResourceSettings } from '@dschmidt/provider-google'

const assuredWorkloadsWorkloadResourceSettings: AssuredWorkloadsWorkloadResourceSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings.property.resourceId">resourceId</a></code> | <code>string</code> | Resource identifier. For a project this represents project_number. If the project is already taken, the workload creation will fail. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings.property.resourceType">resourceType</a></code> | <code>string</code> | Indicates the type of resource. |

---

##### `resourceId`<sup>Optional</sup> <a name="resourceId" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings.property.resourceId"></a>

```typescript
public readonly resourceId: string;
```

- *Type:* string

Resource identifier. For a project this represents project_number. If the project is already taken, the workload creation will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#resource_id AssuredWorkloadsWorkload#resource_id}

---

##### `resourceType`<sup>Optional</sup> <a name="resourceType" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadResourceSettings.property.resourceType"></a>

```typescript
public readonly resourceType: string;
```

- *Type:* string

Indicates the type of resource.

This field should be specified to correspond the id to the right project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT) Possible values: RESOURCE_TYPE_UNSPECIFIED, CONSUMER_PROJECT, ENCRYPTION_KEYS_PROJECT, KEYRING, CONSUMER_FOLDER

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#resource_type AssuredWorkloadsWorkload#resource_type}

---

### AssuredWorkloadsWorkloadTimeouts <a name="AssuredWorkloadsWorkloadTimeouts" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts.Initializer"></a>

```typescript
import { AssuredWorkloadsWorkloadTimeouts } from '@dschmidt/provider-google'

const assuredWorkloadsWorkloadTimeouts: AssuredWorkloadsWorkloadTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#create AssuredWorkloadsWorkload#create}. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#delete AssuredWorkloadsWorkload#delete}. |
| <code><a href="#@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#update AssuredWorkloadsWorkload#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#create AssuredWorkloadsWorkload#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#delete AssuredWorkloadsWorkload#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.AssuredWorkloadsWorkloadTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/assured_workloads_workload#update AssuredWorkloadsWorkload#update}.

---

### BigqueryConnectionAws <a name="BigqueryConnectionAws" id="@dschmidt/provider-google.BigqueryConnectionAws"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionAws.Initializer"></a>

```typescript
import { BigqueryConnectionAws } from '@dschmidt/provider-google'

const bigqueryConnectionAws: BigqueryConnectionAws = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionAws.property.accessRole">accessRole</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionAwsAccessRole">BigqueryConnectionAwsAccessRole</a></code> | access_role block. |

---

##### `accessRole`<sup>Required</sup> <a name="accessRole" id="@dschmidt/provider-google.BigqueryConnectionAws.property.accessRole"></a>

```typescript
public readonly accessRole: BigqueryConnectionAwsAccessRole;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionAwsAccessRole">BigqueryConnectionAwsAccessRole</a>

access_role block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#access_role BigqueryConnection#access_role}

---

### BigqueryConnectionAwsAccessRole <a name="BigqueryConnectionAwsAccessRole" id="@dschmidt/provider-google.BigqueryConnectionAwsAccessRole"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionAwsAccessRole.Initializer"></a>

```typescript
import { BigqueryConnectionAwsAccessRole } from '@dschmidt/provider-google'

const bigqueryConnectionAwsAccessRole: BigqueryConnectionAwsAccessRole = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionAwsAccessRole.property.iamRoleId">iamRoleId</a></code> | <code>string</code> | The user’s AWS IAM Role that trusts the Google-owned AWS IAM user Connection. |

---

##### `iamRoleId`<sup>Required</sup> <a name="iamRoleId" id="@dschmidt/provider-google.BigqueryConnectionAwsAccessRole.property.iamRoleId"></a>

```typescript
public readonly iamRoleId: string;
```

- *Type:* string

The user’s AWS IAM Role that trusts the Google-owned AWS IAM user Connection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#iam_role_id BigqueryConnection#iam_role_id}

---

### BigqueryConnectionAzure <a name="BigqueryConnectionAzure" id="@dschmidt/provider-google.BigqueryConnectionAzure"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionAzure.Initializer"></a>

```typescript
import { BigqueryConnectionAzure } from '@dschmidt/provider-google'

const bigqueryConnectionAzure: BigqueryConnectionAzure = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionAzure.property.customerTenantId">customerTenantId</a></code> | <code>string</code> | The id of customer's directory that host the data. |

---

##### `customerTenantId`<sup>Required</sup> <a name="customerTenantId" id="@dschmidt/provider-google.BigqueryConnectionAzure.property.customerTenantId"></a>

```typescript
public readonly customerTenantId: string;
```

- *Type:* string

The id of customer's directory that host the data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#customer_tenant_id BigqueryConnection#customer_tenant_id}

---

### BigqueryConnectionCloudResource <a name="BigqueryConnectionCloudResource" id="@dschmidt/provider-google.BigqueryConnectionCloudResource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionCloudResource.Initializer"></a>

```typescript
import { BigqueryConnectionCloudResource } from '@dschmidt/provider-google'

const bigqueryConnectionCloudResource: BigqueryConnectionCloudResource = { ... }
```


### BigqueryConnectionCloudSpanner <a name="BigqueryConnectionCloudSpanner" id="@dschmidt/provider-google.BigqueryConnectionCloudSpanner"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionCloudSpanner.Initializer"></a>

```typescript
import { BigqueryConnectionCloudSpanner } from '@dschmidt/provider-google'

const bigqueryConnectionCloudSpanner: BigqueryConnectionCloudSpanner = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSpanner.property.database">database</a></code> | <code>string</code> | Cloud Spanner database in the form 'project/instance/database'. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSpanner.property.useParallelism">useParallelism</a></code> | <code>boolean \| cdktf.IResolvable</code> | If parallelism should be used when reading from Cloud Spanner. |

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.BigqueryConnectionCloudSpanner.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

Cloud Spanner database in the form 'project/instance/database'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#database BigqueryConnection#database}

---

##### `useParallelism`<sup>Optional</sup> <a name="useParallelism" id="@dschmidt/provider-google.BigqueryConnectionCloudSpanner.property.useParallelism"></a>

```typescript
public readonly useParallelism: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If parallelism should be used when reading from Cloud Spanner.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#use_parallelism BigqueryConnection#use_parallelism}

---

### BigqueryConnectionCloudSql <a name="BigqueryConnectionCloudSql" id="@dschmidt/provider-google.BigqueryConnectionCloudSql"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionCloudSql.Initializer"></a>

```typescript
import { BigqueryConnectionCloudSql } from '@dschmidt/provider-google'

const bigqueryConnectionCloudSql: BigqueryConnectionCloudSql = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSql.property.credential">credential</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSqlCredential">BigqueryConnectionCloudSqlCredential</a></code> | credential block. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSql.property.database">database</a></code> | <code>string</code> | Database name. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSql.property.instanceId">instanceId</a></code> | <code>string</code> | Cloud SQL instance ID in the form project:location:instance. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSql.property.type">type</a></code> | <code>string</code> | Type of the Cloud SQL database. Possible values: ["DATABASE_TYPE_UNSPECIFIED", "POSTGRES", "MYSQL"]. |

---

##### `credential`<sup>Required</sup> <a name="credential" id="@dschmidt/provider-google.BigqueryConnectionCloudSql.property.credential"></a>

```typescript
public readonly credential: BigqueryConnectionCloudSqlCredential;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudSqlCredential">BigqueryConnectionCloudSqlCredential</a>

credential block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#credential BigqueryConnection#credential}

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.BigqueryConnectionCloudSql.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

Database name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#database BigqueryConnection#database}

---

##### `instanceId`<sup>Required</sup> <a name="instanceId" id="@dschmidt/provider-google.BigqueryConnectionCloudSql.property.instanceId"></a>

```typescript
public readonly instanceId: string;
```

- *Type:* string

Cloud SQL instance ID in the form project:location:instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#instance_id BigqueryConnection#instance_id}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.BigqueryConnectionCloudSql.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Type of the Cloud SQL database. Possible values: ["DATABASE_TYPE_UNSPECIFIED", "POSTGRES", "MYSQL"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#type BigqueryConnection#type}

---

### BigqueryConnectionCloudSqlCredential <a name="BigqueryConnectionCloudSqlCredential" id="@dschmidt/provider-google.BigqueryConnectionCloudSqlCredential"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionCloudSqlCredential.Initializer"></a>

```typescript
import { BigqueryConnectionCloudSqlCredential } from '@dschmidt/provider-google'

const bigqueryConnectionCloudSqlCredential: BigqueryConnectionCloudSqlCredential = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSqlCredential.property.password">password</a></code> | <code>string</code> | Password for database. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSqlCredential.property.username">username</a></code> | <code>string</code> | Username for database. |

---

##### `password`<sup>Required</sup> <a name="password" id="@dschmidt/provider-google.BigqueryConnectionCloudSqlCredential.property.password"></a>

```typescript
public readonly password: string;
```

- *Type:* string

Password for database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#password BigqueryConnection#password}

---

##### `username`<sup>Required</sup> <a name="username" id="@dschmidt/provider-google.BigqueryConnectionCloudSqlCredential.property.username"></a>

```typescript
public readonly username: string;
```

- *Type:* string

Username for database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#username BigqueryConnection#username}

---

### BigqueryConnectionConfig <a name="BigqueryConnectionConfig" id="@dschmidt/provider-google.BigqueryConnectionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionConfig.Initializer"></a>

```typescript
import { BigqueryConnectionConfig } from '@dschmidt/provider-google'

const bigqueryConnectionConfig: BigqueryConnectionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.aws">aws</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionAws">BigqueryConnectionAws</a></code> | aws block. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.azure">azure</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionAzure">BigqueryConnectionAzure</a></code> | azure block. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.cloudResource">cloudResource</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudResource">BigqueryConnectionCloudResource</a></code> | cloud_resource block. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.cloudSpanner">cloudSpanner</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSpanner">BigqueryConnectionCloudSpanner</a></code> | cloud_spanner block. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.cloudSql">cloudSql</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionCloudSql">BigqueryConnectionCloudSql</a></code> | cloud_sql block. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.connectionId">connectionId</a></code> | <code>string</code> | Optional connection id that should be assigned to the created connection. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.description">description</a></code> | <code>string</code> | A descriptive description for the connection. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.friendlyName">friendlyName</a></code> | <code>string</code> | A descriptive name for the connection. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#id BigqueryConnection#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.location">location</a></code> | <code>string</code> | The geographic location where the connection should reside. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#project BigqueryConnection#project}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionTimeouts">BigqueryConnectionTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `aws`<sup>Optional</sup> <a name="aws" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.aws"></a>

```typescript
public readonly aws: BigqueryConnectionAws;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionAws">BigqueryConnectionAws</a>

aws block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#aws BigqueryConnection#aws}

---

##### `azure`<sup>Optional</sup> <a name="azure" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.azure"></a>

```typescript
public readonly azure: BigqueryConnectionAzure;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionAzure">BigqueryConnectionAzure</a>

azure block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#azure BigqueryConnection#azure}

---

##### `cloudResource`<sup>Optional</sup> <a name="cloudResource" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.cloudResource"></a>

```typescript
public readonly cloudResource: BigqueryConnectionCloudResource;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudResource">BigqueryConnectionCloudResource</a>

cloud_resource block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#cloud_resource BigqueryConnection#cloud_resource}

---

##### `cloudSpanner`<sup>Optional</sup> <a name="cloudSpanner" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.cloudSpanner"></a>

```typescript
public readonly cloudSpanner: BigqueryConnectionCloudSpanner;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudSpanner">BigqueryConnectionCloudSpanner</a>

cloud_spanner block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#cloud_spanner BigqueryConnection#cloud_spanner}

---

##### `cloudSql`<sup>Optional</sup> <a name="cloudSql" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.cloudSql"></a>

```typescript
public readonly cloudSql: BigqueryConnectionCloudSql;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionCloudSql">BigqueryConnectionCloudSql</a>

cloud_sql block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#cloud_sql BigqueryConnection#cloud_sql}

---

##### `connectionId`<sup>Optional</sup> <a name="connectionId" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.connectionId"></a>

```typescript
public readonly connectionId: string;
```

- *Type:* string

Optional connection id that should be assigned to the created connection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#connection_id BigqueryConnection#connection_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A descriptive description for the connection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#description BigqueryConnection#description}

---

##### `friendlyName`<sup>Optional</sup> <a name="friendlyName" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.friendlyName"></a>

```typescript
public readonly friendlyName: string;
```

- *Type:* string

A descriptive name for the connection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#friendly_name BigqueryConnection#friendly_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#id BigqueryConnection#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The geographic location where the connection should reside.

Cloud SQL instance must be in the same location as the connection
with following exceptions: Cloud SQL us-central1 maps to BigQuery US, Cloud SQL europe-west1 maps to BigQuery EU.
Examples: US, EU, asia-northeast1, us-central1, europe-west1.
Spanner Connections same as spanner region
AWS allowed regions are aws-us-east-1
Azure allowed regions are azure-eastus2

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#location BigqueryConnection#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#project BigqueryConnection#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryConnectionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryConnectionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionTimeouts">BigqueryConnectionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#timeouts BigqueryConnection#timeouts}

---

### BigqueryConnectionIamBindingCondition <a name="BigqueryConnectionIamBindingCondition" id="@dschmidt/provider-google.BigqueryConnectionIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionIamBindingCondition.Initializer"></a>

```typescript
import { BigqueryConnectionIamBindingCondition } from '@dschmidt/provider-google'

const bigqueryConnectionIamBindingCondition: BigqueryConnectionIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#expression BigqueryConnectionIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#title BigqueryConnectionIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#description BigqueryConnectionIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigqueryConnectionIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#expression BigqueryConnectionIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigqueryConnectionIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#title BigqueryConnectionIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryConnectionIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#description BigqueryConnectionIamBinding#description}.

---

### BigqueryConnectionIamBindingConfig <a name="BigqueryConnectionIamBindingConfig" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.Initializer"></a>

```typescript
import { BigqueryConnectionIamBindingConfig } from '@dschmidt/provider-google'

const bigqueryConnectionIamBindingConfig: BigqueryConnectionIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.connectionId">connectionId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#connection_id BigqueryConnectionIamBinding#connection_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#members BigqueryConnectionIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#role BigqueryConnectionIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingCondition">BigqueryConnectionIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#id BigqueryConnectionIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#location BigqueryConnectionIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#project BigqueryConnectionIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `connectionId`<sup>Required</sup> <a name="connectionId" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.connectionId"></a>

```typescript
public readonly connectionId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#connection_id BigqueryConnectionIamBinding#connection_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#members BigqueryConnectionIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#role BigqueryConnectionIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: BigqueryConnectionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamBindingCondition">BigqueryConnectionIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#condition BigqueryConnectionIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#id BigqueryConnectionIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#location BigqueryConnectionIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryConnectionIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_binding#project BigqueryConnectionIamBinding#project}.

---

### BigqueryConnectionIamMemberCondition <a name="BigqueryConnectionIamMemberCondition" id="@dschmidt/provider-google.BigqueryConnectionIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionIamMemberCondition.Initializer"></a>

```typescript
import { BigqueryConnectionIamMemberCondition } from '@dschmidt/provider-google'

const bigqueryConnectionIamMemberCondition: BigqueryConnectionIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#expression BigqueryConnectionIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#title BigqueryConnectionIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#description BigqueryConnectionIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigqueryConnectionIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#expression BigqueryConnectionIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigqueryConnectionIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#title BigqueryConnectionIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryConnectionIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#description BigqueryConnectionIamMember#description}.

---

### BigqueryConnectionIamMemberConfig <a name="BigqueryConnectionIamMemberConfig" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.Initializer"></a>

```typescript
import { BigqueryConnectionIamMemberConfig } from '@dschmidt/provider-google'

const bigqueryConnectionIamMemberConfig: BigqueryConnectionIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.connectionId">connectionId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#connection_id BigqueryConnectionIamMember#connection_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#member BigqueryConnectionIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#role BigqueryConnectionIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberCondition">BigqueryConnectionIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#id BigqueryConnectionIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#location BigqueryConnectionIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#project BigqueryConnectionIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `connectionId`<sup>Required</sup> <a name="connectionId" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.connectionId"></a>

```typescript
public readonly connectionId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#connection_id BigqueryConnectionIamMember#connection_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#member BigqueryConnectionIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#role BigqueryConnectionIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: BigqueryConnectionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryConnectionIamMemberCondition">BigqueryConnectionIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#condition BigqueryConnectionIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#id BigqueryConnectionIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#location BigqueryConnectionIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryConnectionIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_member#project BigqueryConnectionIamMember#project}.

---

### BigqueryConnectionIamPolicyConfig <a name="BigqueryConnectionIamPolicyConfig" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.Initializer"></a>

```typescript
import { BigqueryConnectionIamPolicyConfig } from '@dschmidt/provider-google'

const bigqueryConnectionIamPolicyConfig: BigqueryConnectionIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.connectionId">connectionId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#connection_id BigqueryConnectionIamPolicy#connection_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#policy_data BigqueryConnectionIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#id BigqueryConnectionIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#location BigqueryConnectionIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#project BigqueryConnectionIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `connectionId`<sup>Required</sup> <a name="connectionId" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.connectionId"></a>

```typescript
public readonly connectionId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#connection_id BigqueryConnectionIamPolicy#connection_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#policy_data BigqueryConnectionIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#id BigqueryConnectionIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#location BigqueryConnectionIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryConnectionIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection_iam_policy#project BigqueryConnectionIamPolicy#project}.

---

### BigqueryConnectionTimeouts <a name="BigqueryConnectionTimeouts" id="@dschmidt/provider-google.BigqueryConnectionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryConnectionTimeouts.Initializer"></a>

```typescript
import { BigqueryConnectionTimeouts } from '@dschmidt/provider-google'

const bigqueryConnectionTimeouts: BigqueryConnectionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#create BigqueryConnection#create}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#delete BigqueryConnection#delete}. |
| <code><a href="#@dschmidt/provider-google.BigqueryConnectionTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#update BigqueryConnection#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BigqueryConnectionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#create BigqueryConnection#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BigqueryConnectionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#delete BigqueryConnection#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.BigqueryConnectionTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_connection#update BigqueryConnection#update}.

---

### BigqueryDatasetAccess <a name="BigqueryDatasetAccess" id="@dschmidt/provider-google.BigqueryDatasetAccess"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetAccess.Initializer"></a>

```typescript
import { BigqueryDatasetAccess } from '@dschmidt/provider-google'

const bigqueryDatasetAccess: BigqueryDatasetAccess = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccess.property.dataset">dataset</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDataset">BigqueryDatasetAccessDataset</a></code> | dataset block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccess.property.domain">domain</a></code> | <code>string</code> | A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccess.property.groupByEmail">groupByEmail</a></code> | <code>string</code> | An email address of a Google Group to grant access to. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccess.property.role">role</a></code> | <code>string</code> | Describes the rights granted to the user specified by the other member of the access object. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccess.property.specialGroup">specialGroup</a></code> | <code>string</code> | A special group to grant access to. Possible values include:. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccess.property.userByEmail">userByEmail</a></code> | <code>string</code> | An email address of a user to grant access to. For example: fred@example.com. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccess.property.view">view</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessView">BigqueryDatasetAccessView</a></code> | view block. |

---

##### `dataset`<sup>Optional</sup> <a name="dataset" id="@dschmidt/provider-google.BigqueryDatasetAccess.property.dataset"></a>

```typescript
public readonly dataset: BigqueryDatasetAccessDataset;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessDataset">BigqueryDatasetAccessDataset</a>

dataset block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#dataset BigqueryDataset#dataset}

---

##### `domain`<sup>Optional</sup> <a name="domain" id="@dschmidt/provider-google.BigqueryDatasetAccess.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

A domain to grant access to. Any users signed in with the domain specified will be granted the specified access.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#domain BigqueryDataset#domain}

---

##### `groupByEmail`<sup>Optional</sup> <a name="groupByEmail" id="@dschmidt/provider-google.BigqueryDatasetAccess.property.groupByEmail"></a>

```typescript
public readonly groupByEmail: string;
```

- *Type:* string

An email address of a Google Group to grant access to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#group_by_email BigqueryDataset#group_by_email}

---

##### `role`<sup>Optional</sup> <a name="role" id="@dschmidt/provider-google.BigqueryDatasetAccess.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Describes the rights granted to the user specified by the other member of the access object.

Basic, predefined, and custom roles
are supported. Predefined roles that have equivalent basic roles
are swapped by the API to their basic counterparts. See
[official docs](https://cloud.google.com/bigquery/docs/access-control).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#role BigqueryDataset#role}

---

##### `specialGroup`<sup>Optional</sup> <a name="specialGroup" id="@dschmidt/provider-google.BigqueryDatasetAccess.property.specialGroup"></a>

```typescript
public readonly specialGroup: string;
```

- *Type:* string

A special group to grant access to. Possible values include:.

'projectOwners': Owners of the enclosing project.


'projectReaders': Readers of the enclosing project.


'projectWriters': Writers of the enclosing project.


'allAuthenticatedUsers': All authenticated BigQuery users.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#special_group BigqueryDataset#special_group}

---

##### `userByEmail`<sup>Optional</sup> <a name="userByEmail" id="@dschmidt/provider-google.BigqueryDatasetAccess.property.userByEmail"></a>

```typescript
public readonly userByEmail: string;
```

- *Type:* string

An email address of a user to grant access to. For example: fred@example.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#user_by_email BigqueryDataset#user_by_email}

---

##### `view`<sup>Optional</sup> <a name="view" id="@dschmidt/provider-google.BigqueryDatasetAccess.property.view"></a>

```typescript
public readonly view: BigqueryDatasetAccessView;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessView">BigqueryDatasetAccessView</a>

view block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#view BigqueryDataset#view}

---

### BigqueryDatasetAccessAConfig <a name="BigqueryDatasetAccessAConfig" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.Initializer"></a>

```typescript
import { BigqueryDatasetAccessAConfig } from '@dschmidt/provider-google'

const bigqueryDatasetAccessAConfig: BigqueryDatasetAccessAConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.datasetId">datasetId</a></code> | <code>string</code> | A unique ID for this dataset, without the project name. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.dataset">dataset</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetA">BigqueryDatasetAccessDatasetA</a></code> | dataset block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.domain">domain</a></code> | <code>string</code> | A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.groupByEmail">groupByEmail</a></code> | <code>string</code> | An email address of a Google Group to grant access to. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.iamMember">iamMember</a></code> | <code>string</code> | Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#id BigqueryDatasetAccessA#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#project BigqueryDatasetAccessA#project}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.role">role</a></code> | <code>string</code> | Describes the rights granted to the user specified by the other member of the access object. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.specialGroup">specialGroup</a></code> | <code>string</code> | A special group to grant access to. Possible values include:. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessTimeouts">BigqueryDatasetAccessTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.userByEmail">userByEmail</a></code> | <code>string</code> | An email address of a user to grant access to. For example: fred@example.com. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.view">view</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewA">BigqueryDatasetAccessViewA</a></code> | view block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

A unique ID for this dataset, without the project name.

The ID
must contain only letters (a-z, A-Z), numbers (0-9), or
underscores (_). The maximum length is 1,024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#dataset_id BigqueryDatasetAccessA#dataset_id}

---

##### `dataset`<sup>Optional</sup> <a name="dataset" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.dataset"></a>

```typescript
public readonly dataset: BigqueryDatasetAccessDatasetA;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetA">BigqueryDatasetAccessDatasetA</a>

dataset block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#dataset BigqueryDatasetAccessA#dataset}

---

##### `domain`<sup>Optional</sup> <a name="domain" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

A domain to grant access to. Any users signed in with the domain specified will be granted the specified access.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#domain BigqueryDatasetAccessA#domain}

---

##### `groupByEmail`<sup>Optional</sup> <a name="groupByEmail" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.groupByEmail"></a>

```typescript
public readonly groupByEmail: string;
```

- *Type:* string

An email address of a Google Group to grant access to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#group_by_email BigqueryDatasetAccessA#group_by_email}

---

##### `iamMember`<sup>Optional</sup> <a name="iamMember" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.iamMember"></a>

```typescript
public readonly iamMember: string;
```

- *Type:* string

Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group.

For example: 'allUsers'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#iam_member BigqueryDatasetAccessA#iam_member}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#id BigqueryDatasetAccessA#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#project BigqueryDatasetAccessA#project}.

---

##### `role`<sup>Optional</sup> <a name="role" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Describes the rights granted to the user specified by the other member of the access object.

Basic, predefined, and custom roles are
supported. Predefined roles that have equivalent basic roles are
swapped by the API to their basic counterparts, and will show a diff
post-create. See
[official docs](https://cloud.google.com/bigquery/docs/access-control).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#role BigqueryDatasetAccessA#role}

---

##### `specialGroup`<sup>Optional</sup> <a name="specialGroup" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.specialGroup"></a>

```typescript
public readonly specialGroup: string;
```

- *Type:* string

A special group to grant access to. Possible values include:.

'projectOwners': Owners of the enclosing project.


'projectReaders': Readers of the enclosing project.


'projectWriters': Writers of the enclosing project.


'allAuthenticatedUsers': All authenticated BigQuery users.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#special_group BigqueryDatasetAccessA#special_group}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryDatasetAccessTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessTimeouts">BigqueryDatasetAccessTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#timeouts BigqueryDatasetAccessA#timeouts}

---

##### `userByEmail`<sup>Optional</sup> <a name="userByEmail" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.userByEmail"></a>

```typescript
public readonly userByEmail: string;
```

- *Type:* string

An email address of a user to grant access to. For example: fred@example.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#user_by_email BigqueryDatasetAccessA#user_by_email}

---

##### `view`<sup>Optional</sup> <a name="view" id="@dschmidt/provider-google.BigqueryDatasetAccessAConfig.property.view"></a>

```typescript
public readonly view: BigqueryDatasetAccessViewA;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewA">BigqueryDatasetAccessViewA</a>

view block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#view BigqueryDatasetAccessA#view}

---

### BigqueryDatasetAccessDataset <a name="BigqueryDatasetAccessDataset" id="@dschmidt/provider-google.BigqueryDatasetAccessDataset"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetAccessDataset.Initializer"></a>

```typescript
import { BigqueryDatasetAccessDataset } from '@dschmidt/provider-google'

const bigqueryDatasetAccessDataset: BigqueryDatasetAccessDataset = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDataset.property.dataset">dataset</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetDataset">BigqueryDatasetAccessDatasetDataset</a></code> | dataset block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDataset.property.targetTypes">targetTypes</a></code> | <code>string[]</code> | Which resources in the dataset this entry applies to. |

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.BigqueryDatasetAccessDataset.property.dataset"></a>

```typescript
public readonly dataset: BigqueryDatasetAccessDatasetDataset;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetDataset">BigqueryDatasetAccessDatasetDataset</a>

dataset block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#dataset BigqueryDataset#dataset}

---

##### `targetTypes`<sup>Required</sup> <a name="targetTypes" id="@dschmidt/provider-google.BigqueryDatasetAccessDataset.property.targetTypes"></a>

```typescript
public readonly targetTypes: string[];
```

- *Type:* string[]

Which resources in the dataset this entry applies to.

Currently, only views are supported,
but additional target types may be added in the future. Possible values: VIEWS

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#target_types BigqueryDataset#target_types}

---

### BigqueryDatasetAccessDatasetA <a name="BigqueryDatasetAccessDatasetA" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetA.Initializer"></a>

```typescript
import { BigqueryDatasetAccessDatasetA } from '@dschmidt/provider-google'

const bigqueryDatasetAccessDatasetA: BigqueryDatasetAccessDatasetA = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetA.property.dataset">dataset</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetDatasetA">BigqueryDatasetAccessDatasetDatasetA</a></code> | dataset block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetA.property.targetTypes">targetTypes</a></code> | <code>string[]</code> | Which resources in the dataset this entry applies to. |

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetA.property.dataset"></a>

```typescript
public readonly dataset: BigqueryDatasetAccessDatasetDatasetA;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetDatasetA">BigqueryDatasetAccessDatasetDatasetA</a>

dataset block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#dataset BigqueryDatasetAccessA#dataset}

---

##### `targetTypes`<sup>Required</sup> <a name="targetTypes" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetA.property.targetTypes"></a>

```typescript
public readonly targetTypes: string[];
```

- *Type:* string[]

Which resources in the dataset this entry applies to.

Currently, only views are supported,
but additional target types may be added in the future. Possible values: VIEWS

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#target_types BigqueryDatasetAccessA#target_types}

---

### BigqueryDatasetAccessDatasetDataset <a name="BigqueryDatasetAccessDatasetDataset" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetDataset"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetDataset.Initializer"></a>

```typescript
import { BigqueryDatasetAccessDatasetDataset } from '@dschmidt/provider-google'

const bigqueryDatasetAccessDatasetDataset: BigqueryDatasetAccessDatasetDataset = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetDataset.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetDataset.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetDataset.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#dataset_id BigqueryDataset#dataset_id}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetDataset.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#project_id BigqueryDataset#project_id}

---

### BigqueryDatasetAccessDatasetDatasetA <a name="BigqueryDatasetAccessDatasetDatasetA" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetDatasetA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetDatasetA.Initializer"></a>

```typescript
import { BigqueryDatasetAccessDatasetDatasetA } from '@dschmidt/provider-google'

const bigqueryDatasetAccessDatasetDatasetA: BigqueryDatasetAccessDatasetDatasetA = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetDatasetA.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessDatasetDatasetA.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetDatasetA.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#dataset_id BigqueryDatasetAccessA#dataset_id}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryDatasetAccessDatasetDatasetA.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#project_id BigqueryDatasetAccessA#project_id}

---

### BigqueryDatasetAccessTimeouts <a name="BigqueryDatasetAccessTimeouts" id="@dschmidt/provider-google.BigqueryDatasetAccessTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetAccessTimeouts.Initializer"></a>

```typescript
import { BigqueryDatasetAccessTimeouts } from '@dschmidt/provider-google'

const bigqueryDatasetAccessTimeouts: BigqueryDatasetAccessTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#create BigqueryDatasetAccessA#create}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#delete BigqueryDatasetAccessA#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BigqueryDatasetAccessTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#create BigqueryDatasetAccessA#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BigqueryDatasetAccessTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#delete BigqueryDatasetAccessA#delete}.

---

### BigqueryDatasetAccessView <a name="BigqueryDatasetAccessView" id="@dschmidt/provider-google.BigqueryDatasetAccessView"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetAccessView.Initializer"></a>

```typescript
import { BigqueryDatasetAccessView } from '@dschmidt/provider-google'

const bigqueryDatasetAccessView: BigqueryDatasetAccessView = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessView.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessView.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessView.property.tableId">tableId</a></code> | <code>string</code> | The ID of the table. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetAccessView.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#dataset_id BigqueryDataset#dataset_id}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryDatasetAccessView.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#project_id BigqueryDataset#project_id}

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryDatasetAccessView.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

The ID of the table.

The ID must contain only letters (a-z,
A-Z), numbers (0-9), or underscores (_). The maximum length
is 1,024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#table_id BigqueryDataset#table_id}

---

### BigqueryDatasetAccessViewA <a name="BigqueryDatasetAccessViewA" id="@dschmidt/provider-google.BigqueryDatasetAccessViewA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetAccessViewA.Initializer"></a>

```typescript
import { BigqueryDatasetAccessViewA } from '@dschmidt/provider-google'

const bigqueryDatasetAccessViewA: BigqueryDatasetAccessViewA = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewA.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewA.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetAccessViewA.property.tableId">tableId</a></code> | <code>string</code> | The ID of the table. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetAccessViewA.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#dataset_id BigqueryDatasetAccessA#dataset_id}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryDatasetAccessViewA.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#project_id BigqueryDatasetAccessA#project_id}

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryDatasetAccessViewA.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

The ID of the table.

The ID must contain only letters (a-z,
A-Z), numbers (0-9), or underscores (_). The maximum length
is 1,024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_access#table_id BigqueryDatasetAccessA#table_id}

---

### BigqueryDatasetConfig <a name="BigqueryDatasetConfig" id="@dschmidt/provider-google.BigqueryDatasetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetConfig.Initializer"></a>

```typescript
import { BigqueryDatasetConfig } from '@dschmidt/provider-google'

const bigqueryDatasetConfig: BigqueryDatasetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.datasetId">datasetId</a></code> | <code>string</code> | A unique ID for this dataset, without the project name. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.access">access</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryDatasetAccess">BigqueryDatasetAccess</a>[]</code> | access block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.defaultEncryptionConfiguration">defaultEncryptionConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfiguration">BigqueryDatasetDefaultEncryptionConfiguration</a></code> | default_encryption_configuration block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.defaultPartitionExpirationMs">defaultPartitionExpirationMs</a></code> | <code>number</code> | The default partition expiration for all partitioned tables in the dataset, in milliseconds. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.defaultTableExpirationMs">defaultTableExpirationMs</a></code> | <code>number</code> | The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.deleteContentsOnDestroy">deleteContentsOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#delete_contents_on_destroy BigqueryDataset#delete_contents_on_destroy}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.description">description</a></code> | <code>string</code> | A user-friendly description of the dataset. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.friendlyName">friendlyName</a></code> | <code>string</code> | A descriptive name for the dataset. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#id BigqueryDataset#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The labels associated with this dataset. You can use these to organize and group your datasets. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.location">location</a></code> | <code>string</code> | The geographic location where the dataset should reside. See [official docs](https://cloud.google.com/bigquery/docs/dataset-locations). |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#project BigqueryDataset#project}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetTimeouts">BigqueryDatasetTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

A unique ID for this dataset, without the project name.

The ID
must contain only letters (a-z, A-Z), numbers (0-9), or
underscores (_). The maximum length is 1,024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#dataset_id BigqueryDataset#dataset_id}

---

##### `access`<sup>Optional</sup> <a name="access" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.access"></a>

```typescript
public readonly access: IResolvable | BigqueryDatasetAccess[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryDatasetAccess">BigqueryDatasetAccess</a>[]

access block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#access BigqueryDataset#access}

---

##### `defaultEncryptionConfiguration`<sup>Optional</sup> <a name="defaultEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.defaultEncryptionConfiguration"></a>

```typescript
public readonly defaultEncryptionConfiguration: BigqueryDatasetDefaultEncryptionConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfiguration">BigqueryDatasetDefaultEncryptionConfiguration</a>

default_encryption_configuration block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#default_encryption_configuration BigqueryDataset#default_encryption_configuration}

---

##### `defaultPartitionExpirationMs`<sup>Optional</sup> <a name="defaultPartitionExpirationMs" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.defaultPartitionExpirationMs"></a>

```typescript
public readonly defaultPartitionExpirationMs: number;
```

- *Type:* number

The default partition expiration for all partitioned tables in the dataset, in milliseconds.

Once this property is set, all newly-created partitioned tables in
the dataset will have an 'expirationMs' property in the 'timePartitioning'
settings set to this value, and changing the value will only
affect new tables, not existing ones. The storage in a partition will
have an expiration time of its partition time plus this value.
Setting this property overrides the use of 'defaultTableExpirationMs'
for partitioned tables: only one of 'defaultTableExpirationMs' and
'defaultPartitionExpirationMs' will be used for any new partitioned
table. If you provide an explicit 'timePartitioning.expirationMs' when
creating or updating a partitioned table, that value takes precedence
over the default partition expiration time indicated by this property.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#default_partition_expiration_ms BigqueryDataset#default_partition_expiration_ms}

---

##### `defaultTableExpirationMs`<sup>Optional</sup> <a name="defaultTableExpirationMs" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.defaultTableExpirationMs"></a>

```typescript
public readonly defaultTableExpirationMs: number;
```

- *Type:* number

The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour).

Once this property is set, all newly-created tables in the dataset
will have an 'expirationTime' property set to the creation time plus
the value in this property, and changing the value will only affect
new tables, not existing ones. When the 'expirationTime' for a given
table is reached, that table will be deleted automatically.
If a table's 'expirationTime' is modified or removed before the
table expires, or if you provide an explicit 'expirationTime' when
creating a table, that value takes precedence over the default
expiration time indicated by this property.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#default_table_expiration_ms BigqueryDataset#default_table_expiration_ms}

---

##### `deleteContentsOnDestroy`<sup>Optional</sup> <a name="deleteContentsOnDestroy" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.deleteContentsOnDestroy"></a>

```typescript
public readonly deleteContentsOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#delete_contents_on_destroy BigqueryDataset#delete_contents_on_destroy}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A user-friendly description of the dataset.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#description BigqueryDataset#description}

---

##### `friendlyName`<sup>Optional</sup> <a name="friendlyName" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.friendlyName"></a>

```typescript
public readonly friendlyName: string;
```

- *Type:* string

A descriptive name for the dataset.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#friendly_name BigqueryDataset#friendly_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#id BigqueryDataset#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The labels associated with this dataset. You can use these to organize and group your datasets.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#labels BigqueryDataset#labels}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The geographic location where the dataset should reside. See [official docs](https://cloud.google.com/bigquery/docs/dataset-locations).

There are two types of locations, regional or multi-regional. A regional
location is a specific geographic place, such as Tokyo, and a multi-regional
location is a large geographic area, such as the United States, that
contains at least two geographic places.


The default value is multi-regional location 'US'.
Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#location BigqueryDataset#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#project BigqueryDataset#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryDatasetConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryDatasetTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetTimeouts">BigqueryDatasetTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#timeouts BigqueryDataset#timeouts}

---

### BigqueryDatasetDefaultEncryptionConfiguration <a name="BigqueryDatasetDefaultEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfiguration.Initializer"></a>

```typescript
import { BigqueryDatasetDefaultEncryptionConfiguration } from '@dschmidt/provider-google'

const bigqueryDatasetDefaultEncryptionConfiguration: BigqueryDatasetDefaultEncryptionConfiguration = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfiguration.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.BigqueryDatasetDefaultEncryptionConfiguration.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table.

The BigQuery Service Account associated with your project requires
access to this encryption key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#kms_key_name BigqueryDataset#kms_key_name}

---

### BigqueryDatasetIamBindingCondition <a name="BigqueryDatasetIamBindingCondition" id="@dschmidt/provider-google.BigqueryDatasetIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetIamBindingCondition.Initializer"></a>

```typescript
import { BigqueryDatasetIamBindingCondition } from '@dschmidt/provider-google'

const bigqueryDatasetIamBindingCondition: BigqueryDatasetIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#expression BigqueryDatasetIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#title BigqueryDatasetIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#description BigqueryDatasetIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigqueryDatasetIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#expression BigqueryDatasetIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigqueryDatasetIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#title BigqueryDatasetIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryDatasetIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#description BigqueryDatasetIamBinding#description}.

---

### BigqueryDatasetIamBindingConfig <a name="BigqueryDatasetIamBindingConfig" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.Initializer"></a>

```typescript
import { BigqueryDatasetIamBindingConfig } from '@dschmidt/provider-google'

const bigqueryDatasetIamBindingConfig: BigqueryDatasetIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.datasetId">datasetId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#dataset_id BigqueryDatasetIamBinding#dataset_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#members BigqueryDatasetIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#role BigqueryDatasetIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingCondition">BigqueryDatasetIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#id BigqueryDatasetIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#project BigqueryDatasetIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#dataset_id BigqueryDatasetIamBinding#dataset_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#members BigqueryDatasetIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#role BigqueryDatasetIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: BigqueryDatasetIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamBindingCondition">BigqueryDatasetIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#condition BigqueryDatasetIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#id BigqueryDatasetIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDatasetIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_binding#project BigqueryDatasetIamBinding#project}.

---

### BigqueryDatasetIamMemberCondition <a name="BigqueryDatasetIamMemberCondition" id="@dschmidt/provider-google.BigqueryDatasetIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetIamMemberCondition.Initializer"></a>

```typescript
import { BigqueryDatasetIamMemberCondition } from '@dschmidt/provider-google'

const bigqueryDatasetIamMemberCondition: BigqueryDatasetIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#expression BigqueryDatasetIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#title BigqueryDatasetIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#description BigqueryDatasetIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigqueryDatasetIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#expression BigqueryDatasetIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigqueryDatasetIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#title BigqueryDatasetIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryDatasetIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#description BigqueryDatasetIamMember#description}.

---

### BigqueryDatasetIamMemberConfig <a name="BigqueryDatasetIamMemberConfig" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.Initializer"></a>

```typescript
import { BigqueryDatasetIamMemberConfig } from '@dschmidt/provider-google'

const bigqueryDatasetIamMemberConfig: BigqueryDatasetIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.datasetId">datasetId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#dataset_id BigqueryDatasetIamMember#dataset_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#member BigqueryDatasetIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#role BigqueryDatasetIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberCondition">BigqueryDatasetIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#id BigqueryDatasetIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#project BigqueryDatasetIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#dataset_id BigqueryDatasetIamMember#dataset_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#member BigqueryDatasetIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#role BigqueryDatasetIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: BigqueryDatasetIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDatasetIamMemberCondition">BigqueryDatasetIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#condition BigqueryDatasetIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#id BigqueryDatasetIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDatasetIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_member#project BigqueryDatasetIamMember#project}.

---

### BigqueryDatasetIamPolicyConfig <a name="BigqueryDatasetIamPolicyConfig" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.Initializer"></a>

```typescript
import { BigqueryDatasetIamPolicyConfig } from '@dschmidt/provider-google'

const bigqueryDatasetIamPolicyConfig: BigqueryDatasetIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.datasetId">datasetId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_policy#dataset_id BigqueryDatasetIamPolicy#dataset_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_policy#policy_data BigqueryDatasetIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_policy#id BigqueryDatasetIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_policy#project BigqueryDatasetIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_policy#dataset_id BigqueryDatasetIamPolicy#dataset_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_policy#policy_data BigqueryDatasetIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_policy#id BigqueryDatasetIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDatasetIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset_iam_policy#project BigqueryDatasetIamPolicy#project}.

---

### BigqueryDatasetTimeouts <a name="BigqueryDatasetTimeouts" id="@dschmidt/provider-google.BigqueryDatasetTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDatasetTimeouts.Initializer"></a>

```typescript
import { BigqueryDatasetTimeouts } from '@dschmidt/provider-google'

const bigqueryDatasetTimeouts: BigqueryDatasetTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#create BigqueryDataset#create}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#delete BigqueryDataset#delete}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDatasetTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#update BigqueryDataset#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BigqueryDatasetTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#create BigqueryDataset#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BigqueryDatasetTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#delete BigqueryDataset#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.BigqueryDatasetTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_dataset#update BigqueryDataset#update}.

---

### BigqueryDataTransferConfigConfig <a name="BigqueryDataTransferConfigConfig" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.Initializer"></a>

```typescript
import { BigqueryDataTransferConfigConfig } from '@dschmidt/provider-google'

const bigqueryDataTransferConfigConfig: BigqueryDataTransferConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.dataSourceId">dataSourceId</a></code> | <code>string</code> | The data source id. Cannot be changed once the transfer config is created. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.displayName">displayName</a></code> | <code>string</code> | The user specified display name for the transfer config. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.params">params</a></code> | <code>{[ key: string ]: string}</code> | Parameters specific to each data source. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.dataRefreshWindowDays">dataRefreshWindowDays</a></code> | <code>number</code> | The number of days to look back to automatically refresh the data. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.destinationDatasetId">destinationDatasetId</a></code> | <code>string</code> | The BigQuery target dataset id. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | When set to true, no runs are scheduled for a given transfer. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.emailPreferences">emailPreferences</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferences">BigqueryDataTransferConfigEmailPreferences</a></code> | email_preferences block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#id BigqueryDataTransferConfig#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.location">location</a></code> | <code>string</code> | The geographic location where the transfer config should reside. Examples: US, EU, asia-northeast1. The default value is US. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.notificationPubsubTopic">notificationPubsubTopic</a></code> | <code>string</code> | Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#project BigqueryDataTransferConfig#project}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.schedule">schedule</a></code> | <code>string</code> | Data transfer schedule. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.scheduleOptions">scheduleOptions</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions">BigqueryDataTransferConfigScheduleOptions</a></code> | schedule_options block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.sensitiveParams">sensitiveParams</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParams">BigqueryDataTransferConfigSensitiveParams</a></code> | sensitive_params block. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.serviceAccountName">serviceAccountName</a></code> | <code>string</code> | Service account email. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts">BigqueryDataTransferConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dataSourceId`<sup>Required</sup> <a name="dataSourceId" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.dataSourceId"></a>

```typescript
public readonly dataSourceId: string;
```

- *Type:* string

The data source id. Cannot be changed once the transfer config is created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#data_source_id BigqueryDataTransferConfig#data_source_id}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The user specified display name for the transfer config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#display_name BigqueryDataTransferConfig#display_name}

---

##### `params`<sup>Required</sup> <a name="params" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.params"></a>

```typescript
public readonly params: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Parameters specific to each data source.

For more information see the bq tab in the 'Setting up a data transfer'
section for each data source. For example the parameters for Cloud Storage transfers are listed here:
https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq

*NOTE** : If you are attempting to update a parameter that cannot be updated (due to api limitations) [please force recreation of the resource](https://www.terraform.io/cli/state/taint#forcing-re-creation-of-resources).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#params BigqueryDataTransferConfig#params}

---

##### `dataRefreshWindowDays`<sup>Optional</sup> <a name="dataRefreshWindowDays" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.dataRefreshWindowDays"></a>

```typescript
public readonly dataRefreshWindowDays: number;
```

- *Type:* number

The number of days to look back to automatically refresh the data.

For example, if dataRefreshWindowDays = 10, then every day BigQuery
reingests data for [today-10, today-1], rather than ingesting data for
just [today-1]. Only valid if the data source supports the feature.
Set the value to 0 to use the default value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#data_refresh_window_days BigqueryDataTransferConfig#data_refresh_window_days}

---

##### `destinationDatasetId`<sup>Optional</sup> <a name="destinationDatasetId" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.destinationDatasetId"></a>

```typescript
public readonly destinationDatasetId: string;
```

- *Type:* string

The BigQuery target dataset id.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#destination_dataset_id BigqueryDataTransferConfig#destination_dataset_id}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When set to true, no runs are scheduled for a given transfer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#disabled BigqueryDataTransferConfig#disabled}

---

##### `emailPreferences`<sup>Optional</sup> <a name="emailPreferences" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.emailPreferences"></a>

```typescript
public readonly emailPreferences: BigqueryDataTransferConfigEmailPreferences;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferences">BigqueryDataTransferConfigEmailPreferences</a>

email_preferences block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#email_preferences BigqueryDataTransferConfig#email_preferences}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#id BigqueryDataTransferConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The geographic location where the transfer config should reside. Examples: US, EU, asia-northeast1. The default value is US.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#location BigqueryDataTransferConfig#location}

---

##### `notificationPubsubTopic`<sup>Optional</sup> <a name="notificationPubsubTopic" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.notificationPubsubTopic"></a>

```typescript
public readonly notificationPubsubTopic: string;
```

- *Type:* string

Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#notification_pubsub_topic BigqueryDataTransferConfig#notification_pubsub_topic}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#project BigqueryDataTransferConfig#project}.

---

##### `schedule`<sup>Optional</sup> <a name="schedule" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

Data transfer schedule.

If the data source does not support a custom
schedule, this should be empty. If it is empty, the default value for
the data source will be used. The specified times are in UTC. Examples
of valid format: 1st,3rd monday of month 15:30, every wed,fri of jan,
jun 13:15, and first sunday of quarter 00:00. See more explanation
about the format here:
https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format
NOTE: the granularity should be at least 8 hours, or less frequent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#schedule BigqueryDataTransferConfig#schedule}

---

##### `scheduleOptions`<sup>Optional</sup> <a name="scheduleOptions" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.scheduleOptions"></a>

```typescript
public readonly scheduleOptions: BigqueryDataTransferConfigScheduleOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions">BigqueryDataTransferConfigScheduleOptions</a>

schedule_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#schedule_options BigqueryDataTransferConfig#schedule_options}

---

##### `sensitiveParams`<sup>Optional</sup> <a name="sensitiveParams" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.sensitiveParams"></a>

```typescript
public readonly sensitiveParams: BigqueryDataTransferConfigSensitiveParams;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParams">BigqueryDataTransferConfigSensitiveParams</a>

sensitive_params block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#sensitive_params BigqueryDataTransferConfig#sensitive_params}

---

##### `serviceAccountName`<sup>Optional</sup> <a name="serviceAccountName" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.serviceAccountName"></a>

```typescript
public readonly serviceAccountName: string;
```

- *Type:* string

Service account email.

If this field is set, transfer config will
be created with this service account credentials. It requires that
requesting user calling this API has permissions to act as this service account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#service_account_name BigqueryDataTransferConfig#service_account_name}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryDataTransferConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryDataTransferConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts">BigqueryDataTransferConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#timeouts BigqueryDataTransferConfig#timeouts}

---

### BigqueryDataTransferConfigEmailPreferences <a name="BigqueryDataTransferConfigEmailPreferences" id="@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferences"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferences.Initializer"></a>

```typescript
import { BigqueryDataTransferConfigEmailPreferences } from '@dschmidt/provider-google'

const bigqueryDataTransferConfigEmailPreferences: BigqueryDataTransferConfigEmailPreferences = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferences.property.enableFailureEmail">enableFailureEmail</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, email notifications will be sent on transfer run failures. |

---

##### `enableFailureEmail`<sup>Required</sup> <a name="enableFailureEmail" id="@dschmidt/provider-google.BigqueryDataTransferConfigEmailPreferences.property.enableFailureEmail"></a>

```typescript
public readonly enableFailureEmail: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, email notifications will be sent on transfer run failures.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#enable_failure_email BigqueryDataTransferConfig#enable_failure_email}

---

### BigqueryDataTransferConfigScheduleOptions <a name="BigqueryDataTransferConfigScheduleOptions" id="@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions.Initializer"></a>

```typescript
import { BigqueryDataTransferConfigScheduleOptions } from '@dschmidt/provider-google'

const bigqueryDataTransferConfigScheduleOptions: BigqueryDataTransferConfigScheduleOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions.property.disableAutoScheduling">disableAutoScheduling</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, automatic scheduling of data transfer runs for this configuration will be disabled. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions.property.endTime">endTime</a></code> | <code>string</code> | Defines time to stop scheduling transfer runs. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions.property.startTime">startTime</a></code> | <code>string</code> | Specifies time to start scheduling transfer runs. |

---

##### `disableAutoScheduling`<sup>Optional</sup> <a name="disableAutoScheduling" id="@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions.property.disableAutoScheduling"></a>

```typescript
public readonly disableAutoScheduling: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, automatic scheduling of data transfer runs for this configuration will be disabled.

The runs can be started on ad-hoc
basis using transferConfigs.startManualRuns API. When automatic
scheduling is disabled, the TransferConfig.schedule field will
be ignored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#disable_auto_scheduling BigqueryDataTransferConfig#disable_auto_scheduling}

---

##### `endTime`<sup>Optional</sup> <a name="endTime" id="@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions.property.endTime"></a>

```typescript
public readonly endTime: string;
```

- *Type:* string

Defines time to stop scheduling transfer runs.

A transfer run cannot be
scheduled at or after the end time. The end time can be changed at any
moment. The time when a data transfer can be triggered manually is not
limited by this option.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#end_time BigqueryDataTransferConfig#end_time}

---

##### `startTime`<sup>Optional</sup> <a name="startTime" id="@dschmidt/provider-google.BigqueryDataTransferConfigScheduleOptions.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

Specifies time to start scheduling transfer runs.

The first run will be
scheduled at or after the start time according to a recurrence pattern
defined in the schedule string. The start time can be changed at any
moment. The time when a data transfer can be triggered manually is not
limited by this option.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#start_time BigqueryDataTransferConfig#start_time}

---

### BigqueryDataTransferConfigSensitiveParams <a name="BigqueryDataTransferConfigSensitiveParams" id="@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParams"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParams.Initializer"></a>

```typescript
import { BigqueryDataTransferConfigSensitiveParams } from '@dschmidt/provider-google'

const bigqueryDataTransferConfigSensitiveParams: BigqueryDataTransferConfigSensitiveParams = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParams.property.secretAccessKey">secretAccessKey</a></code> | <code>string</code> | The Secret Access Key of the AWS account transferring data from. |

---

##### `secretAccessKey`<sup>Required</sup> <a name="secretAccessKey" id="@dschmidt/provider-google.BigqueryDataTransferConfigSensitiveParams.property.secretAccessKey"></a>

```typescript
public readonly secretAccessKey: string;
```

- *Type:* string

The Secret Access Key of the AWS account transferring data from.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#secret_access_key BigqueryDataTransferConfig#secret_access_key}

---

### BigqueryDataTransferConfigTimeouts <a name="BigqueryDataTransferConfigTimeouts" id="@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts.Initializer"></a>

```typescript
import { BigqueryDataTransferConfigTimeouts } from '@dschmidt/provider-google'

const bigqueryDataTransferConfigTimeouts: BigqueryDataTransferConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#create BigqueryDataTransferConfig#create}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#delete BigqueryDataTransferConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#update BigqueryDataTransferConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#create BigqueryDataTransferConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#delete BigqueryDataTransferConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.BigqueryDataTransferConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_data_transfer_config#update BigqueryDataTransferConfig#update}.

---

### BigqueryJobConfig <a name="BigqueryJobConfig" id="@dschmidt/provider-google.BigqueryJobConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobConfig.Initializer"></a>

```typescript
import { BigqueryJobConfig } from '@dschmidt/provider-google'

const bigqueryJobConfig: BigqueryJobConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.jobId">jobId</a></code> | <code>string</code> | The ID of the job. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.copy">copy</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobCopy">BigqueryJobCopy</a></code> | copy block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.extract">extract</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobExtract">BigqueryJobExtract</a></code> | extract block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#id BigqueryJob#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.jobTimeoutMs">jobTimeoutMs</a></code> | <code>string</code> | Job timeout in milliseconds. If this time limit is exceeded, BigQuery may attempt to terminate the job. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The labels associated with this job. You can use these to organize and group your jobs. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.load">load</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobLoad">BigqueryJobLoad</a></code> | load block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.location">location</a></code> | <code>string</code> | The geographic location of the job. The default value is US. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#project BigqueryJob#project}. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.query">query</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobQuery">BigqueryJobQuery</a></code> | query block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobTimeouts">BigqueryJobTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryJobConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryJobConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryJobConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryJobConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryJobConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryJobConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryJobConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `jobId`<sup>Required</sup> <a name="jobId" id="@dschmidt/provider-google.BigqueryJobConfig.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

The ID of the job.

The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length is 1,024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#job_id BigqueryJob#job_id}

---

##### `copy`<sup>Optional</sup> <a name="copy" id="@dschmidt/provider-google.BigqueryJobConfig.property.copy"></a>

```typescript
public readonly copy: BigqueryJobCopy;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobCopy">BigqueryJobCopy</a>

copy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#copy BigqueryJob#copy}

---

##### `extract`<sup>Optional</sup> <a name="extract" id="@dschmidt/provider-google.BigqueryJobConfig.property.extract"></a>

```typescript
public readonly extract: BigqueryJobExtract;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobExtract">BigqueryJobExtract</a>

extract block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#extract BigqueryJob#extract}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryJobConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#id BigqueryJob#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `jobTimeoutMs`<sup>Optional</sup> <a name="jobTimeoutMs" id="@dschmidt/provider-google.BigqueryJobConfig.property.jobTimeoutMs"></a>

```typescript
public readonly jobTimeoutMs: string;
```

- *Type:* string

Job timeout in milliseconds. If this time limit is exceeded, BigQuery may attempt to terminate the job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#job_timeout_ms BigqueryJob#job_timeout_ms}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.BigqueryJobConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The labels associated with this job. You can use these to organize and group your jobs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#labels BigqueryJob#labels}

---

##### `load`<sup>Optional</sup> <a name="load" id="@dschmidt/provider-google.BigqueryJobConfig.property.load"></a>

```typescript
public readonly load: BigqueryJobLoad;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobLoad">BigqueryJobLoad</a>

load block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#load BigqueryJob#load}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.BigqueryJobConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The geographic location of the job. The default value is US.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#location BigqueryJob#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryJobConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#project BigqueryJob#project}.

---

##### `query`<sup>Optional</sup> <a name="query" id="@dschmidt/provider-google.BigqueryJobConfig.property.query"></a>

```typescript
public readonly query: BigqueryJobQuery;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobQuery">BigqueryJobQuery</a>

query block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#query BigqueryJob#query}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryJobConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryJobTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobTimeouts">BigqueryJobTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#timeouts BigqueryJob#timeouts}

---

### BigqueryJobCopy <a name="BigqueryJobCopy" id="@dschmidt/provider-google.BigqueryJobCopy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobCopy.Initializer"></a>

```typescript
import { BigqueryJobCopy } from '@dschmidt/provider-google'

const bigqueryJobCopy: BigqueryJobCopy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopy.property.sourceTables">sourceTables</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryJobCopySourceTables">BigqueryJobCopySourceTables</a>[]</code> | source_tables block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopy.property.createDisposition">createDisposition</a></code> | <code>string</code> | Specifies whether the job is allowed to create new tables. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopy.property.destinationEncryptionConfiguration">destinationEncryptionConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobCopyDestinationEncryptionConfiguration">BigqueryJobCopyDestinationEncryptionConfiguration</a></code> | destination_encryption_configuration block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopy.property.destinationTable">destinationTable</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobCopyDestinationTable">BigqueryJobCopyDestinationTable</a></code> | destination_table block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopy.property.writeDisposition">writeDisposition</a></code> | <code>string</code> | Specifies the action that occurs if the destination table already exists. |

---

##### `sourceTables`<sup>Required</sup> <a name="sourceTables" id="@dschmidt/provider-google.BigqueryJobCopy.property.sourceTables"></a>

```typescript
public readonly sourceTables: IResolvable | BigqueryJobCopySourceTables[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryJobCopySourceTables">BigqueryJobCopySourceTables</a>[]

source_tables block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#source_tables BigqueryJob#source_tables}

---

##### `createDisposition`<sup>Optional</sup> <a name="createDisposition" id="@dschmidt/provider-google.BigqueryJobCopy.property.createDisposition"></a>

```typescript
public readonly createDisposition: string;
```

- *Type:* string

Specifies whether the job is allowed to create new tables.

The following values are supported:
CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table.
CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result.
Creation, truncation and append actions occur as one atomic update upon job completion Default value: "CREATE_IF_NEEDED" Possible values: ["CREATE_IF_NEEDED", "CREATE_NEVER"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#create_disposition BigqueryJob#create_disposition}

---

##### `destinationEncryptionConfiguration`<sup>Optional</sup> <a name="destinationEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryJobCopy.property.destinationEncryptionConfiguration"></a>

```typescript
public readonly destinationEncryptionConfiguration: BigqueryJobCopyDestinationEncryptionConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobCopyDestinationEncryptionConfiguration">BigqueryJobCopyDestinationEncryptionConfiguration</a>

destination_encryption_configuration block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#destination_encryption_configuration BigqueryJob#destination_encryption_configuration}

---

##### `destinationTable`<sup>Optional</sup> <a name="destinationTable" id="@dschmidt/provider-google.BigqueryJobCopy.property.destinationTable"></a>

```typescript
public readonly destinationTable: BigqueryJobCopyDestinationTable;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobCopyDestinationTable">BigqueryJobCopyDestinationTable</a>

destination_table block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#destination_table BigqueryJob#destination_table}

---

##### `writeDisposition`<sup>Optional</sup> <a name="writeDisposition" id="@dschmidt/provider-google.BigqueryJobCopy.property.writeDisposition"></a>

```typescript
public readonly writeDisposition: string;
```

- *Type:* string

Specifies the action that occurs if the destination table already exists.

The following values are supported:
WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data and uses the schema from the query result.
WRITE_APPEND: If the table already exists, BigQuery appends the data to the table.
WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result.
Each action is atomic and only occurs if BigQuery is able to complete the job successfully.
Creation, truncation and append actions occur as one atomic update upon job completion. Default value: "WRITE_EMPTY" Possible values: ["WRITE_TRUNCATE", "WRITE_APPEND", "WRITE_EMPTY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#write_disposition BigqueryJob#write_disposition}

---

### BigqueryJobCopyDestinationEncryptionConfiguration <a name="BigqueryJobCopyDestinationEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryJobCopyDestinationEncryptionConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobCopyDestinationEncryptionConfiguration.Initializer"></a>

```typescript
import { BigqueryJobCopyDestinationEncryptionConfiguration } from '@dschmidt/provider-google'

const bigqueryJobCopyDestinationEncryptionConfiguration: BigqueryJobCopyDestinationEncryptionConfiguration = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopyDestinationEncryptionConfiguration.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.BigqueryJobCopyDestinationEncryptionConfiguration.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table.

The BigQuery Service Account associated with your project requires access to this encryption key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#kms_key_name BigqueryJob#kms_key_name}

---

### BigqueryJobCopyDestinationTable <a name="BigqueryJobCopyDestinationTable" id="@dschmidt/provider-google.BigqueryJobCopyDestinationTable"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobCopyDestinationTable.Initializer"></a>

```typescript
import { BigqueryJobCopyDestinationTable } from '@dschmidt/provider-google'

const bigqueryJobCopyDestinationTable: BigqueryJobCopyDestinationTable = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopyDestinationTable.property.tableId">tableId</a></code> | <code>string</code> | The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopyDestinationTable.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopyDestinationTable.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryJobCopyDestinationTable.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#table_id BigqueryJob#table_id}

---

##### `datasetId`<sup>Optional</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryJobCopyDestinationTable.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#dataset_id BigqueryJob#dataset_id}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryJobCopyDestinationTable.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#project_id BigqueryJob#project_id}

---

### BigqueryJobCopySourceTables <a name="BigqueryJobCopySourceTables" id="@dschmidt/provider-google.BigqueryJobCopySourceTables"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobCopySourceTables.Initializer"></a>

```typescript
import { BigqueryJobCopySourceTables } from '@dschmidt/provider-google'

const bigqueryJobCopySourceTables: BigqueryJobCopySourceTables = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopySourceTables.property.tableId">tableId</a></code> | <code>string</code> | The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopySourceTables.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobCopySourceTables.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryJobCopySourceTables.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#table_id BigqueryJob#table_id}

---

##### `datasetId`<sup>Optional</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryJobCopySourceTables.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#dataset_id BigqueryJob#dataset_id}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryJobCopySourceTables.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#project_id BigqueryJob#project_id}

---

### BigqueryJobExtract <a name="BigqueryJobExtract" id="@dschmidt/provider-google.BigqueryJobExtract"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobExtract.Initializer"></a>

```typescript
import { BigqueryJobExtract } from '@dschmidt/provider-google'

const bigqueryJobExtract: BigqueryJobExtract = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtract.property.destinationUris">destinationUris</a></code> | <code>string[]</code> | A list of fully-qualified Google Cloud Storage URIs where the extracted table should be written. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtract.property.compression">compression</a></code> | <code>string</code> | The compression type to use for exported files. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtract.property.destinationFormat">destinationFormat</a></code> | <code>string</code> | The exported file format. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtract.property.fieldDelimiter">fieldDelimiter</a></code> | <code>string</code> | When extracting data in CSV format, this defines the delimiter to use between fields in the exported data. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtract.property.printHeader">printHeader</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to print out a header row in the results. Default is true. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtract.property.sourceModel">sourceModel</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobExtractSourceModel">BigqueryJobExtractSourceModel</a></code> | source_model block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtract.property.sourceTable">sourceTable</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobExtractSourceTable">BigqueryJobExtractSourceTable</a></code> | source_table block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtract.property.useAvroLogicalTypes">useAvroLogicalTypes</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to use logical types when extracting to AVRO format. |

---

##### `destinationUris`<sup>Required</sup> <a name="destinationUris" id="@dschmidt/provider-google.BigqueryJobExtract.property.destinationUris"></a>

```typescript
public readonly destinationUris: string[];
```

- *Type:* string[]

A list of fully-qualified Google Cloud Storage URIs where the extracted table should be written.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#destination_uris BigqueryJob#destination_uris}

---

##### `compression`<sup>Optional</sup> <a name="compression" id="@dschmidt/provider-google.BigqueryJobExtract.property.compression"></a>

```typescript
public readonly compression: string;
```

- *Type:* string

The compression type to use for exported files.

Possible values include GZIP, DEFLATE, SNAPPY, and NONE.
The default value is NONE. DEFLATE and SNAPPY are only supported for Avro.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#compression BigqueryJob#compression}

---

##### `destinationFormat`<sup>Optional</sup> <a name="destinationFormat" id="@dschmidt/provider-google.BigqueryJobExtract.property.destinationFormat"></a>

```typescript
public readonly destinationFormat: string;
```

- *Type:* string

The exported file format.

Possible values include CSV, NEWLINE_DELIMITED_JSON and AVRO for tables and SAVED_MODEL for models.
The default value for tables is CSV. Tables with nested or repeated fields cannot be exported as CSV.
The default value for models is SAVED_MODEL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#destination_format BigqueryJob#destination_format}

---

##### `fieldDelimiter`<sup>Optional</sup> <a name="fieldDelimiter" id="@dschmidt/provider-google.BigqueryJobExtract.property.fieldDelimiter"></a>

```typescript
public readonly fieldDelimiter: string;
```

- *Type:* string

When extracting data in CSV format, this defines the delimiter to use between fields in the exported data.

Default is ','

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#field_delimiter BigqueryJob#field_delimiter}

---

##### `printHeader`<sup>Optional</sup> <a name="printHeader" id="@dschmidt/provider-google.BigqueryJobExtract.property.printHeader"></a>

```typescript
public readonly printHeader: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to print out a header row in the results. Default is true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#print_header BigqueryJob#print_header}

---

##### `sourceModel`<sup>Optional</sup> <a name="sourceModel" id="@dschmidt/provider-google.BigqueryJobExtract.property.sourceModel"></a>

```typescript
public readonly sourceModel: BigqueryJobExtractSourceModel;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobExtractSourceModel">BigqueryJobExtractSourceModel</a>

source_model block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#source_model BigqueryJob#source_model}

---

##### `sourceTable`<sup>Optional</sup> <a name="sourceTable" id="@dschmidt/provider-google.BigqueryJobExtract.property.sourceTable"></a>

```typescript
public readonly sourceTable: BigqueryJobExtractSourceTable;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobExtractSourceTable">BigqueryJobExtractSourceTable</a>

source_table block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#source_table BigqueryJob#source_table}

---

##### `useAvroLogicalTypes`<sup>Optional</sup> <a name="useAvroLogicalTypes" id="@dschmidt/provider-google.BigqueryJobExtract.property.useAvroLogicalTypes"></a>

```typescript
public readonly useAvroLogicalTypes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to use logical types when extracting to AVRO format.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#use_avro_logical_types BigqueryJob#use_avro_logical_types}

---

### BigqueryJobExtractSourceModel <a name="BigqueryJobExtractSourceModel" id="@dschmidt/provider-google.BigqueryJobExtractSourceModel"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobExtractSourceModel.Initializer"></a>

```typescript
import { BigqueryJobExtractSourceModel } from '@dschmidt/provider-google'

const bigqueryJobExtractSourceModel: BigqueryJobExtractSourceModel = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtractSourceModel.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this model. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtractSourceModel.property.modelId">modelId</a></code> | <code>string</code> | The ID of the model. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtractSourceModel.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this model. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryJobExtractSourceModel.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this model.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#dataset_id BigqueryJob#dataset_id}

---

##### `modelId`<sup>Required</sup> <a name="modelId" id="@dschmidt/provider-google.BigqueryJobExtractSourceModel.property.modelId"></a>

```typescript
public readonly modelId: string;
```

- *Type:* string

The ID of the model.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#model_id BigqueryJob#model_id}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryJobExtractSourceModel.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this model.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#project_id BigqueryJob#project_id}

---

### BigqueryJobExtractSourceTable <a name="BigqueryJobExtractSourceTable" id="@dschmidt/provider-google.BigqueryJobExtractSourceTable"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobExtractSourceTable.Initializer"></a>

```typescript
import { BigqueryJobExtractSourceTable } from '@dschmidt/provider-google'

const bigqueryJobExtractSourceTable: BigqueryJobExtractSourceTable = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtractSourceTable.property.tableId">tableId</a></code> | <code>string</code> | The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtractSourceTable.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobExtractSourceTable.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryJobExtractSourceTable.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#table_id BigqueryJob#table_id}

---

##### `datasetId`<sup>Optional</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryJobExtractSourceTable.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#dataset_id BigqueryJob#dataset_id}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryJobExtractSourceTable.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#project_id BigqueryJob#project_id}

---

### BigqueryJobLoad <a name="BigqueryJobLoad" id="@dschmidt/provider-google.BigqueryJobLoad"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobLoad.Initializer"></a>

```typescript
import { BigqueryJobLoad } from '@dschmidt/provider-google'

const bigqueryJobLoad: BigqueryJobLoad = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.destinationTable">destinationTable</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobLoadDestinationTable">BigqueryJobLoadDestinationTable</a></code> | destination_table block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.sourceUris">sourceUris</a></code> | <code>string[]</code> | The fully-qualified URIs that point to your data in Google Cloud. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.allowJaggedRows">allowJaggedRows</a></code> | <code>boolean \| cdktf.IResolvable</code> | Accept rows that are missing trailing optional columns. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.allowQuotedNewlines">allowQuotedNewlines</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.autodetect">autodetect</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if we should automatically infer the options and schema for CSV and JSON sources. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.createDisposition">createDisposition</a></code> | <code>string</code> | Specifies whether the job is allowed to create new tables. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.destinationEncryptionConfiguration">destinationEncryptionConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobLoadDestinationEncryptionConfiguration">BigqueryJobLoadDestinationEncryptionConfiguration</a></code> | destination_encryption_configuration block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.encoding">encoding</a></code> | <code>string</code> | The character encoding of the data. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.fieldDelimiter">fieldDelimiter</a></code> | <code>string</code> | The separator for fields in a CSV file. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.ignoreUnknownValues">ignoreUnknownValues</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if BigQuery should allow extra values that are not represented in the table schema. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.maxBadRecords">maxBadRecords</a></code> | <code>number</code> | The maximum number of bad records that BigQuery can ignore when running the job. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.nullMarker">nullMarker</a></code> | <code>string</code> | Specifies a string that represents a null value in a CSV file. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.projectionFields">projectionFields</a></code> | <code>string[]</code> | If sourceFormat is set to "DATASTORE_BACKUP", indicates which entity properties to load into BigQuery from a Cloud Datastore backup. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.quote">quote</a></code> | <code>string</code> | The value that is used to quote data sections in a CSV file. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.schemaUpdateOptions">schemaUpdateOptions</a></code> | <code>string[]</code> | Allows the schema of the destination table to be updated as a side effect of the load job if a schema is autodetected or supplied in the job configuration. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.skipLeadingRows">skipLeadingRows</a></code> | <code>number</code> | The number of rows at the top of a CSV file that BigQuery will skip when loading the data. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.sourceFormat">sourceFormat</a></code> | <code>string</code> | The format of the data files. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.timePartitioning">timePartitioning</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobLoadTimePartitioning">BigqueryJobLoadTimePartitioning</a></code> | time_partitioning block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoad.property.writeDisposition">writeDisposition</a></code> | <code>string</code> | Specifies the action that occurs if the destination table already exists. |

---

##### `destinationTable`<sup>Required</sup> <a name="destinationTable" id="@dschmidt/provider-google.BigqueryJobLoad.property.destinationTable"></a>

```typescript
public readonly destinationTable: BigqueryJobLoadDestinationTable;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobLoadDestinationTable">BigqueryJobLoadDestinationTable</a>

destination_table block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#destination_table BigqueryJob#destination_table}

---

##### `sourceUris`<sup>Required</sup> <a name="sourceUris" id="@dschmidt/provider-google.BigqueryJobLoad.property.sourceUris"></a>

```typescript
public readonly sourceUris: string[];
```

- *Type:* string[]

The fully-qualified URIs that point to your data in Google Cloud.

For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character
and it must come after the 'bucket' name. Size limits related to load jobs apply
to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be
specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table.
For Google Cloud Datastore backups: Exactly one URI can be specified. Also, the '*' wildcard character is not allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#source_uris BigqueryJob#source_uris}

---

##### `allowJaggedRows`<sup>Optional</sup> <a name="allowJaggedRows" id="@dschmidt/provider-google.BigqueryJobLoad.property.allowJaggedRows"></a>

```typescript
public readonly allowJaggedRows: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Accept rows that are missing trailing optional columns.

The missing values are treated as nulls.
If false, records with missing trailing columns are treated as bad records, and if there are too many bad records,
an invalid error is returned in the job result. The default value is false. Only applicable to CSV, ignored for other formats.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#allow_jagged_rows BigqueryJob#allow_jagged_rows}

---

##### `allowQuotedNewlines`<sup>Optional</sup> <a name="allowQuotedNewlines" id="@dschmidt/provider-google.BigqueryJobLoad.property.allowQuotedNewlines"></a>

```typescript
public readonly allowQuotedNewlines: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file.

The default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#allow_quoted_newlines BigqueryJob#allow_quoted_newlines}

---

##### `autodetect`<sup>Optional</sup> <a name="autodetect" id="@dschmidt/provider-google.BigqueryJobLoad.property.autodetect"></a>

```typescript
public readonly autodetect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if we should automatically infer the options and schema for CSV and JSON sources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#autodetect BigqueryJob#autodetect}

---

##### `createDisposition`<sup>Optional</sup> <a name="createDisposition" id="@dschmidt/provider-google.BigqueryJobLoad.property.createDisposition"></a>

```typescript
public readonly createDisposition: string;
```

- *Type:* string

Specifies whether the job is allowed to create new tables.

The following values are supported:
CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table.
CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result.
Creation, truncation and append actions occur as one atomic update upon job completion Default value: "CREATE_IF_NEEDED" Possible values: ["CREATE_IF_NEEDED", "CREATE_NEVER"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#create_disposition BigqueryJob#create_disposition}

---

##### `destinationEncryptionConfiguration`<sup>Optional</sup> <a name="destinationEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryJobLoad.property.destinationEncryptionConfiguration"></a>

```typescript
public readonly destinationEncryptionConfiguration: BigqueryJobLoadDestinationEncryptionConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobLoadDestinationEncryptionConfiguration">BigqueryJobLoadDestinationEncryptionConfiguration</a>

destination_encryption_configuration block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#destination_encryption_configuration BigqueryJob#destination_encryption_configuration}

---

##### `encoding`<sup>Optional</sup> <a name="encoding" id="@dschmidt/provider-google.BigqueryJobLoad.property.encoding"></a>

```typescript
public readonly encoding: string;
```

- *Type:* string

The character encoding of the data.

The supported values are UTF-8 or ISO-8859-1.
The default value is UTF-8. BigQuery decodes the data after the raw, binary data
has been split using the values of the quote and fieldDelimiter properties.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#encoding BigqueryJob#encoding}

---

##### `fieldDelimiter`<sup>Optional</sup> <a name="fieldDelimiter" id="@dschmidt/provider-google.BigqueryJobLoad.property.fieldDelimiter"></a>

```typescript
public readonly fieldDelimiter: string;
```

- *Type:* string

The separator for fields in a CSV file.

The separator can be any ISO-8859-1 single-byte character.
To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts
the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the
data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator.
The default value is a comma (',').

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#field_delimiter BigqueryJob#field_delimiter}

---

##### `ignoreUnknownValues`<sup>Optional</sup> <a name="ignoreUnknownValues" id="@dschmidt/provider-google.BigqueryJobLoad.property.ignoreUnknownValues"></a>

```typescript
public readonly ignoreUnknownValues: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if BigQuery should allow extra values that are not represented in the table schema.

If true, the extra values are ignored. If false, records with extra columns are treated as bad records,
and if there are too many bad records, an invalid error is returned in the job result.
The default value is false. The sourceFormat property determines what BigQuery treats as an extra value:
CSV: Trailing columns
JSON: Named values that don't match any column names

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#ignore_unknown_values BigqueryJob#ignore_unknown_values}

---

##### `maxBadRecords`<sup>Optional</sup> <a name="maxBadRecords" id="@dschmidt/provider-google.BigqueryJobLoad.property.maxBadRecords"></a>

```typescript
public readonly maxBadRecords: number;
```

- *Type:* number

The maximum number of bad records that BigQuery can ignore when running the job.

If the number of bad records exceeds this value,
an invalid error is returned in the job result. The default value is 0, which requires that all records are valid.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#max_bad_records BigqueryJob#max_bad_records}

---

##### `nullMarker`<sup>Optional</sup> <a name="nullMarker" id="@dschmidt/provider-google.BigqueryJobLoad.property.nullMarker"></a>

```typescript
public readonly nullMarker: string;
```

- *Type:* string

Specifies a string that represents a null value in a CSV file.

For example, if you specify "\N", BigQuery interprets "\N" as a null value
when loading a CSV file. The default value is the empty string. If you set this property to a custom value, BigQuery throws an error if an
empty string is present for all data types except for STRING and BYTE. For STRING and BYTE columns, BigQuery interprets the empty string as
an empty value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#null_marker BigqueryJob#null_marker}

---

##### `projectionFields`<sup>Optional</sup> <a name="projectionFields" id="@dschmidt/provider-google.BigqueryJobLoad.property.projectionFields"></a>

```typescript
public readonly projectionFields: string[];
```

- *Type:* string[]

If sourceFormat is set to "DATASTORE_BACKUP", indicates which entity properties to load into BigQuery from a Cloud Datastore backup.

Property names are case sensitive and must be top-level properties. If no properties are specified, BigQuery loads all properties.
If any named property isn't found in the Cloud Datastore backup, an invalid error is returned in the job result.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#projection_fields BigqueryJob#projection_fields}

---

##### `quote`<sup>Optional</sup> <a name="quote" id="@dschmidt/provider-google.BigqueryJobLoad.property.quote"></a>

```typescript
public readonly quote: string;
```

- *Type:* string

The value that is used to quote data sections in a CSV file.

BigQuery converts the string to ISO-8859-1 encoding,
and then uses the first byte of the encoded string to split the data in its raw, binary state.
The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string.
If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#quote BigqueryJob#quote}

---

##### `schemaUpdateOptions`<sup>Optional</sup> <a name="schemaUpdateOptions" id="@dschmidt/provider-google.BigqueryJobLoad.property.schemaUpdateOptions"></a>

```typescript
public readonly schemaUpdateOptions: string[];
```

- *Type:* string[]

Allows the schema of the destination table to be updated as a side effect of the load job if a schema is autodetected or supplied in the job configuration.

Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND;
when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators.
For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified:
ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema.
ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#schema_update_options BigqueryJob#schema_update_options}

---

##### `skipLeadingRows`<sup>Optional</sup> <a name="skipLeadingRows" id="@dschmidt/provider-google.BigqueryJobLoad.property.skipLeadingRows"></a>

```typescript
public readonly skipLeadingRows: number;
```

- *Type:* number

The number of rows at the top of a CSV file that BigQuery will skip when loading the data.

The default value is 0. This property is useful if you have header rows in the file that should be skipped.
When autodetect is on, the behavior is the following:
skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected,
the row is read as data. Otherwise data is read starting from the second row.
skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row.
skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected,
row N is just skipped. Otherwise row N is used to extract column names for the detected schema.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#skip_leading_rows BigqueryJob#skip_leading_rows}

---

##### `sourceFormat`<sup>Optional</sup> <a name="sourceFormat" id="@dschmidt/provider-google.BigqueryJobLoad.property.sourceFormat"></a>

```typescript
public readonly sourceFormat: string;
```

- *Type:* string

The format of the data files.

For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP".
For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". For parquet, specify "PARQUET".
For orc, specify "ORC". [Beta] For Bigtable, specify "BIGTABLE".
The default value is CSV.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#source_format BigqueryJob#source_format}

---

##### `timePartitioning`<sup>Optional</sup> <a name="timePartitioning" id="@dschmidt/provider-google.BigqueryJobLoad.property.timePartitioning"></a>

```typescript
public readonly timePartitioning: BigqueryJobLoadTimePartitioning;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobLoadTimePartitioning">BigqueryJobLoadTimePartitioning</a>

time_partitioning block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#time_partitioning BigqueryJob#time_partitioning}

---

##### `writeDisposition`<sup>Optional</sup> <a name="writeDisposition" id="@dschmidt/provider-google.BigqueryJobLoad.property.writeDisposition"></a>

```typescript
public readonly writeDisposition: string;
```

- *Type:* string

Specifies the action that occurs if the destination table already exists.

The following values are supported:
WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data and uses the schema from the query result.
WRITE_APPEND: If the table already exists, BigQuery appends the data to the table.
WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result.
Each action is atomic and only occurs if BigQuery is able to complete the job successfully.
Creation, truncation and append actions occur as one atomic update upon job completion. Default value: "WRITE_EMPTY" Possible values: ["WRITE_TRUNCATE", "WRITE_APPEND", "WRITE_EMPTY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#write_disposition BigqueryJob#write_disposition}

---

### BigqueryJobLoadDestinationEncryptionConfiguration <a name="BigqueryJobLoadDestinationEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryJobLoadDestinationEncryptionConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobLoadDestinationEncryptionConfiguration.Initializer"></a>

```typescript
import { BigqueryJobLoadDestinationEncryptionConfiguration } from '@dschmidt/provider-google'

const bigqueryJobLoadDestinationEncryptionConfiguration: BigqueryJobLoadDestinationEncryptionConfiguration = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoadDestinationEncryptionConfiguration.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.BigqueryJobLoadDestinationEncryptionConfiguration.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table.

The BigQuery Service Account associated with your project requires access to this encryption key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#kms_key_name BigqueryJob#kms_key_name}

---

### BigqueryJobLoadDestinationTable <a name="BigqueryJobLoadDestinationTable" id="@dschmidt/provider-google.BigqueryJobLoadDestinationTable"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobLoadDestinationTable.Initializer"></a>

```typescript
import { BigqueryJobLoadDestinationTable } from '@dschmidt/provider-google'

const bigqueryJobLoadDestinationTable: BigqueryJobLoadDestinationTable = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoadDestinationTable.property.tableId">tableId</a></code> | <code>string</code> | The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoadDestinationTable.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoadDestinationTable.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryJobLoadDestinationTable.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#table_id BigqueryJob#table_id}

---

##### `datasetId`<sup>Optional</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryJobLoadDestinationTable.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#dataset_id BigqueryJob#dataset_id}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryJobLoadDestinationTable.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#project_id BigqueryJob#project_id}

---

### BigqueryJobLoadTimePartitioning <a name="BigqueryJobLoadTimePartitioning" id="@dschmidt/provider-google.BigqueryJobLoadTimePartitioning"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobLoadTimePartitioning.Initializer"></a>

```typescript
import { BigqueryJobLoadTimePartitioning } from '@dschmidt/provider-google'

const bigqueryJobLoadTimePartitioning: BigqueryJobLoadTimePartitioning = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoadTimePartitioning.property.type">type</a></code> | <code>string</code> | The only type supported is DAY, which will generate one partition per day. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoadTimePartitioning.property.expirationMs">expirationMs</a></code> | <code>string</code> | Number of milliseconds for which to keep the storage for a partition. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobLoadTimePartitioning.property.field">field</a></code> | <code>string</code> | If not set, the table is partitioned by pseudo column '_PARTITIONTIME'; |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.BigqueryJobLoadTimePartitioning.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The only type supported is DAY, which will generate one partition per day.

Providing an empty string used to cause an error,
but in OnePlatform the field will be treated as unset.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#type BigqueryJob#type}

---

##### `expirationMs`<sup>Optional</sup> <a name="expirationMs" id="@dschmidt/provider-google.BigqueryJobLoadTimePartitioning.property.expirationMs"></a>

```typescript
public readonly expirationMs: string;
```

- *Type:* string

Number of milliseconds for which to keep the storage for a partition.

A wrapper is used here because 0 is an invalid value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#expiration_ms BigqueryJob#expiration_ms}

---

##### `field`<sup>Optional</sup> <a name="field" id="@dschmidt/provider-google.BigqueryJobLoadTimePartitioning.property.field"></a>

```typescript
public readonly field: string;
```

- *Type:* string

If not set, the table is partitioned by pseudo column '_PARTITIONTIME';

if set, the table is partitioned by this field.
The field must be a top-level TIMESTAMP or DATE field. Its mode must be NULLABLE or REQUIRED.
A wrapper is used here because an empty string is an invalid value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#field BigqueryJob#field}

---

### BigqueryJobQuery <a name="BigqueryJobQuery" id="@dschmidt/provider-google.BigqueryJobQuery"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobQuery.Initializer"></a>

```typescript
import { BigqueryJobQuery } from '@dschmidt/provider-google'

const bigqueryJobQuery: BigqueryJobQuery = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.query">query</a></code> | <code>string</code> | SQL query text to execute. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.allowLargeResults">allowLargeResults</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true and query uses legacy SQL dialect, allows the query to produce arbitrarily large result tables at a slight cost in performance. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.createDisposition">createDisposition</a></code> | <code>string</code> | Specifies whether the job is allowed to create new tables. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.defaultDataset">defaultDataset</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobQueryDefaultDataset">BigqueryJobQueryDefaultDataset</a></code> | default_dataset block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.destinationEncryptionConfiguration">destinationEncryptionConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobQueryDestinationEncryptionConfiguration">BigqueryJobQueryDestinationEncryptionConfiguration</a></code> | destination_encryption_configuration block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.destinationTable">destinationTable</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobQueryDestinationTable">BigqueryJobQueryDestinationTable</a></code> | destination_table block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.flattenResults">flattenResults</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true and query uses legacy SQL dialect, flattens all nested and repeated fields in the query results. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.maximumBillingTier">maximumBillingTier</a></code> | <code>number</code> | Limits the billing tier for this job. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.maximumBytesBilled">maximumBytesBilled</a></code> | <code>string</code> | Limits the bytes billed for this job. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.parameterMode">parameterMode</a></code> | <code>string</code> | Standard SQL only. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.priority">priority</a></code> | <code>string</code> | Specifies a priority for the query. Default value: "INTERACTIVE" Possible values: ["INTERACTIVE", "BATCH"]. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.schemaUpdateOptions">schemaUpdateOptions</a></code> | <code>string[]</code> | Allows the schema of the destination table to be updated as a side effect of the query job. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.scriptOptions">scriptOptions</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryJobQueryScriptOptions">BigqueryJobQueryScriptOptions</a></code> | script_options block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.useLegacySql">useLegacySql</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies whether to use BigQuery's legacy SQL dialect for this query. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.useQueryCache">useQueryCache</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to look for the result in the query cache. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.userDefinedFunctionResources">userDefinedFunctionResources</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryJobQueryUserDefinedFunctionResources">BigqueryJobQueryUserDefinedFunctionResources</a>[]</code> | user_defined_function_resources block. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQuery.property.writeDisposition">writeDisposition</a></code> | <code>string</code> | Specifies the action that occurs if the destination table already exists. |

---

##### `query`<sup>Required</sup> <a name="query" id="@dschmidt/provider-google.BigqueryJobQuery.property.query"></a>

```typescript
public readonly query: string;
```

- *Type:* string

SQL query text to execute.

The useLegacySql field can be used to indicate whether the query uses legacy SQL or standard SQL.
NOTE*: queries containing [DML language](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language)
('DELETE', 'UPDATE', 'MERGE', 'INSERT') must specify 'create_disposition = ""' and 'write_disposition = ""'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#query BigqueryJob#query}

---

##### `allowLargeResults`<sup>Optional</sup> <a name="allowLargeResults" id="@dschmidt/provider-google.BigqueryJobQuery.property.allowLargeResults"></a>

```typescript
public readonly allowLargeResults: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true and query uses legacy SQL dialect, allows the query to produce arbitrarily large result tables at a slight cost in performance.

Requires destinationTable to be set. For standard SQL queries, this flag is ignored and large results are always allowed.
However, you must still set destinationTable when result size exceeds the allowed maximum response size.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#allow_large_results BigqueryJob#allow_large_results}

---

##### `createDisposition`<sup>Optional</sup> <a name="createDisposition" id="@dschmidt/provider-google.BigqueryJobQuery.property.createDisposition"></a>

```typescript
public readonly createDisposition: string;
```

- *Type:* string

Specifies whether the job is allowed to create new tables.

The following values are supported:
CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table.
CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result.
Creation, truncation and append actions occur as one atomic update upon job completion Default value: "CREATE_IF_NEEDED" Possible values: ["CREATE_IF_NEEDED", "CREATE_NEVER"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#create_disposition BigqueryJob#create_disposition}

---

##### `defaultDataset`<sup>Optional</sup> <a name="defaultDataset" id="@dschmidt/provider-google.BigqueryJobQuery.property.defaultDataset"></a>

```typescript
public readonly defaultDataset: BigqueryJobQueryDefaultDataset;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobQueryDefaultDataset">BigqueryJobQueryDefaultDataset</a>

default_dataset block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#default_dataset BigqueryJob#default_dataset}

---

##### `destinationEncryptionConfiguration`<sup>Optional</sup> <a name="destinationEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryJobQuery.property.destinationEncryptionConfiguration"></a>

```typescript
public readonly destinationEncryptionConfiguration: BigqueryJobQueryDestinationEncryptionConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobQueryDestinationEncryptionConfiguration">BigqueryJobQueryDestinationEncryptionConfiguration</a>

destination_encryption_configuration block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#destination_encryption_configuration BigqueryJob#destination_encryption_configuration}

---

##### `destinationTable`<sup>Optional</sup> <a name="destinationTable" id="@dschmidt/provider-google.BigqueryJobQuery.property.destinationTable"></a>

```typescript
public readonly destinationTable: BigqueryJobQueryDestinationTable;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobQueryDestinationTable">BigqueryJobQueryDestinationTable</a>

destination_table block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#destination_table BigqueryJob#destination_table}

---

##### `flattenResults`<sup>Optional</sup> <a name="flattenResults" id="@dschmidt/provider-google.BigqueryJobQuery.property.flattenResults"></a>

```typescript
public readonly flattenResults: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true and query uses legacy SQL dialect, flattens all nested and repeated fields in the query results.

allowLargeResults must be true if this is set to false. For standard SQL queries, this flag is ignored and results are never flattened.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#flatten_results BigqueryJob#flatten_results}

---

##### `maximumBillingTier`<sup>Optional</sup> <a name="maximumBillingTier" id="@dschmidt/provider-google.BigqueryJobQuery.property.maximumBillingTier"></a>

```typescript
public readonly maximumBillingTier: number;
```

- *Type:* number

Limits the billing tier for this job.

Queries that have resource usage beyond this tier will fail (without incurring a charge).
If unspecified, this will be set to your project default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#maximum_billing_tier BigqueryJob#maximum_billing_tier}

---

##### `maximumBytesBilled`<sup>Optional</sup> <a name="maximumBytesBilled" id="@dschmidt/provider-google.BigqueryJobQuery.property.maximumBytesBilled"></a>

```typescript
public readonly maximumBytesBilled: string;
```

- *Type:* string

Limits the bytes billed for this job.

Queries that will have bytes billed beyond this limit will fail (without incurring a charge).
If unspecified, this will be set to your project default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#maximum_bytes_billed BigqueryJob#maximum_bytes_billed}

---

##### `parameterMode`<sup>Optional</sup> <a name="parameterMode" id="@dschmidt/provider-google.BigqueryJobQuery.property.parameterMode"></a>

```typescript
public readonly parameterMode: string;
```

- *Type:* string

Standard SQL only.

Set to POSITIONAL to use positional (?) query parameters or to NAMED to use named (@myparam) query parameters in this query.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#parameter_mode BigqueryJob#parameter_mode}

---

##### `priority`<sup>Optional</sup> <a name="priority" id="@dschmidt/provider-google.BigqueryJobQuery.property.priority"></a>

```typescript
public readonly priority: string;
```

- *Type:* string

Specifies a priority for the query. Default value: "INTERACTIVE" Possible values: ["INTERACTIVE", "BATCH"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#priority BigqueryJob#priority}

---

##### `schemaUpdateOptions`<sup>Optional</sup> <a name="schemaUpdateOptions" id="@dschmidt/provider-google.BigqueryJobQuery.property.schemaUpdateOptions"></a>

```typescript
public readonly schemaUpdateOptions: string[];
```

- *Type:* string[]

Allows the schema of the destination table to be updated as a side effect of the query job.

Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND;
when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table,
specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema.
One or more of the following values are specified:
ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema.
ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#schema_update_options BigqueryJob#schema_update_options}

---

##### `scriptOptions`<sup>Optional</sup> <a name="scriptOptions" id="@dschmidt/provider-google.BigqueryJobQuery.property.scriptOptions"></a>

```typescript
public readonly scriptOptions: BigqueryJobQueryScriptOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryJobQueryScriptOptions">BigqueryJobQueryScriptOptions</a>

script_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#script_options BigqueryJob#script_options}

---

##### `useLegacySql`<sup>Optional</sup> <a name="useLegacySql" id="@dschmidt/provider-google.BigqueryJobQuery.property.useLegacySql"></a>

```typescript
public readonly useLegacySql: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies whether to use BigQuery's legacy SQL dialect for this query.

The default value is true.
If set to false, the query will use BigQuery's standard SQL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#use_legacy_sql BigqueryJob#use_legacy_sql}

---

##### `useQueryCache`<sup>Optional</sup> <a name="useQueryCache" id="@dschmidt/provider-google.BigqueryJobQuery.property.useQueryCache"></a>

```typescript
public readonly useQueryCache: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to look for the result in the query cache.

The query cache is a best-effort cache that will be flushed whenever
tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
The default value is true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#use_query_cache BigqueryJob#use_query_cache}

---

##### `userDefinedFunctionResources`<sup>Optional</sup> <a name="userDefinedFunctionResources" id="@dschmidt/provider-google.BigqueryJobQuery.property.userDefinedFunctionResources"></a>

```typescript
public readonly userDefinedFunctionResources: IResolvable | BigqueryJobQueryUserDefinedFunctionResources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryJobQueryUserDefinedFunctionResources">BigqueryJobQueryUserDefinedFunctionResources</a>[]

user_defined_function_resources block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#user_defined_function_resources BigqueryJob#user_defined_function_resources}

---

##### `writeDisposition`<sup>Optional</sup> <a name="writeDisposition" id="@dschmidt/provider-google.BigqueryJobQuery.property.writeDisposition"></a>

```typescript
public readonly writeDisposition: string;
```

- *Type:* string

Specifies the action that occurs if the destination table already exists.

The following values are supported:
WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data and uses the schema from the query result.
WRITE_APPEND: If the table already exists, BigQuery appends the data to the table.
WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result.
Each action is atomic and only occurs if BigQuery is able to complete the job successfully.
Creation, truncation and append actions occur as one atomic update upon job completion. Default value: "WRITE_EMPTY" Possible values: ["WRITE_TRUNCATE", "WRITE_APPEND", "WRITE_EMPTY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#write_disposition BigqueryJob#write_disposition}

---

### BigqueryJobQueryDefaultDataset <a name="BigqueryJobQueryDefaultDataset" id="@dschmidt/provider-google.BigqueryJobQueryDefaultDataset"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobQueryDefaultDataset.Initializer"></a>

```typescript
import { BigqueryJobQueryDefaultDataset } from '@dschmidt/provider-google'

const bigqueryJobQueryDefaultDataset: BigqueryJobQueryDefaultDataset = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryDefaultDataset.property.datasetId">datasetId</a></code> | <code>string</code> | The dataset. Can be specified '{{dataset_id}}' if 'project_id' is also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}' if not. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryDefaultDataset.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryJobQueryDefaultDataset.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The dataset. Can be specified '{{dataset_id}}' if 'project_id' is also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}' if not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#dataset_id BigqueryJob#dataset_id}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryJobQueryDefaultDataset.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#project_id BigqueryJob#project_id}

---

### BigqueryJobQueryDestinationEncryptionConfiguration <a name="BigqueryJobQueryDestinationEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryJobQueryDestinationEncryptionConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobQueryDestinationEncryptionConfiguration.Initializer"></a>

```typescript
import { BigqueryJobQueryDestinationEncryptionConfiguration } from '@dschmidt/provider-google'

const bigqueryJobQueryDestinationEncryptionConfiguration: BigqueryJobQueryDestinationEncryptionConfiguration = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryDestinationEncryptionConfiguration.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.BigqueryJobQueryDestinationEncryptionConfiguration.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table.

The BigQuery Service Account associated with your project requires access to this encryption key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#kms_key_name BigqueryJob#kms_key_name}

---

### BigqueryJobQueryDestinationTable <a name="BigqueryJobQueryDestinationTable" id="@dschmidt/provider-google.BigqueryJobQueryDestinationTable"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobQueryDestinationTable.Initializer"></a>

```typescript
import { BigqueryJobQueryDestinationTable } from '@dschmidt/provider-google'

const bigqueryJobQueryDestinationTable: BigqueryJobQueryDestinationTable = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryDestinationTable.property.tableId">tableId</a></code> | <code>string</code> | The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryDestinationTable.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this table. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryDestinationTable.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project containing this table. |

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryJobQueryDestinationTable.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#table_id BigqueryJob#table_id}

---

##### `datasetId`<sup>Optional</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryJobQueryDestinationTable.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#dataset_id BigqueryJob#dataset_id}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.BigqueryJobQueryDestinationTable.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project containing this table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#project_id BigqueryJob#project_id}

---

### BigqueryJobQueryScriptOptions <a name="BigqueryJobQueryScriptOptions" id="@dschmidt/provider-google.BigqueryJobQueryScriptOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobQueryScriptOptions.Initializer"></a>

```typescript
import { BigqueryJobQueryScriptOptions } from '@dschmidt/provider-google'

const bigqueryJobQueryScriptOptions: BigqueryJobQueryScriptOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryScriptOptions.property.keyResultStatement">keyResultStatement</a></code> | <code>string</code> | Determines which statement in the script represents the "key result", used to populate the schema and query results of the script job. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryScriptOptions.property.statementByteBudget">statementByteBudget</a></code> | <code>string</code> | Limit on the number of bytes billed per statement. Exceeding this budget results in an error. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryScriptOptions.property.statementTimeoutMs">statementTimeoutMs</a></code> | <code>string</code> | Timeout period for each statement in a script. |

---

##### `keyResultStatement`<sup>Optional</sup> <a name="keyResultStatement" id="@dschmidt/provider-google.BigqueryJobQueryScriptOptions.property.keyResultStatement"></a>

```typescript
public readonly keyResultStatement: string;
```

- *Type:* string

Determines which statement in the script represents the "key result", used to populate the schema and query results of the script job.

Possible values: ["LAST", "FIRST_SELECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#key_result_statement BigqueryJob#key_result_statement}

---

##### `statementByteBudget`<sup>Optional</sup> <a name="statementByteBudget" id="@dschmidt/provider-google.BigqueryJobQueryScriptOptions.property.statementByteBudget"></a>

```typescript
public readonly statementByteBudget: string;
```

- *Type:* string

Limit on the number of bytes billed per statement. Exceeding this budget results in an error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#statement_byte_budget BigqueryJob#statement_byte_budget}

---

##### `statementTimeoutMs`<sup>Optional</sup> <a name="statementTimeoutMs" id="@dschmidt/provider-google.BigqueryJobQueryScriptOptions.property.statementTimeoutMs"></a>

```typescript
public readonly statementTimeoutMs: string;
```

- *Type:* string

Timeout period for each statement in a script.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#statement_timeout_ms BigqueryJob#statement_timeout_ms}

---

### BigqueryJobQueryUserDefinedFunctionResources <a name="BigqueryJobQueryUserDefinedFunctionResources" id="@dschmidt/provider-google.BigqueryJobQueryUserDefinedFunctionResources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobQueryUserDefinedFunctionResources.Initializer"></a>

```typescript
import { BigqueryJobQueryUserDefinedFunctionResources } from '@dschmidt/provider-google'

const bigqueryJobQueryUserDefinedFunctionResources: BigqueryJobQueryUserDefinedFunctionResources = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryUserDefinedFunctionResources.property.inlineCode">inlineCode</a></code> | <code>string</code> | An inline resource that contains code for a user-defined function (UDF). |
| <code><a href="#@dschmidt/provider-google.BigqueryJobQueryUserDefinedFunctionResources.property.resourceUri">resourceUri</a></code> | <code>string</code> | A code resource to load from a Google Cloud Storage URI (gs://bucket/path). |

---

##### `inlineCode`<sup>Optional</sup> <a name="inlineCode" id="@dschmidt/provider-google.BigqueryJobQueryUserDefinedFunctionResources.property.inlineCode"></a>

```typescript
public readonly inlineCode: string;
```

- *Type:* string

An inline resource that contains code for a user-defined function (UDF).

Providing a inline code resource is equivalent to providing a URI for a file containing the same code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#inline_code BigqueryJob#inline_code}

---

##### `resourceUri`<sup>Optional</sup> <a name="resourceUri" id="@dschmidt/provider-google.BigqueryJobQueryUserDefinedFunctionResources.property.resourceUri"></a>

```typescript
public readonly resourceUri: string;
```

- *Type:* string

A code resource to load from a Google Cloud Storage URI (gs://bucket/path).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#resource_uri BigqueryJob#resource_uri}

---

### BigqueryJobStatus <a name="BigqueryJobStatus" id="@dschmidt/provider-google.BigqueryJobStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobStatus.Initializer"></a>

```typescript
import { BigqueryJobStatus } from '@dschmidt/provider-google'

const bigqueryJobStatus: BigqueryJobStatus = { ... }
```


### BigqueryJobStatusErrorResult <a name="BigqueryJobStatusErrorResult" id="@dschmidt/provider-google.BigqueryJobStatusErrorResult"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobStatusErrorResult.Initializer"></a>

```typescript
import { BigqueryJobStatusErrorResult } from '@dschmidt/provider-google'

const bigqueryJobStatusErrorResult: BigqueryJobStatusErrorResult = { ... }
```


### BigqueryJobStatusErrors <a name="BigqueryJobStatusErrors" id="@dschmidt/provider-google.BigqueryJobStatusErrors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobStatusErrors.Initializer"></a>

```typescript
import { BigqueryJobStatusErrors } from '@dschmidt/provider-google'

const bigqueryJobStatusErrors: BigqueryJobStatusErrors = { ... }
```


### BigqueryJobTimeouts <a name="BigqueryJobTimeouts" id="@dschmidt/provider-google.BigqueryJobTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryJobTimeouts.Initializer"></a>

```typescript
import { BigqueryJobTimeouts } from '@dschmidt/provider-google'

const bigqueryJobTimeouts: BigqueryJobTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryJobTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#create BigqueryJob#create}. |
| <code><a href="#@dschmidt/provider-google.BigqueryJobTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#delete BigqueryJob#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BigqueryJobTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#create BigqueryJob#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BigqueryJobTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_job#delete BigqueryJob#delete}.

---

### BigqueryReservationAssignmentConfig <a name="BigqueryReservationAssignmentConfig" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.Initializer"></a>

```typescript
import { BigqueryReservationAssignmentConfig } from '@dschmidt/provider-google'

const bigqueryReservationAssignmentConfig: BigqueryReservationAssignmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.assignee">assignee</a></code> | <code>string</code> | The resource which will use the reservation. E.g. projects/myproject, folders/123, organizations/456. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.jobType">jobType</a></code> | <code>string</code> | Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.reservation">reservation</a></code> | <code>string</code> | The reservation for the resource. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#id BigqueryReservationAssignment#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts">BigqueryReservationAssignmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `assignee`<sup>Required</sup> <a name="assignee" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.assignee"></a>

```typescript
public readonly assignee: string;
```

- *Type:* string

The resource which will use the reservation. E.g. projects/myproject, folders/123, organizations/456.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#assignee BigqueryReservationAssignment#assignee}

---

##### `jobType`<sup>Required</sup> <a name="jobType" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.jobType"></a>

```typescript
public readonly jobType: string;
```

- *Type:* string

Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#job_type BigqueryReservationAssignment#job_type}

---

##### `reservation`<sup>Required</sup> <a name="reservation" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.reservation"></a>

```typescript
public readonly reservation: string;
```

- *Type:* string

The reservation for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#reservation BigqueryReservationAssignment#reservation}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#id BigqueryReservationAssignment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#location BigqueryReservationAssignment#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#project BigqueryReservationAssignment#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryReservationAssignmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryReservationAssignmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts">BigqueryReservationAssignmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#timeouts BigqueryReservationAssignment#timeouts}

---

### BigqueryReservationAssignmentTimeouts <a name="BigqueryReservationAssignmentTimeouts" id="@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts.Initializer"></a>

```typescript
import { BigqueryReservationAssignmentTimeouts } from '@dschmidt/provider-google'

const bigqueryReservationAssignmentTimeouts: BigqueryReservationAssignmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#create BigqueryReservationAssignment#create}. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#delete BigqueryReservationAssignment#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#create BigqueryReservationAssignment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BigqueryReservationAssignmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation_assignment#delete BigqueryReservationAssignment#delete}.

---

### BigqueryReservationConfig <a name="BigqueryReservationConfig" id="@dschmidt/provider-google.BigqueryReservationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryReservationConfig.Initializer"></a>

```typescript
import { BigqueryReservationConfig } from '@dschmidt/provider-google'

const bigqueryReservationConfig: BigqueryReservationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.name">name</a></code> | <code>string</code> | The name of the reservation. This field must only contain alphanumeric characters or dash. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.slotCapacity">slotCapacity</a></code> | <code>number</code> | Minimum slots available to this reservation. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#id BigqueryReservation#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.ignoreIdleSlots">ignoreIdleSlots</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, any query using this reservation will use idle slots from other reservations within the same admin project. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.location">location</a></code> | <code>string</code> | The geographic location where the transfer config should reside. Examples: US, EU, asia-northeast1. The default value is US. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#project BigqueryReservation#project}. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryReservationTimeouts">BigqueryReservationTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryReservationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryReservationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryReservationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryReservationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryReservationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryReservationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryReservationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigqueryReservationConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the reservation. This field must only contain alphanumeric characters or dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#name BigqueryReservation#name}

---

##### `slotCapacity`<sup>Required</sup> <a name="slotCapacity" id="@dschmidt/provider-google.BigqueryReservationConfig.property.slotCapacity"></a>

```typescript
public readonly slotCapacity: number;
```

- *Type:* number

Minimum slots available to this reservation.

A slot is a unit of computational power in BigQuery, and serves as the
unit of parallelism. Queries using this reservation might use more slots during runtime if ignoreIdleSlots is set to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#slot_capacity BigqueryReservation#slot_capacity}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryReservationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#id BigqueryReservation#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ignoreIdleSlots`<sup>Optional</sup> <a name="ignoreIdleSlots" id="@dschmidt/provider-google.BigqueryReservationConfig.property.ignoreIdleSlots"></a>

```typescript
public readonly ignoreIdleSlots: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, any query using this reservation will use idle slots from other reservations within the same admin project.

If true, a query using this reservation will execute with the slot
capacity specified above at most.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#ignore_idle_slots BigqueryReservation#ignore_idle_slots}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.BigqueryReservationConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The geographic location where the transfer config should reside. Examples: US, EU, asia-northeast1. The default value is US.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#location BigqueryReservation#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryReservationConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#project BigqueryReservation#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryReservationConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryReservationTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryReservationTimeouts">BigqueryReservationTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#timeouts BigqueryReservation#timeouts}

---

### BigqueryReservationTimeouts <a name="BigqueryReservationTimeouts" id="@dschmidt/provider-google.BigqueryReservationTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryReservationTimeouts.Initializer"></a>

```typescript
import { BigqueryReservationTimeouts } from '@dschmidt/provider-google'

const bigqueryReservationTimeouts: BigqueryReservationTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#create BigqueryReservation#create}. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#delete BigqueryReservation#delete}. |
| <code><a href="#@dschmidt/provider-google.BigqueryReservationTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#update BigqueryReservation#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BigqueryReservationTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#create BigqueryReservation#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BigqueryReservationTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#delete BigqueryReservation#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.BigqueryReservationTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_reservation#update BigqueryReservation#update}.

---

### BigqueryRoutineArguments <a name="BigqueryRoutineArguments" id="@dschmidt/provider-google.BigqueryRoutineArguments"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryRoutineArguments.Initializer"></a>

```typescript
import { BigqueryRoutineArguments } from '@dschmidt/provider-google'

const bigqueryRoutineArguments: BigqueryRoutineArguments = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineArguments.property.argumentKind">argumentKind</a></code> | <code>string</code> | Defaults to FIXED_TYPE. Default value: "FIXED_TYPE" Possible values: ["FIXED_TYPE", "ANY_TYPE"]. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineArguments.property.dataType">dataType</a></code> | <code>string</code> | A JSON schema for the data type. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineArguments.property.mode">mode</a></code> | <code>string</code> | Specifies whether the argument is input or output. Can be set for procedures only. Possible values: ["IN", "OUT", "INOUT"]. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineArguments.property.name">name</a></code> | <code>string</code> | The name of this argument. Can be absent for function return argument. |

---

##### `argumentKind`<sup>Optional</sup> <a name="argumentKind" id="@dschmidt/provider-google.BigqueryRoutineArguments.property.argumentKind"></a>

```typescript
public readonly argumentKind: string;
```

- *Type:* string

Defaults to FIXED_TYPE. Default value: "FIXED_TYPE" Possible values: ["FIXED_TYPE", "ANY_TYPE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#argument_kind BigqueryRoutine#argument_kind}

---

##### `dataType`<sup>Optional</sup> <a name="dataType" id="@dschmidt/provider-google.BigqueryRoutineArguments.property.dataType"></a>

```typescript
public readonly dataType: string;
```

- *Type:* string

A JSON schema for the data type.

Required unless argumentKind = ANY_TYPE.
~>**NOTE**: Because this field expects a JSON string, any changes to the string
will create a diff, even if the JSON itself hasn't changed. If the API returns
a different value for the same schema, e.g. it switched the order of values
or replaced STRUCT field type with RECORD field type, we currently cannot
suppress the recurring diff this causes. As a workaround, we recommend using
the schema as returned by the API.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#data_type BigqueryRoutine#data_type}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.BigqueryRoutineArguments.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Specifies whether the argument is input or output. Can be set for procedures only. Possible values: ["IN", "OUT", "INOUT"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#mode BigqueryRoutine#mode}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.BigqueryRoutineArguments.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of this argument. Can be absent for function return argument.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#name BigqueryRoutine#name}

---

### BigqueryRoutineConfig <a name="BigqueryRoutineConfig" id="@dschmidt/provider-google.BigqueryRoutineConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryRoutineConfig.Initializer"></a>

```typescript
import { BigqueryRoutineConfig } from '@dschmidt/provider-google'

const bigqueryRoutineConfig: BigqueryRoutineConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of the dataset containing this routine. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.definitionBody">definitionBody</a></code> | <code>string</code> | The body of the routine. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.routineId">routineId</a></code> | <code>string</code> | The ID of the the routine. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.arguments">arguments</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigqueryRoutineArguments">BigqueryRoutineArguments</a>[]</code> | arguments block. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.description">description</a></code> | <code>string</code> | The description of the routine if defined. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.determinismLevel">determinismLevel</a></code> | <code>string</code> | The determinism level of the JavaScript UDF if defined. Possible values: ["DETERMINISM_LEVEL_UNSPECIFIED", "DETERMINISTIC", "NOT_DETERMINISTIC"]. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#id BigqueryRoutine#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.importedLibraries">importedLibraries</a></code> | <code>string[]</code> | Optional. If language = "JAVASCRIPT", this field stores the path of the imported JAVASCRIPT libraries. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.language">language</a></code> | <code>string</code> | The language of the routine. Possible values: ["SQL", "JAVASCRIPT"]. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#project BigqueryRoutine#project}. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.returnTableType">returnTableType</a></code> | <code>string</code> | Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION". |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.returnType">returnType</a></code> | <code>string</code> | A JSON schema for the return type. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.routineType">routineType</a></code> | <code>string</code> | The type of routine. Possible values: ["SCALAR_FUNCTION", "PROCEDURE", "TABLE_VALUED_FUNCTION"]. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryRoutineTimeouts">BigqueryRoutineTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of the dataset containing this routine.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#dataset_id BigqueryRoutine#dataset_id}

---

##### `definitionBody`<sup>Required</sup> <a name="definitionBody" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.definitionBody"></a>

```typescript
public readonly definitionBody: string;
```

- *Type:* string

The body of the routine.

For functions, this is the expression in the AS clause.
If language=SQL, it is the substring inside (but excluding) the parentheses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#definition_body BigqueryRoutine#definition_body}

---

##### `routineId`<sup>Required</sup> <a name="routineId" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.routineId"></a>

```typescript
public readonly routineId: string;
```

- *Type:* string

The ID of the the routine.

The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#routine_id BigqueryRoutine#routine_id}

---

##### `arguments`<sup>Optional</sup> <a name="arguments" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.arguments"></a>

```typescript
public readonly arguments: IResolvable | BigqueryRoutineArguments[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigqueryRoutineArguments">BigqueryRoutineArguments</a>[]

arguments block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#arguments BigqueryRoutine#arguments}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The description of the routine if defined.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#description BigqueryRoutine#description}

---

##### `determinismLevel`<sup>Optional</sup> <a name="determinismLevel" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.determinismLevel"></a>

```typescript
public readonly determinismLevel: string;
```

- *Type:* string

The determinism level of the JavaScript UDF if defined. Possible values: ["DETERMINISM_LEVEL_UNSPECIFIED", "DETERMINISTIC", "NOT_DETERMINISTIC"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#determinism_level BigqueryRoutine#determinism_level}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#id BigqueryRoutine#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `importedLibraries`<sup>Optional</sup> <a name="importedLibraries" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.importedLibraries"></a>

```typescript
public readonly importedLibraries: string[];
```

- *Type:* string[]

Optional. If language = "JAVASCRIPT", this field stores the path of the imported JAVASCRIPT libraries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#imported_libraries BigqueryRoutine#imported_libraries}

---

##### `language`<sup>Optional</sup> <a name="language" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.language"></a>

```typescript
public readonly language: string;
```

- *Type:* string

The language of the routine. Possible values: ["SQL", "JAVASCRIPT"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#language BigqueryRoutine#language}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#project BigqueryRoutine#project}.

---

##### `returnTableType`<sup>Optional</sup> <a name="returnTableType" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.returnTableType"></a>

```typescript
public readonly returnTableType: string;
```

- *Type:* string

Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".

If absent, the return table type is inferred from definitionBody at query time in each query
that references this routine. If present, then the columns in the evaluated table result will
be cast to match the column types specificed in return table type, at query time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#return_table_type BigqueryRoutine#return_table_type}

---

##### `returnType`<sup>Optional</sup> <a name="returnType" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.returnType"></a>

```typescript
public readonly returnType: string;
```

- *Type:* string

A JSON schema for the return type.

Optional if language = "SQL"; required otherwise.
If absent, the return type is inferred from definitionBody at query time in each query
that references this routine. If present, then the evaluated result will be cast to
the specified returned type at query time. ~>**NOTE**: Because this field expects a JSON
string, any changes to the string will create a diff, even if the JSON itself hasn't
changed. If the API returns a different value for the same schema, e.g. it switche
d the order of values or replaced STRUCT field type with RECORD field type, we currently
cannot suppress the recurring diff this causes. As a workaround, we recommend using
the schema as returned by the API.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#return_type BigqueryRoutine#return_type}

---

##### `routineType`<sup>Optional</sup> <a name="routineType" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.routineType"></a>

```typescript
public readonly routineType: string;
```

- *Type:* string

The type of routine. Possible values: ["SCALAR_FUNCTION", "PROCEDURE", "TABLE_VALUED_FUNCTION"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#routine_type BigqueryRoutine#routine_type}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BigqueryRoutineConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigqueryRoutineTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryRoutineTimeouts">BigqueryRoutineTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#timeouts BigqueryRoutine#timeouts}

---

### BigqueryRoutineTimeouts <a name="BigqueryRoutineTimeouts" id="@dschmidt/provider-google.BigqueryRoutineTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryRoutineTimeouts.Initializer"></a>

```typescript
import { BigqueryRoutineTimeouts } from '@dschmidt/provider-google'

const bigqueryRoutineTimeouts: BigqueryRoutineTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#create BigqueryRoutine#create}. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#delete BigqueryRoutine#delete}. |
| <code><a href="#@dschmidt/provider-google.BigqueryRoutineTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#update BigqueryRoutine#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BigqueryRoutineTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#create BigqueryRoutine#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BigqueryRoutineTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#delete BigqueryRoutine#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.BigqueryRoutineTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_routine#update BigqueryRoutine#update}.

---

### BigqueryTableConfig <a name="BigqueryTableConfig" id="@dschmidt/provider-google.BigqueryTableConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableConfig.Initializer"></a>

```typescript
import { BigqueryTableConfig } from '@dschmidt/provider-google'

const bigqueryTableConfig: BigqueryTableConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.datasetId">datasetId</a></code> | <code>string</code> | The dataset ID to create the table in. Changing this forces a new resource to be created. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.tableId">tableId</a></code> | <code>string</code> | A unique ID for the resource. Changing this forces a new resource to be created. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.clustering">clustering</a></code> | <code>string[]</code> | Specifies column names to use for data clustering. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not to allow Terraform to destroy the instance. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.description">description</a></code> | <code>string</code> | The field description. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.encryptionConfiguration">encryptionConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableEncryptionConfiguration">BigqueryTableEncryptionConfiguration</a></code> | encryption_configuration block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.expirationTime">expirationTime</a></code> | <code>number</code> | The time when this table expires, in milliseconds since the epoch. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.externalDataConfiguration">externalDataConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration">BigqueryTableExternalDataConfiguration</a></code> | external_data_configuration block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.friendlyName">friendlyName</a></code> | <code>string</code> | A descriptive name for the table. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#id BigqueryTable#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A mapping of labels to assign to the resource. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.materializedView">materializedView</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableMaterializedView">BigqueryTableMaterializedView</a></code> | materialized_view block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.rangePartitioning">rangePartitioning</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableRangePartitioning">BigqueryTableRangePartitioning</a></code> | range_partitioning block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.schema">schema</a></code> | <code>string</code> | A JSON schema for the table. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.timePartitioning">timePartitioning</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableTimePartitioning">BigqueryTableTimePartitioning</a></code> | time_partitioning block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableConfig.property.view">view</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableView">BigqueryTableView</a></code> | view block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryTableConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryTableConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryTableConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryTableConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryTableConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryTableConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryTableConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryTableConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The dataset ID to create the table in. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#dataset_id BigqueryTable#dataset_id}

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryTableConfig.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

A unique ID for the resource. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#table_id BigqueryTable#table_id}

---

##### `clustering`<sup>Optional</sup> <a name="clustering" id="@dschmidt/provider-google.BigqueryTableConfig.property.clustering"></a>

```typescript
public readonly clustering: string[];
```

- *Type:* string[]

Specifies column names to use for data clustering.

Up to four top-level columns are allowed, and should be specified in descending priority order.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#clustering BigqueryTable#clustering}

---

##### `deletionProtection`<sup>Optional</sup> <a name="deletionProtection" id="@dschmidt/provider-google.BigqueryTableConfig.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not to allow Terraform to destroy the instance.

Unless this field is set to false in Terraform state, a terraform destroy or terraform apply that would delete the instance will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#deletion_protection BigqueryTable#deletion_protection}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryTableConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The field description.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#description BigqueryTable#description}

---

##### `encryptionConfiguration`<sup>Optional</sup> <a name="encryptionConfiguration" id="@dschmidt/provider-google.BigqueryTableConfig.property.encryptionConfiguration"></a>

```typescript
public readonly encryptionConfiguration: BigqueryTableEncryptionConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableEncryptionConfiguration">BigqueryTableEncryptionConfiguration</a>

encryption_configuration block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#encryption_configuration BigqueryTable#encryption_configuration}

---

##### `expirationTime`<sup>Optional</sup> <a name="expirationTime" id="@dschmidt/provider-google.BigqueryTableConfig.property.expirationTime"></a>

```typescript
public readonly expirationTime: number;
```

- *Type:* number

The time when this table expires, in milliseconds since the epoch.

If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#expiration_time BigqueryTable#expiration_time}

---

##### `externalDataConfiguration`<sup>Optional</sup> <a name="externalDataConfiguration" id="@dschmidt/provider-google.BigqueryTableConfig.property.externalDataConfiguration"></a>

```typescript
public readonly externalDataConfiguration: BigqueryTableExternalDataConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration">BigqueryTableExternalDataConfiguration</a>

external_data_configuration block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#external_data_configuration BigqueryTable#external_data_configuration}

---

##### `friendlyName`<sup>Optional</sup> <a name="friendlyName" id="@dschmidt/provider-google.BigqueryTableConfig.property.friendlyName"></a>

```typescript
public readonly friendlyName: string;
```

- *Type:* string

A descriptive name for the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#friendly_name BigqueryTable#friendly_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#id BigqueryTable#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.BigqueryTableConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A mapping of labels to assign to the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#labels BigqueryTable#labels}

---

##### `materializedView`<sup>Optional</sup> <a name="materializedView" id="@dschmidt/provider-google.BigqueryTableConfig.property.materializedView"></a>

```typescript
public readonly materializedView: BigqueryTableMaterializedView;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableMaterializedView">BigqueryTableMaterializedView</a>

materialized_view block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#materialized_view BigqueryTable#materialized_view}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryTableConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#project BigqueryTable#project}

---

##### `rangePartitioning`<sup>Optional</sup> <a name="rangePartitioning" id="@dschmidt/provider-google.BigqueryTableConfig.property.rangePartitioning"></a>

```typescript
public readonly rangePartitioning: BigqueryTableRangePartitioning;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableRangePartitioning">BigqueryTableRangePartitioning</a>

range_partitioning block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#range_partitioning BigqueryTable#range_partitioning}

---

##### `schema`<sup>Optional</sup> <a name="schema" id="@dschmidt/provider-google.BigqueryTableConfig.property.schema"></a>

```typescript
public readonly schema: string;
```

- *Type:* string

A JSON schema for the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#schema BigqueryTable#schema}

---

##### `timePartitioning`<sup>Optional</sup> <a name="timePartitioning" id="@dschmidt/provider-google.BigqueryTableConfig.property.timePartitioning"></a>

```typescript
public readonly timePartitioning: BigqueryTableTimePartitioning;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableTimePartitioning">BigqueryTableTimePartitioning</a>

time_partitioning block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#time_partitioning BigqueryTable#time_partitioning}

---

##### `view`<sup>Optional</sup> <a name="view" id="@dschmidt/provider-google.BigqueryTableConfig.property.view"></a>

```typescript
public readonly view: BigqueryTableView;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableView">BigqueryTableView</a>

view block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#view BigqueryTable#view}

---

### BigqueryTableEncryptionConfiguration <a name="BigqueryTableEncryptionConfiguration" id="@dschmidt/provider-google.BigqueryTableEncryptionConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableEncryptionConfiguration.Initializer"></a>

```typescript
import { BigqueryTableEncryptionConfiguration } from '@dschmidt/provider-google'

const bigqueryTableEncryptionConfiguration: BigqueryTableEncryptionConfiguration = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableEncryptionConfiguration.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | The self link or full name of a key which should be used to encrypt this table. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.BigqueryTableEncryptionConfiguration.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

The self link or full name of a key which should be used to encrypt this table.

Note that the default bigquery service account will need to have encrypt/decrypt permissions on this key - you may want to see the google_bigquery_default_service_account datasource and the google_kms_crypto_key_iam_binding resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#kms_key_name BigqueryTable#kms_key_name}

---

### BigqueryTableExternalDataConfiguration <a name="BigqueryTableExternalDataConfiguration" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.Initializer"></a>

```typescript
import { BigqueryTableExternalDataConfiguration } from '@dschmidt/provider-google'

const bigqueryTableExternalDataConfiguration: BigqueryTableExternalDataConfiguration = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.autodetect">autodetect</a></code> | <code>boolean \| cdktf.IResolvable</code> | Let BigQuery try to autodetect the schema and format of the table. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.sourceFormat">sourceFormat</a></code> | <code>string</code> | The data format. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.sourceUris">sourceUris</a></code> | <code>string[]</code> | A list of the fully-qualified URIs that point to your data in Google Cloud. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.compression">compression</a></code> | <code>string</code> | The compression type of the data source. Valid values are "NONE" or "GZIP". |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.connectionId">connectionId</a></code> | <code>string</code> | The connection specifying the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or S3. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.csvOptions">csvOptions</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions">BigqueryTableExternalDataConfigurationCsvOptions</a></code> | csv_options block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.googleSheetsOptions">googleSheetsOptions</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationGoogleSheetsOptions">BigqueryTableExternalDataConfigurationGoogleSheetsOptions</a></code> | google_sheets_options block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.hivePartitioningOptions">hivePartitioningOptions</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions">BigqueryTableExternalDataConfigurationHivePartitioningOptions</a></code> | hive_partitioning_options block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.ignoreUnknownValues">ignoreUnknownValues</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if BigQuery should allow extra values that are not represented in the table schema. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.maxBadRecords">maxBadRecords</a></code> | <code>number</code> | The maximum number of bad records that BigQuery can ignore when reading data. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.schema">schema</a></code> | <code>string</code> | A JSON schema for the external table. |

---

##### `autodetect`<sup>Required</sup> <a name="autodetect" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.autodetect"></a>

```typescript
public readonly autodetect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Let BigQuery try to autodetect the schema and format of the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#autodetect BigqueryTable#autodetect}

---

##### `sourceFormat`<sup>Required</sup> <a name="sourceFormat" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.sourceFormat"></a>

```typescript
public readonly sourceFormat: string;
```

- *Type:* string

The data format.

Supported values are: "CSV", "GOOGLE_SHEETS", "NEWLINE_DELIMITED_JSON", "AVRO", "PARQUET", "ORC" and "DATASTORE_BACKUP". To use "GOOGLE_SHEETS" the scopes must include "googleapis.com/auth/drive.readonly".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#source_format BigqueryTable#source_format}

---

##### `sourceUris`<sup>Required</sup> <a name="sourceUris" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.sourceUris"></a>

```typescript
public readonly sourceUris: string[];
```

- *Type:* string[]

A list of the fully-qualified URIs that point to your data in Google Cloud.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#source_uris BigqueryTable#source_uris}

---

##### `compression`<sup>Optional</sup> <a name="compression" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.compression"></a>

```typescript
public readonly compression: string;
```

- *Type:* string

The compression type of the data source. Valid values are "NONE" or "GZIP".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#compression BigqueryTable#compression}

---

##### `connectionId`<sup>Optional</sup> <a name="connectionId" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.connectionId"></a>

```typescript
public readonly connectionId: string;
```

- *Type:* string

The connection specifying the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or S3.

The connectionId can have the form "{{project}}.{{location}}.{{connection_id}}" or "projects/{{project}}/locations/{{location}}/connections/{{connection_id}}".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#connection_id BigqueryTable#connection_id}

---

##### `csvOptions`<sup>Optional</sup> <a name="csvOptions" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.csvOptions"></a>

```typescript
public readonly csvOptions: BigqueryTableExternalDataConfigurationCsvOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions">BigqueryTableExternalDataConfigurationCsvOptions</a>

csv_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#csv_options BigqueryTable#csv_options}

---

##### `googleSheetsOptions`<sup>Optional</sup> <a name="googleSheetsOptions" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.googleSheetsOptions"></a>

```typescript
public readonly googleSheetsOptions: BigqueryTableExternalDataConfigurationGoogleSheetsOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationGoogleSheetsOptions">BigqueryTableExternalDataConfigurationGoogleSheetsOptions</a>

google_sheets_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#google_sheets_options BigqueryTable#google_sheets_options}

---

##### `hivePartitioningOptions`<sup>Optional</sup> <a name="hivePartitioningOptions" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.hivePartitioningOptions"></a>

```typescript
public readonly hivePartitioningOptions: BigqueryTableExternalDataConfigurationHivePartitioningOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions">BigqueryTableExternalDataConfigurationHivePartitioningOptions</a>

hive_partitioning_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#hive_partitioning_options BigqueryTable#hive_partitioning_options}

---

##### `ignoreUnknownValues`<sup>Optional</sup> <a name="ignoreUnknownValues" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.ignoreUnknownValues"></a>

```typescript
public readonly ignoreUnknownValues: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if BigQuery should allow extra values that are not represented in the table schema.

If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#ignore_unknown_values BigqueryTable#ignore_unknown_values}

---

##### `maxBadRecords`<sup>Optional</sup> <a name="maxBadRecords" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.maxBadRecords"></a>

```typescript
public readonly maxBadRecords: number;
```

- *Type:* number

The maximum number of bad records that BigQuery can ignore when reading data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#max_bad_records BigqueryTable#max_bad_records}

---

##### `schema`<sup>Optional</sup> <a name="schema" id="@dschmidt/provider-google.BigqueryTableExternalDataConfiguration.property.schema"></a>

```typescript
public readonly schema: string;
```

- *Type:* string

A JSON schema for the external table.

Schema is required for CSV and JSON formats and is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats when using external tables.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#schema BigqueryTable#schema}

---

### BigqueryTableExternalDataConfigurationCsvOptions <a name="BigqueryTableExternalDataConfigurationCsvOptions" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.Initializer"></a>

```typescript
import { BigqueryTableExternalDataConfigurationCsvOptions } from '@dschmidt/provider-google'

const bigqueryTableExternalDataConfigurationCsvOptions: BigqueryTableExternalDataConfigurationCsvOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.quote">quote</a></code> | <code>string</code> | The value that is used to quote data sections in a CSV file. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.allowJaggedRows">allowJaggedRows</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if BigQuery should accept rows that are missing trailing optional columns. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.allowQuotedNewlines">allowQuotedNewlines</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.encoding">encoding</a></code> | <code>string</code> | The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.fieldDelimiter">fieldDelimiter</a></code> | <code>string</code> | The separator for fields in a CSV file. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.skipLeadingRows">skipLeadingRows</a></code> | <code>number</code> | The number of rows at the top of a CSV file that BigQuery will skip when reading the data. |

---

##### `quote`<sup>Required</sup> <a name="quote" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.quote"></a>

```typescript
public readonly quote: string;
```

- *Type:* string

The value that is used to quote data sections in a CSV file.

If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allow_quoted_newlines property to true. The API-side default is ", specified in Terraform escaped as \". Due to limitations with Terraform default values, this value is required to be explicitly set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#quote BigqueryTable#quote}

---

##### `allowJaggedRows`<sup>Optional</sup> <a name="allowJaggedRows" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.allowJaggedRows"></a>

```typescript
public readonly allowJaggedRows: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if BigQuery should accept rows that are missing trailing optional columns.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#allow_jagged_rows BigqueryTable#allow_jagged_rows}

---

##### `allowQuotedNewlines`<sup>Optional</sup> <a name="allowQuotedNewlines" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.allowQuotedNewlines"></a>

```typescript
public readonly allowQuotedNewlines: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file.

The default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#allow_quoted_newlines BigqueryTable#allow_quoted_newlines}

---

##### `encoding`<sup>Optional</sup> <a name="encoding" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.encoding"></a>

```typescript
public readonly encoding: string;
```

- *Type:* string

The character encoding of the data. The supported values are UTF-8 or ISO-8859-1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#encoding BigqueryTable#encoding}

---

##### `fieldDelimiter`<sup>Optional</sup> <a name="fieldDelimiter" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.fieldDelimiter"></a>

```typescript
public readonly fieldDelimiter: string;
```

- *Type:* string

The separator for fields in a CSV file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#field_delimiter BigqueryTable#field_delimiter}

---

##### `skipLeadingRows`<sup>Optional</sup> <a name="skipLeadingRows" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationCsvOptions.property.skipLeadingRows"></a>

```typescript
public readonly skipLeadingRows: number;
```

- *Type:* number

The number of rows at the top of a CSV file that BigQuery will skip when reading the data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#skip_leading_rows BigqueryTable#skip_leading_rows}

---

### BigqueryTableExternalDataConfigurationGoogleSheetsOptions <a name="BigqueryTableExternalDataConfigurationGoogleSheetsOptions" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationGoogleSheetsOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationGoogleSheetsOptions.Initializer"></a>

```typescript
import { BigqueryTableExternalDataConfigurationGoogleSheetsOptions } from '@dschmidt/provider-google'

const bigqueryTableExternalDataConfigurationGoogleSheetsOptions: BigqueryTableExternalDataConfigurationGoogleSheetsOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationGoogleSheetsOptions.property.range">range</a></code> | <code>string</code> | Range of a sheet to query from. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationGoogleSheetsOptions.property.skipLeadingRows">skipLeadingRows</a></code> | <code>number</code> | The number of rows at the top of the sheet that BigQuery will skip when reading the data. |

---

##### `range`<sup>Optional</sup> <a name="range" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationGoogleSheetsOptions.property.range"></a>

```typescript
public readonly range: string;
```

- *Type:* string

Range of a sheet to query from.

Only used when non-empty. At least one of range or skip_leading_rows must be set. Typical format: "sheet_name!top_left_cell_id:bottom_right_cell_id" For example: "sheet1!A1:B20"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#range BigqueryTable#range}

---

##### `skipLeadingRows`<sup>Optional</sup> <a name="skipLeadingRows" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationGoogleSheetsOptions.property.skipLeadingRows"></a>

```typescript
public readonly skipLeadingRows: number;
```

- *Type:* number

The number of rows at the top of the sheet that BigQuery will skip when reading the data.

At least one of range or skip_leading_rows must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#skip_leading_rows BigqueryTable#skip_leading_rows}

---

### BigqueryTableExternalDataConfigurationHivePartitioningOptions <a name="BigqueryTableExternalDataConfigurationHivePartitioningOptions" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions.Initializer"></a>

```typescript
import { BigqueryTableExternalDataConfigurationHivePartitioningOptions } from '@dschmidt/provider-google'

const bigqueryTableExternalDataConfigurationHivePartitioningOptions: BigqueryTableExternalDataConfigurationHivePartitioningOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions.property.mode">mode</a></code> | <code>string</code> | When set, what mode of hive partitioning to use when reading data. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions.property.requirePartitionFilter">requirePartitionFilter</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions.property.sourceUriPrefix">sourceUriPrefix</a></code> | <code>string</code> | When hive partition detection is requested, a common for all source uris must be required. |

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

When set, what mode of hive partitioning to use when reading data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#mode BigqueryTable#mode}

---

##### `requirePartitionFilter`<sup>Optional</sup> <a name="requirePartitionFilter" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions.property.requirePartitionFilter"></a>

```typescript
public readonly requirePartitionFilter: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#require_partition_filter BigqueryTable#require_partition_filter}

---

##### `sourceUriPrefix`<sup>Optional</sup> <a name="sourceUriPrefix" id="@dschmidt/provider-google.BigqueryTableExternalDataConfigurationHivePartitioningOptions.property.sourceUriPrefix"></a>

```typescript
public readonly sourceUriPrefix: string;
```

- *Type:* string

When hive partition detection is requested, a common for all source uris must be required.

The prefix must end immediately before the partition key encoding begins.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#source_uri_prefix BigqueryTable#source_uri_prefix}

---

### BigqueryTableIamBindingCondition <a name="BigqueryTableIamBindingCondition" id="@dschmidt/provider-google.BigqueryTableIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableIamBindingCondition.Initializer"></a>

```typescript
import { BigqueryTableIamBindingCondition } from '@dschmidt/provider-google'

const bigqueryTableIamBindingCondition: BigqueryTableIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#expression BigqueryTableIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#title BigqueryTableIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#description BigqueryTableIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigqueryTableIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#expression BigqueryTableIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigqueryTableIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#title BigqueryTableIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryTableIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#description BigqueryTableIamBinding#description}.

---

### BigqueryTableIamBindingConfig <a name="BigqueryTableIamBindingConfig" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.Initializer"></a>

```typescript
import { BigqueryTableIamBindingConfig } from '@dschmidt/provider-google'

const bigqueryTableIamBindingConfig: BigqueryTableIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.datasetId">datasetId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#dataset_id BigqueryTableIamBinding#dataset_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#members BigqueryTableIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#role BigqueryTableIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.tableId">tableId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#table_id BigqueryTableIamBinding#table_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingCondition">BigqueryTableIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#id BigqueryTableIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#project BigqueryTableIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#dataset_id BigqueryTableIamBinding#dataset_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#members BigqueryTableIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#role BigqueryTableIamBinding#role}.

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#table_id BigqueryTableIamBinding#table_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: BigqueryTableIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamBindingCondition">BigqueryTableIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#condition BigqueryTableIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#id BigqueryTableIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryTableIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_binding#project BigqueryTableIamBinding#project}.

---

### BigqueryTableIamMemberCondition <a name="BigqueryTableIamMemberCondition" id="@dschmidt/provider-google.BigqueryTableIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableIamMemberCondition.Initializer"></a>

```typescript
import { BigqueryTableIamMemberCondition } from '@dschmidt/provider-google'

const bigqueryTableIamMemberCondition: BigqueryTableIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#expression BigqueryTableIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#title BigqueryTableIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#description BigqueryTableIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigqueryTableIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#expression BigqueryTableIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigqueryTableIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#title BigqueryTableIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigqueryTableIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#description BigqueryTableIamMember#description}.

---

### BigqueryTableIamMemberConfig <a name="BigqueryTableIamMemberConfig" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.Initializer"></a>

```typescript
import { BigqueryTableIamMemberConfig } from '@dschmidt/provider-google'

const bigqueryTableIamMemberConfig: BigqueryTableIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.datasetId">datasetId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#dataset_id BigqueryTableIamMember#dataset_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#member BigqueryTableIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#role BigqueryTableIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.tableId">tableId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#table_id BigqueryTableIamMember#table_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberCondition">BigqueryTableIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#id BigqueryTableIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#project BigqueryTableIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#dataset_id BigqueryTableIamMember#dataset_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#member BigqueryTableIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#role BigqueryTableIamMember#role}.

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#table_id BigqueryTableIamMember#table_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: BigqueryTableIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableIamMemberCondition">BigqueryTableIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#condition BigqueryTableIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#id BigqueryTableIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryTableIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_member#project BigqueryTableIamMember#project}.

---

### BigqueryTableIamPolicyConfig <a name="BigqueryTableIamPolicyConfig" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.Initializer"></a>

```typescript
import { BigqueryTableIamPolicyConfig } from '@dschmidt/provider-google'

const bigqueryTableIamPolicyConfig: BigqueryTableIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.datasetId">datasetId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#dataset_id BigqueryTableIamPolicy#dataset_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#policy_data BigqueryTableIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.tableId">tableId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#table_id BigqueryTableIamPolicy#table_id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#id BigqueryTableIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#project BigqueryTableIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#dataset_id BigqueryTableIamPolicy#dataset_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#policy_data BigqueryTableIamPolicy#policy_data}.

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#table_id BigqueryTableIamPolicy#table_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#id BigqueryTableIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigqueryTableIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table_iam_policy#project BigqueryTableIamPolicy#project}.

---

### BigqueryTableMaterializedView <a name="BigqueryTableMaterializedView" id="@dschmidt/provider-google.BigqueryTableMaterializedView"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableMaterializedView.Initializer"></a>

```typescript
import { BigqueryTableMaterializedView } from '@dschmidt/provider-google'

const bigqueryTableMaterializedView: BigqueryTableMaterializedView = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableMaterializedView.property.query">query</a></code> | <code>string</code> | A query whose result is persisted. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableMaterializedView.property.enableRefresh">enableRefresh</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies if BigQuery should automatically refresh materialized view when the base table is updated. The default is true. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableMaterializedView.property.refreshIntervalMs">refreshIntervalMs</a></code> | <code>number</code> | Specifies maximum frequency at which this materialized view will be refreshed. The default is 1800000. |

---

##### `query`<sup>Required</sup> <a name="query" id="@dschmidt/provider-google.BigqueryTableMaterializedView.property.query"></a>

```typescript
public readonly query: string;
```

- *Type:* string

A query whose result is persisted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#query BigqueryTable#query}

---

##### `enableRefresh`<sup>Optional</sup> <a name="enableRefresh" id="@dschmidt/provider-google.BigqueryTableMaterializedView.property.enableRefresh"></a>

```typescript
public readonly enableRefresh: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies if BigQuery should automatically refresh materialized view when the base table is updated. The default is true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#enable_refresh BigqueryTable#enable_refresh}

---

##### `refreshIntervalMs`<sup>Optional</sup> <a name="refreshIntervalMs" id="@dschmidt/provider-google.BigqueryTableMaterializedView.property.refreshIntervalMs"></a>

```typescript
public readonly refreshIntervalMs: number;
```

- *Type:* number

Specifies maximum frequency at which this materialized view will be refreshed. The default is 1800000.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#refresh_interval_ms BigqueryTable#refresh_interval_ms}

---

### BigqueryTableRangePartitioning <a name="BigqueryTableRangePartitioning" id="@dschmidt/provider-google.BigqueryTableRangePartitioning"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableRangePartitioning.Initializer"></a>

```typescript
import { BigqueryTableRangePartitioning } from '@dschmidt/provider-google'

const bigqueryTableRangePartitioning: BigqueryTableRangePartitioning = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableRangePartitioning.property.field">field</a></code> | <code>string</code> | The field used to determine how to create a range-based partition. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableRangePartitioning.property.range">range</a></code> | <code><a href="#@dschmidt/provider-google.BigqueryTableRangePartitioningRange">BigqueryTableRangePartitioningRange</a></code> | range block. |

---

##### `field`<sup>Required</sup> <a name="field" id="@dschmidt/provider-google.BigqueryTableRangePartitioning.property.field"></a>

```typescript
public readonly field: string;
```

- *Type:* string

The field used to determine how to create a range-based partition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#field BigqueryTable#field}

---

##### `range`<sup>Required</sup> <a name="range" id="@dschmidt/provider-google.BigqueryTableRangePartitioning.property.range"></a>

```typescript
public readonly range: BigqueryTableRangePartitioningRange;
```

- *Type:* <a href="#@dschmidt/provider-google.BigqueryTableRangePartitioningRange">BigqueryTableRangePartitioningRange</a>

range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#range BigqueryTable#range}

---

### BigqueryTableRangePartitioningRange <a name="BigqueryTableRangePartitioningRange" id="@dschmidt/provider-google.BigqueryTableRangePartitioningRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableRangePartitioningRange.Initializer"></a>

```typescript
import { BigqueryTableRangePartitioningRange } from '@dschmidt/provider-google'

const bigqueryTableRangePartitioningRange: BigqueryTableRangePartitioningRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableRangePartitioningRange.property.end">end</a></code> | <code>number</code> | End of the range partitioning, exclusive. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableRangePartitioningRange.property.interval">interval</a></code> | <code>number</code> | The width of each range within the partition. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableRangePartitioningRange.property.start">start</a></code> | <code>number</code> | Start of the range partitioning, inclusive. |

---

##### `end`<sup>Required</sup> <a name="end" id="@dschmidt/provider-google.BigqueryTableRangePartitioningRange.property.end"></a>

```typescript
public readonly end: number;
```

- *Type:* number

End of the range partitioning, exclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#end BigqueryTable#end}

---

##### `interval`<sup>Required</sup> <a name="interval" id="@dschmidt/provider-google.BigqueryTableRangePartitioningRange.property.interval"></a>

```typescript
public readonly interval: number;
```

- *Type:* number

The width of each range within the partition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#interval BigqueryTable#interval}

---

##### `start`<sup>Required</sup> <a name="start" id="@dschmidt/provider-google.BigqueryTableRangePartitioningRange.property.start"></a>

```typescript
public readonly start: number;
```

- *Type:* number

Start of the range partitioning, inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#start BigqueryTable#start}

---

### BigqueryTableTimePartitioning <a name="BigqueryTableTimePartitioning" id="@dschmidt/provider-google.BigqueryTableTimePartitioning"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableTimePartitioning.Initializer"></a>

```typescript
import { BigqueryTableTimePartitioning } from '@dschmidt/provider-google'

const bigqueryTableTimePartitioning: BigqueryTableTimePartitioning = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableTimePartitioning.property.type">type</a></code> | <code>string</code> | The supported types are DAY, HOUR, MONTH, and YEAR, which will generate one partition per day, hour, month, and year, respectively. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableTimePartitioning.property.expirationMs">expirationMs</a></code> | <code>number</code> | Number of milliseconds for which to keep the storage for a partition. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableTimePartitioning.property.field">field</a></code> | <code>string</code> | The field used to determine how to create a time-based partition. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableTimePartitioning.property.requirePartitionFilter">requirePartitionFilter</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.BigqueryTableTimePartitioning.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The supported types are DAY, HOUR, MONTH, and YEAR, which will generate one partition per day, hour, month, and year, respectively.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#type BigqueryTable#type}

---

##### `expirationMs`<sup>Optional</sup> <a name="expirationMs" id="@dschmidt/provider-google.BigqueryTableTimePartitioning.property.expirationMs"></a>

```typescript
public readonly expirationMs: number;
```

- *Type:* number

Number of milliseconds for which to keep the storage for a partition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#expiration_ms BigqueryTable#expiration_ms}

---

##### `field`<sup>Optional</sup> <a name="field" id="@dschmidt/provider-google.BigqueryTableTimePartitioning.property.field"></a>

```typescript
public readonly field: string;
```

- *Type:* string

The field used to determine how to create a time-based partition.

If time-based partitioning is enabled without this value, the table is partitioned based on the load time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#field BigqueryTable#field}

---

##### `requirePartitionFilter`<sup>Optional</sup> <a name="requirePartitionFilter" id="@dschmidt/provider-google.BigqueryTableTimePartitioning.property.requirePartitionFilter"></a>

```typescript
public readonly requirePartitionFilter: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#require_partition_filter BigqueryTable#require_partition_filter}

---

### BigqueryTableView <a name="BigqueryTableView" id="@dschmidt/provider-google.BigqueryTableView"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigqueryTableView.Initializer"></a>

```typescript
import { BigqueryTableView } from '@dschmidt/provider-google'

const bigqueryTableView: BigqueryTableView = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigqueryTableView.property.query">query</a></code> | <code>string</code> | A query that BigQuery executes when the view is referenced. |
| <code><a href="#@dschmidt/provider-google.BigqueryTableView.property.useLegacySql">useLegacySql</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies whether to use BigQuery's legacy SQL for this view. |

---

##### `query`<sup>Required</sup> <a name="query" id="@dschmidt/provider-google.BigqueryTableView.property.query"></a>

```typescript
public readonly query: string;
```

- *Type:* string

A query that BigQuery executes when the view is referenced.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#query BigqueryTable#query}

---

##### `useLegacySql`<sup>Optional</sup> <a name="useLegacySql" id="@dschmidt/provider-google.BigqueryTableView.property.useLegacySql"></a>

```typescript
public readonly useLegacySql: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies whether to use BigQuery's legacy SQL for this view.

The default value is true. If set to false, the view will use BigQuery's standard SQL

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigquery_table#use_legacy_sql BigqueryTable#use_legacy_sql}

---

### BigtableAppProfileConfig <a name="BigtableAppProfileConfig" id="@dschmidt/provider-google.BigtableAppProfileConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableAppProfileConfig.Initializer"></a>

```typescript
import { BigtableAppProfileConfig } from '@dschmidt/provider-google'

const bigtableAppProfileConfig: BigtableAppProfileConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.appProfileId">appProfileId</a></code> | <code>string</code> | The unique name of the app profile in the form '[_a-zA-Z0-9][-_.a-zA-Z0-9]*'. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.description">description</a></code> | <code>string</code> | Long form description of the use case for this app profile. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#id BigtableAppProfile#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.ignoreWarnings">ignoreWarnings</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, ignore safety checks when deleting/updating the app profile. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.instance">instance</a></code> | <code>string</code> | The name of the instance to create the app profile within. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.multiClusterRoutingClusterIds">multiClusterRoutingClusterIds</a></code> | <code>string[]</code> | The set of clusters to route to. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.multiClusterRoutingUseAny">multiClusterRoutingUseAny</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#project BigtableAppProfile#project}. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.singleClusterRouting">singleClusterRouting</a></code> | <code><a href="#@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting">BigtableAppProfileSingleClusterRouting</a></code> | single_cluster_routing block. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BigtableAppProfileTimeouts">BigtableAppProfileTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appProfileId`<sup>Required</sup> <a name="appProfileId" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.appProfileId"></a>

```typescript
public readonly appProfileId: string;
```

- *Type:* string

The unique name of the app profile in the form '[_a-zA-Z0-9][-_.a-zA-Z0-9]*'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#app_profile_id BigtableAppProfile#app_profile_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Long form description of the use case for this app profile.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#description BigtableAppProfile#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#id BigtableAppProfile#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ignoreWarnings`<sup>Optional</sup> <a name="ignoreWarnings" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.ignoreWarnings"></a>

```typescript
public readonly ignoreWarnings: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, ignore safety checks when deleting/updating the app profile.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#ignore_warnings BigtableAppProfile#ignore_warnings}

---

##### `instance`<sup>Optional</sup> <a name="instance" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

The name of the instance to create the app profile within.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#instance BigtableAppProfile#instance}

---

##### `multiClusterRoutingClusterIds`<sup>Optional</sup> <a name="multiClusterRoutingClusterIds" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.multiClusterRoutingClusterIds"></a>

```typescript
public readonly multiClusterRoutingClusterIds: string[];
```

- *Type:* string[]

The set of clusters to route to.

The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#multi_cluster_routing_cluster_ids BigtableAppProfile#multi_cluster_routing_cluster_ids}

---

##### `multiClusterRoutingUseAny`<sup>Optional</sup> <a name="multiClusterRoutingUseAny" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.multiClusterRoutingUseAny"></a>

```typescript
public readonly multiClusterRoutingUseAny: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays.

Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes
consistency to improve availability.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#multi_cluster_routing_use_any BigtableAppProfile#multi_cluster_routing_use_any}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#project BigtableAppProfile#project}.

---

##### `singleClusterRouting`<sup>Optional</sup> <a name="singleClusterRouting" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.singleClusterRouting"></a>

```typescript
public readonly singleClusterRouting: BigtableAppProfileSingleClusterRouting;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting">BigtableAppProfileSingleClusterRouting</a>

single_cluster_routing block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#single_cluster_routing BigtableAppProfile#single_cluster_routing}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BigtableAppProfileConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BigtableAppProfileTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableAppProfileTimeouts">BigtableAppProfileTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#timeouts BigtableAppProfile#timeouts}

---

### BigtableAppProfileSingleClusterRouting <a name="BigtableAppProfileSingleClusterRouting" id="@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting.Initializer"></a>

```typescript
import { BigtableAppProfileSingleClusterRouting } from '@dschmidt/provider-google'

const bigtableAppProfileSingleClusterRouting: BigtableAppProfileSingleClusterRouting = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting.property.clusterId">clusterId</a></code> | <code>string</code> | The cluster to which read/write requests should be routed. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting.property.allowTransactionalWrites">allowTransactionalWrites</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. |

---

##### `clusterId`<sup>Required</sup> <a name="clusterId" id="@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting.property.clusterId"></a>

```typescript
public readonly clusterId: string;
```

- *Type:* string

The cluster to which read/write requests should be routed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#cluster_id BigtableAppProfile#cluster_id}

---

##### `allowTransactionalWrites`<sup>Optional</sup> <a name="allowTransactionalWrites" id="@dschmidt/provider-google.BigtableAppProfileSingleClusterRouting.property.allowTransactionalWrites"></a>

```typescript
public readonly allowTransactionalWrites: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile.

It is unsafe to send these requests to the same table/row/column in multiple clusters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#allow_transactional_writes BigtableAppProfile#allow_transactional_writes}

---

### BigtableAppProfileTimeouts <a name="BigtableAppProfileTimeouts" id="@dschmidt/provider-google.BigtableAppProfileTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableAppProfileTimeouts.Initializer"></a>

```typescript
import { BigtableAppProfileTimeouts } from '@dschmidt/provider-google'

const bigtableAppProfileTimeouts: BigtableAppProfileTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#create BigtableAppProfile#create}. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#delete BigtableAppProfile#delete}. |
| <code><a href="#@dschmidt/provider-google.BigtableAppProfileTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#update BigtableAppProfile#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BigtableAppProfileTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#create BigtableAppProfile#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BigtableAppProfileTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#delete BigtableAppProfile#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.BigtableAppProfileTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_app_profile#update BigtableAppProfile#update}.

---

### BigtableGcPolicyConfig <a name="BigtableGcPolicyConfig" id="@dschmidt/provider-google.BigtableGcPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableGcPolicyConfig.Initializer"></a>

```typescript
import { BigtableGcPolicyConfig } from '@dschmidt/provider-google'

const bigtableGcPolicyConfig: BigtableGcPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.columnFamily">columnFamily</a></code> | <code>string</code> | The name of the column family. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.instanceName">instanceName</a></code> | <code>string</code> | The name of the Bigtable instance. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.table">table</a></code> | <code>string</code> | The name of the table. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.gcRules">gcRules</a></code> | <code>string</code> | Serialized JSON string for garbage collection policy. Conflicts with "mode", "max_age" and "max_version". |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#id BigtableGcPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.maxAge">maxAge</a></code> | <code><a href="#@dschmidt/provider-google.BigtableGcPolicyMaxAge">BigtableGcPolicyMaxAge</a></code> | max_age block. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.maxVersion">maxVersion</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxVersion">BigtableGcPolicyMaxVersion</a>[]</code> | max_version block. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.mode">mode</a></code> | <code>string</code> | If multiple policies are set, you should choose between UNION OR INTERSECTION. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `columnFamily`<sup>Required</sup> <a name="columnFamily" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.columnFamily"></a>

```typescript
public readonly columnFamily: string;
```

- *Type:* string

The name of the column family.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#column_family BigtableGcPolicy#column_family}

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

The name of the Bigtable instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#instance_name BigtableGcPolicy#instance_name}

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.table"></a>

```typescript
public readonly table: string;
```

- *Type:* string

The name of the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#table BigtableGcPolicy#table}

---

##### `gcRules`<sup>Optional</sup> <a name="gcRules" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.gcRules"></a>

```typescript
public readonly gcRules: string;
```

- *Type:* string

Serialized JSON string for garbage collection policy. Conflicts with "mode", "max_age" and "max_version".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#gc_rules BigtableGcPolicy#gc_rules}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#id BigtableGcPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `maxAge`<sup>Optional</sup> <a name="maxAge" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.maxAge"></a>

```typescript
public readonly maxAge: BigtableGcPolicyMaxAge;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxAge">BigtableGcPolicyMaxAge</a>

max_age block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#max_age BigtableGcPolicy#max_age}

---

##### `maxVersion`<sup>Optional</sup> <a name="maxVersion" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.maxVersion"></a>

```typescript
public readonly maxVersion: IResolvable | BigtableGcPolicyMaxVersion[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableGcPolicyMaxVersion">BigtableGcPolicyMaxVersion</a>[]

max_version block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#max_version BigtableGcPolicy#max_version}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

If multiple policies are set, you should choose between UNION OR INTERSECTION.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#mode BigtableGcPolicy#mode}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableGcPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#project BigtableGcPolicy#project}

---

### BigtableGcPolicyMaxAge <a name="BigtableGcPolicyMaxAge" id="@dschmidt/provider-google.BigtableGcPolicyMaxAge"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableGcPolicyMaxAge.Initializer"></a>

```typescript
import { BigtableGcPolicyMaxAge } from '@dschmidt/provider-google'

const bigtableGcPolicyMaxAge: BigtableGcPolicyMaxAge = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyMaxAge.property.days">days</a></code> | <code>number</code> | Number of days before applying GC policy. |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyMaxAge.property.duration">duration</a></code> | <code>string</code> | Duration before applying GC policy. |

---

##### `days`<sup>Optional</sup> <a name="days" id="@dschmidt/provider-google.BigtableGcPolicyMaxAge.property.days"></a>

```typescript
public readonly days: number;
```

- *Type:* number

Number of days before applying GC policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#days BigtableGcPolicy#days}

---

##### `duration`<sup>Optional</sup> <a name="duration" id="@dschmidt/provider-google.BigtableGcPolicyMaxAge.property.duration"></a>

```typescript
public readonly duration: string;
```

- *Type:* string

Duration before applying GC policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#duration BigtableGcPolicy#duration}

---

### BigtableGcPolicyMaxVersion <a name="BigtableGcPolicyMaxVersion" id="@dschmidt/provider-google.BigtableGcPolicyMaxVersion"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableGcPolicyMaxVersion.Initializer"></a>

```typescript
import { BigtableGcPolicyMaxVersion } from '@dschmidt/provider-google'

const bigtableGcPolicyMaxVersion: BigtableGcPolicyMaxVersion = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableGcPolicyMaxVersion.property.number">number</a></code> | <code>number</code> | Number of version before applying the GC policy. |

---

##### `number`<sup>Required</sup> <a name="number" id="@dschmidt/provider-google.BigtableGcPolicyMaxVersion.property.number"></a>

```typescript
public readonly number: number;
```

- *Type:* number

Number of version before applying the GC policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_gc_policy#number BigtableGcPolicy#number}

---

### BigtableInstanceCluster <a name="BigtableInstanceCluster" id="@dschmidt/provider-google.BigtableInstanceCluster"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableInstanceCluster.Initializer"></a>

```typescript
import { BigtableInstanceCluster } from '@dschmidt/provider-google'

const bigtableInstanceCluster: BigtableInstanceCluster = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceCluster.property.clusterId">clusterId</a></code> | <code>string</code> | The ID of the Cloud Bigtable cluster. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceCluster.property.autoscalingConfig">autoscalingConfig</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig">BigtableInstanceClusterAutoscalingConfig</a></code> | autoscaling_config block. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceCluster.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceCluster.property.numNodes">numNodes</a></code> | <code>number</code> | The number of nodes in your Cloud Bigtable cluster. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceCluster.property.storageType">storageType</a></code> | <code>string</code> | The storage type to use. One of "SSD" or "HDD". Defaults to "SSD". |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceCluster.property.zone">zone</a></code> | <code>string</code> | The zone to create the Cloud Bigtable cluster in. |

---

##### `clusterId`<sup>Required</sup> <a name="clusterId" id="@dschmidt/provider-google.BigtableInstanceCluster.property.clusterId"></a>

```typescript
public readonly clusterId: string;
```

- *Type:* string

The ID of the Cloud Bigtable cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#cluster_id BigtableInstance#cluster_id}

---

##### `autoscalingConfig`<sup>Optional</sup> <a name="autoscalingConfig" id="@dschmidt/provider-google.BigtableInstanceCluster.property.autoscalingConfig"></a>

```typescript
public readonly autoscalingConfig: BigtableInstanceClusterAutoscalingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig">BigtableInstanceClusterAutoscalingConfig</a>

autoscaling_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#autoscaling_config BigtableInstance#autoscaling_config}

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.BigtableInstanceCluster.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster.

The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains this cluster must be granted the cloudkms.cryptoKeyEncrypterDecrypter role on the CMEK key. 2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster. 3) All clusters within an instance must use the same CMEK key. Values are of the form projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#kms_key_name BigtableInstance#kms_key_name}

---

##### `numNodes`<sup>Optional</sup> <a name="numNodes" id="@dschmidt/provider-google.BigtableInstanceCluster.property.numNodes"></a>

```typescript
public readonly numNodes: number;
```

- *Type:* number

The number of nodes in your Cloud Bigtable cluster.

Required, with a minimum of 1 for a PRODUCTION instance. Must be left unset for a DEVELOPMENT instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#num_nodes BigtableInstance#num_nodes}

---

##### `storageType`<sup>Optional</sup> <a name="storageType" id="@dschmidt/provider-google.BigtableInstanceCluster.property.storageType"></a>

```typescript
public readonly storageType: string;
```

- *Type:* string

The storage type to use. One of "SSD" or "HDD". Defaults to "SSD".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#storage_type BigtableInstance#storage_type}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.BigtableInstanceCluster.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone to create the Cloud Bigtable cluster in.

Each cluster must have a different zone in the same region. Zones that support Bigtable instances are noted on the Cloud Bigtable locations page.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#zone BigtableInstance#zone}

---

### BigtableInstanceClusterAutoscalingConfig <a name="BigtableInstanceClusterAutoscalingConfig" id="@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig.Initializer"></a>

```typescript
import { BigtableInstanceClusterAutoscalingConfig } from '@dschmidt/provider-google'

const bigtableInstanceClusterAutoscalingConfig: BigtableInstanceClusterAutoscalingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig.property.cpuTarget">cpuTarget</a></code> | <code>number</code> | The target CPU utilization for autoscaling. Value must be between 10 and 80. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig.property.maxNodes">maxNodes</a></code> | <code>number</code> | The maximum number of nodes for autoscaling. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig.property.minNodes">minNodes</a></code> | <code>number</code> | The minimum number of nodes for autoscaling. |

---

##### `cpuTarget`<sup>Required</sup> <a name="cpuTarget" id="@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig.property.cpuTarget"></a>

```typescript
public readonly cpuTarget: number;
```

- *Type:* number

The target CPU utilization for autoscaling. Value must be between 10 and 80.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#cpu_target BigtableInstance#cpu_target}

---

##### `maxNodes`<sup>Required</sup> <a name="maxNodes" id="@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig.property.maxNodes"></a>

```typescript
public readonly maxNodes: number;
```

- *Type:* number

The maximum number of nodes for autoscaling.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#max_nodes BigtableInstance#max_nodes}

---

##### `minNodes`<sup>Required</sup> <a name="minNodes" id="@dschmidt/provider-google.BigtableInstanceClusterAutoscalingConfig.property.minNodes"></a>

```typescript
public readonly minNodes: number;
```

- *Type:* number

The minimum number of nodes for autoscaling.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#min_nodes BigtableInstance#min_nodes}

---

### BigtableInstanceConfig <a name="BigtableInstanceConfig" id="@dschmidt/provider-google.BigtableInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableInstanceConfig.Initializer"></a>

```typescript
import { BigtableInstanceConfig } from '@dschmidt/provider-google'

const bigtableInstanceConfig: BigtableInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.name">name</a></code> | <code>string</code> | The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.cluster">cluster</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigtableInstanceCluster">BigtableInstanceCluster</a>[]</code> | cluster block. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not to allow Terraform to destroy the instance. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.displayName">displayName</a></code> | <code>string</code> | The human-readable display name of the Bigtable instance. Defaults to the instance name. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#id BigtableInstance#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.instanceType">instanceType</a></code> | <code>string</code> | The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A mapping of labels to assign to the resource. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigtableInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#name BigtableInstance#name}

---

##### `cluster`<sup>Optional</sup> <a name="cluster" id="@dschmidt/provider-google.BigtableInstanceConfig.property.cluster"></a>

```typescript
public readonly cluster: IResolvable | BigtableInstanceCluster[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableInstanceCluster">BigtableInstanceCluster</a>[]

cluster block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#cluster BigtableInstance#cluster}

---

##### `deletionProtection`<sup>Optional</sup> <a name="deletionProtection" id="@dschmidt/provider-google.BigtableInstanceConfig.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not to allow Terraform to destroy the instance.

Unless this field is set to false in Terraform state, a terraform destroy or terraform apply that would delete the instance will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#deletion_protection BigtableInstance#deletion_protection}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.BigtableInstanceConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable display name of the Bigtable instance. Defaults to the instance name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#display_name BigtableInstance#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#id BigtableInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@dschmidt/provider-google.BigtableInstanceConfig.property.instanceType"></a>

```typescript
public readonly instanceType: string;
```

- *Type:* string

The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#instance_type BigtableInstance#instance_type}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.BigtableInstanceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A mapping of labels to assign to the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#labels BigtableInstance#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance#project BigtableInstance#project}

---

### BigtableInstanceIamBindingCondition <a name="BigtableInstanceIamBindingCondition" id="@dschmidt/provider-google.BigtableInstanceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableInstanceIamBindingCondition.Initializer"></a>

```typescript
import { BigtableInstanceIamBindingCondition } from '@dschmidt/provider-google'

const bigtableInstanceIamBindingCondition: BigtableInstanceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#expression BigtableInstanceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#title BigtableInstanceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#description BigtableInstanceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigtableInstanceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#expression BigtableInstanceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigtableInstanceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#title BigtableInstanceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigtableInstanceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#description BigtableInstanceIamBinding#description}.

---

### BigtableInstanceIamBindingConfig <a name="BigtableInstanceIamBindingConfig" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.Initializer"></a>

```typescript
import { BigtableInstanceIamBindingConfig } from '@dschmidt/provider-google'

const bigtableInstanceIamBindingConfig: BigtableInstanceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#instance BigtableInstanceIamBinding#instance}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#members BigtableInstanceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#role BigtableInstanceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingCondition">BigtableInstanceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#id BigtableInstanceIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#project BigtableInstanceIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#instance BigtableInstanceIamBinding#instance}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#members BigtableInstanceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#role BigtableInstanceIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: BigtableInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamBindingCondition">BigtableInstanceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#condition BigtableInstanceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#id BigtableInstanceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableInstanceIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_binding#project BigtableInstanceIamBinding#project}.

---

### BigtableInstanceIamMemberCondition <a name="BigtableInstanceIamMemberCondition" id="@dschmidt/provider-google.BigtableInstanceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableInstanceIamMemberCondition.Initializer"></a>

```typescript
import { BigtableInstanceIamMemberCondition } from '@dschmidt/provider-google'

const bigtableInstanceIamMemberCondition: BigtableInstanceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#expression BigtableInstanceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#title BigtableInstanceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#description BigtableInstanceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigtableInstanceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#expression BigtableInstanceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigtableInstanceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#title BigtableInstanceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigtableInstanceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#description BigtableInstanceIamMember#description}.

---

### BigtableInstanceIamMemberConfig <a name="BigtableInstanceIamMemberConfig" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.Initializer"></a>

```typescript
import { BigtableInstanceIamMemberConfig } from '@dschmidt/provider-google'

const bigtableInstanceIamMemberConfig: BigtableInstanceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#instance BigtableInstanceIamMember#instance}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#member BigtableInstanceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#role BigtableInstanceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberCondition">BigtableInstanceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#id BigtableInstanceIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#project BigtableInstanceIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#instance BigtableInstanceIamMember#instance}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#member BigtableInstanceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#role BigtableInstanceIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: BigtableInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableInstanceIamMemberCondition">BigtableInstanceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#condition BigtableInstanceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#id BigtableInstanceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableInstanceIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_member#project BigtableInstanceIamMember#project}.

---

### BigtableInstanceIamPolicyConfig <a name="BigtableInstanceIamPolicyConfig" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.Initializer"></a>

```typescript
import { BigtableInstanceIamPolicyConfig } from '@dschmidt/provider-google'

const bigtableInstanceIamPolicyConfig: BigtableInstanceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_policy#instance BigtableInstanceIamPolicy#instance}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_policy#policy_data BigtableInstanceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_policy#id BigtableInstanceIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_policy#project BigtableInstanceIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_policy#instance BigtableInstanceIamPolicy#instance}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_policy#policy_data BigtableInstanceIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_policy#id BigtableInstanceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableInstanceIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_instance_iam_policy#project BigtableInstanceIamPolicy#project}.

---

### BigtableTableColumnFamily <a name="BigtableTableColumnFamily" id="@dschmidt/provider-google.BigtableTableColumnFamily"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableTableColumnFamily.Initializer"></a>

```typescript
import { BigtableTableColumnFamily } from '@dschmidt/provider-google'

const bigtableTableColumnFamily: BigtableTableColumnFamily = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableColumnFamily.property.family">family</a></code> | <code>string</code> | The name of the column family. |

---

##### `family`<sup>Required</sup> <a name="family" id="@dschmidt/provider-google.BigtableTableColumnFamily.property.family"></a>

```typescript
public readonly family: string;
```

- *Type:* string

The name of the column family.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table#family BigtableTable#family}

---

### BigtableTableConfig <a name="BigtableTableConfig" id="@dschmidt/provider-google.BigtableTableConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableTableConfig.Initializer"></a>

```typescript
import { BigtableTableConfig } from '@dschmidt/provider-google'

const bigtableTableConfig: BigtableTableConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.instanceName">instanceName</a></code> | <code>string</code> | The name of the Bigtable instance. |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.name">name</a></code> | <code>string</code> | The name of the table. |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.columnFamily">columnFamily</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BigtableTableColumnFamily">BigtableTableColumnFamily</a>[]</code> | column_family block. |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table#id BigtableTable#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.BigtableTableConfig.property.splitKeys">splitKeys</a></code> | <code>string[]</code> | A list of predefined keys to split the table on. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableTableConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableTableConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableTableConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableTableConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableTableConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableTableConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableTableConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.BigtableTableConfig.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

The name of the Bigtable instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table#instance_name BigtableTable#instance_name}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BigtableTableConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table#name BigtableTable#name}

---

##### `columnFamily`<sup>Optional</sup> <a name="columnFamily" id="@dschmidt/provider-google.BigtableTableConfig.property.columnFamily"></a>

```typescript
public readonly columnFamily: IResolvable | BigtableTableColumnFamily[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BigtableTableColumnFamily">BigtableTableColumnFamily</a>[]

column_family block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table#column_family BigtableTable#column_family}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table#id BigtableTable#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableTableConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table#project BigtableTable#project}

---

##### `splitKeys`<sup>Optional</sup> <a name="splitKeys" id="@dschmidt/provider-google.BigtableTableConfig.property.splitKeys"></a>

```typescript
public readonly splitKeys: string[];
```

- *Type:* string[]

A list of predefined keys to split the table on.

!> Warning: Modifying the split_keys of an existing table will cause Terraform to delete/recreate the entire google_bigtable_table resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table#split_keys BigtableTable#split_keys}

---

### BigtableTableIamBindingCondition <a name="BigtableTableIamBindingCondition" id="@dschmidt/provider-google.BigtableTableIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableTableIamBindingCondition.Initializer"></a>

```typescript
import { BigtableTableIamBindingCondition } from '@dschmidt/provider-google'

const bigtableTableIamBindingCondition: BigtableTableIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#expression BigtableTableIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#title BigtableTableIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#description BigtableTableIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigtableTableIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#expression BigtableTableIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigtableTableIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#title BigtableTableIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigtableTableIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#description BigtableTableIamBinding#description}.

---

### BigtableTableIamBindingConfig <a name="BigtableTableIamBindingConfig" id="@dschmidt/provider-google.BigtableTableIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.Initializer"></a>

```typescript
import { BigtableTableIamBindingConfig } from '@dschmidt/provider-google'

const bigtableTableIamBindingConfig: BigtableTableIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#instance BigtableTableIamBinding#instance}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#members BigtableTableIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#role BigtableTableIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.table">table</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#table BigtableTableIamBinding#table}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingCondition">BigtableTableIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#id BigtableTableIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#project BigtableTableIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#instance BigtableTableIamBinding#instance}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#members BigtableTableIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#role BigtableTableIamBinding#role}.

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.table"></a>

```typescript
public readonly table: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#table BigtableTableIamBinding#table}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: BigtableTableIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamBindingCondition">BigtableTableIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#condition BigtableTableIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#id BigtableTableIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableTableIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_binding#project BigtableTableIamBinding#project}.

---

### BigtableTableIamMemberCondition <a name="BigtableTableIamMemberCondition" id="@dschmidt/provider-google.BigtableTableIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableTableIamMemberCondition.Initializer"></a>

```typescript
import { BigtableTableIamMemberCondition } from '@dschmidt/provider-google'

const bigtableTableIamMemberCondition: BigtableTableIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#expression BigtableTableIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#title BigtableTableIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#description BigtableTableIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BigtableTableIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#expression BigtableTableIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BigtableTableIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#title BigtableTableIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BigtableTableIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#description BigtableTableIamMember#description}.

---

### BigtableTableIamMemberConfig <a name="BigtableTableIamMemberConfig" id="@dschmidt/provider-google.BigtableTableIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.Initializer"></a>

```typescript
import { BigtableTableIamMemberConfig } from '@dschmidt/provider-google'

const bigtableTableIamMemberConfig: BigtableTableIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#instance BigtableTableIamMember#instance}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#member BigtableTableIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#role BigtableTableIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.table">table</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#table BigtableTableIamMember#table}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberCondition">BigtableTableIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#id BigtableTableIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#project BigtableTableIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#instance BigtableTableIamMember#instance}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#member BigtableTableIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#role BigtableTableIamMember#role}.

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.table"></a>

```typescript
public readonly table: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#table BigtableTableIamMember#table}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: BigtableTableIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BigtableTableIamMemberCondition">BigtableTableIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#condition BigtableTableIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#id BigtableTableIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableTableIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_member#project BigtableTableIamMember#project}.

---

### BigtableTableIamPolicyConfig <a name="BigtableTableIamPolicyConfig" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.Initializer"></a>

```typescript
import { BigtableTableIamPolicyConfig } from '@dschmidt/provider-google'

const bigtableTableIamPolicyConfig: BigtableTableIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#instance BigtableTableIamPolicy#instance}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#policy_data BigtableTableIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.table">table</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#table BigtableTableIamPolicy#table}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#id BigtableTableIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#project BigtableTableIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#instance BigtableTableIamPolicy#instance}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#policy_data BigtableTableIamPolicy#policy_data}.

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.table"></a>

```typescript
public readonly table: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#table BigtableTableIamPolicy#table}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#id BigtableTableIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BigtableTableIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/bigtable_table_iam_policy#project BigtableTableIamPolicy#project}.

---

### BillingAccountIamBindingCondition <a name="BillingAccountIamBindingCondition" id="@dschmidt/provider-google.BillingAccountIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingAccountIamBindingCondition.Initializer"></a>

```typescript
import { BillingAccountIamBindingCondition } from '@dschmidt/provider-google'

const billingAccountIamBindingCondition: BillingAccountIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#expression BillingAccountIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#title BillingAccountIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#description BillingAccountIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BillingAccountIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#expression BillingAccountIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BillingAccountIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#title BillingAccountIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BillingAccountIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#description BillingAccountIamBinding#description}.

---

### BillingAccountIamBindingConfig <a name="BillingAccountIamBindingConfig" id="@dschmidt/provider-google.BillingAccountIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.Initializer"></a>

```typescript
import { BillingAccountIamBindingConfig } from '@dschmidt/provider-google'

const billingAccountIamBindingConfig: BillingAccountIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.billingAccountId">billingAccountId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#billing_account_id BillingAccountIamBinding#billing_account_id}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#members BillingAccountIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#role BillingAccountIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingCondition">BillingAccountIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#id BillingAccountIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccountId`<sup>Required</sup> <a name="billingAccountId" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.billingAccountId"></a>

```typescript
public readonly billingAccountId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#billing_account_id BillingAccountIamBinding#billing_account_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#members BillingAccountIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#role BillingAccountIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: BillingAccountIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamBindingCondition">BillingAccountIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#condition BillingAccountIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BillingAccountIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_binding#id BillingAccountIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### BillingAccountIamMemberCondition <a name="BillingAccountIamMemberCondition" id="@dschmidt/provider-google.BillingAccountIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingAccountIamMemberCondition.Initializer"></a>

```typescript
import { BillingAccountIamMemberCondition } from '@dschmidt/provider-google'

const billingAccountIamMemberCondition: BillingAccountIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#expression BillingAccountIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#title BillingAccountIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#description BillingAccountIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BillingAccountIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#expression BillingAccountIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BillingAccountIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#title BillingAccountIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BillingAccountIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#description BillingAccountIamMember#description}.

---

### BillingAccountIamMemberConfig <a name="BillingAccountIamMemberConfig" id="@dschmidt/provider-google.BillingAccountIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.Initializer"></a>

```typescript
import { BillingAccountIamMemberConfig } from '@dschmidt/provider-google'

const billingAccountIamMemberConfig: BillingAccountIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.billingAccountId">billingAccountId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#billing_account_id BillingAccountIamMember#billing_account_id}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#member BillingAccountIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#role BillingAccountIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberCondition">BillingAccountIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#id BillingAccountIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccountId`<sup>Required</sup> <a name="billingAccountId" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.billingAccountId"></a>

```typescript
public readonly billingAccountId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#billing_account_id BillingAccountIamMember#billing_account_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#member BillingAccountIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#role BillingAccountIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: BillingAccountIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingAccountIamMemberCondition">BillingAccountIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#condition BillingAccountIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BillingAccountIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_member#id BillingAccountIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### BillingAccountIamPolicyConfig <a name="BillingAccountIamPolicyConfig" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.Initializer"></a>

```typescript
import { BillingAccountIamPolicyConfig } from '@dschmidt/provider-google'

const billingAccountIamPolicyConfig: BillingAccountIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.billingAccountId">billingAccountId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_policy#billing_account_id BillingAccountIamPolicy#billing_account_id}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_policy#policy_data BillingAccountIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_policy#id BillingAccountIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccountId`<sup>Required</sup> <a name="billingAccountId" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.billingAccountId"></a>

```typescript
public readonly billingAccountId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_policy#billing_account_id BillingAccountIamPolicy#billing_account_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_policy#policy_data BillingAccountIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BillingAccountIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_account_iam_policy#id BillingAccountIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### BillingBudgetAllUpdatesRule <a name="BillingBudgetAllUpdatesRule" id="@dschmidt/provider-google.BillingBudgetAllUpdatesRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetAllUpdatesRule.Initializer"></a>

```typescript
import { BillingBudgetAllUpdatesRule } from '@dschmidt/provider-google'

const billingBudgetAllUpdatesRule: BillingBudgetAllUpdatesRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRule.property.disableDefaultIamRecipients">disableDefaultIamRecipients</a></code> | <code>boolean \| cdktf.IResolvable</code> | Boolean. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRule.property.monitoringNotificationChannels">monitoringNotificationChannels</a></code> | <code>string[]</code> | The full resource name of a monitoring notification channel in the form projects/{project_id}/notificationChannels/{channel_id}. A maximum of 5 channels are allowed. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRule.property.pubsubTopic">pubsubTopic</a></code> | <code>string</code> | The name of the Cloud Pub/Sub topic where budget related messages will be published, in the form projects/{project_id}/topics/{topic_id}. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRule.property.schemaVersion">schemaVersion</a></code> | <code>string</code> | The schema version of the notification. Only "1.0" is accepted. It represents the JSON schema as defined in https://cloud.google.com/billing/docs/how-to/budgets#notification_format. |

---

##### `disableDefaultIamRecipients`<sup>Optional</sup> <a name="disableDefaultIamRecipients" id="@dschmidt/provider-google.BillingBudgetAllUpdatesRule.property.disableDefaultIamRecipients"></a>

```typescript
public readonly disableDefaultIamRecipients: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Boolean.

When set to true, disables default notifications sent
when a threshold is exceeded. Default recipients are
those with Billing Account Administrators and Billing
Account Users IAM roles for the target account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#disable_default_iam_recipients BillingBudget#disable_default_iam_recipients}

---

##### `monitoringNotificationChannels`<sup>Optional</sup> <a name="monitoringNotificationChannels" id="@dschmidt/provider-google.BillingBudgetAllUpdatesRule.property.monitoringNotificationChannels"></a>

```typescript
public readonly monitoringNotificationChannels: string[];
```

- *Type:* string[]

The full resource name of a monitoring notification channel in the form projects/{project_id}/notificationChannels/{channel_id}. A maximum of 5 channels are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#monitoring_notification_channels BillingBudget#monitoring_notification_channels}

---

##### `pubsubTopic`<sup>Optional</sup> <a name="pubsubTopic" id="@dschmidt/provider-google.BillingBudgetAllUpdatesRule.property.pubsubTopic"></a>

```typescript
public readonly pubsubTopic: string;
```

- *Type:* string

The name of the Cloud Pub/Sub topic where budget related messages will be published, in the form projects/{project_id}/topics/{topic_id}.

Updates are sent
at regular intervals to the topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#pubsub_topic BillingBudget#pubsub_topic}

---

##### `schemaVersion`<sup>Optional</sup> <a name="schemaVersion" id="@dschmidt/provider-google.BillingBudgetAllUpdatesRule.property.schemaVersion"></a>

```typescript
public readonly schemaVersion: string;
```

- *Type:* string

The schema version of the notification. Only "1.0" is accepted. It represents the JSON schema as defined in https://cloud.google.com/billing/docs/how-to/budgets#notification_format.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#schema_version BillingBudget#schema_version}

---

### BillingBudgetAmount <a name="BillingBudgetAmount" id="@dschmidt/provider-google.BillingBudgetAmount"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetAmount.Initializer"></a>

```typescript
import { BillingBudgetAmount } from '@dschmidt/provider-google'

const billingBudgetAmount: BillingBudgetAmount = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetAmount.property.lastPeriodAmount">lastPeriodAmount</a></code> | <code>boolean \| cdktf.IResolvable</code> | Configures a budget amount that is automatically set to 100% of last period's spend. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetAmount.property.specifiedAmount">specifiedAmount</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount">BillingBudgetAmountSpecifiedAmount</a></code> | specified_amount block. |

---

##### `lastPeriodAmount`<sup>Optional</sup> <a name="lastPeriodAmount" id="@dschmidt/provider-google.BillingBudgetAmount.property.lastPeriodAmount"></a>

```typescript
public readonly lastPeriodAmount: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Configures a budget amount that is automatically set to 100% of last period's spend.

Boolean. Set value to true to use. Do not set to false, instead
use the 'specified_amount' block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#last_period_amount BillingBudget#last_period_amount}

---

##### `specifiedAmount`<sup>Optional</sup> <a name="specifiedAmount" id="@dschmidt/provider-google.BillingBudgetAmount.property.specifiedAmount"></a>

```typescript
public readonly specifiedAmount: BillingBudgetAmountSpecifiedAmount;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount">BillingBudgetAmountSpecifiedAmount</a>

specified_amount block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#specified_amount BillingBudget#specified_amount}

---

### BillingBudgetAmountSpecifiedAmount <a name="BillingBudgetAmountSpecifiedAmount" id="@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount.Initializer"></a>

```typescript
import { BillingBudgetAmountSpecifiedAmount } from '@dschmidt/provider-google'

const billingBudgetAmountSpecifiedAmount: BillingBudgetAmountSpecifiedAmount = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount.property.currencyCode">currencyCode</a></code> | <code>string</code> | The 3-letter currency code defined in ISO 4217. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount.property.nanos">nanos</a></code> | <code>number</code> | Number of nano (10^-9) units of the amount. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount.property.units">units</a></code> | <code>string</code> | The whole units of the amount. For example if currencyCode is "USD", then 1 unit is one US dollar. |

---

##### `currencyCode`<sup>Optional</sup> <a name="currencyCode" id="@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount.property.currencyCode"></a>

```typescript
public readonly currencyCode: string;
```

- *Type:* string

The 3-letter currency code defined in ISO 4217.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#currency_code BillingBudget#currency_code}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Number of nano (10^-9) units of the amount.

The value must be between -999,999,999 and +999,999,999
inclusive. If units is positive, nanos must be positive or
zero. If units is zero, nanos can be positive, zero, or
negative. If units is negative, nanos must be negative or
zero. For example $-1.75 is represented as units=-1 and
nanos=-750,000,000.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#nanos BillingBudget#nanos}

---

##### `units`<sup>Optional</sup> <a name="units" id="@dschmidt/provider-google.BillingBudgetAmountSpecifiedAmount.property.units"></a>

```typescript
public readonly units: string;
```

- *Type:* string

The whole units of the amount. For example if currencyCode is "USD", then 1 unit is one US dollar.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#units BillingBudget#units}

---

### BillingBudgetBudgetFilter <a name="BillingBudgetBudgetFilter" id="@dschmidt/provider-google.BillingBudgetBudgetFilter"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetBudgetFilter.Initializer"></a>

```typescript
import { BillingBudgetBudgetFilter } from '@dschmidt/provider-google'

const billingBudgetBudgetFilter: BillingBudgetBudgetFilter = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter.property.calendarPeriod">calendarPeriod</a></code> | <code>string</code> | A CalendarPeriod represents the abstract concept of a recurring time period that has a canonical start. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter.property.creditTypes">creditTypes</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter.property.creditTypesTreatment">creditTypesTreatment</a></code> | <code>string</code> | Specifies how credits should be treated when determining spend for threshold calculations. Default value: "INCLUDE_ALL_CREDITS" Possible values: ["INCLUDE_ALL_CREDITS", "EXCLUDE_ALL_CREDITS", "INCLUDE_SPECIFIED_CREDITS"]. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter.property.customPeriod">customPeriod</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriod">BillingBudgetBudgetFilterCustomPeriod</a></code> | custom_period block. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter.property.projects">projects</a></code> | <code>string[]</code> | A set of projects of the form projects/{project_number}, specifying that usage from only this set of projects should be included in the budget. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter.property.services">services</a></code> | <code>string[]</code> | A set of services of the form services/{service_id}, specifying that usage from only this set of services should be included in the budget. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter.property.subaccounts">subaccounts</a></code> | <code>string[]</code> | A set of subaccounts of the form billingAccounts/{account_id}, specifying that usage from only this set of subaccounts should be included in the budget. |

---

##### `calendarPeriod`<sup>Optional</sup> <a name="calendarPeriod" id="@dschmidt/provider-google.BillingBudgetBudgetFilter.property.calendarPeriod"></a>

```typescript
public readonly calendarPeriod: string;
```

- *Type:* string

A CalendarPeriod represents the abstract concept of a recurring time period that has a canonical start.

Grammatically, "the start of the current CalendarPeriod".
All calendar times begin at 12 AM US and Canadian Pacific Time (UTC-8).

Exactly one of 'calendar_period', 'custom_period' must be provided. Possible values: ["MONTH", "QUARTER", "YEAR", "CALENDAR_PERIOD_UNSPECIFIED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#calendar_period BillingBudget#calendar_period}

---

##### `creditTypes`<sup>Optional</sup> <a name="creditTypes" id="@dschmidt/provider-google.BillingBudgetBudgetFilter.property.creditTypes"></a>

```typescript
public readonly creditTypes: string[];
```

- *Type:* string[]

Optional.

If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS,
this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values.
If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#credit_types BillingBudget#credit_types}

---

##### `creditTypesTreatment`<sup>Optional</sup> <a name="creditTypesTreatment" id="@dschmidt/provider-google.BillingBudgetBudgetFilter.property.creditTypesTreatment"></a>

```typescript
public readonly creditTypesTreatment: string;
```

- *Type:* string

Specifies how credits should be treated when determining spend for threshold calculations. Default value: "INCLUDE_ALL_CREDITS" Possible values: ["INCLUDE_ALL_CREDITS", "EXCLUDE_ALL_CREDITS", "INCLUDE_SPECIFIED_CREDITS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#credit_types_treatment BillingBudget#credit_types_treatment}

---

##### `customPeriod`<sup>Optional</sup> <a name="customPeriod" id="@dschmidt/provider-google.BillingBudgetBudgetFilter.property.customPeriod"></a>

```typescript
public readonly customPeriod: BillingBudgetBudgetFilterCustomPeriod;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriod">BillingBudgetBudgetFilterCustomPeriod</a>

custom_period block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#custom_period BillingBudget#custom_period}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.BillingBudgetBudgetFilter.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#labels BillingBudget#labels}

---

##### `projects`<sup>Optional</sup> <a name="projects" id="@dschmidt/provider-google.BillingBudgetBudgetFilter.property.projects"></a>

```typescript
public readonly projects: string[];
```

- *Type:* string[]

A set of projects of the form projects/{project_number}, specifying that usage from only this set of projects should be included in the budget.

If omitted, the report will include
all usage for the billing account, regardless of which project
the usage occurred on.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#projects BillingBudget#projects}

---

##### `services`<sup>Optional</sup> <a name="services" id="@dschmidt/provider-google.BillingBudgetBudgetFilter.property.services"></a>

```typescript
public readonly services: string[];
```

- *Type:* string[]

A set of services of the form services/{service_id}, specifying that usage from only this set of services should be included in the budget.

If omitted, the report will include
usage for all the services. The service names are available
through the Catalog API:
https://cloud.google.com/billing/v1/how-tos/catalog-api.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#services BillingBudget#services}

---

##### `subaccounts`<sup>Optional</sup> <a name="subaccounts" id="@dschmidt/provider-google.BillingBudgetBudgetFilter.property.subaccounts"></a>

```typescript
public readonly subaccounts: string[];
```

- *Type:* string[]

A set of subaccounts of the form billingAccounts/{account_id}, specifying that usage from only this set of subaccounts should be included in the budget.

If a subaccount is set to the name of
the parent account, usage from the parent account will be included.
If the field is omitted, the report will include usage from the parent
account and all subaccounts, if they exist.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#subaccounts BillingBudget#subaccounts}

---

### BillingBudgetBudgetFilterCustomPeriod <a name="BillingBudgetBudgetFilterCustomPeriod" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriod"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriod.Initializer"></a>

```typescript
import { BillingBudgetBudgetFilterCustomPeriod } from '@dschmidt/provider-google'

const billingBudgetBudgetFilterCustomPeriod: BillingBudgetBudgetFilterCustomPeriod = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriod.property.startDate">startDate</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate">BillingBudgetBudgetFilterCustomPeriodStartDate</a></code> | start_date block. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriod.property.endDate">endDate</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate">BillingBudgetBudgetFilterCustomPeriodEndDate</a></code> | end_date block. |

---

##### `startDate`<sup>Required</sup> <a name="startDate" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriod.property.startDate"></a>

```typescript
public readonly startDate: BillingBudgetBudgetFilterCustomPeriodStartDate;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate">BillingBudgetBudgetFilterCustomPeriodStartDate</a>

start_date block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#start_date BillingBudget#start_date}

---

##### `endDate`<sup>Optional</sup> <a name="endDate" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriod.property.endDate"></a>

```typescript
public readonly endDate: BillingBudgetBudgetFilterCustomPeriodEndDate;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate">BillingBudgetBudgetFilterCustomPeriodEndDate</a>

end_date block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#end_date BillingBudget#end_date}

---

### BillingBudgetBudgetFilterCustomPeriodEndDate <a name="BillingBudgetBudgetFilterCustomPeriodEndDate" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate.Initializer"></a>

```typescript
import { BillingBudgetBudgetFilterCustomPeriodEndDate } from '@dschmidt/provider-google'

const billingBudgetBudgetFilterCustomPeriodEndDate: BillingBudgetBudgetFilterCustomPeriodEndDate = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate.property.day">day</a></code> | <code>number</code> | Day of a month. Must be from 1 to 31 and valid for the year and month. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate.property.month">month</a></code> | <code>number</code> | Month of a year. Must be from 1 to 12. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate.property.year">year</a></code> | <code>number</code> | Year of the date. Must be from 1 to 9999. |

---

##### `day`<sup>Required</sup> <a name="day" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate.property.day"></a>

```typescript
public readonly day: number;
```

- *Type:* number

Day of a month. Must be from 1 to 31 and valid for the year and month.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#day BillingBudget#day}

---

##### `month`<sup>Required</sup> <a name="month" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate.property.month"></a>

```typescript
public readonly month: number;
```

- *Type:* number

Month of a year. Must be from 1 to 12.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#month BillingBudget#month}

---

##### `year`<sup>Required</sup> <a name="year" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodEndDate.property.year"></a>

```typescript
public readonly year: number;
```

- *Type:* number

Year of the date. Must be from 1 to 9999.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#year BillingBudget#year}

---

### BillingBudgetBudgetFilterCustomPeriodStartDate <a name="BillingBudgetBudgetFilterCustomPeriodStartDate" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate.Initializer"></a>

```typescript
import { BillingBudgetBudgetFilterCustomPeriodStartDate } from '@dschmidt/provider-google'

const billingBudgetBudgetFilterCustomPeriodStartDate: BillingBudgetBudgetFilterCustomPeriodStartDate = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate.property.day">day</a></code> | <code>number</code> | Day of a month. Must be from 1 to 31 and valid for the year and month. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate.property.month">month</a></code> | <code>number</code> | Month of a year. Must be from 1 to 12. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate.property.year">year</a></code> | <code>number</code> | Year of the date. Must be from 1 to 9999. |

---

##### `day`<sup>Required</sup> <a name="day" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate.property.day"></a>

```typescript
public readonly day: number;
```

- *Type:* number

Day of a month. Must be from 1 to 31 and valid for the year and month.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#day BillingBudget#day}

---

##### `month`<sup>Required</sup> <a name="month" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate.property.month"></a>

```typescript
public readonly month: number;
```

- *Type:* number

Month of a year. Must be from 1 to 12.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#month BillingBudget#month}

---

##### `year`<sup>Required</sup> <a name="year" id="@dschmidt/provider-google.BillingBudgetBudgetFilterCustomPeriodStartDate.property.year"></a>

```typescript
public readonly year: number;
```

- *Type:* number

Year of the date. Must be from 1 to 9999.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#year BillingBudget#year}

---

### BillingBudgetConfig <a name="BillingBudgetConfig" id="@dschmidt/provider-google.BillingBudgetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetConfig.Initializer"></a>

```typescript
import { BillingBudgetConfig } from '@dschmidt/provider-google'

const billingBudgetConfig: BillingBudgetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.amount">amount</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetAmount">BillingBudgetAmount</a></code> | amount block. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.billingAccount">billingAccount</a></code> | <code>string</code> | ID of the billing account to set a budget on. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.allUpdatesRule">allUpdatesRule</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRule">BillingBudgetAllUpdatesRule</a></code> | all_updates_rule block. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.budgetFilter">budgetFilter</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter">BillingBudgetBudgetFilter</a></code> | budget_filter block. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.displayName">displayName</a></code> | <code>string</code> | User data for display name in UI. Must be <= 60 chars. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#id BillingBudget#id}. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.thresholdRules">thresholdRules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BillingBudgetThresholdRules">BillingBudgetThresholdRules</a>[]</code> | threshold_rules block. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BillingBudgetTimeouts">BillingBudgetTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingBudgetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingBudgetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingBudgetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingBudgetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingBudgetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingBudgetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingBudgetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `amount`<sup>Required</sup> <a name="amount" id="@dschmidt/provider-google.BillingBudgetConfig.property.amount"></a>

```typescript
public readonly amount: BillingBudgetAmount;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetAmount">BillingBudgetAmount</a>

amount block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#amount BillingBudget#amount}

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.BillingBudgetConfig.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

ID of the billing account to set a budget on.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#billing_account BillingBudget#billing_account}

---

##### `allUpdatesRule`<sup>Optional</sup> <a name="allUpdatesRule" id="@dschmidt/provider-google.BillingBudgetConfig.property.allUpdatesRule"></a>

```typescript
public readonly allUpdatesRule: BillingBudgetAllUpdatesRule;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetAllUpdatesRule">BillingBudgetAllUpdatesRule</a>

all_updates_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#all_updates_rule BillingBudget#all_updates_rule}

---

##### `budgetFilter`<sup>Optional</sup> <a name="budgetFilter" id="@dschmidt/provider-google.BillingBudgetConfig.property.budgetFilter"></a>

```typescript
public readonly budgetFilter: BillingBudgetBudgetFilter;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetBudgetFilter">BillingBudgetBudgetFilter</a>

budget_filter block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#budget_filter BillingBudget#budget_filter}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.BillingBudgetConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

User data for display name in UI. Must be <= 60 chars.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#display_name BillingBudget#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BillingBudgetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#id BillingBudget#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `thresholdRules`<sup>Optional</sup> <a name="thresholdRules" id="@dschmidt/provider-google.BillingBudgetConfig.property.thresholdRules"></a>

```typescript
public readonly thresholdRules: IResolvable | BillingBudgetThresholdRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BillingBudgetThresholdRules">BillingBudgetThresholdRules</a>[]

threshold_rules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#threshold_rules BillingBudget#threshold_rules}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BillingBudgetConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BillingBudgetTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BillingBudgetTimeouts">BillingBudgetTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#timeouts BillingBudget#timeouts}

---

### BillingBudgetThresholdRules <a name="BillingBudgetThresholdRules" id="@dschmidt/provider-google.BillingBudgetThresholdRules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetThresholdRules.Initializer"></a>

```typescript
import { BillingBudgetThresholdRules } from '@dschmidt/provider-google'

const billingBudgetThresholdRules: BillingBudgetThresholdRules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetThresholdRules.property.thresholdPercent">thresholdPercent</a></code> | <code>number</code> | Send an alert when this threshold is exceeded. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetThresholdRules.property.spendBasis">spendBasis</a></code> | <code>string</code> | The type of basis used to determine if spend has passed the threshold. Default value: "CURRENT_SPEND" Possible values: ["CURRENT_SPEND", "FORECASTED_SPEND"]. |

---

##### `thresholdPercent`<sup>Required</sup> <a name="thresholdPercent" id="@dschmidt/provider-google.BillingBudgetThresholdRules.property.thresholdPercent"></a>

```typescript
public readonly thresholdPercent: number;
```

- *Type:* number

Send an alert when this threshold is exceeded.

This is a
1.0-based percentage, so 0.5 = 50%. Must be >= 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#threshold_percent BillingBudget#threshold_percent}

---

##### `spendBasis`<sup>Optional</sup> <a name="spendBasis" id="@dschmidt/provider-google.BillingBudgetThresholdRules.property.spendBasis"></a>

```typescript
public readonly spendBasis: string;
```

- *Type:* string

The type of basis used to determine if spend has passed the threshold. Default value: "CURRENT_SPEND" Possible values: ["CURRENT_SPEND", "FORECASTED_SPEND"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#spend_basis BillingBudget#spend_basis}

---

### BillingBudgetTimeouts <a name="BillingBudgetTimeouts" id="@dschmidt/provider-google.BillingBudgetTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingBudgetTimeouts.Initializer"></a>

```typescript
import { BillingBudgetTimeouts } from '@dschmidt/provider-google'

const billingBudgetTimeouts: BillingBudgetTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingBudgetTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#create BillingBudget#create}. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#delete BillingBudget#delete}. |
| <code><a href="#@dschmidt/provider-google.BillingBudgetTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#update BillingBudget#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BillingBudgetTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#create BillingBudget#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BillingBudgetTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#delete BillingBudget#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.BillingBudgetTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_budget#update BillingBudget#update}.

---

### BillingSubaccountConfig <a name="BillingSubaccountConfig" id="@dschmidt/provider-google.BillingSubaccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BillingSubaccountConfig.Initializer"></a>

```typescript
import { BillingSubaccountConfig } from '@dschmidt/provider-google'

const billingSubaccountConfig: BillingSubaccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.displayName">displayName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_subaccount#display_name BillingSubaccount#display_name}. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.masterBillingAccount">masterBillingAccount</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_subaccount#master_billing_account BillingSubaccount#master_billing_account}. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.deletionPolicy">deletionPolicy</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_subaccount#deletion_policy BillingSubaccount#deletion_policy}. |
| <code><a href="#@dschmidt/provider-google.BillingSubaccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_subaccount#id BillingSubaccount#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BillingSubaccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BillingSubaccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BillingSubaccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BillingSubaccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BillingSubaccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BillingSubaccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BillingSubaccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.BillingSubaccountConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_subaccount#display_name BillingSubaccount#display_name}.

---

##### `masterBillingAccount`<sup>Required</sup> <a name="masterBillingAccount" id="@dschmidt/provider-google.BillingSubaccountConfig.property.masterBillingAccount"></a>

```typescript
public readonly masterBillingAccount: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_subaccount#master_billing_account BillingSubaccount#master_billing_account}.

---

##### `deletionPolicy`<sup>Optional</sup> <a name="deletionPolicy" id="@dschmidt/provider-google.BillingSubaccountConfig.property.deletionPolicy"></a>

```typescript
public readonly deletionPolicy: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_subaccount#deletion_policy BillingSubaccount#deletion_policy}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BillingSubaccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/billing_subaccount#id BillingSubaccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### BinaryAuthorizationAttestorAttestationAuthorityNote <a name="BinaryAuthorizationAttestorAttestationAuthorityNote" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorAttestationAuthorityNote } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorAttestationAuthorityNote: BinaryAuthorizationAttestorAttestationAuthorityNote = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote.property.noteReference">noteReference</a></code> | <code>string</code> | The resource name of a ATTESTATION_AUTHORITY Note, created by the user. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote.property.publicKeys">publicKeys</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys">BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys</a>[]</code> | public_keys block. |

---

##### `noteReference`<sup>Required</sup> <a name="noteReference" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote.property.noteReference"></a>

```typescript
public readonly noteReference: string;
```

- *Type:* string

The resource name of a ATTESTATION_AUTHORITY Note, created by the user.

If the Note is in a different project from the Attestor, it
should be specified in the format 'projects/*\/notes/*' (or the legacy
'providers/*\/notes/*'). This field may not be updated.
An attestation by this attestor is stored as a Container Analysis
ATTESTATION_AUTHORITY Occurrence that names a container image
and that links to this Note.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#note_reference BinaryAuthorizationAttestor#note_reference}

---

##### `publicKeys`<sup>Optional</sup> <a name="publicKeys" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote.property.publicKeys"></a>

```typescript
public readonly publicKeys: IResolvable | BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys">BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys</a>[]

public_keys block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#public_keys BinaryAuthorizationAttestor#public_keys}

---

### BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys <a name="BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorAttestationAuthorityNotePublicKeys: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys.property.asciiArmoredPgpPublicKey">asciiArmoredPgpPublicKey</a></code> | <code>string</code> | ASCII-armored representation of a PGP public key, as the entire output by the command 'gpg --export --armor foo@example.com' (either LF or CRLF line endings). When using this field, id should be left blank. The BinAuthz API handlers will calculate the ID and fill it in automatically. BinAuthz computes this ID as the OpenPGP RFC4880 V4 fingerprint, represented as upper-case hex. If id is provided by the caller, it will be overwritten by the API-calculated ID. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys.property.comment">comment</a></code> | <code>string</code> | A descriptive comment. This field may be updated. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys.property.id">id</a></code> | <code>string</code> | The ID of this public key. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys.property.pkixPublicKey">pkixPublicKey</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey">BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey</a></code> | pkix_public_key block. |

---

##### `asciiArmoredPgpPublicKey`<sup>Optional</sup> <a name="asciiArmoredPgpPublicKey" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys.property.asciiArmoredPgpPublicKey"></a>

```typescript
public readonly asciiArmoredPgpPublicKey: string;
```

- *Type:* string

ASCII-armored representation of a PGP public key, as the entire output by the command 'gpg --export --armor foo@example.com' (either LF or CRLF line endings). When using this field, id should be left blank. The BinAuthz API handlers will calculate the ID and fill it in automatically. BinAuthz computes this ID as the OpenPGP RFC4880 V4 fingerprint, represented as upper-case hex. If id is provided by the caller, it will be overwritten by the API-calculated ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#ascii_armored_pgp_public_key BinaryAuthorizationAttestor#ascii_armored_pgp_public_key}

---

##### `comment`<sup>Optional</sup> <a name="comment" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys.property.comment"></a>

```typescript
public readonly comment: string;
```

- *Type:* string

A descriptive comment. This field may be updated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#comment BinaryAuthorizationAttestor#comment}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

The ID of this public key.

Signatures verified by BinAuthz
must include the ID of the public key that can be used to
verify them, and that ID must match the contents of this
field exactly. Additional restrictions on this field can
be imposed based on which public key type is encapsulated.
See the documentation on publicKey cases below for details.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#id BinaryAuthorizationAttestor#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `pkixPublicKey`<sup>Optional</sup> <a name="pkixPublicKey" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeys.property.pkixPublicKey"></a>

```typescript
public readonly pkixPublicKey: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey">BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey</a>

pkix_public_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#pkix_public_key BinaryAuthorizationAttestor#pkix_public_key}

---

### BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey <a name="BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey: BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey.property.publicKeyPem">publicKeyPem</a></code> | <code>string</code> | A PEM-encoded public key, as described in 'https://tools.ietf.org/html/rfc7468#section-13'. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey.property.signatureAlgorithm">signatureAlgorithm</a></code> | <code>string</code> | The signature algorithm used to verify a message against a signature using this key. |

---

##### `publicKeyPem`<sup>Optional</sup> <a name="publicKeyPem" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey.property.publicKeyPem"></a>

```typescript
public readonly publicKeyPem: string;
```

- *Type:* string

A PEM-encoded public key, as described in 'https://tools.ietf.org/html/rfc7468#section-13'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#public_key_pem BinaryAuthorizationAttestor#public_key_pem}

---

##### `signatureAlgorithm`<sup>Optional</sup> <a name="signatureAlgorithm" id="@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNotePublicKeysPkixPublicKey.property.signatureAlgorithm"></a>

```typescript
public readonly signatureAlgorithm: string;
```

- *Type:* string

The signature algorithm used to verify a message against a signature using this key.

These signature algorithm must
match the structure and any object identifiers encoded in
publicKeyPem (i.e. this algorithm must match that of the
public key).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#signature_algorithm BinaryAuthorizationAttestor#signature_algorithm}

---

### BinaryAuthorizationAttestorConfig <a name="BinaryAuthorizationAttestorConfig" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorConfig } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorConfig: BinaryAuthorizationAttestorConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.attestationAuthorityNote">attestationAuthorityNote</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote">BinaryAuthorizationAttestorAttestationAuthorityNote</a></code> | attestation_authority_note block. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.name">name</a></code> | <code>string</code> | The resource name. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.description">description</a></code> | <code>string</code> | A descriptive comment. This field may be updated. The field may be displayed in chooser dialogs. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#id BinaryAuthorizationAttestor#id}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#project BinaryAuthorizationAttestor#project}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts">BinaryAuthorizationAttestorTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestationAuthorityNote`<sup>Required</sup> <a name="attestationAuthorityNote" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.attestationAuthorityNote"></a>

```typescript
public readonly attestationAuthorityNote: BinaryAuthorizationAttestorAttestationAuthorityNote;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorAttestationAuthorityNote">BinaryAuthorizationAttestorAttestationAuthorityNote</a>

attestation_authority_note block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#attestation_authority_note BinaryAuthorizationAttestor#attestation_authority_note}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#name BinaryAuthorizationAttestor#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A descriptive comment. This field may be updated. The field may be displayed in chooser dialogs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#description BinaryAuthorizationAttestor#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#id BinaryAuthorizationAttestor#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#project BinaryAuthorizationAttestor#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BinaryAuthorizationAttestorConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BinaryAuthorizationAttestorTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts">BinaryAuthorizationAttestorTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#timeouts BinaryAuthorizationAttestor#timeouts}

---

### BinaryAuthorizationAttestorIamBindingCondition <a name="BinaryAuthorizationAttestorIamBindingCondition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorIamBindingCondition } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorIamBindingCondition: BinaryAuthorizationAttestorIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#expression BinaryAuthorizationAttestorIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#title BinaryAuthorizationAttestorIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#description BinaryAuthorizationAttestorIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#expression BinaryAuthorizationAttestorIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#title BinaryAuthorizationAttestorIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#description BinaryAuthorizationAttestorIamBinding#description}.

---

### BinaryAuthorizationAttestorIamBindingConfig <a name="BinaryAuthorizationAttestorIamBindingConfig" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorIamBindingConfig } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorIamBindingConfig: BinaryAuthorizationAttestorIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.attestor">attestor</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#attestor BinaryAuthorizationAttestorIamBinding#attestor}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#members BinaryAuthorizationAttestorIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#role BinaryAuthorizationAttestorIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition">BinaryAuthorizationAttestorIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#id BinaryAuthorizationAttestorIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#project BinaryAuthorizationAttestorIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestor`<sup>Required</sup> <a name="attestor" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.attestor"></a>

```typescript
public readonly attestor: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#attestor BinaryAuthorizationAttestorIamBinding#attestor}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#members BinaryAuthorizationAttestorIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#role BinaryAuthorizationAttestorIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: BinaryAuthorizationAttestorIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingCondition">BinaryAuthorizationAttestorIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#condition BinaryAuthorizationAttestorIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#id BinaryAuthorizationAttestorIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_binding#project BinaryAuthorizationAttestorIamBinding#project}.

---

### BinaryAuthorizationAttestorIamMemberCondition <a name="BinaryAuthorizationAttestorIamMemberCondition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorIamMemberCondition } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorIamMemberCondition: BinaryAuthorizationAttestorIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#expression BinaryAuthorizationAttestorIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#title BinaryAuthorizationAttestorIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#description BinaryAuthorizationAttestorIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#expression BinaryAuthorizationAttestorIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#title BinaryAuthorizationAttestorIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#description BinaryAuthorizationAttestorIamMember#description}.

---

### BinaryAuthorizationAttestorIamMemberConfig <a name="BinaryAuthorizationAttestorIamMemberConfig" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorIamMemberConfig } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorIamMemberConfig: BinaryAuthorizationAttestorIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.attestor">attestor</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#attestor BinaryAuthorizationAttestorIamMember#attestor}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#member BinaryAuthorizationAttestorIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#role BinaryAuthorizationAttestorIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition">BinaryAuthorizationAttestorIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#id BinaryAuthorizationAttestorIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#project BinaryAuthorizationAttestorIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestor`<sup>Required</sup> <a name="attestor" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.attestor"></a>

```typescript
public readonly attestor: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#attestor BinaryAuthorizationAttestorIamMember#attestor}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#member BinaryAuthorizationAttestorIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#role BinaryAuthorizationAttestorIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: BinaryAuthorizationAttestorIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberCondition">BinaryAuthorizationAttestorIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#condition BinaryAuthorizationAttestorIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#id BinaryAuthorizationAttestorIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_member#project BinaryAuthorizationAttestorIamMember#project}.

---

### BinaryAuthorizationAttestorIamPolicyConfig <a name="BinaryAuthorizationAttestorIamPolicyConfig" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorIamPolicyConfig } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorIamPolicyConfig: BinaryAuthorizationAttestorIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.attestor">attestor</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_policy#attestor BinaryAuthorizationAttestorIamPolicy#attestor}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_policy#policy_data BinaryAuthorizationAttestorIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_policy#id BinaryAuthorizationAttestorIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_policy#project BinaryAuthorizationAttestorIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestor`<sup>Required</sup> <a name="attestor" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.attestor"></a>

```typescript
public readonly attestor: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_policy#attestor BinaryAuthorizationAttestorIamPolicy#attestor}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_policy#policy_data BinaryAuthorizationAttestorIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_policy#id BinaryAuthorizationAttestorIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationAttestorIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor_iam_policy#project BinaryAuthorizationAttestorIamPolicy#project}.

---

### BinaryAuthorizationAttestorTimeouts <a name="BinaryAuthorizationAttestorTimeouts" id="@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts.Initializer"></a>

```typescript
import { BinaryAuthorizationAttestorTimeouts } from '@dschmidt/provider-google'

const binaryAuthorizationAttestorTimeouts: BinaryAuthorizationAttestorTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#create BinaryAuthorizationAttestor#create}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#delete BinaryAuthorizationAttestor#delete}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#update BinaryAuthorizationAttestor#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#create BinaryAuthorizationAttestor#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#delete BinaryAuthorizationAttestor#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.BinaryAuthorizationAttestorTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_attestor#update BinaryAuthorizationAttestor#update}.

---

### BinaryAuthorizationPolicyAdmissionWhitelistPatterns <a name="BinaryAuthorizationPolicyAdmissionWhitelistPatterns" id="@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatterns"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatterns.Initializer"></a>

```typescript
import { BinaryAuthorizationPolicyAdmissionWhitelistPatterns } from '@dschmidt/provider-google'

const binaryAuthorizationPolicyAdmissionWhitelistPatterns: BinaryAuthorizationPolicyAdmissionWhitelistPatterns = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatterns.property.namePattern">namePattern</a></code> | <code>string</code> | An image name pattern to whitelist, in the form 'registry/path/to/image'. |

---

##### `namePattern`<sup>Required</sup> <a name="namePattern" id="@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatterns.property.namePattern"></a>

```typescript
public readonly namePattern: string;
```

- *Type:* string

An image name pattern to whitelist, in the form 'registry/path/to/image'.

This supports a trailing * as a
wildcard, but this is allowed only in text after the registry/
part.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#name_pattern BinaryAuthorizationPolicy#name_pattern}

---

### BinaryAuthorizationPolicyClusterAdmissionRules <a name="BinaryAuthorizationPolicyClusterAdmissionRules" id="@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules.Initializer"></a>

```typescript
import { BinaryAuthorizationPolicyClusterAdmissionRules } from '@dschmidt/provider-google'

const binaryAuthorizationPolicyClusterAdmissionRules: BinaryAuthorizationPolicyClusterAdmissionRules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules.property.cluster">cluster</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#cluster BinaryAuthorizationPolicy#cluster}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules.property.enforcementMode">enforcementMode</a></code> | <code>string</code> | The action when a pod creation is denied by the admission rule. Possible values: ["ENFORCED_BLOCK_AND_AUDIT_LOG", "DRYRUN_AUDIT_LOG_ONLY"]. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules.property.evaluationMode">evaluationMode</a></code> | <code>string</code> | How this admission rule will be evaluated. Possible values: ["ALWAYS_ALLOW", "REQUIRE_ATTESTATION", "ALWAYS_DENY"]. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules.property.requireAttestationsBy">requireAttestationsBy</a></code> | <code>string[]</code> | The resource names of the attestors that must attest to a container image. |

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#cluster BinaryAuthorizationPolicy#cluster}.

---

##### `enforcementMode`<sup>Required</sup> <a name="enforcementMode" id="@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules.property.enforcementMode"></a>

```typescript
public readonly enforcementMode: string;
```

- *Type:* string

The action when a pod creation is denied by the admission rule. Possible values: ["ENFORCED_BLOCK_AND_AUDIT_LOG", "DRYRUN_AUDIT_LOG_ONLY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#enforcement_mode BinaryAuthorizationPolicy#enforcement_mode}

---

##### `evaluationMode`<sup>Required</sup> <a name="evaluationMode" id="@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules.property.evaluationMode"></a>

```typescript
public readonly evaluationMode: string;
```

- *Type:* string

How this admission rule will be evaluated. Possible values: ["ALWAYS_ALLOW", "REQUIRE_ATTESTATION", "ALWAYS_DENY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#evaluation_mode BinaryAuthorizationPolicy#evaluation_mode}

---

##### `requireAttestationsBy`<sup>Optional</sup> <a name="requireAttestationsBy" id="@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules.property.requireAttestationsBy"></a>

```typescript
public readonly requireAttestationsBy: string[];
```

- *Type:* string[]

The resource names of the attestors that must attest to a container image.

If the attestor is in a different project from the
policy, it should be specified in the format 'projects/*\/attestors/*'.
Each attestor must exist before a policy can reference it. To add an
attestor to a policy the principal issuing the policy change
request must be able to read the attestor resource.

Note: this field must be non-empty when the evaluation_mode field
specifies REQUIRE_ATTESTATION, otherwise it must be empty.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#require_attestations_by BinaryAuthorizationPolicy#require_attestations_by}

---

### BinaryAuthorizationPolicyConfig <a name="BinaryAuthorizationPolicyConfig" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.Initializer"></a>

```typescript
import { BinaryAuthorizationPolicyConfig } from '@dschmidt/provider-google'

const binaryAuthorizationPolicyConfig: BinaryAuthorizationPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.defaultAdmissionRule">defaultAdmissionRule</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule">BinaryAuthorizationPolicyDefaultAdmissionRule</a></code> | default_admission_rule block. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.admissionWhitelistPatterns">admissionWhitelistPatterns</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatterns">BinaryAuthorizationPolicyAdmissionWhitelistPatterns</a>[]</code> | admission_whitelist_patterns block. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.clusterAdmissionRules">clusterAdmissionRules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules">BinaryAuthorizationPolicyClusterAdmissionRules</a>[]</code> | cluster_admission_rules block. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.description">description</a></code> | <code>string</code> | A descriptive comment. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.globalPolicyEvaluationMode">globalPolicyEvaluationMode</a></code> | <code>string</code> | Controls the evaluation of a Google-maintained global admission policy for common system-level images. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#id BinaryAuthorizationPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#project BinaryAuthorizationPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts">BinaryAuthorizationPolicyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `defaultAdmissionRule`<sup>Required</sup> <a name="defaultAdmissionRule" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.defaultAdmissionRule"></a>

```typescript
public readonly defaultAdmissionRule: BinaryAuthorizationPolicyDefaultAdmissionRule;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule">BinaryAuthorizationPolicyDefaultAdmissionRule</a>

default_admission_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#default_admission_rule BinaryAuthorizationPolicy#default_admission_rule}

---

##### `admissionWhitelistPatterns`<sup>Optional</sup> <a name="admissionWhitelistPatterns" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.admissionWhitelistPatterns"></a>

```typescript
public readonly admissionWhitelistPatterns: IResolvable | BinaryAuthorizationPolicyAdmissionWhitelistPatterns[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyAdmissionWhitelistPatterns">BinaryAuthorizationPolicyAdmissionWhitelistPatterns</a>[]

admission_whitelist_patterns block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#admission_whitelist_patterns BinaryAuthorizationPolicy#admission_whitelist_patterns}

---

##### `clusterAdmissionRules`<sup>Optional</sup> <a name="clusterAdmissionRules" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.clusterAdmissionRules"></a>

```typescript
public readonly clusterAdmissionRules: IResolvable | BinaryAuthorizationPolicyClusterAdmissionRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyClusterAdmissionRules">BinaryAuthorizationPolicyClusterAdmissionRules</a>[]

cluster_admission_rules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#cluster_admission_rules BinaryAuthorizationPolicy#cluster_admission_rules}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A descriptive comment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#description BinaryAuthorizationPolicy#description}

---

##### `globalPolicyEvaluationMode`<sup>Optional</sup> <a name="globalPolicyEvaluationMode" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.globalPolicyEvaluationMode"></a>

```typescript
public readonly globalPolicyEvaluationMode: string;
```

- *Type:* string

Controls the evaluation of a Google-maintained global admission policy for common system-level images.

Images not covered by the global
policy will be subject to the project admission policy. Possible values: ["ENABLE", "DISABLE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#global_policy_evaluation_mode BinaryAuthorizationPolicy#global_policy_evaluation_mode}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#id BinaryAuthorizationPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#project BinaryAuthorizationPolicy#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.BinaryAuthorizationPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: BinaryAuthorizationPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts">BinaryAuthorizationPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#timeouts BinaryAuthorizationPolicy#timeouts}

---

### BinaryAuthorizationPolicyDefaultAdmissionRule <a name="BinaryAuthorizationPolicyDefaultAdmissionRule" id="@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule.Initializer"></a>

```typescript
import { BinaryAuthorizationPolicyDefaultAdmissionRule } from '@dschmidt/provider-google'

const binaryAuthorizationPolicyDefaultAdmissionRule: BinaryAuthorizationPolicyDefaultAdmissionRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule.property.enforcementMode">enforcementMode</a></code> | <code>string</code> | The action when a pod creation is denied by the admission rule. Possible values: ["ENFORCED_BLOCK_AND_AUDIT_LOG", "DRYRUN_AUDIT_LOG_ONLY"]. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule.property.evaluationMode">evaluationMode</a></code> | <code>string</code> | How this admission rule will be evaluated. Possible values: ["ALWAYS_ALLOW", "REQUIRE_ATTESTATION", "ALWAYS_DENY"]. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule.property.requireAttestationsBy">requireAttestationsBy</a></code> | <code>string[]</code> | The resource names of the attestors that must attest to a container image. |

---

##### `enforcementMode`<sup>Required</sup> <a name="enforcementMode" id="@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule.property.enforcementMode"></a>

```typescript
public readonly enforcementMode: string;
```

- *Type:* string

The action when a pod creation is denied by the admission rule. Possible values: ["ENFORCED_BLOCK_AND_AUDIT_LOG", "DRYRUN_AUDIT_LOG_ONLY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#enforcement_mode BinaryAuthorizationPolicy#enforcement_mode}

---

##### `evaluationMode`<sup>Required</sup> <a name="evaluationMode" id="@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule.property.evaluationMode"></a>

```typescript
public readonly evaluationMode: string;
```

- *Type:* string

How this admission rule will be evaluated. Possible values: ["ALWAYS_ALLOW", "REQUIRE_ATTESTATION", "ALWAYS_DENY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#evaluation_mode BinaryAuthorizationPolicy#evaluation_mode}

---

##### `requireAttestationsBy`<sup>Optional</sup> <a name="requireAttestationsBy" id="@dschmidt/provider-google.BinaryAuthorizationPolicyDefaultAdmissionRule.property.requireAttestationsBy"></a>

```typescript
public readonly requireAttestationsBy: string[];
```

- *Type:* string[]

The resource names of the attestors that must attest to a container image.

If the attestor is in a different project from the
policy, it should be specified in the format 'projects/*\/attestors/*'.
Each attestor must exist before a policy can reference it. To add an
attestor to a policy the principal issuing the policy change
request must be able to read the attestor resource.

Note: this field must be non-empty when the evaluation_mode field
specifies REQUIRE_ATTESTATION, otherwise it must be empty.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#require_attestations_by BinaryAuthorizationPolicy#require_attestations_by}

---

### BinaryAuthorizationPolicyTimeouts <a name="BinaryAuthorizationPolicyTimeouts" id="@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts.Initializer"></a>

```typescript
import { BinaryAuthorizationPolicyTimeouts } from '@dschmidt/provider-google'

const binaryAuthorizationPolicyTimeouts: BinaryAuthorizationPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#create BinaryAuthorizationPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#delete BinaryAuthorizationPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#update BinaryAuthorizationPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#create BinaryAuthorizationPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#delete BinaryAuthorizationPolicy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.BinaryAuthorizationPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/binary_authorization_policy#update BinaryAuthorizationPolicy#update}.

---

### CertificateManagerCertificateConfig <a name="CertificateManagerCertificateConfig" id="@dschmidt/provider-google.CertificateManagerCertificateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.Initializer"></a>

```typescript
import { CertificateManagerCertificateConfig } from '@dschmidt/provider-google'

const certificateManagerCertificateConfig: CertificateManagerCertificateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.name">name</a></code> | <code>string</code> | A user-defined name of the certificate. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.description">description</a></code> | <code>string</code> | A human-readable description of the resource. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#id CertificateManagerCertificate#id}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Set of label tags associated with the Certificate resource. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.managed">managed</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateManaged">CertificateManagerCertificateManaged</a></code> | managed block. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#project CertificateManagerCertificate#project}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.scope">scope</a></code> | <code>string</code> | The scope of the certificate. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.selfManaged">selfManaged</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateSelfManaged">CertificateManagerCertificateSelfManaged</a></code> | self_managed block. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeouts">CertificateManagerCertificateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A user-defined name of the certificate.

Certificate names must be unique
The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
and all following characters must be a dash, underscore, letter or digit.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#name CertificateManagerCertificate#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#description CertificateManagerCertificate#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#id CertificateManagerCertificate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Set of label tags associated with the Certificate resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#labels CertificateManagerCertificate#labels}

---

##### `managed`<sup>Optional</sup> <a name="managed" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.managed"></a>

```typescript
public readonly managed: CertificateManagerCertificateManaged;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateManaged">CertificateManagerCertificateManaged</a>

managed block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#managed CertificateManagerCertificate#managed}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#project CertificateManagerCertificate#project}.

---

##### `scope`<sup>Optional</sup> <a name="scope" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.scope"></a>

```typescript
public readonly scope: string;
```

- *Type:* string

The scope of the certificate.

DEFAULT: Certificates with default scope are served from core Google data centers.
If unsure, choose this option.

EDGE_CACHE: Certificates with scope EDGE_CACHE are special-purposed certificates,
served from non-core Google data centers.
Currently allowed only for managed certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#scope CertificateManagerCertificate#scope}

---

##### `selfManaged`<sup>Optional</sup> <a name="selfManaged" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.selfManaged"></a>

```typescript
public readonly selfManaged: CertificateManagerCertificateSelfManaged;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateSelfManaged">CertificateManagerCertificateSelfManaged</a>

self_managed block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#self_managed CertificateManagerCertificate#self_managed}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CertificateManagerCertificateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CertificateManagerCertificateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeouts">CertificateManagerCertificateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#timeouts CertificateManagerCertificate#timeouts}

---

### CertificateManagerCertificateManaged <a name="CertificateManagerCertificateManaged" id="@dschmidt/provider-google.CertificateManagerCertificateManaged"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateManaged.Initializer"></a>

```typescript
import { CertificateManagerCertificateManaged } from '@dschmidt/provider-google'

const certificateManagerCertificateManaged: CertificateManagerCertificateManaged = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateManaged.property.dnsAuthorizations">dnsAuthorizations</a></code> | <code>string[]</code> | Authorizations that will be used for performing domain authorization. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateManaged.property.domains">domains</a></code> | <code>string[]</code> | The domains for which a managed SSL certificate will be generated. Wildcard domains are only supported with DNS challenge resolution. |

---

##### `dnsAuthorizations`<sup>Optional</sup> <a name="dnsAuthorizations" id="@dschmidt/provider-google.CertificateManagerCertificateManaged.property.dnsAuthorizations"></a>

```typescript
public readonly dnsAuthorizations: string[];
```

- *Type:* string[]

Authorizations that will be used for performing domain authorization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#dns_authorizations CertificateManagerCertificate#dns_authorizations}

---

##### `domains`<sup>Optional</sup> <a name="domains" id="@dschmidt/provider-google.CertificateManagerCertificateManaged.property.domains"></a>

```typescript
public readonly domains: string[];
```

- *Type:* string[]

The domains for which a managed SSL certificate will be generated. Wildcard domains are only supported with DNS challenge resolution.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#domains CertificateManagerCertificate#domains}

---

### CertificateManagerCertificateManagedAuthorizationAttemptInfo <a name="CertificateManagerCertificateManagedAuthorizationAttemptInfo" id="@dschmidt/provider-google.CertificateManagerCertificateManagedAuthorizationAttemptInfo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateManagedAuthorizationAttemptInfo.Initializer"></a>

```typescript
import { CertificateManagerCertificateManagedAuthorizationAttemptInfo } from '@dschmidt/provider-google'

const certificateManagerCertificateManagedAuthorizationAttemptInfo: CertificateManagerCertificateManagedAuthorizationAttemptInfo = { ... }
```


### CertificateManagerCertificateManagedProvisioningIssue <a name="CertificateManagerCertificateManagedProvisioningIssue" id="@dschmidt/provider-google.CertificateManagerCertificateManagedProvisioningIssue"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateManagedProvisioningIssue.Initializer"></a>

```typescript
import { CertificateManagerCertificateManagedProvisioningIssue } from '@dschmidt/provider-google'

const certificateManagerCertificateManagedProvisioningIssue: CertificateManagerCertificateManagedProvisioningIssue = { ... }
```


### CertificateManagerCertificateMapConfig <a name="CertificateManagerCertificateMapConfig" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.Initializer"></a>

```typescript
import { CertificateManagerCertificateMapConfig } from '@dschmidt/provider-google'

const certificateManagerCertificateMapConfig: CertificateManagerCertificateMapConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.name">name</a></code> | <code>string</code> | A user-defined name of the Certificate Map. Certificate Map names must be unique globally and match the pattern 'projects/*\/locations/*\/certificateMaps/*'. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.description">description</a></code> | <code>string</code> | A human-readable description of the resource. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#id CertificateManagerCertificateMap#id}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Set of labels associated with a Certificate Map resource. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#project CertificateManagerCertificateMap#project}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts">CertificateManagerCertificateMapTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A user-defined name of the Certificate Map. Certificate Map names must be unique globally and match the pattern 'projects/*\/locations/*\/certificateMaps/*'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#name CertificateManagerCertificateMap#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#description CertificateManagerCertificateMap#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#id CertificateManagerCertificateMap#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Set of labels associated with a Certificate Map resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#labels CertificateManagerCertificateMap#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#project CertificateManagerCertificateMap#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMapConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CertificateManagerCertificateMapTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts">CertificateManagerCertificateMapTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#timeouts CertificateManagerCertificateMap#timeouts}

---

### CertificateManagerCertificateMapEntryConfig <a name="CertificateManagerCertificateMapEntryConfig" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.Initializer"></a>

```typescript
import { CertificateManagerCertificateMapEntryConfig } from '@dschmidt/provider-google'

const certificateManagerCertificateMapEntryConfig: CertificateManagerCertificateMapEntryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.certificates">certificates</a></code> | <code>string[]</code> | A set of Certificates defines for the given hostname. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.map">map</a></code> | <code>string</code> | A map entry that is inputted into the cetrificate map. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.name">name</a></code> | <code>string</code> | A user-defined name of the Certificate Map Entry. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.description">description</a></code> | <code>string</code> | A human-readable description of the resource. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.hostname">hostname</a></code> | <code>string</code> | A Hostname (FQDN, e.g. example.com) or a wildcard hostname expression (*.example.com) for a set of hostnames with common suffix. Used as Server Name Indication (SNI) for selecting a proper certificate. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#id CertificateManagerCertificateMapEntry#id}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Set of labels associated with a Certificate Map Entry. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.matcher">matcher</a></code> | <code>string</code> | A predefined matcher for particular cases, other than SNI selection. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#project CertificateManagerCertificateMapEntry#project}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts">CertificateManagerCertificateMapEntryTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificates`<sup>Required</sup> <a name="certificates" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.certificates"></a>

```typescript
public readonly certificates: string[];
```

- *Type:* string[]

A set of Certificates defines for the given hostname.

There can be defined up to fifteen certificates in each Certificate Map Entry.
Each certificate must match pattern projects/*\/locations/*\/certificates/*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#certificates CertificateManagerCertificateMapEntry#certificates}

---

##### `map`<sup>Required</sup> <a name="map" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.map"></a>

```typescript
public readonly map: string;
```

- *Type:* string

A map entry that is inputted into the cetrificate map.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#map CertificateManagerCertificateMapEntry#map}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A user-defined name of the Certificate Map Entry.

Certificate Map Entry 
names must be unique globally and match pattern 
'projects/*\/locations/*\/certificateMaps/*\/certificateMapEntries/*'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#name CertificateManagerCertificateMapEntry#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#description CertificateManagerCertificateMapEntry#description}

---

##### `hostname`<sup>Optional</sup> <a name="hostname" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.hostname"></a>

```typescript
public readonly hostname: string;
```

- *Type:* string

A Hostname (FQDN, e.g. example.com) or a wildcard hostname expression (*.example.com) for a set of hostnames with common suffix. Used as Server Name Indication (SNI) for selecting a proper certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#hostname CertificateManagerCertificateMapEntry#hostname}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#id CertificateManagerCertificateMapEntry#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Set of labels associated with a Certificate Map Entry.

An object containing a list of "key": value pairs.
Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#labels CertificateManagerCertificateMapEntry#labels}

---

##### `matcher`<sup>Optional</sup> <a name="matcher" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.matcher"></a>

```typescript
public readonly matcher: string;
```

- *Type:* string

A predefined matcher for particular cases, other than SNI selection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#matcher CertificateManagerCertificateMapEntry#matcher}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#project CertificateManagerCertificateMapEntry#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CertificateManagerCertificateMapEntryTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts">CertificateManagerCertificateMapEntryTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#timeouts CertificateManagerCertificateMapEntry#timeouts}

---

### CertificateManagerCertificateMapEntryTimeouts <a name="CertificateManagerCertificateMapEntryTimeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts.Initializer"></a>

```typescript
import { CertificateManagerCertificateMapEntryTimeouts } from '@dschmidt/provider-google'

const certificateManagerCertificateMapEntryTimeouts: CertificateManagerCertificateMapEntryTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#create CertificateManagerCertificateMapEntry#create}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#delete CertificateManagerCertificateMapEntry#delete}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#update CertificateManagerCertificateMapEntry#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#create CertificateManagerCertificateMapEntry#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#delete CertificateManagerCertificateMapEntry#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CertificateManagerCertificateMapEntryTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map_entry#update CertificateManagerCertificateMapEntry#update}.

---

### CertificateManagerCertificateMapGclbTargets <a name="CertificateManagerCertificateMapGclbTargets" id="@dschmidt/provider-google.CertificateManagerCertificateMapGclbTargets"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateMapGclbTargets.Initializer"></a>

```typescript
import { CertificateManagerCertificateMapGclbTargets } from '@dschmidt/provider-google'

const certificateManagerCertificateMapGclbTargets: CertificateManagerCertificateMapGclbTargets = { ... }
```


### CertificateManagerCertificateMapGclbTargetsIpConfigs <a name="CertificateManagerCertificateMapGclbTargetsIpConfigs" id="@dschmidt/provider-google.CertificateManagerCertificateMapGclbTargetsIpConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateMapGclbTargetsIpConfigs.Initializer"></a>

```typescript
import { CertificateManagerCertificateMapGclbTargetsIpConfigs } from '@dschmidt/provider-google'

const certificateManagerCertificateMapGclbTargetsIpConfigs: CertificateManagerCertificateMapGclbTargetsIpConfigs = { ... }
```


### CertificateManagerCertificateMapTimeouts <a name="CertificateManagerCertificateMapTimeouts" id="@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts.Initializer"></a>

```typescript
import { CertificateManagerCertificateMapTimeouts } from '@dschmidt/provider-google'

const certificateManagerCertificateMapTimeouts: CertificateManagerCertificateMapTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#create CertificateManagerCertificateMap#create}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#delete CertificateManagerCertificateMap#delete}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#update CertificateManagerCertificateMap#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#create CertificateManagerCertificateMap#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#delete CertificateManagerCertificateMap#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CertificateManagerCertificateMapTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate_map#update CertificateManagerCertificateMap#update}.

---

### CertificateManagerCertificateSelfManaged <a name="CertificateManagerCertificateSelfManaged" id="@dschmidt/provider-google.CertificateManagerCertificateSelfManaged"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateSelfManaged.Initializer"></a>

```typescript
import { CertificateManagerCertificateSelfManaged } from '@dschmidt/provider-google'

const certificateManagerCertificateSelfManaged: CertificateManagerCertificateSelfManaged = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateSelfManaged.property.certificatePem">certificatePem</a></code> | <code>string</code> | The certificate chain in PEM-encoded form. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateSelfManaged.property.privateKeyPem">privateKeyPem</a></code> | <code>string</code> | The private key of the leaf certificate in PEM-encoded form. |

---

##### `certificatePem`<sup>Required</sup> <a name="certificatePem" id="@dschmidt/provider-google.CertificateManagerCertificateSelfManaged.property.certificatePem"></a>

```typescript
public readonly certificatePem: string;
```

- *Type:* string

The certificate chain in PEM-encoded form.

Leaf certificate comes first, followed by intermediate ones if any.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#certificate_pem CertificateManagerCertificate#certificate_pem}

---

##### `privateKeyPem`<sup>Required</sup> <a name="privateKeyPem" id="@dschmidt/provider-google.CertificateManagerCertificateSelfManaged.property.privateKeyPem"></a>

```typescript
public readonly privateKeyPem: string;
```

- *Type:* string

The private key of the leaf certificate in PEM-encoded form.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#private_key_pem CertificateManagerCertificate#private_key_pem}

---

### CertificateManagerCertificateTimeouts <a name="CertificateManagerCertificateTimeouts" id="@dschmidt/provider-google.CertificateManagerCertificateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerCertificateTimeouts.Initializer"></a>

```typescript
import { CertificateManagerCertificateTimeouts } from '@dschmidt/provider-google'

const certificateManagerCertificateTimeouts: CertificateManagerCertificateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#create CertificateManagerCertificate#create}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#delete CertificateManagerCertificate#delete}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerCertificateTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#update CertificateManagerCertificate#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CertificateManagerCertificateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#create CertificateManagerCertificate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CertificateManagerCertificateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#delete CertificateManagerCertificate#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CertificateManagerCertificateTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_certificate#update CertificateManagerCertificate#update}.

---

### CertificateManagerDnsAuthorizationConfig <a name="CertificateManagerDnsAuthorizationConfig" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.Initializer"></a>

```typescript
import { CertificateManagerDnsAuthorizationConfig } from '@dschmidt/provider-google'

const certificateManagerDnsAuthorizationConfig: CertificateManagerDnsAuthorizationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.domain">domain</a></code> | <code>string</code> | A domain which is being authorized. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.description">description</a></code> | <code>string</code> | A human-readable description of the resource. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#id CertificateManagerDnsAuthorization#id}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Set of label tags associated with the DNS Authorization resource. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#project CertificateManagerDnsAuthorization#project}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts">CertificateManagerDnsAuthorizationTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

A domain which is being authorized.

A DnsAuthorization resource covers a
single domain and its wildcard, e.g. authorization for "example.com" can
be used to issue certificates for "example.com" and "*.example.com".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#domain CertificateManagerDnsAuthorization#domain}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is created.
The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
and all following characters must be a dash, underscore, letter or digit.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#name CertificateManagerDnsAuthorization#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#description CertificateManagerDnsAuthorization#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#id CertificateManagerDnsAuthorization#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Set of label tags associated with the DNS Authorization resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#labels CertificateManagerDnsAuthorization#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#project CertificateManagerDnsAuthorization#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CertificateManagerDnsAuthorizationTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts">CertificateManagerDnsAuthorizationTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#timeouts CertificateManagerDnsAuthorization#timeouts}

---

### CertificateManagerDnsAuthorizationDnsResourceRecord <a name="CertificateManagerDnsAuthorizationDnsResourceRecord" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationDnsResourceRecord"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationDnsResourceRecord.Initializer"></a>

```typescript
import { CertificateManagerDnsAuthorizationDnsResourceRecord } from '@dschmidt/provider-google'

const certificateManagerDnsAuthorizationDnsResourceRecord: CertificateManagerDnsAuthorizationDnsResourceRecord = { ... }
```


### CertificateManagerDnsAuthorizationTimeouts <a name="CertificateManagerDnsAuthorizationTimeouts" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts.Initializer"></a>

```typescript
import { CertificateManagerDnsAuthorizationTimeouts } from '@dschmidt/provider-google'

const certificateManagerDnsAuthorizationTimeouts: CertificateManagerDnsAuthorizationTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#create CertificateManagerDnsAuthorization#create}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#delete CertificateManagerDnsAuthorization#delete}. |
| <code><a href="#@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#update CertificateManagerDnsAuthorization#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#create CertificateManagerDnsAuthorization#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#delete CertificateManagerDnsAuthorization#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CertificateManagerDnsAuthorizationTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/certificate_manager_dns_authorization#update CertificateManagerDnsAuthorization#update}.

---

### CloudAssetFolderFeedCondition <a name="CloudAssetFolderFeedCondition" id="@dschmidt/provider-google.CloudAssetFolderFeedCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetFolderFeedCondition.Initializer"></a>

```typescript
import { CloudAssetFolderFeedCondition } from '@dschmidt/provider-google'

const cloudAssetFolderFeedCondition: CloudAssetFolderFeedCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedCondition.property.expression">expression</a></code> | <code>string</code> | Textual representation of an expression in Common Expression Language syntax. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedCondition.property.description">description</a></code> | <code>string</code> | Description of the expression. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedCondition.property.location">location</a></code> | <code>string</code> | String indicating the location of the expression for error reporting, e.g. a file  name and a position in the file. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedCondition.property.title">title</a></code> | <code>string</code> | Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudAssetFolderFeedCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Textual representation of an expression in Common Expression Language syntax.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#expression CloudAssetFolderFeed#expression}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudAssetFolderFeedCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the expression.

This is a longer text which describes the expression,
e.g. when hovered over it in a UI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#description CloudAssetFolderFeed#description}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudAssetFolderFeedCondition.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

String indicating the location of the expression for error reporting, e.g. a file  name and a position in the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#location CloudAssetFolderFeed#location}

---

##### `title`<sup>Optional</sup> <a name="title" id="@dschmidt/provider-google.CloudAssetFolderFeedCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#title CloudAssetFolderFeed#title}

---

### CloudAssetFolderFeedConfig <a name="CloudAssetFolderFeedConfig" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.Initializer"></a>

```typescript
import { CloudAssetFolderFeedConfig } from '@dschmidt/provider-google'

const cloudAssetFolderFeedConfig: CloudAssetFolderFeedConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.billingProject">billingProject</a></code> | <code>string</code> | The project whose identity will be used when sending messages to the destination pubsub topic. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.feedId">feedId</a></code> | <code>string</code> | This is the client-assigned asset feed identifier and it needs to be unique under a specific parent. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.feedOutputConfig">feedOutputConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfig">CloudAssetFolderFeedFeedOutputConfig</a></code> | feed_output_config block. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.folder">folder</a></code> | <code>string</code> | The folder this feed should be created in. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.assetNames">assetNames</a></code> | <code>string[]</code> | A list of the full names of the assets to receive updates. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.assetTypes">assetTypes</a></code> | <code>string[]</code> | A list of types of the assets to receive updates. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedCondition">CloudAssetFolderFeedCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.contentType">contentType</a></code> | <code>string</code> | Asset content type. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#id CloudAssetFolderFeed#id}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeouts">CloudAssetFolderFeedTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingProject`<sup>Required</sup> <a name="billingProject" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.billingProject"></a>

```typescript
public readonly billingProject: string;
```

- *Type:* string

The project whose identity will be used when sending messages to the destination pubsub topic.

It also specifies the project for API 
enablement check, quota, and billing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#billing_project CloudAssetFolderFeed#billing_project}

---

##### `feedId`<sup>Required</sup> <a name="feedId" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.feedId"></a>

```typescript
public readonly feedId: string;
```

- *Type:* string

This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#feed_id CloudAssetFolderFeed#feed_id}

---

##### `feedOutputConfig`<sup>Required</sup> <a name="feedOutputConfig" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.feedOutputConfig"></a>

```typescript
public readonly feedOutputConfig: CloudAssetFolderFeedFeedOutputConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfig">CloudAssetFolderFeedFeedOutputConfig</a>

feed_output_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#feed_output_config CloudAssetFolderFeed#feed_output_config}

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

The folder this feed should be created in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#folder CloudAssetFolderFeed#folder}

---

##### `assetNames`<sup>Optional</sup> <a name="assetNames" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.assetNames"></a>

```typescript
public readonly assetNames: string[];
```

- *Type:* string[]

A list of the full names of the assets to receive updates.

You must specify either or both of 
assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#asset_names CloudAssetFolderFeed#asset_names}

---

##### `assetTypes`<sup>Optional</sup> <a name="assetTypes" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.assetTypes"></a>

```typescript
public readonly assetTypes: string[];
```

- *Type:* string[]

A list of types of the assets to receive updates.

You must specify either or both of assetNames
and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
the feed. For example: "compute.googleapis.com/Disk"
See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
supported asset types.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#asset_types CloudAssetFolderFeed#asset_types}

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.condition"></a>

```typescript
public readonly condition: CloudAssetFolderFeedCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedCondition">CloudAssetFolderFeedCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#condition CloudAssetFolderFeed#condition}

---

##### `contentType`<sup>Optional</sup> <a name="contentType" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

Asset content type.

If not specified, no content but the asset name and type will be returned. Possible values: ["CONTENT_TYPE_UNSPECIFIED", "RESOURCE", "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#content_type CloudAssetFolderFeed#content_type}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#id CloudAssetFolderFeed#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudAssetFolderFeedConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudAssetFolderFeedTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeouts">CloudAssetFolderFeedTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#timeouts CloudAssetFolderFeed#timeouts}

---

### CloudAssetFolderFeedFeedOutputConfig <a name="CloudAssetFolderFeedFeedOutputConfig" id="@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfig.Initializer"></a>

```typescript
import { CloudAssetFolderFeedFeedOutputConfig } from '@dschmidt/provider-google'

const cloudAssetFolderFeedFeedOutputConfig: CloudAssetFolderFeedFeedOutputConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfig.property.pubsubDestination">pubsubDestination</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfigPubsubDestination">CloudAssetFolderFeedFeedOutputConfigPubsubDestination</a></code> | pubsub_destination block. |

---

##### `pubsubDestination`<sup>Required</sup> <a name="pubsubDestination" id="@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfig.property.pubsubDestination"></a>

```typescript
public readonly pubsubDestination: CloudAssetFolderFeedFeedOutputConfigPubsubDestination;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfigPubsubDestination">CloudAssetFolderFeedFeedOutputConfigPubsubDestination</a>

pubsub_destination block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#pubsub_destination CloudAssetFolderFeed#pubsub_destination}

---

### CloudAssetFolderFeedFeedOutputConfigPubsubDestination <a name="CloudAssetFolderFeedFeedOutputConfigPubsubDestination" id="@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfigPubsubDestination"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfigPubsubDestination.Initializer"></a>

```typescript
import { CloudAssetFolderFeedFeedOutputConfigPubsubDestination } from '@dschmidt/provider-google'

const cloudAssetFolderFeedFeedOutputConfigPubsubDestination: CloudAssetFolderFeedFeedOutputConfigPubsubDestination = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfigPubsubDestination.property.topic">topic</a></code> | <code>string</code> | Destination on Cloud Pubsub topic. |

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.CloudAssetFolderFeedFeedOutputConfigPubsubDestination.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

Destination on Cloud Pubsub topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#topic CloudAssetFolderFeed#topic}

---

### CloudAssetFolderFeedTimeouts <a name="CloudAssetFolderFeedTimeouts" id="@dschmidt/provider-google.CloudAssetFolderFeedTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetFolderFeedTimeouts.Initializer"></a>

```typescript
import { CloudAssetFolderFeedTimeouts } from '@dschmidt/provider-google'

const cloudAssetFolderFeedTimeouts: CloudAssetFolderFeedTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#create CloudAssetFolderFeed#create}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#delete CloudAssetFolderFeed#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetFolderFeedTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#update CloudAssetFolderFeed#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudAssetFolderFeedTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#create CloudAssetFolderFeed#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudAssetFolderFeedTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#delete CloudAssetFolderFeed#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudAssetFolderFeedTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_folder_feed#update CloudAssetFolderFeed#update}.

---

### CloudAssetOrganizationFeedCondition <a name="CloudAssetOrganizationFeedCondition" id="@dschmidt/provider-google.CloudAssetOrganizationFeedCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetOrganizationFeedCondition.Initializer"></a>

```typescript
import { CloudAssetOrganizationFeedCondition } from '@dschmidt/provider-google'

const cloudAssetOrganizationFeedCondition: CloudAssetOrganizationFeedCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedCondition.property.expression">expression</a></code> | <code>string</code> | Textual representation of an expression in Common Expression Language syntax. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedCondition.property.description">description</a></code> | <code>string</code> | Description of the expression. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedCondition.property.location">location</a></code> | <code>string</code> | String indicating the location of the expression for error reporting, e.g. a file  name and a position in the file. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedCondition.property.title">title</a></code> | <code>string</code> | Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudAssetOrganizationFeedCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Textual representation of an expression in Common Expression Language syntax.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#expression CloudAssetOrganizationFeed#expression}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudAssetOrganizationFeedCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the expression.

This is a longer text which describes the expression,
e.g. when hovered over it in a UI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#description CloudAssetOrganizationFeed#description}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudAssetOrganizationFeedCondition.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

String indicating the location of the expression for error reporting, e.g. a file  name and a position in the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#location CloudAssetOrganizationFeed#location}

---

##### `title`<sup>Optional</sup> <a name="title" id="@dschmidt/provider-google.CloudAssetOrganizationFeedCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#title CloudAssetOrganizationFeed#title}

---

### CloudAssetOrganizationFeedConfig <a name="CloudAssetOrganizationFeedConfig" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.Initializer"></a>

```typescript
import { CloudAssetOrganizationFeedConfig } from '@dschmidt/provider-google'

const cloudAssetOrganizationFeedConfig: CloudAssetOrganizationFeedConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.billingProject">billingProject</a></code> | <code>string</code> | The project whose identity will be used when sending messages to the destination pubsub topic. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.feedId">feedId</a></code> | <code>string</code> | This is the client-assigned asset feed identifier and it needs to be unique under a specific parent. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.feedOutputConfig">feedOutputConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfig">CloudAssetOrganizationFeedFeedOutputConfig</a></code> | feed_output_config block. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.orgId">orgId</a></code> | <code>string</code> | The organization this feed should be created in. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.assetNames">assetNames</a></code> | <code>string[]</code> | A list of the full names of the assets to receive updates. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.assetTypes">assetTypes</a></code> | <code>string[]</code> | A list of types of the assets to receive updates. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedCondition">CloudAssetOrganizationFeedCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.contentType">contentType</a></code> | <code>string</code> | Asset content type. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#id CloudAssetOrganizationFeed#id}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts">CloudAssetOrganizationFeedTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingProject`<sup>Required</sup> <a name="billingProject" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.billingProject"></a>

```typescript
public readonly billingProject: string;
```

- *Type:* string

The project whose identity will be used when sending messages to the destination pubsub topic.

It also specifies the project for API 
enablement check, quota, and billing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#billing_project CloudAssetOrganizationFeed#billing_project}

---

##### `feedId`<sup>Required</sup> <a name="feedId" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.feedId"></a>

```typescript
public readonly feedId: string;
```

- *Type:* string

This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#feed_id CloudAssetOrganizationFeed#feed_id}

---

##### `feedOutputConfig`<sup>Required</sup> <a name="feedOutputConfig" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.feedOutputConfig"></a>

```typescript
public readonly feedOutputConfig: CloudAssetOrganizationFeedFeedOutputConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfig">CloudAssetOrganizationFeedFeedOutputConfig</a>

feed_output_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#feed_output_config CloudAssetOrganizationFeed#feed_output_config}

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The organization this feed should be created in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#org_id CloudAssetOrganizationFeed#org_id}

---

##### `assetNames`<sup>Optional</sup> <a name="assetNames" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.assetNames"></a>

```typescript
public readonly assetNames: string[];
```

- *Type:* string[]

A list of the full names of the assets to receive updates.

You must specify either or both of 
assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#asset_names CloudAssetOrganizationFeed#asset_names}

---

##### `assetTypes`<sup>Optional</sup> <a name="assetTypes" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.assetTypes"></a>

```typescript
public readonly assetTypes: string[];
```

- *Type:* string[]

A list of types of the assets to receive updates.

You must specify either or both of assetNames
and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
the feed. For example: "compute.googleapis.com/Disk"
See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
supported asset types.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#asset_types CloudAssetOrganizationFeed#asset_types}

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.condition"></a>

```typescript
public readonly condition: CloudAssetOrganizationFeedCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedCondition">CloudAssetOrganizationFeedCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#condition CloudAssetOrganizationFeed#condition}

---

##### `contentType`<sup>Optional</sup> <a name="contentType" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

Asset content type.

If not specified, no content but the asset name and type will be returned. Possible values: ["CONTENT_TYPE_UNSPECIFIED", "RESOURCE", "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#content_type CloudAssetOrganizationFeed#content_type}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#id CloudAssetOrganizationFeed#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudAssetOrganizationFeedConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudAssetOrganizationFeedTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts">CloudAssetOrganizationFeedTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#timeouts CloudAssetOrganizationFeed#timeouts}

---

### CloudAssetOrganizationFeedFeedOutputConfig <a name="CloudAssetOrganizationFeedFeedOutputConfig" id="@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfig.Initializer"></a>

```typescript
import { CloudAssetOrganizationFeedFeedOutputConfig } from '@dschmidt/provider-google'

const cloudAssetOrganizationFeedFeedOutputConfig: CloudAssetOrganizationFeedFeedOutputConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfig.property.pubsubDestination">pubsubDestination</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination">CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination</a></code> | pubsub_destination block. |

---

##### `pubsubDestination`<sup>Required</sup> <a name="pubsubDestination" id="@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfig.property.pubsubDestination"></a>

```typescript
public readonly pubsubDestination: CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination">CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination</a>

pubsub_destination block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#pubsub_destination CloudAssetOrganizationFeed#pubsub_destination}

---

### CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination <a name="CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination" id="@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination.Initializer"></a>

```typescript
import { CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination } from '@dschmidt/provider-google'

const cloudAssetOrganizationFeedFeedOutputConfigPubsubDestination: CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination.property.topic">topic</a></code> | <code>string</code> | Destination on Cloud Pubsub topic. |

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.CloudAssetOrganizationFeedFeedOutputConfigPubsubDestination.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

Destination on Cloud Pubsub topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#topic CloudAssetOrganizationFeed#topic}

---

### CloudAssetOrganizationFeedTimeouts <a name="CloudAssetOrganizationFeedTimeouts" id="@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts.Initializer"></a>

```typescript
import { CloudAssetOrganizationFeedTimeouts } from '@dschmidt/provider-google'

const cloudAssetOrganizationFeedTimeouts: CloudAssetOrganizationFeedTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#create CloudAssetOrganizationFeed#create}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#delete CloudAssetOrganizationFeed#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#update CloudAssetOrganizationFeed#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#create CloudAssetOrganizationFeed#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#delete CloudAssetOrganizationFeed#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudAssetOrganizationFeedTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_organization_feed#update CloudAssetOrganizationFeed#update}.

---

### CloudAssetProjectFeedCondition <a name="CloudAssetProjectFeedCondition" id="@dschmidt/provider-google.CloudAssetProjectFeedCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetProjectFeedCondition.Initializer"></a>

```typescript
import { CloudAssetProjectFeedCondition } from '@dschmidt/provider-google'

const cloudAssetProjectFeedCondition: CloudAssetProjectFeedCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedCondition.property.expression">expression</a></code> | <code>string</code> | Textual representation of an expression in Common Expression Language syntax. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedCondition.property.description">description</a></code> | <code>string</code> | Description of the expression. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedCondition.property.location">location</a></code> | <code>string</code> | String indicating the location of the expression for error reporting, e.g. a file  name and a position in the file. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedCondition.property.title">title</a></code> | <code>string</code> | Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudAssetProjectFeedCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Textual representation of an expression in Common Expression Language syntax.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#expression CloudAssetProjectFeed#expression}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudAssetProjectFeedCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the expression.

This is a longer text which describes the expression,
e.g. when hovered over it in a UI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#description CloudAssetProjectFeed#description}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudAssetProjectFeedCondition.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

String indicating the location of the expression for error reporting, e.g. a file  name and a position in the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#location CloudAssetProjectFeed#location}

---

##### `title`<sup>Optional</sup> <a name="title" id="@dschmidt/provider-google.CloudAssetProjectFeedCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#title CloudAssetProjectFeed#title}

---

### CloudAssetProjectFeedConfig <a name="CloudAssetProjectFeedConfig" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.Initializer"></a>

```typescript
import { CloudAssetProjectFeedConfig } from '@dschmidt/provider-google'

const cloudAssetProjectFeedConfig: CloudAssetProjectFeedConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.feedId">feedId</a></code> | <code>string</code> | This is the client-assigned asset feed identifier and it needs to be unique under a specific parent. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.feedOutputConfig">feedOutputConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfig">CloudAssetProjectFeedFeedOutputConfig</a></code> | feed_output_config block. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.assetNames">assetNames</a></code> | <code>string[]</code> | A list of the full names of the assets to receive updates. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.assetTypes">assetTypes</a></code> | <code>string[]</code> | A list of types of the assets to receive updates. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.billingProject">billingProject</a></code> | <code>string</code> | The project whose identity will be used when sending messages to the destination pubsub topic. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedCondition">CloudAssetProjectFeedCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.contentType">contentType</a></code> | <code>string</code> | Asset content type. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#id CloudAssetProjectFeed#id}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#project CloudAssetProjectFeed#project}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeouts">CloudAssetProjectFeedTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `feedId`<sup>Required</sup> <a name="feedId" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.feedId"></a>

```typescript
public readonly feedId: string;
```

- *Type:* string

This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#feed_id CloudAssetProjectFeed#feed_id}

---

##### `feedOutputConfig`<sup>Required</sup> <a name="feedOutputConfig" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.feedOutputConfig"></a>

```typescript
public readonly feedOutputConfig: CloudAssetProjectFeedFeedOutputConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfig">CloudAssetProjectFeedFeedOutputConfig</a>

feed_output_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#feed_output_config CloudAssetProjectFeed#feed_output_config}

---

##### `assetNames`<sup>Optional</sup> <a name="assetNames" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.assetNames"></a>

```typescript
public readonly assetNames: string[];
```

- *Type:* string[]

A list of the full names of the assets to receive updates.

You must specify either or both of 
assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#asset_names CloudAssetProjectFeed#asset_names}

---

##### `assetTypes`<sup>Optional</sup> <a name="assetTypes" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.assetTypes"></a>

```typescript
public readonly assetTypes: string[];
```

- *Type:* string[]

A list of types of the assets to receive updates.

You must specify either or both of assetNames
and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
the feed. For example: "compute.googleapis.com/Disk"
See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
supported asset types.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#asset_types CloudAssetProjectFeed#asset_types}

---

##### `billingProject`<sup>Optional</sup> <a name="billingProject" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.billingProject"></a>

```typescript
public readonly billingProject: string;
```

- *Type:* string

The project whose identity will be used when sending messages to the destination pubsub topic.

It also specifies the project for API 
enablement check, quota, and billing. If not specified, the resource's
project will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#billing_project CloudAssetProjectFeed#billing_project}

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.condition"></a>

```typescript
public readonly condition: CloudAssetProjectFeedCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedCondition">CloudAssetProjectFeedCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#condition CloudAssetProjectFeed#condition}

---

##### `contentType`<sup>Optional</sup> <a name="contentType" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

Asset content type.

If not specified, no content but the asset name and type will be returned. Possible values: ["CONTENT_TYPE_UNSPECIFIED", "RESOURCE", "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#content_type CloudAssetProjectFeed#content_type}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#id CloudAssetProjectFeed#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#project CloudAssetProjectFeed#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudAssetProjectFeedConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudAssetProjectFeedTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeouts">CloudAssetProjectFeedTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#timeouts CloudAssetProjectFeed#timeouts}

---

### CloudAssetProjectFeedFeedOutputConfig <a name="CloudAssetProjectFeedFeedOutputConfig" id="@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfig.Initializer"></a>

```typescript
import { CloudAssetProjectFeedFeedOutputConfig } from '@dschmidt/provider-google'

const cloudAssetProjectFeedFeedOutputConfig: CloudAssetProjectFeedFeedOutputConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfig.property.pubsubDestination">pubsubDestination</a></code> | <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfigPubsubDestination">CloudAssetProjectFeedFeedOutputConfigPubsubDestination</a></code> | pubsub_destination block. |

---

##### `pubsubDestination`<sup>Required</sup> <a name="pubsubDestination" id="@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfig.property.pubsubDestination"></a>

```typescript
public readonly pubsubDestination: CloudAssetProjectFeedFeedOutputConfigPubsubDestination;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfigPubsubDestination">CloudAssetProjectFeedFeedOutputConfigPubsubDestination</a>

pubsub_destination block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#pubsub_destination CloudAssetProjectFeed#pubsub_destination}

---

### CloudAssetProjectFeedFeedOutputConfigPubsubDestination <a name="CloudAssetProjectFeedFeedOutputConfigPubsubDestination" id="@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfigPubsubDestination"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfigPubsubDestination.Initializer"></a>

```typescript
import { CloudAssetProjectFeedFeedOutputConfigPubsubDestination } from '@dschmidt/provider-google'

const cloudAssetProjectFeedFeedOutputConfigPubsubDestination: CloudAssetProjectFeedFeedOutputConfigPubsubDestination = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfigPubsubDestination.property.topic">topic</a></code> | <code>string</code> | Destination on Cloud Pubsub topic. |

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.CloudAssetProjectFeedFeedOutputConfigPubsubDestination.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

Destination on Cloud Pubsub topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#topic CloudAssetProjectFeed#topic}

---

### CloudAssetProjectFeedTimeouts <a name="CloudAssetProjectFeedTimeouts" id="@dschmidt/provider-google.CloudAssetProjectFeedTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudAssetProjectFeedTimeouts.Initializer"></a>

```typescript
import { CloudAssetProjectFeedTimeouts } from '@dschmidt/provider-google'

const cloudAssetProjectFeedTimeouts: CloudAssetProjectFeedTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#create CloudAssetProjectFeed#create}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#delete CloudAssetProjectFeed#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudAssetProjectFeedTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#update CloudAssetProjectFeed#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudAssetProjectFeedTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#create CloudAssetProjectFeed#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudAssetProjectFeedTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#delete CloudAssetProjectFeed#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudAssetProjectFeedTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_asset_project_feed#update CloudAssetProjectFeed#update}.

---

### CloudbuildTriggerApprovalConfig <a name="CloudbuildTriggerApprovalConfig" id="@dschmidt/provider-google.CloudbuildTriggerApprovalConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerApprovalConfig.Initializer"></a>

```typescript
import { CloudbuildTriggerApprovalConfig } from '@dschmidt/provider-google'

const cloudbuildTriggerApprovalConfig: CloudbuildTriggerApprovalConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerApprovalConfig.property.approvalRequired">approvalRequired</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not approval is needed. |

---

##### `approvalRequired`<sup>Optional</sup> <a name="approvalRequired" id="@dschmidt/provider-google.CloudbuildTriggerApprovalConfig.property.approvalRequired"></a>

```typescript
public readonly approvalRequired: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not approval is needed.

If this is set on a build, it will become pending when run, 
and will need to be explicitly approved to start.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#approval_required CloudbuildTrigger#approval_required}

---

### CloudbuildTriggerBuild <a name="CloudbuildTriggerBuild" id="@dschmidt/provider-google.CloudbuildTriggerBuild"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuild.Initializer"></a>

```typescript
import { CloudbuildTriggerBuild } from '@dschmidt/provider-google'

const cloudbuildTriggerBuild: CloudbuildTriggerBuild = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.step">step</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep">CloudbuildTriggerBuildStep</a>[]</code> | step block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.artifacts">artifacts</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildArtifacts">CloudbuildTriggerBuildArtifacts</a></code> | artifacts block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.availableSecrets">availableSecrets</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecrets">CloudbuildTriggerBuildAvailableSecrets</a></code> | available_secrets block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.images">images</a></code> | <code>string[]</code> | A list of images to be pushed upon the successful completion of all build steps. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.logsBucket">logsBucket</a></code> | <code>string</code> | Google Cloud Storage bucket where logs should be written.  Logs file names will be of the format ${logsBucket}/log-${build_id}.txt. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.options">options</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions">CloudbuildTriggerBuildOptions</a></code> | options block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.queueTtl">queueTtl</a></code> | <code>string</code> | TTL in queue for this build. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.secret">secret</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSecret">CloudbuildTriggerBuildSecret</a>[]</code> | secret block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.source">source</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSource">CloudbuildTriggerBuildSource</a></code> | source block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.substitutions">substitutions</a></code> | <code>{[ key: string ]: string}</code> | Substitutions data for Build resource. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.tags">tags</a></code> | <code>string[]</code> | Tags for annotation of a Build. These are not docker tags. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild.property.timeout">timeout</a></code> | <code>string</code> | Amount of time that this build should be allowed to run, to second granularity. |

---

##### `step`<sup>Required</sup> <a name="step" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.step"></a>

```typescript
public readonly step: IResolvable | CloudbuildTriggerBuildStep[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep">CloudbuildTriggerBuildStep</a>[]

step block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#step CloudbuildTrigger#step}

---

##### `artifacts`<sup>Optional</sup> <a name="artifacts" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.artifacts"></a>

```typescript
public readonly artifacts: CloudbuildTriggerBuildArtifacts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildArtifacts">CloudbuildTriggerBuildArtifacts</a>

artifacts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#artifacts CloudbuildTrigger#artifacts}

---

##### `availableSecrets`<sup>Optional</sup> <a name="availableSecrets" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.availableSecrets"></a>

```typescript
public readonly availableSecrets: CloudbuildTriggerBuildAvailableSecrets;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecrets">CloudbuildTriggerBuildAvailableSecrets</a>

available_secrets block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#available_secrets CloudbuildTrigger#available_secrets}

---

##### `images`<sup>Optional</sup> <a name="images" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.images"></a>

```typescript
public readonly images: string[];
```

- *Type:* string[]

A list of images to be pushed upon the successful completion of all build steps.

The images are pushed using the builder service account's credentials.
The digests of the pushed images will be stored in the Build resource's results field.
If any of the images fail to be pushed, the build status is marked FAILURE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#images CloudbuildTrigger#images}

---

##### `logsBucket`<sup>Optional</sup> <a name="logsBucket" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.logsBucket"></a>

```typescript
public readonly logsBucket: string;
```

- *Type:* string

Google Cloud Storage bucket where logs should be written.  Logs file names will be of the format ${logsBucket}/log-${build_id}.txt.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#logs_bucket CloudbuildTrigger#logs_bucket}

---

##### `options`<sup>Optional</sup> <a name="options" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.options"></a>

```typescript
public readonly options: CloudbuildTriggerBuildOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions">CloudbuildTriggerBuildOptions</a>

options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#options CloudbuildTrigger#options}

---

##### `queueTtl`<sup>Optional</sup> <a name="queueTtl" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.queueTtl"></a>

```typescript
public readonly queueTtl: string;
```

- *Type:* string

TTL in queue for this build.

If provided and the build is enqueued longer than this value, 
the build will expire and the build status will be EXPIRED.
The TTL starts ticking from createTime.
A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#queue_ttl CloudbuildTrigger#queue_ttl}

---

##### `secret`<sup>Optional</sup> <a name="secret" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.secret"></a>

```typescript
public readonly secret: IResolvable | CloudbuildTriggerBuildSecret[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSecret">CloudbuildTriggerBuildSecret</a>[]

secret block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret CloudbuildTrigger#secret}

---

##### `source`<sup>Optional</sup> <a name="source" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.source"></a>

```typescript
public readonly source: CloudbuildTriggerBuildSource;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSource">CloudbuildTriggerBuildSource</a>

source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#source CloudbuildTrigger#source}

---

##### `substitutions`<sup>Optional</sup> <a name="substitutions" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.substitutions"></a>

```typescript
public readonly substitutions: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Substitutions data for Build resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#substitutions CloudbuildTrigger#substitutions}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

Tags for annotation of a Build. These are not docker tags.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tags CloudbuildTrigger#tags}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.CloudbuildTriggerBuild.property.timeout"></a>

```typescript
public readonly timeout: string;
```

- *Type:* string

Amount of time that this build should be allowed to run, to second granularity.

If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT.
This timeout must be equal to or greater than the sum of the timeouts for build steps within the build.
The expected format is the number of seconds followed by s.
Default time is ten minutes (600s).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#timeout CloudbuildTrigger#timeout}

---

### CloudbuildTriggerBuildArtifacts <a name="CloudbuildTriggerBuildArtifacts" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifacts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifacts.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildArtifacts } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildArtifacts: CloudbuildTriggerBuildArtifacts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildArtifacts.property.images">images</a></code> | <code>string[]</code> | A list of images to be pushed upon the successful completion of all build steps. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildArtifacts.property.objects">objects</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjects">CloudbuildTriggerBuildArtifactsObjects</a></code> | objects block. |

---

##### `images`<sup>Optional</sup> <a name="images" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifacts.property.images"></a>

```typescript
public readonly images: string[];
```

- *Type:* string[]

A list of images to be pushed upon the successful completion of all build steps.

The images will be pushed using the builder service account's credentials.

The digests of the pushed images will be stored in the Build resource's results field.

If any of the images fail to be pushed, the build is marked FAILURE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#images CloudbuildTrigger#images}

---

##### `objects`<sup>Optional</sup> <a name="objects" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifacts.property.objects"></a>

```typescript
public readonly objects: CloudbuildTriggerBuildArtifactsObjects;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjects">CloudbuildTriggerBuildArtifactsObjects</a>

objects block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#objects CloudbuildTrigger#objects}

---

### CloudbuildTriggerBuildArtifactsObjects <a name="CloudbuildTriggerBuildArtifactsObjects" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjects"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjects.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildArtifactsObjects } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildArtifactsObjects: CloudbuildTriggerBuildArtifactsObjects = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjects.property.location">location</a></code> | <code>string</code> | Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/". |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjects.property.paths">paths</a></code> | <code>string[]</code> | Path globs used to match files in the build's workspace. |

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjects.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/".

Files in the workspace matching any path pattern will be uploaded to Cloud Storage with
this location as a prefix.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#location CloudbuildTrigger#location}

---

##### `paths`<sup>Optional</sup> <a name="paths" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjects.property.paths"></a>

```typescript
public readonly paths: string[];
```

- *Type:* string[]

Path globs used to match files in the build's workspace.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#paths CloudbuildTrigger#paths}

---

### CloudbuildTriggerBuildArtifactsObjectsTiming <a name="CloudbuildTriggerBuildArtifactsObjectsTiming" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjectsTiming"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildArtifactsObjectsTiming.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildArtifactsObjectsTiming } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildArtifactsObjectsTiming: CloudbuildTriggerBuildArtifactsObjectsTiming = { ... }
```


### CloudbuildTriggerBuildAvailableSecrets <a name="CloudbuildTriggerBuildAvailableSecrets" id="@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecrets"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecrets.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildAvailableSecrets } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildAvailableSecrets: CloudbuildTriggerBuildAvailableSecrets = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecrets.property.secretManager">secretManager</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecretsSecretManager">CloudbuildTriggerBuildAvailableSecretsSecretManager</a>[]</code> | secret_manager block. |

---

##### `secretManager`<sup>Required</sup> <a name="secretManager" id="@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecrets.property.secretManager"></a>

```typescript
public readonly secretManager: IResolvable | CloudbuildTriggerBuildAvailableSecretsSecretManager[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecretsSecretManager">CloudbuildTriggerBuildAvailableSecretsSecretManager</a>[]

secret_manager block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret_manager CloudbuildTrigger#secret_manager}

---

### CloudbuildTriggerBuildAvailableSecretsSecretManager <a name="CloudbuildTriggerBuildAvailableSecretsSecretManager" id="@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecretsSecretManager"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecretsSecretManager.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildAvailableSecretsSecretManager } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildAvailableSecretsSecretManager: CloudbuildTriggerBuildAvailableSecretsSecretManager = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecretsSecretManager.property.env">env</a></code> | <code>string</code> | Environment variable name to associate with the secret. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecretsSecretManager.property.versionName">versionName</a></code> | <code>string</code> | Resource name of the SecretVersion. In format: projects/*\/secrets/*\/versions/*. |

---

##### `env`<sup>Required</sup> <a name="env" id="@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecretsSecretManager.property.env"></a>

```typescript
public readonly env: string;
```

- *Type:* string

Environment variable name to associate with the secret.

Secret environment
variables must be unique across all of a build's secrets, and must be used
by at least one build step.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#env CloudbuildTrigger#env}

---

##### `versionName`<sup>Required</sup> <a name="versionName" id="@dschmidt/provider-google.CloudbuildTriggerBuildAvailableSecretsSecretManager.property.versionName"></a>

```typescript
public readonly versionName: string;
```

- *Type:* string

Resource name of the SecretVersion. In format: projects/*\/secrets/*\/versions/*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#version_name CloudbuildTrigger#version_name}

---

### CloudbuildTriggerBuildOptions <a name="CloudbuildTriggerBuildOptions" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildOptions } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildOptions: CloudbuildTriggerBuildOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | Requested disk size for the VM that runs the build. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.dynamicSubstitutions">dynamicSubstitutions</a></code> | <code>boolean \| cdktf.IResolvable</code> | Option to specify whether or not to apply bash style string operations to the substitutions. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.env">env</a></code> | <code>string[]</code> | A list of global environment variable definitions that will exist for all build steps in this build. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.logging">logging</a></code> | <code>string</code> | Option to specify the logging mode, which determines if and where build logs are stored. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.logStreamingOption">logStreamingOption</a></code> | <code>string</code> | Option to define build log streaming behavior to Google Cloud Storage. Possible values: ["STREAM_DEFAULT", "STREAM_ON", "STREAM_OFF"]. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.machineType">machineType</a></code> | <code>string</code> | Compute Engine machine type on which to run the build. Possible values: ["UNSPECIFIED", "N1_HIGHCPU_8", "N1_HIGHCPU_32", "E2_HIGHCPU_8", "E2_HIGHCPU_32"]. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.requestedVerifyOption">requestedVerifyOption</a></code> | <code>string</code> | Requested verifiability options. Possible values: ["NOT_VERIFIED", "VERIFIED"]. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.secretEnv">secretEnv</a></code> | <code>string[]</code> | A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.sourceProvenanceHash">sourceProvenanceHash</a></code> | <code>string[]</code> | Requested hash for SourceProvenance. Possible values: ["NONE", "SHA256", "MD5"]. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.substitutionOption">substitutionOption</a></code> | <code>string</code> | Option to specify behavior when there is an error in the substitution checks. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.volumes">volumes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptionsVolumes">CloudbuildTriggerBuildOptionsVolumes</a>[]</code> | volumes block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.workerPool">workerPool</a></code> | <code>string</code> | Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool}. |

---

##### `diskSizeGb`<sup>Optional</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

Requested disk size for the VM that runs the build.

Note that this is NOT "disk free";
some of the space will be used by the operating system and build utilities.
Also note that this is the minimum disk size that will be allocated for the build --
the build may run with a larger disk than requested. At present, the maximum disk size
is 1000GB; builds that request more than the maximum are rejected with an error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#disk_size_gb CloudbuildTrigger#disk_size_gb}

---

##### `dynamicSubstitutions`<sup>Optional</sup> <a name="dynamicSubstitutions" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.dynamicSubstitutions"></a>

```typescript
public readonly dynamicSubstitutions: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Option to specify whether or not to apply bash style string operations to the substitutions.

NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#dynamic_substitutions CloudbuildTrigger#dynamic_substitutions}

---

##### `env`<sup>Optional</sup> <a name="env" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.env"></a>

```typescript
public readonly env: string[];
```

- *Type:* string[]

A list of global environment variable definitions that will exist for all build steps in this build.

If a variable is defined in both globally and in a build step,
the variable will use the build step value.

The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#env CloudbuildTrigger#env}

---

##### `logging`<sup>Optional</sup> <a name="logging" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.logging"></a>

```typescript
public readonly logging: string;
```

- *Type:* string

Option to specify the logging mode, which determines if and where build logs are stored.

Possible values: ["LOGGING_UNSPECIFIED", "LEGACY", "GCS_ONLY", "STACKDRIVER_ONLY", "CLOUD_LOGGING_ONLY", "NONE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#logging CloudbuildTrigger#logging}

---

##### `logStreamingOption`<sup>Optional</sup> <a name="logStreamingOption" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.logStreamingOption"></a>

```typescript
public readonly logStreamingOption: string;
```

- *Type:* string

Option to define build log streaming behavior to Google Cloud Storage. Possible values: ["STREAM_DEFAULT", "STREAM_ON", "STREAM_OFF"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#log_streaming_option CloudbuildTrigger#log_streaming_option}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

Compute Engine machine type on which to run the build. Possible values: ["UNSPECIFIED", "N1_HIGHCPU_8", "N1_HIGHCPU_32", "E2_HIGHCPU_8", "E2_HIGHCPU_32"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#machine_type CloudbuildTrigger#machine_type}

---

##### `requestedVerifyOption`<sup>Optional</sup> <a name="requestedVerifyOption" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.requestedVerifyOption"></a>

```typescript
public readonly requestedVerifyOption: string;
```

- *Type:* string

Requested verifiability options. Possible values: ["NOT_VERIFIED", "VERIFIED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#requested_verify_option CloudbuildTrigger#requested_verify_option}

---

##### `secretEnv`<sup>Optional</sup> <a name="secretEnv" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.secretEnv"></a>

```typescript
public readonly secretEnv: string[];
```

- *Type:* string[]

A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key.

These values must be specified in the build's Secret. These variables
will be available to all build steps in this build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret_env CloudbuildTrigger#secret_env}

---

##### `sourceProvenanceHash`<sup>Optional</sup> <a name="sourceProvenanceHash" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.sourceProvenanceHash"></a>

```typescript
public readonly sourceProvenanceHash: string[];
```

- *Type:* string[]

Requested hash for SourceProvenance. Possible values: ["NONE", "SHA256", "MD5"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#source_provenance_hash CloudbuildTrigger#source_provenance_hash}

---

##### `substitutionOption`<sup>Optional</sup> <a name="substitutionOption" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.substitutionOption"></a>

```typescript
public readonly substitutionOption: string;
```

- *Type:* string

Option to specify behavior when there is an error in the substitution checks.

NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden
in the build configuration file. Possible values: ["MUST_MATCH", "ALLOW_LOOSE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#substitution_option CloudbuildTrigger#substitution_option}

---

##### `volumes`<sup>Optional</sup> <a name="volumes" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.volumes"></a>

```typescript
public readonly volumes: IResolvable | CloudbuildTriggerBuildOptionsVolumes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptionsVolumes">CloudbuildTriggerBuildOptionsVolumes</a>[]

volumes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#volumes CloudbuildTrigger#volumes}

---

##### `workerPool`<sup>Optional</sup> <a name="workerPool" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptions.property.workerPool"></a>

```typescript
public readonly workerPool: string;
```

- *Type:* string

Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool}.

This field is experimental.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#worker_pool CloudbuildTrigger#worker_pool}

---

### CloudbuildTriggerBuildOptionsVolumes <a name="CloudbuildTriggerBuildOptionsVolumes" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptionsVolumes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptionsVolumes.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildOptionsVolumes } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildOptionsVolumes: CloudbuildTriggerBuildOptionsVolumes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptionsVolumes.property.name">name</a></code> | <code>string</code> | Name of the volume to mount. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildOptionsVolumes.property.path">path</a></code> | <code>string</code> | Path at which to mount the volume. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptionsVolumes.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the volume to mount.

Volume names must be unique per build step and must be valid names for Docker volumes.
Each named volume must be used by at least two build steps.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.CloudbuildTriggerBuildOptionsVolumes.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Path at which to mount the volume.

Paths must be absolute and cannot conflict with other volume paths on the same
build step or with certain reserved volume paths.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#path CloudbuildTrigger#path}

---

### CloudbuildTriggerBuildSecret <a name="CloudbuildTriggerBuildSecret" id="@dschmidt/provider-google.CloudbuildTriggerBuildSecret"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildSecret.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildSecret } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildSecret: CloudbuildTriggerBuildSecret = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSecret.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Cloud KMS key name to use to decrypt these envs. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSecret.property.secretEnv">secretEnv</a></code> | <code>{[ key: string ]: string}</code> | Map of environment variable name to its encrypted value. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.CloudbuildTriggerBuildSecret.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Cloud KMS key name to use to decrypt these envs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#kms_key_name CloudbuildTrigger#kms_key_name}

---

##### `secretEnv`<sup>Optional</sup> <a name="secretEnv" id="@dschmidt/provider-google.CloudbuildTriggerBuildSecret.property.secretEnv"></a>

```typescript
public readonly secretEnv: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Map of environment variable name to its encrypted value.

Secret environment variables must be unique across all of a build's secrets, 
and must be used by at least one build step. Values can be at most 64 KB in size. 
There can be at most 100 secret values across all of a build's secrets.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret_env CloudbuildTrigger#secret_env}

---

### CloudbuildTriggerBuildSource <a name="CloudbuildTriggerBuildSource" id="@dschmidt/provider-google.CloudbuildTriggerBuildSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildSource.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildSource } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildSource: CloudbuildTriggerBuildSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSource.property.repoSource">repoSource</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource">CloudbuildTriggerBuildSourceRepoSource</a></code> | repo_source block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSource.property.storageSource">storageSource</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource">CloudbuildTriggerBuildSourceStorageSource</a></code> | storage_source block. |

---

##### `repoSource`<sup>Optional</sup> <a name="repoSource" id="@dschmidt/provider-google.CloudbuildTriggerBuildSource.property.repoSource"></a>

```typescript
public readonly repoSource: CloudbuildTriggerBuildSourceRepoSource;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource">CloudbuildTriggerBuildSourceRepoSource</a>

repo_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_source CloudbuildTrigger#repo_source}

---

##### `storageSource`<sup>Optional</sup> <a name="storageSource" id="@dschmidt/provider-google.CloudbuildTriggerBuildSource.property.storageSource"></a>

```typescript
public readonly storageSource: CloudbuildTriggerBuildSourceStorageSource;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource">CloudbuildTriggerBuildSourceStorageSource</a>

storage_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#storage_source CloudbuildTrigger#storage_source}

---

### CloudbuildTriggerBuildSourceRepoSource <a name="CloudbuildTriggerBuildSourceRepoSource" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildSourceRepoSource } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildSourceRepoSource: CloudbuildTriggerBuildSourceRepoSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.repoName">repoName</a></code> | <code>string</code> | Name of the Cloud Source Repository. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.branchName">branchName</a></code> | <code>string</code> | Regex matching branches to build. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.commitSha">commitSha</a></code> | <code>string</code> | Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.dir">dir</a></code> | <code>string</code> | Directory, relative to the source root, in which to run the build. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.invertRegex">invertRegex</a></code> | <code>boolean \| cdktf.IResolvable</code> | Only trigger a build if the revision regex does NOT match the revision regex. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.projectId">projectId</a></code> | <code>string</code> | ID of the project that owns the Cloud Source Repository. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.substitutions">substitutions</a></code> | <code>{[ key: string ]: string}</code> | Substitutions to use in a triggered build. Should only be used with triggers.run. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.tagName">tagName</a></code> | <code>string</code> | Regex matching tags to build. |

---

##### `repoName`<sup>Required</sup> <a name="repoName" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.repoName"></a>

```typescript
public readonly repoName: string;
```

- *Type:* string

Name of the Cloud Source Repository.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_name CloudbuildTrigger#repo_name}

---

##### `branchName`<sup>Optional</sup> <a name="branchName" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.branchName"></a>

```typescript
public readonly branchName: string;
```

- *Type:* string

Regex matching branches to build.

Exactly one a of branch name, tag, or commit SHA must be provided.
The syntax of the regular expressions accepted is the syntax accepted by RE2 and 
described at https://github.com/google/re2/wiki/Syntax

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#branch_name CloudbuildTrigger#branch_name}

---

##### `commitSha`<sup>Optional</sup> <a name="commitSha" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.commitSha"></a>

```typescript
public readonly commitSha: string;
```

- *Type:* string

Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#commit_sha CloudbuildTrigger#commit_sha}

---

##### `dir`<sup>Optional</sup> <a name="dir" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.dir"></a>

```typescript
public readonly dir: string;
```

- *Type:* string

Directory, relative to the source root, in which to run the build.

This must be a relative path. If a step's dir is specified and is an absolute path, 
this value is ignored for that step's execution.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#dir CloudbuildTrigger#dir}

---

##### `invertRegex`<sup>Optional</sup> <a name="invertRegex" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.invertRegex"></a>

```typescript
public readonly invertRegex: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Only trigger a build if the revision regex does NOT match the revision regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#invert_regex CloudbuildTrigger#invert_regex}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

ID of the project that owns the Cloud Source Repository.

If omitted, the project ID requesting the build is assumed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#project_id CloudbuildTrigger#project_id}

---

##### `substitutions`<sup>Optional</sup> <a name="substitutions" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.substitutions"></a>

```typescript
public readonly substitutions: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Substitutions to use in a triggered build. Should only be used with triggers.run.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#substitutions CloudbuildTrigger#substitutions}

---

##### `tagName`<sup>Optional</sup> <a name="tagName" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceRepoSource.property.tagName"></a>

```typescript
public readonly tagName: string;
```

- *Type:* string

Regex matching tags to build.

Exactly one a of branch name, tag, or commit SHA must be provided.
The syntax of the regular expressions accepted is the syntax accepted by RE2 and 
described at https://github.com/google/re2/wiki/Syntax

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tag_name CloudbuildTrigger#tag_name}

---

### CloudbuildTriggerBuildSourceStorageSource <a name="CloudbuildTriggerBuildSourceStorageSource" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildSourceStorageSource } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildSourceStorageSource: CloudbuildTriggerBuildSourceStorageSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource.property.bucket">bucket</a></code> | <code>string</code> | Google Cloud Storage bucket containing the source. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource.property.object">object</a></code> | <code>string</code> | Google Cloud Storage object containing the source. This object must be a gzipped archive file (.tar.gz) containing source to build. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource.property.generation">generation</a></code> | <code>string</code> | Google Cloud Storage generation for the object.  If the generation is omitted, the latest generation will be used. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Google Cloud Storage bucket containing the source.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#bucket CloudbuildTrigger#bucket}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Google Cloud Storage object containing the source. This object must be a gzipped archive file (.tar.gz) containing source to build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#object CloudbuildTrigger#object}

---

##### `generation`<sup>Optional</sup> <a name="generation" id="@dschmidt/provider-google.CloudbuildTriggerBuildSourceStorageSource.property.generation"></a>

```typescript
public readonly generation: string;
```

- *Type:* string

Google Cloud Storage generation for the object.  If the generation is omitted, the latest generation will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#generation CloudbuildTrigger#generation}

---

### CloudbuildTriggerBuildStep <a name="CloudbuildTriggerBuildStep" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildStep } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildStep: CloudbuildTriggerBuildStep = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.name">name</a></code> | <code>string</code> | The name of the container image that will run this particular build step. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.args">args</a></code> | <code>string[]</code> | A list of arguments that will be presented to the step when it is started. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.dir">dir</a></code> | <code>string</code> | Working directory to use when running this step's container. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.entrypoint">entrypoint</a></code> | <code>string</code> | Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.env">env</a></code> | <code>string[]</code> | A list of environment variable definitions to be used when running a step. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.id">id</a></code> | <code>string</code> | Unique identifier for this build step, used in 'wait_for' to reference this build step as a dependency. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.secretEnv">secretEnv</a></code> | <code>string[]</code> | A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.timeout">timeout</a></code> | <code>string</code> | Time limit for executing this build step. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.timing">timing</a></code> | <code>string</code> | Output only. Stores timing information for executing this build step. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.volumes">volumes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStepVolumes">CloudbuildTriggerBuildStepVolumes</a>[]</code> | volumes block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.waitFor">waitFor</a></code> | <code>string[]</code> | The ID(s) of the step(s) that this build step depends on. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the container image that will run this particular build step.

If the image is available in the host's Docker daemon's cache, it will be
run directly. If not, the host will attempt to pull the image first, using
the builder service account's credentials if necessary.

The Docker daemon's cache will already have the latest versions of all of
the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders 
for images and examples).
The Docker daemon will also have cached many of the layers for some popular
images, like "ubuntu", "debian", but they will be refreshed at the time
you attempt to use them.

If you built an image in a previous build step, it will be stored in the
host's Docker daemon's cache and is available to use as the name for a
later build step.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

A list of arguments that will be presented to the step when it is started.

If the image used to run the step's container has an entrypoint, the args
are used as arguments to that entrypoint. If the image does not define an
entrypoint, the first element in args is used as the entrypoint, and the
remainder will be used as arguments.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#args CloudbuildTrigger#args}

---

##### `dir`<sup>Optional</sup> <a name="dir" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.dir"></a>

```typescript
public readonly dir: string;
```

- *Type:* string

Working directory to use when running this step's container.

If this value is a relative path, it is relative to the build's working
directory. If this value is absolute, it may be outside the build's working
directory, in which case the contents of the path may not be persisted
across build step executions, unless a 'volume' for that path is specified.

If the build specifies a 'RepoSource' with 'dir' and a step with a
'dir',
which specifies an absolute path, the 'RepoSource' 'dir' is ignored
for the step's execution.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#dir CloudbuildTrigger#dir}

---

##### `entrypoint`<sup>Optional</sup> <a name="entrypoint" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.entrypoint"></a>

```typescript
public readonly entrypoint: string;
```

- *Type:* string

Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#entrypoint CloudbuildTrigger#entrypoint}

---

##### `env`<sup>Optional</sup> <a name="env" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.env"></a>

```typescript
public readonly env: string[];
```

- *Type:* string[]

A list of environment variable definitions to be used when running a step.

The elements are of the form "KEY=VALUE" for the environment variable
"KEY" being given the value "VALUE".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#env CloudbuildTrigger#env}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Unique identifier for this build step, used in 'wait_for' to reference this build step as a dependency.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#id CloudbuildTrigger#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `secretEnv`<sup>Optional</sup> <a name="secretEnv" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.secretEnv"></a>

```typescript
public readonly secretEnv: string[];
```

- *Type:* string[]

A list of environment variables which are encrypted using a Cloud Key Management Service crypto key.

These values must be specified in
the build's 'Secret'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret_env CloudbuildTrigger#secret_env}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.timeout"></a>

```typescript
public readonly timeout: string;
```

- *Type:* string

Time limit for executing this build step.

If not defined,
the step has no
time limit and will be allowed to continue to run until either it
completes or the build itself times out.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#timeout CloudbuildTrigger#timeout}

---

##### `timing`<sup>Optional</sup> <a name="timing" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.timing"></a>

```typescript
public readonly timing: string;
```

- *Type:* string

Output only. Stores timing information for executing this build step.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#timing CloudbuildTrigger#timing}

---

##### `volumes`<sup>Optional</sup> <a name="volumes" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.volumes"></a>

```typescript
public readonly volumes: IResolvable | CloudbuildTriggerBuildStepVolumes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStepVolumes">CloudbuildTriggerBuildStepVolumes</a>[]

volumes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#volumes CloudbuildTrigger#volumes}

---

##### `waitFor`<sup>Optional</sup> <a name="waitFor" id="@dschmidt/provider-google.CloudbuildTriggerBuildStep.property.waitFor"></a>

```typescript
public readonly waitFor: string[];
```

- *Type:* string[]

The ID(s) of the step(s) that this build step depends on.

This build step will not start until all the build steps in 'wait_for'
have completed successfully. If 'wait_for' is empty, this build step
will start when all previous build steps in the 'Build.Steps' list
have completed successfully.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#wait_for CloudbuildTrigger#wait_for}

---

### CloudbuildTriggerBuildStepVolumes <a name="CloudbuildTriggerBuildStepVolumes" id="@dschmidt/provider-google.CloudbuildTriggerBuildStepVolumes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerBuildStepVolumes.Initializer"></a>

```typescript
import { CloudbuildTriggerBuildStepVolumes } from '@dschmidt/provider-google'

const cloudbuildTriggerBuildStepVolumes: CloudbuildTriggerBuildStepVolumes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStepVolumes.property.name">name</a></code> | <code>string</code> | Name of the volume to mount. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuildStepVolumes.property.path">path</a></code> | <code>string</code> | Path at which to mount the volume. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudbuildTriggerBuildStepVolumes.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the volume to mount.

Volume names must be unique per build step and must be valid names for
Docker volumes. Each named volume must be used by at least two build steps.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudbuildTriggerBuildStepVolumes.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Path at which to mount the volume.

Paths must be absolute and cannot conflict with other volume paths on
the same build step or with certain reserved volume paths.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#path CloudbuildTrigger#path}

---

### CloudbuildTriggerConfig <a name="CloudbuildTriggerConfig" id="@dschmidt/provider-google.CloudbuildTriggerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerConfig.Initializer"></a>

```typescript
import { CloudbuildTriggerConfig } from '@dschmidt/provider-google'

const cloudbuildTriggerConfig: CloudbuildTriggerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.approvalConfig">approvalConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerApprovalConfig">CloudbuildTriggerApprovalConfig</a></code> | approval_config block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.buildAttribute">buildAttribute</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerBuild">CloudbuildTriggerBuild</a></code> | build block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.description">description</a></code> | <code>string</code> | Human-readable description of the trigger. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the trigger is disabled or not. If true, the trigger will never result in a build. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.filename">filename</a></code> | <code>string</code> | Path, from the source root, to a file whose contents is used for the template. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.filter">filter</a></code> | <code>string</code> | A Common Expression Language string. Used only with Pub/Sub and Webhook. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.gitFileSource">gitFileSource</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSource">CloudbuildTriggerGitFileSource</a></code> | git_file_source block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.github">github</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithub">CloudbuildTriggerGithub</a></code> | github block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#id CloudbuildTrigger#id}. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.ignoredFiles">ignoredFiles</a></code> | <code>string[]</code> | ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for '**'. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.includeBuildLogs">includeBuildLogs</a></code> | <code>string</code> | Build logs will be sent back to GitHub as part of the checkrun result. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.includedFiles">includedFiles</a></code> | <code>string[]</code> | ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for '**'. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.name">name</a></code> | <code>string</code> | Name of the trigger. Must be unique within the project. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#project CloudbuildTrigger#project}. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.pubsubConfig">pubsubConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerPubsubConfig">CloudbuildTriggerPubsubConfig</a></code> | pubsub_config block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.sourceToBuild">sourceToBuild</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuild">CloudbuildTriggerSourceToBuild</a></code> | source_to_build block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.substitutions">substitutions</a></code> | <code>{[ key: string ]: string}</code> | Substitutions data for Build resource. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.tags">tags</a></code> | <code>string[]</code> | Tags for annotation of a BuildTrigger. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTimeouts">CloudbuildTriggerTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.triggerTemplate">triggerTemplate</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate">CloudbuildTriggerTriggerTemplate</a></code> | trigger_template block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerConfig.property.webhookConfig">webhookConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerWebhookConfig">CloudbuildTriggerWebhookConfig</a></code> | webhook_config block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `approvalConfig`<sup>Optional</sup> <a name="approvalConfig" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.approvalConfig"></a>

```typescript
public readonly approvalConfig: CloudbuildTriggerApprovalConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerApprovalConfig">CloudbuildTriggerApprovalConfig</a>

approval_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#approval_config CloudbuildTrigger#approval_config}

---

##### `buildAttribute`<sup>Optional</sup> <a name="buildAttribute" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.buildAttribute"></a>

```typescript
public readonly buildAttribute: CloudbuildTriggerBuild;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerBuild">CloudbuildTriggerBuild</a>

build block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#build CloudbuildTrigger#build}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Human-readable description of the trigger.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#description CloudbuildTrigger#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the trigger is disabled or not. If true, the trigger will never result in a build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#disabled CloudbuildTrigger#disabled}

---

##### `filename`<sup>Optional</sup> <a name="filename" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.filename"></a>

```typescript
public readonly filename: string;
```

- *Type:* string

Path, from the source root, to a file whose contents is used for the template.

Either a filename or build template must be provided. Set this only when using trigger_template or github.
When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#filename CloudbuildTrigger#filename}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

A Common Expression Language string. Used only with Pub/Sub and Webhook.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#filter CloudbuildTrigger#filter}

---

##### `gitFileSource`<sup>Optional</sup> <a name="gitFileSource" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.gitFileSource"></a>

```typescript
public readonly gitFileSource: CloudbuildTriggerGitFileSource;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSource">CloudbuildTriggerGitFileSource</a>

git_file_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#git_file_source CloudbuildTrigger#git_file_source}

---

##### `github`<sup>Optional</sup> <a name="github" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.github"></a>

```typescript
public readonly github: CloudbuildTriggerGithub;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGithub">CloudbuildTriggerGithub</a>

github block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#github CloudbuildTrigger#github}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#id CloudbuildTrigger#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ignoredFiles`<sup>Optional</sup> <a name="ignoredFiles" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.ignoredFiles"></a>

```typescript
public readonly ignoredFiles: string[];
```

- *Type:* string[]

ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for '**'.

If ignoredFiles and changed files are both empty, then they are not
used to determine whether or not to trigger a build.

If ignoredFiles is not empty, then we ignore any files that match any
of the ignored_file globs. If the change has no files that are outside
of the ignoredFiles globs, then we do not trigger a build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#ignored_files CloudbuildTrigger#ignored_files}

---

##### `includeBuildLogs`<sup>Optional</sup> <a name="includeBuildLogs" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.includeBuildLogs"></a>

```typescript
public readonly includeBuildLogs: string;
```

- *Type:* string

Build logs will be sent back to GitHub as part of the checkrun result.

Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or
INCLUDE_BUILD_LOGS_WITH_STATUS Possible values: ["INCLUDE_BUILD_LOGS_UNSPECIFIED", "INCLUDE_BUILD_LOGS_WITH_STATUS"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#include_build_logs CloudbuildTrigger#include_build_logs}

---

##### `includedFiles`<sup>Optional</sup> <a name="includedFiles" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.includedFiles"></a>

```typescript
public readonly includedFiles: string[];
```

- *Type:* string[]

ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for '**'.

If any of the files altered in the commit pass the ignoredFiles filter
and includedFiles is empty, then as far as this filter is concerned, we
should trigger the build.

If any of the files altered in the commit pass the ignoredFiles filter
and includedFiles is not empty, then we make sure that at least one of
those files matches a includedFiles glob. If not, then we do not trigger
a build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#included_files CloudbuildTrigger#included_files}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the trigger. Must be unique within the project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#project CloudbuildTrigger#project}.

---

##### `pubsubConfig`<sup>Optional</sup> <a name="pubsubConfig" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.pubsubConfig"></a>

```typescript
public readonly pubsubConfig: CloudbuildTriggerPubsubConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerPubsubConfig">CloudbuildTriggerPubsubConfig</a>

pubsub_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#pubsub_config CloudbuildTrigger#pubsub_config}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel.

If no service account is set, then the standard Cloud Build service account
([PROJECT_NUM]@system.gserviceaccount.com) will be used instead.

Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#service_account CloudbuildTrigger#service_account}

---

##### `sourceToBuild`<sup>Optional</sup> <a name="sourceToBuild" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.sourceToBuild"></a>

```typescript
public readonly sourceToBuild: CloudbuildTriggerSourceToBuild;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuild">CloudbuildTriggerSourceToBuild</a>

source_to_build block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#source_to_build CloudbuildTrigger#source_to_build}

---

##### `substitutions`<sup>Optional</sup> <a name="substitutions" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.substitutions"></a>

```typescript
public readonly substitutions: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Substitutions data for Build resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#substitutions CloudbuildTrigger#substitutions}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

Tags for annotation of a BuildTrigger.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tags CloudbuildTrigger#tags}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudbuildTriggerTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerTimeouts">CloudbuildTriggerTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#timeouts CloudbuildTrigger#timeouts}

---

##### `triggerTemplate`<sup>Optional</sup> <a name="triggerTemplate" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.triggerTemplate"></a>

```typescript
public readonly triggerTemplate: CloudbuildTriggerTriggerTemplate;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate">CloudbuildTriggerTriggerTemplate</a>

trigger_template block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#trigger_template CloudbuildTrigger#trigger_template}

---

##### `webhookConfig`<sup>Optional</sup> <a name="webhookConfig" id="@dschmidt/provider-google.CloudbuildTriggerConfig.property.webhookConfig"></a>

```typescript
public readonly webhookConfig: CloudbuildTriggerWebhookConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerWebhookConfig">CloudbuildTriggerWebhookConfig</a>

webhook_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#webhook_config CloudbuildTrigger#webhook_config}

---

### CloudbuildTriggerGitFileSource <a name="CloudbuildTriggerGitFileSource" id="@dschmidt/provider-google.CloudbuildTriggerGitFileSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerGitFileSource.Initializer"></a>

```typescript
import { CloudbuildTriggerGitFileSource } from '@dschmidt/provider-google'

const cloudbuildTriggerGitFileSource: CloudbuildTriggerGitFileSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSource.property.path">path</a></code> | <code>string</code> | The path of the file, with the repo root as the root of the path. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSource.property.repoType">repoType</a></code> | <code>string</code> | The type of the repo, since it may not be explicit from the repo field (e.g from a URL).  Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB Possible values: ["UNKNOWN", "CLOUD_SOURCE_REPOSITORIES", "GITHUB"]. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSource.property.revision">revision</a></code> | <code>string</code> | The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the  filename (optional). |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGitFileSource.property.uri">uri</a></code> | <code>string</code> | The URI of the repo (optional). |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudbuildTriggerGitFileSource.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

The path of the file, with the repo root as the root of the path.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#path CloudbuildTrigger#path}

---

##### `repoType`<sup>Required</sup> <a name="repoType" id="@dschmidt/provider-google.CloudbuildTriggerGitFileSource.property.repoType"></a>

```typescript
public readonly repoType: string;
```

- *Type:* string

The type of the repo, since it may not be explicit from the repo field (e.g from a URL).  Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB Possible values: ["UNKNOWN", "CLOUD_SOURCE_REPOSITORIES", "GITHUB"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_type CloudbuildTrigger#repo_type}

---

##### `revision`<sup>Optional</sup> <a name="revision" id="@dschmidt/provider-google.CloudbuildTriggerGitFileSource.property.revision"></a>

```typescript
public readonly revision: string;
```

- *Type:* string

The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the  filename (optional).

This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions 
If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#revision CloudbuildTrigger#revision}

---

##### `uri`<sup>Optional</sup> <a name="uri" id="@dschmidt/provider-google.CloudbuildTriggerGitFileSource.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

The URI of the repo (optional).

If unspecified, the repo from which the trigger 
invocation originated is assumed to be the repo from which to read the specified path.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#uri CloudbuildTrigger#uri}

---

### CloudbuildTriggerGithub <a name="CloudbuildTriggerGithub" id="@dschmidt/provider-google.CloudbuildTriggerGithub"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerGithub.Initializer"></a>

```typescript
import { CloudbuildTriggerGithub } from '@dschmidt/provider-google'

const cloudbuildTriggerGithub: CloudbuildTriggerGithub = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithub.property.name">name</a></code> | <code>string</code> | Name of the repository. For example: The name for https://github.com/googlecloudplatform/cloud-builders is "cloud-builders". |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithub.property.owner">owner</a></code> | <code>string</code> | Owner of the repository. For example: The owner for https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform". |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithub.property.pullRequest">pullRequest</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest">CloudbuildTriggerGithubPullRequest</a></code> | pull_request block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithub.property.push">push</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPush">CloudbuildTriggerGithubPush</a></code> | push block. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.CloudbuildTriggerGithub.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the repository. For example: The name for https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#name CloudbuildTrigger#name}

---

##### `owner`<sup>Optional</sup> <a name="owner" id="@dschmidt/provider-google.CloudbuildTriggerGithub.property.owner"></a>

```typescript
public readonly owner: string;
```

- *Type:* string

Owner of the repository. For example: The owner for https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#owner CloudbuildTrigger#owner}

---

##### `pullRequest`<sup>Optional</sup> <a name="pullRequest" id="@dschmidt/provider-google.CloudbuildTriggerGithub.property.pullRequest"></a>

```typescript
public readonly pullRequest: CloudbuildTriggerGithubPullRequest;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest">CloudbuildTriggerGithubPullRequest</a>

pull_request block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#pull_request CloudbuildTrigger#pull_request}

---

##### `push`<sup>Optional</sup> <a name="push" id="@dschmidt/provider-google.CloudbuildTriggerGithub.property.push"></a>

```typescript
public readonly push: CloudbuildTriggerGithubPush;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPush">CloudbuildTriggerGithubPush</a>

push block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#push CloudbuildTrigger#push}

---

### CloudbuildTriggerGithubPullRequest <a name="CloudbuildTriggerGithubPullRequest" id="@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest.Initializer"></a>

```typescript
import { CloudbuildTriggerGithubPullRequest } from '@dschmidt/provider-google'

const cloudbuildTriggerGithubPullRequest: CloudbuildTriggerGithubPullRequest = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest.property.branch">branch</a></code> | <code>string</code> | Regex of branches to match. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest.property.commentControl">commentControl</a></code> | <code>string</code> | Whether to block builds on a "/gcbrun" comment from a repository owner or collaborator. Possible values: ["COMMENTS_DISABLED", "COMMENTS_ENABLED", "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"]. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest.property.invertRegex">invertRegex</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, branches that do NOT match the git_ref will trigger a build. |

---

##### `branch`<sup>Required</sup> <a name="branch" id="@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest.property.branch"></a>

```typescript
public readonly branch: string;
```

- *Type:* string

Regex of branches to match.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#branch CloudbuildTrigger#branch}

---

##### `commentControl`<sup>Optional</sup> <a name="commentControl" id="@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest.property.commentControl"></a>

```typescript
public readonly commentControl: string;
```

- *Type:* string

Whether to block builds on a "/gcbrun" comment from a repository owner or collaborator. Possible values: ["COMMENTS_DISABLED", "COMMENTS_ENABLED", "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#comment_control CloudbuildTrigger#comment_control}

---

##### `invertRegex`<sup>Optional</sup> <a name="invertRegex" id="@dschmidt/provider-google.CloudbuildTriggerGithubPullRequest.property.invertRegex"></a>

```typescript
public readonly invertRegex: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, branches that do NOT match the git_ref will trigger a build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#invert_regex CloudbuildTrigger#invert_regex}

---

### CloudbuildTriggerGithubPush <a name="CloudbuildTriggerGithubPush" id="@dschmidt/provider-google.CloudbuildTriggerGithubPush"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerGithubPush.Initializer"></a>

```typescript
import { CloudbuildTriggerGithubPush } from '@dschmidt/provider-google'

const cloudbuildTriggerGithubPush: CloudbuildTriggerGithubPush = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPush.property.branch">branch</a></code> | <code>string</code> | Regex of branches to match.  Specify only one of branch or tag. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPush.property.invertRegex">invertRegex</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, only trigger a build if the revision regex does NOT match the git_ref regex. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerGithubPush.property.tag">tag</a></code> | <code>string</code> | Regex of tags to match.  Specify only one of branch or tag. |

---

##### `branch`<sup>Optional</sup> <a name="branch" id="@dschmidt/provider-google.CloudbuildTriggerGithubPush.property.branch"></a>

```typescript
public readonly branch: string;
```

- *Type:* string

Regex of branches to match.  Specify only one of branch or tag.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#branch CloudbuildTrigger#branch}

---

##### `invertRegex`<sup>Optional</sup> <a name="invertRegex" id="@dschmidt/provider-google.CloudbuildTriggerGithubPush.property.invertRegex"></a>

```typescript
public readonly invertRegex: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, only trigger a build if the revision regex does NOT match the git_ref regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#invert_regex CloudbuildTrigger#invert_regex}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.CloudbuildTriggerGithubPush.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

Regex of tags to match.  Specify only one of branch or tag.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tag CloudbuildTrigger#tag}

---

### CloudbuildTriggerPubsubConfig <a name="CloudbuildTriggerPubsubConfig" id="@dschmidt/provider-google.CloudbuildTriggerPubsubConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerPubsubConfig.Initializer"></a>

```typescript
import { CloudbuildTriggerPubsubConfig } from '@dschmidt/provider-google'

const cloudbuildTriggerPubsubConfig: CloudbuildTriggerPubsubConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerPubsubConfig.property.topic">topic</a></code> | <code>string</code> | The name of the topic from which this subscription is receiving messages. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerPubsubConfig.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | Service account that will make the push request. |

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.CloudbuildTriggerPubsubConfig.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

The name of the topic from which this subscription is receiving messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#topic CloudbuildTrigger#topic}

---

##### `serviceAccountEmail`<sup>Optional</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.CloudbuildTriggerPubsubConfig.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

Service account that will make the push request.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#service_account_email CloudbuildTrigger#service_account_email}

---

### CloudbuildTriggerSourceToBuild <a name="CloudbuildTriggerSourceToBuild" id="@dschmidt/provider-google.CloudbuildTriggerSourceToBuild"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerSourceToBuild.Initializer"></a>

```typescript
import { CloudbuildTriggerSourceToBuild } from '@dschmidt/provider-google'

const cloudbuildTriggerSourceToBuild: CloudbuildTriggerSourceToBuild = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuild.property.ref">ref</a></code> | <code>string</code> | The branch or tag to use. Must start with "refs/" (required). |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuild.property.repoType">repoType</a></code> | <code>string</code> | The type of the repo, since it may not be explicit from the repo field (e.g from a URL). Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB Possible values: ["UNKNOWN", "CLOUD_SOURCE_REPOSITORIES", "GITHUB"]. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerSourceToBuild.property.uri">uri</a></code> | <code>string</code> | The URI of the repo (required). |

---

##### `ref`<sup>Required</sup> <a name="ref" id="@dschmidt/provider-google.CloudbuildTriggerSourceToBuild.property.ref"></a>

```typescript
public readonly ref: string;
```

- *Type:* string

The branch or tag to use. Must start with "refs/" (required).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#ref CloudbuildTrigger#ref}

---

##### `repoType`<sup>Required</sup> <a name="repoType" id="@dschmidt/provider-google.CloudbuildTriggerSourceToBuild.property.repoType"></a>

```typescript
public readonly repoType: string;
```

- *Type:* string

The type of the repo, since it may not be explicit from the repo field (e.g from a URL). Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB Possible values: ["UNKNOWN", "CLOUD_SOURCE_REPOSITORIES", "GITHUB"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_type CloudbuildTrigger#repo_type}

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.CloudbuildTriggerSourceToBuild.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

The URI of the repo (required).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#uri CloudbuildTrigger#uri}

---

### CloudbuildTriggerTimeouts <a name="CloudbuildTriggerTimeouts" id="@dschmidt/provider-google.CloudbuildTriggerTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerTimeouts.Initializer"></a>

```typescript
import { CloudbuildTriggerTimeouts } from '@dschmidt/provider-google'

const cloudbuildTriggerTimeouts: CloudbuildTriggerTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#create CloudbuildTrigger#create}. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#delete CloudbuildTrigger#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#update CloudbuildTrigger#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudbuildTriggerTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#create CloudbuildTrigger#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudbuildTriggerTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#delete CloudbuildTrigger#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudbuildTriggerTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#update CloudbuildTrigger#update}.

---

### CloudbuildTriggerTriggerTemplate <a name="CloudbuildTriggerTriggerTemplate" id="@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.Initializer"></a>

```typescript
import { CloudbuildTriggerTriggerTemplate } from '@dschmidt/provider-google'

const cloudbuildTriggerTriggerTemplate: CloudbuildTriggerTriggerTemplate = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.branchName">branchName</a></code> | <code>string</code> | Name of the branch to build. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.commitSha">commitSha</a></code> | <code>string</code> | Explicit commit SHA to build. Exactly one of a branch name, tag, or commit SHA must be provided. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.dir">dir</a></code> | <code>string</code> | Directory, relative to the source root, in which to run the build. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.invertRegex">invertRegex</a></code> | <code>boolean \| cdktf.IResolvable</code> | Only trigger a build if the revision regex does NOT match the revision regex. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.projectId">projectId</a></code> | <code>string</code> | ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.repoName">repoName</a></code> | <code>string</code> | Name of the Cloud Source Repository. If omitted, the name "default" is assumed. |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.tagName">tagName</a></code> | <code>string</code> | Name of the tag to build. |

---

##### `branchName`<sup>Optional</sup> <a name="branchName" id="@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.branchName"></a>

```typescript
public readonly branchName: string;
```

- *Type:* string

Name of the branch to build.

Exactly one a of branch name, tag, or commit SHA must be provided.
This field is a regular expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#branch_name CloudbuildTrigger#branch_name}

---

##### `commitSha`<sup>Optional</sup> <a name="commitSha" id="@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.commitSha"></a>

```typescript
public readonly commitSha: string;
```

- *Type:* string

Explicit commit SHA to build. Exactly one of a branch name, tag, or commit SHA must be provided.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#commit_sha CloudbuildTrigger#commit_sha}

---

##### `dir`<sup>Optional</sup> <a name="dir" id="@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.dir"></a>

```typescript
public readonly dir: string;
```

- *Type:* string

Directory, relative to the source root, in which to run the build.

This must be a relative path. If a step's dir is specified and
is an absolute path, this value is ignored for that step's
execution.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#dir CloudbuildTrigger#dir}

---

##### `invertRegex`<sup>Optional</sup> <a name="invertRegex" id="@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.invertRegex"></a>

```typescript
public readonly invertRegex: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Only trigger a build if the revision regex does NOT match the revision regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#invert_regex CloudbuildTrigger#invert_regex}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#project_id CloudbuildTrigger#project_id}

---

##### `repoName`<sup>Optional</sup> <a name="repoName" id="@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.repoName"></a>

```typescript
public readonly repoName: string;
```

- *Type:* string

Name of the Cloud Source Repository. If omitted, the name "default" is assumed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#repo_name CloudbuildTrigger#repo_name}

---

##### `tagName`<sup>Optional</sup> <a name="tagName" id="@dschmidt/provider-google.CloudbuildTriggerTriggerTemplate.property.tagName"></a>

```typescript
public readonly tagName: string;
```

- *Type:* string

Name of the tag to build.

Exactly one of a branch name, tag, or commit SHA must be provided.
This field is a regular expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#tag_name CloudbuildTrigger#tag_name}

---

### CloudbuildTriggerWebhookConfig <a name="CloudbuildTriggerWebhookConfig" id="@dschmidt/provider-google.CloudbuildTriggerWebhookConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildTriggerWebhookConfig.Initializer"></a>

```typescript
import { CloudbuildTriggerWebhookConfig } from '@dschmidt/provider-google'

const cloudbuildTriggerWebhookConfig: CloudbuildTriggerWebhookConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildTriggerWebhookConfig.property.secret">secret</a></code> | <code>string</code> | Resource name for the secret required as a URL parameter. |

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.CloudbuildTriggerWebhookConfig.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

Resource name for the secret required as a URL parameter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger#secret CloudbuildTrigger#secret}

---

### CloudbuildWorkerPoolConfig <a name="CloudbuildWorkerPoolConfig" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.Initializer"></a>

```typescript
import { CloudbuildWorkerPoolConfig } from '@dschmidt/provider-google'

const cloudbuildWorkerPoolConfig: CloudbuildWorkerPoolConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.name">name</a></code> | <code>string</code> | User-defined name of the `WorkerPool`. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.displayName">displayName</a></code> | <code>string</code> | A user-specified, human-readable name for the `WorkerPool`. If provided, this value must be 1-63 characters. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#id CloudbuildWorkerPool#id}. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.networkConfig">networkConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfig">CloudbuildWorkerPoolNetworkConfig</a></code> | network_config block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts">CloudbuildWorkerPoolTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.workerConfig">workerConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig">CloudbuildWorkerPoolWorkerConfig</a></code> | worker_config block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#location CloudbuildWorkerPool#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

User-defined name of the `WorkerPool`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#name CloudbuildWorkerPool#name}

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#annotations CloudbuildWorkerPool#annotations}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A user-specified, human-readable name for the `WorkerPool`. If provided, this value must be 1-63 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#display_name CloudbuildWorkerPool#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#id CloudbuildWorkerPool#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `networkConfig`<sup>Optional</sup> <a name="networkConfig" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.networkConfig"></a>

```typescript
public readonly networkConfig: CloudbuildWorkerPoolNetworkConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfig">CloudbuildWorkerPoolNetworkConfig</a>

network_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#network_config CloudbuildWorkerPool#network_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#project CloudbuildWorkerPool#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudbuildWorkerPoolTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts">CloudbuildWorkerPoolTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#timeouts CloudbuildWorkerPool#timeouts}

---

##### `workerConfig`<sup>Optional</sup> <a name="workerConfig" id="@dschmidt/provider-google.CloudbuildWorkerPoolConfig.property.workerConfig"></a>

```typescript
public readonly workerConfig: CloudbuildWorkerPoolWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig">CloudbuildWorkerPoolWorkerConfig</a>

worker_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#worker_config CloudbuildWorkerPool#worker_config}

---

### CloudbuildWorkerPoolNetworkConfig <a name="CloudbuildWorkerPoolNetworkConfig" id="@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfig.Initializer"></a>

```typescript
import { CloudbuildWorkerPoolNetworkConfig } from '@dschmidt/provider-google'

const cloudbuildWorkerPoolNetworkConfig: CloudbuildWorkerPoolNetworkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfig.property.peeredNetwork">peeredNetwork</a></code> | <code>string</code> | Required. |

---

##### `peeredNetwork`<sup>Required</sup> <a name="peeredNetwork" id="@dschmidt/provider-google.CloudbuildWorkerPoolNetworkConfig.property.peeredNetwork"></a>

```typescript
public readonly peeredNetwork: string;
```

- *Type:* string

Required.

Immutable. The network definition that the workers are peered to. If this section is left empty, the workers will be peered to `WorkerPool.project_id` on the service producer network. Must be in the format `projects/{project}/global/networks/{network}`, where `{project}` is a project number, such as `12345`, and `{network}` is the name of a VPC network in the project. See [Understanding network configuration options](https://cloud.google.com/cloud-build/docs/custom-workers/set-up-custom-worker-pool-environment#understanding_the_network_configuration_options)

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#peered_network CloudbuildWorkerPool#peered_network}

---

### CloudbuildWorkerPoolTimeouts <a name="CloudbuildWorkerPoolTimeouts" id="@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts.Initializer"></a>

```typescript
import { CloudbuildWorkerPoolTimeouts } from '@dschmidt/provider-google'

const cloudbuildWorkerPoolTimeouts: CloudbuildWorkerPoolTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#create CloudbuildWorkerPool#create}. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#delete CloudbuildWorkerPool#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#update CloudbuildWorkerPool#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#create CloudbuildWorkerPool#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#delete CloudbuildWorkerPool#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudbuildWorkerPoolTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#update CloudbuildWorkerPool#update}.

---

### CloudbuildWorkerPoolWorkerConfig <a name="CloudbuildWorkerPoolWorkerConfig" id="@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig.Initializer"></a>

```typescript
import { CloudbuildWorkerPoolWorkerConfig } from '@dschmidt/provider-google'

const cloudbuildWorkerPoolWorkerConfig: CloudbuildWorkerPoolWorkerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | Size of the disk attached to the worker, in GB. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig.property.machineType">machineType</a></code> | <code>string</code> | Machine type of a worker, such as `n1-standard-1`. |
| <code><a href="#@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig.property.noExternalIp">noExternalIp</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, workers are created without any public address, which prevents network egress to public IPs. |

---

##### `diskSizeGb`<sup>Optional</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

Size of the disk attached to the worker, in GB.

See [Worker pool config file](https://cloud.google.com/cloud-build/docs/custom-workers/worker-pool-config-file). Specify a value of up to 1000. If `0` is specified, Cloud Build will use a standard disk size.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#disk_size_gb CloudbuildWorkerPool#disk_size_gb}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

Machine type of a worker, such as `n1-standard-1`.

See [Worker pool config file](https://cloud.google.com/cloud-build/docs/custom-workers/worker-pool-config-file). If left blank, Cloud Build will use `n1-standard-1`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#machine_type CloudbuildWorkerPool#machine_type}

---

##### `noExternalIp`<sup>Optional</sup> <a name="noExternalIp" id="@dschmidt/provider-google.CloudbuildWorkerPoolWorkerConfig.property.noExternalIp"></a>

```typescript
public readonly noExternalIp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, workers are created without any public address, which prevents network egress to public IPs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudbuild_worker_pool#no_external_ip CloudbuildWorkerPool#no_external_ip}

---

### ClouddeployDeliveryPipelineCondition <a name="ClouddeployDeliveryPipelineCondition" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineCondition.Initializer"></a>

```typescript
import { ClouddeployDeliveryPipelineCondition } from '@dschmidt/provider-google'

const clouddeployDeliveryPipelineCondition: ClouddeployDeliveryPipelineCondition = { ... }
```


### ClouddeployDeliveryPipelineConditionPipelineReadyCondition <a name="ClouddeployDeliveryPipelineConditionPipelineReadyCondition" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConditionPipelineReadyCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConditionPipelineReadyCondition.Initializer"></a>

```typescript
import { ClouddeployDeliveryPipelineConditionPipelineReadyCondition } from '@dschmidt/provider-google'

const clouddeployDeliveryPipelineConditionPipelineReadyCondition: ClouddeployDeliveryPipelineConditionPipelineReadyCondition = { ... }
```


### ClouddeployDeliveryPipelineConditionTargetsPresentCondition <a name="ClouddeployDeliveryPipelineConditionTargetsPresentCondition" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConditionTargetsPresentCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConditionTargetsPresentCondition.Initializer"></a>

```typescript
import { ClouddeployDeliveryPipelineConditionTargetsPresentCondition } from '@dschmidt/provider-google'

const clouddeployDeliveryPipelineConditionTargetsPresentCondition: ClouddeployDeliveryPipelineConditionTargetsPresentCondition = { ... }
```


### ClouddeployDeliveryPipelineConfig <a name="ClouddeployDeliveryPipelineConfig" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.Initializer"></a>

```typescript
import { ClouddeployDeliveryPipelineConfig } from '@dschmidt/provider-google'

const clouddeployDeliveryPipelineConfig: ClouddeployDeliveryPipelineConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.name">name</a></code> | <code>string</code> | Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\-]{0,62}. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | User annotations. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.description">description</a></code> | <code>string</code> | Description of the `DeliveryPipeline`. Max length is 255 characters. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#id ClouddeployDeliveryPipeline#id}. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.serialPipeline">serialPipeline</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipeline">ClouddeployDeliveryPipelineSerialPipeline</a></code> | serial_pipeline block. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.suspended">suspended</a></code> | <code>boolean \| cdktf.IResolvable</code> | When suspended, no new releases or rollouts can be created, but in-progress ones will complete. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts">ClouddeployDeliveryPipelineTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#location ClouddeployDeliveryPipeline#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\-]{0,62}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#name ClouddeployDeliveryPipeline#name}

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User annotations.

These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#annotations ClouddeployDeliveryPipeline#annotations}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the `DeliveryPipeline`. Max length is 255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#description ClouddeployDeliveryPipeline#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#id ClouddeployDeliveryPipeline#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels are attributes that can be set and used by both the user and by Google Cloud Deploy.

Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#labels ClouddeployDeliveryPipeline#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#project ClouddeployDeliveryPipeline#project}

---

##### `serialPipeline`<sup>Optional</sup> <a name="serialPipeline" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.serialPipeline"></a>

```typescript
public readonly serialPipeline: ClouddeployDeliveryPipelineSerialPipeline;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipeline">ClouddeployDeliveryPipelineSerialPipeline</a>

serial_pipeline block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#serial_pipeline ClouddeployDeliveryPipeline#serial_pipeline}

---

##### `suspended`<sup>Optional</sup> <a name="suspended" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.suspended"></a>

```typescript
public readonly suspended: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When suspended, no new releases or rollouts can be created, but in-progress ones will complete.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#suspended ClouddeployDeliveryPipeline#suspended}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ClouddeployDeliveryPipelineTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts">ClouddeployDeliveryPipelineTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#timeouts ClouddeployDeliveryPipeline#timeouts}

---

### ClouddeployDeliveryPipelineSerialPipeline <a name="ClouddeployDeliveryPipelineSerialPipeline" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipeline"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipeline.Initializer"></a>

```typescript
import { ClouddeployDeliveryPipelineSerialPipeline } from '@dschmidt/provider-google'

const clouddeployDeliveryPipelineSerialPipeline: ClouddeployDeliveryPipelineSerialPipeline = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipeline.property.stages">stages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineStages">ClouddeployDeliveryPipelineSerialPipelineStages</a>[]</code> | stages block. |

---

##### `stages`<sup>Optional</sup> <a name="stages" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipeline.property.stages"></a>

```typescript
public readonly stages: IResolvable | ClouddeployDeliveryPipelineSerialPipelineStages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineStages">ClouddeployDeliveryPipelineSerialPipelineStages</a>[]

stages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#stages ClouddeployDeliveryPipeline#stages}

---

### ClouddeployDeliveryPipelineSerialPipelineStages <a name="ClouddeployDeliveryPipelineSerialPipelineStages" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineStages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineStages.Initializer"></a>

```typescript
import { ClouddeployDeliveryPipelineSerialPipelineStages } from '@dschmidt/provider-google'

const clouddeployDeliveryPipelineSerialPipelineStages: ClouddeployDeliveryPipelineSerialPipelineStages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineStages.property.profiles">profiles</a></code> | <code>string[]</code> | Skaffold profiles to use when rendering the manifest for this stage's `Target`. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineStages.property.targetId">targetId</a></code> | <code>string</code> | The target_id to which this stage points. |

---

##### `profiles`<sup>Optional</sup> <a name="profiles" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineStages.property.profiles"></a>

```typescript
public readonly profiles: string[];
```

- *Type:* string[]

Skaffold profiles to use when rendering the manifest for this stage's `Target`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#profiles ClouddeployDeliveryPipeline#profiles}

---

##### `targetId`<sup>Optional</sup> <a name="targetId" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineSerialPipelineStages.property.targetId"></a>

```typescript
public readonly targetId: string;
```

- *Type:* string

The target_id to which this stage points.

This field refers exclusively to the last segment of a target name. For example, this field would just be `my-target` (rather than `projects/project/locations/location/targets/my-target`). The location of the `Target` is inferred to be the same as the location of the `DeliveryPipeline` that contains this `Stage`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#target_id ClouddeployDeliveryPipeline#target_id}

---

### ClouddeployDeliveryPipelineTimeouts <a name="ClouddeployDeliveryPipelineTimeouts" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts.Initializer"></a>

```typescript
import { ClouddeployDeliveryPipelineTimeouts } from '@dschmidt/provider-google'

const clouddeployDeliveryPipelineTimeouts: ClouddeployDeliveryPipelineTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#create ClouddeployDeliveryPipeline#create}. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#delete ClouddeployDeliveryPipeline#delete}. |
| <code><a href="#@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#update ClouddeployDeliveryPipeline#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#create ClouddeployDeliveryPipeline#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#delete ClouddeployDeliveryPipeline#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ClouddeployDeliveryPipelineTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_delivery_pipeline#update ClouddeployDeliveryPipeline#update}.

---

### ClouddeployTargetAnthosCluster <a name="ClouddeployTargetAnthosCluster" id="@dschmidt/provider-google.ClouddeployTargetAnthosCluster"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployTargetAnthosCluster.Initializer"></a>

```typescript
import { ClouddeployTargetAnthosCluster } from '@dschmidt/provider-google'

const clouddeployTargetAnthosCluster: ClouddeployTargetAnthosCluster = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetAnthosCluster.property.membership">membership</a></code> | <code>string</code> | Membership of the GKE Hub-registered cluster to which to apply the Skaffold configuration. Format is `projects/{project}/locations/{location}/memberships/{membership_name}`. |

---

##### `membership`<sup>Optional</sup> <a name="membership" id="@dschmidt/provider-google.ClouddeployTargetAnthosCluster.property.membership"></a>

```typescript
public readonly membership: string;
```

- *Type:* string

Membership of the GKE Hub-registered cluster to which to apply the Skaffold configuration. Format is `projects/{project}/locations/{location}/memberships/{membership_name}`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#membership ClouddeployTarget#membership}

---

### ClouddeployTargetConfig <a name="ClouddeployTargetConfig" id="@dschmidt/provider-google.ClouddeployTargetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployTargetConfig.Initializer"></a>

```typescript
import { ClouddeployTargetConfig } from '@dschmidt/provider-google'

const clouddeployTargetConfig: ClouddeployTargetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.name">name</a></code> | <code>string</code> | Name of the `Target`. Format is [a-z][a-z0-9\-]{0,62}. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.anthosCluster">anthosCluster</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetAnthosCluster">ClouddeployTargetAnthosCluster</a></code> | anthos_cluster block. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.description">description</a></code> | <code>string</code> | Optional. Description of the `Target`. Max length is 255 characters. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.executionConfigs">executionConfigs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigs">ClouddeployTargetExecutionConfigs</a>[]</code> | execution_configs block. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.gke">gke</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetGke">ClouddeployTargetGke</a></code> | gke block. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#id ClouddeployTarget#id}. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.requireApproval">requireApproval</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. Whether or not the `Target` requires approval. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ClouddeployTargetTimeouts">ClouddeployTargetTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#location ClouddeployTarget#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the `Target`. Format is [a-z][a-z0-9\-]{0,62}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#name ClouddeployTarget#name}

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#annotations ClouddeployTarget#annotations}

---

##### `anthosCluster`<sup>Optional</sup> <a name="anthosCluster" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.anthosCluster"></a>

```typescript
public readonly anthosCluster: ClouddeployTargetAnthosCluster;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetAnthosCluster">ClouddeployTargetAnthosCluster</a>

anthos_cluster block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#anthos_cluster ClouddeployTarget#anthos_cluster}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. Description of the `Target`. Max length is 255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#description ClouddeployTarget#description}

---

##### `executionConfigs`<sup>Optional</sup> <a name="executionConfigs" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.executionConfigs"></a>

```typescript
public readonly executionConfigs: IResolvable | ClouddeployTargetExecutionConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigs">ClouddeployTargetExecutionConfigs</a>[]

execution_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#execution_configs ClouddeployTarget#execution_configs}

---

##### `gke`<sup>Optional</sup> <a name="gke" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.gke"></a>

```typescript
public readonly gke: ClouddeployTargetGke;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetGke">ClouddeployTargetGke</a>

gke block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#gke ClouddeployTarget#gke}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#id ClouddeployTarget#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#labels ClouddeployTarget#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#project ClouddeployTarget#project}

---

##### `requireApproval`<sup>Optional</sup> <a name="requireApproval" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.requireApproval"></a>

```typescript
public readonly requireApproval: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional. Whether or not the `Target` requires approval.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#require_approval ClouddeployTarget#require_approval}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ClouddeployTargetConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ClouddeployTargetTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ClouddeployTargetTimeouts">ClouddeployTargetTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#timeouts ClouddeployTarget#timeouts}

---

### ClouddeployTargetExecutionConfigs <a name="ClouddeployTargetExecutionConfigs" id="@dschmidt/provider-google.ClouddeployTargetExecutionConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployTargetExecutionConfigs.Initializer"></a>

```typescript
import { ClouddeployTargetExecutionConfigs } from '@dschmidt/provider-google'

const clouddeployTargetExecutionConfigs: ClouddeployTargetExecutionConfigs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigs.property.usages">usages</a></code> | <code>string[]</code> | Required. Usages when this configuration should be applied. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigs.property.artifactStorage">artifactStorage</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigs.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | Optional. Google service account to use for execution. If unspecified, the project execution service account (-compute@developer.gserviceaccount.com) is used. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetExecutionConfigs.property.workerPool">workerPool</a></code> | <code>string</code> | Optional. |

---

##### `usages`<sup>Required</sup> <a name="usages" id="@dschmidt/provider-google.ClouddeployTargetExecutionConfigs.property.usages"></a>

```typescript
public readonly usages: string[];
```

- *Type:* string[]

Required. Usages when this configuration should be applied.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#usages ClouddeployTarget#usages}

---

##### `artifactStorage`<sup>Optional</sup> <a name="artifactStorage" id="@dschmidt/provider-google.ClouddeployTargetExecutionConfigs.property.artifactStorage"></a>

```typescript
public readonly artifactStorage: string;
```

- *Type:* string

Optional.

Cloud Storage location in which to store execution outputs. This can either be a bucket ("gs://my-bucket") or a path within a bucket ("gs://my-bucket/my-dir"). If unspecified, a default bucket located in the same region will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#artifact_storage ClouddeployTarget#artifact_storage}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ClouddeployTargetExecutionConfigs.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

Optional. Google service account to use for execution. If unspecified, the project execution service account (-compute@developer.gserviceaccount.com) is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#service_account ClouddeployTarget#service_account}

---

##### `workerPool`<sup>Optional</sup> <a name="workerPool" id="@dschmidt/provider-google.ClouddeployTargetExecutionConfigs.property.workerPool"></a>

```typescript
public readonly workerPool: string;
```

- *Type:* string

Optional.

The resource name of the `WorkerPool`, with the format `projects/{project}/locations/{location}/workerPools/{worker_pool}`. If this optional field is unspecified, the default Cloud Build pool will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#worker_pool ClouddeployTarget#worker_pool}

---

### ClouddeployTargetGke <a name="ClouddeployTargetGke" id="@dschmidt/provider-google.ClouddeployTargetGke"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployTargetGke.Initializer"></a>

```typescript
import { ClouddeployTargetGke } from '@dschmidt/provider-google'

const clouddeployTargetGke: ClouddeployTargetGke = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetGke.property.cluster">cluster</a></code> | <code>string</code> | Information specifying a GKE Cluster. Format is `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetGke.property.internalIp">internalIp</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |

---

##### `cluster`<sup>Optional</sup> <a name="cluster" id="@dschmidt/provider-google.ClouddeployTargetGke.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

Information specifying a GKE Cluster. Format is `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#cluster ClouddeployTarget#cluster}

---

##### `internalIp`<sup>Optional</sup> <a name="internalIp" id="@dschmidt/provider-google.ClouddeployTargetGke.property.internalIp"></a>

```typescript
public readonly internalIp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

If true, `cluster` is accessed using the private IP address of the control plane endpoint. Otherwise, the default IP address of the control plane endpoint is used. The default IP address is the private IP address for clusters with private control-plane endpoints and the public IP address otherwise. Only specify this option when `cluster` is a [private GKE cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#internal_ip ClouddeployTarget#internal_ip}

---

### ClouddeployTargetTimeouts <a name="ClouddeployTargetTimeouts" id="@dschmidt/provider-google.ClouddeployTargetTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ClouddeployTargetTimeouts.Initializer"></a>

```typescript
import { ClouddeployTargetTimeouts } from '@dschmidt/provider-google'

const clouddeployTargetTimeouts: ClouddeployTargetTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#create ClouddeployTarget#create}. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#delete ClouddeployTarget#delete}. |
| <code><a href="#@dschmidt/provider-google.ClouddeployTargetTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#update ClouddeployTarget#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ClouddeployTargetTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#create ClouddeployTarget#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ClouddeployTargetTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#delete ClouddeployTarget#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ClouddeployTargetTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/clouddeploy_target#update ClouddeployTarget#update}.

---

### Cloudfunctions2FunctionBuildConfig <a name="Cloudfunctions2FunctionBuildConfig" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionBuildConfig } from '@dschmidt/provider-google'

const cloudfunctions2FunctionBuildConfig: Cloudfunctions2FunctionBuildConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.dockerRepository">dockerRepository</a></code> | <code>string</code> | User managed repository created in Artifact Registry optionally with a customer managed encryption key. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.entryPoint">entryPoint</a></code> | <code>string</code> | The name of the function (as defined in source code) that will be executed. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.environmentVariables">environmentVariables</a></code> | <code>{[ key: string ]: string}</code> | User-provided build-time environment variables for the function. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.runtime">runtime</a></code> | <code>string</code> | The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.source">source</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSource">Cloudfunctions2FunctionBuildConfigSource</a></code> | source block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.workerPool">workerPool</a></code> | <code>string</code> | Name of the Cloud Build Custom Worker Pool that should be used to build the function. |

---

##### `dockerRepository`<sup>Optional</sup> <a name="dockerRepository" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.dockerRepository"></a>

```typescript
public readonly dockerRepository: string;
```

- *Type:* string

User managed repository created in Artifact Registry optionally with a customer managed encryption key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#docker_repository Cloudfunctions2Function#docker_repository}

---

##### `entryPoint`<sup>Optional</sup> <a name="entryPoint" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.entryPoint"></a>

```typescript
public readonly entryPoint: string;
```

- *Type:* string

The name of the function (as defined in source code) that will be executed.

Defaults to the resource name suffix, if not specified. For backward
compatibility, if function with given name is not found, then the system
will try to use function named "function". For Node.js this is name of a
function exported by the module specified in source_location.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#entry_point Cloudfunctions2Function#entry_point}

---

##### `environmentVariables`<sup>Optional</sup> <a name="environmentVariables" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.environmentVariables"></a>

```typescript
public readonly environmentVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-provided build-time environment variables for the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#environment_variables Cloudfunctions2Function#environment_variables}

---

##### `runtime`<sup>Optional</sup> <a name="runtime" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.runtime"></a>

```typescript
public readonly runtime: string;
```

- *Type:* string

The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#runtime Cloudfunctions2Function#runtime}

---

##### `source`<sup>Optional</sup> <a name="source" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.source"></a>

```typescript
public readonly source: Cloudfunctions2FunctionBuildConfigSource;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSource">Cloudfunctions2FunctionBuildConfigSource</a>

source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#source Cloudfunctions2Function#source}

---

##### `workerPool`<sup>Optional</sup> <a name="workerPool" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig.property.workerPool"></a>

```typescript
public readonly workerPool: string;
```

- *Type:* string

Name of the Cloud Build Custom Worker Pool that should be used to build the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#worker_pool Cloudfunctions2Function#worker_pool}

---

### Cloudfunctions2FunctionBuildConfigSource <a name="Cloudfunctions2FunctionBuildConfigSource" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSource.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionBuildConfigSource } from '@dschmidt/provider-google'

const cloudfunctions2FunctionBuildConfigSource: Cloudfunctions2FunctionBuildConfigSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSource.property.repoSource">repoSource</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource">Cloudfunctions2FunctionBuildConfigSourceRepoSource</a></code> | repo_source block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSource.property.storageSource">storageSource</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource">Cloudfunctions2FunctionBuildConfigSourceStorageSource</a></code> | storage_source block. |

---

##### `repoSource`<sup>Optional</sup> <a name="repoSource" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSource.property.repoSource"></a>

```typescript
public readonly repoSource: Cloudfunctions2FunctionBuildConfigSourceRepoSource;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource">Cloudfunctions2FunctionBuildConfigSourceRepoSource</a>

repo_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#repo_source Cloudfunctions2Function#repo_source}

---

##### `storageSource`<sup>Optional</sup> <a name="storageSource" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSource.property.storageSource"></a>

```typescript
public readonly storageSource: Cloudfunctions2FunctionBuildConfigSourceStorageSource;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource">Cloudfunctions2FunctionBuildConfigSourceStorageSource</a>

storage_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#storage_source Cloudfunctions2Function#storage_source}

---

### Cloudfunctions2FunctionBuildConfigSourceRepoSource <a name="Cloudfunctions2FunctionBuildConfigSourceRepoSource" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionBuildConfigSourceRepoSource } from '@dschmidt/provider-google'

const cloudfunctions2FunctionBuildConfigSourceRepoSource: Cloudfunctions2FunctionBuildConfigSourceRepoSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.branchName">branchName</a></code> | <code>string</code> | Regex matching branches to build. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.commitSha">commitSha</a></code> | <code>string</code> | Regex matching tags to build. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.dir">dir</a></code> | <code>string</code> | Directory, relative to the source root, in which to run the build. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.invertRegex">invertRegex</a></code> | <code>boolean \| cdktf.IResolvable</code> | Only trigger a build if the revision regex does  NOT match the revision regex. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.projectId">projectId</a></code> | <code>string</code> | ID of the project that owns the Cloud Source Repository. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.repoName">repoName</a></code> | <code>string</code> | Name of the Cloud Source Repository. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.tagName">tagName</a></code> | <code>string</code> | Regex matching tags to build. |

---

##### `branchName`<sup>Optional</sup> <a name="branchName" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.branchName"></a>

```typescript
public readonly branchName: string;
```

- *Type:* string

Regex matching branches to build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#branch_name Cloudfunctions2Function#branch_name}

---

##### `commitSha`<sup>Optional</sup> <a name="commitSha" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.commitSha"></a>

```typescript
public readonly commitSha: string;
```

- *Type:* string

Regex matching tags to build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#commit_sha Cloudfunctions2Function#commit_sha}

---

##### `dir`<sup>Optional</sup> <a name="dir" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.dir"></a>

```typescript
public readonly dir: string;
```

- *Type:* string

Directory, relative to the source root, in which to run the build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#dir Cloudfunctions2Function#dir}

---

##### `invertRegex`<sup>Optional</sup> <a name="invertRegex" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.invertRegex"></a>

```typescript
public readonly invertRegex: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Only trigger a build if the revision regex does  NOT match the revision regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#invert_regex Cloudfunctions2Function#invert_regex}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

ID of the project that owns the Cloud Source Repository.

If omitted, the 
project ID requesting the build is assumed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#project_id Cloudfunctions2Function#project_id}

---

##### `repoName`<sup>Optional</sup> <a name="repoName" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.repoName"></a>

```typescript
public readonly repoName: string;
```

- *Type:* string

Name of the Cloud Source Repository.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#repo_name Cloudfunctions2Function#repo_name}

---

##### `tagName`<sup>Optional</sup> <a name="tagName" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceRepoSource.property.tagName"></a>

```typescript
public readonly tagName: string;
```

- *Type:* string

Regex matching tags to build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#tag_name Cloudfunctions2Function#tag_name}

---

### Cloudfunctions2FunctionBuildConfigSourceStorageSource <a name="Cloudfunctions2FunctionBuildConfigSourceStorageSource" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionBuildConfigSourceStorageSource } from '@dschmidt/provider-google'

const cloudfunctions2FunctionBuildConfigSourceStorageSource: Cloudfunctions2FunctionBuildConfigSourceStorageSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource.property.bucket">bucket</a></code> | <code>string</code> | Google Cloud Storage bucket containing the source. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource.property.generation">generation</a></code> | <code>number</code> | Google Cloud Storage generation for the object. If the generation  is omitted, the latest generation will be used. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource.property.object">object</a></code> | <code>string</code> | Google Cloud Storage object containing the source. |

---

##### `bucket`<sup>Optional</sup> <a name="bucket" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Google Cloud Storage bucket containing the source.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#bucket Cloudfunctions2Function#bucket}

---

##### `generation`<sup>Optional</sup> <a name="generation" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource.property.generation"></a>

```typescript
public readonly generation: number;
```

- *Type:* number

Google Cloud Storage generation for the object. If the generation  is omitted, the latest generation will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#generation Cloudfunctions2Function#generation}

---

##### `object`<sup>Optional</sup> <a name="object" id="@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfigSourceStorageSource.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Google Cloud Storage object containing the source.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#object Cloudfunctions2Function#object}

---

### Cloudfunctions2FunctionConfig <a name="Cloudfunctions2FunctionConfig" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionConfig } from '@dschmidt/provider-google'

const cloudfunctions2FunctionConfig: Cloudfunctions2FunctionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.name">name</a></code> | <code>string</code> | A user-defined name of the function. Function names must be unique globally and match pattern 'projects/*\/locations/*\/functions/*'. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.buildConfig">buildConfig</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig">Cloudfunctions2FunctionBuildConfig</a></code> | build_config block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.description">description</a></code> | <code>string</code> | User-provided description of a function. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.eventTrigger">eventTrigger</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger">Cloudfunctions2FunctionEventTrigger</a></code> | event_trigger block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#id Cloudfunctions2Function#id}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs associated with this Cloud Function. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.location">location</a></code> | <code>string</code> | The location of this cloud function. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#project Cloudfunctions2Function#project}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.serviceConfig">serviceConfig</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig">Cloudfunctions2FunctionServiceConfig</a></code> | service_config block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts">Cloudfunctions2FunctionTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A user-defined name of the function. Function names must be unique globally and match pattern 'projects/*\/locations/*\/functions/*'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#name Cloudfunctions2Function#name}

---

##### `buildConfig`<sup>Optional</sup> <a name="buildConfig" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.buildConfig"></a>

```typescript
public readonly buildConfig: Cloudfunctions2FunctionBuildConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionBuildConfig">Cloudfunctions2FunctionBuildConfig</a>

build_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#build_config Cloudfunctions2Function#build_config}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

User-provided description of a function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#description Cloudfunctions2Function#description}

---

##### `eventTrigger`<sup>Optional</sup> <a name="eventTrigger" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.eventTrigger"></a>

```typescript
public readonly eventTrigger: Cloudfunctions2FunctionEventTrigger;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger">Cloudfunctions2FunctionEventTrigger</a>

event_trigger block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#event_trigger Cloudfunctions2Function#event_trigger}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#id Cloudfunctions2Function#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs associated with this Cloud Function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#labels Cloudfunctions2Function#labels}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of this cloud function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#location Cloudfunctions2Function#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#project Cloudfunctions2Function#project}.

---

##### `serviceConfig`<sup>Optional</sup> <a name="serviceConfig" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.serviceConfig"></a>

```typescript
public readonly serviceConfig: Cloudfunctions2FunctionServiceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig">Cloudfunctions2FunctionServiceConfig</a>

service_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#service_config Cloudfunctions2Function#service_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.Cloudfunctions2FunctionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: Cloudfunctions2FunctionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts">Cloudfunctions2FunctionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#timeouts Cloudfunctions2Function#timeouts}

---

### Cloudfunctions2FunctionEventTrigger <a name="Cloudfunctions2FunctionEventTrigger" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionEventTrigger } from '@dschmidt/provider-google'

const cloudfunctions2FunctionEventTrigger: Cloudfunctions2FunctionEventTrigger = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.eventFilters">eventFilters</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters">Cloudfunctions2FunctionEventTriggerEventFilters</a>[]</code> | event_filters block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.eventType">eventType</a></code> | <code>string</code> | Required. The type of event to observe. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.pubsubTopic">pubsubTopic</a></code> | <code>string</code> | The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.retryPolicy">retryPolicy</a></code> | <code>string</code> | Describes the retry policy in case of function's execution failure. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | The email of the service account for this function. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.triggerRegion">triggerRegion</a></code> | <code>string</code> | The region that the trigger will be in. |

---

##### `eventFilters`<sup>Optional</sup> <a name="eventFilters" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.eventFilters"></a>

```typescript
public readonly eventFilters: IResolvable | Cloudfunctions2FunctionEventTriggerEventFilters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters">Cloudfunctions2FunctionEventTriggerEventFilters</a>[]

event_filters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#event_filters Cloudfunctions2Function#event_filters}

---

##### `eventType`<sup>Optional</sup> <a name="eventType" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.eventType"></a>

```typescript
public readonly eventType: string;
```

- *Type:* string

Required. The type of event to observe.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#event_type Cloudfunctions2Function#event_type}

---

##### `pubsubTopic`<sup>Optional</sup> <a name="pubsubTopic" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.pubsubTopic"></a>

```typescript
public readonly pubsubTopic: string;
```

- *Type:* string

The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#pubsub_topic Cloudfunctions2Function#pubsub_topic}

---

##### `retryPolicy`<sup>Optional</sup> <a name="retryPolicy" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.retryPolicy"></a>

```typescript
public readonly retryPolicy: string;
```

- *Type:* string

Describes the retry policy in case of function's execution failure.

Retried execution is charged as any other execution. Possible values: ["RETRY_POLICY_UNSPECIFIED", "RETRY_POLICY_DO_NOT_RETRY", "RETRY_POLICY_RETRY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#retry_policy Cloudfunctions2Function#retry_policy}

---

##### `serviceAccountEmail`<sup>Optional</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

The email of the service account for this function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#service_account_email Cloudfunctions2Function#service_account_email}

---

##### `triggerRegion`<sup>Optional</sup> <a name="triggerRegion" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTrigger.property.triggerRegion"></a>

```typescript
public readonly triggerRegion: string;
```

- *Type:* string

The region that the trigger will be in.

The trigger will only receive
events originating in this region. It can be the same
region as the function, a different region or multi-region, or the global
region. If not provided, defaults to the same region as the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#trigger_region Cloudfunctions2Function#trigger_region}

---

### Cloudfunctions2FunctionEventTriggerEventFilters <a name="Cloudfunctions2FunctionEventTriggerEventFilters" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionEventTriggerEventFilters } from '@dschmidt/provider-google'

const cloudfunctions2FunctionEventTriggerEventFilters: Cloudfunctions2FunctionEventTriggerEventFilters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters.property.attribute">attribute</a></code> | <code>string</code> | 'Required. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters.property.value">value</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters.property.operator">operator</a></code> | <code>string</code> | Optional. |

---

##### `attribute`<sup>Required</sup> <a name="attribute" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters.property.attribute"></a>

```typescript
public readonly attribute: string;
```

- *Type:* string

'Required.

The name of a CloudEvents attribute.
Currently, only a subset of attributes are supported for filtering. Use the 'gcloud eventarc providers describe' command to learn more about events and their attributes.
Do not filter for the 'type' attribute here, as this is already achieved by the resource's 'event_type' attribute.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#attribute Cloudfunctions2Function#attribute}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Required.

The value for the attribute.
If the operator field is set as 'match-path-pattern', this value can be a path pattern instead of an exact value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#value Cloudfunctions2Function#value}

---

##### `operator`<sup>Optional</sup> <a name="operator" id="@dschmidt/provider-google.Cloudfunctions2FunctionEventTriggerEventFilters.property.operator"></a>

```typescript
public readonly operator: string;
```

- *Type:* string

Optional.

The operator used for matching the events with the value of
the filter. If not specified, only events that have an exact key-value
pair specified in the filter are matched.
The only allowed value is 'match-path-pattern'.
[See documentation on path patterns here](https://cloud.google.com/eventarc/docs/path-patterns)'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#operator Cloudfunctions2Function#operator}

---

### Cloudfunctions2FunctionIamBindingCondition <a name="Cloudfunctions2FunctionIamBindingCondition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionIamBindingCondition } from '@dschmidt/provider-google'

const cloudfunctions2FunctionIamBindingCondition: Cloudfunctions2FunctionIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#expression Cloudfunctions2FunctionIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#title Cloudfunctions2FunctionIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#description Cloudfunctions2FunctionIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#expression Cloudfunctions2FunctionIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#title Cloudfunctions2FunctionIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#description Cloudfunctions2FunctionIamBinding#description}.

---

### Cloudfunctions2FunctionIamBindingConfig <a name="Cloudfunctions2FunctionIamBindingConfig" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionIamBindingConfig } from '@dschmidt/provider-google'

const cloudfunctions2FunctionIamBindingConfig: Cloudfunctions2FunctionIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#cloud_function Cloudfunctions2FunctionIamBinding#cloud_function}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#members Cloudfunctions2FunctionIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#role Cloudfunctions2FunctionIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition">Cloudfunctions2FunctionIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#id Cloudfunctions2FunctionIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#location Cloudfunctions2FunctionIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#project Cloudfunctions2FunctionIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#cloud_function Cloudfunctions2FunctionIamBinding#cloud_function}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#members Cloudfunctions2FunctionIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#role Cloudfunctions2FunctionIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: Cloudfunctions2FunctionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingCondition">Cloudfunctions2FunctionIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#condition Cloudfunctions2FunctionIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#id Cloudfunctions2FunctionIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#location Cloudfunctions2FunctionIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_binding#project Cloudfunctions2FunctionIamBinding#project}.

---

### Cloudfunctions2FunctionIamMemberCondition <a name="Cloudfunctions2FunctionIamMemberCondition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionIamMemberCondition } from '@dschmidt/provider-google'

const cloudfunctions2FunctionIamMemberCondition: Cloudfunctions2FunctionIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#expression Cloudfunctions2FunctionIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#title Cloudfunctions2FunctionIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#description Cloudfunctions2FunctionIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#expression Cloudfunctions2FunctionIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#title Cloudfunctions2FunctionIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#description Cloudfunctions2FunctionIamMember#description}.

---

### Cloudfunctions2FunctionIamMemberConfig <a name="Cloudfunctions2FunctionIamMemberConfig" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionIamMemberConfig } from '@dschmidt/provider-google'

const cloudfunctions2FunctionIamMemberConfig: Cloudfunctions2FunctionIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#cloud_function Cloudfunctions2FunctionIamMember#cloud_function}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#member Cloudfunctions2FunctionIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#role Cloudfunctions2FunctionIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition">Cloudfunctions2FunctionIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#id Cloudfunctions2FunctionIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#location Cloudfunctions2FunctionIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#project Cloudfunctions2FunctionIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#cloud_function Cloudfunctions2FunctionIamMember#cloud_function}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#member Cloudfunctions2FunctionIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#role Cloudfunctions2FunctionIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: Cloudfunctions2FunctionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberCondition">Cloudfunctions2FunctionIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#condition Cloudfunctions2FunctionIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#id Cloudfunctions2FunctionIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#location Cloudfunctions2FunctionIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_member#project Cloudfunctions2FunctionIamMember#project}.

---

### Cloudfunctions2FunctionIamPolicyConfig <a name="Cloudfunctions2FunctionIamPolicyConfig" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionIamPolicyConfig } from '@dschmidt/provider-google'

const cloudfunctions2FunctionIamPolicyConfig: Cloudfunctions2FunctionIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#cloud_function Cloudfunctions2FunctionIamPolicy#cloud_function}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#policy_data Cloudfunctions2FunctionIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#id Cloudfunctions2FunctionIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#location Cloudfunctions2FunctionIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#project Cloudfunctions2FunctionIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#cloud_function Cloudfunctions2FunctionIamPolicy#cloud_function}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#policy_data Cloudfunctions2FunctionIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#id Cloudfunctions2FunctionIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#location Cloudfunctions2FunctionIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.Cloudfunctions2FunctionIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function_iam_policy#project Cloudfunctions2FunctionIamPolicy#project}.

---

### Cloudfunctions2FunctionServiceConfig <a name="Cloudfunctions2FunctionServiceConfig" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionServiceConfig } from '@dschmidt/provider-google'

const cloudfunctions2FunctionServiceConfig: Cloudfunctions2FunctionServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.allTrafficOnLatestRevision">allTrafficOnLatestRevision</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether 100% of traffic is routed to the latest revision. Defaults to true. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.availableMemory">availableMemory</a></code> | <code>string</code> | The amount of memory available for a function. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.environmentVariables">environmentVariables</a></code> | <code>{[ key: string ]: string}</code> | Environment variables that shall be available during function execution. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.ingressSettings">ingressSettings</a></code> | <code>string</code> | Available ingress settings. Defaults to "ALLOW_ALL" if unspecified. Default value: "ALLOW_ALL" Possible values: ["ALLOW_ALL", "ALLOW_INTERNAL_ONLY", "ALLOW_INTERNAL_AND_GCLB"]. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.maxInstanceCount">maxInstanceCount</a></code> | <code>number</code> | The limit on the maximum number of function instances that may coexist at a given time. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.minInstanceCount">minInstanceCount</a></code> | <code>number</code> | The limit on the minimum number of function instances that may coexist at a given time. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.secretEnvironmentVariables">secretEnvironmentVariables</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables">Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables</a>[]</code> | secret_environment_variables block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.secretVolumes">secretVolumes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes">Cloudfunctions2FunctionServiceConfigSecretVolumes</a>[]</code> | secret_volumes block. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.service">service</a></code> | <code>string</code> | Name of the service associated with a Function. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | The email of the service account for this function. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | The function execution timeout. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.vpcConnector">vpcConnector</a></code> | <code>string</code> | The Serverless VPC Access connector that this cloud function can connect to. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.vpcConnectorEgressSettings">vpcConnectorEgressSettings</a></code> | <code>string</code> | Available egress settings. Possible values: ["VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED", "PRIVATE_RANGES_ONLY", "ALL_TRAFFIC"]. |

---

##### `allTrafficOnLatestRevision`<sup>Optional</sup> <a name="allTrafficOnLatestRevision" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.allTrafficOnLatestRevision"></a>

```typescript
public readonly allTrafficOnLatestRevision: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether 100% of traffic is routed to the latest revision. Defaults to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#all_traffic_on_latest_revision Cloudfunctions2Function#all_traffic_on_latest_revision}

---

##### `availableMemory`<sup>Optional</sup> <a name="availableMemory" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.availableMemory"></a>

```typescript
public readonly availableMemory: string;
```

- *Type:* string

The amount of memory available for a function.

Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is
supplied the value is interpreted as bytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#available_memory Cloudfunctions2Function#available_memory}

---

##### `environmentVariables`<sup>Optional</sup> <a name="environmentVariables" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.environmentVariables"></a>

```typescript
public readonly environmentVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Environment variables that shall be available during function execution.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#environment_variables Cloudfunctions2Function#environment_variables}

---

##### `ingressSettings`<sup>Optional</sup> <a name="ingressSettings" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.ingressSettings"></a>

```typescript
public readonly ingressSettings: string;
```

- *Type:* string

Available ingress settings. Defaults to "ALLOW_ALL" if unspecified. Default value: "ALLOW_ALL" Possible values: ["ALLOW_ALL", "ALLOW_INTERNAL_ONLY", "ALLOW_INTERNAL_AND_GCLB"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#ingress_settings Cloudfunctions2Function#ingress_settings}

---

##### `maxInstanceCount`<sup>Optional</sup> <a name="maxInstanceCount" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.maxInstanceCount"></a>

```typescript
public readonly maxInstanceCount: number;
```

- *Type:* number

The limit on the maximum number of function instances that may coexist at a given time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#max_instance_count Cloudfunctions2Function#max_instance_count}

---

##### `minInstanceCount`<sup>Optional</sup> <a name="minInstanceCount" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.minInstanceCount"></a>

```typescript
public readonly minInstanceCount: number;
```

- *Type:* number

The limit on the minimum number of function instances that may coexist at a given time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#min_instance_count Cloudfunctions2Function#min_instance_count}

---

##### `secretEnvironmentVariables`<sup>Optional</sup> <a name="secretEnvironmentVariables" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.secretEnvironmentVariables"></a>

```typescript
public readonly secretEnvironmentVariables: IResolvable | Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables">Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables</a>[]

secret_environment_variables block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#secret_environment_variables Cloudfunctions2Function#secret_environment_variables}

---

##### `secretVolumes`<sup>Optional</sup> <a name="secretVolumes" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.secretVolumes"></a>

```typescript
public readonly secretVolumes: IResolvable | Cloudfunctions2FunctionServiceConfigSecretVolumes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes">Cloudfunctions2FunctionServiceConfigSecretVolumes</a>[]

secret_volumes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#secret_volumes Cloudfunctions2Function#secret_volumes}

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Name of the service associated with a Function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#service Cloudfunctions2Function#service}

---

##### `serviceAccountEmail`<sup>Optional</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

The email of the service account for this function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#service_account_email Cloudfunctions2Function#service_account_email}

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

The function execution timeout.

Execution is considered failed and
can be terminated if the function is not completed at the end of the
timeout period. Defaults to 60 seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#timeout_seconds Cloudfunctions2Function#timeout_seconds}

---

##### `vpcConnector`<sup>Optional</sup> <a name="vpcConnector" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.vpcConnector"></a>

```typescript
public readonly vpcConnector: string;
```

- *Type:* string

The Serverless VPC Access connector that this cloud function can connect to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#vpc_connector Cloudfunctions2Function#vpc_connector}

---

##### `vpcConnectorEgressSettings`<sup>Optional</sup> <a name="vpcConnectorEgressSettings" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfig.property.vpcConnectorEgressSettings"></a>

```typescript
public readonly vpcConnectorEgressSettings: string;
```

- *Type:* string

Available egress settings. Possible values: ["VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED", "PRIVATE_RANGES_ONLY", "ALL_TRAFFIC"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#vpc_connector_egress_settings Cloudfunctions2Function#vpc_connector_egress_settings}

---

### Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables <a name="Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables } from '@dschmidt/provider-google'

const cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables: Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables.property.key">key</a></code> | <code>string</code> | Name of the environment variable. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables.property.projectId">projectId</a></code> | <code>string</code> | Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables.property.secret">secret</a></code> | <code>string</code> | Name of the secret in secret manager (not the full resource name). |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables.property.version">version</a></code> | <code>string</code> | Version of the secret (version number or the string 'latest'). |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Name of the environment variable.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#key Cloudfunctions2Function#key}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret.

If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#project_id Cloudfunctions2Function#project_id}

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

Name of the secret in secret manager (not the full resource name).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#secret Cloudfunctions2Function#secret}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretEnvironmentVariables.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

Version of the secret (version number or the string 'latest').

It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#version Cloudfunctions2Function#version}

---

### Cloudfunctions2FunctionServiceConfigSecretVolumes <a name="Cloudfunctions2FunctionServiceConfigSecretVolumes" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionServiceConfigSecretVolumes } from '@dschmidt/provider-google'

const cloudfunctions2FunctionServiceConfigSecretVolumes: Cloudfunctions2FunctionServiceConfigSecretVolumes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes.property.mountPath">mountPath</a></code> | <code>string</code> | The path within the container to mount the secret volume. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes.property.projectId">projectId</a></code> | <code>string</code> | Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes.property.secret">secret</a></code> | <code>string</code> | Name of the secret in secret manager (not the full resource name). |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes.property.versions">versions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumesVersions">Cloudfunctions2FunctionServiceConfigSecretVolumesVersions</a>[]</code> | versions block. |

---

##### `mountPath`<sup>Required</sup> <a name="mountPath" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes.property.mountPath"></a>

```typescript
public readonly mountPath: string;
```

- *Type:* string

The path within the container to mount the secret volume.

For example, setting the mountPath as /etc/secrets would mount the secret value files under the /etc/secrets directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#mount_path Cloudfunctions2Function#mount_path}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret.

If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#project_id Cloudfunctions2Function#project_id}

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

Name of the secret in secret manager (not the full resource name).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#secret Cloudfunctions2Function#secret}

---

##### `versions`<sup>Optional</sup> <a name="versions" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumes.property.versions"></a>

```typescript
public readonly versions: IResolvable | Cloudfunctions2FunctionServiceConfigSecretVolumesVersions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumesVersions">Cloudfunctions2FunctionServiceConfigSecretVolumesVersions</a>[]

versions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#versions Cloudfunctions2Function#versions}

---

### Cloudfunctions2FunctionServiceConfigSecretVolumesVersions <a name="Cloudfunctions2FunctionServiceConfigSecretVolumesVersions" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumesVersions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumesVersions.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionServiceConfigSecretVolumesVersions } from '@dschmidt/provider-google'

const cloudfunctions2FunctionServiceConfigSecretVolumesVersions: Cloudfunctions2FunctionServiceConfigSecretVolumesVersions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumesVersions.property.path">path</a></code> | <code>string</code> | Relative path of the file under the mount path where the secret value for this version will be fetched and made available. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumesVersions.property.version">version</a></code> | <code>string</code> | Version of the secret (version number or the string 'latest'). |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumesVersions.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Relative path of the file under the mount path where the secret value for this version will be fetched and made available.

For example, setting the mountPath as '/etc/secrets' and path as secret_foo would mount the secret value file at /etc/secrets/secret_foo.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#path Cloudfunctions2Function#path}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.Cloudfunctions2FunctionServiceConfigSecretVolumesVersions.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

Version of the secret (version number or the string 'latest').

It is preferable to use latest version with secret volumes as secret value changes are reflected immediately.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#version Cloudfunctions2Function#version}

---

### Cloudfunctions2FunctionTimeouts <a name="Cloudfunctions2FunctionTimeouts" id="@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts.Initializer"></a>

```typescript
import { Cloudfunctions2FunctionTimeouts } from '@dschmidt/provider-google'

const cloudfunctions2FunctionTimeouts: Cloudfunctions2FunctionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#create Cloudfunctions2Function#create}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#delete Cloudfunctions2Function#delete}. |
| <code><a href="#@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#update Cloudfunctions2Function#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#create Cloudfunctions2Function#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#delete Cloudfunctions2Function#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.Cloudfunctions2FunctionTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions2_function#update Cloudfunctions2Function#update}.

---

### CloudfunctionsFunctionConfig <a name="CloudfunctionsFunctionConfig" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.Initializer"></a>

```typescript
import { CloudfunctionsFunctionConfig } from '@dschmidt/provider-google'

const cloudfunctionsFunctionConfig: CloudfunctionsFunctionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.name">name</a></code> | <code>string</code> | A user-defined name of the function. Function names must be unique globally. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.runtime">runtime</a></code> | <code>string</code> | The runtime in which the function is going to run. Eg. "nodejs8", "nodejs10", "python37", "go111". |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.availableMemoryMb">availableMemoryMb</a></code> | <code>number</code> | Memory (in MB), available to the function. Default value is 256. Possible values include 128, 256, 512, 1024, etc. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.buildEnvironmentVariables">buildEnvironmentVariables</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value environment variable pairs available during build time. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.description">description</a></code> | <code>string</code> | Description of the function. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.dockerRegistry">dockerRegistry</a></code> | <code>string</code> | Docker Registry to use for storing the function's Docker images. Allowed values are CONTAINER_REGISTRY (default) and ARTIFACT_REGISTRY. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.dockerRepository">dockerRepository</a></code> | <code>string</code> | User managed repository created in Artifact Registry optionally with a customer managed encryption key. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.entryPoint">entryPoint</a></code> | <code>string</code> | Name of the function that will be executed when the Google Cloud Function is triggered. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.environmentVariables">environmentVariables</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value environment variable pairs to assign to the function. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.eventTrigger">eventTrigger</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger">CloudfunctionsFunctionEventTrigger</a></code> | event_trigger block. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.httpsTriggerSecurityLevel">httpsTriggerSecurityLevel</a></code> | <code>string</code> | The security level for the function. Defaults to SECURE_OPTIONAL. Valid only if trigger_http is used. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.httpsTriggerUrl">httpsTriggerUrl</a></code> | <code>string</code> | URL which triggers function execution. Returned only if trigger_http is used. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#id CloudfunctionsFunction#id}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.ingressSettings">ingressSettings</a></code> | <code>string</code> | String value that controls what traffic can reach the function. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to the function. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.maxInstances">maxInstances</a></code> | <code>number</code> | The limit on the maximum number of function instances that may coexist at a given time. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.minInstances">minInstances</a></code> | <code>number</code> | The limit on the minimum number of function instances that may coexist at a given time. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.project">project</a></code> | <code>string</code> | Project of the function. If it is not provided, the provider project is used. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.region">region</a></code> | <code>string</code> | Region of function. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.secretEnvironmentVariables">secretEnvironmentVariables</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables">CloudfunctionsFunctionSecretEnvironmentVariables</a>[]</code> | secret_environment_variables block. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.secretVolumes">secretVolumes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes">CloudfunctionsFunctionSecretVolumes</a>[]</code> | secret_volumes block. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | If provided, the self-provided service account to run the function with. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.sourceArchiveBucket">sourceArchiveBucket</a></code> | <code>string</code> | The GCS bucket containing the zip archive which contains the function. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.sourceArchiveObject">sourceArchiveObject</a></code> | <code>string</code> | The source archive object (file) in archive bucket. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.sourceRepository">sourceRepository</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSourceRepository">CloudfunctionsFunctionSourceRepository</a></code> | source_repository block. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.timeout">timeout</a></code> | <code>number</code> | Timeout (in seconds) for the function. Default value is 60 seconds. Cannot be more than 540 seconds. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeouts">CloudfunctionsFunctionTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.triggerHttp">triggerHttp</a></code> | <code>boolean \| cdktf.IResolvable</code> | Boolean variable. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.vpcConnector">vpcConnector</a></code> | <code>string</code> | The VPC Network Connector that this cloud function can connect to. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.vpcConnectorEgressSettings">vpcConnectorEgressSettings</a></code> | <code>string</code> | The egress settings for the connector, controlling what traffic is diverted through it. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A user-defined name of the function. Function names must be unique globally.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#name CloudfunctionsFunction#name}

---

##### `runtime`<sup>Required</sup> <a name="runtime" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.runtime"></a>

```typescript
public readonly runtime: string;
```

- *Type:* string

The runtime in which the function is going to run. Eg. "nodejs8", "nodejs10", "python37", "go111".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#runtime CloudfunctionsFunction#runtime}

---

##### `availableMemoryMb`<sup>Optional</sup> <a name="availableMemoryMb" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.availableMemoryMb"></a>

```typescript
public readonly availableMemoryMb: number;
```

- *Type:* number

Memory (in MB), available to the function. Default value is 256. Possible values include 128, 256, 512, 1024, etc.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#available_memory_mb CloudfunctionsFunction#available_memory_mb}

---

##### `buildEnvironmentVariables`<sup>Optional</sup> <a name="buildEnvironmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.buildEnvironmentVariables"></a>

```typescript
public readonly buildEnvironmentVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value environment variable pairs available during build time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#build_environment_variables CloudfunctionsFunction#build_environment_variables}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#description CloudfunctionsFunction#description}

---

##### `dockerRegistry`<sup>Optional</sup> <a name="dockerRegistry" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.dockerRegistry"></a>

```typescript
public readonly dockerRegistry: string;
```

- *Type:* string

Docker Registry to use for storing the function's Docker images. Allowed values are CONTAINER_REGISTRY (default) and ARTIFACT_REGISTRY.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#docker_registry CloudfunctionsFunction#docker_registry}

---

##### `dockerRepository`<sup>Optional</sup> <a name="dockerRepository" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.dockerRepository"></a>

```typescript
public readonly dockerRepository: string;
```

- *Type:* string

User managed repository created in Artifact Registry optionally with a customer managed encryption key.

If specified, deployments will use Artifact Registry for storing images built with Cloud Build.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#docker_repository CloudfunctionsFunction#docker_repository}

---

##### `entryPoint`<sup>Optional</sup> <a name="entryPoint" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.entryPoint"></a>

```typescript
public readonly entryPoint: string;
```

- *Type:* string

Name of the function that will be executed when the Google Cloud Function is triggered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#entry_point CloudfunctionsFunction#entry_point}

---

##### `environmentVariables`<sup>Optional</sup> <a name="environmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.environmentVariables"></a>

```typescript
public readonly environmentVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value environment variable pairs to assign to the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#environment_variables CloudfunctionsFunction#environment_variables}

---

##### `eventTrigger`<sup>Optional</sup> <a name="eventTrigger" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.eventTrigger"></a>

```typescript
public readonly eventTrigger: CloudfunctionsFunctionEventTrigger;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger">CloudfunctionsFunctionEventTrigger</a>

event_trigger block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#event_trigger CloudfunctionsFunction#event_trigger}

---

##### `httpsTriggerSecurityLevel`<sup>Optional</sup> <a name="httpsTriggerSecurityLevel" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.httpsTriggerSecurityLevel"></a>

```typescript
public readonly httpsTriggerSecurityLevel: string;
```

- *Type:* string

The security level for the function. Defaults to SECURE_OPTIONAL. Valid only if trigger_http is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#https_trigger_security_level CloudfunctionsFunction#https_trigger_security_level}

---

##### `httpsTriggerUrl`<sup>Optional</sup> <a name="httpsTriggerUrl" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.httpsTriggerUrl"></a>

```typescript
public readonly httpsTriggerUrl: string;
```

- *Type:* string

URL which triggers function execution. Returned only if trigger_http is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#https_trigger_url CloudfunctionsFunction#https_trigger_url}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#id CloudfunctionsFunction#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ingressSettings`<sup>Optional</sup> <a name="ingressSettings" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.ingressSettings"></a>

```typescript
public readonly ingressSettings: string;
```

- *Type:* string

String value that controls what traffic can reach the function.

Allowed values are ALLOW_ALL and ALLOW_INTERNAL_ONLY. Changes to this field will recreate the cloud function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#ingress_settings CloudfunctionsFunction#ingress_settings}

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#kms_key_name CloudfunctionsFunction#kms_key_name}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to the function. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#labels CloudfunctionsFunction#labels}

---

##### `maxInstances`<sup>Optional</sup> <a name="maxInstances" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.maxInstances"></a>

```typescript
public readonly maxInstances: number;
```

- *Type:* number

The limit on the maximum number of function instances that may coexist at a given time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#max_instances CloudfunctionsFunction#max_instances}

---

##### `minInstances`<sup>Optional</sup> <a name="minInstances" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.minInstances"></a>

```typescript
public readonly minInstances: number;
```

- *Type:* number

The limit on the minimum number of function instances that may coexist at a given time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#min_instances CloudfunctionsFunction#min_instances}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Project of the function. If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#project CloudfunctionsFunction#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region of function. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#region CloudfunctionsFunction#region}

---

##### `secretEnvironmentVariables`<sup>Optional</sup> <a name="secretEnvironmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.secretEnvironmentVariables"></a>

```typescript
public readonly secretEnvironmentVariables: IResolvable | CloudfunctionsFunctionSecretEnvironmentVariables[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables">CloudfunctionsFunctionSecretEnvironmentVariables</a>[]

secret_environment_variables block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#secret_environment_variables CloudfunctionsFunction#secret_environment_variables}

---

##### `secretVolumes`<sup>Optional</sup> <a name="secretVolumes" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.secretVolumes"></a>

```typescript
public readonly secretVolumes: IResolvable | CloudfunctionsFunctionSecretVolumes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes">CloudfunctionsFunctionSecretVolumes</a>[]

secret_volumes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#secret_volumes CloudfunctionsFunction#secret_volumes}

---

##### `serviceAccountEmail`<sup>Optional</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

If provided, the self-provided service account to run the function with.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#service_account_email CloudfunctionsFunction#service_account_email}

---

##### `sourceArchiveBucket`<sup>Optional</sup> <a name="sourceArchiveBucket" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.sourceArchiveBucket"></a>

```typescript
public readonly sourceArchiveBucket: string;
```

- *Type:* string

The GCS bucket containing the zip archive which contains the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#source_archive_bucket CloudfunctionsFunction#source_archive_bucket}

---

##### `sourceArchiveObject`<sup>Optional</sup> <a name="sourceArchiveObject" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.sourceArchiveObject"></a>

```typescript
public readonly sourceArchiveObject: string;
```

- *Type:* string

The source archive object (file) in archive bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#source_archive_object CloudfunctionsFunction#source_archive_object}

---

##### `sourceRepository`<sup>Optional</sup> <a name="sourceRepository" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.sourceRepository"></a>

```typescript
public readonly sourceRepository: CloudfunctionsFunctionSourceRepository;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSourceRepository">CloudfunctionsFunctionSourceRepository</a>

source_repository block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#source_repository CloudfunctionsFunction#source_repository}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.timeout"></a>

```typescript
public readonly timeout: number;
```

- *Type:* number

Timeout (in seconds) for the function. Default value is 60 seconds. Cannot be more than 540 seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#timeout CloudfunctionsFunction#timeout}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudfunctionsFunctionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeouts">CloudfunctionsFunctionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#timeouts CloudfunctionsFunction#timeouts}

---

##### `triggerHttp`<sup>Optional</sup> <a name="triggerHttp" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.triggerHttp"></a>

```typescript
public readonly triggerHttp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Boolean variable.

Any HTTP request (of a supported type) to the endpoint will trigger function execution. Supported HTTP request types are: POST, PUT, GET, DELETE, and OPTIONS. Endpoint is returned as https_trigger_url. Cannot be used with trigger_bucket and trigger_topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#trigger_http CloudfunctionsFunction#trigger_http}

---

##### `vpcConnector`<sup>Optional</sup> <a name="vpcConnector" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.vpcConnector"></a>

```typescript
public readonly vpcConnector: string;
```

- *Type:* string

The VPC Network Connector that this cloud function can connect to.

It can be either the fully-qualified URI, or the short name of the network connector resource. The format of this field is projects/*\/locations/*\/connectors/*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#vpc_connector CloudfunctionsFunction#vpc_connector}

---

##### `vpcConnectorEgressSettings`<sup>Optional</sup> <a name="vpcConnectorEgressSettings" id="@dschmidt/provider-google.CloudfunctionsFunctionConfig.property.vpcConnectorEgressSettings"></a>

```typescript
public readonly vpcConnectorEgressSettings: string;
```

- *Type:* string

The egress settings for the connector, controlling what traffic is diverted through it.

Allowed values are ALL_TRAFFIC and PRIVATE_RANGES_ONLY. Defaults to PRIVATE_RANGES_ONLY. If unset, this field preserves the previously set value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#vpc_connector_egress_settings CloudfunctionsFunction#vpc_connector_egress_settings}

---

### CloudfunctionsFunctionEventTrigger <a name="CloudfunctionsFunctionEventTrigger" id="@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger.Initializer"></a>

```typescript
import { CloudfunctionsFunctionEventTrigger } from '@dschmidt/provider-google'

const cloudfunctionsFunctionEventTrigger: CloudfunctionsFunctionEventTrigger = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger.property.eventType">eventType</a></code> | <code>string</code> | The type of event to observe. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger.property.resource">resource</a></code> | <code>string</code> | The name or partial URI of the resource from which to observe events. For example, "myBucket" or "projects/my-project/topics/my-topic". |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger.property.failurePolicy">failurePolicy</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTriggerFailurePolicy">CloudfunctionsFunctionEventTriggerFailurePolicy</a></code> | failure_policy block. |

---

##### `eventType`<sup>Required</sup> <a name="eventType" id="@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger.property.eventType"></a>

```typescript
public readonly eventType: string;
```

- *Type:* string

The type of event to observe.

For example: "google.storage.object.finalize". See the documentation on calling Cloud Functions for a full reference of accepted triggers.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#event_type CloudfunctionsFunction#event_type}

---

##### `resource`<sup>Required</sup> <a name="resource" id="@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

The name or partial URI of the resource from which to observe events. For example, "myBucket" or "projects/my-project/topics/my-topic".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#resource CloudfunctionsFunction#resource}

---

##### `failurePolicy`<sup>Optional</sup> <a name="failurePolicy" id="@dschmidt/provider-google.CloudfunctionsFunctionEventTrigger.property.failurePolicy"></a>

```typescript
public readonly failurePolicy: CloudfunctionsFunctionEventTriggerFailurePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTriggerFailurePolicy">CloudfunctionsFunctionEventTriggerFailurePolicy</a>

failure_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#failure_policy CloudfunctionsFunction#failure_policy}

---

### CloudfunctionsFunctionEventTriggerFailurePolicy <a name="CloudfunctionsFunctionEventTriggerFailurePolicy" id="@dschmidt/provider-google.CloudfunctionsFunctionEventTriggerFailurePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionEventTriggerFailurePolicy.Initializer"></a>

```typescript
import { CloudfunctionsFunctionEventTriggerFailurePolicy } from '@dschmidt/provider-google'

const cloudfunctionsFunctionEventTriggerFailurePolicy: CloudfunctionsFunctionEventTriggerFailurePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionEventTriggerFailurePolicy.property.retry">retry</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the function should be retried on failure. Defaults to false. |

---

##### `retry`<sup>Required</sup> <a name="retry" id="@dschmidt/provider-google.CloudfunctionsFunctionEventTriggerFailurePolicy.property.retry"></a>

```typescript
public readonly retry: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the function should be retried on failure. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#retry CloudfunctionsFunction#retry}

---

### CloudfunctionsFunctionIamBindingCondition <a name="CloudfunctionsFunctionIamBindingCondition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition.Initializer"></a>

```typescript
import { CloudfunctionsFunctionIamBindingCondition } from '@dschmidt/provider-google'

const cloudfunctionsFunctionIamBindingCondition: CloudfunctionsFunctionIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#expression CloudfunctionsFunctionIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#title CloudfunctionsFunctionIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#description CloudfunctionsFunctionIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#expression CloudfunctionsFunctionIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#title CloudfunctionsFunctionIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#description CloudfunctionsFunctionIamBinding#description}.

---

### CloudfunctionsFunctionIamBindingConfig <a name="CloudfunctionsFunctionIamBindingConfig" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.Initializer"></a>

```typescript
import { CloudfunctionsFunctionIamBindingConfig } from '@dschmidt/provider-google'

const cloudfunctionsFunctionIamBindingConfig: CloudfunctionsFunctionIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#cloud_function CloudfunctionsFunctionIamBinding#cloud_function}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#members CloudfunctionsFunctionIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#role CloudfunctionsFunctionIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition">CloudfunctionsFunctionIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#id CloudfunctionsFunctionIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#project CloudfunctionsFunctionIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#region CloudfunctionsFunctionIamBinding#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#cloud_function CloudfunctionsFunctionIamBinding#cloud_function}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#members CloudfunctionsFunctionIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#role CloudfunctionsFunctionIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: CloudfunctionsFunctionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamBindingCondition">CloudfunctionsFunctionIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#condition CloudfunctionsFunctionIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#id CloudfunctionsFunctionIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#project CloudfunctionsFunctionIamBinding#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.CloudfunctionsFunctionIamBindingConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_binding#region CloudfunctionsFunctionIamBinding#region}.

---

### CloudfunctionsFunctionIamMemberCondition <a name="CloudfunctionsFunctionIamMemberCondition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition.Initializer"></a>

```typescript
import { CloudfunctionsFunctionIamMemberCondition } from '@dschmidt/provider-google'

const cloudfunctionsFunctionIamMemberCondition: CloudfunctionsFunctionIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#expression CloudfunctionsFunctionIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#title CloudfunctionsFunctionIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#description CloudfunctionsFunctionIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#expression CloudfunctionsFunctionIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#title CloudfunctionsFunctionIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#description CloudfunctionsFunctionIamMember#description}.

---

### CloudfunctionsFunctionIamMemberConfig <a name="CloudfunctionsFunctionIamMemberConfig" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.Initializer"></a>

```typescript
import { CloudfunctionsFunctionIamMemberConfig } from '@dschmidt/provider-google'

const cloudfunctionsFunctionIamMemberConfig: CloudfunctionsFunctionIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#cloud_function CloudfunctionsFunctionIamMember#cloud_function}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#member CloudfunctionsFunctionIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#role CloudfunctionsFunctionIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition">CloudfunctionsFunctionIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#id CloudfunctionsFunctionIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#project CloudfunctionsFunctionIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#region CloudfunctionsFunctionIamMember#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#cloud_function CloudfunctionsFunctionIamMember#cloud_function}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#member CloudfunctionsFunctionIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#role CloudfunctionsFunctionIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: CloudfunctionsFunctionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamMemberCondition">CloudfunctionsFunctionIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#condition CloudfunctionsFunctionIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#id CloudfunctionsFunctionIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#project CloudfunctionsFunctionIamMember#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.CloudfunctionsFunctionIamMemberConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_member#region CloudfunctionsFunctionIamMember#region}.

---

### CloudfunctionsFunctionIamPolicyConfig <a name="CloudfunctionsFunctionIamPolicyConfig" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.Initializer"></a>

```typescript
import { CloudfunctionsFunctionIamPolicyConfig } from '@dschmidt/provider-google'

const cloudfunctionsFunctionIamPolicyConfig: CloudfunctionsFunctionIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#cloud_function CloudfunctionsFunctionIamPolicy#cloud_function}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#policy_data CloudfunctionsFunctionIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#id CloudfunctionsFunctionIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#project CloudfunctionsFunctionIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#region CloudfunctionsFunctionIamPolicy#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cloudFunction`<sup>Required</sup> <a name="cloudFunction" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#cloud_function CloudfunctionsFunctionIamPolicy#cloud_function}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#policy_data CloudfunctionsFunctionIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#id CloudfunctionsFunctionIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#project CloudfunctionsFunctionIamPolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.CloudfunctionsFunctionIamPolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function_iam_policy#region CloudfunctionsFunctionIamPolicy#region}.

---

### CloudfunctionsFunctionSecretEnvironmentVariables <a name="CloudfunctionsFunctionSecretEnvironmentVariables" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables.Initializer"></a>

```typescript
import { CloudfunctionsFunctionSecretEnvironmentVariables } from '@dschmidt/provider-google'

const cloudfunctionsFunctionSecretEnvironmentVariables: CloudfunctionsFunctionSecretEnvironmentVariables = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables.property.key">key</a></code> | <code>string</code> | Name of the environment variable. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables.property.secret">secret</a></code> | <code>string</code> | ID of the secret in secret manager (not the full resource name). |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables.property.version">version</a></code> | <code>string</code> | Version of the secret (version number or the string "latest"). |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables.property.projectId">projectId</a></code> | <code>string</code> | Project identifier (due to a known limitation, only project number is supported by this field) of the project that contains the secret. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Name of the environment variable.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#key CloudfunctionsFunction#key}

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

ID of the secret in secret manager (not the full resource name).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#secret CloudfunctionsFunction#secret}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

Version of the secret (version number or the string "latest").

It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new clones start.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#version CloudfunctionsFunction#version}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretEnvironmentVariables.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

Project identifier (due to a known limitation, only project number is supported by this field) of the project that contains the secret.

If not set, it will be populated with the function's project, assuming that the secret exists in the same project as of the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#project_id CloudfunctionsFunction#project_id}

---

### CloudfunctionsFunctionSecretVolumes <a name="CloudfunctionsFunctionSecretVolumes" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes.Initializer"></a>

```typescript
import { CloudfunctionsFunctionSecretVolumes } from '@dschmidt/provider-google'

const cloudfunctionsFunctionSecretVolumes: CloudfunctionsFunctionSecretVolumes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes.property.mountPath">mountPath</a></code> | <code>string</code> | The path within the container to mount the secret volume. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes.property.secret">secret</a></code> | <code>string</code> | ID of the secret in secret manager (not the full resource name). |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes.property.projectId">projectId</a></code> | <code>string</code> | Project identifier (due to a known limitation, only project number is supported by this field) of the project that contains the secret. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes.property.versions">versions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesVersions">CloudfunctionsFunctionSecretVolumesVersions</a>[]</code> | versions block. |

---

##### `mountPath`<sup>Required</sup> <a name="mountPath" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes.property.mountPath"></a>

```typescript
public readonly mountPath: string;
```

- *Type:* string

The path within the container to mount the secret volume.

For example, setting the mount_path as "/etc/secrets" would mount the secret value files under the "/etc/secrets" directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount paths: "/etc/secrets" Restricted mount paths: "/cloudsql", "/dev/log", "/pod", "/proc", "/var/log".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#mount_path CloudfunctionsFunction#mount_path}

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

ID of the secret in secret manager (not the full resource name).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#secret CloudfunctionsFunction#secret}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

Project identifier (due to a known limitation, only project number is supported by this field) of the project that contains the secret.

If not set, it will be populated with the function's project, assuming that the secret exists in the same project as of the function.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#project_id CloudfunctionsFunction#project_id}

---

##### `versions`<sup>Optional</sup> <a name="versions" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumes.property.versions"></a>

```typescript
public readonly versions: IResolvable | CloudfunctionsFunctionSecretVolumesVersions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesVersions">CloudfunctionsFunctionSecretVolumesVersions</a>[]

versions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#versions CloudfunctionsFunction#versions}

---

### CloudfunctionsFunctionSecretVolumesVersions <a name="CloudfunctionsFunctionSecretVolumesVersions" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesVersions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesVersions.Initializer"></a>

```typescript
import { CloudfunctionsFunctionSecretVolumesVersions } from '@dschmidt/provider-google'

const cloudfunctionsFunctionSecretVolumesVersions: CloudfunctionsFunctionSecretVolumesVersions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesVersions.property.path">path</a></code> | <code>string</code> | Relative path of the file under the mount path where the secret value for this version will be fetched and made available. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesVersions.property.version">version</a></code> | <code>string</code> | Version of the secret (version number or the string "latest"). |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesVersions.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Relative path of the file under the mount path where the secret value for this version will be fetched and made available.

For example, setting the mount_path as "/etc/secrets" and path as "/secret_foo" would mount the secret value file at "/etc/secrets/secret_foo".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#path CloudfunctionsFunction#path}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.CloudfunctionsFunctionSecretVolumesVersions.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

Version of the secret (version number or the string "latest").

It is preferable to use "latest" version with secret volumes as secret value changes are reflected immediately.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#version CloudfunctionsFunction#version}

---

### CloudfunctionsFunctionSourceRepository <a name="CloudfunctionsFunctionSourceRepository" id="@dschmidt/provider-google.CloudfunctionsFunctionSourceRepository"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionSourceRepository.Initializer"></a>

```typescript
import { CloudfunctionsFunctionSourceRepository } from '@dschmidt/provider-google'

const cloudfunctionsFunctionSourceRepository: CloudfunctionsFunctionSourceRepository = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionSourceRepository.property.url">url</a></code> | <code>string</code> | The URL pointing to the hosted repository where the function is defined. |

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.CloudfunctionsFunctionSourceRepository.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

The URL pointing to the hosted repository where the function is defined.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#url CloudfunctionsFunction#url}

---

### CloudfunctionsFunctionTimeouts <a name="CloudfunctionsFunctionTimeouts" id="@dschmidt/provider-google.CloudfunctionsFunctionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudfunctionsFunctionTimeouts.Initializer"></a>

```typescript
import { CloudfunctionsFunctionTimeouts } from '@dschmidt/provider-google'

const cloudfunctionsFunctionTimeouts: CloudfunctionsFunctionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#create CloudfunctionsFunction#create}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#delete CloudfunctionsFunction#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#read CloudfunctionsFunction#read}. |
| <code><a href="#@dschmidt/provider-google.CloudfunctionsFunctionTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#update CloudfunctionsFunction#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudfunctionsFunctionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#create CloudfunctionsFunction#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudfunctionsFunctionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#delete CloudfunctionsFunction#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.CloudfunctionsFunctionTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#read CloudfunctionsFunction#read}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudfunctionsFunctionTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudfunctions_function#update CloudfunctionsFunction#update}.

---

### CloudIdentityGroupConfig <a name="CloudIdentityGroupConfig" id="@dschmidt/provider-google.CloudIdentityGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudIdentityGroupConfig.Initializer"></a>

```typescript
import { CloudIdentityGroupConfig } from '@dschmidt/provider-google'

const cloudIdentityGroupConfig: CloudIdentityGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.groupKey">groupKey</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupGroupKey">CloudIdentityGroupGroupKey</a></code> | group_key block. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The labels that apply to the Group. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.parent">parent</a></code> | <code>string</code> | The resource name of the entity under which this Group resides in the Cloud Identity resource hierarchy. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.description">description</a></code> | <code>string</code> | An extended description to help users determine the purpose of a Group. Must not be longer than 4,096 characters. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.displayName">displayName</a></code> | <code>string</code> | The display name of the Group. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#id CloudIdentityGroup#id}. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.initialGroupConfig">initialGroupConfig</a></code> | <code>string</code> | The initial configuration options for creating a Group. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupTimeouts">CloudIdentityGroupTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `groupKey`<sup>Required</sup> <a name="groupKey" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.groupKey"></a>

```typescript
public readonly groupKey: CloudIdentityGroupGroupKey;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupGroupKey">CloudIdentityGroupGroupKey</a>

group_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#group_key CloudIdentityGroup#group_key}

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The labels that apply to the Group.

Must not contain more than one entry. Must contain the entry
'cloudidentity.googleapis.com/groups.discussion_forum': '' if the Group is a Google Group or
'system/groups/external': '' if the Group is an external-identity-mapped group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#labels CloudIdentityGroup#labels}

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The resource name of the entity under which this Group resides in the Cloud Identity resource hierarchy.

Must be of the form identitysources/{identity_source_id} for external-identity-mapped
groups or customers/{customer_id} for Google Groups.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#parent CloudIdentityGroup#parent}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An extended description to help users determine the purpose of a Group. Must not be longer than 4,096 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#description CloudIdentityGroup#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The display name of the Group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#display_name CloudIdentityGroup#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#id CloudIdentityGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `initialGroupConfig`<sup>Optional</sup> <a name="initialGroupConfig" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.initialGroupConfig"></a>

```typescript
public readonly initialGroupConfig: string;
```

- *Type:* string

The initial configuration options for creating a Group.

See the
[API reference](https://cloud.google.com/identity/docs/reference/rest/v1beta1/groups/create#initialgroupconfig)
for possible values. Default value: "EMPTY" Possible values: ["INITIAL_GROUP_CONFIG_UNSPECIFIED", "WITH_INITIAL_OWNER", "EMPTY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#initial_group_config CloudIdentityGroup#initial_group_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudIdentityGroupConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudIdentityGroupTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupTimeouts">CloudIdentityGroupTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#timeouts CloudIdentityGroup#timeouts}

---

### CloudIdentityGroupGroupKey <a name="CloudIdentityGroupGroupKey" id="@dschmidt/provider-google.CloudIdentityGroupGroupKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudIdentityGroupGroupKey.Initializer"></a>

```typescript
import { CloudIdentityGroupGroupKey } from '@dschmidt/provider-google'

const cloudIdentityGroupGroupKey: CloudIdentityGroupGroupKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupGroupKey.property.id">id</a></code> | <code>string</code> | The ID of the entity. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupGroupKey.property.namespace">namespace</a></code> | <code>string</code> | The namespace in which the entity exists. |

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudIdentityGroupGroupKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

The ID of the entity.

For Google-managed entities, the id must be the email address of an existing
group or user.

For external-identity-mapped entities, the id must be a string conforming
to the Identity Source's requirements.

Must be unique within a namespace.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#id CloudIdentityGroup#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `namespace`<sup>Optional</sup> <a name="namespace" id="@dschmidt/provider-google.CloudIdentityGroupGroupKey.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

The namespace in which the entity exists.

If not specified, the EntityKey represents a Google-managed entity
such as a Google user or a Google Group.

If specified, the EntityKey represents an external-identity-mapped group.
The namespace must correspond to an identity source created in Admin Console
and must be in the form of 'identitysources/{identity_source_id}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#namespace CloudIdentityGroup#namespace}

---

### CloudIdentityGroupMembershipConfig <a name="CloudIdentityGroupMembershipConfig" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.Initializer"></a>

```typescript
import { CloudIdentityGroupMembershipConfig } from '@dschmidt/provider-google'

const cloudIdentityGroupMembershipConfig: CloudIdentityGroupMembershipConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.group">group</a></code> | <code>string</code> | The name of the Group to create this membership in. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.roles">roles</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipRoles">CloudIdentityGroupMembershipRoles</a>[]</code> | roles block. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#id CloudIdentityGroupMembership#id}. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.preferredMemberKey">preferredMemberKey</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey">CloudIdentityGroupMembershipPreferredMemberKey</a></code> | preferred_member_key block. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts">CloudIdentityGroupMembershipTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `group`<sup>Required</sup> <a name="group" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.group"></a>

```typescript
public readonly group: string;
```

- *Type:* string

The name of the Group to create this membership in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#group CloudIdentityGroupMembership#group}

---

##### `roles`<sup>Required</sup> <a name="roles" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.roles"></a>

```typescript
public readonly roles: IResolvable | CloudIdentityGroupMembershipRoles[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipRoles">CloudIdentityGroupMembershipRoles</a>[]

roles block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#roles CloudIdentityGroupMembership#roles}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#id CloudIdentityGroupMembership#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `preferredMemberKey`<sup>Optional</sup> <a name="preferredMemberKey" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.preferredMemberKey"></a>

```typescript
public readonly preferredMemberKey: CloudIdentityGroupMembershipPreferredMemberKey;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey">CloudIdentityGroupMembershipPreferredMemberKey</a>

preferred_member_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#preferred_member_key CloudIdentityGroupMembership#preferred_member_key}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudIdentityGroupMembershipConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudIdentityGroupMembershipTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts">CloudIdentityGroupMembershipTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#timeouts CloudIdentityGroupMembership#timeouts}

---

### CloudIdentityGroupMembershipPreferredMemberKey <a name="CloudIdentityGroupMembershipPreferredMemberKey" id="@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey.Initializer"></a>

```typescript
import { CloudIdentityGroupMembershipPreferredMemberKey } from '@dschmidt/provider-google'

const cloudIdentityGroupMembershipPreferredMemberKey: CloudIdentityGroupMembershipPreferredMemberKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey.property.id">id</a></code> | <code>string</code> | The ID of the entity. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey.property.namespace">namespace</a></code> | <code>string</code> | The namespace in which the entity exists. |

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

The ID of the entity.

For Google-managed entities, the id must be the email address of an existing
group or user.

For external-identity-mapped entities, the id must be a string conforming
to the Identity Source's requirements.

Must be unique within a namespace.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#id CloudIdentityGroupMembership#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `namespace`<sup>Optional</sup> <a name="namespace" id="@dschmidt/provider-google.CloudIdentityGroupMembershipPreferredMemberKey.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

The namespace in which the entity exists.

If not specified, the EntityKey represents a Google-managed entity
such as a Google user or a Google Group.

If specified, the EntityKey represents an external-identity-mapped group.
The namespace must correspond to an identity source created in Admin Console
and must be in the form of 'identitysources/{identity_source_id}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#namespace CloudIdentityGroupMembership#namespace}

---

### CloudIdentityGroupMembershipRoles <a name="CloudIdentityGroupMembershipRoles" id="@dschmidt/provider-google.CloudIdentityGroupMembershipRoles"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudIdentityGroupMembershipRoles.Initializer"></a>

```typescript
import { CloudIdentityGroupMembershipRoles } from '@dschmidt/provider-google'

const cloudIdentityGroupMembershipRoles: CloudIdentityGroupMembershipRoles = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipRoles.property.name">name</a></code> | <code>string</code> | The name of the MembershipRole. Must be one of OWNER, MANAGER, MEMBER. Possible values: ["OWNER", "MANAGER", "MEMBER"]. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudIdentityGroupMembershipRoles.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the MembershipRole. Must be one of OWNER, MANAGER, MEMBER. Possible values: ["OWNER", "MANAGER", "MEMBER"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#name CloudIdentityGroupMembership#name}

---

### CloudIdentityGroupMembershipTimeouts <a name="CloudIdentityGroupMembershipTimeouts" id="@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts.Initializer"></a>

```typescript
import { CloudIdentityGroupMembershipTimeouts } from '@dschmidt/provider-google'

const cloudIdentityGroupMembershipTimeouts: CloudIdentityGroupMembershipTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#create CloudIdentityGroupMembership#create}. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#delete CloudIdentityGroupMembership#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#update CloudIdentityGroupMembership#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#create CloudIdentityGroupMembership#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#delete CloudIdentityGroupMembership#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudIdentityGroupMembershipTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group_membership#update CloudIdentityGroupMembership#update}.

---

### CloudIdentityGroupTimeouts <a name="CloudIdentityGroupTimeouts" id="@dschmidt/provider-google.CloudIdentityGroupTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudIdentityGroupTimeouts.Initializer"></a>

```typescript
import { CloudIdentityGroupTimeouts } from '@dschmidt/provider-google'

const cloudIdentityGroupTimeouts: CloudIdentityGroupTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#create CloudIdentityGroup#create}. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#delete CloudIdentityGroup#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudIdentityGroupTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#update CloudIdentityGroup#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudIdentityGroupTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#create CloudIdentityGroup#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudIdentityGroupTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#delete CloudIdentityGroup#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudIdentityGroupTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_identity_group#update CloudIdentityGroup#update}.

---

### CloudiotDeviceConfig <a name="CloudiotDeviceConfig" id="@dschmidt/provider-google.CloudiotDeviceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotDeviceConfig.Initializer"></a>

```typescript
import { CloudiotDeviceConfig } from '@dschmidt/provider-google'

const cloudiotDeviceConfig: CloudiotDeviceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.name">name</a></code> | <code>string</code> | A unique name for the resource. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.registry">registry</a></code> | <code>string</code> | The name of the device registry where this device should be created. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.blocked">blocked</a></code> | <code>boolean \| cdktf.IResolvable</code> | If a device is blocked, connections or requests from this device will fail. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.credentials">credentials</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudiotDeviceCredentials">CloudiotDeviceCredentials</a>[]</code> | credentials block. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.gatewayConfig">gatewayConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceGatewayConfig">CloudiotDeviceGatewayConfig</a></code> | gateway_config block. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#id CloudiotDevice#id}. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.logLevel">logLevel</a></code> | <code>string</code> | The logging verbosity for device activity. Possible values: ["NONE", "ERROR", "INFO", "DEBUG"]. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | The metadata key-value pairs assigned to the device. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceTimeouts">CloudiotDeviceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A unique name for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#name CloudiotDevice#name}

---

##### `registry`<sup>Required</sup> <a name="registry" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.registry"></a>

```typescript
public readonly registry: string;
```

- *Type:* string

The name of the device registry where this device should be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#registry CloudiotDevice#registry}

---

##### `blocked`<sup>Optional</sup> <a name="blocked" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.blocked"></a>

```typescript
public readonly blocked: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If a device is blocked, connections or requests from this device will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#blocked CloudiotDevice#blocked}

---

##### `credentials`<sup>Optional</sup> <a name="credentials" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.credentials"></a>

```typescript
public readonly credentials: IResolvable | CloudiotDeviceCredentials[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotDeviceCredentials">CloudiotDeviceCredentials</a>[]

credentials block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#credentials CloudiotDevice#credentials}

---

##### `gatewayConfig`<sup>Optional</sup> <a name="gatewayConfig" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.gatewayConfig"></a>

```typescript
public readonly gatewayConfig: CloudiotDeviceGatewayConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceGatewayConfig">CloudiotDeviceGatewayConfig</a>

gateway_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#gateway_config CloudiotDevice#gateway_config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#id CloudiotDevice#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `logLevel`<sup>Optional</sup> <a name="logLevel" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.logLevel"></a>

```typescript
public readonly logLevel: string;
```

- *Type:* string

The logging verbosity for device activity. Possible values: ["NONE", "ERROR", "INFO", "DEBUG"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#log_level CloudiotDevice#log_level}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The metadata key-value pairs assigned to the device.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#metadata CloudiotDevice#metadata}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudiotDeviceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudiotDeviceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceTimeouts">CloudiotDeviceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#timeouts CloudiotDevice#timeouts}

---

### CloudiotDeviceConfigA <a name="CloudiotDeviceConfigA" id="@dschmidt/provider-google.CloudiotDeviceConfigA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotDeviceConfigA.Initializer"></a>

```typescript
import { CloudiotDeviceConfigA } from '@dschmidt/provider-google'

const cloudiotDeviceConfigA: CloudiotDeviceConfigA = { ... }
```


### CloudiotDeviceCredentials <a name="CloudiotDeviceCredentials" id="@dschmidt/provider-google.CloudiotDeviceCredentials"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotDeviceCredentials.Initializer"></a>

```typescript
import { CloudiotDeviceCredentials } from '@dschmidt/provider-google'

const cloudiotDeviceCredentials: CloudiotDeviceCredentials = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceCredentials.property.publicKey">publicKey</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotDeviceCredentialsPublicKey">CloudiotDeviceCredentialsPublicKey</a></code> | public_key block. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceCredentials.property.expirationTime">expirationTime</a></code> | <code>string</code> | The time at which this credential becomes invalid. |

---

##### `publicKey`<sup>Required</sup> <a name="publicKey" id="@dschmidt/provider-google.CloudiotDeviceCredentials.property.publicKey"></a>

```typescript
public readonly publicKey: CloudiotDeviceCredentialsPublicKey;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotDeviceCredentialsPublicKey">CloudiotDeviceCredentialsPublicKey</a>

public_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#public_key CloudiotDevice#public_key}

---

##### `expirationTime`<sup>Optional</sup> <a name="expirationTime" id="@dschmidt/provider-google.CloudiotDeviceCredentials.property.expirationTime"></a>

```typescript
public readonly expirationTime: string;
```

- *Type:* string

The time at which this credential becomes invalid.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#expiration_time CloudiotDevice#expiration_time}

---

### CloudiotDeviceCredentialsPublicKey <a name="CloudiotDeviceCredentialsPublicKey" id="@dschmidt/provider-google.CloudiotDeviceCredentialsPublicKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotDeviceCredentialsPublicKey.Initializer"></a>

```typescript
import { CloudiotDeviceCredentialsPublicKey } from '@dschmidt/provider-google'

const cloudiotDeviceCredentialsPublicKey: CloudiotDeviceCredentialsPublicKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceCredentialsPublicKey.property.format">format</a></code> | <code>string</code> | The format of the key. Possible values: ["RSA_PEM", "RSA_X509_PEM", "ES256_PEM", "ES256_X509_PEM"]. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceCredentialsPublicKey.property.key">key</a></code> | <code>string</code> | The key data. |

---

##### `format`<sup>Required</sup> <a name="format" id="@dschmidt/provider-google.CloudiotDeviceCredentialsPublicKey.property.format"></a>

```typescript
public readonly format: string;
```

- *Type:* string

The format of the key. Possible values: ["RSA_PEM", "RSA_X509_PEM", "ES256_PEM", "ES256_X509_PEM"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#format CloudiotDevice#format}

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.CloudiotDeviceCredentialsPublicKey.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

The key data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#key CloudiotDevice#key}

---

### CloudiotDeviceGatewayConfig <a name="CloudiotDeviceGatewayConfig" id="@dschmidt/provider-google.CloudiotDeviceGatewayConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotDeviceGatewayConfig.Initializer"></a>

```typescript
import { CloudiotDeviceGatewayConfig } from '@dschmidt/provider-google'

const cloudiotDeviceGatewayConfig: CloudiotDeviceGatewayConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceGatewayConfig.property.gatewayAuthMethod">gatewayAuthMethod</a></code> | <code>string</code> | Indicates whether the device is a gateway. Possible values: ["ASSOCIATION_ONLY", "DEVICE_AUTH_TOKEN_ONLY", "ASSOCIATION_AND_DEVICE_AUTH_TOKEN"]. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceGatewayConfig.property.gatewayType">gatewayType</a></code> | <code>string</code> | Indicates whether the device is a gateway. Default value: "NON_GATEWAY" Possible values: ["GATEWAY", "NON_GATEWAY"]. |

---

##### `gatewayAuthMethod`<sup>Optional</sup> <a name="gatewayAuthMethod" id="@dschmidt/provider-google.CloudiotDeviceGatewayConfig.property.gatewayAuthMethod"></a>

```typescript
public readonly gatewayAuthMethod: string;
```

- *Type:* string

Indicates whether the device is a gateway. Possible values: ["ASSOCIATION_ONLY", "DEVICE_AUTH_TOKEN_ONLY", "ASSOCIATION_AND_DEVICE_AUTH_TOKEN"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#gateway_auth_method CloudiotDevice#gateway_auth_method}

---

##### `gatewayType`<sup>Optional</sup> <a name="gatewayType" id="@dschmidt/provider-google.CloudiotDeviceGatewayConfig.property.gatewayType"></a>

```typescript
public readonly gatewayType: string;
```

- *Type:* string

Indicates whether the device is a gateway. Default value: "NON_GATEWAY" Possible values: ["GATEWAY", "NON_GATEWAY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#gateway_type CloudiotDevice#gateway_type}

---

### CloudiotDeviceLastErrorStatus <a name="CloudiotDeviceLastErrorStatus" id="@dschmidt/provider-google.CloudiotDeviceLastErrorStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotDeviceLastErrorStatus.Initializer"></a>

```typescript
import { CloudiotDeviceLastErrorStatus } from '@dschmidt/provider-google'

const cloudiotDeviceLastErrorStatus: CloudiotDeviceLastErrorStatus = { ... }
```


### CloudiotDeviceState <a name="CloudiotDeviceState" id="@dschmidt/provider-google.CloudiotDeviceState"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotDeviceState.Initializer"></a>

```typescript
import { CloudiotDeviceState } from '@dschmidt/provider-google'

const cloudiotDeviceState: CloudiotDeviceState = { ... }
```


### CloudiotDeviceTimeouts <a name="CloudiotDeviceTimeouts" id="@dschmidt/provider-google.CloudiotDeviceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotDeviceTimeouts.Initializer"></a>

```typescript
import { CloudiotDeviceTimeouts } from '@dschmidt/provider-google'

const cloudiotDeviceTimeouts: CloudiotDeviceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#create CloudiotDevice#create}. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#delete CloudiotDevice#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudiotDeviceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#update CloudiotDevice#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudiotDeviceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#create CloudiotDevice#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudiotDeviceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#delete CloudiotDevice#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudiotDeviceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_device#update CloudiotDevice#update}.

---

### CloudiotRegistryConfig <a name="CloudiotRegistryConfig" id="@dschmidt/provider-google.CloudiotRegistryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotRegistryConfig.Initializer"></a>

```typescript
import { CloudiotRegistryConfig } from '@dschmidt/provider-google'

const cloudiotRegistryConfig: CloudiotRegistryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.name">name</a></code> | <code>string</code> | A unique name for the resource, required by device registry. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.credentials">credentials</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudiotRegistryCredentials">CloudiotRegistryCredentials</a>[]</code> | credentials block. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.eventNotificationConfigs">eventNotificationConfigs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs">CloudiotRegistryEventNotificationConfigs</a>[]</code> | event_notification_configs block. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.httpConfig">httpConfig</a></code> | <code>{[ key: string ]: string}</code> | Activate or deactivate HTTP. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#id CloudiotRegistry#id}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.logLevel">logLevel</a></code> | <code>string</code> | The default logging verbosity for activity from devices in this registry. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.mqttConfig">mqttConfig</a></code> | <code>{[ key: string ]: string}</code> | Activate or deactivate MQTT. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#project CloudiotRegistry#project}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.region">region</a></code> | <code>string</code> | The region in which the created registry should reside. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.stateNotificationConfig">stateNotificationConfig</a></code> | <code>{[ key: string ]: string}</code> | A PubSub topic to publish device state updates. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryTimeouts">CloudiotRegistryTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A unique name for the resource, required by device registry.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#name CloudiotRegistry#name}

---

##### `credentials`<sup>Optional</sup> <a name="credentials" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.credentials"></a>

```typescript
public readonly credentials: IResolvable | CloudiotRegistryCredentials[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotRegistryCredentials">CloudiotRegistryCredentials</a>[]

credentials block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#credentials CloudiotRegistry#credentials}

---

##### `eventNotificationConfigs`<sup>Optional</sup> <a name="eventNotificationConfigs" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.eventNotificationConfigs"></a>

```typescript
public readonly eventNotificationConfigs: IResolvable | CloudiotRegistryEventNotificationConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs">CloudiotRegistryEventNotificationConfigs</a>[]

event_notification_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#event_notification_configs CloudiotRegistry#event_notification_configs}

---

##### `httpConfig`<sup>Optional</sup> <a name="httpConfig" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.httpConfig"></a>

```typescript
public readonly httpConfig: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Activate or deactivate HTTP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#http_config CloudiotRegistry#http_config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#id CloudiotRegistry#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `logLevel`<sup>Optional</sup> <a name="logLevel" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.logLevel"></a>

```typescript
public readonly logLevel: string;
```

- *Type:* string

The default logging verbosity for activity from devices in this registry.

Specifies which events should be written to logs. For
example, if the LogLevel is ERROR, only events that terminate in
errors will be logged. LogLevel is inclusive; enabling INFO logging
will also enable ERROR logging. Default value: "NONE" Possible values: ["NONE", "ERROR", "INFO", "DEBUG"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#log_level CloudiotRegistry#log_level}

---

##### `mqttConfig`<sup>Optional</sup> <a name="mqttConfig" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.mqttConfig"></a>

```typescript
public readonly mqttConfig: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Activate or deactivate MQTT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#mqtt_config CloudiotRegistry#mqtt_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#project CloudiotRegistry#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region in which the created registry should reside. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#region CloudiotRegistry#region}

---

##### `stateNotificationConfig`<sup>Optional</sup> <a name="stateNotificationConfig" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.stateNotificationConfig"></a>

```typescript
public readonly stateNotificationConfig: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A PubSub topic to publish device state updates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#state_notification_config CloudiotRegistry#state_notification_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudiotRegistryConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudiotRegistryTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryTimeouts">CloudiotRegistryTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#timeouts CloudiotRegistry#timeouts}

---

### CloudiotRegistryCredentials <a name="CloudiotRegistryCredentials" id="@dschmidt/provider-google.CloudiotRegistryCredentials"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotRegistryCredentials.Initializer"></a>

```typescript
import { CloudiotRegistryCredentials } from '@dschmidt/provider-google'

const cloudiotRegistryCredentials: CloudiotRegistryCredentials = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryCredentials.property.publicKeyCertificate">publicKeyCertificate</a></code> | <code>{[ key: string ]: string}</code> | A public key certificate format and data. |

---

##### `publicKeyCertificate`<sup>Required</sup> <a name="publicKeyCertificate" id="@dschmidt/provider-google.CloudiotRegistryCredentials.property.publicKeyCertificate"></a>

```typescript
public readonly publicKeyCertificate: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A public key certificate format and data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#public_key_certificate CloudiotRegistry#public_key_certificate}

---

### CloudiotRegistryEventNotificationConfigs <a name="CloudiotRegistryEventNotificationConfigs" id="@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs.Initializer"></a>

```typescript
import { CloudiotRegistryEventNotificationConfigs } from '@dschmidt/provider-google'

const cloudiotRegistryEventNotificationConfigs: CloudiotRegistryEventNotificationConfigs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs.property.pubsubTopicName">pubsubTopicName</a></code> | <code>string</code> | PubSub topic name to publish device events. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs.property.subfolderMatches">subfolderMatches</a></code> | <code>string</code> | If the subfolder name matches this string exactly, this configuration will be used. |

---

##### `pubsubTopicName`<sup>Required</sup> <a name="pubsubTopicName" id="@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs.property.pubsubTopicName"></a>

```typescript
public readonly pubsubTopicName: string;
```

- *Type:* string

PubSub topic name to publish device events.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#pubsub_topic_name CloudiotRegistry#pubsub_topic_name}

---

##### `subfolderMatches`<sup>Optional</sup> <a name="subfolderMatches" id="@dschmidt/provider-google.CloudiotRegistryEventNotificationConfigs.property.subfolderMatches"></a>

```typescript
public readonly subfolderMatches: string;
```

- *Type:* string

If the subfolder name matches this string exactly, this configuration will be used.

The string must not include the
leading '/' character. If empty, all strings are matched. Empty
value can only be used for the last 'event_notification_configs'
item.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#subfolder_matches CloudiotRegistry#subfolder_matches}

---

### CloudiotRegistryIamBindingCondition <a name="CloudiotRegistryIamBindingCondition" id="@dschmidt/provider-google.CloudiotRegistryIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotRegistryIamBindingCondition.Initializer"></a>

```typescript
import { CloudiotRegistryIamBindingCondition } from '@dschmidt/provider-google'

const cloudiotRegistryIamBindingCondition: CloudiotRegistryIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#expression CloudiotRegistryIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#title CloudiotRegistryIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#description CloudiotRegistryIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudiotRegistryIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#expression CloudiotRegistryIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.CloudiotRegistryIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#title CloudiotRegistryIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudiotRegistryIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#description CloudiotRegistryIamBinding#description}.

---

### CloudiotRegistryIamBindingConfig <a name="CloudiotRegistryIamBindingConfig" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.Initializer"></a>

```typescript
import { CloudiotRegistryIamBindingConfig } from '@dschmidt/provider-google'

const cloudiotRegistryIamBindingConfig: CloudiotRegistryIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#members CloudiotRegistryIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#name CloudiotRegistryIamBinding#name}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#role CloudiotRegistryIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingCondition">CloudiotRegistryIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#id CloudiotRegistryIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#project CloudiotRegistryIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#region CloudiotRegistryIamBinding#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#members CloudiotRegistryIamBinding#members}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#name CloudiotRegistryIamBinding#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#role CloudiotRegistryIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: CloudiotRegistryIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamBindingCondition">CloudiotRegistryIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#condition CloudiotRegistryIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#id CloudiotRegistryIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#project CloudiotRegistryIamBinding#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.CloudiotRegistryIamBindingConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_binding#region CloudiotRegistryIamBinding#region}.

---

### CloudiotRegistryIamMemberCondition <a name="CloudiotRegistryIamMemberCondition" id="@dschmidt/provider-google.CloudiotRegistryIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotRegistryIamMemberCondition.Initializer"></a>

```typescript
import { CloudiotRegistryIamMemberCondition } from '@dschmidt/provider-google'

const cloudiotRegistryIamMemberCondition: CloudiotRegistryIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#expression CloudiotRegistryIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#title CloudiotRegistryIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#description CloudiotRegistryIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudiotRegistryIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#expression CloudiotRegistryIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.CloudiotRegistryIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#title CloudiotRegistryIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudiotRegistryIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#description CloudiotRegistryIamMember#description}.

---

### CloudiotRegistryIamMemberConfig <a name="CloudiotRegistryIamMemberConfig" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.Initializer"></a>

```typescript
import { CloudiotRegistryIamMemberConfig } from '@dschmidt/provider-google'

const cloudiotRegistryIamMemberConfig: CloudiotRegistryIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#member CloudiotRegistryIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#name CloudiotRegistryIamMember#name}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#role CloudiotRegistryIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberCondition">CloudiotRegistryIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#id CloudiotRegistryIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#project CloudiotRegistryIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#region CloudiotRegistryIamMember#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#member CloudiotRegistryIamMember#member}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#name CloudiotRegistryIamMember#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#role CloudiotRegistryIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: CloudiotRegistryIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudiotRegistryIamMemberCondition">CloudiotRegistryIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#condition CloudiotRegistryIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#id CloudiotRegistryIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#project CloudiotRegistryIamMember#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.CloudiotRegistryIamMemberConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_member#region CloudiotRegistryIamMember#region}.

---

### CloudiotRegistryIamPolicyConfig <a name="CloudiotRegistryIamPolicyConfig" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.Initializer"></a>

```typescript
import { CloudiotRegistryIamPolicyConfig } from '@dschmidt/provider-google'

const cloudiotRegistryIamPolicyConfig: CloudiotRegistryIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#name CloudiotRegistryIamPolicy#name}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#policy_data CloudiotRegistryIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#id CloudiotRegistryIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#project CloudiotRegistryIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#region CloudiotRegistryIamPolicy#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#name CloudiotRegistryIamPolicy#name}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#policy_data CloudiotRegistryIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#id CloudiotRegistryIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#project CloudiotRegistryIamPolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.CloudiotRegistryIamPolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry_iam_policy#region CloudiotRegistryIamPolicy#region}.

---

### CloudiotRegistryTimeouts <a name="CloudiotRegistryTimeouts" id="@dschmidt/provider-google.CloudiotRegistryTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudiotRegistryTimeouts.Initializer"></a>

```typescript
import { CloudiotRegistryTimeouts } from '@dschmidt/provider-google'

const cloudiotRegistryTimeouts: CloudiotRegistryTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#create CloudiotRegistry#create}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#delete CloudiotRegistry#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudiotRegistryTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#update CloudiotRegistry#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudiotRegistryTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#create CloudiotRegistry#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudiotRegistryTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#delete CloudiotRegistry#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudiotRegistryTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloudiot_registry#update CloudiotRegistry#update}.

---

### CloudRunDomainMappingConfig <a name="CloudRunDomainMappingConfig" id="@dschmidt/provider-google.CloudRunDomainMappingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.Initializer"></a>

```typescript
import { CloudRunDomainMappingConfig } from '@dschmidt/provider-google'

const cloudRunDomainMappingConfig: CloudRunDomainMappingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.location">location</a></code> | <code>string</code> | The location of the cloud run instance. eg us-central1. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.metadata">metadata</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadata">CloudRunDomainMappingMetadata</a></code> | metadata block. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.name">name</a></code> | <code>string</code> | Name should be a [verified](https://support.google.com/webmasters/answer/9008080) domain. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.spec">spec</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingSpec">CloudRunDomainMappingSpec</a></code> | spec block. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#id CloudRunDomainMapping#id}. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#project CloudRunDomainMapping#project}. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingTimeouts">CloudRunDomainMappingTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the cloud run instance. eg us-central1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#location CloudRunDomainMapping#location}

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.metadata"></a>

```typescript
public readonly metadata: CloudRunDomainMappingMetadata;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadata">CloudRunDomainMappingMetadata</a>

metadata block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#metadata CloudRunDomainMapping#metadata}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name should be a [verified](https://support.google.com/webmasters/answer/9008080) domain.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#name CloudRunDomainMapping#name}

---

##### `spec`<sup>Required</sup> <a name="spec" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.spec"></a>

```typescript
public readonly spec: CloudRunDomainMappingSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingSpec">CloudRunDomainMappingSpec</a>

spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#spec CloudRunDomainMapping#spec}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#id CloudRunDomainMapping#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#project CloudRunDomainMapping#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudRunDomainMappingConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudRunDomainMappingTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunDomainMappingTimeouts">CloudRunDomainMappingTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#timeouts CloudRunDomainMapping#timeouts}

---

### CloudRunDomainMappingMetadata <a name="CloudRunDomainMappingMetadata" id="@dschmidt/provider-google.CloudRunDomainMappingMetadata"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunDomainMappingMetadata.Initializer"></a>

```typescript
import { CloudRunDomainMappingMetadata } from '@dschmidt/provider-google'

const cloudRunDomainMappingMetadata: CloudRunDomainMappingMetadata = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadata.property.namespace">namespace</a></code> | <code>string</code> | In Cloud Run the namespace must be equal to either the project ID or project number. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadata.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingMetadata.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Map of string keys and values that can be used to organize and categorize (scope and select) objects. |

---

##### `namespace`<sup>Required</sup> <a name="namespace" id="@dschmidt/provider-google.CloudRunDomainMappingMetadata.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

In Cloud Run the namespace must be equal to either the project ID or project number.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#namespace CloudRunDomainMapping#namespace}

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.CloudRunDomainMappingMetadata.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.

More
info: http://kubernetes.io/docs/user-guide/annotations

*Note**: The Cloud Run API may add additional annotations that were not provided in your config.
If terraform plan shows a diff where a server-side annotation is added, you can add it to your config
or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#annotations CloudRunDomainMapping#annotations}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.CloudRunDomainMappingMetadata.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Map of string keys and values that can be used to organize and categorize (scope and select) objects.

May match selectors of replication controllers
and routes.
More info: http://kubernetes.io/docs/user-guide/labels

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#labels CloudRunDomainMapping#labels}

---

### CloudRunDomainMappingSpec <a name="CloudRunDomainMappingSpec" id="@dschmidt/provider-google.CloudRunDomainMappingSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunDomainMappingSpec.Initializer"></a>

```typescript
import { CloudRunDomainMappingSpec } from '@dschmidt/provider-google'

const cloudRunDomainMappingSpec: CloudRunDomainMappingSpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingSpec.property.routeName">routeName</a></code> | <code>string</code> | The name of the Cloud Run Service that this DomainMapping applies to. The route must exist. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingSpec.property.certificateMode">certificateMode</a></code> | <code>string</code> | The mode of the certificate. Default value: "AUTOMATIC" Possible values: ["NONE", "AUTOMATIC"]. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingSpec.property.forceOverride">forceOverride</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set, the mapping will override any mapping set before this spec was set. |

---

##### `routeName`<sup>Required</sup> <a name="routeName" id="@dschmidt/provider-google.CloudRunDomainMappingSpec.property.routeName"></a>

```typescript
public readonly routeName: string;
```

- *Type:* string

The name of the Cloud Run Service that this DomainMapping applies to. The route must exist.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#route_name CloudRunDomainMapping#route_name}

---

##### `certificateMode`<sup>Optional</sup> <a name="certificateMode" id="@dschmidt/provider-google.CloudRunDomainMappingSpec.property.certificateMode"></a>

```typescript
public readonly certificateMode: string;
```

- *Type:* string

The mode of the certificate. Default value: "AUTOMATIC" Possible values: ["NONE", "AUTOMATIC"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#certificate_mode CloudRunDomainMapping#certificate_mode}

---

##### `forceOverride`<sup>Optional</sup> <a name="forceOverride" id="@dschmidt/provider-google.CloudRunDomainMappingSpec.property.forceOverride"></a>

```typescript
public readonly forceOverride: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set, the mapping will override any mapping set before this spec was set.

It is recommended that the user leaves this empty to receive an error
warning about a potential conflict and only set it once the respective UI
has given such a warning.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#force_override CloudRunDomainMapping#force_override}

---

### CloudRunDomainMappingStatus <a name="CloudRunDomainMappingStatus" id="@dschmidt/provider-google.CloudRunDomainMappingStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunDomainMappingStatus.Initializer"></a>

```typescript
import { CloudRunDomainMappingStatus } from '@dschmidt/provider-google'

const cloudRunDomainMappingStatus: CloudRunDomainMappingStatus = { ... }
```


### CloudRunDomainMappingStatusConditions <a name="CloudRunDomainMappingStatusConditions" id="@dschmidt/provider-google.CloudRunDomainMappingStatusConditions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunDomainMappingStatusConditions.Initializer"></a>

```typescript
import { CloudRunDomainMappingStatusConditions } from '@dschmidt/provider-google'

const cloudRunDomainMappingStatusConditions: CloudRunDomainMappingStatusConditions = { ... }
```


### CloudRunDomainMappingStatusResourceRecords <a name="CloudRunDomainMappingStatusResourceRecords" id="@dschmidt/provider-google.CloudRunDomainMappingStatusResourceRecords"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunDomainMappingStatusResourceRecords.Initializer"></a>

```typescript
import { CloudRunDomainMappingStatusResourceRecords } from '@dschmidt/provider-google'

const cloudRunDomainMappingStatusResourceRecords: CloudRunDomainMappingStatusResourceRecords = { ... }
```


### CloudRunDomainMappingTimeouts <a name="CloudRunDomainMappingTimeouts" id="@dschmidt/provider-google.CloudRunDomainMappingTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunDomainMappingTimeouts.Initializer"></a>

```typescript
import { CloudRunDomainMappingTimeouts } from '@dschmidt/provider-google'

const cloudRunDomainMappingTimeouts: CloudRunDomainMappingTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#create CloudRunDomainMapping#create}. |
| <code><a href="#@dschmidt/provider-google.CloudRunDomainMappingTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#delete CloudRunDomainMapping#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudRunDomainMappingTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#create CloudRunDomainMapping#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudRunDomainMappingTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_domain_mapping#delete CloudRunDomainMapping#delete}.

---

### CloudRunServiceConfig <a name="CloudRunServiceConfig" id="@dschmidt/provider-google.CloudRunServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceConfig.Initializer"></a>

```typescript
import { CloudRunServiceConfig } from '@dschmidt/provider-google'

const cloudRunServiceConfig: CloudRunServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.location">location</a></code> | <code>string</code> | The location of the cloud run instance. eg us-central1. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.name">name</a></code> | <code>string</code> | Name must be unique within a namespace, within a Cloud Run region. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.autogenerateRevisionName">autogenerateRevisionName</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#autogenerate_revision_name CloudRunService#autogenerate_revision_name}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#id CloudRunService#id}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.metadata">metadata</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceMetadata">CloudRunServiceMetadata</a></code> | metadata block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#project CloudRunService#project}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.template">template</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplate">CloudRunServiceTemplate</a></code> | template block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTimeouts">CloudRunServiceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceConfig.property.traffic">traffic</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTraffic">CloudRunServiceTraffic</a>[]</code> | traffic block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudRunServiceConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the cloud run instance. eg us-central1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#location CloudRunService#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudRunServiceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name must be unique within a namespace, within a Cloud Run region.

Is required when creating resources. Name is primarily intended
for creation idempotence and configuration definition. Cannot be updated.
More info: http://kubernetes.io/docs/user-guide/identifiers#names

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#name CloudRunService#name}

---

##### `autogenerateRevisionName`<sup>Optional</sup> <a name="autogenerateRevisionName" id="@dschmidt/provider-google.CloudRunServiceConfig.property.autogenerateRevisionName"></a>

```typescript
public readonly autogenerateRevisionName: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#autogenerate_revision_name CloudRunService#autogenerate_revision_name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#id CloudRunService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.CloudRunServiceConfig.property.metadata"></a>

```typescript
public readonly metadata: CloudRunServiceMetadata;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceMetadata">CloudRunServiceMetadata</a>

metadata block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#metadata CloudRunService#metadata}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudRunServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#project CloudRunService#project}.

---

##### `template`<sup>Optional</sup> <a name="template" id="@dschmidt/provider-google.CloudRunServiceConfig.property.template"></a>

```typescript
public readonly template: CloudRunServiceTemplate;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplate">CloudRunServiceTemplate</a>

template block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#template CloudRunService#template}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudRunServiceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudRunServiceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTimeouts">CloudRunServiceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#timeouts CloudRunService#timeouts}

---

##### `traffic`<sup>Optional</sup> <a name="traffic" id="@dschmidt/provider-google.CloudRunServiceConfig.property.traffic"></a>

```typescript
public readonly traffic: IResolvable | CloudRunServiceTraffic[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTraffic">CloudRunServiceTraffic</a>[]

traffic block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#traffic CloudRunService#traffic}

---

### CloudRunServiceIamBindingCondition <a name="CloudRunServiceIamBindingCondition" id="@dschmidt/provider-google.CloudRunServiceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceIamBindingCondition.Initializer"></a>

```typescript
import { CloudRunServiceIamBindingCondition } from '@dschmidt/provider-google'

const cloudRunServiceIamBindingCondition: CloudRunServiceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#expression CloudRunServiceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#title CloudRunServiceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#description CloudRunServiceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudRunServiceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#expression CloudRunServiceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.CloudRunServiceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#title CloudRunServiceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudRunServiceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#description CloudRunServiceIamBinding#description}.

---

### CloudRunServiceIamBindingConfig <a name="CloudRunServiceIamBindingConfig" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.Initializer"></a>

```typescript
import { CloudRunServiceIamBindingConfig } from '@dschmidt/provider-google'

const cloudRunServiceIamBindingConfig: CloudRunServiceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#members CloudRunServiceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#role CloudRunServiceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#service CloudRunServiceIamBinding#service}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingCondition">CloudRunServiceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#id CloudRunServiceIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#location CloudRunServiceIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#project CloudRunServiceIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#members CloudRunServiceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#role CloudRunServiceIamBinding#role}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#service CloudRunServiceIamBinding#service}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: CloudRunServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamBindingCondition">CloudRunServiceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#condition CloudRunServiceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#id CloudRunServiceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#location CloudRunServiceIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudRunServiceIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_binding#project CloudRunServiceIamBinding#project}.

---

### CloudRunServiceIamMemberCondition <a name="CloudRunServiceIamMemberCondition" id="@dschmidt/provider-google.CloudRunServiceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceIamMemberCondition.Initializer"></a>

```typescript
import { CloudRunServiceIamMemberCondition } from '@dschmidt/provider-google'

const cloudRunServiceIamMemberCondition: CloudRunServiceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#expression CloudRunServiceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#title CloudRunServiceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#description CloudRunServiceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudRunServiceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#expression CloudRunServiceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.CloudRunServiceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#title CloudRunServiceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudRunServiceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#description CloudRunServiceIamMember#description}.

---

### CloudRunServiceIamMemberConfig <a name="CloudRunServiceIamMemberConfig" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.Initializer"></a>

```typescript
import { CloudRunServiceIamMemberConfig } from '@dschmidt/provider-google'

const cloudRunServiceIamMemberConfig: CloudRunServiceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#member CloudRunServiceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#role CloudRunServiceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#service CloudRunServiceIamMember#service}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberCondition">CloudRunServiceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#id CloudRunServiceIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#location CloudRunServiceIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#project CloudRunServiceIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#member CloudRunServiceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#role CloudRunServiceIamMember#role}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#service CloudRunServiceIamMember#service}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: CloudRunServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceIamMemberCondition">CloudRunServiceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#condition CloudRunServiceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#id CloudRunServiceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#location CloudRunServiceIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudRunServiceIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_member#project CloudRunServiceIamMember#project}.

---

### CloudRunServiceIamPolicyConfig <a name="CloudRunServiceIamPolicyConfig" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.Initializer"></a>

```typescript
import { CloudRunServiceIamPolicyConfig } from '@dschmidt/provider-google'

const cloudRunServiceIamPolicyConfig: CloudRunServiceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#policy_data CloudRunServiceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#service CloudRunServiceIamPolicy#service}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#id CloudRunServiceIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#location CloudRunServiceIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#project CloudRunServiceIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#policy_data CloudRunServiceIamPolicy#policy_data}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#service CloudRunServiceIamPolicy#service}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#id CloudRunServiceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#location CloudRunServiceIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudRunServiceIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service_iam_policy#project CloudRunServiceIamPolicy#project}.

---

### CloudRunServiceMetadata <a name="CloudRunServiceMetadata" id="@dschmidt/provider-google.CloudRunServiceMetadata"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceMetadata.Initializer"></a>

```typescript
import { CloudRunServiceMetadata } from '@dschmidt/provider-google'

const cloudRunServiceMetadata: CloudRunServiceMetadata = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceMetadata.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceMetadata.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Map of string keys and values that can be used to organize and categorize (scope and select) objects. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceMetadata.property.namespace">namespace</a></code> | <code>string</code> | In Cloud Run the namespace must be equal to either the project ID or project number. |

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.CloudRunServiceMetadata.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.

More
info: http://kubernetes.io/docs/user-guide/annotations

*Note**: The Cloud Run API may add additional annotations that were not provided in your config.
If terraform plan shows a diff where a server-side annotation is added, you can add it to your config
or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.

Cloud Run (fully managed) uses the following annotation keys to configure features on a Service:

- 'run.googleapis.com/ingress' sets the [ingress settings](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--ingress)
for the Service. For example, '"run.googleapis.com/ingress" = "all"'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#annotations CloudRunService#annotations}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.CloudRunServiceMetadata.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Map of string keys and values that can be used to organize and categorize (scope and select) objects.

May match selectors of replication controllers
and routes.
More info: http://kubernetes.io/docs/user-guide/labels

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#labels CloudRunService#labels}

---

##### `namespace`<sup>Optional</sup> <a name="namespace" id="@dschmidt/provider-google.CloudRunServiceMetadata.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

In Cloud Run the namespace must be equal to either the project ID or project number.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#namespace CloudRunService#namespace}

---

### CloudRunServiceStatus <a name="CloudRunServiceStatus" id="@dschmidt/provider-google.CloudRunServiceStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceStatus.Initializer"></a>

```typescript
import { CloudRunServiceStatus } from '@dschmidt/provider-google'

const cloudRunServiceStatus: CloudRunServiceStatus = { ... }
```


### CloudRunServiceStatusConditions <a name="CloudRunServiceStatusConditions" id="@dschmidt/provider-google.CloudRunServiceStatusConditions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceStatusConditions.Initializer"></a>

```typescript
import { CloudRunServiceStatusConditions } from '@dschmidt/provider-google'

const cloudRunServiceStatusConditions: CloudRunServiceStatusConditions = { ... }
```


### CloudRunServiceTemplate <a name="CloudRunServiceTemplate" id="@dschmidt/provider-google.CloudRunServiceTemplate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplate.Initializer"></a>

```typescript
import { CloudRunServiceTemplate } from '@dschmidt/provider-google'

const cloudRunServiceTemplate: CloudRunServiceTemplate = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplate.property.metadata">metadata</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateMetadata">CloudRunServiceTemplateMetadata</a></code> | metadata block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplate.property.spec">spec</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpec">CloudRunServiceTemplateSpec</a></code> | spec block. |

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.CloudRunServiceTemplate.property.metadata"></a>

```typescript
public readonly metadata: CloudRunServiceTemplateMetadata;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateMetadata">CloudRunServiceTemplateMetadata</a>

metadata block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#metadata CloudRunService#metadata}

---

##### `spec`<sup>Optional</sup> <a name="spec" id="@dschmidt/provider-google.CloudRunServiceTemplate.property.spec"></a>

```typescript
public readonly spec: CloudRunServiceTemplateSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpec">CloudRunServiceTemplateSpec</a>

spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#spec CloudRunService#spec}

---

### CloudRunServiceTemplateMetadata <a name="CloudRunServiceTemplateMetadata" id="@dschmidt/provider-google.CloudRunServiceTemplateMetadata"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateMetadata.Initializer"></a>

```typescript
import { CloudRunServiceTemplateMetadata } from '@dschmidt/provider-google'

const cloudRunServiceTemplateMetadata: CloudRunServiceTemplateMetadata = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateMetadata.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateMetadata.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Map of string keys and values that can be used to organize and categorize (scope and select) objects. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateMetadata.property.name">name</a></code> | <code>string</code> | Name must be unique within a namespace, within a Cloud Run region. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateMetadata.property.namespace">namespace</a></code> | <code>string</code> | In Cloud Run the namespace must be equal to either the project ID or project number. |

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.CloudRunServiceTemplateMetadata.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.

More
info: http://kubernetes.io/docs/user-guide/annotations

*Note**: The Cloud Run API may add additional annotations that were not provided in your config.
If terraform plan shows a diff where a server-side annotation is added, you can add it to your config
or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#annotations CloudRunService#annotations}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.CloudRunServiceTemplateMetadata.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Map of string keys and values that can be used to organize and categorize (scope and select) objects.

May match selectors of replication controllers
and routes.
More info: http://kubernetes.io/docs/user-guide/labels

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#labels CloudRunService#labels}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.CloudRunServiceTemplateMetadata.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name must be unique within a namespace, within a Cloud Run region.

Is required when creating resources. Name is primarily intended
for creation idempotence and configuration definition. Cannot be updated.
More info: http://kubernetes.io/docs/user-guide/identifiers#names

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#name CloudRunService#name}

---

##### `namespace`<sup>Optional</sup> <a name="namespace" id="@dschmidt/provider-google.CloudRunServiceTemplateMetadata.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

In Cloud Run the namespace must be equal to either the project ID or project number.

It will default to the resource's project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#namespace CloudRunService#namespace}

---

### CloudRunServiceTemplateSpec <a name="CloudRunServiceTemplateSpec" id="@dschmidt/provider-google.CloudRunServiceTemplateSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpec.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpec } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpec: CloudRunServiceTemplateSpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.containerConcurrency">containerConcurrency</a></code> | <code>number</code> | ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.containers">containers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers">CloudRunServiceTemplateSpecContainers</a>[]</code> | containers block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.serviceAccountName">serviceAccountName</a></code> | <code>string</code> | Email address of the IAM service account associated with the revision of the service. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | TimeoutSeconds holds the max duration the instance is allowed for responding to a request. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.volumes">volumes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumes">CloudRunServiceTemplateSpecVolumes</a>[]</code> | volumes block. |

---

##### `containerConcurrency`<sup>Optional</sup> <a name="containerConcurrency" id="@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.containerConcurrency"></a>

```typescript
public readonly containerConcurrency: number;
```

- *Type:* number

ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision.

Values are:
- '0' thread-safe, the system should manage the max concurrency. This is
the default value.
- '1' not-thread-safe. Single concurrency
- '2-N' thread-safe, max concurrency of N

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#container_concurrency CloudRunService#container_concurrency}

---

##### `containers`<sup>Optional</sup> <a name="containers" id="@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.containers"></a>

```typescript
public readonly containers: IResolvable | CloudRunServiceTemplateSpecContainers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers">CloudRunServiceTemplateSpecContainers</a>[]

containers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#containers CloudRunService#containers}

---

##### `serviceAccountName`<sup>Optional</sup> <a name="serviceAccountName" id="@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.serviceAccountName"></a>

```typescript
public readonly serviceAccountName: string;
```

- *Type:* string

Email address of the IAM service account associated with the revision of the service.

The service account represents the identity of the running revision,
and determines what permissions the revision has. If not provided, the revision
will use the project's default service account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#service_account_name CloudRunService#service_account_name}

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

TimeoutSeconds holds the max duration the instance is allowed for responding to a request.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#timeout_seconds CloudRunService#timeout_seconds}

---

##### `volumes`<sup>Optional</sup> <a name="volumes" id="@dschmidt/provider-google.CloudRunServiceTemplateSpec.property.volumes"></a>

```typescript
public readonly volumes: IResolvable | CloudRunServiceTemplateSpecVolumes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumes">CloudRunServiceTemplateSpecVolumes</a>[]

volumes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#volumes CloudRunService#volumes}

---

### CloudRunServiceTemplateSpecContainers <a name="CloudRunServiceTemplateSpecContainers" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainers } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainers: CloudRunServiceTemplateSpecContainers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.image">image</a></code> | <code>string</code> | Docker image name. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.args">args</a></code> | <code>string[]</code> | Arguments to the entrypoint. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.command">command</a></code> | <code>string[]</code> | Entrypoint array. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.env">env</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv">CloudRunServiceTemplateSpecContainersEnv</a>[]</code> | env block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.envFrom">envFrom</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom">CloudRunServiceTemplateSpecContainersEnvFrom</a>[]</code> | env_from block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.ports">ports</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts">CloudRunServiceTemplateSpecContainersPorts</a>[]</code> | ports block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.resources">resources</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersResources">CloudRunServiceTemplateSpecContainersResources</a></code> | resources block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.volumeMounts">volumeMounts</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersVolumeMounts">CloudRunServiceTemplateSpecContainersVolumeMounts</a>[]</code> | volume_mounts block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.workingDir">workingDir</a></code> | <code>string</code> | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. |

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

Docker image name.

This is most often a reference to a container located
in the container registry, such as gcr.io/cloudrun/hello
More info: https://kubernetes.io/docs/concepts/containers/images

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#image CloudRunService#image}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

Arguments to the entrypoint.

The docker image's CMD is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's
environment. If a variable cannot be resolved, the reference in the input
string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
regardless of whether the variable exists or not.
More info:
https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#args CloudRunService#args}

---

##### `command`<sup>Optional</sup> <a name="command" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.command"></a>

```typescript
public readonly command: string[];
```

- *Type:* string[]

Entrypoint array.

Not executed within a shell.
The docker image's ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's
environment. If a variable cannot be resolved, the reference in the input
string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
regardless of whether the variable exists or not.
More info:
https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#command CloudRunService#command}

---

##### `env`<sup>Optional</sup> <a name="env" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.env"></a>

```typescript
public readonly env: IResolvable | CloudRunServiceTemplateSpecContainersEnv[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv">CloudRunServiceTemplateSpecContainersEnv</a>[]

env block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#env CloudRunService#env}

---

##### `envFrom`<sup>Optional</sup> <a name="envFrom" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.envFrom"></a>

```typescript
public readonly envFrom: IResolvable | CloudRunServiceTemplateSpecContainersEnvFrom[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom">CloudRunServiceTemplateSpecContainersEnvFrom</a>[]

env_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#env_from CloudRunService#env_from}

---

##### `ports`<sup>Optional</sup> <a name="ports" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.ports"></a>

```typescript
public readonly ports: IResolvable | CloudRunServiceTemplateSpecContainersPorts[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts">CloudRunServiceTemplateSpecContainersPorts</a>[]

ports block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#ports CloudRunService#ports}

---

##### `resources`<sup>Optional</sup> <a name="resources" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.resources"></a>

```typescript
public readonly resources: CloudRunServiceTemplateSpecContainersResources;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersResources">CloudRunServiceTemplateSpecContainersResources</a>

resources block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#resources CloudRunService#resources}

---

##### `volumeMounts`<sup>Optional</sup> <a name="volumeMounts" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.volumeMounts"></a>

```typescript
public readonly volumeMounts: IResolvable | CloudRunServiceTemplateSpecContainersVolumeMounts[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersVolumeMounts">CloudRunServiceTemplateSpecContainersVolumeMounts</a>[]

volume_mounts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#volume_mounts CloudRunService#volume_mounts}

---

##### `workingDir`<sup>Optional</sup> <a name="workingDir" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainers.property.workingDir"></a>

```typescript
public readonly workingDir: string;
```

- *Type:* string

Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#working_dir CloudRunService#working_dir}

---

### CloudRunServiceTemplateSpecContainersEnv <a name="CloudRunServiceTemplateSpecContainersEnv" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersEnv } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersEnv: CloudRunServiceTemplateSpecContainersEnv = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv.property.name">name</a></code> | <code>string</code> | Name of the environment variable. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv.property.value">value</a></code> | <code>string</code> | Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv.property.valueFrom">valueFrom</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFrom">CloudRunServiceTemplateSpecContainersEnvValueFrom</a></code> | value_from block. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the environment variable.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#name CloudRunService#name}

---

##### `value`<sup>Optional</sup> <a name="value" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables.

If a variable cannot be resolved,
the reference in the input string will be unchanged. The $(VAR_NAME)
syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
references will never be expanded, regardless of whether the variable
exists or not.
Defaults to "".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#value CloudRunService#value}

---

##### `valueFrom`<sup>Optional</sup> <a name="valueFrom" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnv.property.valueFrom"></a>

```typescript
public readonly valueFrom: CloudRunServiceTemplateSpecContainersEnvValueFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFrom">CloudRunServiceTemplateSpecContainersEnvValueFrom</a>

value_from block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#value_from CloudRunService#value_from}

---

### CloudRunServiceTemplateSpecContainersEnvFrom <a name="CloudRunServiceTemplateSpecContainersEnvFrom" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersEnvFrom } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersEnvFrom: CloudRunServiceTemplateSpecContainersEnvFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom.property.configMapRef">configMapRef</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef">CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef</a></code> | config_map_ref block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom.property.prefix">prefix</a></code> | <code>string</code> | An optional identifier to prepend to each key in the ConfigMap. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom.property.secretRef">secretRef</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRef">CloudRunServiceTemplateSpecContainersEnvFromSecretRef</a></code> | secret_ref block. |

---

##### `configMapRef`<sup>Optional</sup> <a name="configMapRef" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom.property.configMapRef"></a>

```typescript
public readonly configMapRef: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef">CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef</a>

config_map_ref block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#config_map_ref CloudRunService#config_map_ref}

---

##### `prefix`<sup>Optional</sup> <a name="prefix" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom.property.prefix"></a>

```typescript
public readonly prefix: string;
```

- *Type:* string

An optional identifier to prepend to each key in the ConfigMap.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#prefix CloudRunService#prefix}

---

##### `secretRef`<sup>Optional</sup> <a name="secretRef" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFrom.property.secretRef"></a>

```typescript
public readonly secretRef: CloudRunServiceTemplateSpecContainersEnvFromSecretRef;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRef">CloudRunServiceTemplateSpecContainersEnvFromSecretRef</a>

secret_ref block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#secret_ref CloudRunService#secret_ref}

---

### CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef <a name="CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersEnvFromConfigMapRef: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef.property.localObjectReference">localObjectReference</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference">CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference</a></code> | local_object_reference block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef.property.optional">optional</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specify whether the ConfigMap must be defined. |

---

##### `localObjectReference`<sup>Optional</sup> <a name="localObjectReference" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef.property.localObjectReference"></a>

```typescript
public readonly localObjectReference: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference">CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference</a>

local_object_reference block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#local_object_reference CloudRunService#local_object_reference}

---

##### `optional`<sup>Optional</sup> <a name="optional" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRef.property.optional"></a>

```typescript
public readonly optional: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specify whether the ConfigMap must be defined.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#optional CloudRunService#optional}

---

### CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference <a name="CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference: CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference.property.name">name</a></code> | <code>string</code> | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#name CloudRunService#name}

---

### CloudRunServiceTemplateSpecContainersEnvFromSecretRef <a name="CloudRunServiceTemplateSpecContainersEnvFromSecretRef" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRef"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRef.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersEnvFromSecretRef } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersEnvFromSecretRef: CloudRunServiceTemplateSpecContainersEnvFromSecretRef = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRef.property.localObjectReference">localObjectReference</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference">CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference</a></code> | local_object_reference block. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRef.property.optional">optional</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specify whether the Secret must be defined. |

---

##### `localObjectReference`<sup>Optional</sup> <a name="localObjectReference" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRef.property.localObjectReference"></a>

```typescript
public readonly localObjectReference: CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference">CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference</a>

local_object_reference block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#local_object_reference CloudRunService#local_object_reference}

---

##### `optional`<sup>Optional</sup> <a name="optional" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRef.property.optional"></a>

```typescript
public readonly optional: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specify whether the Secret must be defined.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#optional CloudRunService#optional}

---

### CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference <a name="CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference: CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference.property.name">name</a></code> | <code>string</code> | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#name CloudRunService#name}

---

### CloudRunServiceTemplateSpecContainersEnvValueFrom <a name="CloudRunServiceTemplateSpecContainersEnvValueFrom" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFrom.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersEnvValueFrom } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersEnvValueFrom: CloudRunServiceTemplateSpecContainersEnvValueFrom = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFrom.property.secretKeyRef">secretKeyRef</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef">CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef</a></code> | secret_key_ref block. |

---

##### `secretKeyRef`<sup>Required</sup> <a name="secretKeyRef" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFrom.property.secretKeyRef"></a>

```typescript
public readonly secretKeyRef: CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef">CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef</a>

secret_key_ref block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#secret_key_ref CloudRunService#secret_key_ref}

---

### CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef <a name="CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef: CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef.property.key">key</a></code> | <code>string</code> | A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef.property.name">name</a></code> | <code>string</code> | The name of the secret in Cloud Secret Manager. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#key CloudRunService#key}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the secret in Cloud Secret Manager.

By default, the secret is assumed to be in the same project. 
If the secret is in another project, you must define an alias. 
An alias definition has the form: :projects/<project-id|project-number>/secrets/. 
If multiple alias definitions are needed, they must be separated by commas. 
The alias definitions must be set on the run.googleapis.com/secrets annotation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#name CloudRunService#name}

---

### CloudRunServiceTemplateSpecContainersPorts <a name="CloudRunServiceTemplateSpecContainersPorts" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersPorts } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersPorts: CloudRunServiceTemplateSpecContainersPorts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts.property.containerPort">containerPort</a></code> | <code>number</code> | Port number the container listens on. This must be a valid port number, 0 < x < 65536. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts.property.name">name</a></code> | <code>string</code> | If specified, used to specify which protocol to use. Allowed values are "http1" and "h2c". |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts.property.protocol">protocol</a></code> | <code>string</code> | Protocol for port. Must be "TCP". Defaults to "TCP". |

---

##### `containerPort`<sup>Optional</sup> <a name="containerPort" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts.property.containerPort"></a>

```typescript
public readonly containerPort: number;
```

- *Type:* number

Port number the container listens on. This must be a valid port number, 0 < x < 65536.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#container_port CloudRunService#container_port}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

If specified, used to specify which protocol to use. Allowed values are "http1" and "h2c".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#name CloudRunService#name}

---

##### `protocol`<sup>Optional</sup> <a name="protocol" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersPorts.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

Protocol for port. Must be "TCP". Defaults to "TCP".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#protocol CloudRunService#protocol}

---

### CloudRunServiceTemplateSpecContainersResources <a name="CloudRunServiceTemplateSpecContainersResources" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersResources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersResources.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersResources } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersResources: CloudRunServiceTemplateSpecContainersResources = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersResources.property.limits">limits</a></code> | <code>{[ key: string ]: string}</code> | Limits describes the maximum amount of compute resources allowed. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersResources.property.requests">requests</a></code> | <code>{[ key: string ]: string}</code> | Requests describes the minimum amount of compute resources required. |

---

##### `limits`<sup>Optional</sup> <a name="limits" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersResources.property.limits"></a>

```typescript
public readonly limits: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Limits describes the maximum amount of compute resources allowed.

The values of the map is string form of the 'quantity' k8s type:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#limits CloudRunService#limits}

---

##### `requests`<sup>Optional</sup> <a name="requests" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersResources.property.requests"></a>

```typescript
public readonly requests: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Requests describes the minimum amount of compute resources required.

If Requests is omitted for a container, it defaults to Limits if that is
explicitly specified, otherwise to an implementation-defined value.
The values of the map is string form of the 'quantity' k8s type:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#requests CloudRunService#requests}

---

### CloudRunServiceTemplateSpecContainersVolumeMounts <a name="CloudRunServiceTemplateSpecContainersVolumeMounts" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersVolumeMounts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersVolumeMounts.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecContainersVolumeMounts } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecContainersVolumeMounts: CloudRunServiceTemplateSpecContainersVolumeMounts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersVolumeMounts.property.mountPath">mountPath</a></code> | <code>string</code> | Path within the container at which the volume should be mounted.  Must not contain ':'. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersVolumeMounts.property.name">name</a></code> | <code>string</code> | This must match the Name of a Volume. |

---

##### `mountPath`<sup>Required</sup> <a name="mountPath" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersVolumeMounts.property.mountPath"></a>

```typescript
public readonly mountPath: string;
```

- *Type:* string

Path within the container at which the volume should be mounted.  Must not contain ':'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#mount_path CloudRunService#mount_path}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecContainersVolumeMounts.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

This must match the Name of a Volume.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#name CloudRunService#name}

---

### CloudRunServiceTemplateSpecVolumes <a name="CloudRunServiceTemplateSpecVolumes" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumes.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecVolumes } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecVolumes: CloudRunServiceTemplateSpecVolumes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumes.property.name">name</a></code> | <code>string</code> | Volume's name. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumes.property.secret">secret</a></code> | <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret">CloudRunServiceTemplateSpecVolumesSecret</a></code> | secret block. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumes.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Volume's name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#name CloudRunService#name}

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumes.property.secret"></a>

```typescript
public readonly secret: CloudRunServiceTemplateSpecVolumesSecret;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret">CloudRunServiceTemplateSpecVolumesSecret</a>

secret block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#secret CloudRunService#secret}

---

### CloudRunServiceTemplateSpecVolumesSecret <a name="CloudRunServiceTemplateSpecVolumesSecret" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecVolumesSecret } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecVolumesSecret: CloudRunServiceTemplateSpecVolumesSecret = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret.property.secretName">secretName</a></code> | <code>string</code> | The name of the secret in Cloud Secret Manager. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret.property.defaultMode">defaultMode</a></code> | <code>number</code> | Mode bits to use on created files by default. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret.property.items">items</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems">CloudRunServiceTemplateSpecVolumesSecretItems</a>[]</code> | items block. |

---

##### `secretName`<sup>Required</sup> <a name="secretName" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret.property.secretName"></a>

```typescript
public readonly secretName: string;
```

- *Type:* string

The name of the secret in Cloud Secret Manager.

By default, the secret
is assumed to be in the same project.
If the secret is in another project, you must define an alias.
An alias definition has the form:
<alias>:projects/<project-id|project-number>/secrets/<secret-name>.
If multiple alias definitions are needed, they must be separated by
commas.
The alias definitions must be set on the run.googleapis.com/secrets
annotation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#secret_name CloudRunService#secret_name}

---

##### `defaultMode`<sup>Optional</sup> <a name="defaultMode" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret.property.defaultMode"></a>

```typescript
public readonly defaultMode: number;
```

- *Type:* number

Mode bits to use on created files by default.

Must be a value between 0000
and 0777. Defaults to 0644. Directories within the path are not affected by
this setting. This might be in conflict with other options that affect the
file mode, like fsGroup, and the result can be other mode bits set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#default_mode CloudRunService#default_mode}

---

##### `items`<sup>Optional</sup> <a name="items" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecret.property.items"></a>

```typescript
public readonly items: IResolvable | CloudRunServiceTemplateSpecVolumesSecretItems[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems">CloudRunServiceTemplateSpecVolumesSecretItems</a>[]

items block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#items CloudRunService#items}

---

### CloudRunServiceTemplateSpecVolumesSecretItems <a name="CloudRunServiceTemplateSpecVolumesSecretItems" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems.Initializer"></a>

```typescript
import { CloudRunServiceTemplateSpecVolumesSecretItems } from '@dschmidt/provider-google'

const cloudRunServiceTemplateSpecVolumesSecretItems: CloudRunServiceTemplateSpecVolumesSecretItems = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems.property.key">key</a></code> | <code>string</code> | The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems.property.path">path</a></code> | <code>string</code> | The relative path of the file to map the key to. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems.property.mode">mode</a></code> | <code>number</code> | Mode bits to use on this file, must be a value between 0000 and 0777. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#key CloudRunService#key}

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

The relative path of the file to map the key to.

May not be an absolute path.
May not contain the path element '..'.
May not start with the string '..'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#path CloudRunService#path}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.CloudRunServiceTemplateSpecVolumesSecretItems.property.mode"></a>

```typescript
public readonly mode: number;
```

- *Type:* number

Mode bits to use on this file, must be a value between 0000 and 0777.

If
not specified, the volume defaultMode will be used. This might be in
conflict with other options that affect the file mode, like fsGroup, and
the result can be other mode bits set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#mode CloudRunService#mode}

---

### CloudRunServiceTimeouts <a name="CloudRunServiceTimeouts" id="@dschmidt/provider-google.CloudRunServiceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTimeouts.Initializer"></a>

```typescript
import { CloudRunServiceTimeouts } from '@dschmidt/provider-google'

const cloudRunServiceTimeouts: CloudRunServiceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#create CloudRunService#create}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#delete CloudRunService#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#update CloudRunService#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudRunServiceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#create CloudRunService#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudRunServiceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#delete CloudRunService#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudRunServiceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#update CloudRunService#update}.

---

### CloudRunServiceTraffic <a name="CloudRunServiceTraffic" id="@dschmidt/provider-google.CloudRunServiceTraffic"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudRunServiceTraffic.Initializer"></a>

```typescript
import { CloudRunServiceTraffic } from '@dschmidt/provider-google'

const cloudRunServiceTraffic: CloudRunServiceTraffic = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTraffic.property.percent">percent</a></code> | <code>number</code> | Percent specifies percent of the traffic to this Revision or Configuration. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTraffic.property.latestRevision">latestRevision</a></code> | <code>boolean \| cdktf.IResolvable</code> | LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTraffic.property.revisionName">revisionName</a></code> | <code>string</code> | RevisionName of a specific revision to which to send this portion of traffic. |
| <code><a href="#@dschmidt/provider-google.CloudRunServiceTraffic.property.tag">tag</a></code> | <code>string</code> | Tag is optionally used to expose a dedicated url for referencing this target exclusively. |

---

##### `percent`<sup>Required</sup> <a name="percent" id="@dschmidt/provider-google.CloudRunServiceTraffic.property.percent"></a>

```typescript
public readonly percent: number;
```

- *Type:* number

Percent specifies percent of the traffic to this Revision or Configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#percent CloudRunService#percent}

---

##### `latestRevision`<sup>Optional</sup> <a name="latestRevision" id="@dschmidt/provider-google.CloudRunServiceTraffic.property.latestRevision"></a>

```typescript
public readonly latestRevision: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target.

When
provided LatestRevision must be true if RevisionName is empty; it must be
false when RevisionName is non-empty.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#latest_revision CloudRunService#latest_revision}

---

##### `revisionName`<sup>Optional</sup> <a name="revisionName" id="@dschmidt/provider-google.CloudRunServiceTraffic.property.revisionName"></a>

```typescript
public readonly revisionName: string;
```

- *Type:* string

RevisionName of a specific revision to which to send this portion of traffic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#revision_name CloudRunService#revision_name}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.CloudRunServiceTraffic.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

Tag is optionally used to expose a dedicated url for referencing this target exclusively.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_run_service#tag CloudRunService#tag}

---

### CloudSchedulerJobAppEngineHttpTarget <a name="CloudSchedulerJobAppEngineHttpTarget" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.Initializer"></a>

```typescript
import { CloudSchedulerJobAppEngineHttpTarget } from '@dschmidt/provider-google'

const cloudSchedulerJobAppEngineHttpTarget: CloudSchedulerJobAppEngineHttpTarget = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.relativeUri">relativeUri</a></code> | <code>string</code> | The relative URI. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.appEngineRouting">appEngineRouting</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting">CloudSchedulerJobAppEngineHttpTargetAppEngineRouting</a></code> | app_engine_routing block. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.body">body</a></code> | <code>string</code> | HTTP request body. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.headers">headers</a></code> | <code>{[ key: string ]: string}</code> | HTTP request headers. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.httpMethod">httpMethod</a></code> | <code>string</code> | Which HTTP method to use for the request. |

---

##### `relativeUri`<sup>Required</sup> <a name="relativeUri" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.relativeUri"></a>

```typescript
public readonly relativeUri: string;
```

- *Type:* string

The relative URI.

The relative URL must begin with "/" and must be a valid HTTP relative URL. 
It can contain a path, query string arguments, and \# fragments. 
If the relative URL is empty, then the root path "/" will be used. 
No spaces are allowed, and the maximum length allowed is 2083 characters

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#relative_uri CloudSchedulerJob#relative_uri}

---

##### `appEngineRouting`<sup>Optional</sup> <a name="appEngineRouting" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.appEngineRouting"></a>

```typescript
public readonly appEngineRouting: CloudSchedulerJobAppEngineHttpTargetAppEngineRouting;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting">CloudSchedulerJobAppEngineHttpTargetAppEngineRouting</a>

app_engine_routing block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#app_engine_routing CloudSchedulerJob#app_engine_routing}

---

##### `body`<sup>Optional</sup> <a name="body" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.body"></a>

```typescript
public readonly body: string;
```

- *Type:* string

HTTP request body.

A request body is allowed only if the HTTP method is POST or PUT. 
It will result in invalid argument error to set a body on a job with an incompatible HttpMethod.

A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#body CloudSchedulerJob#body}

---

##### `headers`<sup>Optional</sup> <a name="headers" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.headers"></a>

```typescript
public readonly headers: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

HTTP request headers.

This map contains the header field names and values. 
Headers can be set when the job is created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#headers CloudSchedulerJob#headers}

---

##### `httpMethod`<sup>Optional</sup> <a name="httpMethod" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget.property.httpMethod"></a>

```typescript
public readonly httpMethod: string;
```

- *Type:* string

Which HTTP method to use for the request.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#http_method CloudSchedulerJob#http_method}

---

### CloudSchedulerJobAppEngineHttpTargetAppEngineRouting <a name="CloudSchedulerJobAppEngineHttpTargetAppEngineRouting" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting.Initializer"></a>

```typescript
import { CloudSchedulerJobAppEngineHttpTargetAppEngineRouting } from '@dschmidt/provider-google'

const cloudSchedulerJobAppEngineHttpTargetAppEngineRouting: CloudSchedulerJobAppEngineHttpTargetAppEngineRouting = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting.property.instance">instance</a></code> | <code>string</code> | App instance. By default, the job is sent to an instance which is available when the job is attempted. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting.property.service">service</a></code> | <code>string</code> | App service. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting.property.version">version</a></code> | <code>string</code> | App version. |

---

##### `instance`<sup>Optional</sup> <a name="instance" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

App instance. By default, the job is sent to an instance which is available when the job is attempted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#instance CloudSchedulerJob#instance}

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

App service.

By default, the job is sent to the service which is the default service when the job is attempted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#service CloudSchedulerJob#service}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTargetAppEngineRouting.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

App version.

By default, the job is sent to the version which is the default version when the job is attempted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#version CloudSchedulerJob#version}

---

### CloudSchedulerJobConfig <a name="CloudSchedulerJobConfig" id="@dschmidt/provider-google.CloudSchedulerJobConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudSchedulerJobConfig.Initializer"></a>

```typescript
import { CloudSchedulerJobConfig } from '@dschmidt/provider-google'

const cloudSchedulerJobConfig: CloudSchedulerJobConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.name">name</a></code> | <code>string</code> | The name of the job. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.appEngineHttpTarget">appEngineHttpTarget</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget">CloudSchedulerJobAppEngineHttpTarget</a></code> | app_engine_http_target block. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.attemptDeadline">attemptDeadline</a></code> | <code>string</code> | The deadline for job attempts. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.description">description</a></code> | <code>string</code> | A human-readable description for the job.  This string must not contain more than 500 characters. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.httpTarget">httpTarget</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget">CloudSchedulerJobHttpTarget</a></code> | http_target block. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#id CloudSchedulerJob#id}. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.paused">paused</a></code> | <code>boolean \| cdktf.IResolvable</code> | Sets the job to a paused state. Jobs default to being enabled when this property is not set. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#project CloudSchedulerJob#project}. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.pubsubTarget">pubsubTarget</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTarget">CloudSchedulerJobPubsubTarget</a></code> | pubsub_target block. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.region">region</a></code> | <code>string</code> | Region where the scheduler job resides. If it is not provided, Terraform will use the provider default. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.retryConfig">retryConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig">CloudSchedulerJobRetryConfig</a></code> | retry_config block. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.schedule">schedule</a></code> | <code>string</code> | Describes the schedule on which the job will be executed. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobTimeouts">CloudSchedulerJobTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobConfig.property.timeZone">timeZone</a></code> | <code>string</code> | Specifies the time zone to be used in interpreting schedule. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#name CloudSchedulerJob#name}

---

##### `appEngineHttpTarget`<sup>Optional</sup> <a name="appEngineHttpTarget" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.appEngineHttpTarget"></a>

```typescript
public readonly appEngineHttpTarget: CloudSchedulerJobAppEngineHttpTarget;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobAppEngineHttpTarget">CloudSchedulerJobAppEngineHttpTarget</a>

app_engine_http_target block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#app_engine_http_target CloudSchedulerJob#app_engine_http_target}

---

##### `attemptDeadline`<sup>Optional</sup> <a name="attemptDeadline" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.attemptDeadline"></a>

```typescript
public readonly attemptDeadline: string;
```

- *Type:* string

The deadline for job attempts.

If the request handler does not respond by this deadline then the request is
cancelled and the attempt is marked as a DEADLINE_EXCEEDED failure. The failed attempt can be viewed in
execution logs. Cloud Scheduler will retry the job according to the RetryConfig.
The allowed duration for this deadline is:
For HTTP targets, between 15 seconds and 30 minutes.
For App Engine HTTP targets, between 15 seconds and 24 hours.
**Note**: For PubSub targets, this field is ignored - setting it will introduce an unresolvable diff.
A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#attempt_deadline CloudSchedulerJob#attempt_deadline}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description for the job.  This string must not contain more than 500 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#description CloudSchedulerJob#description}

---

##### `httpTarget`<sup>Optional</sup> <a name="httpTarget" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.httpTarget"></a>

```typescript
public readonly httpTarget: CloudSchedulerJobHttpTarget;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget">CloudSchedulerJobHttpTarget</a>

http_target block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#http_target CloudSchedulerJob#http_target}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#id CloudSchedulerJob#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `paused`<sup>Optional</sup> <a name="paused" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.paused"></a>

```typescript
public readonly paused: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Sets the job to a paused state. Jobs default to being enabled when this property is not set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#paused CloudSchedulerJob#paused}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#project CloudSchedulerJob#project}.

---

##### `pubsubTarget`<sup>Optional</sup> <a name="pubsubTarget" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.pubsubTarget"></a>

```typescript
public readonly pubsubTarget: CloudSchedulerJobPubsubTarget;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTarget">CloudSchedulerJobPubsubTarget</a>

pubsub_target block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#pubsub_target CloudSchedulerJob#pubsub_target}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where the scheduler job resides. If it is not provided, Terraform will use the provider default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#region CloudSchedulerJob#region}

---

##### `retryConfig`<sup>Optional</sup> <a name="retryConfig" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.retryConfig"></a>

```typescript
public readonly retryConfig: CloudSchedulerJobRetryConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig">CloudSchedulerJobRetryConfig</a>

retry_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#retry_config CloudSchedulerJob#retry_config}

---

##### `schedule`<sup>Optional</sup> <a name="schedule" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

Describes the schedule on which the job will be executed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#schedule CloudSchedulerJob#schedule}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudSchedulerJobTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobTimeouts">CloudSchedulerJobTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#timeouts CloudSchedulerJob#timeouts}

---

##### `timeZone`<sup>Optional</sup> <a name="timeZone" id="@dschmidt/provider-google.CloudSchedulerJobConfig.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

Specifies the time zone to be used in interpreting schedule.

The value of this field must be a time zone name from the tz database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#time_zone CloudSchedulerJob#time_zone}

---

### CloudSchedulerJobHttpTarget <a name="CloudSchedulerJobHttpTarget" id="@dschmidt/provider-google.CloudSchedulerJobHttpTarget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudSchedulerJobHttpTarget.Initializer"></a>

```typescript
import { CloudSchedulerJobHttpTarget } from '@dschmidt/provider-google'

const cloudSchedulerJobHttpTarget: CloudSchedulerJobHttpTarget = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.uri">uri</a></code> | <code>string</code> | The full URI path that the request will be sent to. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.body">body</a></code> | <code>string</code> | HTTP request body. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.headers">headers</a></code> | <code>{[ key: string ]: string}</code> | This map contains the header field names and values. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.httpMethod">httpMethod</a></code> | <code>string</code> | Which HTTP method to use for the request. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.oauthToken">oauthToken</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOauthToken">CloudSchedulerJobHttpTargetOauthToken</a></code> | oauth_token block. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.oidcToken">oidcToken</a></code> | <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOidcToken">CloudSchedulerJobHttpTargetOidcToken</a></code> | oidc_token block. |

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

The full URI path that the request will be sent to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#uri CloudSchedulerJob#uri}

---

##### `body`<sup>Optional</sup> <a name="body" id="@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.body"></a>

```typescript
public readonly body: string;
```

- *Type:* string

HTTP request body.

A request body is allowed only if the HTTP method is POST, PUT, or PATCH. 
It is an error to set body on a job with an incompatible HttpMethod.

A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#body CloudSchedulerJob#body}

---

##### `headers`<sup>Optional</sup> <a name="headers" id="@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.headers"></a>

```typescript
public readonly headers: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

This map contains the header field names and values.

Repeated headers are not supported, but a header value can contain commas.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#headers CloudSchedulerJob#headers}

---

##### `httpMethod`<sup>Optional</sup> <a name="httpMethod" id="@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.httpMethod"></a>

```typescript
public readonly httpMethod: string;
```

- *Type:* string

Which HTTP method to use for the request.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#http_method CloudSchedulerJob#http_method}

---

##### `oauthToken`<sup>Optional</sup> <a name="oauthToken" id="@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.oauthToken"></a>

```typescript
public readonly oauthToken: CloudSchedulerJobHttpTargetOauthToken;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOauthToken">CloudSchedulerJobHttpTargetOauthToken</a>

oauth_token block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#oauth_token CloudSchedulerJob#oauth_token}

---

##### `oidcToken`<sup>Optional</sup> <a name="oidcToken" id="@dschmidt/provider-google.CloudSchedulerJobHttpTarget.property.oidcToken"></a>

```typescript
public readonly oidcToken: CloudSchedulerJobHttpTargetOidcToken;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOidcToken">CloudSchedulerJobHttpTargetOidcToken</a>

oidc_token block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#oidc_token CloudSchedulerJob#oidc_token}

---

### CloudSchedulerJobHttpTargetOauthToken <a name="CloudSchedulerJobHttpTargetOauthToken" id="@dschmidt/provider-google.CloudSchedulerJobHttpTargetOauthToken"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudSchedulerJobHttpTargetOauthToken.Initializer"></a>

```typescript
import { CloudSchedulerJobHttpTargetOauthToken } from '@dschmidt/provider-google'

const cloudSchedulerJobHttpTargetOauthToken: CloudSchedulerJobHttpTargetOauthToken = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOauthToken.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | Service account email to be used for generating OAuth token. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOauthToken.property.scope">scope</a></code> | <code>string</code> | OAuth scope to be used for generating OAuth access token. If not specified, "https://www.googleapis.com/auth/cloud-platform" will be used. |

---

##### `serviceAccountEmail`<sup>Required</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.CloudSchedulerJobHttpTargetOauthToken.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

Service account email to be used for generating OAuth token.

The service account must be within the same project as the job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#service_account_email CloudSchedulerJob#service_account_email}

---

##### `scope`<sup>Optional</sup> <a name="scope" id="@dschmidt/provider-google.CloudSchedulerJobHttpTargetOauthToken.property.scope"></a>

```typescript
public readonly scope: string;
```

- *Type:* string

OAuth scope to be used for generating OAuth access token. If not specified, "https://www.googleapis.com/auth/cloud-platform" will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#scope CloudSchedulerJob#scope}

---

### CloudSchedulerJobHttpTargetOidcToken <a name="CloudSchedulerJobHttpTargetOidcToken" id="@dschmidt/provider-google.CloudSchedulerJobHttpTargetOidcToken"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudSchedulerJobHttpTargetOidcToken.Initializer"></a>

```typescript
import { CloudSchedulerJobHttpTargetOidcToken } from '@dschmidt/provider-google'

const cloudSchedulerJobHttpTargetOidcToken: CloudSchedulerJobHttpTargetOidcToken = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOidcToken.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | Service account email to be used for generating OAuth token. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobHttpTargetOidcToken.property.audience">audience</a></code> | <code>string</code> | Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used. |

---

##### `serviceAccountEmail`<sup>Required</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.CloudSchedulerJobHttpTargetOidcToken.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

Service account email to be used for generating OAuth token.

The service account must be within the same project as the job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#service_account_email CloudSchedulerJob#service_account_email}

---

##### `audience`<sup>Optional</sup> <a name="audience" id="@dschmidt/provider-google.CloudSchedulerJobHttpTargetOidcToken.property.audience"></a>

```typescript
public readonly audience: string;
```

- *Type:* string

Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#audience CloudSchedulerJob#audience}

---

### CloudSchedulerJobPubsubTarget <a name="CloudSchedulerJobPubsubTarget" id="@dschmidt/provider-google.CloudSchedulerJobPubsubTarget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudSchedulerJobPubsubTarget.Initializer"></a>

```typescript
import { CloudSchedulerJobPubsubTarget } from '@dschmidt/provider-google'

const cloudSchedulerJobPubsubTarget: CloudSchedulerJobPubsubTarget = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTarget.property.topicName">topicName</a></code> | <code>string</code> | The full resource name for the Cloud Pub/Sub topic to which messages will be published when a job is delivered. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTarget.property.attributes">attributes</a></code> | <code>{[ key: string ]: string}</code> | Attributes for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobPubsubTarget.property.data">data</a></code> | <code>string</code> | The message payload for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute. |

---

##### `topicName`<sup>Required</sup> <a name="topicName" id="@dschmidt/provider-google.CloudSchedulerJobPubsubTarget.property.topicName"></a>

```typescript
public readonly topicName: string;
```

- *Type:* string

The full resource name for the Cloud Pub/Sub topic to which messages will be published when a job is delivered.

~>**NOTE:**
The topic name must be in the same format as required by PubSub's
PublishRequest.name, e.g. 'projects/my-project/topics/my-topic'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#topic_name CloudSchedulerJob#topic_name}

---

##### `attributes`<sup>Optional</sup> <a name="attributes" id="@dschmidt/provider-google.CloudSchedulerJobPubsubTarget.property.attributes"></a>

```typescript
public readonly attributes: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Attributes for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#attributes CloudSchedulerJob#attributes}

---

##### `data`<sup>Optional</sup> <a name="data" id="@dschmidt/provider-google.CloudSchedulerJobPubsubTarget.property.data"></a>

```typescript
public readonly data: string;
```

- *Type:* string

The message payload for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute.

A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#data CloudSchedulerJob#data}

---

### CloudSchedulerJobRetryConfig <a name="CloudSchedulerJobRetryConfig" id="@dschmidt/provider-google.CloudSchedulerJobRetryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudSchedulerJobRetryConfig.Initializer"></a>

```typescript
import { CloudSchedulerJobRetryConfig } from '@dschmidt/provider-google'

const cloudSchedulerJobRetryConfig: CloudSchedulerJobRetryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.maxBackoffDuration">maxBackoffDuration</a></code> | <code>string</code> | The maximum amount of time to wait before retrying a job after it fails. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.maxDoublings">maxDoublings</a></code> | <code>number</code> | The time between retries will double maxDoublings times. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.maxRetryDuration">maxRetryDuration</a></code> | <code>string</code> | The time limit for retrying a failed job, measured from time when an execution was first attempted. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.minBackoffDuration">minBackoffDuration</a></code> | <code>string</code> | The minimum amount of time to wait before retrying a job after it fails. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.retryCount">retryCount</a></code> | <code>number</code> | The number of attempts that the system will make to run a  job using the exponential backoff procedure described by maxDoublings. |

---

##### `maxBackoffDuration`<sup>Optional</sup> <a name="maxBackoffDuration" id="@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.maxBackoffDuration"></a>

```typescript
public readonly maxBackoffDuration: string;
```

- *Type:* string

The maximum amount of time to wait before retrying a job after it fails.

A duration in seconds with up to nine fractional digits, terminated by 's'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#max_backoff_duration CloudSchedulerJob#max_backoff_duration}

---

##### `maxDoublings`<sup>Optional</sup> <a name="maxDoublings" id="@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.maxDoublings"></a>

```typescript
public readonly maxDoublings: number;
```

- *Type:* number

The time between retries will double maxDoublings times.

A job's retry interval starts at minBackoffDuration, 
then doubles maxDoublings times, then increases linearly, 
and finally retries retries at intervals of maxBackoffDuration up to retryCount times.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#max_doublings CloudSchedulerJob#max_doublings}

---

##### `maxRetryDuration`<sup>Optional</sup> <a name="maxRetryDuration" id="@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.maxRetryDuration"></a>

```typescript
public readonly maxRetryDuration: string;
```

- *Type:* string

The time limit for retrying a failed job, measured from time when an execution was first attempted.

If specified with retryCount, the job will be retried until both limits are reached.
A duration in seconds with up to nine fractional digits, terminated by 's'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#max_retry_duration CloudSchedulerJob#max_retry_duration}

---

##### `minBackoffDuration`<sup>Optional</sup> <a name="minBackoffDuration" id="@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.minBackoffDuration"></a>

```typescript
public readonly minBackoffDuration: string;
```

- *Type:* string

The minimum amount of time to wait before retrying a job after it fails.

A duration in seconds with up to nine fractional digits, terminated by 's'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#min_backoff_duration CloudSchedulerJob#min_backoff_duration}

---

##### `retryCount`<sup>Optional</sup> <a name="retryCount" id="@dschmidt/provider-google.CloudSchedulerJobRetryConfig.property.retryCount"></a>

```typescript
public readonly retryCount: number;
```

- *Type:* number

The number of attempts that the system will make to run a  job using the exponential backoff procedure described by maxDoublings.

Values greater than 5 and negative values are not allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#retry_count CloudSchedulerJob#retry_count}

---

### CloudSchedulerJobTimeouts <a name="CloudSchedulerJobTimeouts" id="@dschmidt/provider-google.CloudSchedulerJobTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudSchedulerJobTimeouts.Initializer"></a>

```typescript
import { CloudSchedulerJobTimeouts } from '@dschmidt/provider-google'

const cloudSchedulerJobTimeouts: CloudSchedulerJobTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#create CloudSchedulerJob#create}. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#delete CloudSchedulerJob#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudSchedulerJobTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#update CloudSchedulerJob#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudSchedulerJobTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#create CloudSchedulerJob#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudSchedulerJobTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#delete CloudSchedulerJob#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudSchedulerJobTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_scheduler_job#update CloudSchedulerJob#update}.

---

### CloudTasksQueueAppEngineRoutingOverride <a name="CloudTasksQueueAppEngineRoutingOverride" id="@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride.Initializer"></a>

```typescript
import { CloudTasksQueueAppEngineRoutingOverride } from '@dschmidt/provider-google'

const cloudTasksQueueAppEngineRoutingOverride: CloudTasksQueueAppEngineRoutingOverride = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride.property.instance">instance</a></code> | <code>string</code> | App instance. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride.property.service">service</a></code> | <code>string</code> | App service. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride.property.version">version</a></code> | <code>string</code> | App version. |

---

##### `instance`<sup>Optional</sup> <a name="instance" id="@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

App instance.

By default, the task is sent to an instance which is available when the task is attempted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#instance CloudTasksQueue#instance}

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

App service.

By default, the task is sent to the service which is the default service when the task is attempted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#service CloudTasksQueue#service}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

App version.

By default, the task is sent to the version which is the default version when the task is attempted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#version CloudTasksQueue#version}

---

### CloudTasksQueueConfig <a name="CloudTasksQueueConfig" id="@dschmidt/provider-google.CloudTasksQueueConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueConfig.Initializer"></a>

```typescript
import { CloudTasksQueueConfig } from '@dschmidt/provider-google'

const cloudTasksQueueConfig: CloudTasksQueueConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.location">location</a></code> | <code>string</code> | The location of the queue. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.appEngineRoutingOverride">appEngineRoutingOverride</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride">CloudTasksQueueAppEngineRoutingOverride</a></code> | app_engine_routing_override block. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#id CloudTasksQueue#id}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.name">name</a></code> | <code>string</code> | The queue name. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#project CloudTasksQueue#project}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.rateLimits">rateLimits</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueRateLimits">CloudTasksQueueRateLimits</a></code> | rate_limits block. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.retryConfig">retryConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig">CloudTasksQueueRetryConfig</a></code> | retry_config block. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.stackdriverLoggingConfig">stackdriverLoggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfig">CloudTasksQueueStackdriverLoggingConfig</a></code> | stackdriver_logging_config block. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueTimeouts">CloudTasksQueueTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the queue.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#location CloudTasksQueue#location}

---

##### `appEngineRoutingOverride`<sup>Optional</sup> <a name="appEngineRoutingOverride" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.appEngineRoutingOverride"></a>

```typescript
public readonly appEngineRoutingOverride: CloudTasksQueueAppEngineRoutingOverride;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueAppEngineRoutingOverride">CloudTasksQueueAppEngineRoutingOverride</a>

app_engine_routing_override block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#app_engine_routing_override CloudTasksQueue#app_engine_routing_override}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#id CloudTasksQueue#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The queue name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#name CloudTasksQueue#name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#project CloudTasksQueue#project}.

---

##### `rateLimits`<sup>Optional</sup> <a name="rateLimits" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.rateLimits"></a>

```typescript
public readonly rateLimits: CloudTasksQueueRateLimits;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueRateLimits">CloudTasksQueueRateLimits</a>

rate_limits block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#rate_limits CloudTasksQueue#rate_limits}

---

##### `retryConfig`<sup>Optional</sup> <a name="retryConfig" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.retryConfig"></a>

```typescript
public readonly retryConfig: CloudTasksQueueRetryConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig">CloudTasksQueueRetryConfig</a>

retry_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#retry_config CloudTasksQueue#retry_config}

---

##### `stackdriverLoggingConfig`<sup>Optional</sup> <a name="stackdriverLoggingConfig" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.stackdriverLoggingConfig"></a>

```typescript
public readonly stackdriverLoggingConfig: CloudTasksQueueStackdriverLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfig">CloudTasksQueueStackdriverLoggingConfig</a>

stackdriver_logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#stackdriver_logging_config CloudTasksQueue#stackdriver_logging_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.CloudTasksQueueConfig.property.timeouts"></a>

```typescript
public readonly timeouts: CloudTasksQueueTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueTimeouts">CloudTasksQueueTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#timeouts CloudTasksQueue#timeouts}

---

### CloudTasksQueueIamBindingCondition <a name="CloudTasksQueueIamBindingCondition" id="@dschmidt/provider-google.CloudTasksQueueIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueIamBindingCondition.Initializer"></a>

```typescript
import { CloudTasksQueueIamBindingCondition } from '@dschmidt/provider-google'

const cloudTasksQueueIamBindingCondition: CloudTasksQueueIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#expression CloudTasksQueueIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#title CloudTasksQueueIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#description CloudTasksQueueIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudTasksQueueIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#expression CloudTasksQueueIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.CloudTasksQueueIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#title CloudTasksQueueIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudTasksQueueIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#description CloudTasksQueueIamBinding#description}.

---

### CloudTasksQueueIamBindingConfig <a name="CloudTasksQueueIamBindingConfig" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.Initializer"></a>

```typescript
import { CloudTasksQueueIamBindingConfig } from '@dschmidt/provider-google'

const cloudTasksQueueIamBindingConfig: CloudTasksQueueIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#members CloudTasksQueueIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#name CloudTasksQueueIamBinding#name}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#role CloudTasksQueueIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingCondition">CloudTasksQueueIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#id CloudTasksQueueIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#location CloudTasksQueueIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#project CloudTasksQueueIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#members CloudTasksQueueIamBinding#members}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#name CloudTasksQueueIamBinding#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#role CloudTasksQueueIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: CloudTasksQueueIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamBindingCondition">CloudTasksQueueIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#condition CloudTasksQueueIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#id CloudTasksQueueIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#location CloudTasksQueueIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudTasksQueueIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_binding#project CloudTasksQueueIamBinding#project}.

---

### CloudTasksQueueIamMemberCondition <a name="CloudTasksQueueIamMemberCondition" id="@dschmidt/provider-google.CloudTasksQueueIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueIamMemberCondition.Initializer"></a>

```typescript
import { CloudTasksQueueIamMemberCondition } from '@dschmidt/provider-google'

const cloudTasksQueueIamMemberCondition: CloudTasksQueueIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#expression CloudTasksQueueIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#title CloudTasksQueueIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#description CloudTasksQueueIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.CloudTasksQueueIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#expression CloudTasksQueueIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.CloudTasksQueueIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#title CloudTasksQueueIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.CloudTasksQueueIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#description CloudTasksQueueIamMember#description}.

---

### CloudTasksQueueIamMemberConfig <a name="CloudTasksQueueIamMemberConfig" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.Initializer"></a>

```typescript
import { CloudTasksQueueIamMemberConfig } from '@dschmidt/provider-google'

const cloudTasksQueueIamMemberConfig: CloudTasksQueueIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#member CloudTasksQueueIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#name CloudTasksQueueIamMember#name}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#role CloudTasksQueueIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberCondition">CloudTasksQueueIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#id CloudTasksQueueIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#location CloudTasksQueueIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#project CloudTasksQueueIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#member CloudTasksQueueIamMember#member}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#name CloudTasksQueueIamMember#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#role CloudTasksQueueIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: CloudTasksQueueIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.CloudTasksQueueIamMemberCondition">CloudTasksQueueIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#condition CloudTasksQueueIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#id CloudTasksQueueIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#location CloudTasksQueueIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudTasksQueueIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_member#project CloudTasksQueueIamMember#project}.

---

### CloudTasksQueueIamPolicyConfig <a name="CloudTasksQueueIamPolicyConfig" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.Initializer"></a>

```typescript
import { CloudTasksQueueIamPolicyConfig } from '@dschmidt/provider-google'

const cloudTasksQueueIamPolicyConfig: CloudTasksQueueIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#name CloudTasksQueueIamPolicy#name}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#policy_data CloudTasksQueueIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#id CloudTasksQueueIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#location CloudTasksQueueIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#project CloudTasksQueueIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#name CloudTasksQueueIamPolicy#name}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#policy_data CloudTasksQueueIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#id CloudTasksQueueIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#location CloudTasksQueueIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.CloudTasksQueueIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue_iam_policy#project CloudTasksQueueIamPolicy#project}.

---

### CloudTasksQueueRateLimits <a name="CloudTasksQueueRateLimits" id="@dschmidt/provider-google.CloudTasksQueueRateLimits"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueRateLimits.Initializer"></a>

```typescript
import { CloudTasksQueueRateLimits } from '@dschmidt/provider-google'

const cloudTasksQueueRateLimits: CloudTasksQueueRateLimits = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueRateLimits.property.maxConcurrentDispatches">maxConcurrentDispatches</a></code> | <code>number</code> | The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueRateLimits.property.maxDispatchesPerSecond">maxDispatchesPerSecond</a></code> | <code>number</code> | The maximum rate at which tasks are dispatched from this queue. |

---

##### `maxConcurrentDispatches`<sup>Optional</sup> <a name="maxConcurrentDispatches" id="@dschmidt/provider-google.CloudTasksQueueRateLimits.property.maxConcurrentDispatches"></a>

```typescript
public readonly maxConcurrentDispatches: number;
```

- *Type:* number

The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue.

After this threshold has been
reached, Cloud Tasks stops dispatching tasks until the number of
concurrent requests decreases.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#max_concurrent_dispatches CloudTasksQueue#max_concurrent_dispatches}

---

##### `maxDispatchesPerSecond`<sup>Optional</sup> <a name="maxDispatchesPerSecond" id="@dschmidt/provider-google.CloudTasksQueueRateLimits.property.maxDispatchesPerSecond"></a>

```typescript
public readonly maxDispatchesPerSecond: number;
```

- *Type:* number

The maximum rate at which tasks are dispatched from this queue.

If unspecified when the queue is created, Cloud Tasks will pick the default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#max_dispatches_per_second CloudTasksQueue#max_dispatches_per_second}

---

### CloudTasksQueueRetryConfig <a name="CloudTasksQueueRetryConfig" id="@dschmidt/provider-google.CloudTasksQueueRetryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueRetryConfig.Initializer"></a>

```typescript
import { CloudTasksQueueRetryConfig } from '@dschmidt/provider-google'

const cloudTasksQueueRetryConfig: CloudTasksQueueRetryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | Number of attempts per task. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.maxBackoff">maxBackoff</a></code> | <code>string</code> | A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.maxDoublings">maxDoublings</a></code> | <code>number</code> | The time between retries will double maxDoublings times. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.maxRetryDuration">maxRetryDuration</a></code> | <code>string</code> | If positive, maxRetryDuration specifies the time limit for retrying a failed task, measured from when the task was first attempted. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.minBackoff">minBackoff</a></code> | <code>string</code> | A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. |

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

Number of attempts per task.

Cloud Tasks will attempt the task maxAttempts times (that is, if
the first attempt fails, then there will be maxAttempts - 1
retries). Must be >= -1.

If unspecified when the queue is created, Cloud Tasks will pick
the default.

-1 indicates unlimited attempts.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#max_attempts CloudTasksQueue#max_attempts}

---

##### `maxBackoff`<sup>Optional</sup> <a name="maxBackoff" id="@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.maxBackoff"></a>

```typescript
public readonly maxBackoff: string;
```

- *Type:* string

A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#max_backoff CloudTasksQueue#max_backoff}

---

##### `maxDoublings`<sup>Optional</sup> <a name="maxDoublings" id="@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.maxDoublings"></a>

```typescript
public readonly maxDoublings: number;
```

- *Type:* number

The time between retries will double maxDoublings times.

A task's retry interval starts at minBackoff, then doubles maxDoublings times,
then increases linearly, and finally retries retries at intervals of maxBackoff
up to maxAttempts times.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#max_doublings CloudTasksQueue#max_doublings}

---

##### `maxRetryDuration`<sup>Optional</sup> <a name="maxRetryDuration" id="@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.maxRetryDuration"></a>

```typescript
public readonly maxRetryDuration: string;
```

- *Type:* string

If positive, maxRetryDuration specifies the time limit for retrying a failed task, measured from when the task was first attempted.

Once maxRetryDuration time has passed and the task has
been attempted maxAttempts times, no further attempts will be
made and the task will be deleted.

If zero, then the task age is unlimited.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#max_retry_duration CloudTasksQueue#max_retry_duration}

---

##### `minBackoff`<sup>Optional</sup> <a name="minBackoff" id="@dschmidt/provider-google.CloudTasksQueueRetryConfig.property.minBackoff"></a>

```typescript
public readonly minBackoff: string;
```

- *Type:* string

A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#min_backoff CloudTasksQueue#min_backoff}

---

### CloudTasksQueueStackdriverLoggingConfig <a name="CloudTasksQueueStackdriverLoggingConfig" id="@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfig.Initializer"></a>

```typescript
import { CloudTasksQueueStackdriverLoggingConfig } from '@dschmidt/provider-google'

const cloudTasksQueueStackdriverLoggingConfig: CloudTasksQueueStackdriverLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfig.property.samplingRatio">samplingRatio</a></code> | <code>number</code> | Specifies the fraction of operations to write to Stackdriver Logging. |

---

##### `samplingRatio`<sup>Required</sup> <a name="samplingRatio" id="@dschmidt/provider-google.CloudTasksQueueStackdriverLoggingConfig.property.samplingRatio"></a>

```typescript
public readonly samplingRatio: number;
```

- *Type:* number

Specifies the fraction of operations to write to Stackdriver Logging.

This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the
default and means that no operations are logged.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#sampling_ratio CloudTasksQueue#sampling_ratio}

---

### CloudTasksQueueTimeouts <a name="CloudTasksQueueTimeouts" id="@dschmidt/provider-google.CloudTasksQueueTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.CloudTasksQueueTimeouts.Initializer"></a>

```typescript
import { CloudTasksQueueTimeouts } from '@dschmidt/provider-google'

const cloudTasksQueueTimeouts: CloudTasksQueueTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#create CloudTasksQueue#create}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#delete CloudTasksQueue#delete}. |
| <code><a href="#@dschmidt/provider-google.CloudTasksQueueTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#update CloudTasksQueue#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.CloudTasksQueueTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#create CloudTasksQueue#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.CloudTasksQueueTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#delete CloudTasksQueue#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.CloudTasksQueueTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/cloud_tasks_queue#update CloudTasksQueue#update}.

---

### ComposerEnvironmentConfig <a name="ComposerEnvironmentConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfig.Initializer"></a>

```typescript
import { ComposerEnvironmentConfig } from '@dschmidt/provider-google'

const composerEnvironmentConfig: ComposerEnvironmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.name">name</a></code> | <code>string</code> | Name of the environment. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA">ComposerEnvironmentConfigA</a></code> | config block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#id ComposerEnvironment#id}. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | User-defined labels for this environment. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.region">region</a></code> | <code>string</code> | The location or Compute Engine region for the environment. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentTimeouts">ComposerEnvironmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#name ComposerEnvironment#name}

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.config"></a>

```typescript
public readonly config: ComposerEnvironmentConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA">ComposerEnvironmentConfigA</a>

config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#config ComposerEnvironment#config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#id ComposerEnvironment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-defined labels for this environment.

The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])?. Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?. No more than 64 labels can be associated with a given environment. Both keys and values must be <= 128 bytes in size.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#labels ComposerEnvironment#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#project ComposerEnvironment#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The location or Compute Engine region for the environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#region ComposerEnvironment#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComposerEnvironmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComposerEnvironmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentTimeouts">ComposerEnvironmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#timeouts ComposerEnvironment#timeouts}

---

### ComposerEnvironmentConfigA <a name="ComposerEnvironmentConfigA" id="@dschmidt/provider-google.ComposerEnvironmentConfigA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigA } from '@dschmidt/provider-google'

const composerEnvironmentConfigA: ComposerEnvironmentConfigA = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.databaseConfig">databaseConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigDatabaseConfig">ComposerEnvironmentConfigDatabaseConfig</a></code> | database_config block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.encryptionConfig">encryptionConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigEncryptionConfig">ComposerEnvironmentConfigEncryptionConfig</a></code> | encryption_config block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.environmentSize">environmentSize</a></code> | <code>string</code> | The size of the Cloud Composer environment. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.maintenanceWindow">maintenanceWindow</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow">ComposerEnvironmentConfigMaintenanceWindow</a></code> | maintenance_window block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.masterAuthorizedNetworksConfig">masterAuthorizedNetworksConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfig">ComposerEnvironmentConfigMasterAuthorizedNetworksConfig</a></code> | master_authorized_networks_config block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig">ComposerEnvironmentConfigNodeConfig</a></code> | node_config block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.nodeCount">nodeCount</a></code> | <code>number</code> | The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.privateEnvironmentConfig">privateEnvironmentConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig">ComposerEnvironmentConfigPrivateEnvironmentConfig</a></code> | private_environment_config block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.softwareConfig">softwareConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig">ComposerEnvironmentConfigSoftwareConfig</a></code> | software_config block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.webServerConfig">webServerConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerConfig">ComposerEnvironmentConfigWebServerConfig</a></code> | web_server_config block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.webServerNetworkAccessControl">webServerNetworkAccessControl</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControl">ComposerEnvironmentConfigWebServerNetworkAccessControl</a></code> | web_server_network_access_control block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigA.property.workloadsConfig">workloadsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig">ComposerEnvironmentConfigWorkloadsConfig</a></code> | workloads_config block. |

---

##### `databaseConfig`<sup>Optional</sup> <a name="databaseConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.databaseConfig"></a>

```typescript
public readonly databaseConfig: ComposerEnvironmentConfigDatabaseConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigDatabaseConfig">ComposerEnvironmentConfigDatabaseConfig</a>

database_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#database_config ComposerEnvironment#database_config}

---

##### `encryptionConfig`<sup>Optional</sup> <a name="encryptionConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.encryptionConfig"></a>

```typescript
public readonly encryptionConfig: ComposerEnvironmentConfigEncryptionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigEncryptionConfig">ComposerEnvironmentConfigEncryptionConfig</a>

encryption_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#encryption_config ComposerEnvironment#encryption_config}

---

##### `environmentSize`<sup>Optional</sup> <a name="environmentSize" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.environmentSize"></a>

```typescript
public readonly environmentSize: string;
```

- *Type:* string

The size of the Cloud Composer environment.

This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#environment_size ComposerEnvironment#environment_size}

---

##### `maintenanceWindow`<sup>Optional</sup> <a name="maintenanceWindow" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.maintenanceWindow"></a>

```typescript
public readonly maintenanceWindow: ComposerEnvironmentConfigMaintenanceWindow;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow">ComposerEnvironmentConfigMaintenanceWindow</a>

maintenance_window block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#maintenance_window ComposerEnvironment#maintenance_window}

---

##### `masterAuthorizedNetworksConfig`<sup>Optional</sup> <a name="masterAuthorizedNetworksConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.masterAuthorizedNetworksConfig"></a>

```typescript
public readonly masterAuthorizedNetworksConfig: ComposerEnvironmentConfigMasterAuthorizedNetworksConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfig">ComposerEnvironmentConfigMasterAuthorizedNetworksConfig</a>

master_authorized_networks_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#master_authorized_networks_config ComposerEnvironment#master_authorized_networks_config}

---

##### `nodeConfig`<sup>Optional</sup> <a name="nodeConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: ComposerEnvironmentConfigNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig">ComposerEnvironmentConfigNodeConfig</a>

node_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#node_config ComposerEnvironment#node_config}

---

##### `nodeCount`<sup>Optional</sup> <a name="nodeCount" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.nodeCount"></a>

```typescript
public readonly nodeCount: number;
```

- *Type:* number

The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.

This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#node_count ComposerEnvironment#node_count}

---

##### `privateEnvironmentConfig`<sup>Optional</sup> <a name="privateEnvironmentConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.privateEnvironmentConfig"></a>

```typescript
public readonly privateEnvironmentConfig: ComposerEnvironmentConfigPrivateEnvironmentConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig">ComposerEnvironmentConfigPrivateEnvironmentConfig</a>

private_environment_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#private_environment_config ComposerEnvironment#private_environment_config}

---

##### `softwareConfig`<sup>Optional</sup> <a name="softwareConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.softwareConfig"></a>

```typescript
public readonly softwareConfig: ComposerEnvironmentConfigSoftwareConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig">ComposerEnvironmentConfigSoftwareConfig</a>

software_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#software_config ComposerEnvironment#software_config}

---

##### `webServerConfig`<sup>Optional</sup> <a name="webServerConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.webServerConfig"></a>

```typescript
public readonly webServerConfig: ComposerEnvironmentConfigWebServerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerConfig">ComposerEnvironmentConfigWebServerConfig</a>

web_server_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#web_server_config ComposerEnvironment#web_server_config}

---

##### `webServerNetworkAccessControl`<sup>Optional</sup> <a name="webServerNetworkAccessControl" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.webServerNetworkAccessControl"></a>

```typescript
public readonly webServerNetworkAccessControl: ComposerEnvironmentConfigWebServerNetworkAccessControl;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControl">ComposerEnvironmentConfigWebServerNetworkAccessControl</a>

web_server_network_access_control block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#web_server_network_access_control ComposerEnvironment#web_server_network_access_control}

---

##### `workloadsConfig`<sup>Optional</sup> <a name="workloadsConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigA.property.workloadsConfig"></a>

```typescript
public readonly workloadsConfig: ComposerEnvironmentConfigWorkloadsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig">ComposerEnvironmentConfigWorkloadsConfig</a>

workloads_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#workloads_config ComposerEnvironment#workloads_config}

---

### ComposerEnvironmentConfigDatabaseConfig <a name="ComposerEnvironmentConfigDatabaseConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigDatabaseConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigDatabaseConfig.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigDatabaseConfig } from '@dschmidt/provider-google'

const composerEnvironmentConfigDatabaseConfig: ComposerEnvironmentConfigDatabaseConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigDatabaseConfig.property.machineType">machineType</a></code> | <code>string</code> | Optional. |

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.ComposerEnvironmentConfigDatabaseConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

Optional.

Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. If not specified, db-n1-standard-2 will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#machine_type ComposerEnvironment#machine_type}

---

### ComposerEnvironmentConfigEncryptionConfig <a name="ComposerEnvironmentConfigEncryptionConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigEncryptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigEncryptionConfig.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigEncryptionConfig } from '@dschmidt/provider-google'

const composerEnvironmentConfigEncryptionConfig: ComposerEnvironmentConfigEncryptionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigEncryptionConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Optional. Customer-managed Encryption Key available through Google's Key Management Service. Cannot be updated. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.ComposerEnvironmentConfigEncryptionConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Optional. Customer-managed Encryption Key available through Google's Key Management Service. Cannot be updated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#kms_key_name ComposerEnvironment#kms_key_name}

---

### ComposerEnvironmentConfigMaintenanceWindow <a name="ComposerEnvironmentConfigMaintenanceWindow" id="@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigMaintenanceWindow } from '@dschmidt/provider-google'

const composerEnvironmentConfigMaintenanceWindow: ComposerEnvironmentConfigMaintenanceWindow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow.property.endTime">endTime</a></code> | <code>string</code> | Maintenance window end time. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow.property.recurrence">recurrence</a></code> | <code>string</code> | Maintenance window recurrence. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow.property.startTime">startTime</a></code> | <code>string</code> | Start time of the first recurrence of the maintenance window. |

---

##### `endTime`<sup>Required</sup> <a name="endTime" id="@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow.property.endTime"></a>

```typescript
public readonly endTime: string;
```

- *Type:* string

Maintenance window end time.

It is used only to calculate the duration of the maintenance window. The value for end-time must be in the future, relative to 'start_time'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#end_time ComposerEnvironment#end_time}

---

##### `recurrence`<sup>Required</sup> <a name="recurrence" id="@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow.property.recurrence"></a>

```typescript
public readonly recurrence: string;
```

- *Type:* string

Maintenance window recurrence.

Format is a subset of RFC-5545 (https://tools.ietf.org/html/rfc5545) 'RRULE'. The only allowed values for 'FREQ' field are 'FREQ=DAILY' and 'FREQ=WEEKLY;BYDAY=...'. Example values: 'FREQ=WEEKLY;BYDAY=TU,WE', 'FREQ=DAILY'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#recurrence ComposerEnvironment#recurrence}

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.ComposerEnvironmentConfigMaintenanceWindow.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

Start time of the first recurrence of the maintenance window.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#start_time ComposerEnvironment#start_time}

---

### ComposerEnvironmentConfigMasterAuthorizedNetworksConfig <a name="ComposerEnvironmentConfigMasterAuthorizedNetworksConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfig.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigMasterAuthorizedNetworksConfig } from '@dschmidt/provider-google'

const composerEnvironmentConfigMasterAuthorizedNetworksConfig: ComposerEnvironmentConfigMasterAuthorizedNetworksConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not master authorized networks is enabled. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfig.property.cidrBlocks">cidrBlocks</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks">ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks</a>[]</code> | cidr_blocks block. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not master authorized networks is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#enabled ComposerEnvironment#enabled}

---

##### `cidrBlocks`<sup>Optional</sup> <a name="cidrBlocks" id="@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfig.property.cidrBlocks"></a>

```typescript
public readonly cidrBlocks: IResolvable | ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks">ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks</a>[]

cidr_blocks block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cidr_blocks ComposerEnvironment#cidr_blocks}

---

### ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks <a name="ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks" id="@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks } from '@dschmidt/provider-google'

const composerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks: ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks.property.cidrBlock">cidrBlock</a></code> | <code>string</code> | cidr_block must be specified in CIDR notation. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks.property.displayName">displayName</a></code> | <code>string</code> | display_name is a field for users to identify CIDR blocks. |

---

##### `cidrBlock`<sup>Required</sup> <a name="cidrBlock" id="@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks.property.cidrBlock"></a>

```typescript
public readonly cidrBlock: string;
```

- *Type:* string

cidr_block must be specified in CIDR notation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cidr_block ComposerEnvironment#cidr_block}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.ComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

display_name is a field for users to identify CIDR blocks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#display_name ComposerEnvironment#display_name}

---

### ComposerEnvironmentConfigNodeConfig <a name="ComposerEnvironmentConfigNodeConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigNodeConfig } from '@dschmidt/provider-google'

const composerEnvironmentConfigNodeConfig: ComposerEnvironmentConfigNodeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | The disk size in GB used for node VMs. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.enableIpMasqAgent">enableIpMasqAgent</a></code> | <code>boolean \| cdktf.IResolvable</code> | Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.ipAllocationPolicy">ipAllocationPolicy</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy">ComposerEnvironmentConfigNodeConfigIpAllocationPolicy</a>[]</code> | Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.machineType">machineType</a></code> | <code>string</code> | The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.network">network</a></code> | <code>string</code> | The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.oauthScopes">oauthScopes</a></code> | <code>string[]</code> | The set of Google API scopes to be made available on all node VMs. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | The Google Cloud Platform Service Account to be used by the node VMs. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.tags">tags</a></code> | <code>string[]</code> | The list of instance tags applied to all node VMs. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.zone">zone</a></code> | <code>string</code> | The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. |

---

##### `diskSizeGb`<sup>Optional</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

The disk size in GB used for node VMs.

Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#disk_size_gb ComposerEnvironment#disk_size_gb}

---

##### `enableIpMasqAgent`<sup>Optional</sup> <a name="enableIpMasqAgent" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.enableIpMasqAgent"></a>

```typescript
public readonly enableIpMasqAgent: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic.

See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#enable_ip_masq_agent ComposerEnvironment#enable_ip_masq_agent}

---

##### `ipAllocationPolicy`<sup>Optional</sup> <a name="ipAllocationPolicy" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.ipAllocationPolicy"></a>

```typescript
public readonly ipAllocationPolicy: IResolvable | ComposerEnvironmentConfigNodeConfigIpAllocationPolicy[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy">ComposerEnvironmentConfigNodeConfigIpAllocationPolicy</a>[]

Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#ip_allocation_policy ComposerEnvironment#ip_allocation_policy}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The Compute Engine machine type used for cluster instances, specified as a name or relative resource name.

For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#machine_type ComposerEnvironment#machine_type}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The Compute Engine machine type used for cluster instances, specified as a name or relative resource name.

For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a Custom Subnet Network is provided, subnetwork must also be provided.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#network ComposerEnvironment#network}

---

##### `oauthScopes`<sup>Optional</sup> <a name="oauthScopes" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.oauthScopes"></a>

```typescript
public readonly oauthScopes: string[];
```

- *Type:* string[]

The set of Google API scopes to be made available on all node VMs.

Cannot be updated. If empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#oauth_scopes ComposerEnvironment#oauth_scopes}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

The Google Cloud Platform Service Account to be used by the node VMs.

If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. If given, note that the service account must have roles/composer.worker for any GCP resources created under the Cloud Composer Environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#service_account ComposerEnvironment#service_account}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#subnetwork ComposerEnvironment#subnetwork}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The list of instance tags applied to all node VMs.

Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#tags ComposerEnvironment#tags}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#zone ComposerEnvironment#zone}

---

### ComposerEnvironmentConfigNodeConfigIpAllocationPolicy <a name="ComposerEnvironmentConfigNodeConfigIpAllocationPolicy" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigNodeConfigIpAllocationPolicy } from '@dschmidt/provider-google'

const composerEnvironmentConfigNodeConfigIpAllocationPolicy: ComposerEnvironmentConfigNodeConfigIpAllocationPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.clusterIpv4CidrBlock">clusterIpv4CidrBlock</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cluster_ipv4_cidr_block ComposerEnvironment#cluster_ipv4_cidr_block}. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.clusterSecondaryRangeName">clusterSecondaryRangeName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cluster_secondary_range_name ComposerEnvironment#cluster_secondary_range_name}. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.servicesIpv4CidrBlock">servicesIpv4CidrBlock</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#services_ipv4_cidr_block ComposerEnvironment#services_ipv4_cidr_block}. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.servicesSecondaryRangeName">servicesSecondaryRangeName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#services_secondary_range_name ComposerEnvironment#services_secondary_range_name}. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.useIpAliases">useIpAliases</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#use_ip_aliases ComposerEnvironment#use_ip_aliases}. |

---

##### `clusterIpv4CidrBlock`<sup>Optional</sup> <a name="clusterIpv4CidrBlock" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.clusterIpv4CidrBlock"></a>

```typescript
public readonly clusterIpv4CidrBlock: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cluster_ipv4_cidr_block ComposerEnvironment#cluster_ipv4_cidr_block}.

---

##### `clusterSecondaryRangeName`<sup>Optional</sup> <a name="clusterSecondaryRangeName" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.clusterSecondaryRangeName"></a>

```typescript
public readonly clusterSecondaryRangeName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cluster_secondary_range_name ComposerEnvironment#cluster_secondary_range_name}.

---

##### `servicesIpv4CidrBlock`<sup>Optional</sup> <a name="servicesIpv4CidrBlock" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.servicesIpv4CidrBlock"></a>

```typescript
public readonly servicesIpv4CidrBlock: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#services_ipv4_cidr_block ComposerEnvironment#services_ipv4_cidr_block}.

---

##### `servicesSecondaryRangeName`<sup>Optional</sup> <a name="servicesSecondaryRangeName" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.servicesSecondaryRangeName"></a>

```typescript
public readonly servicesSecondaryRangeName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#services_secondary_range_name ComposerEnvironment#services_secondary_range_name}.

---

##### `useIpAliases`<sup>Optional</sup> <a name="useIpAliases" id="@dschmidt/provider-google.ComposerEnvironmentConfigNodeConfigIpAllocationPolicy.property.useIpAliases"></a>

```typescript
public readonly useIpAliases: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#use_ip_aliases ComposerEnvironment#use_ip_aliases}.

---

### ComposerEnvironmentConfigPrivateEnvironmentConfig <a name="ComposerEnvironmentConfigPrivateEnvironmentConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigPrivateEnvironmentConfig } from '@dschmidt/provider-google'

const composerEnvironmentConfigPrivateEnvironmentConfig: ComposerEnvironmentConfigPrivateEnvironmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.cloudComposerConnectionSubnetwork">cloudComposerConnectionSubnetwork</a></code> | <code>string</code> | When specified, the environment will use Private Service Connect instead of VPC peerings to connect to Cloud SQL in the Tenant Project, and the PSC endpoint in the Customer Project will use an IP address from this subnetwork. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.cloudComposerNetworkIpv4CidrBlock">cloudComposerNetworkIpv4CidrBlock</a></code> | <code>string</code> | The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.cloudSqlIpv4CidrBlock">cloudSqlIpv4CidrBlock</a></code> | <code>string</code> | The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.enablePrivateEndpoint">enablePrivateEndpoint</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, access to the public endpoint of the GKE cluster is denied. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.enablePrivatelyUsedPublicIps">enablePrivatelyUsedPublicIps</a></code> | <code>boolean \| cdktf.IResolvable</code> | When enabled, IPs from public (non-RFC1918) ranges can be used for ip_allocation_policy.cluster_ipv4_cidr_block and ip_allocation_policy.service_ipv4_cidr_block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.masterIpv4CidrBlock">masterIpv4CidrBlock</a></code> | <code>string</code> | The IP range in CIDR notation to use for the hosted master network. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.webServerIpv4CidrBlock">webServerIpv4CidrBlock</a></code> | <code>string</code> | The CIDR block from which IP range for web server will be reserved. |

---

##### `cloudComposerConnectionSubnetwork`<sup>Optional</sup> <a name="cloudComposerConnectionSubnetwork" id="@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.cloudComposerConnectionSubnetwork"></a>

```typescript
public readonly cloudComposerConnectionSubnetwork: string;
```

- *Type:* string

When specified, the environment will use Private Service Connect instead of VPC peerings to connect to Cloud SQL in the Tenant Project, and the PSC endpoint in the Customer Project will use an IP address from this subnetwork.

This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cloud_composer_connection_subnetwork ComposerEnvironment#cloud_composer_connection_subnetwork}

---

##### `cloudComposerNetworkIpv4CidrBlock`<sup>Optional</sup> <a name="cloudComposerNetworkIpv4CidrBlock" id="@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.cloudComposerNetworkIpv4CidrBlock"></a>

```typescript
public readonly cloudComposerNetworkIpv4CidrBlock: string;
```

- *Type:* string

The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved.

Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cloud_composer_network_ipv4_cidr_block ComposerEnvironment#cloud_composer_network_ipv4_cidr_block}

---

##### `cloudSqlIpv4CidrBlock`<sup>Optional</sup> <a name="cloudSqlIpv4CidrBlock" id="@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.cloudSqlIpv4CidrBlock"></a>

```typescript
public readonly cloudSqlIpv4CidrBlock: string;
```

- *Type:* string

The CIDR block from which IP range in tenant project will be reserved for Cloud SQL.

Needs to be disjoint from web_server_ipv4_cidr_block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cloud_sql_ipv4_cidr_block ComposerEnvironment#cloud_sql_ipv4_cidr_block}

---

##### `enablePrivateEndpoint`<sup>Optional</sup> <a name="enablePrivateEndpoint" id="@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.enablePrivateEndpoint"></a>

```typescript
public readonly enablePrivateEndpoint: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, access to the public endpoint of the GKE cluster is denied.

If this field is set to true, ip_allocation_policy.use_ip_aliases must be set to true for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#enable_private_endpoint ComposerEnvironment#enable_private_endpoint}

---

##### `enablePrivatelyUsedPublicIps`<sup>Optional</sup> <a name="enablePrivatelyUsedPublicIps" id="@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.enablePrivatelyUsedPublicIps"></a>

```typescript
public readonly enablePrivatelyUsedPublicIps: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When enabled, IPs from public (non-RFC1918) ranges can be used for ip_allocation_policy.cluster_ipv4_cidr_block and ip_allocation_policy.service_ipv4_cidr_block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#enable_privately_used_public_ips ComposerEnvironment#enable_privately_used_public_ips}

---

##### `masterIpv4CidrBlock`<sup>Optional</sup> <a name="masterIpv4CidrBlock" id="@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.masterIpv4CidrBlock"></a>

```typescript
public readonly masterIpv4CidrBlock: string;
```

- *Type:* string

The IP range in CIDR notation to use for the hosted master network.

This range is used for assigning internal IP addresses to the cluster master or set of masters and to the internal load balancer virtual IP. This range must not overlap with any other ranges in use within the cluster's network. If left blank, the default value of '172.16.0.0/28' is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#master_ipv4_cidr_block ComposerEnvironment#master_ipv4_cidr_block}

---

##### `webServerIpv4CidrBlock`<sup>Optional</sup> <a name="webServerIpv4CidrBlock" id="@dschmidt/provider-google.ComposerEnvironmentConfigPrivateEnvironmentConfig.property.webServerIpv4CidrBlock"></a>

```typescript
public readonly webServerIpv4CidrBlock: string;
```

- *Type:* string

The CIDR block from which IP range for web server will be reserved.

Needs to be disjoint from master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#web_server_ipv4_cidr_block ComposerEnvironment#web_server_ipv4_cidr_block}

---

### ComposerEnvironmentConfigSoftwareConfig <a name="ComposerEnvironmentConfigSoftwareConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigSoftwareConfig } from '@dschmidt/provider-google'

const composerEnvironmentConfigSoftwareConfig: ComposerEnvironmentConfigSoftwareConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.airflowConfigOverrides">airflowConfigOverrides</a></code> | <code>{[ key: string ]: string}</code> | Apache Airflow configuration properties to override. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.envVariables">envVariables</a></code> | <code>{[ key: string ]: string}</code> | Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.imageVersion">imageVersion</a></code> | <code>string</code> | The version of the software running in the environment. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.pypiPackages">pypiPackages</a></code> | <code>{[ key: string ]: string}</code> | Custom Python Package Index (PyPI) packages to be installed in the environment. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.pythonVersion">pythonVersion</a></code> | <code>string</code> | The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.schedulerCount">schedulerCount</a></code> | <code>number</code> | The number of schedulers for Airflow. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. |

---

##### `airflowConfigOverrides`<sup>Optional</sup> <a name="airflowConfigOverrides" id="@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.airflowConfigOverrides"></a>

```typescript
public readonly airflowConfigOverrides: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Apache Airflow configuration properties to override.

Property keys contain the section and property names, separated by a hyphen, for example "core-dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square brackets ("["), or closing square brackets ("]"). The property name must not be empty and cannot contain "=" or ";". Section and property names cannot contain characters: "." Apache Airflow configuration property names must be written in snake_case. Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are blacklisted, and cannot be overridden.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#airflow_config_overrides ComposerEnvironment#airflow_config_overrides}

---

##### `envVariables`<sup>Optional</sup> <a name="envVariables" id="@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.envVariables"></a>

```typescript
public readonly envVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes.

Environment variable names must match the regular expression [a-zA-Z_][a-zA-Z0-9_]*. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expression AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+), and they cannot match any of the following reserved names: AIRFLOW_HOME C_FORCE_ROOT CONTAINER_NAME DAGS_FOLDER GCP_PROJECT GCS_BUCKET GKE_CLUSTER_NAME SQL_DATABASE SQL_INSTANCE SQL_PASSWORD SQL_PROJECT SQL_REGION SQL_USER.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#env_variables ComposerEnvironment#env_variables}

---

##### `imageVersion`<sup>Optional</sup> <a name="imageVersion" id="@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.imageVersion"></a>

```typescript
public readonly imageVersion: string;
```

- *Type:* string

The version of the software running in the environment.

This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0-9]+(\.[0-9]+)?)?). The Cloud Composer portion of the image version is a full semantic version, or an alias in the form of major version number or 'latest'. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. See documentation for more details and version list.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#image_version ComposerEnvironment#image_version}

---

##### `pypiPackages`<sup>Optional</sup> <a name="pypiPackages" id="@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.pypiPackages"></a>

```typescript
public readonly pypiPackages: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Custom Python Package Index (PyPI) packages to be installed in the environment.

Keys refer to the lowercase package name (e.g. "numpy"). Values are the lowercase extras and version specifier (e.g. "==1.12.0", "[devel,gcp_api]", "[devel]>=1.8.2, <1.9.2"). To specify a package without pinning it to a version specifier, use the empty string as the value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#pypi_packages ComposerEnvironment#pypi_packages}

---

##### `pythonVersion`<sup>Optional</sup> <a name="pythonVersion" id="@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.pythonVersion"></a>

```typescript
public readonly pythonVersion: string;
```

- *Type:* string

The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes.

Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use Python major version 3.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#python_version ComposerEnvironment#python_version}

---

##### `schedulerCount`<sup>Optional</sup> <a name="schedulerCount" id="@dschmidt/provider-google.ComposerEnvironmentConfigSoftwareConfig.property.schedulerCount"></a>

```typescript
public readonly schedulerCount: number;
```

- *Type:* number

The number of schedulers for Airflow. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#scheduler_count ComposerEnvironment#scheduler_count}

---

### ComposerEnvironmentConfigWebServerConfig <a name="ComposerEnvironmentConfigWebServerConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerConfig.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigWebServerConfig } from '@dschmidt/provider-google'

const composerEnvironmentConfigWebServerConfig: ComposerEnvironmentConfigWebServerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerConfig.property.machineType">machineType</a></code> | <code>string</code> | Optional. |

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

Optional.

Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. If not specified, composer-n1-webserver-2 will be used. Value custom is returned only in response, if Airflow web server parameters were manually changed to a non-standard values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#machine_type ComposerEnvironment#machine_type}

---

### ComposerEnvironmentConfigWebServerNetworkAccessControl <a name="ComposerEnvironmentConfigWebServerNetworkAccessControl" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControl"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControl.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigWebServerNetworkAccessControl } from '@dschmidt/provider-google'

const composerEnvironmentConfigWebServerNetworkAccessControl: ComposerEnvironmentConfigWebServerNetworkAccessControl = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControl.property.allowedIpRange">allowedIpRange</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange">ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange</a>[]</code> | allowed_ip_range block. |

---

##### `allowedIpRange`<sup>Optional</sup> <a name="allowedIpRange" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControl.property.allowedIpRange"></a>

```typescript
public readonly allowedIpRange: IResolvable | ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange">ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange</a>[]

allowed_ip_range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#allowed_ip_range ComposerEnvironment#allowed_ip_range}

---

### ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange <a name="ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange } from '@dschmidt/provider-google'

const composerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange: ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange.property.value">value</a></code> | <code>string</code> | IP address or range, defined using CIDR notation, of requests that this rule applies to. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange.property.description">description</a></code> | <code>string</code> | A description of this ip range. |

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

IP address or range, defined using CIDR notation, of requests that this rule applies to.

Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334. IP range prefixes should be properly truncated. For example, 1.2.3.4/24 should be truncated to 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 should be truncated to 2001:db8::/32.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#value ComposerEnvironment#value}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this ip range.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#description ComposerEnvironment#description}

---

### ComposerEnvironmentConfigWorkloadsConfig <a name="ComposerEnvironmentConfigWorkloadsConfig" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigWorkloadsConfig } from '@dschmidt/provider-google'

const composerEnvironmentConfigWorkloadsConfig: ComposerEnvironmentConfigWorkloadsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig.property.scheduler">scheduler</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler">ComposerEnvironmentConfigWorkloadsConfigScheduler</a></code> | scheduler block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig.property.webServer">webServer</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer">ComposerEnvironmentConfigWorkloadsConfigWebServer</a></code> | web_server block. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig.property.worker">worker</a></code> | <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker">ComposerEnvironmentConfigWorkloadsConfigWorker</a></code> | worker block. |

---

##### `scheduler`<sup>Optional</sup> <a name="scheduler" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig.property.scheduler"></a>

```typescript
public readonly scheduler: ComposerEnvironmentConfigWorkloadsConfigScheduler;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler">ComposerEnvironmentConfigWorkloadsConfigScheduler</a>

scheduler block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#scheduler ComposerEnvironment#scheduler}

---

##### `webServer`<sup>Optional</sup> <a name="webServer" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig.property.webServer"></a>

```typescript
public readonly webServer: ComposerEnvironmentConfigWorkloadsConfigWebServer;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer">ComposerEnvironmentConfigWorkloadsConfigWebServer</a>

web_server block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#web_server ComposerEnvironment#web_server}

---

##### `worker`<sup>Optional</sup> <a name="worker" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfig.property.worker"></a>

```typescript
public readonly worker: ComposerEnvironmentConfigWorkloadsConfigWorker;
```

- *Type:* <a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker">ComposerEnvironmentConfigWorkloadsConfigWorker</a>

worker block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#worker ComposerEnvironment#worker}

---

### ComposerEnvironmentConfigWorkloadsConfigScheduler <a name="ComposerEnvironmentConfigWorkloadsConfigScheduler" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigWorkloadsConfigScheduler } from '@dschmidt/provider-google'

const composerEnvironmentConfigWorkloadsConfigScheduler: ComposerEnvironmentConfigWorkloadsConfigScheduler = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler.property.count">count</a></code> | <code>number</code> | The number of schedulers. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler.property.cpu">cpu</a></code> | <code>number</code> | CPU request and limit for a single Airflow scheduler replica. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler.property.memoryGb">memoryGb</a></code> | <code>number</code> | Memory (GB) request and limit for a single Airflow scheduler replica. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler.property.storageGb">storageGb</a></code> | <code>number</code> | Storage (GB) request and limit for a single Airflow scheduler replica. |

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

The number of schedulers.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#count ComposerEnvironment#count}

---

##### `cpu`<sup>Optional</sup> <a name="cpu" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler.property.cpu"></a>

```typescript
public readonly cpu: number;
```

- *Type:* number

CPU request and limit for a single Airflow scheduler replica.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cpu ComposerEnvironment#cpu}

---

##### `memoryGb`<sup>Optional</sup> <a name="memoryGb" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler.property.memoryGb"></a>

```typescript
public readonly memoryGb: number;
```

- *Type:* number

Memory (GB) request and limit for a single Airflow scheduler replica.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#memory_gb ComposerEnvironment#memory_gb}

---

##### `storageGb`<sup>Optional</sup> <a name="storageGb" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigScheduler.property.storageGb"></a>

```typescript
public readonly storageGb: number;
```

- *Type:* number

Storage (GB) request and limit for a single Airflow scheduler replica.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#storage_gb ComposerEnvironment#storage_gb}

---

### ComposerEnvironmentConfigWorkloadsConfigWebServer <a name="ComposerEnvironmentConfigWorkloadsConfigWebServer" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigWorkloadsConfigWebServer } from '@dschmidt/provider-google'

const composerEnvironmentConfigWorkloadsConfigWebServer: ComposerEnvironmentConfigWorkloadsConfigWebServer = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer.property.cpu">cpu</a></code> | <code>number</code> | CPU request and limit for Airflow web server. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer.property.memoryGb">memoryGb</a></code> | <code>number</code> | Memory (GB) request and limit for Airflow web server. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer.property.storageGb">storageGb</a></code> | <code>number</code> | Storage (GB) request and limit for Airflow web server. |

---

##### `cpu`<sup>Optional</sup> <a name="cpu" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer.property.cpu"></a>

```typescript
public readonly cpu: number;
```

- *Type:* number

CPU request and limit for Airflow web server.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cpu ComposerEnvironment#cpu}

---

##### `memoryGb`<sup>Optional</sup> <a name="memoryGb" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer.property.memoryGb"></a>

```typescript
public readonly memoryGb: number;
```

- *Type:* number

Memory (GB) request and limit for Airflow web server.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#memory_gb ComposerEnvironment#memory_gb}

---

##### `storageGb`<sup>Optional</sup> <a name="storageGb" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWebServer.property.storageGb"></a>

```typescript
public readonly storageGb: number;
```

- *Type:* number

Storage (GB) request and limit for Airflow web server.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#storage_gb ComposerEnvironment#storage_gb}

---

### ComposerEnvironmentConfigWorkloadsConfigWorker <a name="ComposerEnvironmentConfigWorkloadsConfigWorker" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.Initializer"></a>

```typescript
import { ComposerEnvironmentConfigWorkloadsConfigWorker } from '@dschmidt/provider-google'

const composerEnvironmentConfigWorkloadsConfigWorker: ComposerEnvironmentConfigWorkloadsConfigWorker = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.cpu">cpu</a></code> | <code>number</code> | CPU request and limit for a single Airflow worker replica. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.maxCount">maxCount</a></code> | <code>number</code> | Maximum number of workers for autoscaling. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.memoryGb">memoryGb</a></code> | <code>number</code> | Memory (GB) request and limit for a single Airflow worker replica. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.minCount">minCount</a></code> | <code>number</code> | Minimum number of workers for autoscaling. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.storageGb">storageGb</a></code> | <code>number</code> | Storage (GB) request and limit for a single Airflow worker replica. |

---

##### `cpu`<sup>Optional</sup> <a name="cpu" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.cpu"></a>

```typescript
public readonly cpu: number;
```

- *Type:* number

CPU request and limit for a single Airflow worker replica.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#cpu ComposerEnvironment#cpu}

---

##### `maxCount`<sup>Optional</sup> <a name="maxCount" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.maxCount"></a>

```typescript
public readonly maxCount: number;
```

- *Type:* number

Maximum number of workers for autoscaling.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#max_count ComposerEnvironment#max_count}

---

##### `memoryGb`<sup>Optional</sup> <a name="memoryGb" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.memoryGb"></a>

```typescript
public readonly memoryGb: number;
```

- *Type:* number

Memory (GB) request and limit for a single Airflow worker replica.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#memory_gb ComposerEnvironment#memory_gb}

---

##### `minCount`<sup>Optional</sup> <a name="minCount" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.minCount"></a>

```typescript
public readonly minCount: number;
```

- *Type:* number

Minimum number of workers for autoscaling.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#min_count ComposerEnvironment#min_count}

---

##### `storageGb`<sup>Optional</sup> <a name="storageGb" id="@dschmidt/provider-google.ComposerEnvironmentConfigWorkloadsConfigWorker.property.storageGb"></a>

```typescript
public readonly storageGb: number;
```

- *Type:* number

Storage (GB) request and limit for a single Airflow worker replica.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#storage_gb ComposerEnvironment#storage_gb}

---

### ComposerEnvironmentTimeouts <a name="ComposerEnvironmentTimeouts" id="@dschmidt/provider-google.ComposerEnvironmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComposerEnvironmentTimeouts.Initializer"></a>

```typescript
import { ComposerEnvironmentTimeouts } from '@dschmidt/provider-google'

const composerEnvironmentTimeouts: ComposerEnvironmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#create ComposerEnvironment#create}. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#delete ComposerEnvironment#delete}. |
| <code><a href="#@dschmidt/provider-google.ComposerEnvironmentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#update ComposerEnvironment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComposerEnvironmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#create ComposerEnvironment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComposerEnvironmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#delete ComposerEnvironment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComposerEnvironmentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/composer_environment#update ComposerEnvironment#update}.

---

### ComputeAddressConfig <a name="ComputeAddressConfig" id="@dschmidt/provider-google.ComputeAddressConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAddressConfig.Initializer"></a>

```typescript
import { ComputeAddressConfig } from '@dschmidt/provider-google'

const computeAddressConfig: ComputeAddressConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.address">address</a></code> | <code>string</code> | The static external IP address represented by this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.addressType">addressType</a></code> | <code>string</code> | The type of address to reserve. Default value: "EXTERNAL" Possible values: ["INTERNAL", "EXTERNAL"]. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#id ComputeAddress#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.network">network</a></code> | <code>string</code> | The URL of the network in which to reserve the address. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.networkTier">networkTier</a></code> | <code>string</code> | The networking tier used for configuring this address. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.prefixLength">prefixLength</a></code> | <code>number</code> | The prefix length if the resource represents an IP range. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#project ComputeAddress#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.purpose">purpose</a></code> | <code>string</code> | The purpose of this resource, which can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.region">region</a></code> | <code>string</code> | The Region in which the created address should reside. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | The URL of the subnetwork in which to reserve the address. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAddressTimeouts">ComputeAddressTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeAddressConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeAddressConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeAddressConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeAddressConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeAddressConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeAddressConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeAddressConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeAddressConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

The name must be 1-63 characters long, and
comply with RFC1035. Specifically, the name must be 1-63 characters
long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?'
which means the first character must be a lowercase letter, and all
following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#name ComputeAddress#name}

---

##### `address`<sup>Optional</sup> <a name="address" id="@dschmidt/provider-google.ComputeAddressConfig.property.address"></a>

```typescript
public readonly address: string;
```

- *Type:* string

The static external IP address represented by this resource.

Only
IPv4 is supported. An address may only be specified for INTERNAL
address types. The IP address must be inside the specified subnetwork,
if any. Set by the API if undefined.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#address ComputeAddress#address}

---

##### `addressType`<sup>Optional</sup> <a name="addressType" id="@dschmidt/provider-google.ComputeAddressConfig.property.addressType"></a>

```typescript
public readonly addressType: string;
```

- *Type:* string

The type of address to reserve. Default value: "EXTERNAL" Possible values: ["INTERNAL", "EXTERNAL"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#address_type ComputeAddress#address_type}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeAddressConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#description ComputeAddress#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeAddressConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#id ComputeAddress#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeAddressConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The URL of the network in which to reserve the address.

This field
can only be used with INTERNAL type with the VPC_PEERING and
IPSEC_INTERCONNECT purposes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#network ComputeAddress#network}

---

##### `networkTier`<sup>Optional</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeAddressConfig.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

The networking tier used for configuring this address.

If this field is not
specified, it is assumed to be PREMIUM. Possible values: ["PREMIUM", "STANDARD"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#network_tier ComputeAddress#network_tier}

---

##### `prefixLength`<sup>Optional</sup> <a name="prefixLength" id="@dschmidt/provider-google.ComputeAddressConfig.property.prefixLength"></a>

```typescript
public readonly prefixLength: number;
```

- *Type:* number

The prefix length if the resource represents an IP range.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#prefix_length ComputeAddress#prefix_length}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeAddressConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#project ComputeAddress#project}.

---

##### `purpose`<sup>Optional</sup> <a name="purpose" id="@dschmidt/provider-google.ComputeAddressConfig.property.purpose"></a>

```typescript
public readonly purpose: string;
```

- *Type:* string

The purpose of this resource, which can be one of the following values:.

GCE_ENDPOINT for addresses that are used by VM instances, alias IP
ranges, internal load balancers, and similar resources.

SHARED_LOADBALANCER_VIP for an address that can be used by multiple
internal load balancers.

VPC_PEERING for addresses that are reserved for VPC peer networks.

IPSEC_INTERCONNECT for addresses created from a private IP range
that are reserved for a VLAN attachment in an IPsec-encrypted Cloud
Interconnect configuration. These addresses are regional resources.

PRIVATE_SERVICE_CONNECT for a private network address that is used
to configure Private Service Connect. Only global internal addresses
can use this purpose.

This should only be set when using an Internal address.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#purpose ComputeAddress#purpose}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeAddressConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the created address should reside. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#region ComputeAddress#region}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeAddressConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

The URL of the subnetwork in which to reserve the address.

If an IP
address is specified, it must be within the subnetwork's IP range.
This field can only be used with INTERNAL type with
GCE_ENDPOINT/DNS_RESOLVER purposes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#subnetwork ComputeAddress#subnetwork}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeAddressConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeAddressTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAddressTimeouts">ComputeAddressTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#timeouts ComputeAddress#timeouts}

---

### ComputeAddressTimeouts <a name="ComputeAddressTimeouts" id="@dschmidt/provider-google.ComputeAddressTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAddressTimeouts.Initializer"></a>

```typescript
import { ComputeAddressTimeouts } from '@dschmidt/provider-google'

const computeAddressTimeouts: ComputeAddressTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAddressTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#create ComputeAddress#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeAddressTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#delete ComputeAddress#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeAddressTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#create ComputeAddress#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeAddressTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_address#delete ComputeAddress#delete}.

---

### ComputeAttachedDiskConfig <a name="ComputeAttachedDiskConfig" id="@dschmidt/provider-google.ComputeAttachedDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.Initializer"></a>

```typescript
import { ComputeAttachedDiskConfig } from '@dschmidt/provider-google'

const computeAttachedDiskConfig: ComputeAttachedDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.disk">disk</a></code> | <code>string</code> | name or self_link of the disk that will be attached. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.instance">instance</a></code> | <code>string</code> | name or self_link of the compute instance that the disk will be attached to. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.deviceName">deviceName</a></code> | <code>string</code> | Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#id ComputeAttachedDisk#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.mode">mode</a></code> | <code>string</code> | The mode in which to attach this disk, either READ_WRITE or READ_ONLY. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.project">project</a></code> | <code>string</code> | The project that the referenced compute instance is a part of. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskTimeouts">ComputeAttachedDiskTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskConfig.property.zone">zone</a></code> | <code>string</code> | The zone that the referenced compute instance is located within. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `disk`<sup>Required</sup> <a name="disk" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.disk"></a>

```typescript
public readonly disk: string;
```

- *Type:* string

name or self_link of the disk that will be attached.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#disk ComputeAttachedDisk#disk}

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

name or self_link of the compute instance that the disk will be attached to.

If the self_link is provided then zone and project are extracted from the self link. If only the name is used then zone and project must be defined as properties on the resource or provider.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#instance ComputeAttachedDisk#instance}

---

##### `deviceName`<sup>Optional</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance.

This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disks-x, where x is a number assigned by Google Compute Engine.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#device_name ComputeAttachedDisk#device_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#id ComputeAttachedDisk#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

The mode in which to attach this disk, either READ_WRITE or READ_ONLY.

If not specified, the default is to attach the disk in READ_WRITE mode.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#mode ComputeAttachedDisk#mode}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project that the referenced compute instance is a part of.

If instance is referenced by its self_link the project defined in the link will take precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#project ComputeAttachedDisk#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeAttachedDiskTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAttachedDiskTimeouts">ComputeAttachedDiskTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#timeouts ComputeAttachedDisk#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeAttachedDiskConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone that the referenced compute instance is located within.

If instance is referenced by its self_link the zone defined in the link will take precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#zone ComputeAttachedDisk#zone}

---

### ComputeAttachedDiskTimeouts <a name="ComputeAttachedDiskTimeouts" id="@dschmidt/provider-google.ComputeAttachedDiskTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAttachedDiskTimeouts.Initializer"></a>

```typescript
import { ComputeAttachedDiskTimeouts } from '@dschmidt/provider-google'

const computeAttachedDiskTimeouts: ComputeAttachedDiskTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#create ComputeAttachedDisk#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeAttachedDiskTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#delete ComputeAttachedDisk#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeAttachedDiskTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#create ComputeAttachedDisk#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeAttachedDiskTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_attached_disk#delete ComputeAttachedDisk#delete}.

---

### ComputeAutoscalerAutoscalingPolicy <a name="ComputeAutoscalerAutoscalingPolicy" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.Initializer"></a>

```typescript
import { ComputeAutoscalerAutoscalingPolicy } from '@dschmidt/provider-google'

const computeAutoscalerAutoscalingPolicy: ComputeAutoscalerAutoscalingPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.maxReplicas">maxReplicas</a></code> | <code>number</code> | The maximum number of instances that the autoscaler can scale up to. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.minReplicas">minReplicas</a></code> | <code>number</code> | The minimum number of replicas that the autoscaler can scale down to. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.cooldownPeriod">cooldownPeriod</a></code> | <code>number</code> | The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.cpuUtilization">cpuUtilization</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyCpuUtilization">ComputeAutoscalerAutoscalingPolicyCpuUtilization</a></code> | cpu_utilization block. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.loadBalancingUtilization">loadBalancingUtilization</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization">ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization</a></code> | load_balancing_utilization block. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.metric">metric</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric">ComputeAutoscalerAutoscalingPolicyMetric</a>[]</code> | metric block. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.mode">mode</a></code> | <code>string</code> | Defines operating mode for this policy. Default value: "ON" Possible values: ["OFF", "ONLY_UP", "ON"]. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.scaleInControl">scaleInControl</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControl">ComputeAutoscalerAutoscalingPolicyScaleInControl</a></code> | scale_in_control block. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.scalingSchedules">scalingSchedules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules">ComputeAutoscalerAutoscalingPolicyScalingSchedules</a>[]</code> | scaling_schedules block. |

---

##### `maxReplicas`<sup>Required</sup> <a name="maxReplicas" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.maxReplicas"></a>

```typescript
public readonly maxReplicas: number;
```

- *Type:* number

The maximum number of instances that the autoscaler can scale up to.

This is required when creating or updating an autoscaler. The
maximum number of replicas should not be lower than minimal number
of replicas.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#max_replicas ComputeAutoscaler#max_replicas}

---

##### `minReplicas`<sup>Required</sup> <a name="minReplicas" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.minReplicas"></a>

```typescript
public readonly minReplicas: number;
```

- *Type:* number

The minimum number of replicas that the autoscaler can scale down to.

This cannot be less than 0. If not provided, autoscaler will
choose a default value depending on maximum number of instances
allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#min_replicas ComputeAutoscaler#min_replicas}

---

##### `cooldownPeriod`<sup>Optional</sup> <a name="cooldownPeriod" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.cooldownPeriod"></a>

```typescript
public readonly cooldownPeriod: number;
```

- *Type:* number

The number of seconds that the autoscaler should wait before it starts collecting information from a new instance.

This prevents
the autoscaler from collecting information when the instance is
initializing, during which the collected usage would not be
reliable. The default time autoscaler waits is 60 seconds.

Virtual machine initialization times might vary because of
numerous factors. We recommend that you test how long an
instance may take to initialize. To do this, create an instance
and time the startup process.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#cooldown_period ComputeAutoscaler#cooldown_period}

---

##### `cpuUtilization`<sup>Optional</sup> <a name="cpuUtilization" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.cpuUtilization"></a>

```typescript
public readonly cpuUtilization: ComputeAutoscalerAutoscalingPolicyCpuUtilization;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyCpuUtilization">ComputeAutoscalerAutoscalingPolicyCpuUtilization</a>

cpu_utilization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#cpu_utilization ComputeAutoscaler#cpu_utilization}

---

##### `loadBalancingUtilization`<sup>Optional</sup> <a name="loadBalancingUtilization" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.loadBalancingUtilization"></a>

```typescript
public readonly loadBalancingUtilization: ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization">ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization</a>

load_balancing_utilization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#load_balancing_utilization ComputeAutoscaler#load_balancing_utilization}

---

##### `metric`<sup>Optional</sup> <a name="metric" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.metric"></a>

```typescript
public readonly metric: IResolvable | ComputeAutoscalerAutoscalingPolicyMetric[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric">ComputeAutoscalerAutoscalingPolicyMetric</a>[]

metric block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#metric ComputeAutoscaler#metric}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Defines operating mode for this policy. Default value: "ON" Possible values: ["OFF", "ONLY_UP", "ON"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#mode ComputeAutoscaler#mode}

---

##### `scaleInControl`<sup>Optional</sup> <a name="scaleInControl" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.scaleInControl"></a>

```typescript
public readonly scaleInControl: ComputeAutoscalerAutoscalingPolicyScaleInControl;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControl">ComputeAutoscalerAutoscalingPolicyScaleInControl</a>

scale_in_control block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#scale_in_control ComputeAutoscaler#scale_in_control}

---

##### `scalingSchedules`<sup>Optional</sup> <a name="scalingSchedules" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy.property.scalingSchedules"></a>

```typescript
public readonly scalingSchedules: IResolvable | ComputeAutoscalerAutoscalingPolicyScalingSchedules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules">ComputeAutoscalerAutoscalingPolicyScalingSchedules</a>[]

scaling_schedules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#scaling_schedules ComputeAutoscaler#scaling_schedules}

---

### ComputeAutoscalerAutoscalingPolicyCpuUtilization <a name="ComputeAutoscalerAutoscalingPolicyCpuUtilization" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyCpuUtilization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyCpuUtilization.Initializer"></a>

```typescript
import { ComputeAutoscalerAutoscalingPolicyCpuUtilization } from '@dschmidt/provider-google'

const computeAutoscalerAutoscalingPolicyCpuUtilization: ComputeAutoscalerAutoscalingPolicyCpuUtilization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyCpuUtilization.property.target">target</a></code> | <code>number</code> | The target CPU utilization that the autoscaler should maintain. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyCpuUtilization.property.predictiveMethod">predictiveMethod</a></code> | <code>string</code> | Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:. |

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyCpuUtilization.property.target"></a>

```typescript
public readonly target: number;
```

- *Type:* number

The target CPU utilization that the autoscaler should maintain.

Must be a float value in the range (0, 1]. If not specified, the
default is 0.6.

If the CPU level is below the target utilization, the autoscaler
scales down the number of instances until it reaches the minimum
number of instances you specified or until the average CPU of
your instances reaches the target utilization.

If the average CPU is above the target utilization, the autoscaler
scales up until it reaches the maximum number of instances you
specified or until the average utilization reaches the target
utilization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#target ComputeAutoscaler#target}

---

##### `predictiveMethod`<sup>Optional</sup> <a name="predictiveMethod" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyCpuUtilization.property.predictiveMethod"></a>

```typescript
public readonly predictiveMethod: string;
```

- *Type:* string

Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:.

NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics.

- OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#predictive_method ComputeAutoscaler#predictive_method}

---

### ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization <a name="ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization.Initializer"></a>

```typescript
import { ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization } from '@dschmidt/provider-google'

const computeAutoscalerAutoscalingPolicyLoadBalancingUtilization: ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization.property.target">target</a></code> | <code>number</code> | Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain. |

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization.property.target"></a>

```typescript
public readonly target: number;
```

- *Type:* number

Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain.

Must
be a positive float value. If not defined, the default is 0.8.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#target ComputeAutoscaler#target}

---

### ComputeAutoscalerAutoscalingPolicyMetric <a name="ComputeAutoscalerAutoscalingPolicyMetric" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric.Initializer"></a>

```typescript
import { ComputeAutoscalerAutoscalingPolicyMetric } from '@dschmidt/provider-google'

const computeAutoscalerAutoscalingPolicyMetric: ComputeAutoscalerAutoscalingPolicyMetric = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric.property.name">name</a></code> | <code>string</code> | The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric.property.target">target</a></code> | <code>number</code> | The target value of the metric that autoscaler should maintain. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric.property.type">type</a></code> | <code>string</code> | Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Possible values: ["GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"]. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values.

The metric must have a value type of INT64 or DOUBLE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#name ComputeAutoscaler#name}

---

##### `target`<sup>Optional</sup> <a name="target" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric.property.target"></a>

```typescript
public readonly target: number;
```

- *Type:* number

The target value of the metric that autoscaler should maintain.

This must be a positive value. A utilization
metric scales number of virtual machines handling requests
to increase or decrease proportionally to the metric.

For example, a good metric to use as a utilizationTarget is
www.googleapis.com/compute/instance/network/received_bytes_count.
The autoscaler will work to keep this value constant for each
of the instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#target ComputeAutoscaler#target}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyMetric.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Possible values: ["GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#type ComputeAutoscaler#type}

---

### ComputeAutoscalerAutoscalingPolicyScaleInControl <a name="ComputeAutoscalerAutoscalingPolicyScaleInControl" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControl"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControl.Initializer"></a>

```typescript
import { ComputeAutoscalerAutoscalingPolicyScaleInControl } from '@dschmidt/provider-google'

const computeAutoscalerAutoscalingPolicyScaleInControl: ComputeAutoscalerAutoscalingPolicyScaleInControl = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControl.property.maxScaledInReplicas">maxScaledInReplicas</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas">ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas</a></code> | max_scaled_in_replicas block. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControl.property.timeWindowSec">timeWindowSec</a></code> | <code>number</code> | How long back autoscaling should look when computing recommendations to include directives regarding slower scale down, as described above. |

---

##### `maxScaledInReplicas`<sup>Optional</sup> <a name="maxScaledInReplicas" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControl.property.maxScaledInReplicas"></a>

```typescript
public readonly maxScaledInReplicas: ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas">ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas</a>

max_scaled_in_replicas block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#max_scaled_in_replicas ComputeAutoscaler#max_scaled_in_replicas}

---

##### `timeWindowSec`<sup>Optional</sup> <a name="timeWindowSec" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControl.property.timeWindowSec"></a>

```typescript
public readonly timeWindowSec: number;
```

- *Type:* number

How long back autoscaling should look when computing recommendations to include directives regarding slower scale down, as described above.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#time_window_sec ComputeAutoscaler#time_window_sec}

---

### ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas <a name="ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.Initializer"></a>

```typescript
import { ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas } from '@dschmidt/provider-google'

const computeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas: ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.property.fixed">fixed</a></code> | <code>number</code> | Specifies a fixed number of VM instances. This must be a positive integer. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.property.percent">percent</a></code> | <code>number</code> | Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%. |

---

##### `fixed`<sup>Optional</sup> <a name="fixed" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.property.fixed"></a>

```typescript
public readonly fixed: number;
```

- *Type:* number

Specifies a fixed number of VM instances. This must be a positive integer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#fixed ComputeAutoscaler#fixed}

---

##### `percent`<sup>Optional</sup> <a name="percent" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.property.percent"></a>

```typescript
public readonly percent: number;
```

- *Type:* number

Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#percent ComputeAutoscaler#percent}

---

### ComputeAutoscalerAutoscalingPolicyScalingSchedules <a name="ComputeAutoscalerAutoscalingPolicyScalingSchedules" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.Initializer"></a>

```typescript
import { ComputeAutoscalerAutoscalingPolicyScalingSchedules } from '@dschmidt/provider-google'

const computeAutoscalerAutoscalingPolicyScalingSchedules: ComputeAutoscalerAutoscalingPolicyScalingSchedules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.durationSec">durationSec</a></code> | <code>number</code> | The duration of time intervals (in seconds) for which this scaling schedule will be running. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.minRequiredReplicas">minRequiredReplicas</a></code> | <code>number</code> | Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#name ComputeAutoscaler#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.schedule">schedule</a></code> | <code>string</code> | The start timestamps of time intervals when this scaling schedule should provide a scaling signal. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.description">description</a></code> | <code>string</code> | A description of a scaling schedule. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.timeZone">timeZone</a></code> | <code>string</code> | The time zone to be used when interpreting the schedule. |

---

##### `durationSec`<sup>Required</sup> <a name="durationSec" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.durationSec"></a>

```typescript
public readonly durationSec: number;
```

- *Type:* number

The duration of time intervals (in seconds) for which this scaling schedule will be running.

The minimum allowed value is 300.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#duration_sec ComputeAutoscaler#duration_sec}

---

##### `minRequiredReplicas`<sup>Required</sup> <a name="minRequiredReplicas" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.minRequiredReplicas"></a>

```typescript
public readonly minRequiredReplicas: number;
```

- *Type:* number

Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#min_required_replicas ComputeAutoscaler#min_required_replicas}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#name ComputeAutoscaler#name}.

---

##### `schedule`<sup>Required</sup> <a name="schedule" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

The start timestamps of time intervals when this scaling schedule should provide a scaling signal.

This field uses the extended cron format (with an optional year field).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#schedule ComputeAutoscaler#schedule}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of a scaling schedule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#description ComputeAutoscaler#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

A boolean value that specifies if a scaling schedule can influence autoscaler recommendations.

If set to true, then a scaling schedule has no effect.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#disabled ComputeAutoscaler#disabled}

---

##### `timeZone`<sup>Optional</sup> <a name="timeZone" id="@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicyScalingSchedules.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

The time zone to be used when interpreting the schedule.

The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#time_zone ComputeAutoscaler#time_zone}

---

### ComputeAutoscalerConfig <a name="ComputeAutoscalerConfig" id="@dschmidt/provider-google.ComputeAutoscalerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAutoscalerConfig.Initializer"></a>

```typescript
import { ComputeAutoscalerConfig } from '@dschmidt/provider-google'

const computeAutoscalerConfig: ComputeAutoscalerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.autoscalingPolicy">autoscalingPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy">ComputeAutoscalerAutoscalingPolicy</a></code> | autoscaling_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.target">target</a></code> | <code>string</code> | URL of the managed instance group that this autoscaler will scale. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#id ComputeAutoscaler#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#project ComputeAutoscaler#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeAutoscalerTimeouts">ComputeAutoscalerTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerConfig.property.zone">zone</a></code> | <code>string</code> | URL of the zone where the instance group resides. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscalingPolicy`<sup>Required</sup> <a name="autoscalingPolicy" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.autoscalingPolicy"></a>

```typescript
public readonly autoscalingPolicy: ComputeAutoscalerAutoscalingPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerAutoscalingPolicy">ComputeAutoscalerAutoscalingPolicy</a>

autoscaling_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#autoscaling_policy ComputeAutoscaler#autoscaling_policy}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

The name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#name ComputeAutoscaler#name}

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

URL of the managed instance group that this autoscaler will scale.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#target ComputeAutoscaler#target}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#description ComputeAutoscaler#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#id ComputeAutoscaler#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#project ComputeAutoscaler#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeAutoscalerTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeAutoscalerTimeouts">ComputeAutoscalerTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#timeouts ComputeAutoscaler#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeAutoscalerConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

URL of the zone where the instance group resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#zone ComputeAutoscaler#zone}

---

### ComputeAutoscalerTimeouts <a name="ComputeAutoscalerTimeouts" id="@dschmidt/provider-google.ComputeAutoscalerTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeAutoscalerTimeouts.Initializer"></a>

```typescript
import { ComputeAutoscalerTimeouts } from '@dschmidt/provider-google'

const computeAutoscalerTimeouts: ComputeAutoscalerTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#create ComputeAutoscaler#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#delete ComputeAutoscaler#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeAutoscalerTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#update ComputeAutoscaler#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeAutoscalerTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#create ComputeAutoscaler#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeAutoscalerTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#delete ComputeAutoscaler#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeAutoscalerTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_autoscaler#update ComputeAutoscaler#update}.

---

### ComputeBackendBucketCdnPolicy <a name="ComputeBackendBucketCdnPolicy" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.Initializer"></a>

```typescript
import { ComputeBackendBucketCdnPolicy } from '@dschmidt/provider-google'

const computeBackendBucketCdnPolicy: ComputeBackendBucketCdnPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.bypassCacheOnRequestHeaders">bypassCacheOnRequestHeaders</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders">ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders</a>[]</code> | bypass_cache_on_request_headers block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.cacheKeyPolicy">cacheKeyPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyCacheKeyPolicy">ComputeBackendBucketCdnPolicyCacheKeyPolicy</a></code> | cache_key_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.cacheMode">cacheMode</a></code> | <code>string</code> | Specifies the cache setting for all responses from this backend. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.clientTtl">clientTtl</a></code> | <code>number</code> | Specifies the maximum allowed TTL for cached content served by this origin. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.defaultTtl">defaultTtl</a></code> | <code>number</code> | Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.maxTtl">maxTtl</a></code> | <code>number</code> | Specifies the maximum allowed TTL for cached content served by this origin. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.negativeCaching">negativeCaching</a></code> | <code>boolean \| cdktf.IResolvable</code> | Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.negativeCachingPolicy">negativeCachingPolicy</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyNegativeCachingPolicy">ComputeBackendBucketCdnPolicyNegativeCachingPolicy</a>[]</code> | negative_caching_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.requestCoalescing">requestCoalescing</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.serveWhileStale">serveWhileStale</a></code> | <code>number</code> | Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.signedUrlCacheMaxAgeSec">signedUrlCacheMaxAgeSec</a></code> | <code>number</code> | Maximum number of seconds the response to a signed URL request will be considered fresh. |

---

##### `bypassCacheOnRequestHeaders`<sup>Optional</sup> <a name="bypassCacheOnRequestHeaders" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.bypassCacheOnRequestHeaders"></a>

```typescript
public readonly bypassCacheOnRequestHeaders: IResolvable | ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders">ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders</a>[]

bypass_cache_on_request_headers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#bypass_cache_on_request_headers ComputeBackendBucket#bypass_cache_on_request_headers}

---

##### `cacheKeyPolicy`<sup>Optional</sup> <a name="cacheKeyPolicy" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.cacheKeyPolicy"></a>

```typescript
public readonly cacheKeyPolicy: ComputeBackendBucketCdnPolicyCacheKeyPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyCacheKeyPolicy">ComputeBackendBucketCdnPolicyCacheKeyPolicy</a>

cache_key_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#cache_key_policy ComputeBackendBucket#cache_key_policy}

---

##### `cacheMode`<sup>Optional</sup> <a name="cacheMode" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.cacheMode"></a>

```typescript
public readonly cacheMode: string;
```

- *Type:* string

Specifies the cache setting for all responses from this backend.

The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#cache_mode ComputeBackendBucket#cache_mode}

---

##### `clientTtl`<sup>Optional</sup> <a name="clientTtl" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.clientTtl"></a>

```typescript
public readonly clientTtl: number;
```

- *Type:* number

Specifies the maximum allowed TTL for cached content served by this origin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#client_ttl ComputeBackendBucket#client_ttl}

---

##### `defaultTtl`<sup>Optional</sup> <a name="defaultTtl" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.defaultTtl"></a>

```typescript
public readonly defaultTtl: number;
```

- *Type:* number

Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#default_ttl ComputeBackendBucket#default_ttl}

---

##### `maxTtl`<sup>Optional</sup> <a name="maxTtl" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.maxTtl"></a>

```typescript
public readonly maxTtl: number;
```

- *Type:* number

Specifies the maximum allowed TTL for cached content served by this origin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#max_ttl ComputeBackendBucket#max_ttl}

---

##### `negativeCaching`<sup>Optional</sup> <a name="negativeCaching" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.negativeCaching"></a>

```typescript
public readonly negativeCaching: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#negative_caching ComputeBackendBucket#negative_caching}

---

##### `negativeCachingPolicy`<sup>Optional</sup> <a name="negativeCachingPolicy" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.negativeCachingPolicy"></a>

```typescript
public readonly negativeCachingPolicy: IResolvable | ComputeBackendBucketCdnPolicyNegativeCachingPolicy[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyNegativeCachingPolicy">ComputeBackendBucketCdnPolicyNegativeCachingPolicy</a>[]

negative_caching_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#negative_caching_policy ComputeBackendBucket#negative_caching_policy}

---

##### `requestCoalescing`<sup>Optional</sup> <a name="requestCoalescing" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.requestCoalescing"></a>

```typescript
public readonly requestCoalescing: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#request_coalescing ComputeBackendBucket#request_coalescing}

---

##### `serveWhileStale`<sup>Optional</sup> <a name="serveWhileStale" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.serveWhileStale"></a>

```typescript
public readonly serveWhileStale: number;
```

- *Type:* number

Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#serve_while_stale ComputeBackendBucket#serve_while_stale}

---

##### `signedUrlCacheMaxAgeSec`<sup>Optional</sup> <a name="signedUrlCacheMaxAgeSec" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicy.property.signedUrlCacheMaxAgeSec"></a>

```typescript
public readonly signedUrlCacheMaxAgeSec: number;
```

- *Type:* number

Maximum number of seconds the response to a signed URL request will be considered fresh.

After this time period,
the response will be revalidated before being served.
When serving responses to signed URL requests,
Cloud CDN will internally behave as though
all responses from this backend had a "Cache-Control: public,
max-age=[TTL]" header, regardless of any existing Cache-Control
header. The actual headers served in responses will not be altered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#signed_url_cache_max_age_sec ComputeBackendBucket#signed_url_cache_max_age_sec}

---

### ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders <a name="ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders.Initializer"></a>

```typescript
import { ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders } from '@dschmidt/provider-google'

const computeBackendBucketCdnPolicyBypassCacheOnRequestHeaders: ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders.property.headerName">headerName</a></code> | <code>string</code> | The header field name to match on when bypassing cache. Values are case-insensitive. |

---

##### `headerName`<sup>Optional</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The header field name to match on when bypassing cache. Values are case-insensitive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#header_name ComputeBackendBucket#header_name}

---

### ComputeBackendBucketCdnPolicyCacheKeyPolicy <a name="ComputeBackendBucketCdnPolicyCacheKeyPolicy" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyCacheKeyPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyCacheKeyPolicy.Initializer"></a>

```typescript
import { ComputeBackendBucketCdnPolicyCacheKeyPolicy } from '@dschmidt/provider-google'

const computeBackendBucketCdnPolicyCacheKeyPolicy: ComputeBackendBucketCdnPolicyCacheKeyPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyCacheKeyPolicy.property.includeHttpHeaders">includeHttpHeaders</a></code> | <code>string[]</code> | Allows HTTP request headers (by name) to be used in the cache key. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyCacheKeyPolicy.property.queryStringWhitelist">queryStringWhitelist</a></code> | <code>string[]</code> | Names of query string parameters to include in cache keys. |

---

##### `includeHttpHeaders`<sup>Optional</sup> <a name="includeHttpHeaders" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyCacheKeyPolicy.property.includeHttpHeaders"></a>

```typescript
public readonly includeHttpHeaders: string[];
```

- *Type:* string[]

Allows HTTP request headers (by name) to be used in the cache key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#include_http_headers ComputeBackendBucket#include_http_headers}

---

##### `queryStringWhitelist`<sup>Optional</sup> <a name="queryStringWhitelist" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyCacheKeyPolicy.property.queryStringWhitelist"></a>

```typescript
public readonly queryStringWhitelist: string[];
```

- *Type:* string[]

Names of query string parameters to include in cache keys.

Default parameters are always included. '&' and '=' will
be percent encoded and not treated as delimiters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#query_string_whitelist ComputeBackendBucket#query_string_whitelist}

---

### ComputeBackendBucketCdnPolicyNegativeCachingPolicy <a name="ComputeBackendBucketCdnPolicyNegativeCachingPolicy" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyNegativeCachingPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyNegativeCachingPolicy.Initializer"></a>

```typescript
import { ComputeBackendBucketCdnPolicyNegativeCachingPolicy } from '@dschmidt/provider-google'

const computeBackendBucketCdnPolicyNegativeCachingPolicy: ComputeBackendBucketCdnPolicyNegativeCachingPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyNegativeCachingPolicy.property.code">code</a></code> | <code>number</code> | The HTTP status code to define a TTL against. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicyNegativeCachingPolicy.property.ttl">ttl</a></code> | <code>number</code> | The TTL (in seconds) for which to cache responses with the corresponding status code. |

---

##### `code`<sup>Optional</sup> <a name="code" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyNegativeCachingPolicy.property.code"></a>

```typescript
public readonly code: number;
```

- *Type:* number

The HTTP status code to define a TTL against.

Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
can be specified as values, and you cannot specify a status code more than once.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#code ComputeBackendBucket#code}

---

##### `ttl`<sup>Optional</sup> <a name="ttl" id="@dschmidt/provider-google.ComputeBackendBucketCdnPolicyNegativeCachingPolicy.property.ttl"></a>

```typescript
public readonly ttl: number;
```

- *Type:* number

The TTL (in seconds) for which to cache responses with the corresponding status code.

The maximum allowed value is 1800s
(30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#ttl ComputeBackendBucket#ttl}

---

### ComputeBackendBucketConfig <a name="ComputeBackendBucketConfig" id="@dschmidt/provider-google.ComputeBackendBucketConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendBucketConfig.Initializer"></a>

```typescript
import { ComputeBackendBucketConfig } from '@dschmidt/provider-google'

const computeBackendBucketConfig: ComputeBackendBucketConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.bucketName">bucketName</a></code> | <code>string</code> | Cloud Storage bucket name. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.cdnPolicy">cdnPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy">ComputeBackendBucketCdnPolicy</a></code> | cdn_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.customResponseHeaders">customResponseHeaders</a></code> | <code>string[]</code> | Headers that the HTTP/S load balancer should add to proxied responses. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.description">description</a></code> | <code>string</code> | An optional textual description of the resource; provided by the client when the resource is created. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.edgeSecurityPolicy">edgeSecurityPolicy</a></code> | <code>string</code> | The security policy associated with this backend bucket. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.enableCdn">enableCdn</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, enable Cloud CDN for this BackendBucket. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#id ComputeBackendBucket#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#project ComputeBackendBucket#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketTimeouts">ComputeBackendBucketTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketName`<sup>Required</sup> <a name="bucketName" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.bucketName"></a>

```typescript
public readonly bucketName: string;
```

- *Type:* string

Cloud Storage bucket name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#bucket_name ComputeBackendBucket#bucket_name}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the
last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#name ComputeBackendBucket#name}

---

##### `cdnPolicy`<sup>Optional</sup> <a name="cdnPolicy" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.cdnPolicy"></a>

```typescript
public readonly cdnPolicy: ComputeBackendBucketCdnPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketCdnPolicy">ComputeBackendBucketCdnPolicy</a>

cdn_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#cdn_policy ComputeBackendBucket#cdn_policy}

---

##### `customResponseHeaders`<sup>Optional</sup> <a name="customResponseHeaders" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.customResponseHeaders"></a>

```typescript
public readonly customResponseHeaders: string[];
```

- *Type:* string[]

Headers that the HTTP/S load balancer should add to proxied responses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#custom_response_headers ComputeBackendBucket#custom_response_headers}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional textual description of the resource; provided by the client when the resource is created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#description ComputeBackendBucket#description}

---

##### `edgeSecurityPolicy`<sup>Optional</sup> <a name="edgeSecurityPolicy" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.edgeSecurityPolicy"></a>

```typescript
public readonly edgeSecurityPolicy: string;
```

- *Type:* string

The security policy associated with this backend bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#edge_security_policy ComputeBackendBucket#edge_security_policy}

---

##### `enableCdn`<sup>Optional</sup> <a name="enableCdn" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.enableCdn"></a>

```typescript
public readonly enableCdn: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, enable Cloud CDN for this BackendBucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#enable_cdn ComputeBackendBucket#enable_cdn}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#id ComputeBackendBucket#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#project ComputeBackendBucket#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeBackendBucketConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeBackendBucketTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketTimeouts">ComputeBackendBucketTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#timeouts ComputeBackendBucket#timeouts}

---

### ComputeBackendBucketSignedUrlKeyConfig <a name="ComputeBackendBucketSignedUrlKeyConfig" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.Initializer"></a>

```typescript
import { ComputeBackendBucketSignedUrlKeyConfig } from '@dschmidt/provider-google'

const computeBackendBucketSignedUrlKeyConfig: ComputeBackendBucketSignedUrlKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.backendBucket">backendBucket</a></code> | <code>string</code> | The backend bucket this signed URL key belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.keyValue">keyValue</a></code> | <code>string</code> | 128-bit key value used for signing the URL. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.name">name</a></code> | <code>string</code> | Name of the signed URL key. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#id ComputeBackendBucketSignedUrlKey#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#project ComputeBackendBucketSignedUrlKey#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts">ComputeBackendBucketSignedUrlKeyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `backendBucket`<sup>Required</sup> <a name="backendBucket" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.backendBucket"></a>

```typescript
public readonly backendBucket: string;
```

- *Type:* string

The backend bucket this signed URL key belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#backend_bucket ComputeBackendBucketSignedUrlKey#backend_bucket}

---

##### `keyValue`<sup>Required</sup> <a name="keyValue" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.keyValue"></a>

```typescript
public readonly keyValue: string;
```

- *Type:* string

128-bit key value used for signing the URL.

The key value must be a
valid RFC 4648 Section 5 base64url encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#key_value ComputeBackendBucketSignedUrlKey#key_value}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the signed URL key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#name ComputeBackendBucketSignedUrlKey#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#id ComputeBackendBucketSignedUrlKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#project ComputeBackendBucketSignedUrlKey#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeBackendBucketSignedUrlKeyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts">ComputeBackendBucketSignedUrlKeyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#timeouts ComputeBackendBucketSignedUrlKey#timeouts}

---

### ComputeBackendBucketSignedUrlKeyTimeouts <a name="ComputeBackendBucketSignedUrlKeyTimeouts" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts.Initializer"></a>

```typescript
import { ComputeBackendBucketSignedUrlKeyTimeouts } from '@dschmidt/provider-google'

const computeBackendBucketSignedUrlKeyTimeouts: ComputeBackendBucketSignedUrlKeyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#create ComputeBackendBucketSignedUrlKey#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#delete ComputeBackendBucketSignedUrlKey#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#create ComputeBackendBucketSignedUrlKey#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeBackendBucketSignedUrlKeyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket_signed_url_key#delete ComputeBackendBucketSignedUrlKey#delete}.

---

### ComputeBackendBucketTimeouts <a name="ComputeBackendBucketTimeouts" id="@dschmidt/provider-google.ComputeBackendBucketTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendBucketTimeouts.Initializer"></a>

```typescript
import { ComputeBackendBucketTimeouts } from '@dschmidt/provider-google'

const computeBackendBucketTimeouts: ComputeBackendBucketTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#create ComputeBackendBucket#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#delete ComputeBackendBucket#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendBucketTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#update ComputeBackendBucket#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeBackendBucketTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#create ComputeBackendBucket#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeBackendBucketTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#delete ComputeBackendBucket#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeBackendBucketTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_bucket#update ComputeBackendBucket#update}.

---

### ComputeBackendServiceBackend <a name="ComputeBackendServiceBackend" id="@dschmidt/provider-google.ComputeBackendServiceBackend"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceBackend.Initializer"></a>

```typescript
import { ComputeBackendServiceBackend } from '@dschmidt/provider-google'

const computeBackendServiceBackend: ComputeBackendServiceBackend = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.group">group</a></code> | <code>string</code> | The fully-qualified URL of an Instance Group or Network Endpoint Group resource. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.balancingMode">balancingMode</a></code> | <code>string</code> | Specifies the balancing mode for this backend. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.capacityScaler">capacityScaler</a></code> | <code>number</code> | A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxConnections">maxConnections</a></code> | <code>number</code> | The max number of simultaneous connections for the group. Can be used with either CONNECTION or UTILIZATION balancing modes. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxConnectionsPerEndpoint">maxConnectionsPerEndpoint</a></code> | <code>number</code> | The max number of simultaneous connections that a single backend network endpoint can handle. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxConnectionsPerInstance">maxConnectionsPerInstance</a></code> | <code>number</code> | The max number of simultaneous connections that a single backend instance can handle. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxRate">maxRate</a></code> | <code>number</code> | The max requests per second (RPS) of the group. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxRatePerEndpoint">maxRatePerEndpoint</a></code> | <code>number</code> | The max requests per second (RPS) that a single backend network endpoint can handle. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxRatePerInstance">maxRatePerInstance</a></code> | <code>number</code> | The max requests per second (RPS) that a single backend instance can handle. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxUtilization">maxUtilization</a></code> | <code>number</code> | Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization target for the group. Valid range is [0.0, 1.0]. |

---

##### `group`<sup>Required</sup> <a name="group" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.group"></a>

```typescript
public readonly group: string;
```

- *Type:* string

The fully-qualified URL of an Instance Group or Network Endpoint Group resource.

In case of instance group this defines the list
of instances that serve traffic. Member virtual machine
instances from each instance group must live in the same zone as
the instance group itself. No two backends in a backend service
are allowed to use same Instance Group resource.

For Network Endpoint Groups this defines list of endpoints. All
endpoints of Network Endpoint Group must be hosted on instances
located in the same zone as the Network Endpoint Group.

Backend services cannot mix Instance Group and
Network Endpoint Group backends.

Note that you must specify an Instance Group or Network Endpoint
Group resource using the fully-qualified URL, rather than a
partial URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#group ComputeBackendService#group}

---

##### `balancingMode`<sup>Optional</sup> <a name="balancingMode" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.balancingMode"></a>

```typescript
public readonly balancingMode: string;
```

- *Type:* string

Specifies the balancing mode for this backend.

For global HTTP(S) or TCP/SSL load balancing, the default is
UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
and CONNECTION (for TCP/SSL).

See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
for an explanation of load balancing modes. Default value: "UTILIZATION" Possible values: ["UTILIZATION", "RATE", "CONNECTION"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#balancing_mode ComputeBackendService#balancing_mode}

---

##### `capacityScaler`<sup>Optional</sup> <a name="capacityScaler" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.capacityScaler"></a>

```typescript
public readonly capacityScaler: number;
```

- *Type:* number

A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION).

Default value is 1, which means the group will serve up to 100%
of its configured capacity (depending on balancingMode). A
setting of 0 means the group is completely drained, offering
0% of its available Capacity. Valid range is [0.0,1.0].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#capacity_scaler ComputeBackendService#capacity_scaler}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#description ComputeBackendService#description}

---

##### `maxConnections`<sup>Optional</sup> <a name="maxConnections" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxConnections"></a>

```typescript
public readonly maxConnections: number;
```

- *Type:* number

The max number of simultaneous connections for the group. Can be used with either CONNECTION or UTILIZATION balancing modes.

For CONNECTION mode, either maxConnections or one
of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
as appropriate for group type, must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_connections ComputeBackendService#max_connections}

---

##### `maxConnectionsPerEndpoint`<sup>Optional</sup> <a name="maxConnectionsPerEndpoint" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxConnectionsPerEndpoint"></a>

```typescript
public readonly maxConnectionsPerEndpoint: number;
```

- *Type:* number

The max number of simultaneous connections that a single backend network endpoint can handle.

This is used to calculate the
capacity of the group. Can be used in either CONNECTION or
UTILIZATION balancing modes.

For CONNECTION mode, either
maxConnections or maxConnectionsPerEndpoint must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_connections_per_endpoint ComputeBackendService#max_connections_per_endpoint}

---

##### `maxConnectionsPerInstance`<sup>Optional</sup> <a name="maxConnectionsPerInstance" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxConnectionsPerInstance"></a>

```typescript
public readonly maxConnectionsPerInstance: number;
```

- *Type:* number

The max number of simultaneous connections that a single backend instance can handle.

This is used to calculate the
capacity of the group. Can be used in either CONNECTION or
UTILIZATION balancing modes.

For CONNECTION mode, either maxConnections or
maxConnectionsPerInstance must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_connections_per_instance ComputeBackendService#max_connections_per_instance}

---

##### `maxRate`<sup>Optional</sup> <a name="maxRate" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxRate"></a>

```typescript
public readonly maxRate: number;
```

- *Type:* number

The max requests per second (RPS) of the group.

Can be used with either RATE or UTILIZATION balancing modes,
but required if RATE mode. For RATE mode, either maxRate or one
of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
group type, must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_rate ComputeBackendService#max_rate}

---

##### `maxRatePerEndpoint`<sup>Optional</sup> <a name="maxRatePerEndpoint" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxRatePerEndpoint"></a>

```typescript
public readonly maxRatePerEndpoint: number;
```

- *Type:* number

The max requests per second (RPS) that a single backend network endpoint can handle.

This is used to calculate the capacity of
the group. Can be used in either balancing mode. For RATE mode,
either maxRate or maxRatePerEndpoint must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_rate_per_endpoint ComputeBackendService#max_rate_per_endpoint}

---

##### `maxRatePerInstance`<sup>Optional</sup> <a name="maxRatePerInstance" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxRatePerInstance"></a>

```typescript
public readonly maxRatePerInstance: number;
```

- *Type:* number

The max requests per second (RPS) that a single backend instance can handle.

This is used to calculate the capacity of
the group. Can be used in either balancing mode. For RATE mode,
either maxRate or maxRatePerInstance must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_rate_per_instance ComputeBackendService#max_rate_per_instance}

---

##### `maxUtilization`<sup>Optional</sup> <a name="maxUtilization" id="@dschmidt/provider-google.ComputeBackendServiceBackend.property.maxUtilization"></a>

```typescript
public readonly maxUtilization: number;
```

- *Type:* number

Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization target for the group. Valid range is [0.0, 1.0].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_utilization ComputeBackendService#max_utilization}

---

### ComputeBackendServiceCdnPolicy <a name="ComputeBackendServiceCdnPolicy" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.Initializer"></a>

```typescript
import { ComputeBackendServiceCdnPolicy } from '@dschmidt/provider-google'

const computeBackendServiceCdnPolicy: ComputeBackendServiceCdnPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.cacheKeyPolicy">cacheKeyPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy">ComputeBackendServiceCdnPolicyCacheKeyPolicy</a></code> | cache_key_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.cacheMode">cacheMode</a></code> | <code>string</code> | Specifies the cache setting for all responses from this backend. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.clientTtl">clientTtl</a></code> | <code>number</code> | Specifies the maximum allowed TTL for cached content served by this origin. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.defaultTtl">defaultTtl</a></code> | <code>number</code> | Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.maxTtl">maxTtl</a></code> | <code>number</code> | Specifies the maximum allowed TTL for cached content served by this origin. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.negativeCaching">negativeCaching</a></code> | <code>boolean \| cdktf.IResolvable</code> | Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.negativeCachingPolicy">negativeCachingPolicy</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyNegativeCachingPolicy">ComputeBackendServiceCdnPolicyNegativeCachingPolicy</a>[]</code> | negative_caching_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.serveWhileStale">serveWhileStale</a></code> | <code>number</code> | Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.signedUrlCacheMaxAgeSec">signedUrlCacheMaxAgeSec</a></code> | <code>number</code> | Maximum number of seconds the response to a signed URL request will be considered fresh, defaults to 1hr (3600s). |

---

##### `cacheKeyPolicy`<sup>Optional</sup> <a name="cacheKeyPolicy" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.cacheKeyPolicy"></a>

```typescript
public readonly cacheKeyPolicy: ComputeBackendServiceCdnPolicyCacheKeyPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy">ComputeBackendServiceCdnPolicyCacheKeyPolicy</a>

cache_key_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#cache_key_policy ComputeBackendService#cache_key_policy}

---

##### `cacheMode`<sup>Optional</sup> <a name="cacheMode" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.cacheMode"></a>

```typescript
public readonly cacheMode: string;
```

- *Type:* string

Specifies the cache setting for all responses from this backend.

The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#cache_mode ComputeBackendService#cache_mode}

---

##### `clientTtl`<sup>Optional</sup> <a name="clientTtl" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.clientTtl"></a>

```typescript
public readonly clientTtl: number;
```

- *Type:* number

Specifies the maximum allowed TTL for cached content served by this origin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#client_ttl ComputeBackendService#client_ttl}

---

##### `defaultTtl`<sup>Optional</sup> <a name="defaultTtl" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.defaultTtl"></a>

```typescript
public readonly defaultTtl: number;
```

- *Type:* number

Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#default_ttl ComputeBackendService#default_ttl}

---

##### `maxTtl`<sup>Optional</sup> <a name="maxTtl" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.maxTtl"></a>

```typescript
public readonly maxTtl: number;
```

- *Type:* number

Specifies the maximum allowed TTL for cached content served by this origin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_ttl ComputeBackendService#max_ttl}

---

##### `negativeCaching`<sup>Optional</sup> <a name="negativeCaching" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.negativeCaching"></a>

```typescript
public readonly negativeCaching: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#negative_caching ComputeBackendService#negative_caching}

---

##### `negativeCachingPolicy`<sup>Optional</sup> <a name="negativeCachingPolicy" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.negativeCachingPolicy"></a>

```typescript
public readonly negativeCachingPolicy: IResolvable | ComputeBackendServiceCdnPolicyNegativeCachingPolicy[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyNegativeCachingPolicy">ComputeBackendServiceCdnPolicyNegativeCachingPolicy</a>[]

negative_caching_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#negative_caching_policy ComputeBackendService#negative_caching_policy}

---

##### `serveWhileStale`<sup>Optional</sup> <a name="serveWhileStale" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.serveWhileStale"></a>

```typescript
public readonly serveWhileStale: number;
```

- *Type:* number

Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#serve_while_stale ComputeBackendService#serve_while_stale}

---

##### `signedUrlCacheMaxAgeSec`<sup>Optional</sup> <a name="signedUrlCacheMaxAgeSec" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicy.property.signedUrlCacheMaxAgeSec"></a>

```typescript
public readonly signedUrlCacheMaxAgeSec: number;
```

- *Type:* number

Maximum number of seconds the response to a signed URL request will be considered fresh, defaults to 1hr (3600s).

After this
time period, the response will be revalidated before
being served.

When serving responses to signed URL requests, Cloud CDN will
internally behave as though all responses from this backend had a
"Cache-Control: public, max-age=[TTL]" header, regardless of any
existing Cache-Control header. The actual headers served in
responses will not be altered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#signed_url_cache_max_age_sec ComputeBackendService#signed_url_cache_max_age_sec}

---

### ComputeBackendServiceCdnPolicyCacheKeyPolicy <a name="ComputeBackendServiceCdnPolicyCacheKeyPolicy" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.Initializer"></a>

```typescript
import { ComputeBackendServiceCdnPolicyCacheKeyPolicy } from '@dschmidt/provider-google'

const computeBackendServiceCdnPolicyCacheKeyPolicy: ComputeBackendServiceCdnPolicyCacheKeyPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.includeHost">includeHost</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true requests to different hosts will be cached separately. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.includeNamedCookies">includeNamedCookies</a></code> | <code>string[]</code> | Names of cookies to include in cache keys. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.includeProtocol">includeProtocol</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, http and https requests will be cached separately. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.includeQueryString">includeQueryString</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.queryStringBlacklist">queryStringBlacklist</a></code> | <code>string[]</code> | Names of query string parameters to exclude in cache keys. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.queryStringWhitelist">queryStringWhitelist</a></code> | <code>string[]</code> | Names of query string parameters to include in cache keys. |

---

##### `includeHost`<sup>Optional</sup> <a name="includeHost" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.includeHost"></a>

```typescript
public readonly includeHost: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true requests to different hosts will be cached separately.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#include_host ComputeBackendService#include_host}

---

##### `includeNamedCookies`<sup>Optional</sup> <a name="includeNamedCookies" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.includeNamedCookies"></a>

```typescript
public readonly includeNamedCookies: string[];
```

- *Type:* string[]

Names of cookies to include in cache keys.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#include_named_cookies ComputeBackendService#include_named_cookies}

---

##### `includeProtocol`<sup>Optional</sup> <a name="includeProtocol" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.includeProtocol"></a>

```typescript
public readonly includeProtocol: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, http and https requests will be cached separately.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#include_protocol ComputeBackendService#include_protocol}

---

##### `includeQueryString`<sup>Optional</sup> <a name="includeQueryString" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.includeQueryString"></a>

```typescript
public readonly includeQueryString: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist.

If neither is set, the entire query
string will be included.

If false, the query string will be excluded from the cache
key entirely.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#include_query_string ComputeBackendService#include_query_string}

---

##### `queryStringBlacklist`<sup>Optional</sup> <a name="queryStringBlacklist" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.queryStringBlacklist"></a>

```typescript
public readonly queryStringBlacklist: string[];
```

- *Type:* string[]

Names of query string parameters to exclude in cache keys.

All other parameters will be included. Either specify
query_string_whitelist or query_string_blacklist, not both.
'&' and '=' will be percent encoded and not treated as
delimiters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#query_string_blacklist ComputeBackendService#query_string_blacklist}

---

##### `queryStringWhitelist`<sup>Optional</sup> <a name="queryStringWhitelist" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyCacheKeyPolicy.property.queryStringWhitelist"></a>

```typescript
public readonly queryStringWhitelist: string[];
```

- *Type:* string[]

Names of query string parameters to include in cache keys.

All other parameters will be excluded. Either specify
query_string_whitelist or query_string_blacklist, not both.
'&' and '=' will be percent encoded and not treated as
delimiters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#query_string_whitelist ComputeBackendService#query_string_whitelist}

---

### ComputeBackendServiceCdnPolicyNegativeCachingPolicy <a name="ComputeBackendServiceCdnPolicyNegativeCachingPolicy" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyNegativeCachingPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyNegativeCachingPolicy.Initializer"></a>

```typescript
import { ComputeBackendServiceCdnPolicyNegativeCachingPolicy } from '@dschmidt/provider-google'

const computeBackendServiceCdnPolicyNegativeCachingPolicy: ComputeBackendServiceCdnPolicyNegativeCachingPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyNegativeCachingPolicy.property.code">code</a></code> | <code>number</code> | The HTTP status code to define a TTL against. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicyNegativeCachingPolicy.property.ttl">ttl</a></code> | <code>number</code> | The TTL (in seconds) for which to cache responses with the corresponding status code. |

---

##### `code`<sup>Optional</sup> <a name="code" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyNegativeCachingPolicy.property.code"></a>

```typescript
public readonly code: number;
```

- *Type:* number

The HTTP status code to define a TTL against.

Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
can be specified as values, and you cannot specify a status code more than once.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#code ComputeBackendService#code}

---

##### `ttl`<sup>Optional</sup> <a name="ttl" id="@dschmidt/provider-google.ComputeBackendServiceCdnPolicyNegativeCachingPolicy.property.ttl"></a>

```typescript
public readonly ttl: number;
```

- *Type:* number

The TTL (in seconds) for which to cache responses with the corresponding status code.

The maximum allowed value is 1800s
(30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#ttl ComputeBackendService#ttl}

---

### ComputeBackendServiceCircuitBreakers <a name="ComputeBackendServiceCircuitBreakers" id="@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.Initializer"></a>

```typescript
import { ComputeBackendServiceCircuitBreakers } from '@dschmidt/provider-google'

const computeBackendServiceCircuitBreakers: ComputeBackendServiceCircuitBreakers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxConnections">maxConnections</a></code> | <code>number</code> | The maximum number of connections to the backend cluster. Defaults to 1024. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxPendingRequests">maxPendingRequests</a></code> | <code>number</code> | The maximum number of pending requests to the backend cluster. Defaults to 1024. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxRequests">maxRequests</a></code> | <code>number</code> | The maximum number of parallel requests to the backend cluster. Defaults to 1024. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxRequestsPerConnection">maxRequestsPerConnection</a></code> | <code>number</code> | Maximum requests for a single backend connection. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxRetries">maxRetries</a></code> | <code>number</code> | The maximum number of parallel retries to the backend cluster. Defaults to 3. |

---

##### `maxConnections`<sup>Optional</sup> <a name="maxConnections" id="@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxConnections"></a>

```typescript
public readonly maxConnections: number;
```

- *Type:* number

The maximum number of connections to the backend cluster. Defaults to 1024.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_connections ComputeBackendService#max_connections}

---

##### `maxPendingRequests`<sup>Optional</sup> <a name="maxPendingRequests" id="@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxPendingRequests"></a>

```typescript
public readonly maxPendingRequests: number;
```

- *Type:* number

The maximum number of pending requests to the backend cluster. Defaults to 1024.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_pending_requests ComputeBackendService#max_pending_requests}

---

##### `maxRequests`<sup>Optional</sup> <a name="maxRequests" id="@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxRequests"></a>

```typescript
public readonly maxRequests: number;
```

- *Type:* number

The maximum number of parallel requests to the backend cluster. Defaults to 1024.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_requests ComputeBackendService#max_requests}

---

##### `maxRequestsPerConnection`<sup>Optional</sup> <a name="maxRequestsPerConnection" id="@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxRequestsPerConnection"></a>

```typescript
public readonly maxRequestsPerConnection: number;
```

- *Type:* number

Maximum requests for a single backend connection.

This parameter
is respected by both the HTTP/1.1 and HTTP/2 implementations. If
not specified, there is no limit. Setting this parameter to 1
will effectively disable keep alive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_requests_per_connection ComputeBackendService#max_requests_per_connection}

---

##### `maxRetries`<sup>Optional</sup> <a name="maxRetries" id="@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers.property.maxRetries"></a>

```typescript
public readonly maxRetries: number;
```

- *Type:* number

The maximum number of parallel retries to the backend cluster. Defaults to 3.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_retries ComputeBackendService#max_retries}

---

### ComputeBackendServiceConfig <a name="ComputeBackendServiceConfig" id="@dschmidt/provider-google.ComputeBackendServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceConfig.Initializer"></a>

```typescript
import { ComputeBackendServiceConfig } from '@dschmidt/provider-google'

const computeBackendServiceConfig: ComputeBackendServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.affinityCookieTtlSec">affinityCookieTtlSec</a></code> | <code>number</code> | Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.backend">backend</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeBackendServiceBackend">ComputeBackendServiceBackend</a>[]</code> | backend block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.cdnPolicy">cdnPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy">ComputeBackendServiceCdnPolicy</a></code> | cdn_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.circuitBreakers">circuitBreakers</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers">ComputeBackendServiceCircuitBreakers</a></code> | circuit_breakers block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.connectionDrainingTimeoutSec">connectionDrainingTimeoutSec</a></code> | <code>number</code> | Time for which instance will be drained (not accept new connections, but still work to finish started). |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.consistentHash">consistentHash</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHash">ComputeBackendServiceConsistentHash</a></code> | consistent_hash block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.customRequestHeaders">customRequestHeaders</a></code> | <code>string[]</code> | Headers that the HTTP/S load balancer should add to proxied requests. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.customResponseHeaders">customResponseHeaders</a></code> | <code>string[]</code> | Headers that the HTTP/S load balancer should add to proxied responses. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.enableCdn">enableCdn</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, enable Cloud CDN for this BackendService. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.healthChecks">healthChecks</a></code> | <code>string[]</code> | The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.iap">iap</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceIap">ComputeBackendServiceIap</a></code> | iap block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#id ComputeBackendService#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | Indicates whether the backend service will be used with internal or external load balancing. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.localityLbPolicy">localityLbPolicy</a></code> | <code>string</code> | The load balancing algorithm used within the scope of the locality. The possible values are:. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceLogConfig">ComputeBackendServiceLogConfig</a></code> | log_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.outlierDetection">outlierDetection</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection">ComputeBackendServiceOutlierDetection</a></code> | outlier_detection block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.portName">portName</a></code> | <code>string</code> | Name of backend port. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#project ComputeBackendService#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.protocol">protocol</a></code> | <code>string</code> | The protocol this BackendService uses to communicate with backends. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.securityPolicy">securityPolicy</a></code> | <code>string</code> | The security policy associated with this backend service. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.securitySettings">securitySettings</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSecuritySettings">ComputeBackendServiceSecuritySettings</a></code> | security_settings block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.sessionAffinity">sessionAffinity</a></code> | <code>string</code> | Type of session affinity to use. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceTimeouts">ComputeBackendServiceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConfig.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | How many seconds to wait for the backend before considering it a failed request. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#name ComputeBackendService#name}

---

##### `affinityCookieTtlSec`<sup>Optional</sup> <a name="affinityCookieTtlSec" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.affinityCookieTtlSec"></a>

```typescript
public readonly affinityCookieTtlSec: number;
```

- *Type:* number

Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE.

If set to 0, the cookie is non-persistent and lasts
only until the end of the browser session (or equivalent). The
maximum allowed value for TTL is one day.

When the load balancing scheme is INTERNAL, this field is not used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#affinity_cookie_ttl_sec ComputeBackendService#affinity_cookie_ttl_sec}

---

##### `backend`<sup>Optional</sup> <a name="backend" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.backend"></a>

```typescript
public readonly backend: IResolvable | ComputeBackendServiceBackend[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeBackendServiceBackend">ComputeBackendServiceBackend</a>[]

backend block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#backend ComputeBackendService#backend}

---

##### `cdnPolicy`<sup>Optional</sup> <a name="cdnPolicy" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.cdnPolicy"></a>

```typescript
public readonly cdnPolicy: ComputeBackendServiceCdnPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceCdnPolicy">ComputeBackendServiceCdnPolicy</a>

cdn_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#cdn_policy ComputeBackendService#cdn_policy}

---

##### `circuitBreakers`<sup>Optional</sup> <a name="circuitBreakers" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.circuitBreakers"></a>

```typescript
public readonly circuitBreakers: ComputeBackendServiceCircuitBreakers;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceCircuitBreakers">ComputeBackendServiceCircuitBreakers</a>

circuit_breakers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#circuit_breakers ComputeBackendService#circuit_breakers}

---

##### `connectionDrainingTimeoutSec`<sup>Optional</sup> <a name="connectionDrainingTimeoutSec" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.connectionDrainingTimeoutSec"></a>

```typescript
public readonly connectionDrainingTimeoutSec: number;
```

- *Type:* number

Time for which instance will be drained (not accept new connections, but still work to finish started).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#connection_draining_timeout_sec ComputeBackendService#connection_draining_timeout_sec}

---

##### `consistentHash`<sup>Optional</sup> <a name="consistentHash" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.consistentHash"></a>

```typescript
public readonly consistentHash: ComputeBackendServiceConsistentHash;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHash">ComputeBackendServiceConsistentHash</a>

consistent_hash block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#consistent_hash ComputeBackendService#consistent_hash}

---

##### `customRequestHeaders`<sup>Optional</sup> <a name="customRequestHeaders" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.customRequestHeaders"></a>

```typescript
public readonly customRequestHeaders: string[];
```

- *Type:* string[]

Headers that the HTTP/S load balancer should add to proxied requests.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#custom_request_headers ComputeBackendService#custom_request_headers}

---

##### `customResponseHeaders`<sup>Optional</sup> <a name="customResponseHeaders" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.customResponseHeaders"></a>

```typescript
public readonly customResponseHeaders: string[];
```

- *Type:* string[]

Headers that the HTTP/S load balancer should add to proxied responses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#custom_response_headers ComputeBackendService#custom_response_headers}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#description ComputeBackendService#description}

---

##### `enableCdn`<sup>Optional</sup> <a name="enableCdn" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.enableCdn"></a>

```typescript
public readonly enableCdn: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, enable Cloud CDN for this BackendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#enable_cdn ComputeBackendService#enable_cdn}

---

##### `healthChecks`<sup>Optional</sup> <a name="healthChecks" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.healthChecks"></a>

```typescript
public readonly healthChecks: string[];
```

- *Type:* string[]

The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService.

Currently at most one health
check can be specified.

A health check must be specified unless the backend service uses an internet
or serverless NEG as a backend.

For internal load balancing, a URL to a HealthCheck resource must be specified instead.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#health_checks ComputeBackendService#health_checks}

---

##### `iap`<sup>Optional</sup> <a name="iap" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.iap"></a>

```typescript
public readonly iap: ComputeBackendServiceIap;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceIap">ComputeBackendServiceIap</a>

iap block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#iap ComputeBackendService#iap}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#id ComputeBackendService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `loadBalancingScheme`<sup>Optional</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

Indicates whether the backend service will be used with internal or external load balancing.

A backend service created for one type of
load balancing cannot be used with the other. For more information, refer to
[Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service). Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL_SELF_MANAGED", "EXTERNAL_MANAGED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#load_balancing_scheme ComputeBackendService#load_balancing_scheme}

---

##### `localityLbPolicy`<sup>Optional</sup> <a name="localityLbPolicy" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.localityLbPolicy"></a>

```typescript
public readonly localityLbPolicy: string;
```

- *Type:* string

The load balancing algorithm used within the scope of the locality. The possible values are:.

'ROUND_ROBIN': This is a simple policy in which each healthy backend
              is selected in round robin order.

'LEAST_REQUEST': An O(1) algorithm which selects two random healthy
                hosts and picks the host which has fewer active requests.

'RING_HASH': The ring/modulo hash load balancer implements consistent
            hashing to backends. The algorithm has the property that the
            addition/removal of a host from a set of N hosts only affects
            1/N of the requests.

'RANDOM': The load balancer selects a random healthy host.

'ORIGINAL_DESTINATION': Backend host is selected based on the client
                       connection metadata, i.e., connections are opened
                       to the same address as the destination address of
                       the incoming connection before the connection
                       was redirected to the load balancer.

'MAGLEV': used as a drop in replacement for the ring hash load balancer.
         Maglev is not as stable as ring hash but has faster table lookup
         build times and host selection times. For more information about
         Maglev, refer to https://ai.google/research/pubs/pub44824


This field is applicable to either:

A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
and loadBalancingScheme set to INTERNAL_MANAGED.
A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.


If session_affinity is not NONE, and this field is not set to MAGLEV or RING_HASH,
session affinity settings will not take effect.

Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
field set to true. Possible values: ["ROUND_ROBIN", "LEAST_REQUEST", "RING_HASH", "RANDOM", "ORIGINAL_DESTINATION", "MAGLEV"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#locality_lb_policy ComputeBackendService#locality_lb_policy}

---

##### `logConfig`<sup>Optional</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeBackendServiceLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceLogConfig">ComputeBackendServiceLogConfig</a>

log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#log_config ComputeBackendService#log_config}

---

##### `outlierDetection`<sup>Optional</sup> <a name="outlierDetection" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.outlierDetection"></a>

```typescript
public readonly outlierDetection: ComputeBackendServiceOutlierDetection;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection">ComputeBackendServiceOutlierDetection</a>

outlier_detection block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#outlier_detection ComputeBackendService#outlier_detection}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Name of backend port.

The same name should appear in the instance
groups referenced by this service. Required when the load balancing
scheme is EXTERNAL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#port_name ComputeBackendService#port_name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#project ComputeBackendService#project}.

---

##### `protocol`<sup>Optional</sup> <a name="protocol" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

The protocol this BackendService uses to communicate with backends.

The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer
types and may result in errors if used with the GA API. Possible values: ["HTTP", "HTTPS", "HTTP2", "TCP", "SSL", "GRPC"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#protocol ComputeBackendService#protocol}

---

##### `securityPolicy`<sup>Optional</sup> <a name="securityPolicy" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.securityPolicy"></a>

```typescript
public readonly securityPolicy: string;
```

- *Type:* string

The security policy associated with this backend service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#security_policy ComputeBackendService#security_policy}

---

##### `securitySettings`<sup>Optional</sup> <a name="securitySettings" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.securitySettings"></a>

```typescript
public readonly securitySettings: ComputeBackendServiceSecuritySettings;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceSecuritySettings">ComputeBackendServiceSecuritySettings</a>

security_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#security_settings ComputeBackendService#security_settings}

---

##### `sessionAffinity`<sup>Optional</sup> <a name="sessionAffinity" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.sessionAffinity"></a>

```typescript
public readonly sessionAffinity: string;
```

- *Type:* string

Type of session affinity to use.

The default is NONE. Session affinity is
not applicable if the protocol is UDP. Possible values: ["NONE", "CLIENT_IP", "CLIENT_IP_PORT_PROTO", "CLIENT_IP_PROTO", "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#session_affinity ComputeBackendService#session_affinity}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeBackendServiceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceTimeouts">ComputeBackendServiceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#timeouts ComputeBackendService#timeouts}

---

##### `timeoutSec`<sup>Optional</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeBackendServiceConfig.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

How many seconds to wait for the backend before considering it a failed request.

Default is 30 seconds. Valid range is [1, 86400].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#timeout_sec ComputeBackendService#timeout_sec}

---

### ComputeBackendServiceConsistentHash <a name="ComputeBackendServiceConsistentHash" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHash"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHash.Initializer"></a>

```typescript
import { ComputeBackendServiceConsistentHash } from '@dschmidt/provider-google'

const computeBackendServiceConsistentHash: ComputeBackendServiceConsistentHash = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHash.property.httpCookie">httpCookie</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie">ComputeBackendServiceConsistentHashHttpCookie</a></code> | http_cookie block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHash.property.httpHeaderName">httpHeaderName</a></code> | <code>string</code> | The hash based on the value of the specified header field. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHash.property.minimumRingSize">minimumRingSize</a></code> | <code>number</code> | The minimum number of virtual nodes to use for the hash ring. |

---

##### `httpCookie`<sup>Optional</sup> <a name="httpCookie" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHash.property.httpCookie"></a>

```typescript
public readonly httpCookie: ComputeBackendServiceConsistentHashHttpCookie;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie">ComputeBackendServiceConsistentHashHttpCookie</a>

http_cookie block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#http_cookie ComputeBackendService#http_cookie}

---

##### `httpHeaderName`<sup>Optional</sup> <a name="httpHeaderName" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHash.property.httpHeaderName"></a>

```typescript
public readonly httpHeaderName: string;
```

- *Type:* string

The hash based on the value of the specified header field.

This field is applicable if the sessionAffinity is set to HEADER_FIELD.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#http_header_name ComputeBackendService#http_header_name}

---

##### `minimumRingSize`<sup>Optional</sup> <a name="minimumRingSize" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHash.property.minimumRingSize"></a>

```typescript
public readonly minimumRingSize: number;
```

- *Type:* number

The minimum number of virtual nodes to use for the hash ring.

Larger ring sizes result in more granular load
distributions. If the number of hosts in the load balancing pool
is larger than the ring size, each host will be assigned a single
virtual node.
Defaults to 1024.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#minimum_ring_size ComputeBackendService#minimum_ring_size}

---

### ComputeBackendServiceConsistentHashHttpCookie <a name="ComputeBackendServiceConsistentHashHttpCookie" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie.Initializer"></a>

```typescript
import { ComputeBackendServiceConsistentHashHttpCookie } from '@dschmidt/provider-google'

const computeBackendServiceConsistentHashHttpCookie: ComputeBackendServiceConsistentHashHttpCookie = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie.property.name">name</a></code> | <code>string</code> | Name of the cookie. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie.property.path">path</a></code> | <code>string</code> | Path to set for the cookie. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie.property.ttl">ttl</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookieTtl">ComputeBackendServiceConsistentHashHttpCookieTtl</a></code> | ttl block. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the cookie.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#name ComputeBackendService#name}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Path to set for the cookie.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#path ComputeBackendService#path}

---

##### `ttl`<sup>Optional</sup> <a name="ttl" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookie.property.ttl"></a>

```typescript
public readonly ttl: ComputeBackendServiceConsistentHashHttpCookieTtl;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookieTtl">ComputeBackendServiceConsistentHashHttpCookieTtl</a>

ttl block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#ttl ComputeBackendService#ttl}

---

### ComputeBackendServiceConsistentHashHttpCookieTtl <a name="ComputeBackendServiceConsistentHashHttpCookieTtl" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookieTtl"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookieTtl.Initializer"></a>

```typescript
import { ComputeBackendServiceConsistentHashHttpCookieTtl } from '@dschmidt/provider-google'

const computeBackendServiceConsistentHashHttpCookieTtl: ComputeBackendServiceConsistentHashHttpCookieTtl = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookieTtl.property.seconds">seconds</a></code> | <code>number</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookieTtl.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookieTtl.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#seconds ComputeBackendService#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeBackendServiceConsistentHashHttpCookieTtl.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations less than one second are represented
with a 0 seconds field and a positive nanos field. Must
be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#nanos ComputeBackendService#nanos}

---

### ComputeBackendServiceIap <a name="ComputeBackendServiceIap" id="@dschmidt/provider-google.ComputeBackendServiceIap"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceIap.Initializer"></a>

```typescript
import { ComputeBackendServiceIap } from '@dschmidt/provider-google'

const computeBackendServiceIap: ComputeBackendServiceIap = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceIap.property.oauth2ClientId">oauth2ClientId</a></code> | <code>string</code> | OAuth2 Client ID for IAP. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceIap.property.oauth2ClientSecret">oauth2ClientSecret</a></code> | <code>string</code> | OAuth2 Client Secret for IAP. |

---

##### `oauth2ClientId`<sup>Required</sup> <a name="oauth2ClientId" id="@dschmidt/provider-google.ComputeBackendServiceIap.property.oauth2ClientId"></a>

```typescript
public readonly oauth2ClientId: string;
```

- *Type:* string

OAuth2 Client ID for IAP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#oauth2_client_id ComputeBackendService#oauth2_client_id}

---

##### `oauth2ClientSecret`<sup>Required</sup> <a name="oauth2ClientSecret" id="@dschmidt/provider-google.ComputeBackendServiceIap.property.oauth2ClientSecret"></a>

```typescript
public readonly oauth2ClientSecret: string;
```

- *Type:* string

OAuth2 Client Secret for IAP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#oauth2_client_secret ComputeBackendService#oauth2_client_secret}

---

### ComputeBackendServiceLogConfig <a name="ComputeBackendServiceLogConfig" id="@dschmidt/provider-google.ComputeBackendServiceLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceLogConfig.Initializer"></a>

```typescript
import { ComputeBackendServiceLogConfig } from '@dschmidt/provider-google'

const computeBackendServiceLogConfig: ComputeBackendServiceLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceLogConfig.property.enable">enable</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable logging for the load balancer traffic served by this backend service. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceLogConfig.property.sampleRate">sampleRate</a></code> | <code>number</code> | This field can only be specified if logging is enabled for this backend service. |

---

##### `enable`<sup>Optional</sup> <a name="enable" id="@dschmidt/provider-google.ComputeBackendServiceLogConfig.property.enable"></a>

```typescript
public readonly enable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable logging for the load balancer traffic served by this backend service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#enable ComputeBackendService#enable}

---

##### `sampleRate`<sup>Optional</sup> <a name="sampleRate" id="@dschmidt/provider-google.ComputeBackendServiceLogConfig.property.sampleRate"></a>

```typescript
public readonly sampleRate: number;
```

- *Type:* number

This field can only be specified if logging is enabled for this backend service.

The value of
the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
The default value is 1.0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#sample_rate ComputeBackendService#sample_rate}

---

### ComputeBackendServiceOutlierDetection <a name="ComputeBackendServiceOutlierDetection" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.Initializer"></a>

```typescript
import { ComputeBackendServiceOutlierDetection } from '@dschmidt/provider-google'

const computeBackendServiceOutlierDetection: ComputeBackendServiceOutlierDetection = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.baseEjectionTime">baseEjectionTime</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionBaseEjectionTime">ComputeBackendServiceOutlierDetectionBaseEjectionTime</a></code> | base_ejection_time block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.consecutiveErrors">consecutiveErrors</a></code> | <code>number</code> | Number of errors before a host is ejected from the connection pool. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.consecutiveGatewayFailure">consecutiveGatewayFailure</a></code> | <code>number</code> | The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.enforcingConsecutiveErrors">enforcingConsecutiveErrors</a></code> | <code>number</code> | The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.enforcingConsecutiveGatewayFailure">enforcingConsecutiveGatewayFailure</a></code> | <code>number</code> | The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.enforcingSuccessRate">enforcingSuccessRate</a></code> | <code>number</code> | The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.interval">interval</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionInterval">ComputeBackendServiceOutlierDetectionInterval</a></code> | interval block. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.maxEjectionPercent">maxEjectionPercent</a></code> | <code>number</code> | Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 10%. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.successRateMinimumHosts">successRateMinimumHosts</a></code> | <code>number</code> | The number of hosts in a cluster that must have enough request volume to detect success rate outliers. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.successRateRequestVolume">successRateRequestVolume</a></code> | <code>number</code> | The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.successRateStdevFactor">successRateStdevFactor</a></code> | <code>number</code> | This factor is used to determine the ejection threshold for success rate outlier ejection. |

---

##### `baseEjectionTime`<sup>Optional</sup> <a name="baseEjectionTime" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.baseEjectionTime"></a>

```typescript
public readonly baseEjectionTime: ComputeBackendServiceOutlierDetectionBaseEjectionTime;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionBaseEjectionTime">ComputeBackendServiceOutlierDetectionBaseEjectionTime</a>

base_ejection_time block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#base_ejection_time ComputeBackendService#base_ejection_time}

---

##### `consecutiveErrors`<sup>Optional</sup> <a name="consecutiveErrors" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.consecutiveErrors"></a>

```typescript
public readonly consecutiveErrors: number;
```

- *Type:* number

Number of errors before a host is ejected from the connection pool.

When the
backend host is accessed over HTTP, a 5xx return code qualifies as an error.
Defaults to 5.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#consecutive_errors ComputeBackendService#consecutive_errors}

---

##### `consecutiveGatewayFailure`<sup>Optional</sup> <a name="consecutiveGatewayFailure" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.consecutiveGatewayFailure"></a>

```typescript
public readonly consecutiveGatewayFailure: number;
```

- *Type:* number

The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs.

Defaults to 5.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#consecutive_gateway_failure ComputeBackendService#consecutive_gateway_failure}

---

##### `enforcingConsecutiveErrors`<sup>Optional</sup> <a name="enforcingConsecutiveErrors" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.enforcingConsecutiveErrors"></a>

```typescript
public readonly enforcingConsecutiveErrors: number;
```

- *Type:* number

The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx.

This setting can be used to disable
ejection or to ramp it up slowly. Defaults to 100.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#enforcing_consecutive_errors ComputeBackendService#enforcing_consecutive_errors}

---

##### `enforcingConsecutiveGatewayFailure`<sup>Optional</sup> <a name="enforcingConsecutiveGatewayFailure" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.enforcingConsecutiveGatewayFailure"></a>

```typescript
public readonly enforcingConsecutiveGatewayFailure: number;
```

- *Type:* number

The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures.

This setting can be
used to disable ejection or to ramp it up slowly. Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#enforcing_consecutive_gateway_failure ComputeBackendService#enforcing_consecutive_gateway_failure}

---

##### `enforcingSuccessRate`<sup>Optional</sup> <a name="enforcingSuccessRate" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.enforcingSuccessRate"></a>

```typescript
public readonly enforcingSuccessRate: number;
```

- *Type:* number

The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics.

This setting can be used to
disable ejection or to ramp it up slowly. Defaults to 100.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#enforcing_success_rate ComputeBackendService#enforcing_success_rate}

---

##### `interval`<sup>Optional</sup> <a name="interval" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.interval"></a>

```typescript
public readonly interval: ComputeBackendServiceOutlierDetectionInterval;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionInterval">ComputeBackendServiceOutlierDetectionInterval</a>

interval block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#interval ComputeBackendService#interval}

---

##### `maxEjectionPercent`<sup>Optional</sup> <a name="maxEjectionPercent" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.maxEjectionPercent"></a>

```typescript
public readonly maxEjectionPercent: number;
```

- *Type:* number

Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 10%.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#max_ejection_percent ComputeBackendService#max_ejection_percent}

---

##### `successRateMinimumHosts`<sup>Optional</sup> <a name="successRateMinimumHosts" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.successRateMinimumHosts"></a>

```typescript
public readonly successRateMinimumHosts: number;
```

- *Type:* number

The number of hosts in a cluster that must have enough request volume to detect success rate outliers.

If the number of hosts is less than this setting, outlier
detection via success rate statistics is not performed for any host in the
cluster. Defaults to 5.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#success_rate_minimum_hosts ComputeBackendService#success_rate_minimum_hosts}

---

##### `successRateRequestVolume`<sup>Optional</sup> <a name="successRateRequestVolume" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.successRateRequestVolume"></a>

```typescript
public readonly successRateRequestVolume: number;
```

- *Type:* number

The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection.

If the volume is lower than this setting, outlier
detection via success rate statistics is not performed for that host. Defaults
to 100.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#success_rate_request_volume ComputeBackendService#success_rate_request_volume}

---

##### `successRateStdevFactor`<sup>Optional</sup> <a name="successRateStdevFactor" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetection.property.successRateStdevFactor"></a>

```typescript
public readonly successRateStdevFactor: number;
```

- *Type:* number

This factor is used to determine the ejection threshold for success rate outlier ejection.

The ejection threshold is the difference between the mean success
rate, and the product of this factor and the standard deviation of the mean
success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
by a thousand to get a double. That is, if the desired factor is 1.9, the
runtime value should be 1900. Defaults to 1900.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#success_rate_stdev_factor ComputeBackendService#success_rate_stdev_factor}

---

### ComputeBackendServiceOutlierDetectionBaseEjectionTime <a name="ComputeBackendServiceOutlierDetectionBaseEjectionTime" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionBaseEjectionTime"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionBaseEjectionTime.Initializer"></a>

```typescript
import { ComputeBackendServiceOutlierDetectionBaseEjectionTime } from '@dschmidt/provider-google'

const computeBackendServiceOutlierDetectionBaseEjectionTime: ComputeBackendServiceOutlierDetectionBaseEjectionTime = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionBaseEjectionTime.property.seconds">seconds</a></code> | <code>number</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionBaseEjectionTime.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionBaseEjectionTime.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#seconds ComputeBackendService#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionBaseEjectionTime.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#nanos ComputeBackendService#nanos}

---

### ComputeBackendServiceOutlierDetectionInterval <a name="ComputeBackendServiceOutlierDetectionInterval" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionInterval"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionInterval.Initializer"></a>

```typescript
import { ComputeBackendServiceOutlierDetectionInterval } from '@dschmidt/provider-google'

const computeBackendServiceOutlierDetectionInterval: ComputeBackendServiceOutlierDetectionInterval = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionInterval.property.seconds">seconds</a></code> | <code>number</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionInterval.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionInterval.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#seconds ComputeBackendService#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeBackendServiceOutlierDetectionInterval.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#nanos ComputeBackendService#nanos}

---

### ComputeBackendServiceSecuritySettings <a name="ComputeBackendServiceSecuritySettings" id="@dschmidt/provider-google.ComputeBackendServiceSecuritySettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceSecuritySettings.Initializer"></a>

```typescript
import { ComputeBackendServiceSecuritySettings } from '@dschmidt/provider-google'

const computeBackendServiceSecuritySettings: ComputeBackendServiceSecuritySettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSecuritySettings.property.clientTlsPolicy">clientTlsPolicy</a></code> | <code>string</code> | ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSecuritySettings.property.subjectAltNames">subjectAltNames</a></code> | <code>string[]</code> | A list of alternate names to verify the subject identity in the certificate. |

---

##### `clientTlsPolicy`<sup>Required</sup> <a name="clientTlsPolicy" id="@dschmidt/provider-google.ComputeBackendServiceSecuritySettings.property.clientTlsPolicy"></a>

```typescript
public readonly clientTlsPolicy: string;
```

- *Type:* string

ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service.

This resource itself does not affect
configuration unless it is attached to a backend service resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#client_tls_policy ComputeBackendService#client_tls_policy}

---

##### `subjectAltNames`<sup>Required</sup> <a name="subjectAltNames" id="@dschmidt/provider-google.ComputeBackendServiceSecuritySettings.property.subjectAltNames"></a>

```typescript
public readonly subjectAltNames: string[];
```

- *Type:* string[]

A list of alternate names to verify the subject identity in the certificate.

If specified, the client will verify that the server certificate's subject
alt name matches one of the specified values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#subject_alt_names ComputeBackendService#subject_alt_names}

---

### ComputeBackendServiceSignedUrlKeyConfig <a name="ComputeBackendServiceSignedUrlKeyConfig" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.Initializer"></a>

```typescript
import { ComputeBackendServiceSignedUrlKeyConfig } from '@dschmidt/provider-google'

const computeBackendServiceSignedUrlKeyConfig: ComputeBackendServiceSignedUrlKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.backendService">backendService</a></code> | <code>string</code> | The backend service this signed URL key belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.keyValue">keyValue</a></code> | <code>string</code> | 128-bit key value used for signing the URL. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.name">name</a></code> | <code>string</code> | Name of the signed URL key. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#id ComputeBackendServiceSignedUrlKey#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#project ComputeBackendServiceSignedUrlKey#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts">ComputeBackendServiceSignedUrlKeyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The backend service this signed URL key belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#backend_service ComputeBackendServiceSignedUrlKey#backend_service}

---

##### `keyValue`<sup>Required</sup> <a name="keyValue" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.keyValue"></a>

```typescript
public readonly keyValue: string;
```

- *Type:* string

128-bit key value used for signing the URL.

The key value must be a
valid RFC 4648 Section 5 base64url encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#key_value ComputeBackendServiceSignedUrlKey#key_value}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the signed URL key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#name ComputeBackendServiceSignedUrlKey#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#id ComputeBackendServiceSignedUrlKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#project ComputeBackendServiceSignedUrlKey#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeBackendServiceSignedUrlKeyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts">ComputeBackendServiceSignedUrlKeyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#timeouts ComputeBackendServiceSignedUrlKey#timeouts}

---

### ComputeBackendServiceSignedUrlKeyTimeouts <a name="ComputeBackendServiceSignedUrlKeyTimeouts" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts.Initializer"></a>

```typescript
import { ComputeBackendServiceSignedUrlKeyTimeouts } from '@dschmidt/provider-google'

const computeBackendServiceSignedUrlKeyTimeouts: ComputeBackendServiceSignedUrlKeyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#create ComputeBackendServiceSignedUrlKey#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#delete ComputeBackendServiceSignedUrlKey#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#create ComputeBackendServiceSignedUrlKey#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeBackendServiceSignedUrlKeyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service_signed_url_key#delete ComputeBackendServiceSignedUrlKey#delete}.

---

### ComputeBackendServiceTimeouts <a name="ComputeBackendServiceTimeouts" id="@dschmidt/provider-google.ComputeBackendServiceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeBackendServiceTimeouts.Initializer"></a>

```typescript
import { ComputeBackendServiceTimeouts } from '@dschmidt/provider-google'

const computeBackendServiceTimeouts: ComputeBackendServiceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#create ComputeBackendService#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#delete ComputeBackendService#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeBackendServiceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#update ComputeBackendService#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeBackendServiceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#create ComputeBackendService#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeBackendServiceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#delete ComputeBackendService#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeBackendServiceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_backend_service#update ComputeBackendService#update}.

---

### ComputeDiskConfig <a name="ComputeDiskConfig" id="@dschmidt/provider-google.ComputeDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskConfig.Initializer"></a>

```typescript
import { ComputeDiskConfig } from '@dschmidt/provider-google'

const computeDiskConfig: ComputeDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.diskEncryptionKey">diskEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKey">ComputeDiskDiskEncryptionKey</a></code> | disk_encryption_key block. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#id ComputeDisk#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.image">image</a></code> | <code>string</code> | The image from which to initialize this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels to apply to this disk.  A list of key->value pairs. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.physicalBlockSizeBytes">physicalBlockSizeBytes</a></code> | <code>number</code> | Physical block size of the persistent disk, in bytes. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#project ComputeDisk#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.provisionedIops">provisionedIops</a></code> | <code>number</code> | Indicates how many IOPS must be provisioned for the disk. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.size">size</a></code> | <code>number</code> | Size of the persistent disk, specified in GB. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.snapshot">snapshot</a></code> | <code>string</code> | The source snapshot used to create this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.sourceImageEncryptionKey">sourceImageEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey">ComputeDiskSourceImageEncryptionKey</a></code> | source_image_encryption_key block. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.sourceSnapshotEncryptionKey">sourceSnapshotEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey">ComputeDiskSourceSnapshotEncryptionKey</a></code> | source_snapshot_encryption_key block. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskTimeouts">ComputeDiskTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.type">type</a></code> | <code>string</code> | URL of the disk type resource describing which disk type to use to create the disk. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskConfig.property.zone">zone</a></code> | <code>string</code> | A reference to the zone where the disk resides. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDiskConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDiskConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDiskConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDiskConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDiskConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDiskConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDiskConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDiskConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#name ComputeDisk#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeDiskConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#description ComputeDisk#description}

---

##### `diskEncryptionKey`<sup>Optional</sup> <a name="diskEncryptionKey" id="@dschmidt/provider-google.ComputeDiskConfig.property.diskEncryptionKey"></a>

```typescript
public readonly diskEncryptionKey: ComputeDiskDiskEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKey">ComputeDiskDiskEncryptionKey</a>

disk_encryption_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#disk_encryption_key ComputeDisk#disk_encryption_key}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#id ComputeDisk#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `image`<sup>Optional</sup> <a name="image" id="@dschmidt/provider-google.ComputeDiskConfig.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

The image from which to initialize this disk.

This can be
one of: the image's 'self_link', 'projects/{project}/global/images/{image}',
'projects/{project}/global/images/family/{family}', 'global/images/{image}',
'global/images/family/{family}', 'family/{family}', '{project}/{family}',
'{project}/{image}', '{family}', or '{image}'. If referred by family, the
images names must include the family name. If they don't, use the
[google_compute_image data source](/docs/providers/google/d/compute_image.html).
For instance, the image 'centos-6-v20180104' includes its family name 'centos-6'.
These images can be referred by family name here.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#image ComputeDisk#image}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeDiskConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to apply to this disk.  A list of key->value pairs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#labels ComputeDisk#labels}

---

##### `physicalBlockSizeBytes`<sup>Optional</sup> <a name="physicalBlockSizeBytes" id="@dschmidt/provider-google.ComputeDiskConfig.property.physicalBlockSizeBytes"></a>

```typescript
public readonly physicalBlockSizeBytes: number;
```

- *Type:* number

Physical block size of the persistent disk, in bytes.

If not present
in a request, a default value is used. Currently supported sizes
are 4096 and 16384, other sizes may be added in the future.
If an unsupported value is requested, the error message will list
the supported values for the caller's project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#physical_block_size_bytes ComputeDisk#physical_block_size_bytes}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeDiskConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#project ComputeDisk#project}.

---

##### `provisionedIops`<sup>Optional</sup> <a name="provisionedIops" id="@dschmidt/provider-google.ComputeDiskConfig.property.provisionedIops"></a>

```typescript
public readonly provisionedIops: number;
```

- *Type:* number

Indicates how many IOPS must be provisioned for the disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#provisioned_iops ComputeDisk#provisioned_iops}

---

##### `size`<sup>Optional</sup> <a name="size" id="@dschmidt/provider-google.ComputeDiskConfig.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

Size of the persistent disk, specified in GB.

You can specify this
field when creating a persistent disk using the 'image' or
'snapshot' parameter, or specify it alone to create an empty
persistent disk.

If you specify this field along with 'image' or 'snapshot',
the value must not be less than the size of the image
or the size of the snapshot.

~>**NOTE** If you change the size, Terraform updates the disk size
if upsizing is detected but recreates the disk if downsizing is requested.
You can add 'lifecycle.prevent_destroy' in the config to prevent destroying
and recreating.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#size ComputeDisk#size}

---

##### `snapshot`<sup>Optional</sup> <a name="snapshot" id="@dschmidt/provider-google.ComputeDiskConfig.property.snapshot"></a>

```typescript
public readonly snapshot: string;
```

- *Type:* string

The source snapshot used to create this disk.

You can provide this as
a partial or full URL to the resource. If the snapshot is in another
project than this disk, you must supply a full URL. For example, the
following are valid values:

'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot'
'projects/project/global/snapshots/snapshot'
'global/snapshots/snapshot'
'snapshot'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#snapshot ComputeDisk#snapshot}

---

##### `sourceImageEncryptionKey`<sup>Optional</sup> <a name="sourceImageEncryptionKey" id="@dschmidt/provider-google.ComputeDiskConfig.property.sourceImageEncryptionKey"></a>

```typescript
public readonly sourceImageEncryptionKey: ComputeDiskSourceImageEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey">ComputeDiskSourceImageEncryptionKey</a>

source_image_encryption_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#source_image_encryption_key ComputeDisk#source_image_encryption_key}

---

##### `sourceSnapshotEncryptionKey`<sup>Optional</sup> <a name="sourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeDiskConfig.property.sourceSnapshotEncryptionKey"></a>

```typescript
public readonly sourceSnapshotEncryptionKey: ComputeDiskSourceSnapshotEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey">ComputeDiskSourceSnapshotEncryptionKey</a>

source_snapshot_encryption_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#source_snapshot_encryption_key ComputeDisk#source_snapshot_encryption_key}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeDiskConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeDiskTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskTimeouts">ComputeDiskTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#timeouts ComputeDisk#timeouts}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeDiskConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

URL of the disk type resource describing which disk type to use to create the disk.

Provide this when creating the disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#type ComputeDisk#type}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDiskConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

A reference to the zone where the disk resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#zone ComputeDisk#zone}

---

### ComputeDiskDiskEncryptionKey <a name="ComputeDiskDiskEncryptionKey" id="@dschmidt/provider-google.ComputeDiskDiskEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskDiskEncryptionKey.Initializer"></a>

```typescript
import { ComputeDiskDiskEncryptionKey } from '@dschmidt/provider-google'

const computeDiskDiskEncryptionKey: ComputeDiskDiskEncryptionKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKey.property.kmsKeySelfLink">kmsKeySelfLink</a></code> | <code>string</code> | The self link of the encryption key used to encrypt the disk. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKey.property.kmsKeyServiceAccount">kmsKeyServiceAccount</a></code> | <code>string</code> | The service account used for the encryption request for the given KMS key. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskDiskEncryptionKey.property.rawKey">rawKey</a></code> | <code>string</code> | Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. |

---

##### `kmsKeySelfLink`<sup>Optional</sup> <a name="kmsKeySelfLink" id="@dschmidt/provider-google.ComputeDiskDiskEncryptionKey.property.kmsKeySelfLink"></a>

```typescript
public readonly kmsKeySelfLink: string;
```

- *Type:* string

The self link of the encryption key used to encrypt the disk.

Also called KmsKeyName
in the cloud console. Your project's Compute Engine System service account
('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#kms_key_self_link ComputeDisk#kms_key_self_link}

---

##### `kmsKeyServiceAccount`<sup>Optional</sup> <a name="kmsKeyServiceAccount" id="@dschmidt/provider-google.ComputeDiskDiskEncryptionKey.property.kmsKeyServiceAccount"></a>

```typescript
public readonly kmsKeyServiceAccount: string;
```

- *Type:* string

The service account used for the encryption request for the given KMS key.

If absent, the Compute Engine Service Agent service account is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#kms_key_service_account ComputeDisk#kms_key_service_account}

---

##### `rawKey`<sup>Optional</sup> <a name="rawKey" id="@dschmidt/provider-google.ComputeDiskDiskEncryptionKey.property.rawKey"></a>

```typescript
public readonly rawKey: string;
```

- *Type:* string

Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#raw_key ComputeDisk#raw_key}

---

### ComputeDiskIamBindingCondition <a name="ComputeDiskIamBindingCondition" id="@dschmidt/provider-google.ComputeDiskIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskIamBindingCondition.Initializer"></a>

```typescript
import { ComputeDiskIamBindingCondition } from '@dschmidt/provider-google'

const computeDiskIamBindingCondition: ComputeDiskIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#expression ComputeDiskIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#title ComputeDiskIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#description ComputeDiskIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeDiskIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#expression ComputeDiskIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeDiskIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#title ComputeDiskIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeDiskIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#description ComputeDiskIamBinding#description}.

---

### ComputeDiskIamBindingConfig <a name="ComputeDiskIamBindingConfig" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.Initializer"></a>

```typescript
import { ComputeDiskIamBindingConfig } from '@dschmidt/provider-google'

const computeDiskIamBindingConfig: ComputeDiskIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#members ComputeDiskIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#name ComputeDiskIamBinding#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#role ComputeDiskIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingCondition">ComputeDiskIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#id ComputeDiskIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#project ComputeDiskIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#zone ComputeDiskIamBinding#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#members ComputeDiskIamBinding#members}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#name ComputeDiskIamBinding#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#role ComputeDiskIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ComputeDiskIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamBindingCondition">ComputeDiskIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#condition ComputeDiskIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#id ComputeDiskIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#project ComputeDiskIamBinding#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDiskIamBindingConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_binding#zone ComputeDiskIamBinding#zone}.

---

### ComputeDiskIamMemberCondition <a name="ComputeDiskIamMemberCondition" id="@dschmidt/provider-google.ComputeDiskIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskIamMemberCondition.Initializer"></a>

```typescript
import { ComputeDiskIamMemberCondition } from '@dschmidt/provider-google'

const computeDiskIamMemberCondition: ComputeDiskIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#expression ComputeDiskIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#title ComputeDiskIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#description ComputeDiskIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeDiskIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#expression ComputeDiskIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeDiskIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#title ComputeDiskIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeDiskIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#description ComputeDiskIamMember#description}.

---

### ComputeDiskIamMemberConfig <a name="ComputeDiskIamMemberConfig" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.Initializer"></a>

```typescript
import { ComputeDiskIamMemberConfig } from '@dschmidt/provider-google'

const computeDiskIamMemberConfig: ComputeDiskIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#member ComputeDiskIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#name ComputeDiskIamMember#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#role ComputeDiskIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberCondition">ComputeDiskIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#id ComputeDiskIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#project ComputeDiskIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#zone ComputeDiskIamMember#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#member ComputeDiskIamMember#member}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#name ComputeDiskIamMember#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#role ComputeDiskIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ComputeDiskIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskIamMemberCondition">ComputeDiskIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#condition ComputeDiskIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#id ComputeDiskIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#project ComputeDiskIamMember#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDiskIamMemberConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_member#zone ComputeDiskIamMember#zone}.

---

### ComputeDiskIamPolicyConfig <a name="ComputeDiskIamPolicyConfig" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.Initializer"></a>

```typescript
import { ComputeDiskIamPolicyConfig } from '@dschmidt/provider-google'

const computeDiskIamPolicyConfig: ComputeDiskIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#name ComputeDiskIamPolicy#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#policy_data ComputeDiskIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#id ComputeDiskIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#project ComputeDiskIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#zone ComputeDiskIamPolicy#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#name ComputeDiskIamPolicy#name}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#policy_data ComputeDiskIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#id ComputeDiskIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#project ComputeDiskIamPolicy#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDiskIamPolicyConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_iam_policy#zone ComputeDiskIamPolicy#zone}.

---

### ComputeDiskResourcePolicyAttachmentConfig <a name="ComputeDiskResourcePolicyAttachmentConfig" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.Initializer"></a>

```typescript
import { ComputeDiskResourcePolicyAttachmentConfig } from '@dschmidt/provider-google'

const computeDiskResourcePolicyAttachmentConfig: ComputeDiskResourcePolicyAttachmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.disk">disk</a></code> | <code>string</code> | The name of the disk in which the resource policies are attached to. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.name">name</a></code> | <code>string</code> | The resource policy to be attached to the disk for scheduling snapshot creation. Do not specify the self link. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#id ComputeDiskResourcePolicyAttachment#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#project ComputeDiskResourcePolicyAttachment#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts">ComputeDiskResourcePolicyAttachmentTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.zone">zone</a></code> | <code>string</code> | A reference to the zone where the disk resides. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `disk`<sup>Required</sup> <a name="disk" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.disk"></a>

```typescript
public readonly disk: string;
```

- *Type:* string

The name of the disk in which the resource policies are attached to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#disk ComputeDiskResourcePolicyAttachment#disk}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource policy to be attached to the disk for scheduling snapshot creation. Do not specify the self link.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#name ComputeDiskResourcePolicyAttachment#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#id ComputeDiskResourcePolicyAttachment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#project ComputeDiskResourcePolicyAttachment#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeDiskResourcePolicyAttachmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts">ComputeDiskResourcePolicyAttachmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#timeouts ComputeDiskResourcePolicyAttachment#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

A reference to the zone where the disk resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#zone ComputeDiskResourcePolicyAttachment#zone}

---

### ComputeDiskResourcePolicyAttachmentTimeouts <a name="ComputeDiskResourcePolicyAttachmentTimeouts" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts.Initializer"></a>

```typescript
import { ComputeDiskResourcePolicyAttachmentTimeouts } from '@dschmidt/provider-google'

const computeDiskResourcePolicyAttachmentTimeouts: ComputeDiskResourcePolicyAttachmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#create ComputeDiskResourcePolicyAttachment#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#delete ComputeDiskResourcePolicyAttachment#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#create ComputeDiskResourcePolicyAttachment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeDiskResourcePolicyAttachmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk_resource_policy_attachment#delete ComputeDiskResourcePolicyAttachment#delete}.

---

### ComputeDiskSourceImageEncryptionKey <a name="ComputeDiskSourceImageEncryptionKey" id="@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey.Initializer"></a>

```typescript
import { ComputeDiskSourceImageEncryptionKey } from '@dschmidt/provider-google'

const computeDiskSourceImageEncryptionKey: ComputeDiskSourceImageEncryptionKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey.property.kmsKeySelfLink">kmsKeySelfLink</a></code> | <code>string</code> | The self link of the encryption key used to encrypt the disk. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey.property.kmsKeyServiceAccount">kmsKeyServiceAccount</a></code> | <code>string</code> | The service account used for the encryption request for the given KMS key. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey.property.rawKey">rawKey</a></code> | <code>string</code> | Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. |

---

##### `kmsKeySelfLink`<sup>Optional</sup> <a name="kmsKeySelfLink" id="@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey.property.kmsKeySelfLink"></a>

```typescript
public readonly kmsKeySelfLink: string;
```

- *Type:* string

The self link of the encryption key used to encrypt the disk.

Also called KmsKeyName
in the cloud console. Your project's Compute Engine System service account
('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#kms_key_self_link ComputeDisk#kms_key_self_link}

---

##### `kmsKeyServiceAccount`<sup>Optional</sup> <a name="kmsKeyServiceAccount" id="@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey.property.kmsKeyServiceAccount"></a>

```typescript
public readonly kmsKeyServiceAccount: string;
```

- *Type:* string

The service account used for the encryption request for the given KMS key.

If absent, the Compute Engine Service Agent service account is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#kms_key_service_account ComputeDisk#kms_key_service_account}

---

##### `rawKey`<sup>Optional</sup> <a name="rawKey" id="@dschmidt/provider-google.ComputeDiskSourceImageEncryptionKey.property.rawKey"></a>

```typescript
public readonly rawKey: string;
```

- *Type:* string

Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#raw_key ComputeDisk#raw_key}

---

### ComputeDiskSourceSnapshotEncryptionKey <a name="ComputeDiskSourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey.Initializer"></a>

```typescript
import { ComputeDiskSourceSnapshotEncryptionKey } from '@dschmidt/provider-google'

const computeDiskSourceSnapshotEncryptionKey: ComputeDiskSourceSnapshotEncryptionKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey.property.kmsKeySelfLink">kmsKeySelfLink</a></code> | <code>string</code> | The self link of the encryption key used to encrypt the disk. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey.property.kmsKeyServiceAccount">kmsKeyServiceAccount</a></code> | <code>string</code> | The service account used for the encryption request for the given KMS key. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey.property.rawKey">rawKey</a></code> | <code>string</code> | Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. |

---

##### `kmsKeySelfLink`<sup>Optional</sup> <a name="kmsKeySelfLink" id="@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey.property.kmsKeySelfLink"></a>

```typescript
public readonly kmsKeySelfLink: string;
```

- *Type:* string

The self link of the encryption key used to encrypt the disk.

Also called KmsKeyName
in the cloud console. Your project's Compute Engine System service account
('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#kms_key_self_link ComputeDisk#kms_key_self_link}

---

##### `kmsKeyServiceAccount`<sup>Optional</sup> <a name="kmsKeyServiceAccount" id="@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey.property.kmsKeyServiceAccount"></a>

```typescript
public readonly kmsKeyServiceAccount: string;
```

- *Type:* string

The service account used for the encryption request for the given KMS key.

If absent, the Compute Engine Service Agent service account is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#kms_key_service_account ComputeDisk#kms_key_service_account}

---

##### `rawKey`<sup>Optional</sup> <a name="rawKey" id="@dschmidt/provider-google.ComputeDiskSourceSnapshotEncryptionKey.property.rawKey"></a>

```typescript
public readonly rawKey: string;
```

- *Type:* string

Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#raw_key ComputeDisk#raw_key}

---

### ComputeDiskTimeouts <a name="ComputeDiskTimeouts" id="@dschmidt/provider-google.ComputeDiskTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeDiskTimeouts.Initializer"></a>

```typescript
import { ComputeDiskTimeouts } from '@dschmidt/provider-google'

const computeDiskTimeouts: ComputeDiskTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeDiskTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#create ComputeDisk#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#delete ComputeDisk#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeDiskTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#update ComputeDisk#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeDiskTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#create ComputeDisk#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeDiskTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#delete ComputeDisk#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeDiskTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_disk#update ComputeDisk#update}.

---

### ComputeExternalVpnGatewayConfig <a name="ComputeExternalVpnGatewayConfig" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.Initializer"></a>

```typescript
import { ComputeExternalVpnGatewayConfig } from '@dschmidt/provider-google'

const computeExternalVpnGatewayConfig: ComputeExternalVpnGatewayConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#id ComputeExternalVpnGateway#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.interface">interface</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayInterface">ComputeExternalVpnGatewayInterface</a>[]</code> | interface block. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#project ComputeExternalVpnGateway#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.redundancyType">redundancyType</a></code> | <code>string</code> | Indicates the redundancy type of this external VPN gateway Possible values: ["FOUR_IPS_REDUNDANCY", "SINGLE_IP_INTERNALLY_REDUNDANT", "TWO_IPS_REDUNDANCY"]. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts">ComputeExternalVpnGatewayTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#name ComputeExternalVpnGateway#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#description ComputeExternalVpnGateway#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#id ComputeExternalVpnGateway#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `interface`<sup>Optional</sup> <a name="interface" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.interface"></a>

```typescript
public readonly interface: IResolvable | ComputeExternalVpnGatewayInterface[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayInterface">ComputeExternalVpnGatewayInterface</a>[]

interface block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#interface ComputeExternalVpnGateway#interface}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#project ComputeExternalVpnGateway#project}.

---

##### `redundancyType`<sup>Optional</sup> <a name="redundancyType" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.redundancyType"></a>

```typescript
public readonly redundancyType: string;
```

- *Type:* string

Indicates the redundancy type of this external VPN gateway Possible values: ["FOUR_IPS_REDUNDANCY", "SINGLE_IP_INTERNALLY_REDUNDANT", "TWO_IPS_REDUNDANCY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#redundancy_type ComputeExternalVpnGateway#redundancy_type}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeExternalVpnGatewayConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeExternalVpnGatewayTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts">ComputeExternalVpnGatewayTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#timeouts ComputeExternalVpnGateway#timeouts}

---

### ComputeExternalVpnGatewayInterface <a name="ComputeExternalVpnGatewayInterface" id="@dschmidt/provider-google.ComputeExternalVpnGatewayInterface"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeExternalVpnGatewayInterface.Initializer"></a>

```typescript
import { ComputeExternalVpnGatewayInterface } from '@dschmidt/provider-google'

const computeExternalVpnGatewayInterface: ComputeExternalVpnGatewayInterface = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayInterface.property.id">id</a></code> | <code>number</code> | The numeric ID for this interface. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayInterface.property.ipAddress">ipAddress</a></code> | <code>string</code> | IP address of the interface in the external VPN gateway. |

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeExternalVpnGatewayInterface.property.id"></a>

```typescript
public readonly id: number;
```

- *Type:* number

The numeric ID for this interface.

Allowed values are based on the redundancy type
of this external VPN gateway
'0 - SINGLE_IP_INTERNALLY_REDUNDANT'
'0, 1 - TWO_IPS_REDUNDANCY'
'0, 1, 2, 3 - FOUR_IPS_REDUNDANCY'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#id ComputeExternalVpnGateway#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipAddress`<sup>Optional</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeExternalVpnGatewayInterface.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

IP address of the interface in the external VPN gateway.

Only IPv4 is supported. This IP address can be either from
your on-premise gateway or another Cloud provider's VPN gateway,
it cannot be an IP address from Google Compute Engine.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#ip_address ComputeExternalVpnGateway#ip_address}

---

### ComputeExternalVpnGatewayTimeouts <a name="ComputeExternalVpnGatewayTimeouts" id="@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts.Initializer"></a>

```typescript
import { ComputeExternalVpnGatewayTimeouts } from '@dschmidt/provider-google'

const computeExternalVpnGatewayTimeouts: ComputeExternalVpnGatewayTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#create ComputeExternalVpnGateway#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#delete ComputeExternalVpnGateway#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#create ComputeExternalVpnGateway#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeExternalVpnGatewayTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_external_vpn_gateway#delete ComputeExternalVpnGateway#delete}.

---

### ComputeFirewallAllow <a name="ComputeFirewallAllow" id="@dschmidt/provider-google.ComputeFirewallAllow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallAllow.Initializer"></a>

```typescript
import { ComputeFirewallAllow } from '@dschmidt/provider-google'

const computeFirewallAllow: ComputeFirewallAllow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallAllow.property.protocol">protocol</a></code> | <code>string</code> | The IP protocol to which this rule applies. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallAllow.property.ports">ports</a></code> | <code>string[]</code> | An optional list of ports to which this rule applies. |

---

##### `protocol`<sup>Required</sup> <a name="protocol" id="@dschmidt/provider-google.ComputeFirewallAllow.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

The IP protocol to which this rule applies.

The protocol type is
required when creating a firewall rule. This value can either be
one of the following well known protocol strings (tcp, udp,
icmp, esp, ah, sctp, ipip, all), or the IP protocol number.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#protocol ComputeFirewall#protocol}

---

##### `ports`<sup>Optional</sup> <a name="ports" id="@dschmidt/provider-google.ComputeFirewallAllow.property.ports"></a>

```typescript
public readonly ports: string[];
```

- *Type:* string[]

An optional list of ports to which this rule applies.

This field
is only applicable for UDP or TCP protocol. Each entry must be
either an integer or a range. If not specified, this rule
applies to connections through any port.

Example inputs include: ["22"], ["80","443"], and
["12345-12349"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#ports ComputeFirewall#ports}

---

### ComputeFirewallConfig <a name="ComputeFirewallConfig" id="@dschmidt/provider-google.ComputeFirewallConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallConfig.Initializer"></a>

```typescript
import { ComputeFirewallConfig } from '@dschmidt/provider-google'

const computeFirewallConfig: ComputeFirewallConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.network">network</a></code> | <code>string</code> | The name or self_link of the network to attach this firewall to. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.allow">allow</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeFirewallAllow">ComputeFirewallAllow</a>[]</code> | allow block. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.deny">deny</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeFirewallDeny">ComputeFirewallDeny</a>[]</code> | deny block. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.destinationRanges">destinationRanges</a></code> | <code>string[]</code> | If destination ranges are specified, the firewall will apply only to traffic that has destination IP address in these ranges. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.direction">direction</a></code> | <code>string</code> | Direction of traffic to which this firewall applies; |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Denotes whether the firewall rule is disabled, i.e not applied to the network it is associated with. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.enableLogging">enableLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | This field denotes whether to enable logging for a particular firewall rule. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#id ComputeFirewall#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallLogConfig">ComputeFirewallLogConfig</a></code> | log_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.priority">priority</a></code> | <code>number</code> | Priority for this rule. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#project ComputeFirewall#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.sourceRanges">sourceRanges</a></code> | <code>string[]</code> | If source ranges are specified, the firewall will apply only to traffic that has source IP address in these ranges. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.sourceServiceAccounts">sourceServiceAccounts</a></code> | <code>string[]</code> | If source service accounts are specified, the firewall will apply only to traffic originating from an instance with a service account in this list. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.sourceTags">sourceTags</a></code> | <code>string[]</code> | If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in source tags. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.targetServiceAccounts">targetServiceAccounts</a></code> | <code>string[]</code> | A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.targetTags">targetTags</a></code> | <code>string[]</code> | A list of instance tags indicating sets of instances located in the network that may make network connections as specified in allowed[]. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallTimeouts">ComputeFirewallTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeFirewallConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeFirewallConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeFirewallConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeFirewallConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeFirewallConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeFirewallConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeFirewallConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeFirewallConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#name ComputeFirewall#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeFirewallConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name or self_link of the network to attach this firewall to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#network ComputeFirewall#network}

---

##### `allow`<sup>Optional</sup> <a name="allow" id="@dschmidt/provider-google.ComputeFirewallConfig.property.allow"></a>

```typescript
public readonly allow: IResolvable | ComputeFirewallAllow[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallAllow">ComputeFirewallAllow</a>[]

allow block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#allow ComputeFirewall#allow}

---

##### `deny`<sup>Optional</sup> <a name="deny" id="@dschmidt/provider-google.ComputeFirewallConfig.property.deny"></a>

```typescript
public readonly deny: IResolvable | ComputeFirewallDeny[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallDeny">ComputeFirewallDeny</a>[]

deny block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#deny ComputeFirewall#deny}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeFirewallConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#description ComputeFirewall#description}

---

##### `destinationRanges`<sup>Optional</sup> <a name="destinationRanges" id="@dschmidt/provider-google.ComputeFirewallConfig.property.destinationRanges"></a>

```typescript
public readonly destinationRanges: string[];
```

- *Type:* string[]

If destination ranges are specified, the firewall will apply only to traffic that has destination IP address in these ranges.

These ranges
must be expressed in CIDR format. Only IPv4 is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#destination_ranges ComputeFirewall#destination_ranges}

---

##### `direction`<sup>Optional</sup> <a name="direction" id="@dschmidt/provider-google.ComputeFirewallConfig.property.direction"></a>

```typescript
public readonly direction: string;
```

- *Type:* string

Direction of traffic to which this firewall applies;

default is
INGRESS. Note: For INGRESS traffic, it is NOT supported to specify
destinationRanges; For EGRESS traffic, it is NOT supported to specify
'source_ranges' OR 'source_tags'. For INGRESS traffic, one of 'source_ranges',
'source_tags' or 'source_service_accounts' is required. Possible values: ["INGRESS", "EGRESS"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#direction ComputeFirewall#direction}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeFirewallConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Denotes whether the firewall rule is disabled, i.e not applied to the network it is associated with. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#disabled ComputeFirewall#disabled}

---

##### `enableLogging`<sup>Optional</sup> <a name="enableLogging" id="@dschmidt/provider-google.ComputeFirewallConfig.property.enableLogging"></a>

```typescript
public readonly enableLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This field denotes whether to enable logging for a particular firewall rule.

If logging is enabled, logs will be exported to Stackdriver.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#enable_logging ComputeFirewall#enable_logging}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#id ComputeFirewall#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `logConfig`<sup>Optional</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeFirewallConfig.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeFirewallLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallLogConfig">ComputeFirewallLogConfig</a>

log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#log_config ComputeFirewall#log_config}

---

##### `priority`<sup>Optional</sup> <a name="priority" id="@dschmidt/provider-google.ComputeFirewallConfig.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

Priority for this rule.

This is an integer between 0 and 65535, both
inclusive. When not specified, the value assumed is 1000. Relative
priorities determine precedence of conflicting rules. Lower value of
priority implies higher precedence (eg, a rule with priority 0 has
higher precedence than a rule with priority 1). DENY rules take
precedence over ALLOW rules having equal priority.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#priority ComputeFirewall#priority}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeFirewallConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#project ComputeFirewall#project}.

---

##### `sourceRanges`<sup>Optional</sup> <a name="sourceRanges" id="@dschmidt/provider-google.ComputeFirewallConfig.property.sourceRanges"></a>

```typescript
public readonly sourceRanges: string[];
```

- *Type:* string[]

If source ranges are specified, the firewall will apply only to traffic that has source IP address in these ranges.

These ranges must
be expressed in CIDR format. One or both of sourceRanges and
sourceTags may be set. If both properties are set, the firewall will
apply to traffic that has source IP address within sourceRanges OR the
source IP that belongs to a tag listed in the sourceTags property. The
connection does not need to match both properties for the firewall to
apply. Only IPv4 is supported. For INGRESS traffic, one of 'source_ranges',
'source_tags' or 'source_service_accounts' is required.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#source_ranges ComputeFirewall#source_ranges}

---

##### `sourceServiceAccounts`<sup>Optional</sup> <a name="sourceServiceAccounts" id="@dschmidt/provider-google.ComputeFirewallConfig.property.sourceServiceAccounts"></a>

```typescript
public readonly sourceServiceAccounts: string[];
```

- *Type:* string[]

If source service accounts are specified, the firewall will apply only to traffic originating from an instance with a service account in this list.

Source service accounts cannot be used to control traffic to an
instance's external IP address because service accounts are associated
with an instance, not an IP address. sourceRanges can be set at the
same time as sourceServiceAccounts. If both are set, the firewall will
apply to traffic that has source IP address within sourceRanges OR the
source IP belongs to an instance with service account listed in
sourceServiceAccount. The connection does not need to match both
properties for the firewall to apply. sourceServiceAccounts cannot be
used at the same time as sourceTags or targetTags. For INGRESS traffic,
one of 'source_ranges', 'source_tags' or 'source_service_accounts' is required.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#source_service_accounts ComputeFirewall#source_service_accounts}

---

##### `sourceTags`<sup>Optional</sup> <a name="sourceTags" id="@dschmidt/provider-google.ComputeFirewallConfig.property.sourceTags"></a>

```typescript
public readonly sourceTags: string[];
```

- *Type:* string[]

If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in source tags.

Source
tags cannot be used to control traffic to an instance's external IP
address. Because tags are associated with an instance, not an IP
address. One or both of sourceRanges and sourceTags may be set. If
both properties are set, the firewall will apply to traffic that has
source IP address within sourceRanges OR the source IP that belongs to
a tag listed in the sourceTags property. The connection does not need
to match both properties for the firewall to apply. For INGRESS traffic,
one of 'source_ranges', 'source_tags' or 'source_service_accounts' is required.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#source_tags ComputeFirewall#source_tags}

---

##### `targetServiceAccounts`<sup>Optional</sup> <a name="targetServiceAccounts" id="@dschmidt/provider-google.ComputeFirewallConfig.property.targetServiceAccounts"></a>

```typescript
public readonly targetServiceAccounts: string[];
```

- *Type:* string[]

A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[].

targetServiceAccounts cannot be used at the same time as targetTags or
sourceTags. If neither targetServiceAccounts nor targetTags are
specified, the firewall rule applies to all instances on the specified
network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#target_service_accounts ComputeFirewall#target_service_accounts}

---

##### `targetTags`<sup>Optional</sup> <a name="targetTags" id="@dschmidt/provider-google.ComputeFirewallConfig.property.targetTags"></a>

```typescript
public readonly targetTags: string[];
```

- *Type:* string[]

A list of instance tags indicating sets of instances located in the network that may make network connections as specified in allowed[].

If no targetTags are specified, the firewall rule applies to all
instances on the specified network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#target_tags ComputeFirewall#target_tags}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeFirewallConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeFirewallTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallTimeouts">ComputeFirewallTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#timeouts ComputeFirewall#timeouts}

---

### ComputeFirewallDeny <a name="ComputeFirewallDeny" id="@dschmidt/provider-google.ComputeFirewallDeny"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallDeny.Initializer"></a>

```typescript
import { ComputeFirewallDeny } from '@dschmidt/provider-google'

const computeFirewallDeny: ComputeFirewallDeny = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallDeny.property.protocol">protocol</a></code> | <code>string</code> | The IP protocol to which this rule applies. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallDeny.property.ports">ports</a></code> | <code>string[]</code> | An optional list of ports to which this rule applies. |

---

##### `protocol`<sup>Required</sup> <a name="protocol" id="@dschmidt/provider-google.ComputeFirewallDeny.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

The IP protocol to which this rule applies.

The protocol type is
required when creating a firewall rule. This value can either be
one of the following well known protocol strings (tcp, udp,
icmp, esp, ah, sctp, ipip, all), or the IP protocol number.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#protocol ComputeFirewall#protocol}

---

##### `ports`<sup>Optional</sup> <a name="ports" id="@dschmidt/provider-google.ComputeFirewallDeny.property.ports"></a>

```typescript
public readonly ports: string[];
```

- *Type:* string[]

An optional list of ports to which this rule applies.

This field
is only applicable for UDP or TCP protocol. Each entry must be
either an integer or a range. If not specified, this rule
applies to connections through any port.

Example inputs include: ["22"], ["80","443"], and
["12345-12349"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#ports ComputeFirewall#ports}

---

### ComputeFirewallLogConfig <a name="ComputeFirewallLogConfig" id="@dschmidt/provider-google.ComputeFirewallLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallLogConfig.Initializer"></a>

```typescript
import { ComputeFirewallLogConfig } from '@dschmidt/provider-google'

const computeFirewallLogConfig: ComputeFirewallLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallLogConfig.property.metadata">metadata</a></code> | <code>string</code> | This field denotes whether to include or exclude metadata for firewall logs. Possible values: ["EXCLUDE_ALL_METADATA", "INCLUDE_ALL_METADATA"]. |

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeFirewallLogConfig.property.metadata"></a>

```typescript
public readonly metadata: string;
```

- *Type:* string

This field denotes whether to include or exclude metadata for firewall logs. Possible values: ["EXCLUDE_ALL_METADATA", "INCLUDE_ALL_METADATA"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#metadata ComputeFirewall#metadata}

---

### ComputeFirewallPolicyAssociationConfig <a name="ComputeFirewallPolicyAssociationConfig" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.Initializer"></a>

```typescript
import { ComputeFirewallPolicyAssociationConfig } from '@dschmidt/provider-google'

const computeFirewallPolicyAssociationConfig: ComputeFirewallPolicyAssociationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.attachmentTarget">attachmentTarget</a></code> | <code>string</code> | The target that the firewall policy is attached to. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.firewallPolicy">firewallPolicy</a></code> | <code>string</code> | The firewall policy ID of the association. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.name">name</a></code> | <code>string</code> | The name for an association. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#id ComputeFirewallPolicyAssociation#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts">ComputeFirewallPolicyAssociationTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attachmentTarget`<sup>Required</sup> <a name="attachmentTarget" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.attachmentTarget"></a>

```typescript
public readonly attachmentTarget: string;
```

- *Type:* string

The target that the firewall policy is attached to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#attachment_target ComputeFirewallPolicyAssociation#attachment_target}

---

##### `firewallPolicy`<sup>Required</sup> <a name="firewallPolicy" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.firewallPolicy"></a>

```typescript
public readonly firewallPolicy: string;
```

- *Type:* string

The firewall policy ID of the association.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#firewall_policy ComputeFirewallPolicyAssociation#firewall_policy}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name for an association.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#name ComputeFirewallPolicyAssociation#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#id ComputeFirewallPolicyAssociation#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeFirewallPolicyAssociationTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts">ComputeFirewallPolicyAssociationTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#timeouts ComputeFirewallPolicyAssociation#timeouts}

---

### ComputeFirewallPolicyAssociationTimeouts <a name="ComputeFirewallPolicyAssociationTimeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts.Initializer"></a>

```typescript
import { ComputeFirewallPolicyAssociationTimeouts } from '@dschmidt/provider-google'

const computeFirewallPolicyAssociationTimeouts: ComputeFirewallPolicyAssociationTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#create ComputeFirewallPolicyAssociation#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#delete ComputeFirewallPolicyAssociation#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#create ComputeFirewallPolicyAssociation#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeFirewallPolicyAssociationTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_association#delete ComputeFirewallPolicyAssociation#delete}.

---

### ComputeFirewallPolicyConfig <a name="ComputeFirewallPolicyConfig" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.Initializer"></a>

```typescript
import { ComputeFirewallPolicyConfig } from '@dschmidt/provider-google'

const computeFirewallPolicyConfig: ComputeFirewallPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.parent">parent</a></code> | <code>string</code> | The parent of the firewall policy. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.shortName">shortName</a></code> | <code>string</code> | User-provided name of the Organization firewall policy. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#id ComputeFirewallPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeouts">ComputeFirewallPolicyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The parent of the firewall policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#parent ComputeFirewallPolicy#parent}

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

User-provided name of the Organization firewall policy.

The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#short_name ComputeFirewallPolicy#short_name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#description ComputeFirewallPolicy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#id ComputeFirewallPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeFirewallPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeouts">ComputeFirewallPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#timeouts ComputeFirewallPolicy#timeouts}

---

### ComputeFirewallPolicyRuleConfig <a name="ComputeFirewallPolicyRuleConfig" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.Initializer"></a>

```typescript
import { ComputeFirewallPolicyRuleConfig } from '@dschmidt/provider-google'

const computeFirewallPolicyRuleConfig: ComputeFirewallPolicyRuleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.action">action</a></code> | <code>string</code> | The Action to perform when the client connection triggers the rule. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.direction">direction</a></code> | <code>string</code> | The direction in which this rule applies. Possible values: INGRESS, EGRESS. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.firewallPolicy">firewallPolicy</a></code> | <code>string</code> | The firewall policy of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.match">match</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch">ComputeFirewallPolicyRuleMatch</a></code> | match block. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.priority">priority</a></code> | <code>number</code> | An integer indicating the priority of a rule in the list. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.description">description</a></code> | <code>string</code> | An optional description for this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Denotes whether the firewall policy rule is disabled. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.enableLogging">enableLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | Denotes whether to enable logging for a particular rule. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#id ComputeFirewallPolicyRule#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.targetResources">targetResources</a></code> | <code>string[]</code> | A list of network resource URLs to which this rule applies. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.targetServiceAccounts">targetServiceAccounts</a></code> | <code>string[]</code> | A list of service accounts indicating the sets of instances that are applied with this rule. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts">ComputeFirewallPolicyRuleTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `action`<sup>Required</sup> <a name="action" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

The Action to perform when the client connection triggers the rule.

Can currently be either "allow" or "deny()" where valid values for status are 403, 404, and 502.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#action ComputeFirewallPolicyRule#action}

---

##### `direction`<sup>Required</sup> <a name="direction" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.direction"></a>

```typescript
public readonly direction: string;
```

- *Type:* string

The direction in which this rule applies. Possible values: INGRESS, EGRESS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#direction ComputeFirewallPolicyRule#direction}

---

##### `firewallPolicy`<sup>Required</sup> <a name="firewallPolicy" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.firewallPolicy"></a>

```typescript
public readonly firewallPolicy: string;
```

- *Type:* string

The firewall policy of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#firewall_policy ComputeFirewallPolicyRule#firewall_policy}

---

##### `match`<sup>Required</sup> <a name="match" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.match"></a>

```typescript
public readonly match: ComputeFirewallPolicyRuleMatch;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch">ComputeFirewallPolicyRuleMatch</a>

match block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#match ComputeFirewallPolicyRule#match}

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

An integer indicating the priority of a rule in the list.

The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#priority ComputeFirewallPolicyRule#priority}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description for this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#description ComputeFirewallPolicyRule#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Denotes whether the firewall policy rule is disabled.

When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#disabled ComputeFirewallPolicyRule#disabled}

---

##### `enableLogging`<sup>Optional</sup> <a name="enableLogging" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.enableLogging"></a>

```typescript
public readonly enableLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Denotes whether to enable logging for a particular rule.

If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#enable_logging ComputeFirewallPolicyRule#enable_logging}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#id ComputeFirewallPolicyRule#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `targetResources`<sup>Optional</sup> <a name="targetResources" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.targetResources"></a>

```typescript
public readonly targetResources: string[];
```

- *Type:* string[]

A list of network resource URLs to which this rule applies.

This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#target_resources ComputeFirewallPolicyRule#target_resources}

---

##### `targetServiceAccounts`<sup>Optional</sup> <a name="targetServiceAccounts" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.targetServiceAccounts"></a>

```typescript
public readonly targetServiceAccounts: string[];
```

- *Type:* string[]

A list of service accounts indicating the sets of instances that are applied with this rule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#target_service_accounts ComputeFirewallPolicyRule#target_service_accounts}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeFirewallPolicyRuleTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts">ComputeFirewallPolicyRuleTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#timeouts ComputeFirewallPolicyRule#timeouts}

---

### ComputeFirewallPolicyRuleMatch <a name="ComputeFirewallPolicyRuleMatch" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch.Initializer"></a>

```typescript
import { ComputeFirewallPolicyRuleMatch } from '@dschmidt/provider-google'

const computeFirewallPolicyRuleMatch: ComputeFirewallPolicyRuleMatch = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch.property.layer4Configs">layer4Configs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchLayer4Configs">ComputeFirewallPolicyRuleMatchLayer4Configs</a>[]</code> | layer4_configs block. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch.property.destIpRanges">destIpRanges</a></code> | <code>string[]</code> | CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch.property.srcIpRanges">srcIpRanges</a></code> | <code>string[]</code> | CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256. |

---

##### `layer4Configs`<sup>Required</sup> <a name="layer4Configs" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch.property.layer4Configs"></a>

```typescript
public readonly layer4Configs: IResolvable | ComputeFirewallPolicyRuleMatchLayer4Configs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchLayer4Configs">ComputeFirewallPolicyRuleMatchLayer4Configs</a>[]

layer4_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#layer4_configs ComputeFirewallPolicyRule#layer4_configs}

---

##### `destIpRanges`<sup>Optional</sup> <a name="destIpRanges" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch.property.destIpRanges"></a>

```typescript
public readonly destIpRanges: string[];
```

- *Type:* string[]

CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#dest_ip_ranges ComputeFirewallPolicyRule#dest_ip_ranges}

---

##### `srcIpRanges`<sup>Optional</sup> <a name="srcIpRanges" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleMatch.property.srcIpRanges"></a>

```typescript
public readonly srcIpRanges: string[];
```

- *Type:* string[]

CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#src_ip_ranges ComputeFirewallPolicyRule#src_ip_ranges}

---

### ComputeFirewallPolicyRuleMatchLayer4Configs <a name="ComputeFirewallPolicyRuleMatchLayer4Configs" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchLayer4Configs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchLayer4Configs.Initializer"></a>

```typescript
import { ComputeFirewallPolicyRuleMatchLayer4Configs } from '@dschmidt/provider-google'

const computeFirewallPolicyRuleMatchLayer4Configs: ComputeFirewallPolicyRuleMatchLayer4Configs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchLayer4Configs.property.ipProtocol">ipProtocol</a></code> | <code>string</code> | The IP protocol to which this rule applies. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchLayer4Configs.property.ports">ports</a></code> | <code>string[]</code> | An optional list of ports to which this rule applies. |

---

##### `ipProtocol`<sup>Required</sup> <a name="ipProtocol" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchLayer4Configs.property.ipProtocol"></a>

```typescript
public readonly ipProtocol: string;
```

- *Type:* string

The IP protocol to which this rule applies.

The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (`tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol number.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#ip_protocol ComputeFirewallPolicyRule#ip_protocol}

---

##### `ports`<sup>Optional</sup> <a name="ports" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleMatchLayer4Configs.property.ports"></a>

```typescript
public readonly ports: string[];
```

- *Type:* string[]

An optional list of ports to which this rule applies.

This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ``.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#ports ComputeFirewallPolicyRule#ports}

---

### ComputeFirewallPolicyRuleTimeouts <a name="ComputeFirewallPolicyRuleTimeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts.Initializer"></a>

```typescript
import { ComputeFirewallPolicyRuleTimeouts } from '@dschmidt/provider-google'

const computeFirewallPolicyRuleTimeouts: ComputeFirewallPolicyRuleTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#create ComputeFirewallPolicyRule#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#delete ComputeFirewallPolicyRule#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#update ComputeFirewallPolicyRule#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#create ComputeFirewallPolicyRule#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#delete ComputeFirewallPolicyRule#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeFirewallPolicyRuleTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy_rule#update ComputeFirewallPolicyRule#update}.

---

### ComputeFirewallPolicyTimeouts <a name="ComputeFirewallPolicyTimeouts" id="@dschmidt/provider-google.ComputeFirewallPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallPolicyTimeouts.Initializer"></a>

```typescript
import { ComputeFirewallPolicyTimeouts } from '@dschmidt/provider-google'

const computeFirewallPolicyTimeouts: ComputeFirewallPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#create ComputeFirewallPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#delete ComputeFirewallPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#update ComputeFirewallPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeFirewallPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#create ComputeFirewallPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeFirewallPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#delete ComputeFirewallPolicy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeFirewallPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall_policy#update ComputeFirewallPolicy#update}.

---

### ComputeFirewallTimeouts <a name="ComputeFirewallTimeouts" id="@dschmidt/provider-google.ComputeFirewallTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeFirewallTimeouts.Initializer"></a>

```typescript
import { ComputeFirewallTimeouts } from '@dschmidt/provider-google'

const computeFirewallTimeouts: ComputeFirewallTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#create ComputeFirewall#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#delete ComputeFirewall#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeFirewallTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#update ComputeFirewall#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeFirewallTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#create ComputeFirewall#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeFirewallTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#delete ComputeFirewall#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeFirewallTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_firewall#update ComputeFirewall#update}.

---

### ComputeForwardingRuleConfig <a name="ComputeForwardingRuleConfig" id="@dschmidt/provider-google.ComputeForwardingRuleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.Initializer"></a>

```typescript
import { ComputeForwardingRuleConfig } from '@dschmidt/provider-google'

const computeForwardingRuleConfig: ComputeForwardingRuleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.allowGlobalAccess">allowGlobalAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | This field is used along with the `backend_service` field for internal load balancing or with the `target` field for internal TargetInstance. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.allPorts">allPorts</a></code> | <code>boolean \| cdktf.IResolvable</code> | This field is used along with the `backend_service` field for internal load balancing or with the `target` field for internal TargetInstance. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.backendService">backendService</a></code> | <code>string</code> | This field is only used for `INTERNAL` load balancing. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#id ComputeForwardingRule#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.ipAddress">ipAddress</a></code> | <code>string</code> | IP address that this forwarding rule serves. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.ipProtocol">ipProtocol</a></code> | <code>string</code> | The IP protocol to which this rule applies. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.isMirroringCollector">isMirroringCollector</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether or not this load balancer can be used as a collector for packet mirroring. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels to apply to this rule. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | Specifies the forwarding rule type. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.network">network</a></code> | <code>string</code> | This field is not used for external load balancing. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.networkTier">networkTier</a></code> | <code>string</code> | This signifies the networking tier used for configuring this load balancer and can only take the following values: `PREMIUM`, `STANDARD`. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.portRange">portRange</a></code> | <code>string</code> | When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.ports">ports</a></code> | <code>string[]</code> | This field is used along with the `backend_service` field for internal load balancing. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.project">project</a></code> | <code>string</code> | The project this resource belongs in. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.region">region</a></code> | <code>string</code> | The location of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.serviceDirectoryRegistrations">serviceDirectoryRegistrations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations">ComputeForwardingRuleServiceDirectoryRegistrations</a>[]</code> | service_directory_registrations block. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.serviceLabel">serviceLabel</a></code> | <code>string</code> | An optional prefix to the service name for this Forwarding Rule. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | This field is only used for `INTERNAL` load balancing. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.target">target</a></code> | <code>string</code> | The URL of the target resource to receive the matched traffic. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeouts">ComputeForwardingRuleTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is created. The name must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#name ComputeForwardingRule#name}

---

##### `allowGlobalAccess`<sup>Optional</sup> <a name="allowGlobalAccess" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.allowGlobalAccess"></a>

```typescript
public readonly allowGlobalAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This field is used along with the `backend_service` field for internal load balancing or with the `target` field for internal TargetInstance.

If the field is set to `TRUE`, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#allow_global_access ComputeForwardingRule#allow_global_access}

---

##### `allPorts`<sup>Optional</sup> <a name="allPorts" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.allPorts"></a>

```typescript
public readonly allPorts: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This field is used along with the `backend_service` field for internal load balancing or with the `target` field for internal TargetInstance.

This field cannot be used with `port` or `portRange` fields. When the load balancing scheme is `INTERNAL` and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#all_ports ComputeForwardingRule#all_ports}

---

##### `backendService`<sup>Optional</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

This field is only used for `INTERNAL` load balancing.

For internal load balancing, this field identifies the BackendService resource to receive the matched traffic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#backend_service ComputeForwardingRule#backend_service}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#description ComputeForwardingRule#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#id ComputeForwardingRule#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipAddress`<sup>Optional</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

IP address that this forwarding rule serves.

When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule. If you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address: * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in `https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name` * Partial URL or by name, as in: * `projects/project_id/regions/region/addresses/address-name` * `regions/region/addresses/address-name` * `global/addresses/address-name` * `address-name` The loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#ip_address ComputeForwardingRule#ip_address}

---

##### `ipProtocol`<sup>Optional</sup> <a name="ipProtocol" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.ipProtocol"></a>

```typescript
public readonly ipProtocol: string;
```

- *Type:* string

The IP protocol to which this rule applies.

For protocol forwarding, valid options are `TCP`, `UDP`, `ESP`, `AH`, `SCTP` or `ICMP`. For Internal TCP/UDP Load Balancing, the load balancing scheme is `INTERNAL`, and one of `TCP` or `UDP` are valid. For Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, and only `TCP`is valid. For Internal HTTP(S) Load Balancing, the load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing scheme is `EXTERNAL` and only `TCP` is valid. For Network TCP/UDP Load Balancing, the load balancing scheme is `EXTERNAL`, and one of `TCP` or `UDP` is valid.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#ip_protocol ComputeForwardingRule#ip_protocol}

---

##### `isMirroringCollector`<sup>Optional</sup> <a name="isMirroringCollector" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.isMirroringCollector"></a>

```typescript
public readonly isMirroringCollector: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether or not this load balancer can be used as a collector for packet mirroring.

To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a `PacketMirroring` rule applies to them. This can only be set to true for load balancers that have their `loadBalancingScheme` set to `INTERNAL`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#is_mirroring_collector ComputeForwardingRule#is_mirroring_collector}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to apply to this rule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#labels ComputeForwardingRule#labels}

---

##### `loadBalancingScheme`<sup>Optional</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

Specifies the forwarding rule type.

`EXTERNAL` is used for:
  Classic Cloud VPN gateways
  Protocol forwarding to VMs from an external IP address
  The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP
`INTERNAL` is used for:
  Protocol forwarding to VMs from an internal IP address
  Internal TCP/UDP load balancers
`INTERNAL_MANAGED` is used for:
  Internal HTTP(S) load balancers
`INTERNAL_SELF_MANAGED` is used for:
  Traffic Director
`EXTERNAL_MANAGED` is used for:
  Global external HTTP(S) load balancers 

For more information about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, EXTERNAL, EXTERNAL_MANAGED

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#load_balancing_scheme ComputeForwardingRule#load_balancing_scheme}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

This field is not used for external load balancing.

For `INTERNAL` and `INTERNAL_SELF_MANAGED` load balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#network ComputeForwardingRule#network}

---

##### `networkTier`<sup>Optional</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

This signifies the networking tier used for configuring this load balancer and can only take the following values: `PREMIUM`, `STANDARD`.

For regional ForwardingRule, the valid values are `PREMIUM` and `STANDARD`. For GlobalForwardingRule, the valid value is `PREMIUM`. If this field is not specified, it is assumed to be `PREMIUM`. If `IPAddress` is specified, this value must be equal to the networkTier of the Address.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#network_tier ComputeForwardingRule#network_tier}

---

##### `portRange`<sup>Optional</sup> <a name="portRange" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.portRange"></a>

```typescript
public readonly portRange: string;
```

- *Type:* string

When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`.

Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports:

TargetHttpProxy: 80, 8080
TargetHttpsProxy: 443
TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222
TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222
TargetVpnGateway: 500, 4500

---

##### `ports`<sup>Optional</sup> <a name="ports" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.ports"></a>

```typescript
public readonly ports: string[];
```

- *Type:* string[]

This field is used along with the `backend_service` field for internal load balancing.

When the load balancing scheme is `INTERNAL`, a list of ports can be configured, for example, ['80'], ['8000','9000']. Only packets addressed to these ports are forwarded to the backends configured with the forwarding rule. If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify ports in one of the following ways: * A list of up to five ports, which can be non-contiguous * Keyword `ALL`, which causes the forwarding rule to forward traffic on any port of the forwarding rule's protocol. @pattern: d+(?:-d+)? For more information, refer to [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#ports ComputeForwardingRule#ports}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project this resource belongs in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#project ComputeForwardingRule#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The location of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#region ComputeForwardingRule#region}

---

##### `serviceDirectoryRegistrations`<sup>Optional</sup> <a name="serviceDirectoryRegistrations" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.serviceDirectoryRegistrations"></a>

```typescript
public readonly serviceDirectoryRegistrations: IResolvable | ComputeForwardingRuleServiceDirectoryRegistrations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations">ComputeForwardingRuleServiceDirectoryRegistrations</a>[]

service_directory_registrations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#service_directory_registrations ComputeForwardingRule#service_directory_registrations}

---

##### `serviceLabel`<sup>Optional</sup> <a name="serviceLabel" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.serviceLabel"></a>

```typescript
public readonly serviceLabel: string;
```

- *Type:* string

An optional prefix to the service name for this Forwarding Rule.

If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the label must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for internal load balancing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#service_label ComputeForwardingRule#service_label}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

This field is only used for `INTERNAL` load balancing.

For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule. If the network specified is in auto subnet mode, this field is optional. However, if the network is in custom subnet mode, a subnetwork must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#subnetwork ComputeForwardingRule#subnetwork}

---

##### `target`<sup>Optional</sup> <a name="target" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

The URL of the target resource to receive the matched traffic.

For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. For `INTERNAL_SELF_MANAGED` load balancing, only `targetHttpProxy` is valid, not `targetHttpsProxy`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#target ComputeForwardingRule#target}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeForwardingRuleConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeForwardingRuleTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeouts">ComputeForwardingRuleTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#timeouts ComputeForwardingRule#timeouts}

---

### ComputeForwardingRuleServiceDirectoryRegistrations <a name="ComputeForwardingRuleServiceDirectoryRegistrations" id="@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations.Initializer"></a>

```typescript
import { ComputeForwardingRuleServiceDirectoryRegistrations } from '@dschmidt/provider-google'

const computeForwardingRuleServiceDirectoryRegistrations: ComputeForwardingRuleServiceDirectoryRegistrations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations.property.namespace">namespace</a></code> | <code>string</code> | Service Directory namespace to register the forwarding rule under. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations.property.service">service</a></code> | <code>string</code> | Service Directory service to register the forwarding rule under. |

---

##### `namespace`<sup>Optional</sup> <a name="namespace" id="@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

Service Directory namespace to register the forwarding rule under.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#namespace ComputeForwardingRule#namespace}

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.ComputeForwardingRuleServiceDirectoryRegistrations.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Service Directory service to register the forwarding rule under.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#service ComputeForwardingRule#service}

---

### ComputeForwardingRuleTimeouts <a name="ComputeForwardingRuleTimeouts" id="@dschmidt/provider-google.ComputeForwardingRuleTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeForwardingRuleTimeouts.Initializer"></a>

```typescript
import { ComputeForwardingRuleTimeouts } from '@dschmidt/provider-google'

const computeForwardingRuleTimeouts: ComputeForwardingRuleTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#create ComputeForwardingRule#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#delete ComputeForwardingRule#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeForwardingRuleTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#update ComputeForwardingRule#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeForwardingRuleTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#create ComputeForwardingRule#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeForwardingRuleTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#delete ComputeForwardingRule#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeForwardingRuleTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_forwarding_rule#update ComputeForwardingRule#update}.

---

### ComputeGlobalAddressConfig <a name="ComputeGlobalAddressConfig" id="@dschmidt/provider-google.ComputeGlobalAddressConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.Initializer"></a>

```typescript
import { ComputeGlobalAddressConfig } from '@dschmidt/provider-google'

const computeGlobalAddressConfig: ComputeGlobalAddressConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.address">address</a></code> | <code>string</code> | The IP address or beginning of the address range represented by this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.addressType">addressType</a></code> | <code>string</code> | The type of the address to reserve. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#id ComputeGlobalAddress#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.ipVersion">ipVersion</a></code> | <code>string</code> | The IP Version that will be used by this address. The default value is 'IPV4'. Possible values: ["IPV4", "IPV6"]. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.network">network</a></code> | <code>string</code> | The URL of the network in which to reserve the IP range. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.prefixLength">prefixLength</a></code> | <code>number</code> | The prefix length of the IP range. If not present, it means the address field is a single IP address. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#project ComputeGlobalAddress#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.purpose">purpose</a></code> | <code>string</code> | The purpose of the resource. Possible values include:. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressTimeouts">ComputeGlobalAddressTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#name ComputeGlobalAddress#name}

---

##### `address`<sup>Optional</sup> <a name="address" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.address"></a>

```typescript
public readonly address: string;
```

- *Type:* string

The IP address or beginning of the address range represented by this resource.

This can be supplied as an input to reserve a specific
address or omitted to allow GCP to choose a valid one for you.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#address ComputeGlobalAddress#address}

---

##### `addressType`<sup>Optional</sup> <a name="addressType" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.addressType"></a>

```typescript
public readonly addressType: string;
```

- *Type:* string

The type of the address to reserve.

EXTERNAL indicates public/external single IP address.
INTERNAL indicates internal IP ranges belonging to some network. Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#address_type ComputeGlobalAddress#address_type}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#description ComputeGlobalAddress#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#id ComputeGlobalAddress#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipVersion`<sup>Optional</sup> <a name="ipVersion" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.ipVersion"></a>

```typescript
public readonly ipVersion: string;
```

- *Type:* string

The IP Version that will be used by this address. The default value is 'IPV4'. Possible values: ["IPV4", "IPV6"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#ip_version ComputeGlobalAddress#ip_version}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The URL of the network in which to reserve the IP range.

The IP range
must be in RFC1918 space. The network cannot be deleted if there are
any reserved IP ranges referring to it.

This should only be set when using an Internal address.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#network ComputeGlobalAddress#network}

---

##### `prefixLength`<sup>Optional</sup> <a name="prefixLength" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.prefixLength"></a>

```typescript
public readonly prefixLength: number;
```

- *Type:* number

The prefix length of the IP range. If not present, it means the address field is a single IP address.

This field is not applicable to addresses with addressType=EXTERNAL,
or addressType=INTERNAL when purpose=PRIVATE_SERVICE_CONNECT

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#prefix_length ComputeGlobalAddress#prefix_length}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#project ComputeGlobalAddress#project}.

---

##### `purpose`<sup>Optional</sup> <a name="purpose" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.purpose"></a>

```typescript
public readonly purpose: string;
```

- *Type:* string

The purpose of the resource. Possible values include:.

VPC_PEERING - for peer networks

PRIVATE_SERVICE_CONNECT - for ([Beta](https://terraform.io/docs/providers/google/guides/provider_versions.html) only) Private Service Connect networks

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#purpose ComputeGlobalAddress#purpose}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeGlobalAddressConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeGlobalAddressTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalAddressTimeouts">ComputeGlobalAddressTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#timeouts ComputeGlobalAddress#timeouts}

---

### ComputeGlobalAddressTimeouts <a name="ComputeGlobalAddressTimeouts" id="@dschmidt/provider-google.ComputeGlobalAddressTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalAddressTimeouts.Initializer"></a>

```typescript
import { ComputeGlobalAddressTimeouts } from '@dschmidt/provider-google'

const computeGlobalAddressTimeouts: ComputeGlobalAddressTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#create ComputeGlobalAddress#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalAddressTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#delete ComputeGlobalAddress#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeGlobalAddressTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#create ComputeGlobalAddress#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeGlobalAddressTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_address#delete ComputeGlobalAddress#delete}.

---

### ComputeGlobalForwardingRuleConfig <a name="ComputeGlobalForwardingRuleConfig" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.Initializer"></a>

```typescript
import { ComputeGlobalForwardingRuleConfig } from '@dschmidt/provider-google'

const computeGlobalForwardingRuleConfig: ComputeGlobalForwardingRuleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.target">target</a></code> | <code>string</code> | The URL of the target resource to receive the matched traffic. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#id ComputeGlobalForwardingRule#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.ipAddress">ipAddress</a></code> | <code>string</code> | IP address that this forwarding rule serves. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.ipProtocol">ipProtocol</a></code> | <code>string</code> | The IP protocol to which this rule applies. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.ipVersion">ipVersion</a></code> | <code>string</code> | The IP Version that will be used by this forwarding rule. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels to apply to this rule. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | Specifies the forwarding rule type. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.metadataFilters">metadataFilters</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters">ComputeGlobalForwardingRuleMetadataFilters</a>[]</code> | metadata_filters block. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.network">network</a></code> | <code>string</code> | This field is not used for external load balancing. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.portRange">portRange</a></code> | <code>string</code> | When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.project">project</a></code> | <code>string</code> | The project this resource belongs in. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts">ComputeGlobalForwardingRuleTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is created. The name must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#name ComputeGlobalForwardingRule#name}

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

The URL of the target resource to receive the matched traffic.

For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. For `INTERNAL_SELF_MANAGED` load balancing, only `targetHttpProxy` is valid, not `targetHttpsProxy`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#target ComputeGlobalForwardingRule#target}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#description ComputeGlobalForwardingRule#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#id ComputeGlobalForwardingRule#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipAddress`<sup>Optional</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

IP address that this forwarding rule serves.

When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule. If you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address: * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in `https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name` * Partial URL or by name, as in: * `projects/project_id/regions/region/addresses/address-name` * `regions/region/addresses/address-name` * `global/addresses/address-name` * `address-name` The loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#ip_address ComputeGlobalForwardingRule#ip_address}

---

##### `ipProtocol`<sup>Optional</sup> <a name="ipProtocol" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.ipProtocol"></a>

```typescript
public readonly ipProtocol: string;
```

- *Type:* string

The IP protocol to which this rule applies.

For protocol forwarding, valid options are `TCP`, `UDP`, `ESP`, `AH`, `SCTP` or `ICMP`. For Internal TCP/UDP Load Balancing, the load balancing scheme is `INTERNAL`, and one of `TCP` or `UDP` are valid. For Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, and only `TCP`is valid. For Internal HTTP(S) Load Balancing, the load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing scheme is `EXTERNAL` and only `TCP` is valid. For Network TCP/UDP Load Balancing, the load balancing scheme is `EXTERNAL`, and one of `TCP` or `UDP` is valid.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#ip_protocol ComputeGlobalForwardingRule#ip_protocol}

---

##### `ipVersion`<sup>Optional</sup> <a name="ipVersion" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.ipVersion"></a>

```typescript
public readonly ipVersion: string;
```

- *Type:* string

The IP Version that will be used by this forwarding rule.

Valid options are `IPV4` or `IPV6`. This can only be specified for an external global forwarding rule. Possible values: UNSPECIFIED_VERSION, IPV4, IPV6

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#ip_version ComputeGlobalForwardingRule#ip_version}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to apply to this rule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#labels ComputeGlobalForwardingRule#labels}

---

##### `loadBalancingScheme`<sup>Optional</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

Specifies the forwarding rule type.

`EXTERNAL` is used for:
  Classic Cloud VPN gateways
  Protocol forwarding to VMs from an external IP address
  The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP
`INTERNAL` is used for:
  Protocol forwarding to VMs from an internal IP address
  Internal TCP/UDP load balancers
`INTERNAL_MANAGED` is used for:
  Internal HTTP(S) load balancers
`INTERNAL_SELF_MANAGED` is used for:
  Traffic Director
`EXTERNAL_MANAGED` is used for:
  Global external HTTP(S) load balancers 

For more information about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, EXTERNAL, EXTERNAL_MANAGED

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#load_balancing_scheme ComputeGlobalForwardingRule#load_balancing_scheme}

---

##### `metadataFilters`<sup>Optional</sup> <a name="metadataFilters" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.metadataFilters"></a>

```typescript
public readonly metadataFilters: IResolvable | ComputeGlobalForwardingRuleMetadataFilters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters">ComputeGlobalForwardingRuleMetadataFilters</a>[]

metadata_filters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#metadata_filters ComputeGlobalForwardingRule#metadata_filters}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

This field is not used for external load balancing.

For `INTERNAL` and `INTERNAL_SELF_MANAGED` load balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#network ComputeGlobalForwardingRule#network}

---

##### `portRange`<sup>Optional</sup> <a name="portRange" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.portRange"></a>

```typescript
public readonly portRange: string;
```

- *Type:* string

When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`.

Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports:

TargetHttpProxy: 80, 8080
TargetHttpsProxy: 443
TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222
TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222
TargetVpnGateway: 500, 4500

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project this resource belongs in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#project ComputeGlobalForwardingRule#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeGlobalForwardingRuleTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts">ComputeGlobalForwardingRuleTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#timeouts ComputeGlobalForwardingRule#timeouts}

---

### ComputeGlobalForwardingRuleMetadataFilters <a name="ComputeGlobalForwardingRuleMetadataFilters" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters.Initializer"></a>

```typescript
import { ComputeGlobalForwardingRuleMetadataFilters } from '@dschmidt/provider-google'

const computeGlobalForwardingRuleMetadataFilters: ComputeGlobalForwardingRuleMetadataFilters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters.property.filterLabels">filterLabels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersFilterLabels">ComputeGlobalForwardingRuleMetadataFiltersFilterLabels</a>[]</code> | filter_labels block. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters.property.filterMatchCriteria">filterMatchCriteria</a></code> | <code>string</code> | Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match. |

---

##### `filterLabels`<sup>Required</sup> <a name="filterLabels" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters.property.filterLabels"></a>

```typescript
public readonly filterLabels: IResolvable | ComputeGlobalForwardingRuleMetadataFiltersFilterLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersFilterLabels">ComputeGlobalForwardingRuleMetadataFiltersFilterLabels</a>[]

filter_labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#filter_labels ComputeGlobalForwardingRule#filter_labels}

---

##### `filterMatchCriteria`<sup>Required</sup> <a name="filterMatchCriteria" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFilters.property.filterMatchCriteria"></a>

```typescript
public readonly filterMatchCriteria: string;
```

- *Type:* string

Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match.

Supported values are:

MATCH_ANY: At least one of the `filterLabels` must have a matching label in the provided metadata.
MATCH_ALL: All `filterLabels` must have matching labels in the provided metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#filter_match_criteria ComputeGlobalForwardingRule#filter_match_criteria}

---

### ComputeGlobalForwardingRuleMetadataFiltersFilterLabels <a name="ComputeGlobalForwardingRuleMetadataFiltersFilterLabels" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersFilterLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersFilterLabels.Initializer"></a>

```typescript
import { ComputeGlobalForwardingRuleMetadataFiltersFilterLabels } from '@dschmidt/provider-google'

const computeGlobalForwardingRuleMetadataFiltersFilterLabels: ComputeGlobalForwardingRuleMetadataFiltersFilterLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersFilterLabels.property.name">name</a></code> | <code>string</code> | Name of metadata label. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersFilterLabels.property.value">value</a></code> | <code>string</code> | The value of the label must match the specified value. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersFilterLabels.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of metadata label.

The name can have a maximum length of 1024 characters and must be at least 1 character long.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#name ComputeGlobalForwardingRule#name}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleMetadataFiltersFilterLabels.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The value of the label must match the specified value.

value can have a maximum length of 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#value ComputeGlobalForwardingRule#value}

---

### ComputeGlobalForwardingRuleTimeouts <a name="ComputeGlobalForwardingRuleTimeouts" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts.Initializer"></a>

```typescript
import { ComputeGlobalForwardingRuleTimeouts } from '@dschmidt/provider-google'

const computeGlobalForwardingRuleTimeouts: ComputeGlobalForwardingRuleTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#create ComputeGlobalForwardingRule#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#delete ComputeGlobalForwardingRule#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#update ComputeGlobalForwardingRule#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#create ComputeGlobalForwardingRule#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#delete ComputeGlobalForwardingRule#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeGlobalForwardingRuleTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule#update ComputeGlobalForwardingRule#update}.

---

### ComputeGlobalNetworkEndpointConfig <a name="ComputeGlobalNetworkEndpointConfig" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.Initializer"></a>

```typescript
import { ComputeGlobalNetworkEndpointConfig } from '@dschmidt/provider-google'

const computeGlobalNetworkEndpointConfig: ComputeGlobalNetworkEndpointConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.globalNetworkEndpointGroup">globalNetworkEndpointGroup</a></code> | <code>string</code> | The global network endpoint group this endpoint is part of. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.port">port</a></code> | <code>number</code> | Port number of the external endpoint. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.fqdn">fqdn</a></code> | <code>string</code> | Fully qualified domain name of network endpoint. This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#id ComputeGlobalNetworkEndpoint#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.ipAddress">ipAddress</a></code> | <code>string</code> | IPv4 address external endpoint. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#project ComputeGlobalNetworkEndpoint#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts">ComputeGlobalNetworkEndpointTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `globalNetworkEndpointGroup`<sup>Required</sup> <a name="globalNetworkEndpointGroup" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.globalNetworkEndpointGroup"></a>

```typescript
public readonly globalNetworkEndpointGroup: string;
```

- *Type:* string

The global network endpoint group this endpoint is part of.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#global_network_endpoint_group ComputeGlobalNetworkEndpoint#global_network_endpoint_group}

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

Port number of the external endpoint.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#port ComputeGlobalNetworkEndpoint#port}

---

##### `fqdn`<sup>Optional</sup> <a name="fqdn" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.fqdn"></a>

```typescript
public readonly fqdn: string;
```

- *Type:* string

Fully qualified domain name of network endpoint. This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#fqdn ComputeGlobalNetworkEndpoint#fqdn}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#id ComputeGlobalNetworkEndpoint#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipAddress`<sup>Optional</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

IPv4 address external endpoint.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#ip_address ComputeGlobalNetworkEndpoint#ip_address}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#project ComputeGlobalNetworkEndpoint#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeGlobalNetworkEndpointTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts">ComputeGlobalNetworkEndpointTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#timeouts ComputeGlobalNetworkEndpoint#timeouts}

---

### ComputeGlobalNetworkEndpointGroupConfig <a name="ComputeGlobalNetworkEndpointGroupConfig" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.Initializer"></a>

```typescript
import { ComputeGlobalNetworkEndpointGroupConfig } from '@dschmidt/provider-google'

const computeGlobalNetworkEndpointGroupConfig: ComputeGlobalNetworkEndpointGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.networkEndpointType">networkEndpointType</a></code> | <code>string</code> | Type of network endpoints in this network endpoint group. Possible values: ["INTERNET_IP_PORT", "INTERNET_FQDN_PORT"]. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.defaultPort">defaultPort</a></code> | <code>number</code> | The default port used if the port number is not specified in the network endpoint. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#id ComputeGlobalNetworkEndpointGroup#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#project ComputeGlobalNetworkEndpointGroup#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts">ComputeGlobalNetworkEndpointGroupTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#name ComputeGlobalNetworkEndpointGroup#name}

---

##### `networkEndpointType`<sup>Required</sup> <a name="networkEndpointType" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.networkEndpointType"></a>

```typescript
public readonly networkEndpointType: string;
```

- *Type:* string

Type of network endpoints in this network endpoint group. Possible values: ["INTERNET_IP_PORT", "INTERNET_FQDN_PORT"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#network_endpoint_type ComputeGlobalNetworkEndpointGroup#network_endpoint_type}

---

##### `defaultPort`<sup>Optional</sup> <a name="defaultPort" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.defaultPort"></a>

```typescript
public readonly defaultPort: number;
```

- *Type:* number

The default port used if the port number is not specified in the network endpoint.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#default_port ComputeGlobalNetworkEndpointGroup#default_port}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#description ComputeGlobalNetworkEndpointGroup#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#id ComputeGlobalNetworkEndpointGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#project ComputeGlobalNetworkEndpointGroup#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeGlobalNetworkEndpointGroupTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts">ComputeGlobalNetworkEndpointGroupTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#timeouts ComputeGlobalNetworkEndpointGroup#timeouts}

---

### ComputeGlobalNetworkEndpointGroupTimeouts <a name="ComputeGlobalNetworkEndpointGroupTimeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts.Initializer"></a>

```typescript
import { ComputeGlobalNetworkEndpointGroupTimeouts } from '@dschmidt/provider-google'

const computeGlobalNetworkEndpointGroupTimeouts: ComputeGlobalNetworkEndpointGroupTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#create ComputeGlobalNetworkEndpointGroup#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#delete ComputeGlobalNetworkEndpointGroup#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#create ComputeGlobalNetworkEndpointGroup#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointGroupTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint_group#delete ComputeGlobalNetworkEndpointGroup#delete}.

---

### ComputeGlobalNetworkEndpointTimeouts <a name="ComputeGlobalNetworkEndpointTimeouts" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts.Initializer"></a>

```typescript
import { ComputeGlobalNetworkEndpointTimeouts } from '@dschmidt/provider-google'

const computeGlobalNetworkEndpointTimeouts: ComputeGlobalNetworkEndpointTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#create ComputeGlobalNetworkEndpoint#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#delete ComputeGlobalNetworkEndpoint#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#create ComputeGlobalNetworkEndpoint#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeGlobalNetworkEndpointTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_global_network_endpoint#delete ComputeGlobalNetworkEndpoint#delete}.

---

### ComputeHaVpnGatewayConfig <a name="ComputeHaVpnGatewayConfig" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.Initializer"></a>

```typescript
import { ComputeHaVpnGatewayConfig } from '@dschmidt/provider-google'

const computeHaVpnGatewayConfig: ComputeHaVpnGatewayConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.network">network</a></code> | <code>string</code> | The network this VPN gateway is accepting traffic for. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#id ComputeHaVpnGateway#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#project ComputeHaVpnGateway#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.region">region</a></code> | <code>string</code> | The region this gateway should sit in. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts">ComputeHaVpnGatewayTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.vpnInterfaces">vpnInterfaces</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces">ComputeHaVpnGatewayVpnInterfaces</a>[]</code> | vpn_interfaces block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#name ComputeHaVpnGateway#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The network this VPN gateway is accepting traffic for.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#network ComputeHaVpnGateway#network}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#description ComputeHaVpnGateway#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#id ComputeHaVpnGateway#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#project ComputeHaVpnGateway#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region this gateway should sit in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#region ComputeHaVpnGateway#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeHaVpnGatewayTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts">ComputeHaVpnGatewayTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#timeouts ComputeHaVpnGateway#timeouts}

---

##### `vpnInterfaces`<sup>Optional</sup> <a name="vpnInterfaces" id="@dschmidt/provider-google.ComputeHaVpnGatewayConfig.property.vpnInterfaces"></a>

```typescript
public readonly vpnInterfaces: IResolvable | ComputeHaVpnGatewayVpnInterfaces[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces">ComputeHaVpnGatewayVpnInterfaces</a>[]

vpn_interfaces block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#vpn_interfaces ComputeHaVpnGateway#vpn_interfaces}

---

### ComputeHaVpnGatewayTimeouts <a name="ComputeHaVpnGatewayTimeouts" id="@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts.Initializer"></a>

```typescript
import { ComputeHaVpnGatewayTimeouts } from '@dschmidt/provider-google'

const computeHaVpnGatewayTimeouts: ComputeHaVpnGatewayTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#create ComputeHaVpnGateway#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#delete ComputeHaVpnGateway#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#create ComputeHaVpnGateway#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeHaVpnGatewayTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#delete ComputeHaVpnGateway#delete}.

---

### ComputeHaVpnGatewayVpnInterfaces <a name="ComputeHaVpnGatewayVpnInterfaces" id="@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces.Initializer"></a>

```typescript
import { ComputeHaVpnGatewayVpnInterfaces } from '@dschmidt/provider-google'

const computeHaVpnGatewayVpnInterfaces: ComputeHaVpnGatewayVpnInterfaces = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces.property.id">id</a></code> | <code>number</code> | The numeric ID of this VPN gateway interface. |
| <code><a href="#@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces.property.interconnectAttachment">interconnectAttachment</a></code> | <code>string</code> | URL of the interconnect attachment resource. |

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces.property.id"></a>

```typescript
public readonly id: number;
```

- *Type:* number

The numeric ID of this VPN gateway interface.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#id ComputeHaVpnGateway#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `interconnectAttachment`<sup>Optional</sup> <a name="interconnectAttachment" id="@dschmidt/provider-google.ComputeHaVpnGatewayVpnInterfaces.property.interconnectAttachment"></a>

```typescript
public readonly interconnectAttachment: string;
```

- *Type:* string

URL of the interconnect attachment resource.

When the value
of this field is present, the VPN Gateway will be used for
IPsec-encrypted Cloud Interconnect; all Egress or Ingress
traffic for this VPN Gateway interface will go through the
specified interconnect attachment resource.

Not currently available publicly.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ha_vpn_gateway#interconnect_attachment ComputeHaVpnGateway#interconnect_attachment}

---

### ComputeHealthCheckConfig <a name="ComputeHealthCheckConfig" id="@dschmidt/provider-google.ComputeHealthCheckConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHealthCheckConfig.Initializer"></a>

```typescript
import { ComputeHealthCheckConfig } from '@dschmidt/provider-google'

const computeHealthCheckConfig: ComputeHealthCheckConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.checkIntervalSec">checkIntervalSec</a></code> | <code>number</code> | How often (in seconds) to send a health check. The default value is 5 seconds. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.grpcHealthCheck">grpcHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck">ComputeHealthCheckGrpcHealthCheck</a></code> | grpc_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.healthyThreshold">healthyThreshold</a></code> | <code>number</code> | A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.http2HealthCheck">http2HealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck">ComputeHealthCheckHttp2HealthCheck</a></code> | http2_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.httpHealthCheck">httpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck">ComputeHealthCheckHttpHealthCheck</a></code> | http_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.httpsHealthCheck">httpsHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck">ComputeHealthCheckHttpsHealthCheck</a></code> | https_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#id ComputeHealthCheck#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckLogConfig">ComputeHealthCheckLogConfig</a></code> | log_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#project ComputeHealthCheck#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.sslHealthCheck">sslHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck">ComputeHealthCheckSslHealthCheck</a></code> | ssl_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.tcpHealthCheck">tcpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck">ComputeHealthCheckTcpHealthCheck</a></code> | tcp_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTimeouts">ComputeHealthCheckTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | How long (in seconds) to wait before claiming failure. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckConfig.property.unhealthyThreshold">unhealthyThreshold</a></code> | <code>number</code> | A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the
last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#name ComputeHealthCheck#name}

---

##### `checkIntervalSec`<sup>Optional</sup> <a name="checkIntervalSec" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.checkIntervalSec"></a>

```typescript
public readonly checkIntervalSec: number;
```

- *Type:* number

How often (in seconds) to send a health check. The default value is 5 seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#check_interval_sec ComputeHealthCheck#check_interval_sec}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#description ComputeHealthCheck#description}

---

##### `grpcHealthCheck`<sup>Optional</sup> <a name="grpcHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.grpcHealthCheck"></a>

```typescript
public readonly grpcHealthCheck: ComputeHealthCheckGrpcHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck">ComputeHealthCheckGrpcHealthCheck</a>

grpc_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#grpc_health_check ComputeHealthCheck#grpc_health_check}

---

##### `healthyThreshold`<sup>Optional</sup> <a name="healthyThreshold" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.healthyThreshold"></a>

```typescript
public readonly healthyThreshold: number;
```

- *Type:* number

A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#healthy_threshold ComputeHealthCheck#healthy_threshold}

---

##### `http2HealthCheck`<sup>Optional</sup> <a name="http2HealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.http2HealthCheck"></a>

```typescript
public readonly http2HealthCheck: ComputeHealthCheckHttp2HealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck">ComputeHealthCheckHttp2HealthCheck</a>

http2_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#http2_health_check ComputeHealthCheck#http2_health_check}

---

##### `httpHealthCheck`<sup>Optional</sup> <a name="httpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.httpHealthCheck"></a>

```typescript
public readonly httpHealthCheck: ComputeHealthCheckHttpHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck">ComputeHealthCheckHttpHealthCheck</a>

http_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#http_health_check ComputeHealthCheck#http_health_check}

---

##### `httpsHealthCheck`<sup>Optional</sup> <a name="httpsHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.httpsHealthCheck"></a>

```typescript
public readonly httpsHealthCheck: ComputeHealthCheckHttpsHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck">ComputeHealthCheckHttpsHealthCheck</a>

https_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#https_health_check ComputeHealthCheck#https_health_check}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#id ComputeHealthCheck#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `logConfig`<sup>Optional</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeHealthCheckLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckLogConfig">ComputeHealthCheckLogConfig</a>

log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#log_config ComputeHealthCheck#log_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#project ComputeHealthCheck#project}.

---

##### `sslHealthCheck`<sup>Optional</sup> <a name="sslHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.sslHealthCheck"></a>

```typescript
public readonly sslHealthCheck: ComputeHealthCheckSslHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck">ComputeHealthCheckSslHealthCheck</a>

ssl_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#ssl_health_check ComputeHealthCheck#ssl_health_check}

---

##### `tcpHealthCheck`<sup>Optional</sup> <a name="tcpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.tcpHealthCheck"></a>

```typescript
public readonly tcpHealthCheck: ComputeHealthCheckTcpHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck">ComputeHealthCheckTcpHealthCheck</a>

tcp_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#tcp_health_check ComputeHealthCheck#tcp_health_check}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeHealthCheckTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHealthCheckTimeouts">ComputeHealthCheckTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#timeouts ComputeHealthCheck#timeouts}

---

##### `timeoutSec`<sup>Optional</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

How long (in seconds) to wait before claiming failure.

The default value is 5 seconds.  It is invalid for timeoutSec to have
greater value than checkIntervalSec.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#timeout_sec ComputeHealthCheck#timeout_sec}

---

##### `unhealthyThreshold`<sup>Optional</sup> <a name="unhealthyThreshold" id="@dschmidt/provider-google.ComputeHealthCheckConfig.property.unhealthyThreshold"></a>

```typescript
public readonly unhealthyThreshold: number;
```

- *Type:* number

A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#unhealthy_threshold ComputeHealthCheck#unhealthy_threshold}

---

### ComputeHealthCheckGrpcHealthCheck <a name="ComputeHealthCheckGrpcHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck.Initializer"></a>

```typescript
import { ComputeHealthCheckGrpcHealthCheck } from '@dschmidt/provider-google'

const computeHealthCheckGrpcHealthCheck: ComputeHealthCheckGrpcHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck.property.grpcServiceName">grpcServiceName</a></code> | <code>string</code> | The gRPC service name for the health check. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck.property.port">port</a></code> | <code>number</code> | The port number for the health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |

---

##### `grpcServiceName`<sup>Optional</sup> <a name="grpcServiceName" id="@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck.property.grpcServiceName"></a>

```typescript
public readonly grpcServiceName: string;
```

- *Type:* string

The gRPC service name for the health check.

The value of grpcServiceName has the following meanings by convention:
- Empty serviceName means the overall status of all services at the backend.
- Non-empty serviceName means the health of that gRPC service, as defined by the owner of the service.
The grpcServiceName can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#grpc_service_name ComputeHealthCheck#grpc_service_name}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The port number for the health check request.

Must be specified if portName and portSpecification are not set
or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port ComputeHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_name ComputeHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeHealthCheckGrpcHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, gRPC health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_specification ComputeHealthCheck#port_specification}

---

### ComputeHealthCheckHttp2HealthCheck <a name="ComputeHealthCheckHttp2HealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.Initializer"></a>

```typescript
import { ComputeHealthCheckHttp2HealthCheck } from '@dschmidt/provider-google'

const computeHealthCheckHttp2HealthCheck: ComputeHealthCheckHttp2HealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.host">host</a></code> | <code>string</code> | The value of the host header in the HTTP2 health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the HTTP2 health check request. The default value is 443. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.requestPath">requestPath</a></code> | <code>string</code> | The request path of the HTTP2 health check request. The default value is /. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The value of the host header in the HTTP2 health check request.

If left empty (default value), the public IP on behalf of which this health
check is performed will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#host ComputeHealthCheck#host}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the HTTP2 health check request. The default value is 443.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port ComputeHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_name ComputeHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, HTTP2 health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_specification ComputeHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#proxy_header ComputeHealthCheck#proxy_header}

---

##### `requestPath`<sup>Optional</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

The request path of the HTTP2 health check request. The default value is /.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#request_path ComputeHealthCheck#request_path}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeHealthCheckHttp2HealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#response ComputeHealthCheck#response}

---

### ComputeHealthCheckHttpHealthCheck <a name="ComputeHealthCheckHttpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.Initializer"></a>

```typescript
import { ComputeHealthCheckHttpHealthCheck } from '@dschmidt/provider-google'

const computeHealthCheckHttpHealthCheck: ComputeHealthCheckHttpHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.host">host</a></code> | <code>string</code> | The value of the host header in the HTTP health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the HTTP health check request. The default value is 80. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.requestPath">requestPath</a></code> | <code>string</code> | The request path of the HTTP health check request. The default value is /. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The value of the host header in the HTTP health check request.

If left empty (default value), the public IP on behalf of which this health
check is performed will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#host ComputeHealthCheck#host}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the HTTP health check request. The default value is 80.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port ComputeHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_name ComputeHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, HTTP health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_specification ComputeHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#proxy_header ComputeHealthCheck#proxy_header}

---

##### `requestPath`<sup>Optional</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

The request path of the HTTP health check request. The default value is /.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#request_path ComputeHealthCheck#request_path}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeHealthCheckHttpHealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#response ComputeHealthCheck#response}

---

### ComputeHealthCheckHttpsHealthCheck <a name="ComputeHealthCheckHttpsHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.Initializer"></a>

```typescript
import { ComputeHealthCheckHttpsHealthCheck } from '@dschmidt/provider-google'

const computeHealthCheckHttpsHealthCheck: ComputeHealthCheckHttpsHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.host">host</a></code> | <code>string</code> | The value of the host header in the HTTPS health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the HTTPS health check request. The default value is 443. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.requestPath">requestPath</a></code> | <code>string</code> | The request path of the HTTPS health check request. The default value is /. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The value of the host header in the HTTPS health check request.

If left empty (default value), the public IP on behalf of which this health
check is performed will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#host ComputeHealthCheck#host}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the HTTPS health check request. The default value is 443.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port ComputeHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_name ComputeHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, HTTPS health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_specification ComputeHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#proxy_header ComputeHealthCheck#proxy_header}

---

##### `requestPath`<sup>Optional</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

The request path of the HTTPS health check request. The default value is /.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#request_path ComputeHealthCheck#request_path}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeHealthCheckHttpsHealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#response ComputeHealthCheck#response}

---

### ComputeHealthCheckLogConfig <a name="ComputeHealthCheckLogConfig" id="@dschmidt/provider-google.ComputeHealthCheckLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHealthCheckLogConfig.Initializer"></a>

```typescript
import { ComputeHealthCheckLogConfig } from '@dschmidt/provider-google'

const computeHealthCheckLogConfig: ComputeHealthCheckLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckLogConfig.property.enable">enable</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether or not to export logs. |

---

##### `enable`<sup>Optional</sup> <a name="enable" id="@dschmidt/provider-google.ComputeHealthCheckLogConfig.property.enable"></a>

```typescript
public readonly enable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether or not to export logs.

This is false by default,
which means no health check logging will be done.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#enable ComputeHealthCheck#enable}

---

### ComputeHealthCheckSslHealthCheck <a name="ComputeHealthCheckSslHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.Initializer"></a>

```typescript
import { ComputeHealthCheckSslHealthCheck } from '@dschmidt/provider-google'

const computeHealthCheckSslHealthCheck: ComputeHealthCheckSslHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the SSL health check request. The default value is 443. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.request">request</a></code> | <code>string</code> | The application data to send once the SSL connection has been established (default value is empty). |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the SSL health check request. The default value is 443.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port ComputeHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_name ComputeHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, SSL health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_specification ComputeHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#proxy_header ComputeHealthCheck#proxy_header}

---

##### `request`<sup>Optional</sup> <a name="request" id="@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.request"></a>

```typescript
public readonly request: string;
```

- *Type:* string

The application data to send once the SSL connection has been established (default value is empty).

If both request and response are
empty, the connection establishment alone will indicate health. The request
data can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#request ComputeHealthCheck#request}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeHealthCheckSslHealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#response ComputeHealthCheck#response}

---

### ComputeHealthCheckTcpHealthCheck <a name="ComputeHealthCheckTcpHealthCheck" id="@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.Initializer"></a>

```typescript
import { ComputeHealthCheckTcpHealthCheck } from '@dschmidt/provider-google'

const computeHealthCheckTcpHealthCheck: ComputeHealthCheckTcpHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the TCP health check request. The default value is 443. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.request">request</a></code> | <code>string</code> | The application data to send once the TCP connection has been established (default value is empty). |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the TCP health check request. The default value is 443.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port ComputeHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_name ComputeHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, TCP health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#port_specification ComputeHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#proxy_header ComputeHealthCheck#proxy_header}

---

##### `request`<sup>Optional</sup> <a name="request" id="@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.request"></a>

```typescript
public readonly request: string;
```

- *Type:* string

The application data to send once the TCP connection has been established (default value is empty).

If both request and response are
empty, the connection establishment alone will indicate health. The request
data can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#request ComputeHealthCheck#request}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeHealthCheckTcpHealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#response ComputeHealthCheck#response}

---

### ComputeHealthCheckTimeouts <a name="ComputeHealthCheckTimeouts" id="@dschmidt/provider-google.ComputeHealthCheckTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHealthCheckTimeouts.Initializer"></a>

```typescript
import { ComputeHealthCheckTimeouts } from '@dschmidt/provider-google'

const computeHealthCheckTimeouts: ComputeHealthCheckTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#create ComputeHealthCheck#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#delete ComputeHealthCheck#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeHealthCheckTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#update ComputeHealthCheck#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeHealthCheckTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#create ComputeHealthCheck#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeHealthCheckTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#delete ComputeHealthCheck#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeHealthCheckTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_health_check#update ComputeHealthCheck#update}.

---

### ComputeHttpHealthCheckConfig <a name="ComputeHttpHealthCheckConfig" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.Initializer"></a>

```typescript
import { ComputeHttpHealthCheckConfig } from '@dschmidt/provider-google'

const computeHttpHealthCheckConfig: ComputeHttpHealthCheckConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.checkIntervalSec">checkIntervalSec</a></code> | <code>number</code> | How often (in seconds) to send a health check. The default value is 5 seconds. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.healthyThreshold">healthyThreshold</a></code> | <code>number</code> | A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.host">host</a></code> | <code>string</code> | The value of the host header in the HTTP health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#id ComputeHttpHealthCheck#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.port">port</a></code> | <code>number</code> | The TCP port number for the HTTP health check request. The default value is 80. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#project ComputeHttpHealthCheck#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.requestPath">requestPath</a></code> | <code>string</code> | The request path of the HTTP health check request. The default value is /. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts">ComputeHttpHealthCheckTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | How long (in seconds) to wait before claiming failure. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.unhealthyThreshold">unhealthyThreshold</a></code> | <code>number</code> | A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the
last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#name ComputeHttpHealthCheck#name}

---

##### `checkIntervalSec`<sup>Optional</sup> <a name="checkIntervalSec" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.checkIntervalSec"></a>

```typescript
public readonly checkIntervalSec: number;
```

- *Type:* number

How often (in seconds) to send a health check. The default value is 5 seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#check_interval_sec ComputeHttpHealthCheck#check_interval_sec}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#description ComputeHttpHealthCheck#description}

---

##### `healthyThreshold`<sup>Optional</sup> <a name="healthyThreshold" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.healthyThreshold"></a>

```typescript
public readonly healthyThreshold: number;
```

- *Type:* number

A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#healthy_threshold ComputeHttpHealthCheck#healthy_threshold}

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The value of the host header in the HTTP health check request.

If
left empty (default value), the public IP on behalf of which this
health check is performed will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#host ComputeHttpHealthCheck#host}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#id ComputeHttpHealthCheck#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the HTTP health check request. The default value is 80.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#port ComputeHttpHealthCheck#port}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#project ComputeHttpHealthCheck#project}.

---

##### `requestPath`<sup>Optional</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

The request path of the HTTP health check request. The default value is /.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#request_path ComputeHttpHealthCheck#request_path}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeHttpHealthCheckTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts">ComputeHttpHealthCheckTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#timeouts ComputeHttpHealthCheck#timeouts}

---

##### `timeoutSec`<sup>Optional</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

How long (in seconds) to wait before claiming failure.

The default value is 5 seconds.  It is invalid for timeoutSec to have
greater value than checkIntervalSec.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#timeout_sec ComputeHttpHealthCheck#timeout_sec}

---

##### `unhealthyThreshold`<sup>Optional</sup> <a name="unhealthyThreshold" id="@dschmidt/provider-google.ComputeHttpHealthCheckConfig.property.unhealthyThreshold"></a>

```typescript
public readonly unhealthyThreshold: number;
```

- *Type:* number

A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#unhealthy_threshold ComputeHttpHealthCheck#unhealthy_threshold}

---

### ComputeHttpHealthCheckTimeouts <a name="ComputeHttpHealthCheckTimeouts" id="@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts.Initializer"></a>

```typescript
import { ComputeHttpHealthCheckTimeouts } from '@dschmidt/provider-google'

const computeHttpHealthCheckTimeouts: ComputeHttpHealthCheckTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#create ComputeHttpHealthCheck#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#delete ComputeHttpHealthCheck#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#update ComputeHttpHealthCheck#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#create ComputeHttpHealthCheck#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#delete ComputeHttpHealthCheck#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeHttpHealthCheckTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_http_health_check#update ComputeHttpHealthCheck#update}.

---

### ComputeHttpsHealthCheckConfig <a name="ComputeHttpsHealthCheckConfig" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.Initializer"></a>

```typescript
import { ComputeHttpsHealthCheckConfig } from '@dschmidt/provider-google'

const computeHttpsHealthCheckConfig: ComputeHttpsHealthCheckConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.checkIntervalSec">checkIntervalSec</a></code> | <code>number</code> | How often (in seconds) to send a health check. The default value is 5 seconds. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.healthyThreshold">healthyThreshold</a></code> | <code>number</code> | A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.host">host</a></code> | <code>string</code> | The value of the host header in the HTTPS health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#id ComputeHttpsHealthCheck#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.port">port</a></code> | <code>number</code> | The TCP port number for the HTTPS health check request. The default value is 443. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#project ComputeHttpsHealthCheck#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.requestPath">requestPath</a></code> | <code>string</code> | The request path of the HTTPS health check request. The default value is /. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts">ComputeHttpsHealthCheckTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | How long (in seconds) to wait before claiming failure. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.unhealthyThreshold">unhealthyThreshold</a></code> | <code>number</code> | A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the
last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#name ComputeHttpsHealthCheck#name}

---

##### `checkIntervalSec`<sup>Optional</sup> <a name="checkIntervalSec" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.checkIntervalSec"></a>

```typescript
public readonly checkIntervalSec: number;
```

- *Type:* number

How often (in seconds) to send a health check. The default value is 5 seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#check_interval_sec ComputeHttpsHealthCheck#check_interval_sec}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#description ComputeHttpsHealthCheck#description}

---

##### `healthyThreshold`<sup>Optional</sup> <a name="healthyThreshold" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.healthyThreshold"></a>

```typescript
public readonly healthyThreshold: number;
```

- *Type:* number

A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#healthy_threshold ComputeHttpsHealthCheck#healthy_threshold}

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The value of the host header in the HTTPS health check request.

If
left empty (default value), the public IP on behalf of which this
health check is performed will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#host ComputeHttpsHealthCheck#host}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#id ComputeHttpsHealthCheck#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the HTTPS health check request. The default value is 443.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#port ComputeHttpsHealthCheck#port}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#project ComputeHttpsHealthCheck#project}.

---

##### `requestPath`<sup>Optional</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

The request path of the HTTPS health check request. The default value is /.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#request_path ComputeHttpsHealthCheck#request_path}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeHttpsHealthCheckTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts">ComputeHttpsHealthCheckTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#timeouts ComputeHttpsHealthCheck#timeouts}

---

##### `timeoutSec`<sup>Optional</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

How long (in seconds) to wait before claiming failure.

The default value is 5 seconds.  It is invalid for timeoutSec to have
greater value than checkIntervalSec.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#timeout_sec ComputeHttpsHealthCheck#timeout_sec}

---

##### `unhealthyThreshold`<sup>Optional</sup> <a name="unhealthyThreshold" id="@dschmidt/provider-google.ComputeHttpsHealthCheckConfig.property.unhealthyThreshold"></a>

```typescript
public readonly unhealthyThreshold: number;
```

- *Type:* number

A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#unhealthy_threshold ComputeHttpsHealthCheck#unhealthy_threshold}

---

### ComputeHttpsHealthCheckTimeouts <a name="ComputeHttpsHealthCheckTimeouts" id="@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts.Initializer"></a>

```typescript
import { ComputeHttpsHealthCheckTimeouts } from '@dschmidt/provider-google'

const computeHttpsHealthCheckTimeouts: ComputeHttpsHealthCheckTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#create ComputeHttpsHealthCheck#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#delete ComputeHttpsHealthCheck#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#update ComputeHttpsHealthCheck#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#create ComputeHttpsHealthCheck#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#delete ComputeHttpsHealthCheck#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeHttpsHealthCheckTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_https_health_check#update ComputeHttpsHealthCheck#update}.

---

### ComputeImageConfig <a name="ComputeImageConfig" id="@dschmidt/provider-google.ComputeImageConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeImageConfig.Initializer"></a>

```typescript
import { ComputeImageConfig } from '@dschmidt/provider-google'

const computeImageConfig: ComputeImageConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | Size of the image when restored onto a persistent disk (in GB). |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.family">family</a></code> | <code>string</code> | The name of the image family to which this image belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.guestOsFeatures">guestOsFeatures</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeImageGuestOsFeatures">ComputeImageGuestOsFeatures</a>[]</code> | guest_os_features block. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#id ComputeImage#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels to apply to this Image. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.licenses">licenses</a></code> | <code>string[]</code> | Any applicable license URI. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#project ComputeImage#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.rawDisk">rawDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageRawDisk">ComputeImageRawDisk</a></code> | raw_disk block. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.sourceDisk">sourceDisk</a></code> | <code>string</code> | The source disk to create this image based on. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.sourceImage">sourceImage</a></code> | <code>string</code> | URL of the source image used to create this image. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.sourceSnapshot">sourceSnapshot</a></code> | <code>string</code> | URL of the source snapshot used to create this image. |
| <code><a href="#@dschmidt/provider-google.ComputeImageConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageTimeouts">ComputeImageTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeImageConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeImageConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeImageConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeImageConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeImageConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeImageConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeImageConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeImageConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the
last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#name ComputeImage#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeImageConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#description ComputeImage#description}

---

##### `diskSizeGb`<sup>Optional</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.ComputeImageConfig.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

Size of the image when restored onto a persistent disk (in GB).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#disk_size_gb ComputeImage#disk_size_gb}

---

##### `family`<sup>Optional</sup> <a name="family" id="@dschmidt/provider-google.ComputeImageConfig.property.family"></a>

```typescript
public readonly family: string;
```

- *Type:* string

The name of the image family to which this image belongs.

You can
create disks by specifying an image family instead of a specific
image name. The image family always returns its latest image that is
not deprecated. The name of the image family must comply with
RFC1035.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#family ComputeImage#family}

---

##### `guestOsFeatures`<sup>Optional</sup> <a name="guestOsFeatures" id="@dschmidt/provider-google.ComputeImageConfig.property.guestOsFeatures"></a>

```typescript
public readonly guestOsFeatures: IResolvable | ComputeImageGuestOsFeatures[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeImageGuestOsFeatures">ComputeImageGuestOsFeatures</a>[]

guest_os_features block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#guest_os_features ComputeImage#guest_os_features}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#id ComputeImage#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeImageConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to apply to this Image.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#labels ComputeImage#labels}

---

##### `licenses`<sup>Optional</sup> <a name="licenses" id="@dschmidt/provider-google.ComputeImageConfig.property.licenses"></a>

```typescript
public readonly licenses: string[];
```

- *Type:* string[]

Any applicable license URI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#licenses ComputeImage#licenses}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeImageConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#project ComputeImage#project}.

---

##### `rawDisk`<sup>Optional</sup> <a name="rawDisk" id="@dschmidt/provider-google.ComputeImageConfig.property.rawDisk"></a>

```typescript
public readonly rawDisk: ComputeImageRawDisk;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageRawDisk">ComputeImageRawDisk</a>

raw_disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#raw_disk ComputeImage#raw_disk}

---

##### `sourceDisk`<sup>Optional</sup> <a name="sourceDisk" id="@dschmidt/provider-google.ComputeImageConfig.property.sourceDisk"></a>

```typescript
public readonly sourceDisk: string;
```

- *Type:* string

The source disk to create this image based on.

You must provide either this property or the
rawDisk.source property but not both to create an image.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#source_disk ComputeImage#source_disk}

---

##### `sourceImage`<sup>Optional</sup> <a name="sourceImage" id="@dschmidt/provider-google.ComputeImageConfig.property.sourceImage"></a>

```typescript
public readonly sourceImage: string;
```

- *Type:* string

URL of the source image used to create this image.

In order to create an image, you must provide the full or partial
URL of one of the following:

The selfLink URL
This property
The rawDisk.source URL
The sourceDisk URL

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#source_image ComputeImage#source_image}

---

##### `sourceSnapshot`<sup>Optional</sup> <a name="sourceSnapshot" id="@dschmidt/provider-google.ComputeImageConfig.property.sourceSnapshot"></a>

```typescript
public readonly sourceSnapshot: string;
```

- *Type:* string

URL of the source snapshot used to create this image.

In order to create an image, you must provide the full or partial URL of one of the following:

The selfLink URL
This property
The sourceImage URL
The rawDisk.source URL
The sourceDisk URL

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#source_snapshot ComputeImage#source_snapshot}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeImageConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeImageTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageTimeouts">ComputeImageTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#timeouts ComputeImage#timeouts}

---

### ComputeImageGuestOsFeatures <a name="ComputeImageGuestOsFeatures" id="@dschmidt/provider-google.ComputeImageGuestOsFeatures"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeImageGuestOsFeatures.Initializer"></a>

```typescript
import { ComputeImageGuestOsFeatures } from '@dschmidt/provider-google'

const computeImageGuestOsFeatures: ComputeImageGuestOsFeatures = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageGuestOsFeatures.property.type">type</a></code> | <code>string</code> | The type of supported feature. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeImageGuestOsFeatures.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of supported feature.

Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options. Possible values: ["MULTI_IP_SUBNET", "SECURE_BOOT", "SEV_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "WINDOWS", "GVNIC"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#type ComputeImage#type}

---

### ComputeImageIamBindingCondition <a name="ComputeImageIamBindingCondition" id="@dschmidt/provider-google.ComputeImageIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeImageIamBindingCondition.Initializer"></a>

```typescript
import { ComputeImageIamBindingCondition } from '@dschmidt/provider-google'

const computeImageIamBindingCondition: ComputeImageIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#expression ComputeImageIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#title ComputeImageIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#description ComputeImageIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeImageIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#expression ComputeImageIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeImageIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#title ComputeImageIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeImageIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#description ComputeImageIamBinding#description}.

---

### ComputeImageIamBindingConfig <a name="ComputeImageIamBindingConfig" id="@dschmidt/provider-google.ComputeImageIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.Initializer"></a>

```typescript
import { ComputeImageIamBindingConfig } from '@dschmidt/provider-google'

const computeImageIamBindingConfig: ComputeImageIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.image">image</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#image ComputeImageIamBinding#image}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#members ComputeImageIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#role ComputeImageIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingCondition">ComputeImageIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#id ComputeImageIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#project ComputeImageIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#image ComputeImageIamBinding#image}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#members ComputeImageIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#role ComputeImageIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ComputeImageIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamBindingCondition">ComputeImageIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#condition ComputeImageIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#id ComputeImageIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeImageIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_binding#project ComputeImageIamBinding#project}.

---

### ComputeImageIamMemberCondition <a name="ComputeImageIamMemberCondition" id="@dschmidt/provider-google.ComputeImageIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeImageIamMemberCondition.Initializer"></a>

```typescript
import { ComputeImageIamMemberCondition } from '@dschmidt/provider-google'

const computeImageIamMemberCondition: ComputeImageIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#expression ComputeImageIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#title ComputeImageIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#description ComputeImageIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeImageIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#expression ComputeImageIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeImageIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#title ComputeImageIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeImageIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#description ComputeImageIamMember#description}.

---

### ComputeImageIamMemberConfig <a name="ComputeImageIamMemberConfig" id="@dschmidt/provider-google.ComputeImageIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.Initializer"></a>

```typescript
import { ComputeImageIamMemberConfig } from '@dschmidt/provider-google'

const computeImageIamMemberConfig: ComputeImageIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.image">image</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#image ComputeImageIamMember#image}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#member ComputeImageIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#role ComputeImageIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberCondition">ComputeImageIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#id ComputeImageIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#project ComputeImageIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#image ComputeImageIamMember#image}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#member ComputeImageIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#role ComputeImageIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ComputeImageIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeImageIamMemberCondition">ComputeImageIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#condition ComputeImageIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#id ComputeImageIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeImageIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_member#project ComputeImageIamMember#project}.

---

### ComputeImageIamPolicyConfig <a name="ComputeImageIamPolicyConfig" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.Initializer"></a>

```typescript
import { ComputeImageIamPolicyConfig } from '@dschmidt/provider-google'

const computeImageIamPolicyConfig: ComputeImageIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.image">image</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_policy#image ComputeImageIamPolicy#image}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_policy#policy_data ComputeImageIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_policy#id ComputeImageIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_policy#project ComputeImageIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `image`<sup>Required</sup> <a name="image" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_policy#image ComputeImageIamPolicy#image}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_policy#policy_data ComputeImageIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_policy#id ComputeImageIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeImageIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image_iam_policy#project ComputeImageIamPolicy#project}.

---

### ComputeImageRawDisk <a name="ComputeImageRawDisk" id="@dschmidt/provider-google.ComputeImageRawDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeImageRawDisk.Initializer"></a>

```typescript
import { ComputeImageRawDisk } from '@dschmidt/provider-google'

const computeImageRawDisk: ComputeImageRawDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageRawDisk.property.source">source</a></code> | <code>string</code> | The full Google Cloud Storage URL where disk storage is stored You must provide either this property or the sourceDisk property but not both. |
| <code><a href="#@dschmidt/provider-google.ComputeImageRawDisk.property.containerType">containerType</a></code> | <code>string</code> | The format used to encode and transmit the block device, which should be TAR. |
| <code><a href="#@dschmidt/provider-google.ComputeImageRawDisk.property.sha1">sha1</a></code> | <code>string</code> | An optional SHA1 checksum of the disk image before unpackaging. |

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.ComputeImageRawDisk.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

The full Google Cloud Storage URL where disk storage is stored You must provide either this property or the sourceDisk property but not both.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#source ComputeImage#source}

---

##### `containerType`<sup>Optional</sup> <a name="containerType" id="@dschmidt/provider-google.ComputeImageRawDisk.property.containerType"></a>

```typescript
public readonly containerType: string;
```

- *Type:* string

The format used to encode and transmit the block device, which should be TAR.

This is just a container and transmission format
and not a runtime format. Provided by the client when the disk
image is created. Default value: "TAR" Possible values: ["TAR"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#container_type ComputeImage#container_type}

---

##### `sha1`<sup>Optional</sup> <a name="sha1" id="@dschmidt/provider-google.ComputeImageRawDisk.property.sha1"></a>

```typescript
public readonly sha1: string;
```

- *Type:* string

An optional SHA1 checksum of the disk image before unpackaging.

This is provided by the client when the disk image is created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#sha1 ComputeImage#sha1}

---

### ComputeImageTimeouts <a name="ComputeImageTimeouts" id="@dschmidt/provider-google.ComputeImageTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeImageTimeouts.Initializer"></a>

```typescript
import { ComputeImageTimeouts } from '@dschmidt/provider-google'

const computeImageTimeouts: ComputeImageTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeImageTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#create ComputeImage#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#delete ComputeImage#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeImageTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#update ComputeImage#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeImageTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#create ComputeImage#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeImageTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#delete ComputeImage#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeImageTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_image#update ComputeImage#update}.

---

### ComputeInstanceAdvancedMachineFeatures <a name="ComputeInstanceAdvancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures.Initializer"></a>

```typescript
import { ComputeInstanceAdvancedMachineFeatures } from '@dschmidt/provider-google'

const computeInstanceAdvancedMachineFeatures: ComputeInstanceAdvancedMachineFeatures = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures.property.enableNestedVirtualization">enableNestedVirtualization</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable nested virtualization or not. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures.property.threadsPerCore">threadsPerCore</a></code> | <code>number</code> | The number of threads per physical core. |

---

##### `enableNestedVirtualization`<sup>Optional</sup> <a name="enableNestedVirtualization" id="@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures.property.enableNestedVirtualization"></a>

```typescript
public readonly enableNestedVirtualization: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable nested virtualization or not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#enable_nested_virtualization ComputeInstance#enable_nested_virtualization}

---

##### `threadsPerCore`<sup>Optional</sup> <a name="threadsPerCore" id="@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures.property.threadsPerCore"></a>

```typescript
public readonly threadsPerCore: number;
```

- *Type:* number

The number of threads per physical core.

To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#threads_per_core ComputeInstance#threads_per_core}

---

### ComputeInstanceAttachedDisk <a name="ComputeInstanceAttachedDisk" id="@dschmidt/provider-google.ComputeInstanceAttachedDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceAttachedDisk.Initializer"></a>

```typescript
import { ComputeInstanceAttachedDisk } from '@dschmidt/provider-google'

const computeInstanceAttachedDisk: ComputeInstanceAttachedDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.source">source</a></code> | <code>string</code> | The name or self_link of the disk attached to this instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.deviceName">deviceName</a></code> | <code>string</code> | Name with which the attached disk is accessible under /dev/disk/by-id/. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.diskEncryptionKeyRaw">diskEncryptionKeyRaw</a></code> | <code>string</code> | A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.kmsKeySelfLink">kmsKeySelfLink</a></code> | <code>string</code> | The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.mode">mode</a></code> | <code>string</code> | Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE". |

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

The name or self_link of the disk attached to this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#source ComputeInstance#source}

---

##### `deviceName`<sup>Optional</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

Name with which the attached disk is accessible under /dev/disk/by-id/.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#device_name ComputeInstance#device_name}

---

##### `diskEncryptionKeyRaw`<sup>Optional</sup> <a name="diskEncryptionKeyRaw" id="@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.diskEncryptionKeyRaw"></a>

```typescript
public readonly diskEncryptionKeyRaw: string;
```

- *Type:* string

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk.

Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#disk_encryption_key_raw ComputeInstance#disk_encryption_key_raw}

---

##### `kmsKeySelfLink`<sup>Optional</sup> <a name="kmsKeySelfLink" id="@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.kmsKeySelfLink"></a>

```typescript
public readonly kmsKeySelfLink: string;
```

- *Type:* string

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk.

Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#kms_key_self_link ComputeInstance#kms_key_self_link}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeInstanceAttachedDisk.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#mode ComputeInstance#mode}

---

### ComputeInstanceBootDisk <a name="ComputeInstanceBootDisk" id="@dschmidt/provider-google.ComputeInstanceBootDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceBootDisk.Initializer"></a>

```typescript
import { ComputeInstanceBootDisk } from '@dschmidt/provider-google'

const computeInstanceBootDisk: ComputeInstanceBootDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDisk.property.autoDelete">autoDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the disk will be auto-deleted when the instance is deleted. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDisk.property.deviceName">deviceName</a></code> | <code>string</code> | Name with which attached disk will be accessible under /dev/disk/by-id/. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDisk.property.diskEncryptionKeyRaw">diskEncryptionKeyRaw</a></code> | <code>string</code> | A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDisk.property.initializeParams">initializeParams</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams">ComputeInstanceBootDiskInitializeParams</a></code> | initialize_params block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDisk.property.kmsKeySelfLink">kmsKeySelfLink</a></code> | <code>string</code> | The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDisk.property.mode">mode</a></code> | <code>string</code> | Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE". |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDisk.property.source">source</a></code> | <code>string</code> | The name or self_link of the disk attached to this instance. |

---

##### `autoDelete`<sup>Optional</sup> <a name="autoDelete" id="@dschmidt/provider-google.ComputeInstanceBootDisk.property.autoDelete"></a>

```typescript
public readonly autoDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the disk will be auto-deleted when the instance is deleted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#auto_delete ComputeInstance#auto_delete}

---

##### `deviceName`<sup>Optional</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeInstanceBootDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

Name with which attached disk will be accessible under /dev/disk/by-id/.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#device_name ComputeInstance#device_name}

---

##### `diskEncryptionKeyRaw`<sup>Optional</sup> <a name="diskEncryptionKeyRaw" id="@dschmidt/provider-google.ComputeInstanceBootDisk.property.diskEncryptionKeyRaw"></a>

```typescript
public readonly diskEncryptionKeyRaw: string;
```

- *Type:* string

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk.

Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#disk_encryption_key_raw ComputeInstance#disk_encryption_key_raw}

---

##### `initializeParams`<sup>Optional</sup> <a name="initializeParams" id="@dschmidt/provider-google.ComputeInstanceBootDisk.property.initializeParams"></a>

```typescript
public readonly initializeParams: ComputeInstanceBootDiskInitializeParams;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams">ComputeInstanceBootDiskInitializeParams</a>

initialize_params block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#initialize_params ComputeInstance#initialize_params}

---

##### `kmsKeySelfLink`<sup>Optional</sup> <a name="kmsKeySelfLink" id="@dschmidt/provider-google.ComputeInstanceBootDisk.property.kmsKeySelfLink"></a>

```typescript
public readonly kmsKeySelfLink: string;
```

- *Type:* string

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk.

Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#kms_key_self_link ComputeInstance#kms_key_self_link}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeInstanceBootDisk.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#mode ComputeInstance#mode}

---

##### `source`<sup>Optional</sup> <a name="source" id="@dschmidt/provider-google.ComputeInstanceBootDisk.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

The name or self_link of the disk attached to this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#source ComputeInstance#source}

---

### ComputeInstanceBootDiskInitializeParams <a name="ComputeInstanceBootDiskInitializeParams" id="@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams.Initializer"></a>

```typescript
import { ComputeInstanceBootDiskInitializeParams } from '@dschmidt/provider-google'

const computeInstanceBootDiskInitializeParams: ComputeInstanceBootDiskInitializeParams = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams.property.image">image</a></code> | <code>string</code> | The image from which this disk was initialised. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs assigned to the disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams.property.size">size</a></code> | <code>number</code> | The size of the image in gigabytes. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams.property.type">type</a></code> | <code>string</code> | The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced. |

---

##### `image`<sup>Optional</sup> <a name="image" id="@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

The image from which this disk was initialised.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#image ComputeInstance#image}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs assigned to the disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#labels ComputeInstance#labels}

---

##### `size`<sup>Optional</sup> <a name="size" id="@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

The size of the image in gigabytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#size ComputeInstance#size}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceBootDiskInitializeParams.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#type ComputeInstance#type}

---

### ComputeInstanceConfidentialInstanceConfig <a name="ComputeInstanceConfidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfig.Initializer"></a>

```typescript
import { ComputeInstanceConfidentialInstanceConfig } from '@dschmidt/provider-google'

const computeInstanceConfidentialInstanceConfig: ComputeInstanceConfidentialInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfig.property.enableConfidentialCompute">enableConfidentialCompute</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance should have confidential compute enabled. |

---

##### `enableConfidentialCompute`<sup>Required</sup> <a name="enableConfidentialCompute" id="@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfig.property.enableConfidentialCompute"></a>

```typescript
public readonly enableConfidentialCompute: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance should have confidential compute enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#enable_confidential_compute ComputeInstance#enable_confidential_compute}

---

### ComputeInstanceConfig <a name="ComputeInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceConfig.Initializer"></a>

```typescript
import { ComputeInstanceConfig } from '@dschmidt/provider-google'

const computeInstanceConfig: ComputeInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.bootDisk">bootDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceBootDisk">ComputeInstanceBootDisk</a></code> | boot_disk block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.machineType">machineType</a></code> | <code>string</code> | The machine type to create. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.name">name</a></code> | <code>string</code> | The name of the instance. One of name or self_link must be provided. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.networkInterface">networkInterface</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface">ComputeInstanceNetworkInterface</a>[]</code> | network_interface block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.advancedMachineFeatures">advancedMachineFeatures</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures">ComputeInstanceAdvancedMachineFeatures</a></code> | advanced_machine_features block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.allowStoppingForUpdate">allowStoppingForUpdate</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, allows Terraform to stop the instance to update its properties. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.attachedDisk">attachedDisk</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk">ComputeInstanceAttachedDisk</a>[]</code> | attached_disk block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.canIpForward">canIpForward</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether sending and receiving of packets with non-matching source or destination IPs is allowed. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.confidentialInstanceConfig">confidentialInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfig">ComputeInstanceConfidentialInstanceConfig</a></code> | confidential_instance_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether deletion protection is enabled on this instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.description">description</a></code> | <code>string</code> | A brief description of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.desiredStatus">desiredStatus</a></code> | <code>string</code> | Desired status of the instance. Either "RUNNING" or "TERMINATED". |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.enableDisplay">enableDisplay</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the instance has virtual displays enabled. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.guestAccelerator">guestAccelerator</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGuestAccelerator">ComputeInstanceGuestAccelerator</a>[]</code> | List of the type and count of accelerator cards attached to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.hostname">hostname</a></code> | <code>string</code> | A custom hostname for the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#id ComputeInstance#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs assigned to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | Metadata key/value pairs made available within the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.metadataStartupScript">metadataStartupScript</a></code> | <code>string</code> | Metadata startup scripts made available within the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | The minimum CPU platform specified for the VM instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinity">ComputeInstanceReservationAffinity</a></code> | reservation_affinity block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.resourcePolicies">resourcePolicies</a></code> | <code>string[]</code> | A list of short names or self_links of resource policies to attach to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceScheduling">ComputeInstanceScheduling</a></code> | scheduling block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.scratchDisk">scratchDisk</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceScratchDisk">ComputeInstanceScratchDisk</a>[]</code> | scratch_disk block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.serviceAccount">serviceAccount</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceServiceAccount">ComputeInstanceServiceAccount</a></code> | service_account block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig">ComputeInstanceShieldedInstanceConfig</a></code> | shielded_instance_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.tags">tags</a></code> | <code>string[]</code> | The list of tags attached to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTimeouts">ComputeInstanceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceConfig.property.zone">zone</a></code> | <code>string</code> | The zone of the instance. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bootDisk`<sup>Required</sup> <a name="bootDisk" id="@dschmidt/provider-google.ComputeInstanceConfig.property.bootDisk"></a>

```typescript
public readonly bootDisk: ComputeInstanceBootDisk;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceBootDisk">ComputeInstanceBootDisk</a>

boot_disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#boot_disk ComputeInstance#boot_disk}

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.ComputeInstanceConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The machine type to create.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#machine_type ComputeInstance#machine_type}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance. One of name or self_link must be provided.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#name ComputeInstance#name}

---

##### `networkInterface`<sup>Required</sup> <a name="networkInterface" id="@dschmidt/provider-google.ComputeInstanceConfig.property.networkInterface"></a>

```typescript
public readonly networkInterface: IResolvable | ComputeInstanceNetworkInterface[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface">ComputeInstanceNetworkInterface</a>[]

network_interface block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#network_interface ComputeInstance#network_interface}

---

##### `advancedMachineFeatures`<sup>Optional</sup> <a name="advancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceConfig.property.advancedMachineFeatures"></a>

```typescript
public readonly advancedMachineFeatures: ComputeInstanceAdvancedMachineFeatures;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceAdvancedMachineFeatures">ComputeInstanceAdvancedMachineFeatures</a>

advanced_machine_features block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#advanced_machine_features ComputeInstance#advanced_machine_features}

---

##### `allowStoppingForUpdate`<sup>Optional</sup> <a name="allowStoppingForUpdate" id="@dschmidt/provider-google.ComputeInstanceConfig.property.allowStoppingForUpdate"></a>

```typescript
public readonly allowStoppingForUpdate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, allows Terraform to stop the instance to update its properties.

If you try to update a property that requires stopping the instance without setting this field, the update will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#allow_stopping_for_update ComputeInstance#allow_stopping_for_update}

---

##### `attachedDisk`<sup>Optional</sup> <a name="attachedDisk" id="@dschmidt/provider-google.ComputeInstanceConfig.property.attachedDisk"></a>

```typescript
public readonly attachedDisk: IResolvable | ComputeInstanceAttachedDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceAttachedDisk">ComputeInstanceAttachedDisk</a>[]

attached_disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#attached_disk ComputeInstance#attached_disk}

---

##### `canIpForward`<sup>Optional</sup> <a name="canIpForward" id="@dschmidt/provider-google.ComputeInstanceConfig.property.canIpForward"></a>

```typescript
public readonly canIpForward: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether sending and receiving of packets with non-matching source or destination IPs is allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#can_ip_forward ComputeInstance#can_ip_forward}

---

##### `confidentialInstanceConfig`<sup>Optional</sup> <a name="confidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceConfig.property.confidentialInstanceConfig"></a>

```typescript
public readonly confidentialInstanceConfig: ComputeInstanceConfidentialInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceConfidentialInstanceConfig">ComputeInstanceConfidentialInstanceConfig</a>

confidential_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#confidential_instance_config ComputeInstance#confidential_instance_config}

---

##### `deletionProtection`<sup>Optional</sup> <a name="deletionProtection" id="@dschmidt/provider-google.ComputeInstanceConfig.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether deletion protection is enabled on this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#deletion_protection ComputeInstance#deletion_protection}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A brief description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#description ComputeInstance#description}

---

##### `desiredStatus`<sup>Optional</sup> <a name="desiredStatus" id="@dschmidt/provider-google.ComputeInstanceConfig.property.desiredStatus"></a>

```typescript
public readonly desiredStatus: string;
```

- *Type:* string

Desired status of the instance. Either "RUNNING" or "TERMINATED".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#desired_status ComputeInstance#desired_status}

---

##### `enableDisplay`<sup>Optional</sup> <a name="enableDisplay" id="@dschmidt/provider-google.ComputeInstanceConfig.property.enableDisplay"></a>

```typescript
public readonly enableDisplay: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the instance has virtual displays enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#enable_display ComputeInstance#enable_display}

---

##### `guestAccelerator`<sup>Optional</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.ComputeInstanceConfig.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: IResolvable | ComputeInstanceGuestAccelerator[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGuestAccelerator">ComputeInstanceGuestAccelerator</a>[]

List of the type and count of accelerator cards attached to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#guest_accelerator ComputeInstance#guest_accelerator}

---

##### `hostname`<sup>Optional</sup> <a name="hostname" id="@dschmidt/provider-google.ComputeInstanceConfig.property.hostname"></a>

```typescript
public readonly hostname: string;
```

- *Type:* string

A custom hostname for the instance.

Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression [a-z]([-a-z0-9]*[a-z0-9]), concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#hostname ComputeInstance#hostname}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#id ComputeInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeInstanceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs assigned to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#labels ComputeInstance#labels}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeInstanceConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Metadata key/value pairs made available within the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#metadata ComputeInstance#metadata}

---

##### `metadataStartupScript`<sup>Optional</sup> <a name="metadataStartupScript" id="@dschmidt/provider-google.ComputeInstanceConfig.property.metadataStartupScript"></a>

```typescript
public readonly metadataStartupScript: string;
```

- *Type:* string

Metadata startup scripts made available within the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#metadata_startup_script ComputeInstance#metadata_startup_script}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ComputeInstanceConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

The minimum CPU platform specified for the VM instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#min_cpu_platform ComputeInstance#min_cpu_platform}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#project ComputeInstance#project}

---

##### `reservationAffinity`<sup>Optional</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.ComputeInstanceConfig.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: ComputeInstanceReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinity">ComputeInstanceReservationAffinity</a>

reservation_affinity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#reservation_affinity ComputeInstance#reservation_affinity}

---

##### `resourcePolicies`<sup>Optional</sup> <a name="resourcePolicies" id="@dschmidt/provider-google.ComputeInstanceConfig.property.resourcePolicies"></a>

```typescript
public readonly resourcePolicies: string[];
```

- *Type:* string[]

A list of short names or self_links of resource policies to attach to the instance.

Currently a max of 1 resource policy is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#resource_policies ComputeInstance#resource_policies}

---

##### `scheduling`<sup>Optional</sup> <a name="scheduling" id="@dschmidt/provider-google.ComputeInstanceConfig.property.scheduling"></a>

```typescript
public readonly scheduling: ComputeInstanceScheduling;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceScheduling">ComputeInstanceScheduling</a>

scheduling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#scheduling ComputeInstance#scheduling}

---

##### `scratchDisk`<sup>Optional</sup> <a name="scratchDisk" id="@dschmidt/provider-google.ComputeInstanceConfig.property.scratchDisk"></a>

```typescript
public readonly scratchDisk: IResolvable | ComputeInstanceScratchDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceScratchDisk">ComputeInstanceScratchDisk</a>[]

scratch_disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#scratch_disk ComputeInstance#scratch_disk}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ComputeInstanceConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: ComputeInstanceServiceAccount;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceServiceAccount">ComputeInstanceServiceAccount</a>

service_account block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#service_account ComputeInstance#service_account}

---

##### `shieldedInstanceConfig`<sup>Optional</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceConfig.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: ComputeInstanceShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig">ComputeInstanceShieldedInstanceConfig</a>

shielded_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#shielded_instance_config ComputeInstance#shielded_instance_config}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ComputeInstanceConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The list of tags attached to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#tags ComputeInstance#tags}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTimeouts">ComputeInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#timeouts ComputeInstance#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone of the instance.

If self_link is provided, this value is ignored. If neither self_link nor zone are provided, the provider zone is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#zone ComputeInstance#zone}

---

### ComputeInstanceFromTemplateAdvancedMachineFeatures <a name="ComputeInstanceFromTemplateAdvancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateAdvancedMachineFeatures } from '@dschmidt/provider-google'

const computeInstanceFromTemplateAdvancedMachineFeatures: ComputeInstanceFromTemplateAdvancedMachineFeatures = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures.property.enableNestedVirtualization">enableNestedVirtualization</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable nested virtualization or not. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures.property.threadsPerCore">threadsPerCore</a></code> | <code>number</code> | The number of threads per physical core. |

---

##### `enableNestedVirtualization`<sup>Optional</sup> <a name="enableNestedVirtualization" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures.property.enableNestedVirtualization"></a>

```typescript
public readonly enableNestedVirtualization: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable nested virtualization or not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#enable_nested_virtualization ComputeInstanceFromTemplate#enable_nested_virtualization}

---

##### `threadsPerCore`<sup>Optional</sup> <a name="threadsPerCore" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures.property.threadsPerCore"></a>

```typescript
public readonly threadsPerCore: number;
```

- *Type:* number

The number of threads per physical core.

To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#threads_per_core ComputeInstanceFromTemplate#threads_per_core}

---

### ComputeInstanceFromTemplateAttachedDisk <a name="ComputeInstanceFromTemplateAttachedDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateAttachedDisk } from '@dschmidt/provider-google'

const computeInstanceFromTemplateAttachedDisk: ComputeInstanceFromTemplateAttachedDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.deviceName">deviceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#device_name ComputeInstanceFromTemplate#device_name}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.diskEncryptionKeyRaw">diskEncryptionKeyRaw</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#disk_encryption_key_raw ComputeInstanceFromTemplate#disk_encryption_key_raw}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.diskEncryptionKeySha256">diskEncryptionKeySha256</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#disk_encryption_key_sha256 ComputeInstanceFromTemplate#disk_encryption_key_sha256}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.kmsKeySelfLink">kmsKeySelfLink</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#kms_key_self_link ComputeInstanceFromTemplate#kms_key_self_link}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.mode">mode</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#mode ComputeInstanceFromTemplate#mode}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.source">source</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#source ComputeInstanceFromTemplate#source}. |

---

##### `deviceName`<sup>Optional</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#device_name ComputeInstanceFromTemplate#device_name}.

---

##### `diskEncryptionKeyRaw`<sup>Optional</sup> <a name="diskEncryptionKeyRaw" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.diskEncryptionKeyRaw"></a>

```typescript
public readonly diskEncryptionKeyRaw: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#disk_encryption_key_raw ComputeInstanceFromTemplate#disk_encryption_key_raw}.

---

##### `diskEncryptionKeySha256`<sup>Optional</sup> <a name="diskEncryptionKeySha256" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.diskEncryptionKeySha256"></a>

```typescript
public readonly diskEncryptionKeySha256: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#disk_encryption_key_sha256 ComputeInstanceFromTemplate#disk_encryption_key_sha256}.

---

##### `kmsKeySelfLink`<sup>Optional</sup> <a name="kmsKeySelfLink" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.kmsKeySelfLink"></a>

```typescript
public readonly kmsKeySelfLink: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#kms_key_self_link ComputeInstanceFromTemplate#kms_key_self_link}.

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#mode ComputeInstanceFromTemplate#mode}.

---

##### `source`<sup>Optional</sup> <a name="source" id="@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#source ComputeInstanceFromTemplate#source}.

---

### ComputeInstanceFromTemplateBootDisk <a name="ComputeInstanceFromTemplateBootDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateBootDisk } from '@dschmidt/provider-google'

const computeInstanceFromTemplateBootDisk: ComputeInstanceFromTemplateBootDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.autoDelete">autoDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the disk will be auto-deleted when the instance is deleted. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.deviceName">deviceName</a></code> | <code>string</code> | Name with which attached disk will be accessible under /dev/disk/by-id/. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.diskEncryptionKeyRaw">diskEncryptionKeyRaw</a></code> | <code>string</code> | A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.initializeParams">initializeParams</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams">ComputeInstanceFromTemplateBootDiskInitializeParams</a></code> | initialize_params block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.kmsKeySelfLink">kmsKeySelfLink</a></code> | <code>string</code> | The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.mode">mode</a></code> | <code>string</code> | Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE". |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.source">source</a></code> | <code>string</code> | The name or self_link of the disk attached to this instance. |

---

##### `autoDelete`<sup>Optional</sup> <a name="autoDelete" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.autoDelete"></a>

```typescript
public readonly autoDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the disk will be auto-deleted when the instance is deleted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#auto_delete ComputeInstanceFromTemplate#auto_delete}

---

##### `deviceName`<sup>Optional</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

Name with which attached disk will be accessible under /dev/disk/by-id/.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#device_name ComputeInstanceFromTemplate#device_name}

---

##### `diskEncryptionKeyRaw`<sup>Optional</sup> <a name="diskEncryptionKeyRaw" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.diskEncryptionKeyRaw"></a>

```typescript
public readonly diskEncryptionKeyRaw: string;
```

- *Type:* string

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk.

Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#disk_encryption_key_raw ComputeInstanceFromTemplate#disk_encryption_key_raw}

---

##### `initializeParams`<sup>Optional</sup> <a name="initializeParams" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.initializeParams"></a>

```typescript
public readonly initializeParams: ComputeInstanceFromTemplateBootDiskInitializeParams;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams">ComputeInstanceFromTemplateBootDiskInitializeParams</a>

initialize_params block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#initialize_params ComputeInstanceFromTemplate#initialize_params}

---

##### `kmsKeySelfLink`<sup>Optional</sup> <a name="kmsKeySelfLink" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.kmsKeySelfLink"></a>

```typescript
public readonly kmsKeySelfLink: string;
```

- *Type:* string

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk.

Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#kms_key_self_link ComputeInstanceFromTemplate#kms_key_self_link}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#mode ComputeInstanceFromTemplate#mode}

---

##### `source`<sup>Optional</sup> <a name="source" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

The name or self_link of the disk attached to this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#source ComputeInstanceFromTemplate#source}

---

### ComputeInstanceFromTemplateBootDiskInitializeParams <a name="ComputeInstanceFromTemplateBootDiskInitializeParams" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateBootDiskInitializeParams } from '@dschmidt/provider-google'

const computeInstanceFromTemplateBootDiskInitializeParams: ComputeInstanceFromTemplateBootDiskInitializeParams = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams.property.image">image</a></code> | <code>string</code> | The image from which this disk was initialised. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs assigned to the disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams.property.size">size</a></code> | <code>number</code> | The size of the image in gigabytes. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams.property.type">type</a></code> | <code>string</code> | The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced. |

---

##### `image`<sup>Optional</sup> <a name="image" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

The image from which this disk was initialised.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#image ComputeInstanceFromTemplate#image}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs assigned to the disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#labels ComputeInstanceFromTemplate#labels}

---

##### `size`<sup>Optional</sup> <a name="size" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

The size of the image in gigabytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#size ComputeInstanceFromTemplate#size}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceFromTemplateBootDiskInitializeParams.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#type ComputeInstanceFromTemplate#type}

---

### ComputeInstanceFromTemplateConfidentialInstanceConfig <a name="ComputeInstanceFromTemplateConfidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfig.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateConfidentialInstanceConfig } from '@dschmidt/provider-google'

const computeInstanceFromTemplateConfidentialInstanceConfig: ComputeInstanceFromTemplateConfidentialInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfig.property.enableConfidentialCompute">enableConfidentialCompute</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance should have confidential compute enabled. |

---

##### `enableConfidentialCompute`<sup>Required</sup> <a name="enableConfidentialCompute" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfig.property.enableConfidentialCompute"></a>

```typescript
public readonly enableConfidentialCompute: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance should have confidential compute enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#enable_confidential_compute ComputeInstanceFromTemplate#enable_confidential_compute}

---

### ComputeInstanceFromTemplateConfig <a name="ComputeInstanceFromTemplateConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateConfig } from '@dschmidt/provider-google'

const computeInstanceFromTemplateConfig: ComputeInstanceFromTemplateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.name">name</a></code> | <code>string</code> | The name of the instance. One of name or self_link must be provided. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.sourceInstanceTemplate">sourceInstanceTemplate</a></code> | <code>string</code> | Name or self link of an instance template to create the instance based on. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.advancedMachineFeatures">advancedMachineFeatures</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures">ComputeInstanceFromTemplateAdvancedMachineFeatures</a></code> | advanced_machine_features block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.allowStoppingForUpdate">allowStoppingForUpdate</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, allows Terraform to stop the instance to update its properties. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.attachedDisk">attachedDisk</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk">ComputeInstanceFromTemplateAttachedDisk</a>[]</code> | List of disks attached to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.bootDisk">bootDisk</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk">ComputeInstanceFromTemplateBootDisk</a></code> | boot_disk block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.canIpForward">canIpForward</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether sending and receiving of packets with non-matching source or destination IPs is allowed. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.confidentialInstanceConfig">confidentialInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfig">ComputeInstanceFromTemplateConfidentialInstanceConfig</a></code> | confidential_instance_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether deletion protection is enabled on this instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.description">description</a></code> | <code>string</code> | A brief description of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.desiredStatus">desiredStatus</a></code> | <code>string</code> | Desired status of the instance. Either "RUNNING" or "TERMINATED". |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.enableDisplay">enableDisplay</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the instance has virtual displays enabled. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.guestAccelerator">guestAccelerator</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator">ComputeInstanceFromTemplateGuestAccelerator</a>[]</code> | List of the type and count of accelerator cards attached to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.hostname">hostname</a></code> | <code>string</code> | A custom hostname for the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#id ComputeInstanceFromTemplate#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs assigned to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.machineType">machineType</a></code> | <code>string</code> | The machine type to create. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | Metadata key/value pairs made available within the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.metadataStartupScript">metadataStartupScript</a></code> | <code>string</code> | Metadata startup scripts made available within the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | The minimum CPU platform specified for the VM instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.networkInterface">networkInterface</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface">ComputeInstanceFromTemplateNetworkInterface</a>[]</code> | network_interface block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity">ComputeInstanceFromTemplateReservationAffinity</a></code> | reservation_affinity block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.resourcePolicies">resourcePolicies</a></code> | <code>string[]</code> | A list of short names or self_links of resource policies to attach to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling">ComputeInstanceFromTemplateScheduling</a></code> | scheduling block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.scratchDisk">scratchDisk</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDisk">ComputeInstanceFromTemplateScratchDisk</a>[]</code> | The scratch disks attached to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.serviceAccount">serviceAccount</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount">ComputeInstanceFromTemplateServiceAccount</a>[]</code> | The service account to attach to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig">ComputeInstanceFromTemplateShieldedInstanceConfig</a></code> | shielded_instance_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.tags">tags</a></code> | <code>string[]</code> | The list of tags attached to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts">ComputeInstanceFromTemplateTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.zone">zone</a></code> | <code>string</code> | The zone of the instance. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance. One of name or self_link must be provided.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#name ComputeInstanceFromTemplate#name}

---

##### `sourceInstanceTemplate`<sup>Required</sup> <a name="sourceInstanceTemplate" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.sourceInstanceTemplate"></a>

```typescript
public readonly sourceInstanceTemplate: string;
```

- *Type:* string

Name or self link of an instance template to create the instance based on.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#source_instance_template ComputeInstanceFromTemplate#source_instance_template}

---

##### `advancedMachineFeatures`<sup>Optional</sup> <a name="advancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.advancedMachineFeatures"></a>

```typescript
public readonly advancedMachineFeatures: ComputeInstanceFromTemplateAdvancedMachineFeatures;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAdvancedMachineFeatures">ComputeInstanceFromTemplateAdvancedMachineFeatures</a>

advanced_machine_features block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#advanced_machine_features ComputeInstanceFromTemplate#advanced_machine_features}

---

##### `allowStoppingForUpdate`<sup>Optional</sup> <a name="allowStoppingForUpdate" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.allowStoppingForUpdate"></a>

```typescript
public readonly allowStoppingForUpdate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, allows Terraform to stop the instance to update its properties.

If you try to update a property that requires stopping the instance without setting this field, the update will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#allow_stopping_for_update ComputeInstanceFromTemplate#allow_stopping_for_update}

---

##### `attachedDisk`<sup>Optional</sup> <a name="attachedDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.attachedDisk"></a>

```typescript
public readonly attachedDisk: IResolvable | ComputeInstanceFromTemplateAttachedDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateAttachedDisk">ComputeInstanceFromTemplateAttachedDisk</a>[]

List of disks attached to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#attached_disk ComputeInstanceFromTemplate#attached_disk}

---

##### `bootDisk`<sup>Optional</sup> <a name="bootDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.bootDisk"></a>

```typescript
public readonly bootDisk: ComputeInstanceFromTemplateBootDisk;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateBootDisk">ComputeInstanceFromTemplateBootDisk</a>

boot_disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#boot_disk ComputeInstanceFromTemplate#boot_disk}

---

##### `canIpForward`<sup>Optional</sup> <a name="canIpForward" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.canIpForward"></a>

```typescript
public readonly canIpForward: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether sending and receiving of packets with non-matching source or destination IPs is allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#can_ip_forward ComputeInstanceFromTemplate#can_ip_forward}

---

##### `confidentialInstanceConfig`<sup>Optional</sup> <a name="confidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.confidentialInstanceConfig"></a>

```typescript
public readonly confidentialInstanceConfig: ComputeInstanceFromTemplateConfidentialInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateConfidentialInstanceConfig">ComputeInstanceFromTemplateConfidentialInstanceConfig</a>

confidential_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#confidential_instance_config ComputeInstanceFromTemplate#confidential_instance_config}

---

##### `deletionProtection`<sup>Optional</sup> <a name="deletionProtection" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether deletion protection is enabled on this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#deletion_protection ComputeInstanceFromTemplate#deletion_protection}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A brief description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#description ComputeInstanceFromTemplate#description}

---

##### `desiredStatus`<sup>Optional</sup> <a name="desiredStatus" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.desiredStatus"></a>

```typescript
public readonly desiredStatus: string;
```

- *Type:* string

Desired status of the instance. Either "RUNNING" or "TERMINATED".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#desired_status ComputeInstanceFromTemplate#desired_status}

---

##### `enableDisplay`<sup>Optional</sup> <a name="enableDisplay" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.enableDisplay"></a>

```typescript
public readonly enableDisplay: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the instance has virtual displays enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#enable_display ComputeInstanceFromTemplate#enable_display}

---

##### `guestAccelerator`<sup>Optional</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: IResolvable | ComputeInstanceFromTemplateGuestAccelerator[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator">ComputeInstanceFromTemplateGuestAccelerator</a>[]

List of the type and count of accelerator cards attached to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#guest_accelerator ComputeInstanceFromTemplate#guest_accelerator}

---

##### `hostname`<sup>Optional</sup> <a name="hostname" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.hostname"></a>

```typescript
public readonly hostname: string;
```

- *Type:* string

A custom hostname for the instance.

Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression [a-z]([-a-z0-9]*[a-z0-9]), concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#hostname ComputeInstanceFromTemplate#hostname}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#id ComputeInstanceFromTemplate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs assigned to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#labels ComputeInstanceFromTemplate#labels}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The machine type to create.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#machine_type ComputeInstanceFromTemplate#machine_type}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Metadata key/value pairs made available within the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#metadata ComputeInstanceFromTemplate#metadata}

---

##### `metadataStartupScript`<sup>Optional</sup> <a name="metadataStartupScript" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.metadataStartupScript"></a>

```typescript
public readonly metadataStartupScript: string;
```

- *Type:* string

Metadata startup scripts made available within the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#metadata_startup_script ComputeInstanceFromTemplate#metadata_startup_script}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

The minimum CPU platform specified for the VM instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#min_cpu_platform ComputeInstanceFromTemplate#min_cpu_platform}

---

##### `networkInterface`<sup>Optional</sup> <a name="networkInterface" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.networkInterface"></a>

```typescript
public readonly networkInterface: IResolvable | ComputeInstanceFromTemplateNetworkInterface[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface">ComputeInstanceFromTemplateNetworkInterface</a>[]

network_interface block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#network_interface ComputeInstanceFromTemplate#network_interface}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#project ComputeInstanceFromTemplate#project}

---

##### `reservationAffinity`<sup>Optional</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: ComputeInstanceFromTemplateReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity">ComputeInstanceFromTemplateReservationAffinity</a>

reservation_affinity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#reservation_affinity ComputeInstanceFromTemplate#reservation_affinity}

---

##### `resourcePolicies`<sup>Optional</sup> <a name="resourcePolicies" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.resourcePolicies"></a>

```typescript
public readonly resourcePolicies: string[];
```

- *Type:* string[]

A list of short names or self_links of resource policies to attach to the instance.

Currently a max of 1 resource policy is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#resource_policies ComputeInstanceFromTemplate#resource_policies}

---

##### `scheduling`<sup>Optional</sup> <a name="scheduling" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.scheduling"></a>

```typescript
public readonly scheduling: ComputeInstanceFromTemplateScheduling;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling">ComputeInstanceFromTemplateScheduling</a>

scheduling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#scheduling ComputeInstanceFromTemplate#scheduling}

---

##### `scratchDisk`<sup>Optional</sup> <a name="scratchDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.scratchDisk"></a>

```typescript
public readonly scratchDisk: IResolvable | ComputeInstanceFromTemplateScratchDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDisk">ComputeInstanceFromTemplateScratchDisk</a>[]

The scratch disks attached to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#scratch_disk ComputeInstanceFromTemplate#scratch_disk}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: IResolvable | ComputeInstanceFromTemplateServiceAccount[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount">ComputeInstanceFromTemplateServiceAccount</a>[]

The service account to attach to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#service_account ComputeInstanceFromTemplate#service_account}

---

##### `shieldedInstanceConfig`<sup>Optional</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: ComputeInstanceFromTemplateShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig">ComputeInstanceFromTemplateShieldedInstanceConfig</a>

shielded_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#shielded_instance_config ComputeInstanceFromTemplate#shielded_instance_config}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The list of tags attached to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#tags ComputeInstanceFromTemplate#tags}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceFromTemplateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts">ComputeInstanceFromTemplateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#timeouts ComputeInstanceFromTemplate#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceFromTemplateConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone of the instance.

If self_link is provided, this value is ignored. If neither self_link nor zone are provided, the provider zone is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#zone ComputeInstanceFromTemplate#zone}

---

### ComputeInstanceFromTemplateGuestAccelerator <a name="ComputeInstanceFromTemplateGuestAccelerator" id="@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateGuestAccelerator } from '@dschmidt/provider-google'

const computeInstanceFromTemplateGuestAccelerator: ComputeInstanceFromTemplateGuestAccelerator = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator.property.count">count</a></code> | <code>number</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#count ComputeInstanceFromTemplate#count}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator.property.type">type</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#type ComputeInstanceFromTemplate#type}. |

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#count ComputeInstanceFromTemplate#count}.

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceFromTemplateGuestAccelerator.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#type ComputeInstanceFromTemplate#type}.

---

### ComputeInstanceFromTemplateNetworkInterface <a name="ComputeInstanceFromTemplateNetworkInterface" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateNetworkInterface } from '@dschmidt/provider-google'

const computeInstanceFromTemplateNetworkInterface: ComputeInstanceFromTemplateNetworkInterface = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.accessConfig">accessConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig">ComputeInstanceFromTemplateNetworkInterfaceAccessConfig</a>[]</code> | Access configurations, i.e. IPs via which this instance can be accessed via the Internet. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.aliasIpRange">aliasIpRange</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange">ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange</a>[]</code> | An array of alias IP ranges for this network interface. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.ipv6AccessConfig">ipv6AccessConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig">ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig</a>[]</code> | ipv6_access_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.network">network</a></code> | <code>string</code> | The name or self_link of the network attached to this interface. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.networkIp">networkIp</a></code> | <code>string</code> | The private IP address assigned to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.nicType">nicType</a></code> | <code>string</code> | The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.queueCount">queueCount</a></code> | <code>number</code> | The networking queue count that's specified by users for the network interface. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.stackType">stackType</a></code> | <code>string</code> | The stack type for this network interface to identify whether the IPv6 feature is enabled or not. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.subnetwork">subnetwork</a></code> | <code>string</code> | The name or self_link of the subnetwork attached to this interface. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.subnetworkProject">subnetworkProject</a></code> | <code>string</code> | The project in which the subnetwork belongs. |

---

##### `accessConfig`<sup>Optional</sup> <a name="accessConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.accessConfig"></a>

```typescript
public readonly accessConfig: IResolvable | ComputeInstanceFromTemplateNetworkInterfaceAccessConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig">ComputeInstanceFromTemplateNetworkInterfaceAccessConfig</a>[]

Access configurations, i.e. IPs via which this instance can be accessed via the Internet.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#access_config ComputeInstanceFromTemplate#access_config}

---

##### `aliasIpRange`<sup>Optional</sup> <a name="aliasIpRange" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.aliasIpRange"></a>

```typescript
public readonly aliasIpRange: IResolvable | ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange">ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange</a>[]

An array of alias IP ranges for this network interface.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#alias_ip_range ComputeInstanceFromTemplate#alias_ip_range}

---

##### `ipv6AccessConfig`<sup>Optional</sup> <a name="ipv6AccessConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.ipv6AccessConfig"></a>

```typescript
public readonly ipv6AccessConfig: IResolvable | ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig">ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig</a>[]

ipv6_access_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#ipv6_access_config ComputeInstanceFromTemplate#ipv6_access_config}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name or self_link of the network attached to this interface.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#network ComputeInstanceFromTemplate#network}

---

##### `networkIp`<sup>Optional</sup> <a name="networkIp" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.networkIp"></a>

```typescript
public readonly networkIp: string;
```

- *Type:* string

The private IP address assigned to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#network_ip ComputeInstanceFromTemplate#network_ip}

---

##### `nicType`<sup>Optional</sup> <a name="nicType" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.nicType"></a>

```typescript
public readonly nicType: string;
```

- *Type:* string

The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#nic_type ComputeInstanceFromTemplate#nic_type}

---

##### `queueCount`<sup>Optional</sup> <a name="queueCount" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.queueCount"></a>

```typescript
public readonly queueCount: number;
```

- *Type:* number

The networking queue count that's specified by users for the network interface.

Both Rx and Tx queues will be set to this number. It will be empty if not specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#queue_count ComputeInstanceFromTemplate#queue_count}

---

##### `stackType`<sup>Optional</sup> <a name="stackType" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.stackType"></a>

```typescript
public readonly stackType: string;
```

- *Type:* string

The stack type for this network interface to identify whether the IPv6 feature is enabled or not.

If not specified, IPV4_ONLY will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#stack_type ComputeInstanceFromTemplate#stack_type}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

The name or self_link of the subnetwork attached to this interface.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#subnetwork ComputeInstanceFromTemplate#subnetwork}

---

##### `subnetworkProject`<sup>Optional</sup> <a name="subnetworkProject" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterface.property.subnetworkProject"></a>

```typescript
public readonly subnetworkProject: string;
```

- *Type:* string

The project in which the subnetwork belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#subnetwork_project ComputeInstanceFromTemplate#subnetwork_project}

---

### ComputeInstanceFromTemplateNetworkInterfaceAccessConfig <a name="ComputeInstanceFromTemplateNetworkInterfaceAccessConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateNetworkInterfaceAccessConfig } from '@dschmidt/provider-google'

const computeInstanceFromTemplateNetworkInterfaceAccessConfig: ComputeInstanceFromTemplateNetworkInterfaceAccessConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig.property.natIp">natIp</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#nat_ip ComputeInstanceFromTemplate#nat_ip}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig.property.networkTier">networkTier</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#network_tier ComputeInstanceFromTemplate#network_tier}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig.property.publicPtrDomainName">publicPtrDomainName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#public_ptr_domain_name ComputeInstanceFromTemplate#public_ptr_domain_name}. |

---

##### `natIp`<sup>Optional</sup> <a name="natIp" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig.property.natIp"></a>

```typescript
public readonly natIp: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#nat_ip ComputeInstanceFromTemplate#nat_ip}.

---

##### `networkTier`<sup>Optional</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#network_tier ComputeInstanceFromTemplate#network_tier}.

---

##### `publicPtrDomainName`<sup>Optional</sup> <a name="publicPtrDomainName" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAccessConfig.property.publicPtrDomainName"></a>

```typescript
public readonly publicPtrDomainName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#public_ptr_domain_name ComputeInstanceFromTemplate#public_ptr_domain_name}.

---

### ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange <a name="ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange } from '@dschmidt/provider-google'

const computeInstanceFromTemplateNetworkInterfaceAliasIpRange: ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange.property.ipCidrRange">ipCidrRange</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#ip_cidr_range ComputeInstanceFromTemplate#ip_cidr_range}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange.property.subnetworkRangeName">subnetworkRangeName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#subnetwork_range_name ComputeInstanceFromTemplate#subnetwork_range_name}. |

---

##### `ipCidrRange`<sup>Optional</sup> <a name="ipCidrRange" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange.property.ipCidrRange"></a>

```typescript
public readonly ipCidrRange: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#ip_cidr_range ComputeInstanceFromTemplate#ip_cidr_range}.

---

##### `subnetworkRangeName`<sup>Optional</sup> <a name="subnetworkRangeName" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRange.property.subnetworkRangeName"></a>

```typescript
public readonly subnetworkRangeName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#subnetwork_range_name ComputeInstanceFromTemplate#subnetwork_range_name}.

---

### ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig <a name="ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig } from '@dschmidt/provider-google'

const computeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig: ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig.property.networkTier">networkTier</a></code> | <code>string</code> | The service-level to be provided for IPv6 traffic when the subnet has an external subnet. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig.property.publicPtrDomainName">publicPtrDomainName</a></code> | <code>string</code> | The domain name to be used when creating DNSv6 records for the external IPv6 ranges. |

---

##### `networkTier`<sup>Required</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

The service-level to be provided for IPv6 traffic when the subnet has an external subnet.

Only PREMIUM tier is valid for IPv6

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#network_tier ComputeInstanceFromTemplate#network_tier}

---

##### `publicPtrDomainName`<sup>Optional</sup> <a name="publicPtrDomainName" id="@dschmidt/provider-google.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfig.property.publicPtrDomainName"></a>

```typescript
public readonly publicPtrDomainName: string;
```

- *Type:* string

The domain name to be used when creating DNSv6 records for the external IPv6 ranges.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#public_ptr_domain_name ComputeInstanceFromTemplate#public_ptr_domain_name}

---

### ComputeInstanceFromTemplateReservationAffinity <a name="ComputeInstanceFromTemplateReservationAffinity" id="@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateReservationAffinity } from '@dschmidt/provider-google'

const computeInstanceFromTemplateReservationAffinity: ComputeInstanceFromTemplateReservationAffinity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity.property.type">type</a></code> | <code>string</code> | The type of reservation from which this instance can consume resources. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity.property.specificReservation">specificReservation</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinitySpecificReservation">ComputeInstanceFromTemplateReservationAffinitySpecificReservation</a></code> | specific_reservation block. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of reservation from which this instance can consume resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#type ComputeInstanceFromTemplate#type}

---

##### `specificReservation`<sup>Optional</sup> <a name="specificReservation" id="@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinity.property.specificReservation"></a>

```typescript
public readonly specificReservation: ComputeInstanceFromTemplateReservationAffinitySpecificReservation;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinitySpecificReservation">ComputeInstanceFromTemplateReservationAffinitySpecificReservation</a>

specific_reservation block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#specific_reservation ComputeInstanceFromTemplate#specific_reservation}

---

### ComputeInstanceFromTemplateReservationAffinitySpecificReservation <a name="ComputeInstanceFromTemplateReservationAffinitySpecificReservation" id="@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinitySpecificReservation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinitySpecificReservation.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateReservationAffinitySpecificReservation } from '@dschmidt/provider-google'

const computeInstanceFromTemplateReservationAffinitySpecificReservation: ComputeInstanceFromTemplateReservationAffinitySpecificReservation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinitySpecificReservation.property.key">key</a></code> | <code>string</code> | Corresponds to the label key of a reservation resource. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinitySpecificReservation.property.values">values</a></code> | <code>string[]</code> | Corresponds to the label values of a reservation resource. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinitySpecificReservation.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Corresponds to the label key of a reservation resource.

To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#key ComputeInstanceFromTemplate#key}

---

##### `values`<sup>Required</sup> <a name="values" id="@dschmidt/provider-google.ComputeInstanceFromTemplateReservationAffinitySpecificReservation.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

Corresponds to the label values of a reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#values ComputeInstanceFromTemplate#values}

---

### ComputeInstanceFromTemplateScheduling <a name="ComputeInstanceFromTemplateScheduling" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateScheduling } from '@dschmidt/provider-google'

const computeInstanceFromTemplateScheduling: ComputeInstanceFromTemplateScheduling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.automaticRestart">automaticRestart</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.instanceTerminationAction">instanceTerminationAction</a></code> | <code>string</code> | Specifies the action GCE should take when SPOT VM is preempted. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.minNodeCpus">minNodeCpus</a></code> | <code>number</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#min_node_cpus ComputeInstanceFromTemplate#min_node_cpus}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.nodeAffinities">nodeAffinities</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities">ComputeInstanceFromTemplateSchedulingNodeAffinities</a>[]</code> | node_affinities block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.onHostMaintenance">onHostMaintenance</a></code> | <code>string</code> | Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.preemptible">preemptible</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the instance is preemptible. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.provisioningModel">provisioningModel</a></code> | <code>string</code> | Whether the instance is spot. If this is set as SPOT. |

---

##### `automaticRestart`<sup>Optional</sup> <a name="automaticRestart" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.automaticRestart"></a>

```typescript
public readonly automaticRestart: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#automatic_restart ComputeInstanceFromTemplate#automatic_restart}

---

##### `instanceTerminationAction`<sup>Optional</sup> <a name="instanceTerminationAction" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.instanceTerminationAction"></a>

```typescript
public readonly instanceTerminationAction: string;
```

- *Type:* string

Specifies the action GCE should take when SPOT VM is preempted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#instance_termination_action ComputeInstanceFromTemplate#instance_termination_action}

---

##### `minNodeCpus`<sup>Optional</sup> <a name="minNodeCpus" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.minNodeCpus"></a>

```typescript
public readonly minNodeCpus: number;
```

- *Type:* number

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#min_node_cpus ComputeInstanceFromTemplate#min_node_cpus}.

---

##### `nodeAffinities`<sup>Optional</sup> <a name="nodeAffinities" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.nodeAffinities"></a>

```typescript
public readonly nodeAffinities: IResolvable | ComputeInstanceFromTemplateSchedulingNodeAffinities[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities">ComputeInstanceFromTemplateSchedulingNodeAffinities</a>[]

node_affinities block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#node_affinities ComputeInstanceFromTemplate#node_affinities}

---

##### `onHostMaintenance`<sup>Optional</sup> <a name="onHostMaintenance" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.onHostMaintenance"></a>

```typescript
public readonly onHostMaintenance: string;
```

- *Type:* string

Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#on_host_maintenance ComputeInstanceFromTemplate#on_host_maintenance}

---

##### `preemptible`<sup>Optional</sup> <a name="preemptible" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.preemptible"></a>

```typescript
public readonly preemptible: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the instance is preemptible.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#preemptible ComputeInstanceFromTemplate#preemptible}

---

##### `provisioningModel`<sup>Optional</sup> <a name="provisioningModel" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScheduling.property.provisioningModel"></a>

```typescript
public readonly provisioningModel: string;
```

- *Type:* string

Whether the instance is spot. If this is set as SPOT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#provisioning_model ComputeInstanceFromTemplate#provisioning_model}

---

### ComputeInstanceFromTemplateSchedulingNodeAffinities <a name="ComputeInstanceFromTemplateSchedulingNodeAffinities" id="@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateSchedulingNodeAffinities } from '@dschmidt/provider-google'

const computeInstanceFromTemplateSchedulingNodeAffinities: ComputeInstanceFromTemplateSchedulingNodeAffinities = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities.property.key">key</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#key ComputeInstanceFromTemplate#key}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities.property.operator">operator</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#operator ComputeInstanceFromTemplate#operator}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities.property.values">values</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#values ComputeInstanceFromTemplate#values}. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#key ComputeInstanceFromTemplate#key}.

---

##### `operator`<sup>Required</sup> <a name="operator" id="@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities.property.operator"></a>

```typescript
public readonly operator: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#operator ComputeInstanceFromTemplate#operator}.

---

##### `values`<sup>Required</sup> <a name="values" id="@dschmidt/provider-google.ComputeInstanceFromTemplateSchedulingNodeAffinities.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#values ComputeInstanceFromTemplate#values}.

---

### ComputeInstanceFromTemplateScratchDisk <a name="ComputeInstanceFromTemplateScratchDisk" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDisk.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateScratchDisk } from '@dschmidt/provider-google'

const computeInstanceFromTemplateScratchDisk: ComputeInstanceFromTemplateScratchDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDisk.property.interface">interface</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#interface ComputeInstanceFromTemplate#interface}. |

---

##### `interface`<sup>Optional</sup> <a name="interface" id="@dschmidt/provider-google.ComputeInstanceFromTemplateScratchDisk.property.interface"></a>

```typescript
public readonly interface: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#interface ComputeInstanceFromTemplate#interface}.

---

### ComputeInstanceFromTemplateServiceAccount <a name="ComputeInstanceFromTemplateServiceAccount" id="@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateServiceAccount } from '@dschmidt/provider-google'

const computeInstanceFromTemplateServiceAccount: ComputeInstanceFromTemplateServiceAccount = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount.property.email">email</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#email ComputeInstanceFromTemplate#email}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount.property.scopes">scopes</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#scopes ComputeInstanceFromTemplate#scopes}. |

---

##### `email`<sup>Optional</sup> <a name="email" id="@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#email ComputeInstanceFromTemplate#email}.

---

##### `scopes`<sup>Optional</sup> <a name="scopes" id="@dschmidt/provider-google.ComputeInstanceFromTemplateServiceAccount.property.scopes"></a>

```typescript
public readonly scopes: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#scopes ComputeInstanceFromTemplate#scopes}.

---

### ComputeInstanceFromTemplateShieldedInstanceConfig <a name="ComputeInstanceFromTemplateShieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateShieldedInstanceConfig } from '@dschmidt/provider-google'

const computeInstanceFromTemplateShieldedInstanceConfig: ComputeInstanceFromTemplateShieldedInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig.property.enableIntegrityMonitoring">enableIntegrityMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether integrity monitoring is enabled for the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig.property.enableSecureBoot">enableSecureBoot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether secure boot is enabled for the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig.property.enableVtpm">enableVtpm</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the instance uses vTPM. |

---

##### `enableIntegrityMonitoring`<sup>Optional</sup> <a name="enableIntegrityMonitoring" id="@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig.property.enableIntegrityMonitoring"></a>

```typescript
public readonly enableIntegrityMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether integrity monitoring is enabled for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#enable_integrity_monitoring ComputeInstanceFromTemplate#enable_integrity_monitoring}

---

##### `enableSecureBoot`<sup>Optional</sup> <a name="enableSecureBoot" id="@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig.property.enableSecureBoot"></a>

```typescript
public readonly enableSecureBoot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether secure boot is enabled for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#enable_secure_boot ComputeInstanceFromTemplate#enable_secure_boot}

---

##### `enableVtpm`<sup>Optional</sup> <a name="enableVtpm" id="@dschmidt/provider-google.ComputeInstanceFromTemplateShieldedInstanceConfig.property.enableVtpm"></a>

```typescript
public readonly enableVtpm: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the instance uses vTPM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#enable_vtpm ComputeInstanceFromTemplate#enable_vtpm}

---

### ComputeInstanceFromTemplateTimeouts <a name="ComputeInstanceFromTemplateTimeouts" id="@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts.Initializer"></a>

```typescript
import { ComputeInstanceFromTemplateTimeouts } from '@dschmidt/provider-google'

const computeInstanceFromTemplateTimeouts: ComputeInstanceFromTemplateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#create ComputeInstanceFromTemplate#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#delete ComputeInstanceFromTemplate#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#update ComputeInstanceFromTemplate#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#create ComputeInstanceFromTemplate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#delete ComputeInstanceFromTemplate#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeInstanceFromTemplateTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_from_template#update ComputeInstanceFromTemplate#update}.

---

### ComputeInstanceGroupConfig <a name="ComputeInstanceGroupConfig" id="@dschmidt/provider-google.ComputeInstanceGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.Initializer"></a>

```typescript
import { ComputeInstanceGroupConfig } from '@dschmidt/provider-google'

const computeInstanceGroupConfig: ComputeInstanceGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.name">name</a></code> | <code>string</code> | The name of the instance group. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.description">description</a></code> | <code>string</code> | An optional textual description of the instance group. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#id ComputeInstanceGroup#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.instances">instances</a></code> | <code>string[]</code> | The list of instances in the group, in self_link format. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.namedPort">namedPort</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPort">ComputeInstanceGroupNamedPort</a>[]</code> | named_port block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.network">network</a></code> | <code>string</code> | The URL of the network the instance group is in. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeouts">ComputeInstanceGroupTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupConfig.property.zone">zone</a></code> | <code>string</code> | The zone that this instance group should be created in. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance group.

Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#name ComputeInstanceGroup#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional textual description of the instance group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#description ComputeInstanceGroup#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#id ComputeInstanceGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `instances`<sup>Optional</sup> <a name="instances" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.instances"></a>

```typescript
public readonly instances: string[];
```

- *Type:* string[]

The list of instances in the group, in self_link format.

When adding instances they must all be in the same network and zone as the instance group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#instances ComputeInstanceGroup#instances}

---

##### `namedPort`<sup>Optional</sup> <a name="namedPort" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.namedPort"></a>

```typescript
public readonly namedPort: IResolvable | ComputeInstanceGroupNamedPort[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPort">ComputeInstanceGroupNamedPort</a>[]

named_port block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#named_port ComputeInstanceGroup#named_port}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The URL of the network the instance group is in.

If this is different from the network where the instances are in, the creation fails. Defaults to the network where the instances are in (if neither network nor instances is specified, this field will be blank).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#network ComputeInstanceGroup#network}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#project ComputeInstanceGroup#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceGroupTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeouts">ComputeInstanceGroupTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#timeouts ComputeInstanceGroup#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceGroupConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone that this instance group should be created in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#zone ComputeInstanceGroup#zone}

---

### ComputeInstanceGroupManagerAutoHealingPolicies <a name="ComputeInstanceGroupManagerAutoHealingPolicies" id="@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerAutoHealingPolicies } from '@dschmidt/provider-google'

const computeInstanceGroupManagerAutoHealingPolicies: ComputeInstanceGroupManagerAutoHealingPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies.property.healthCheck">healthCheck</a></code> | <code>string</code> | The health check resource that signals autohealing. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies.property.initialDelaySec">initialDelaySec</a></code> | <code>number</code> | The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. |

---

##### `healthCheck`<sup>Required</sup> <a name="healthCheck" id="@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies.property.healthCheck"></a>

```typescript
public readonly healthCheck: string;
```

- *Type:* string

The health check resource that signals autohealing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#health_check ComputeInstanceGroupManager#health_check}

---

##### `initialDelaySec`<sup>Required</sup> <a name="initialDelaySec" id="@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies.property.initialDelaySec"></a>

```typescript
public readonly initialDelaySec: number;
```

- *Type:* number

The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances.

Between 0 and 3600.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#initial_delay_sec ComputeInstanceGroupManager#initial_delay_sec}

---

### ComputeInstanceGroupManagerConfig <a name="ComputeInstanceGroupManagerConfig" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerConfig } from '@dschmidt/provider-google'

const computeInstanceGroupManagerConfig: ComputeInstanceGroupManagerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.baseInstanceName">baseInstanceName</a></code> | <code>string</code> | The base instance name to use for instances in this group. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.name">name</a></code> | <code>string</code> | The name of the instance group manager. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.version">version</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersion">ComputeInstanceGroupManagerVersion</a>[]</code> | version block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.autoHealingPolicies">autoHealingPolicies</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies">ComputeInstanceGroupManagerAutoHealingPolicies</a></code> | auto_healing_policies block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.description">description</a></code> | <code>string</code> | An optional textual description of the instance group manager. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#id ComputeInstanceGroupManager#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.namedPort">namedPort</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort">ComputeInstanceGroupManagerNamedPort</a>[]</code> | named_port block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.statefulDisk">statefulDisk</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk">ComputeInstanceGroupManagerStatefulDisk</a>[]</code> | stateful_disk block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.targetPools">targetPools</a></code> | <code>string[]</code> | The full URL of all target pools to which new instances in the group are added. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.targetSize">targetSize</a></code> | <code>number</code> | The target number of running instances for this managed instance group. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts">ComputeInstanceGroupManagerTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.updatePolicy">updatePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy">ComputeInstanceGroupManagerUpdatePolicy</a></code> | update_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.waitForInstances">waitForInstances</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to wait for all instances to be created/updated before returning. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.waitForInstancesStatus">waitForInstancesStatus</a></code> | <code>string</code> | When used with wait_for_instances specifies the status to wait for. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.zone">zone</a></code> | <code>string</code> | The zone that instances in this group should be created in. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `baseInstanceName`<sup>Required</sup> <a name="baseInstanceName" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.baseInstanceName"></a>

```typescript
public readonly baseInstanceName: string;
```

- *Type:* string

The base instance name to use for instances in this group.

The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#base_instance_name ComputeInstanceGroupManager#base_instance_name}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance group manager.

Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#name ComputeInstanceGroupManager#name}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.version"></a>

```typescript
public readonly version: IResolvable | ComputeInstanceGroupManagerVersion[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersion">ComputeInstanceGroupManagerVersion</a>[]

version block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#version ComputeInstanceGroupManager#version}

---

##### `autoHealingPolicies`<sup>Optional</sup> <a name="autoHealingPolicies" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.autoHealingPolicies"></a>

```typescript
public readonly autoHealingPolicies: ComputeInstanceGroupManagerAutoHealingPolicies;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerAutoHealingPolicies">ComputeInstanceGroupManagerAutoHealingPolicies</a>

auto_healing_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#auto_healing_policies ComputeInstanceGroupManager#auto_healing_policies}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional textual description of the instance group manager.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#description ComputeInstanceGroupManager#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#id ComputeInstanceGroupManager#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `namedPort`<sup>Optional</sup> <a name="namedPort" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.namedPort"></a>

```typescript
public readonly namedPort: IResolvable | ComputeInstanceGroupManagerNamedPort[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort">ComputeInstanceGroupManagerNamedPort</a>[]

named_port block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#named_port ComputeInstanceGroupManager#named_port}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#project ComputeInstanceGroupManager#project}

---

##### `statefulDisk`<sup>Optional</sup> <a name="statefulDisk" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.statefulDisk"></a>

```typescript
public readonly statefulDisk: IResolvable | ComputeInstanceGroupManagerStatefulDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk">ComputeInstanceGroupManagerStatefulDisk</a>[]

stateful_disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#stateful_disk ComputeInstanceGroupManager#stateful_disk}

---

##### `targetPools`<sup>Optional</sup> <a name="targetPools" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.targetPools"></a>

```typescript
public readonly targetPools: string[];
```

- *Type:* string[]

The full URL of all target pools to which new instances in the group are added.

Updating the target pools attribute does not affect existing instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#target_pools ComputeInstanceGroupManager#target_pools}

---

##### `targetSize`<sup>Optional</sup> <a name="targetSize" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.targetSize"></a>

```typescript
public readonly targetSize: number;
```

- *Type:* number

The target number of running instances for this managed instance group.

This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#target_size ComputeInstanceGroupManager#target_size}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceGroupManagerTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts">ComputeInstanceGroupManagerTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#timeouts ComputeInstanceGroupManager#timeouts}

---

##### `updatePolicy`<sup>Optional</sup> <a name="updatePolicy" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.updatePolicy"></a>

```typescript
public readonly updatePolicy: ComputeInstanceGroupManagerUpdatePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy">ComputeInstanceGroupManagerUpdatePolicy</a>

update_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#update_policy ComputeInstanceGroupManager#update_policy}

---

##### `waitForInstances`<sup>Optional</sup> <a name="waitForInstances" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.waitForInstances"></a>

```typescript
public readonly waitForInstances: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to wait for all instances to be created/updated before returning.

Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#wait_for_instances ComputeInstanceGroupManager#wait_for_instances}

---

##### `waitForInstancesStatus`<sup>Optional</sup> <a name="waitForInstancesStatus" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.waitForInstancesStatus"></a>

```typescript
public readonly waitForInstancesStatus: string;
```

- *Type:* string

When used with wait_for_instances specifies the status to wait for.

When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#wait_for_instances_status ComputeInstanceGroupManager#wait_for_instances_status}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceGroupManagerConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone that instances in this group should be created in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#zone ComputeInstanceGroupManager#zone}

---

### ComputeInstanceGroupManagerNamedPort <a name="ComputeInstanceGroupManagerNamedPort" id="@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerNamedPort } from '@dschmidt/provider-google'

const computeInstanceGroupManagerNamedPort: ComputeInstanceGroupManagerNamedPort = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort.property.name">name</a></code> | <code>string</code> | The name of the port. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort.property.port">port</a></code> | <code>number</code> | The port number. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the port.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#name ComputeInstanceGroupManager#name}

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeInstanceGroupManagerNamedPort.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The port number.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#port ComputeInstanceGroupManager#port}

---

### ComputeInstanceGroupManagerStatefulDisk <a name="ComputeInstanceGroupManagerStatefulDisk" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerStatefulDisk } from '@dschmidt/provider-google'

const computeInstanceGroupManagerStatefulDisk: ComputeInstanceGroupManagerStatefulDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk.property.deviceName">deviceName</a></code> | <code>string</code> | The device name of the disk to be attached. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk.property.deleteRule">deleteRule</a></code> | <code>string</code> | A value that prescribes what should happen to the stateful disk when the VM instance is deleted. |

---

##### `deviceName`<sup>Required</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

The device name of the disk to be attached.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#device_name ComputeInstanceGroupManager#device_name}

---

##### `deleteRule`<sup>Optional</sup> <a name="deleteRule" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatefulDisk.property.deleteRule"></a>

```typescript
public readonly deleteRule: string;
```

- *Type:* string

A value that prescribes what should happen to the stateful disk when the VM instance is deleted.

The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#delete_rule ComputeInstanceGroupManager#delete_rule}

---

### ComputeInstanceGroupManagerStatus <a name="ComputeInstanceGroupManagerStatus" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatus.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerStatus } from '@dschmidt/provider-google'

const computeInstanceGroupManagerStatus: ComputeInstanceGroupManagerStatus = { ... }
```


### ComputeInstanceGroupManagerStatusStateful <a name="ComputeInstanceGroupManagerStatusStateful" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatusStateful"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatusStateful.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerStatusStateful } from '@dschmidt/provider-google'

const computeInstanceGroupManagerStatusStateful: ComputeInstanceGroupManagerStatusStateful = { ... }
```


### ComputeInstanceGroupManagerStatusStatefulPerInstanceConfigs <a name="ComputeInstanceGroupManagerStatusStatefulPerInstanceConfigs" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatusStatefulPerInstanceConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatusStatefulPerInstanceConfigs.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerStatusStatefulPerInstanceConfigs } from '@dschmidt/provider-google'

const computeInstanceGroupManagerStatusStatefulPerInstanceConfigs: ComputeInstanceGroupManagerStatusStatefulPerInstanceConfigs = { ... }
```


### ComputeInstanceGroupManagerStatusVersionTarget <a name="ComputeInstanceGroupManagerStatusVersionTarget" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatusVersionTarget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerStatusVersionTarget.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerStatusVersionTarget } from '@dschmidt/provider-google'

const computeInstanceGroupManagerStatusVersionTarget: ComputeInstanceGroupManagerStatusVersionTarget = { ... }
```


### ComputeInstanceGroupManagerTimeouts <a name="ComputeInstanceGroupManagerTimeouts" id="@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerTimeouts } from '@dschmidt/provider-google'

const computeInstanceGroupManagerTimeouts: ComputeInstanceGroupManagerTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#create ComputeInstanceGroupManager#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#delete ComputeInstanceGroupManager#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#update ComputeInstanceGroupManager#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#create ComputeInstanceGroupManager#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#delete ComputeInstanceGroupManager#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeInstanceGroupManagerTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#update ComputeInstanceGroupManager#update}.

---

### ComputeInstanceGroupManagerUpdatePolicy <a name="ComputeInstanceGroupManagerUpdatePolicy" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerUpdatePolicy } from '@dschmidt/provider-google'

const computeInstanceGroupManagerUpdatePolicy: ComputeInstanceGroupManagerUpdatePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.minimalAction">minimalAction</a></code> | <code>string</code> | Minimal action to be taken on an instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.type">type</a></code> | <code>string</code> | The type of update process. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.maxSurgeFixed">maxSurgeFixed</a></code> | <code>number</code> | The maximum number of instances that can be created above the specified targetSize during the update process. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.maxSurgePercent">maxSurgePercent</a></code> | <code>number</code> | The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.maxUnavailableFixed">maxUnavailableFixed</a></code> | <code>number</code> | The maximum number of instances that can be unavailable during the update process. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.maxUnavailablePercent">maxUnavailablePercent</a></code> | <code>number</code> | The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.mostDisruptiveAllowedAction">mostDisruptiveAllowedAction</a></code> | <code>string</code> | Most disruptive action that is allowed to be taken on an instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.replacementMethod">replacementMethod</a></code> | <code>string</code> | The instance replacement method for managed instance groups. |

---

##### `minimalAction`<sup>Required</sup> <a name="minimalAction" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.minimalAction"></a>

```typescript
public readonly minimalAction: string;
```

- *Type:* string

Minimal action to be taken on an instance.

You can specify either REFRESH to update without stopping instances, RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a REFRESH, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#minimal_action ComputeInstanceGroupManager#minimal_action}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of update process.

You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#type ComputeInstanceGroupManager#type}

---

##### `maxSurgeFixed`<sup>Optional</sup> <a name="maxSurgeFixed" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.maxSurgeFixed"></a>

```typescript
public readonly maxSurgeFixed: number;
```

- *Type:* number

The maximum number of instances that can be created above the specified targetSize during the update process.

Conflicts with max_surge_percent. If neither is set, defaults to 1

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#max_surge_fixed ComputeInstanceGroupManager#max_surge_fixed}

---

##### `maxSurgePercent`<sup>Optional</sup> <a name="maxSurgePercent" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.maxSurgePercent"></a>

```typescript
public readonly maxSurgePercent: number;
```

- *Type:* number

The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process.

Conflicts with max_surge_fixed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#max_surge_percent ComputeInstanceGroupManager#max_surge_percent}

---

##### `maxUnavailableFixed`<sup>Optional</sup> <a name="maxUnavailableFixed" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.maxUnavailableFixed"></a>

```typescript
public readonly maxUnavailableFixed: number;
```

- *Type:* number

The maximum number of instances that can be unavailable during the update process.

Conflicts with max_unavailable_percent. If neither is set, defaults to 1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#max_unavailable_fixed ComputeInstanceGroupManager#max_unavailable_fixed}

---

##### `maxUnavailablePercent`<sup>Optional</sup> <a name="maxUnavailablePercent" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.maxUnavailablePercent"></a>

```typescript
public readonly maxUnavailablePercent: number;
```

- *Type:* number

The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#max_unavailable_percent ComputeInstanceGroupManager#max_unavailable_percent}

---

##### `mostDisruptiveAllowedAction`<sup>Optional</sup> <a name="mostDisruptiveAllowedAction" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.mostDisruptiveAllowedAction"></a>

```typescript
public readonly mostDisruptiveAllowedAction: string;
```

- *Type:* string

Most disruptive action that is allowed to be taken on an instance.

You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#most_disruptive_allowed_action ComputeInstanceGroupManager#most_disruptive_allowed_action}

---

##### `replacementMethod`<sup>Optional</sup> <a name="replacementMethod" id="@dschmidt/provider-google.ComputeInstanceGroupManagerUpdatePolicy.property.replacementMethod"></a>

```typescript
public readonly replacementMethod: string;
```

- *Type:* string

The instance replacement method for managed instance groups.

Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved.  You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#replacement_method ComputeInstanceGroupManager#replacement_method}

---

### ComputeInstanceGroupManagerVersion <a name="ComputeInstanceGroupManagerVersion" id="@dschmidt/provider-google.ComputeInstanceGroupManagerVersion"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerVersion.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerVersion } from '@dschmidt/provider-google'

const computeInstanceGroupManagerVersion: ComputeInstanceGroupManagerVersion = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersion.property.instanceTemplate">instanceTemplate</a></code> | <code>string</code> | The full URL to an instance template from which all new instances of this version will be created. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersion.property.name">name</a></code> | <code>string</code> | Version name. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersion.property.targetSize">targetSize</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersionTargetSize">ComputeInstanceGroupManagerVersionTargetSize</a></code> | target_size block. |

---

##### `instanceTemplate`<sup>Required</sup> <a name="instanceTemplate" id="@dschmidt/provider-google.ComputeInstanceGroupManagerVersion.property.instanceTemplate"></a>

```typescript
public readonly instanceTemplate: string;
```

- *Type:* string

The full URL to an instance template from which all new instances of this version will be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#instance_template ComputeInstanceGroupManager#instance_template}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceGroupManagerVersion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Version name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#name ComputeInstanceGroupManager#name}

---

##### `targetSize`<sup>Optional</sup> <a name="targetSize" id="@dschmidt/provider-google.ComputeInstanceGroupManagerVersion.property.targetSize"></a>

```typescript
public readonly targetSize: ComputeInstanceGroupManagerVersionTargetSize;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersionTargetSize">ComputeInstanceGroupManagerVersionTargetSize</a>

target_size block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#target_size ComputeInstanceGroupManager#target_size}

---

### ComputeInstanceGroupManagerVersionTargetSize <a name="ComputeInstanceGroupManagerVersionTargetSize" id="@dschmidt/provider-google.ComputeInstanceGroupManagerVersionTargetSize"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupManagerVersionTargetSize.Initializer"></a>

```typescript
import { ComputeInstanceGroupManagerVersionTargetSize } from '@dschmidt/provider-google'

const computeInstanceGroupManagerVersionTargetSize: ComputeInstanceGroupManagerVersionTargetSize = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersionTargetSize.property.fixed">fixed</a></code> | <code>number</code> | The number of instances which are managed for this version. Conflicts with percent. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupManagerVersionTargetSize.property.percent">percent</a></code> | <code>number</code> | The number of instances (calculated as percentage) which are managed for this version. |

---

##### `fixed`<sup>Optional</sup> <a name="fixed" id="@dschmidt/provider-google.ComputeInstanceGroupManagerVersionTargetSize.property.fixed"></a>

```typescript
public readonly fixed: number;
```

- *Type:* number

The number of instances which are managed for this version. Conflicts with percent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#fixed ComputeInstanceGroupManager#fixed}

---

##### `percent`<sup>Optional</sup> <a name="percent" id="@dschmidt/provider-google.ComputeInstanceGroupManagerVersionTargetSize.property.percent"></a>

```typescript
public readonly percent: number;
```

- *Type:* number

The number of instances (calculated as percentage) which are managed for this version.

Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_manager#percent ComputeInstanceGroupManager#percent}

---

### ComputeInstanceGroupNamedPort <a name="ComputeInstanceGroupNamedPort" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPort.Initializer"></a>

```typescript
import { ComputeInstanceGroupNamedPort } from '@dschmidt/provider-google'

const computeInstanceGroupNamedPort: ComputeInstanceGroupNamedPort = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPort.property.name">name</a></code> | <code>string</code> | The name which the port will be mapped to. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPort.property.port">port</a></code> | <code>number</code> | The port number to map the name to. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPort.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name which the port will be mapped to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#name ComputeInstanceGroup#name}

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPort.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The port number to map the name to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#port ComputeInstanceGroup#port}

---

### ComputeInstanceGroupNamedPortAConfig <a name="ComputeInstanceGroupNamedPortAConfig" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.Initializer"></a>

```typescript
import { ComputeInstanceGroupNamedPortAConfig } from '@dschmidt/provider-google'

const computeInstanceGroupNamedPortAConfig: ComputeInstanceGroupNamedPortAConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.group">group</a></code> | <code>string</code> | The name of the instance group. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.name">name</a></code> | <code>string</code> | The name for this named port. The name must be 1-63 characters long, and comply with RFC1035. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.port">port</a></code> | <code>number</code> | The port number, which can be a value between 1 and 65535. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#id ComputeInstanceGroupNamedPortA#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#project ComputeInstanceGroupNamedPortA#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts">ComputeInstanceGroupNamedPortTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.zone">zone</a></code> | <code>string</code> | The zone of the instance group. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `group`<sup>Required</sup> <a name="group" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.group"></a>

```typescript
public readonly group: string;
```

- *Type:* string

The name of the instance group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#group ComputeInstanceGroupNamedPortA#group}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name for this named port. The name must be 1-63 characters long, and comply with RFC1035.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#name ComputeInstanceGroupNamedPortA#name}

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The port number, which can be a value between 1 and 65535.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#port ComputeInstanceGroupNamedPortA#port}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#id ComputeInstanceGroupNamedPortA#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#project ComputeInstanceGroupNamedPortA#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceGroupNamedPortTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts">ComputeInstanceGroupNamedPortTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#timeouts ComputeInstanceGroupNamedPortA#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortAConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone of the instance group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#zone ComputeInstanceGroupNamedPortA#zone}

---

### ComputeInstanceGroupNamedPortTimeouts <a name="ComputeInstanceGroupNamedPortTimeouts" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts.Initializer"></a>

```typescript
import { ComputeInstanceGroupNamedPortTimeouts } from '@dschmidt/provider-google'

const computeInstanceGroupNamedPortTimeouts: ComputeInstanceGroupNamedPortTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#create ComputeInstanceGroupNamedPortA#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#delete ComputeInstanceGroupNamedPortA#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#create ComputeInstanceGroupNamedPortA#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeInstanceGroupNamedPortTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group_named_port#delete ComputeInstanceGroupNamedPortA#delete}.

---

### ComputeInstanceGroupTimeouts <a name="ComputeInstanceGroupTimeouts" id="@dschmidt/provider-google.ComputeInstanceGroupTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGroupTimeouts.Initializer"></a>

```typescript
import { ComputeInstanceGroupTimeouts } from '@dschmidt/provider-google'

const computeInstanceGroupTimeouts: ComputeInstanceGroupTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#create ComputeInstanceGroup#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#delete ComputeInstanceGroup#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGroupTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#update ComputeInstanceGroup#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeInstanceGroupTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#create ComputeInstanceGroup#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeInstanceGroupTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#delete ComputeInstanceGroup#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeInstanceGroupTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_group#update ComputeInstanceGroup#update}.

---

### ComputeInstanceGuestAccelerator <a name="ComputeInstanceGuestAccelerator" id="@dschmidt/provider-google.ComputeInstanceGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceGuestAccelerator.Initializer"></a>

```typescript
import { ComputeInstanceGuestAccelerator } from '@dschmidt/provider-google'

const computeInstanceGuestAccelerator: ComputeInstanceGuestAccelerator = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGuestAccelerator.property.count">count</a></code> | <code>number</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#count ComputeInstance#count}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceGuestAccelerator.property.type">type</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#type ComputeInstance#type}. |

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceGuestAccelerator.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#count ComputeInstance#count}.

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceGuestAccelerator.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#type ComputeInstance#type}.

---

### ComputeInstanceIamBindingCondition <a name="ComputeInstanceIamBindingCondition" id="@dschmidt/provider-google.ComputeInstanceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceIamBindingCondition.Initializer"></a>

```typescript
import { ComputeInstanceIamBindingCondition } from '@dschmidt/provider-google'

const computeInstanceIamBindingCondition: ComputeInstanceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#expression ComputeInstanceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#title ComputeInstanceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#description ComputeInstanceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeInstanceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#expression ComputeInstanceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeInstanceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#title ComputeInstanceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#description ComputeInstanceIamBinding#description}.

---

### ComputeInstanceIamBindingConfig <a name="ComputeInstanceIamBindingConfig" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.Initializer"></a>

```typescript
import { ComputeInstanceIamBindingConfig } from '@dschmidt/provider-google'

const computeInstanceIamBindingConfig: ComputeInstanceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.instanceName">instanceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#instance_name ComputeInstanceIamBinding#instance_name}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#members ComputeInstanceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#role ComputeInstanceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingCondition">ComputeInstanceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#id ComputeInstanceIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#project ComputeInstanceIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#zone ComputeInstanceIamBinding#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#instance_name ComputeInstanceIamBinding#instance_name}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#members ComputeInstanceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#role ComputeInstanceIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ComputeInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamBindingCondition">ComputeInstanceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#condition ComputeInstanceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#id ComputeInstanceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#project ComputeInstanceIamBinding#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceIamBindingConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_binding#zone ComputeInstanceIamBinding#zone}.

---

### ComputeInstanceIamMemberCondition <a name="ComputeInstanceIamMemberCondition" id="@dschmidt/provider-google.ComputeInstanceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceIamMemberCondition.Initializer"></a>

```typescript
import { ComputeInstanceIamMemberCondition } from '@dschmidt/provider-google'

const computeInstanceIamMemberCondition: ComputeInstanceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#expression ComputeInstanceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#title ComputeInstanceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#description ComputeInstanceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeInstanceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#expression ComputeInstanceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeInstanceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#title ComputeInstanceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#description ComputeInstanceIamMember#description}.

---

### ComputeInstanceIamMemberConfig <a name="ComputeInstanceIamMemberConfig" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.Initializer"></a>

```typescript
import { ComputeInstanceIamMemberConfig } from '@dschmidt/provider-google'

const computeInstanceIamMemberConfig: ComputeInstanceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.instanceName">instanceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#instance_name ComputeInstanceIamMember#instance_name}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#member ComputeInstanceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#role ComputeInstanceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberCondition">ComputeInstanceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#id ComputeInstanceIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#project ComputeInstanceIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#zone ComputeInstanceIamMember#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#instance_name ComputeInstanceIamMember#instance_name}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#member ComputeInstanceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#role ComputeInstanceIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ComputeInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceIamMemberCondition">ComputeInstanceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#condition ComputeInstanceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#id ComputeInstanceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#project ComputeInstanceIamMember#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceIamMemberConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_member#zone ComputeInstanceIamMember#zone}.

---

### ComputeInstanceIamPolicyConfig <a name="ComputeInstanceIamPolicyConfig" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.Initializer"></a>

```typescript
import { ComputeInstanceIamPolicyConfig } from '@dschmidt/provider-google'

const computeInstanceIamPolicyConfig: ComputeInstanceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.instanceName">instanceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#instance_name ComputeInstanceIamPolicy#instance_name}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#policy_data ComputeInstanceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#id ComputeInstanceIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#project ComputeInstanceIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#zone ComputeInstanceIamPolicy#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#instance_name ComputeInstanceIamPolicy#instance_name}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#policy_data ComputeInstanceIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#id ComputeInstanceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#project ComputeInstanceIamPolicy#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeInstanceIamPolicyConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_iam_policy#zone ComputeInstanceIamPolicy#zone}.

---

### ComputeInstanceNetworkInterface <a name="ComputeInstanceNetworkInterface" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.Initializer"></a>

```typescript
import { ComputeInstanceNetworkInterface } from '@dschmidt/provider-google'

const computeInstanceNetworkInterface: ComputeInstanceNetworkInterface = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.accessConfig">accessConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig">ComputeInstanceNetworkInterfaceAccessConfig</a>[]</code> | access_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.aliasIpRange">aliasIpRange</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAliasIpRange">ComputeInstanceNetworkInterfaceAliasIpRange</a>[]</code> | alias_ip_range block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.ipv6AccessConfig">ipv6AccessConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceIpv6AccessConfig">ComputeInstanceNetworkInterfaceIpv6AccessConfig</a>[]</code> | ipv6_access_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.network">network</a></code> | <code>string</code> | The name or self_link of the network attached to this interface. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.networkIp">networkIp</a></code> | <code>string</code> | The private IP address assigned to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.nicType">nicType</a></code> | <code>string</code> | The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.queueCount">queueCount</a></code> | <code>number</code> | The networking queue count that's specified by users for the network interface. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.stackType">stackType</a></code> | <code>string</code> | The stack type for this network interface to identify whether the IPv6 feature is enabled or not. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.subnetwork">subnetwork</a></code> | <code>string</code> | The name or self_link of the subnetwork attached to this interface. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.subnetworkProject">subnetworkProject</a></code> | <code>string</code> | The project in which the subnetwork belongs. |

---

##### `accessConfig`<sup>Optional</sup> <a name="accessConfig" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.accessConfig"></a>

```typescript
public readonly accessConfig: IResolvable | ComputeInstanceNetworkInterfaceAccessConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig">ComputeInstanceNetworkInterfaceAccessConfig</a>[]

access_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#access_config ComputeInstance#access_config}

---

##### `aliasIpRange`<sup>Optional</sup> <a name="aliasIpRange" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.aliasIpRange"></a>

```typescript
public readonly aliasIpRange: IResolvable | ComputeInstanceNetworkInterfaceAliasIpRange[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAliasIpRange">ComputeInstanceNetworkInterfaceAliasIpRange</a>[]

alias_ip_range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#alias_ip_range ComputeInstance#alias_ip_range}

---

##### `ipv6AccessConfig`<sup>Optional</sup> <a name="ipv6AccessConfig" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.ipv6AccessConfig"></a>

```typescript
public readonly ipv6AccessConfig: IResolvable | ComputeInstanceNetworkInterfaceIpv6AccessConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceIpv6AccessConfig">ComputeInstanceNetworkInterfaceIpv6AccessConfig</a>[]

ipv6_access_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#ipv6_access_config ComputeInstance#ipv6_access_config}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name or self_link of the network attached to this interface.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#network ComputeInstance#network}

---

##### `networkIp`<sup>Optional</sup> <a name="networkIp" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.networkIp"></a>

```typescript
public readonly networkIp: string;
```

- *Type:* string

The private IP address assigned to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#network_ip ComputeInstance#network_ip}

---

##### `nicType`<sup>Optional</sup> <a name="nicType" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.nicType"></a>

```typescript
public readonly nicType: string;
```

- *Type:* string

The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#nic_type ComputeInstance#nic_type}

---

##### `queueCount`<sup>Optional</sup> <a name="queueCount" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.queueCount"></a>

```typescript
public readonly queueCount: number;
```

- *Type:* number

The networking queue count that's specified by users for the network interface.

Both Rx and Tx queues will be set to this number. It will be empty if not specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#queue_count ComputeInstance#queue_count}

---

##### `stackType`<sup>Optional</sup> <a name="stackType" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.stackType"></a>

```typescript
public readonly stackType: string;
```

- *Type:* string

The stack type for this network interface to identify whether the IPv6 feature is enabled or not.

If not specified, IPV4_ONLY will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#stack_type ComputeInstance#stack_type}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

The name or self_link of the subnetwork attached to this interface.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#subnetwork ComputeInstance#subnetwork}

---

##### `subnetworkProject`<sup>Optional</sup> <a name="subnetworkProject" id="@dschmidt/provider-google.ComputeInstanceNetworkInterface.property.subnetworkProject"></a>

```typescript
public readonly subnetworkProject: string;
```

- *Type:* string

The project in which the subnetwork belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#subnetwork_project ComputeInstance#subnetwork_project}

---

### ComputeInstanceNetworkInterfaceAccessConfig <a name="ComputeInstanceNetworkInterfaceAccessConfig" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig.Initializer"></a>

```typescript
import { ComputeInstanceNetworkInterfaceAccessConfig } from '@dschmidt/provider-google'

const computeInstanceNetworkInterfaceAccessConfig: ComputeInstanceNetworkInterfaceAccessConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig.property.natIp">natIp</a></code> | <code>string</code> | The IP address that is be 1:1 mapped to the instance's network ip. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig.property.networkTier">networkTier</a></code> | <code>string</code> | The networking tier used for configuring this instance. One of PREMIUM or STANDARD. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig.property.publicPtrDomainName">publicPtrDomainName</a></code> | <code>string</code> | The DNS domain name for the public PTR record. |

---

##### `natIp`<sup>Optional</sup> <a name="natIp" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig.property.natIp"></a>

```typescript
public readonly natIp: string;
```

- *Type:* string

The IP address that is be 1:1 mapped to the instance's network ip.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#nat_ip ComputeInstance#nat_ip}

---

##### `networkTier`<sup>Optional</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

The networking tier used for configuring this instance. One of PREMIUM or STANDARD.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#network_tier ComputeInstance#network_tier}

---

##### `publicPtrDomainName`<sup>Optional</sup> <a name="publicPtrDomainName" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAccessConfig.property.publicPtrDomainName"></a>

```typescript
public readonly publicPtrDomainName: string;
```

- *Type:* string

The DNS domain name for the public PTR record.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#public_ptr_domain_name ComputeInstance#public_ptr_domain_name}

---

### ComputeInstanceNetworkInterfaceAliasIpRange <a name="ComputeInstanceNetworkInterfaceAliasIpRange" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAliasIpRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAliasIpRange.Initializer"></a>

```typescript
import { ComputeInstanceNetworkInterfaceAliasIpRange } from '@dschmidt/provider-google'

const computeInstanceNetworkInterfaceAliasIpRange: ComputeInstanceNetworkInterfaceAliasIpRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAliasIpRange.property.ipCidrRange">ipCidrRange</a></code> | <code>string</code> | The IP CIDR range represented by this alias IP range. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAliasIpRange.property.subnetworkRangeName">subnetworkRangeName</a></code> | <code>string</code> | The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. |

---

##### `ipCidrRange`<sup>Required</sup> <a name="ipCidrRange" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAliasIpRange.property.ipCidrRange"></a>

```typescript
public readonly ipCidrRange: string;
```

- *Type:* string

The IP CIDR range represented by this alias IP range.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#ip_cidr_range ComputeInstance#ip_cidr_range}

---

##### `subnetworkRangeName`<sup>Optional</sup> <a name="subnetworkRangeName" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceAliasIpRange.property.subnetworkRangeName"></a>

```typescript
public readonly subnetworkRangeName: string;
```

- *Type:* string

The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#subnetwork_range_name ComputeInstance#subnetwork_range_name}

---

### ComputeInstanceNetworkInterfaceIpv6AccessConfig <a name="ComputeInstanceNetworkInterfaceIpv6AccessConfig" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceIpv6AccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceIpv6AccessConfig.Initializer"></a>

```typescript
import { ComputeInstanceNetworkInterfaceIpv6AccessConfig } from '@dschmidt/provider-google'

const computeInstanceNetworkInterfaceIpv6AccessConfig: ComputeInstanceNetworkInterfaceIpv6AccessConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceIpv6AccessConfig.property.networkTier">networkTier</a></code> | <code>string</code> | The service-level to be provided for IPv6 traffic when the subnet has an external subnet. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceNetworkInterfaceIpv6AccessConfig.property.publicPtrDomainName">publicPtrDomainName</a></code> | <code>string</code> | The domain name to be used when creating DNSv6 records for the external IPv6 ranges. |

---

##### `networkTier`<sup>Required</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceIpv6AccessConfig.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

The service-level to be provided for IPv6 traffic when the subnet has an external subnet.

Only PREMIUM tier is valid for IPv6

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#network_tier ComputeInstance#network_tier}

---

##### `publicPtrDomainName`<sup>Optional</sup> <a name="publicPtrDomainName" id="@dschmidt/provider-google.ComputeInstanceNetworkInterfaceIpv6AccessConfig.property.publicPtrDomainName"></a>

```typescript
public readonly publicPtrDomainName: string;
```

- *Type:* string

The domain name to be used when creating DNSv6 records for the external IPv6 ranges.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#public_ptr_domain_name ComputeInstance#public_ptr_domain_name}

---

### ComputeInstanceReservationAffinity <a name="ComputeInstanceReservationAffinity" id="@dschmidt/provider-google.ComputeInstanceReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceReservationAffinity.Initializer"></a>

```typescript
import { ComputeInstanceReservationAffinity } from '@dschmidt/provider-google'

const computeInstanceReservationAffinity: ComputeInstanceReservationAffinity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinity.property.type">type</a></code> | <code>string</code> | The type of reservation from which this instance can consume resources. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinity.property.specificReservation">specificReservation</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinitySpecificReservation">ComputeInstanceReservationAffinitySpecificReservation</a></code> | specific_reservation block. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceReservationAffinity.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of reservation from which this instance can consume resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#type ComputeInstance#type}

---

##### `specificReservation`<sup>Optional</sup> <a name="specificReservation" id="@dschmidt/provider-google.ComputeInstanceReservationAffinity.property.specificReservation"></a>

```typescript
public readonly specificReservation: ComputeInstanceReservationAffinitySpecificReservation;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinitySpecificReservation">ComputeInstanceReservationAffinitySpecificReservation</a>

specific_reservation block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#specific_reservation ComputeInstance#specific_reservation}

---

### ComputeInstanceReservationAffinitySpecificReservation <a name="ComputeInstanceReservationAffinitySpecificReservation" id="@dschmidt/provider-google.ComputeInstanceReservationAffinitySpecificReservation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceReservationAffinitySpecificReservation.Initializer"></a>

```typescript
import { ComputeInstanceReservationAffinitySpecificReservation } from '@dschmidt/provider-google'

const computeInstanceReservationAffinitySpecificReservation: ComputeInstanceReservationAffinitySpecificReservation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinitySpecificReservation.property.key">key</a></code> | <code>string</code> | Corresponds to the label key of a reservation resource. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceReservationAffinitySpecificReservation.property.values">values</a></code> | <code>string[]</code> | Corresponds to the label values of a reservation resource. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.ComputeInstanceReservationAffinitySpecificReservation.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Corresponds to the label key of a reservation resource.

To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#key ComputeInstance#key}

---

##### `values`<sup>Required</sup> <a name="values" id="@dschmidt/provider-google.ComputeInstanceReservationAffinitySpecificReservation.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

Corresponds to the label values of a reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#values ComputeInstance#values}

---

### ComputeInstanceScheduling <a name="ComputeInstanceScheduling" id="@dschmidt/provider-google.ComputeInstanceScheduling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceScheduling.Initializer"></a>

```typescript
import { ComputeInstanceScheduling } from '@dschmidt/provider-google'

const computeInstanceScheduling: ComputeInstanceScheduling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceScheduling.property.automaticRestart">automaticRestart</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceScheduling.property.instanceTerminationAction">instanceTerminationAction</a></code> | <code>string</code> | Specifies the action GCE should take when SPOT VM is preempted. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceScheduling.property.minNodeCpus">minNodeCpus</a></code> | <code>number</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#min_node_cpus ComputeInstance#min_node_cpus}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceScheduling.property.nodeAffinities">nodeAffinities</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities">ComputeInstanceSchedulingNodeAffinities</a>[]</code> | node_affinities block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceScheduling.property.onHostMaintenance">onHostMaintenance</a></code> | <code>string</code> | Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceScheduling.property.preemptible">preemptible</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the instance is preemptible. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceScheduling.property.provisioningModel">provisioningModel</a></code> | <code>string</code> | Whether the instance is spot. If this is set as SPOT. |

---

##### `automaticRestart`<sup>Optional</sup> <a name="automaticRestart" id="@dschmidt/provider-google.ComputeInstanceScheduling.property.automaticRestart"></a>

```typescript
public readonly automaticRestart: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#automatic_restart ComputeInstance#automatic_restart}

---

##### `instanceTerminationAction`<sup>Optional</sup> <a name="instanceTerminationAction" id="@dschmidt/provider-google.ComputeInstanceScheduling.property.instanceTerminationAction"></a>

```typescript
public readonly instanceTerminationAction: string;
```

- *Type:* string

Specifies the action GCE should take when SPOT VM is preempted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#instance_termination_action ComputeInstance#instance_termination_action}

---

##### `minNodeCpus`<sup>Optional</sup> <a name="minNodeCpus" id="@dschmidt/provider-google.ComputeInstanceScheduling.property.minNodeCpus"></a>

```typescript
public readonly minNodeCpus: number;
```

- *Type:* number

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#min_node_cpus ComputeInstance#min_node_cpus}.

---

##### `nodeAffinities`<sup>Optional</sup> <a name="nodeAffinities" id="@dschmidt/provider-google.ComputeInstanceScheduling.property.nodeAffinities"></a>

```typescript
public readonly nodeAffinities: IResolvable | ComputeInstanceSchedulingNodeAffinities[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities">ComputeInstanceSchedulingNodeAffinities</a>[]

node_affinities block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#node_affinities ComputeInstance#node_affinities}

---

##### `onHostMaintenance`<sup>Optional</sup> <a name="onHostMaintenance" id="@dschmidt/provider-google.ComputeInstanceScheduling.property.onHostMaintenance"></a>

```typescript
public readonly onHostMaintenance: string;
```

- *Type:* string

Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#on_host_maintenance ComputeInstance#on_host_maintenance}

---

##### `preemptible`<sup>Optional</sup> <a name="preemptible" id="@dschmidt/provider-google.ComputeInstanceScheduling.property.preemptible"></a>

```typescript
public readonly preemptible: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the instance is preemptible.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#preemptible ComputeInstance#preemptible}

---

##### `provisioningModel`<sup>Optional</sup> <a name="provisioningModel" id="@dschmidt/provider-google.ComputeInstanceScheduling.property.provisioningModel"></a>

```typescript
public readonly provisioningModel: string;
```

- *Type:* string

Whether the instance is spot. If this is set as SPOT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#provisioning_model ComputeInstance#provisioning_model}

---

### ComputeInstanceSchedulingNodeAffinities <a name="ComputeInstanceSchedulingNodeAffinities" id="@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities.Initializer"></a>

```typescript
import { ComputeInstanceSchedulingNodeAffinities } from '@dschmidt/provider-google'

const computeInstanceSchedulingNodeAffinities: ComputeInstanceSchedulingNodeAffinities = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities.property.key">key</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#key ComputeInstance#key}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities.property.operator">operator</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#operator ComputeInstance#operator}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities.property.values">values</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#values ComputeInstance#values}. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#key ComputeInstance#key}.

---

##### `operator`<sup>Required</sup> <a name="operator" id="@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities.property.operator"></a>

```typescript
public readonly operator: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#operator ComputeInstance#operator}.

---

##### `values`<sup>Required</sup> <a name="values" id="@dschmidt/provider-google.ComputeInstanceSchedulingNodeAffinities.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#values ComputeInstance#values}.

---

### ComputeInstanceScratchDisk <a name="ComputeInstanceScratchDisk" id="@dschmidt/provider-google.ComputeInstanceScratchDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceScratchDisk.Initializer"></a>

```typescript
import { ComputeInstanceScratchDisk } from '@dschmidt/provider-google'

const computeInstanceScratchDisk: ComputeInstanceScratchDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceScratchDisk.property.interface">interface</a></code> | <code>string</code> | The disk interface used for attaching this disk. One of SCSI or NVME. |

---

##### `interface`<sup>Required</sup> <a name="interface" id="@dschmidt/provider-google.ComputeInstanceScratchDisk.property.interface"></a>

```typescript
public readonly interface: string;
```

- *Type:* string

The disk interface used for attaching this disk. One of SCSI or NVME.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#interface ComputeInstance#interface}

---

### ComputeInstanceServiceAccount <a name="ComputeInstanceServiceAccount" id="@dschmidt/provider-google.ComputeInstanceServiceAccount"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceServiceAccount.Initializer"></a>

```typescript
import { ComputeInstanceServiceAccount } from '@dschmidt/provider-google'

const computeInstanceServiceAccount: ComputeInstanceServiceAccount = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceServiceAccount.property.scopes">scopes</a></code> | <code>string[]</code> | A list of service scopes. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceServiceAccount.property.email">email</a></code> | <code>string</code> | The service account e-mail address. |

---

##### `scopes`<sup>Required</sup> <a name="scopes" id="@dschmidt/provider-google.ComputeInstanceServiceAccount.property.scopes"></a>

```typescript
public readonly scopes: string[];
```

- *Type:* string[]

A list of service scopes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#scopes ComputeInstance#scopes}

---

##### `email`<sup>Optional</sup> <a name="email" id="@dschmidt/provider-google.ComputeInstanceServiceAccount.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

The service account e-mail address.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#email ComputeInstance#email}

---

### ComputeInstanceShieldedInstanceConfig <a name="ComputeInstanceShieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig.Initializer"></a>

```typescript
import { ComputeInstanceShieldedInstanceConfig } from '@dschmidt/provider-google'

const computeInstanceShieldedInstanceConfig: ComputeInstanceShieldedInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig.property.enableIntegrityMonitoring">enableIntegrityMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether integrity monitoring is enabled for the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig.property.enableSecureBoot">enableSecureBoot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether secure boot is enabled for the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig.property.enableVtpm">enableVtpm</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the instance uses vTPM. |

---

##### `enableIntegrityMonitoring`<sup>Optional</sup> <a name="enableIntegrityMonitoring" id="@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig.property.enableIntegrityMonitoring"></a>

```typescript
public readonly enableIntegrityMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether integrity monitoring is enabled for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#enable_integrity_monitoring ComputeInstance#enable_integrity_monitoring}

---

##### `enableSecureBoot`<sup>Optional</sup> <a name="enableSecureBoot" id="@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig.property.enableSecureBoot"></a>

```typescript
public readonly enableSecureBoot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether secure boot is enabled for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#enable_secure_boot ComputeInstance#enable_secure_boot}

---

##### `enableVtpm`<sup>Optional</sup> <a name="enableVtpm" id="@dschmidt/provider-google.ComputeInstanceShieldedInstanceConfig.property.enableVtpm"></a>

```typescript
public readonly enableVtpm: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the instance uses vTPM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#enable_vtpm ComputeInstance#enable_vtpm}

---

### ComputeInstanceTemplateAdvancedMachineFeatures <a name="ComputeInstanceTemplateAdvancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures.Initializer"></a>

```typescript
import { ComputeInstanceTemplateAdvancedMachineFeatures } from '@dschmidt/provider-google'

const computeInstanceTemplateAdvancedMachineFeatures: ComputeInstanceTemplateAdvancedMachineFeatures = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures.property.enableNestedVirtualization">enableNestedVirtualization</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable nested virtualization or not. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures.property.threadsPerCore">threadsPerCore</a></code> | <code>number</code> | The number of threads per physical core. |

---

##### `enableNestedVirtualization`<sup>Optional</sup> <a name="enableNestedVirtualization" id="@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures.property.enableNestedVirtualization"></a>

```typescript
public readonly enableNestedVirtualization: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable nested virtualization or not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#enable_nested_virtualization ComputeInstanceTemplate#enable_nested_virtualization}

---

##### `threadsPerCore`<sup>Optional</sup> <a name="threadsPerCore" id="@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures.property.threadsPerCore"></a>

```typescript
public readonly threadsPerCore: number;
```

- *Type:* number

The number of threads per physical core.

To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#threads_per_core ComputeInstanceTemplate#threads_per_core}

---

### ComputeInstanceTemplateConfidentialInstanceConfig <a name="ComputeInstanceTemplateConfidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfig.Initializer"></a>

```typescript
import { ComputeInstanceTemplateConfidentialInstanceConfig } from '@dschmidt/provider-google'

const computeInstanceTemplateConfidentialInstanceConfig: ComputeInstanceTemplateConfidentialInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfig.property.enableConfidentialCompute">enableConfidentialCompute</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance should have confidential compute enabled. |

---

##### `enableConfidentialCompute`<sup>Required</sup> <a name="enableConfidentialCompute" id="@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfig.property.enableConfidentialCompute"></a>

```typescript
public readonly enableConfidentialCompute: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance should have confidential compute enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#enable_confidential_compute ComputeInstanceTemplate#enable_confidential_compute}

---

### ComputeInstanceTemplateConfig <a name="ComputeInstanceTemplateConfig" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.Initializer"></a>

```typescript
import { ComputeInstanceTemplateConfig } from '@dschmidt/provider-google'

const computeInstanceTemplateConfig: ComputeInstanceTemplateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.disk">disk</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk">ComputeInstanceTemplateDisk</a>[]</code> | disk block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.machineType">machineType</a></code> | <code>string</code> | The machine type to create. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.advancedMachineFeatures">advancedMachineFeatures</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures">ComputeInstanceTemplateAdvancedMachineFeatures</a></code> | advanced_machine_features block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.canIpForward">canIpForward</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.confidentialInstanceConfig">confidentialInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfig">ComputeInstanceTemplateConfidentialInstanceConfig</a></code> | confidential_instance_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.description">description</a></code> | <code>string</code> | A brief description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.guestAccelerator">guestAccelerator</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator">ComputeInstanceTemplateGuestAccelerator</a>[]</code> | guest_accelerator block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#id ComputeInstanceTemplate#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.instanceDescription">instanceDescription</a></code> | <code>string</code> | A description of the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to instances created from this template,. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | Metadata key/value pairs to make available from within instances created from this template. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.metadataStartupScript">metadataStartupScript</a></code> | <code>string</code> | An alternative to using the startup-script metadata key, mostly to match the compute_instance resource. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | Specifies a minimum CPU platform. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.name">name</a></code> | <code>string</code> | The name of the instance template. If you leave this blank, Terraform will auto-generate a unique name. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.namePrefix">namePrefix</a></code> | <code>string</code> | Creates a unique name beginning with the specified prefix. Conflicts with name. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.networkInterface">networkInterface</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface">ComputeInstanceTemplateNetworkInterface</a>[]</code> | network_interface block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.region">region</a></code> | <code>string</code> | An instance template is a global resource that is not bound to a zone or a region. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity">ComputeInstanceTemplateReservationAffinity</a></code> | reservation_affinity block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling">ComputeInstanceTemplateScheduling</a></code> | scheduling block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.serviceAccount">serviceAccount</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount">ComputeInstanceTemplateServiceAccount</a></code> | service_account block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig">ComputeInstanceTemplateShieldedInstanceConfig</a></code> | shielded_instance_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.tags">tags</a></code> | <code>string[]</code> | Tags to attach to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateTimeouts">ComputeInstanceTemplateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `disk`<sup>Required</sup> <a name="disk" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.disk"></a>

```typescript
public readonly disk: IResolvable | ComputeInstanceTemplateDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk">ComputeInstanceTemplateDisk</a>[]

disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#disk ComputeInstanceTemplate#disk}

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The machine type to create.

To create a machine with a custom type (such as extended memory), format the value like custom-VCPUS-MEM_IN_MB like custom-6-20480 for 6 vCPU and 20GB of RAM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#machine_type ComputeInstanceTemplate#machine_type}

---

##### `advancedMachineFeatures`<sup>Optional</sup> <a name="advancedMachineFeatures" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.advancedMachineFeatures"></a>

```typescript
public readonly advancedMachineFeatures: ComputeInstanceTemplateAdvancedMachineFeatures;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateAdvancedMachineFeatures">ComputeInstanceTemplateAdvancedMachineFeatures</a>

advanced_machine_features block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#advanced_machine_features ComputeInstanceTemplate#advanced_machine_features}

---

##### `canIpForward`<sup>Optional</sup> <a name="canIpForward" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.canIpForward"></a>

```typescript
public readonly canIpForward: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#can_ip_forward ComputeInstanceTemplate#can_ip_forward}

---

##### `confidentialInstanceConfig`<sup>Optional</sup> <a name="confidentialInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.confidentialInstanceConfig"></a>

```typescript
public readonly confidentialInstanceConfig: ComputeInstanceTemplateConfidentialInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateConfidentialInstanceConfig">ComputeInstanceTemplateConfidentialInstanceConfig</a>

confidential_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#confidential_instance_config ComputeInstanceTemplate#confidential_instance_config}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A brief description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#description ComputeInstanceTemplate#description}

---

##### `guestAccelerator`<sup>Optional</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: IResolvable | ComputeInstanceTemplateGuestAccelerator[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator">ComputeInstanceTemplateGuestAccelerator</a>[]

guest_accelerator block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#guest_accelerator ComputeInstanceTemplate#guest_accelerator}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#id ComputeInstanceTemplate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `instanceDescription`<sup>Optional</sup> <a name="instanceDescription" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.instanceDescription"></a>

```typescript
public readonly instanceDescription: string;
```

- *Type:* string

A description of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#instance_description ComputeInstanceTemplate#instance_description}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to instances created from this template,.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#labels ComputeInstanceTemplate#labels}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Metadata key/value pairs to make available from within instances created from this template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#metadata ComputeInstanceTemplate#metadata}

---

##### `metadataStartupScript`<sup>Optional</sup> <a name="metadataStartupScript" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.metadataStartupScript"></a>

```typescript
public readonly metadataStartupScript: string;
```

- *Type:* string

An alternative to using the startup-script metadata key, mostly to match the compute_instance resource.

This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#metadata_startup_script ComputeInstanceTemplate#metadata_startup_script}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

Specifies a minimum CPU platform.

Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#min_cpu_platform ComputeInstanceTemplate#min_cpu_platform}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance template. If you leave this blank, Terraform will auto-generate a unique name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#name ComputeInstanceTemplate#name}

---

##### `namePrefix`<sup>Optional</sup> <a name="namePrefix" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

Creates a unique name beginning with the specified prefix. Conflicts with name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#name_prefix ComputeInstanceTemplate#name_prefix}

---

##### `networkInterface`<sup>Optional</sup> <a name="networkInterface" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.networkInterface"></a>

```typescript
public readonly networkInterface: IResolvable | ComputeInstanceTemplateNetworkInterface[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface">ComputeInstanceTemplateNetworkInterface</a>[]

network_interface block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#network_interface ComputeInstanceTemplate#network_interface}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#project ComputeInstanceTemplate#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

An instance template is a global resource that is not bound to a zone or a region.

However, you can still specify some regional resources in an instance template, which restricts the template to the region where that resource resides. For example, a custom subnetwork resource is tied to a specific region. Defaults to the region of the Provider if no value is given.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#region ComputeInstanceTemplate#region}

---

##### `reservationAffinity`<sup>Optional</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: ComputeInstanceTemplateReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity">ComputeInstanceTemplateReservationAffinity</a>

reservation_affinity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#reservation_affinity ComputeInstanceTemplate#reservation_affinity}

---

##### `scheduling`<sup>Optional</sup> <a name="scheduling" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.scheduling"></a>

```typescript
public readonly scheduling: ComputeInstanceTemplateScheduling;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling">ComputeInstanceTemplateScheduling</a>

scheduling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#scheduling ComputeInstanceTemplate#scheduling}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: ComputeInstanceTemplateServiceAccount;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount">ComputeInstanceTemplateServiceAccount</a>

service_account block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#service_account ComputeInstanceTemplate#service_account}

---

##### `shieldedInstanceConfig`<sup>Optional</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: ComputeInstanceTemplateShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig">ComputeInstanceTemplateShieldedInstanceConfig</a>

shielded_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#shielded_instance_config ComputeInstanceTemplate#shielded_instance_config}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

Tags to attach to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#tags ComputeInstanceTemplate#tags}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInstanceTemplateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInstanceTemplateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateTimeouts">ComputeInstanceTemplateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#timeouts ComputeInstanceTemplate#timeouts}

---

### ComputeInstanceTemplateDisk <a name="ComputeInstanceTemplateDisk" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.Initializer"></a>

```typescript
import { ComputeInstanceTemplateDisk } from '@dschmidt/provider-google'

const computeInstanceTemplateDisk: ComputeInstanceTemplateDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.autoDelete">autoDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not the disk should be auto-deleted. This defaults to true. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.boot">boot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates that this is a boot disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.deviceName">deviceName</a></code> | <code>string</code> | A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.diskEncryptionKey">diskEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDiskDiskEncryptionKey">ComputeInstanceTemplateDiskDiskEncryptionKey</a></code> | disk_encryption_key block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.diskName">diskName</a></code> | <code>string</code> | Name of the disk. When not provided, this defaults to the name of the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | The size of the image in gigabytes. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.diskType">diskType</a></code> | <code>string</code> | The Google Compute Engine disk type. Such as "pd-ssd", "local-ssd", "pd-balanced" or "pd-standard". |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.interface">interface</a></code> | <code>string</code> | Specifies the disk interface to use for attaching this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to disks,. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.mode">mode</a></code> | <code>string</code> | The mode in which to attach this disk, either READ_WRITE or READ_ONLY. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.resourcePolicies">resourcePolicies</a></code> | <code>string[]</code> | A list (short name or id) of resource policies to attach to this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.source">source</a></code> | <code>string</code> | The name (not self_link) of the disk (such as those managed by google_compute_disk) to attach. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.sourceImage">sourceImage</a></code> | <code>string</code> | The image from which to initialize this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.type">type</a></code> | <code>string</code> | The type of Google Compute Engine disk, can be either "SCRATCH" or "PERSISTENT". |

---

##### `autoDelete`<sup>Optional</sup> <a name="autoDelete" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.autoDelete"></a>

```typescript
public readonly autoDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not the disk should be auto-deleted. This defaults to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#auto_delete ComputeInstanceTemplate#auto_delete}

---

##### `boot`<sup>Optional</sup> <a name="boot" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.boot"></a>

```typescript
public readonly boot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates that this is a boot disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#boot ComputeInstanceTemplate#boot}

---

##### `deviceName`<sup>Optional</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.

If not specified, the server chooses a default device name to apply to this disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#device_name ComputeInstanceTemplate#device_name}

---

##### `diskEncryptionKey`<sup>Optional</sup> <a name="diskEncryptionKey" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.diskEncryptionKey"></a>

```typescript
public readonly diskEncryptionKey: ComputeInstanceTemplateDiskDiskEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateDiskDiskEncryptionKey">ComputeInstanceTemplateDiskDiskEncryptionKey</a>

disk_encryption_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#disk_encryption_key ComputeInstanceTemplate#disk_encryption_key}

---

##### `diskName`<sup>Optional</sup> <a name="diskName" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.diskName"></a>

```typescript
public readonly diskName: string;
```

- *Type:* string

Name of the disk. When not provided, this defaults to the name of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#disk_name ComputeInstanceTemplate#disk_name}

---

##### `diskSizeGb`<sup>Optional</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

The size of the image in gigabytes.

If not specified, it will inherit the size of its base image. For SCRATCH disks, the size must be exactly 375GB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#disk_size_gb ComputeInstanceTemplate#disk_size_gb}

---

##### `diskType`<sup>Optional</sup> <a name="diskType" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.diskType"></a>

```typescript
public readonly diskType: string;
```

- *Type:* string

The Google Compute Engine disk type. Such as "pd-ssd", "local-ssd", "pd-balanced" or "pd-standard".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#disk_type ComputeInstanceTemplate#disk_type}

---

##### `interface`<sup>Optional</sup> <a name="interface" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.interface"></a>

```typescript
public readonly interface: string;
```

- *Type:* string

Specifies the disk interface to use for attaching this disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#interface ComputeInstanceTemplate#interface}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to disks,.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#labels ComputeInstanceTemplate#labels}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

The mode in which to attach this disk, either READ_WRITE or READ_ONLY.

If you are attaching or creating a boot disk, this must read-write mode.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#mode ComputeInstanceTemplate#mode}

---

##### `resourcePolicies`<sup>Optional</sup> <a name="resourcePolicies" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.resourcePolicies"></a>

```typescript
public readonly resourcePolicies: string[];
```

- *Type:* string[]

A list (short name or id) of resource policies to attach to this disk.

Currently a max of 1 resource policy is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#resource_policies ComputeInstanceTemplate#resource_policies}

---

##### `source`<sup>Optional</sup> <a name="source" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

The name (not self_link) of the disk (such as those managed by google_compute_disk) to attach.

~> Note: Either source or source_image is required when creating a new instance except for when creating a local SSD.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#source ComputeInstanceTemplate#source}

---

##### `sourceImage`<sup>Optional</sup> <a name="sourceImage" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.sourceImage"></a>

```typescript
public readonly sourceImage: string;
```

- *Type:* string

The image from which to initialize this disk.

This can be one of: the image's self_link, projects/{project}/global/images/{image}, projects/{project}/global/images/family/{family}, global/images/{image}, global/images/family/{family}, family/{family}, {project}/{family}, {project}/{image}, {family}, or {image}. ~> Note: Either source or source_image is required when creating a new instance except for when creating a local SSD.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#source_image ComputeInstanceTemplate#source_image}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceTemplateDisk.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of Google Compute Engine disk, can be either "SCRATCH" or "PERSISTENT".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#type ComputeInstanceTemplate#type}

---

### ComputeInstanceTemplateDiskDiskEncryptionKey <a name="ComputeInstanceTemplateDiskDiskEncryptionKey" id="@dschmidt/provider-google.ComputeInstanceTemplateDiskDiskEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateDiskDiskEncryptionKey.Initializer"></a>

```typescript
import { ComputeInstanceTemplateDiskDiskEncryptionKey } from '@dschmidt/provider-google'

const computeInstanceTemplateDiskDiskEncryptionKey: ComputeInstanceTemplateDiskDiskEncryptionKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateDiskDiskEncryptionKey.property.kmsKeySelfLink">kmsKeySelfLink</a></code> | <code>string</code> | The self link of the encryption key that is stored in Google Cloud KMS. |

---

##### `kmsKeySelfLink`<sup>Required</sup> <a name="kmsKeySelfLink" id="@dschmidt/provider-google.ComputeInstanceTemplateDiskDiskEncryptionKey.property.kmsKeySelfLink"></a>

```typescript
public readonly kmsKeySelfLink: string;
```

- *Type:* string

The self link of the encryption key that is stored in Google Cloud KMS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#kms_key_self_link ComputeInstanceTemplate#kms_key_self_link}

---

### ComputeInstanceTemplateGuestAccelerator <a name="ComputeInstanceTemplateGuestAccelerator" id="@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator.Initializer"></a>

```typescript
import { ComputeInstanceTemplateGuestAccelerator } from '@dschmidt/provider-google'

const computeInstanceTemplateGuestAccelerator: ComputeInstanceTemplateGuestAccelerator = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator.property.count">count</a></code> | <code>number</code> | The number of the guest accelerator cards exposed to this instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator.property.type">type</a></code> | <code>string</code> | The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80. |

---

##### `count`<sup>Required</sup> <a name="count" id="@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

The number of the guest accelerator cards exposed to this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#count ComputeInstanceTemplate#count}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceTemplateGuestAccelerator.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#type ComputeInstanceTemplate#type}

---

### ComputeInstanceTemplateNetworkInterface <a name="ComputeInstanceTemplateNetworkInterface" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.Initializer"></a>

```typescript
import { ComputeInstanceTemplateNetworkInterface } from '@dschmidt/provider-google'

const computeInstanceTemplateNetworkInterface: ComputeInstanceTemplateNetworkInterface = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.accessConfig">accessConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAccessConfig">ComputeInstanceTemplateNetworkInterfaceAccessConfig</a>[]</code> | access_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.aliasIpRange">aliasIpRange</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAliasIpRange">ComputeInstanceTemplateNetworkInterfaceAliasIpRange</a>[]</code> | alias_ip_range block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.ipv6AccessConfig">ipv6AccessConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig">ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig</a>[]</code> | ipv6_access_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.network">network</a></code> | <code>string</code> | The name or self_link of the network to attach this interface to. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.networkIp">networkIp</a></code> | <code>string</code> | The private IP address to assign to the instance. If empty, the address will be automatically assigned. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.nicType">nicType</a></code> | <code>string</code> | The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.queueCount">queueCount</a></code> | <code>number</code> | The networking queue count that's specified by users for the network interface. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.stackType">stackType</a></code> | <code>string</code> | The stack type for this network interface to identify whether the IPv6 feature is enabled or not. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.subnetwork">subnetwork</a></code> | <code>string</code> | The name of the subnetwork to attach this interface to. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.subnetworkProject">subnetworkProject</a></code> | <code>string</code> | The ID of the project in which the subnetwork belongs. |

---

##### `accessConfig`<sup>Optional</sup> <a name="accessConfig" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.accessConfig"></a>

```typescript
public readonly accessConfig: IResolvable | ComputeInstanceTemplateNetworkInterfaceAccessConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAccessConfig">ComputeInstanceTemplateNetworkInterfaceAccessConfig</a>[]

access_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#access_config ComputeInstanceTemplate#access_config}

---

##### `aliasIpRange`<sup>Optional</sup> <a name="aliasIpRange" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.aliasIpRange"></a>

```typescript
public readonly aliasIpRange: IResolvable | ComputeInstanceTemplateNetworkInterfaceAliasIpRange[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAliasIpRange">ComputeInstanceTemplateNetworkInterfaceAliasIpRange</a>[]

alias_ip_range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#alias_ip_range ComputeInstanceTemplate#alias_ip_range}

---

##### `ipv6AccessConfig`<sup>Optional</sup> <a name="ipv6AccessConfig" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.ipv6AccessConfig"></a>

```typescript
public readonly ipv6AccessConfig: IResolvable | ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig">ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig</a>[]

ipv6_access_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#ipv6_access_config ComputeInstanceTemplate#ipv6_access_config}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name or self_link of the network to attach this interface to.

Use network attribute for Legacy or Auto subnetted networks and subnetwork for custom subnetted networks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#network ComputeInstanceTemplate#network}

---

##### `networkIp`<sup>Optional</sup> <a name="networkIp" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.networkIp"></a>

```typescript
public readonly networkIp: string;
```

- *Type:* string

The private IP address to assign to the instance. If empty, the address will be automatically assigned.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#network_ip ComputeInstanceTemplate#network_ip}

---

##### `nicType`<sup>Optional</sup> <a name="nicType" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.nicType"></a>

```typescript
public readonly nicType: string;
```

- *Type:* string

The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#nic_type ComputeInstanceTemplate#nic_type}

---

##### `queueCount`<sup>Optional</sup> <a name="queueCount" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.queueCount"></a>

```typescript
public readonly queueCount: number;
```

- *Type:* number

The networking queue count that's specified by users for the network interface.

Both Rx and Tx queues will be set to this number. It will be empty if not specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#queue_count ComputeInstanceTemplate#queue_count}

---

##### `stackType`<sup>Optional</sup> <a name="stackType" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.stackType"></a>

```typescript
public readonly stackType: string;
```

- *Type:* string

The stack type for this network interface to identify whether the IPv6 feature is enabled or not.

If not specified, IPV4_ONLY will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#stack_type ComputeInstanceTemplate#stack_type}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

The name of the subnetwork to attach this interface to.

The subnetwork must exist in the same region this instance will be created in. Either network or subnetwork must be provided.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#subnetwork ComputeInstanceTemplate#subnetwork}

---

##### `subnetworkProject`<sup>Optional</sup> <a name="subnetworkProject" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterface.property.subnetworkProject"></a>

```typescript
public readonly subnetworkProject: string;
```

- *Type:* string

The ID of the project in which the subnetwork belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#subnetwork_project ComputeInstanceTemplate#subnetwork_project}

---

### ComputeInstanceTemplateNetworkInterfaceAccessConfig <a name="ComputeInstanceTemplateNetworkInterfaceAccessConfig" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAccessConfig.Initializer"></a>

```typescript
import { ComputeInstanceTemplateNetworkInterfaceAccessConfig } from '@dschmidt/provider-google'

const computeInstanceTemplateNetworkInterfaceAccessConfig: ComputeInstanceTemplateNetworkInterfaceAccessConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAccessConfig.property.natIp">natIp</a></code> | <code>string</code> | The IP address that will be 1:1 mapped to the instance's network ip. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAccessConfig.property.networkTier">networkTier</a></code> | <code>string</code> | The networking tier used for configuring this instance template. |

---

##### `natIp`<sup>Optional</sup> <a name="natIp" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAccessConfig.property.natIp"></a>

```typescript
public readonly natIp: string;
```

- *Type:* string

The IP address that will be 1:1 mapped to the instance's network ip.

If not given, one will be generated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#nat_ip ComputeInstanceTemplate#nat_ip}

---

##### `networkTier`<sup>Optional</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAccessConfig.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

The networking tier used for configuring this instance template.

This field can take the following values: PREMIUM, STANDARD, FIXED_STANDARD. If this field is not specified, it is assumed to be PREMIUM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#network_tier ComputeInstanceTemplate#network_tier}

---

### ComputeInstanceTemplateNetworkInterfaceAliasIpRange <a name="ComputeInstanceTemplateNetworkInterfaceAliasIpRange" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAliasIpRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAliasIpRange.Initializer"></a>

```typescript
import { ComputeInstanceTemplateNetworkInterfaceAliasIpRange } from '@dschmidt/provider-google'

const computeInstanceTemplateNetworkInterfaceAliasIpRange: ComputeInstanceTemplateNetworkInterfaceAliasIpRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAliasIpRange.property.ipCidrRange">ipCidrRange</a></code> | <code>string</code> | The IP CIDR range represented by this alias IP range. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAliasIpRange.property.subnetworkRangeName">subnetworkRangeName</a></code> | <code>string</code> | The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. |

---

##### `ipCidrRange`<sup>Required</sup> <a name="ipCidrRange" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAliasIpRange.property.ipCidrRange"></a>

```typescript
public readonly ipCidrRange: string;
```

- *Type:* string

The IP CIDR range represented by this alias IP range.

This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. At the time of writing only a netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#ip_cidr_range ComputeInstanceTemplate#ip_cidr_range}

---

##### `subnetworkRangeName`<sup>Optional</sup> <a name="subnetworkRangeName" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceAliasIpRange.property.subnetworkRangeName"></a>

```typescript
public readonly subnetworkRangeName: string;
```

- *Type:* string

The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range.

If left unspecified, the primary range of the subnetwork will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#subnetwork_range_name ComputeInstanceTemplate#subnetwork_range_name}

---

### ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig <a name="ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig.Initializer"></a>

```typescript
import { ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig } from '@dschmidt/provider-google'

const computeInstanceTemplateNetworkInterfaceIpv6AccessConfig: ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig.property.networkTier">networkTier</a></code> | <code>string</code> | The service-level to be provided for IPv6 traffic when the subnet has an external subnet. |

---

##### `networkTier`<sup>Required</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

The service-level to be provided for IPv6 traffic when the subnet has an external subnet.

Only PREMIUM tier is valid for IPv6

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#network_tier ComputeInstanceTemplate#network_tier}

---

### ComputeInstanceTemplateReservationAffinity <a name="ComputeInstanceTemplateReservationAffinity" id="@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity.Initializer"></a>

```typescript
import { ComputeInstanceTemplateReservationAffinity } from '@dschmidt/provider-google'

const computeInstanceTemplateReservationAffinity: ComputeInstanceTemplateReservationAffinity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity.property.type">type</a></code> | <code>string</code> | The type of reservation from which this instance can consume resources. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity.property.specificReservation">specificReservation</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinitySpecificReservation">ComputeInstanceTemplateReservationAffinitySpecificReservation</a></code> | specific_reservation block. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of reservation from which this instance can consume resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#type ComputeInstanceTemplate#type}

---

##### `specificReservation`<sup>Optional</sup> <a name="specificReservation" id="@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinity.property.specificReservation"></a>

```typescript
public readonly specificReservation: ComputeInstanceTemplateReservationAffinitySpecificReservation;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinitySpecificReservation">ComputeInstanceTemplateReservationAffinitySpecificReservation</a>

specific_reservation block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#specific_reservation ComputeInstanceTemplate#specific_reservation}

---

### ComputeInstanceTemplateReservationAffinitySpecificReservation <a name="ComputeInstanceTemplateReservationAffinitySpecificReservation" id="@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinitySpecificReservation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinitySpecificReservation.Initializer"></a>

```typescript
import { ComputeInstanceTemplateReservationAffinitySpecificReservation } from '@dschmidt/provider-google'

const computeInstanceTemplateReservationAffinitySpecificReservation: ComputeInstanceTemplateReservationAffinitySpecificReservation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinitySpecificReservation.property.key">key</a></code> | <code>string</code> | Corresponds to the label key of a reservation resource. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinitySpecificReservation.property.values">values</a></code> | <code>string[]</code> | Corresponds to the label values of a reservation resource. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinitySpecificReservation.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Corresponds to the label key of a reservation resource.

To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#key ComputeInstanceTemplate#key}

---

##### `values`<sup>Required</sup> <a name="values" id="@dschmidt/provider-google.ComputeInstanceTemplateReservationAffinitySpecificReservation.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

Corresponds to the label values of a reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#values ComputeInstanceTemplate#values}

---

### ComputeInstanceTemplateScheduling <a name="ComputeInstanceTemplateScheduling" id="@dschmidt/provider-google.ComputeInstanceTemplateScheduling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateScheduling.Initializer"></a>

```typescript
import { ComputeInstanceTemplateScheduling } from '@dschmidt/provider-google'

const computeInstanceTemplateScheduling: ComputeInstanceTemplateScheduling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.automaticRestart">automaticRestart</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.instanceTerminationAction">instanceTerminationAction</a></code> | <code>string</code> | Specifies the action GCE should take when SPOT VM is preempted. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.minNodeCpus">minNodeCpus</a></code> | <code>number</code> | Minimum number of cpus for the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.nodeAffinities">nodeAffinities</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities">ComputeInstanceTemplateSchedulingNodeAffinities</a>[]</code> | node_affinities block. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.onHostMaintenance">onHostMaintenance</a></code> | <code>string</code> | Defines the maintenance behavior for this instance. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.preemptible">preemptible</a></code> | <code>boolean \| cdktf.IResolvable</code> | Allows instance to be preempted. This defaults to false. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.provisioningModel">provisioningModel</a></code> | <code>string</code> | Whether the instance is spot. If this is set as SPOT. |

---

##### `automaticRestart`<sup>Optional</sup> <a name="automaticRestart" id="@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.automaticRestart"></a>

```typescript
public readonly automaticRestart: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user).

This defaults to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#automatic_restart ComputeInstanceTemplate#automatic_restart}

---

##### `instanceTerminationAction`<sup>Optional</sup> <a name="instanceTerminationAction" id="@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.instanceTerminationAction"></a>

```typescript
public readonly instanceTerminationAction: string;
```

- *Type:* string

Specifies the action GCE should take when SPOT VM is preempted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#instance_termination_action ComputeInstanceTemplate#instance_termination_action}

---

##### `minNodeCpus`<sup>Optional</sup> <a name="minNodeCpus" id="@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.minNodeCpus"></a>

```typescript
public readonly minNodeCpus: number;
```

- *Type:* number

Minimum number of cpus for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#min_node_cpus ComputeInstanceTemplate#min_node_cpus}

---

##### `nodeAffinities`<sup>Optional</sup> <a name="nodeAffinities" id="@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.nodeAffinities"></a>

```typescript
public readonly nodeAffinities: IResolvable | ComputeInstanceTemplateSchedulingNodeAffinities[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities">ComputeInstanceTemplateSchedulingNodeAffinities</a>[]

node_affinities block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#node_affinities ComputeInstanceTemplate#node_affinities}

---

##### `onHostMaintenance`<sup>Optional</sup> <a name="onHostMaintenance" id="@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.onHostMaintenance"></a>

```typescript
public readonly onHostMaintenance: string;
```

- *Type:* string

Defines the maintenance behavior for this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#on_host_maintenance ComputeInstanceTemplate#on_host_maintenance}

---

##### `preemptible`<sup>Optional</sup> <a name="preemptible" id="@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.preemptible"></a>

```typescript
public readonly preemptible: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Allows instance to be preempted. This defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#preemptible ComputeInstanceTemplate#preemptible}

---

##### `provisioningModel`<sup>Optional</sup> <a name="provisioningModel" id="@dschmidt/provider-google.ComputeInstanceTemplateScheduling.property.provisioningModel"></a>

```typescript
public readonly provisioningModel: string;
```

- *Type:* string

Whether the instance is spot. If this is set as SPOT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#provisioning_model ComputeInstanceTemplate#provisioning_model}

---

### ComputeInstanceTemplateSchedulingNodeAffinities <a name="ComputeInstanceTemplateSchedulingNodeAffinities" id="@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities.Initializer"></a>

```typescript
import { ComputeInstanceTemplateSchedulingNodeAffinities } from '@dschmidt/provider-google'

const computeInstanceTemplateSchedulingNodeAffinities: ComputeInstanceTemplateSchedulingNodeAffinities = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities.property.key">key</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#key ComputeInstanceTemplate#key}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities.property.operator">operator</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#operator ComputeInstanceTemplate#operator}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities.property.values">values</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#values ComputeInstanceTemplate#values}. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#key ComputeInstanceTemplate#key}.

---

##### `operator`<sup>Required</sup> <a name="operator" id="@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities.property.operator"></a>

```typescript
public readonly operator: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#operator ComputeInstanceTemplate#operator}.

---

##### `values`<sup>Required</sup> <a name="values" id="@dschmidt/provider-google.ComputeInstanceTemplateSchedulingNodeAffinities.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#values ComputeInstanceTemplate#values}.

---

### ComputeInstanceTemplateServiceAccount <a name="ComputeInstanceTemplateServiceAccount" id="@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount.Initializer"></a>

```typescript
import { ComputeInstanceTemplateServiceAccount } from '@dschmidt/provider-google'

const computeInstanceTemplateServiceAccount: ComputeInstanceTemplateServiceAccount = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount.property.scopes">scopes</a></code> | <code>string[]</code> | A list of service scopes. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount.property.email">email</a></code> | <code>string</code> | The service account e-mail address. If not given, the default Google Compute Engine service account is used. |

---

##### `scopes`<sup>Required</sup> <a name="scopes" id="@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount.property.scopes"></a>

```typescript
public readonly scopes: string[];
```

- *Type:* string[]

A list of service scopes.

Both OAuth2 URLs and gcloud short names are supported. To allow full access to all Cloud APIs, use the cloud-platform scope.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#scopes ComputeInstanceTemplate#scopes}

---

##### `email`<sup>Optional</sup> <a name="email" id="@dschmidt/provider-google.ComputeInstanceTemplateServiceAccount.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

The service account e-mail address. If not given, the default Google Compute Engine service account is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#email ComputeInstanceTemplate#email}

---

### ComputeInstanceTemplateShieldedInstanceConfig <a name="ComputeInstanceTemplateShieldedInstanceConfig" id="@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig.Initializer"></a>

```typescript
import { ComputeInstanceTemplateShieldedInstanceConfig } from '@dschmidt/provider-google'

const computeInstanceTemplateShieldedInstanceConfig: ComputeInstanceTemplateShieldedInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig.property.enableIntegrityMonitoring">enableIntegrityMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig.property.enableSecureBoot">enableSecureBoot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Verify the digital signature of all boot components, and halt the boot process if signature verification fails. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig.property.enableVtpm">enableVtpm</a></code> | <code>boolean \| cdktf.IResolvable</code> | Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. |

---

##### `enableIntegrityMonitoring`<sup>Optional</sup> <a name="enableIntegrityMonitoring" id="@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig.property.enableIntegrityMonitoring"></a>

```typescript
public readonly enableIntegrityMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not.

Defaults to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#enable_integrity_monitoring ComputeInstanceTemplate#enable_integrity_monitoring}

---

##### `enableSecureBoot`<sup>Optional</sup> <a name="enableSecureBoot" id="@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig.property.enableSecureBoot"></a>

```typescript
public readonly enableSecureBoot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Verify the digital signature of all boot components, and halt the boot process if signature verification fails.

Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#enable_secure_boot ComputeInstanceTemplate#enable_secure_boot}

---

##### `enableVtpm`<sup>Optional</sup> <a name="enableVtpm" id="@dschmidt/provider-google.ComputeInstanceTemplateShieldedInstanceConfig.property.enableVtpm"></a>

```typescript
public readonly enableVtpm: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates.

Defaults to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#enable_vtpm ComputeInstanceTemplate#enable_vtpm}

---

### ComputeInstanceTemplateTimeouts <a name="ComputeInstanceTemplateTimeouts" id="@dschmidt/provider-google.ComputeInstanceTemplateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTemplateTimeouts.Initializer"></a>

```typescript
import { ComputeInstanceTemplateTimeouts } from '@dschmidt/provider-google'

const computeInstanceTemplateTimeouts: ComputeInstanceTemplateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#create ComputeInstanceTemplate#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTemplateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#delete ComputeInstanceTemplate#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeInstanceTemplateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#create ComputeInstanceTemplate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeInstanceTemplateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance_template#delete ComputeInstanceTemplate#delete}.

---

### ComputeInstanceTimeouts <a name="ComputeInstanceTimeouts" id="@dschmidt/provider-google.ComputeInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInstanceTimeouts.Initializer"></a>

```typescript
import { ComputeInstanceTimeouts } from '@dschmidt/provider-google'

const computeInstanceTimeouts: ComputeInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#create ComputeInstance#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#delete ComputeInstance#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeInstanceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#update ComputeInstance#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#create ComputeInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#delete ComputeInstance#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeInstanceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_instance#update ComputeInstance#update}.

---

### ComputeInterconnectAttachmentConfig <a name="ComputeInterconnectAttachmentConfig" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.Initializer"></a>

```typescript
import { ComputeInterconnectAttachmentConfig } from '@dschmidt/provider-google'

const computeInterconnectAttachmentConfig: ComputeInterconnectAttachmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.router">router</a></code> | <code>string</code> | URL of the cloud router to be used for dynamic routing. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.adminEnabled">adminEnabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the VLAN attachment is enabled or disabled.  When using PARTNER type this will Pre-Activate the interconnect attachment. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.bandwidth">bandwidth</a></code> | <code>string</code> | Provisioned bandwidth capacity for the interconnect attachment. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.candidateSubnets">candidateSubnets</a></code> | <code>string[]</code> | Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.edgeAvailabilityDomain">edgeAvailabilityDomain</a></code> | <code>string</code> | Desired availability domain for the attachment. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.encryption">encryption</a></code> | <code>string</code> | Indicates the user-supplied encryption option of this interconnect attachment:. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#id ComputeInterconnectAttachment#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.interconnect">interconnect</a></code> | <code>string</code> | URL of the underlying Interconnect object that this attachment's traffic will traverse through. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.ipsecInternalAddresses">ipsecInternalAddresses</a></code> | <code>string[]</code> | URL of addresses that have been reserved for the interconnect attachment, Used only for interconnect attachment that has the encryption option as IPSEC. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.mtu">mtu</a></code> | <code>string</code> | Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#project ComputeInterconnectAttachment#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.region">region</a></code> | <code>string</code> | Region where the regional interconnect attachment resides. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts">ComputeInterconnectAttachmentTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.type">type</a></code> | <code>string</code> | The type of InterconnectAttachment you wish to create. Defaults to DEDICATED. Possible values: ["DEDICATED", "PARTNER", "PARTNER_PROVIDER"]. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.vlanTag8021Q">vlanTag8021Q</a></code> | <code>number</code> | The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. When using PARTNER type this will be managed upstream. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is created. The
name must be 1-63 characters long, and comply with RFC1035. Specifically, the
name must be 1-63 characters long and match the regular expression
'[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a
lowercase letter, and all following characters must be a dash, lowercase
letter, or digit, except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#name ComputeInterconnectAttachment#name}

---

##### `router`<sup>Required</sup> <a name="router" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

URL of the cloud router to be used for dynamic routing.

This router must be in
the same region as this InterconnectAttachment. The InterconnectAttachment will
automatically connect the Interconnect to the network & region within which the
Cloud Router is configured.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#router ComputeInterconnectAttachment#router}

---

##### `adminEnabled`<sup>Optional</sup> <a name="adminEnabled" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.adminEnabled"></a>

```typescript
public readonly adminEnabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the VLAN attachment is enabled or disabled.  When using PARTNER type this will Pre-Activate the interconnect attachment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#admin_enabled ComputeInterconnectAttachment#admin_enabled}

---

##### `bandwidth`<sup>Optional</sup> <a name="bandwidth" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.bandwidth"></a>

```typescript
public readonly bandwidth: string;
```

- *Type:* string

Provisioned bandwidth capacity for the interconnect attachment.

For attachments of type DEDICATED, the user can set the bandwidth.
For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth.
Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED,
Defaults to BPS_10G Possible values: ["BPS_50M", "BPS_100M", "BPS_200M", "BPS_300M", "BPS_400M", "BPS_500M", "BPS_1G", "BPS_2G", "BPS_5G", "BPS_10G", "BPS_20G", "BPS_50G"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#bandwidth ComputeInterconnectAttachment#bandwidth}

---

##### `candidateSubnets`<sup>Optional</sup> <a name="candidateSubnets" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.candidateSubnets"></a>

```typescript
public readonly candidateSubnets: string[];
```

- *Type:* string[]

Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment.

All prefixes must be within link-local address space (169.254.0.0/16)
and must be /29 or shorter (/28, /27, etc). Google will attempt to select
an unused /29 from the supplied candidate prefix(es). The request will
fail if all possible /29s are in use on Google's edge. If not supplied,
Google will randomly select an unused /29 from all of link-local space.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#candidate_subnets ComputeInterconnectAttachment#candidate_subnets}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#description ComputeInterconnectAttachment#description}

---

##### `edgeAvailabilityDomain`<sup>Optional</sup> <a name="edgeAvailabilityDomain" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.edgeAvailabilityDomain"></a>

```typescript
public readonly edgeAvailabilityDomain: string;
```

- *Type:* string

Desired availability domain for the attachment.

Only available for type
PARTNER, at creation time. For improved reliability, customers should
configure a pair of attachments with one per availability domain. The
selected availability domain will be provided to the Partner via the
pairing key so that the provisioned circuit will lie in the specified
domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#edge_availability_domain ComputeInterconnectAttachment#edge_availability_domain}

---

##### `encryption`<sup>Optional</sup> <a name="encryption" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.encryption"></a>

```typescript
public readonly encryption: string;
```

- *Type:* string

Indicates the user-supplied encryption option of this interconnect attachment:.

NONE is the default value, which means that the attachment carries
unencrypted traffic. VMs can send traffic to, or receive traffic
from, this type of attachment.

IPSEC indicates that the attachment carries only traffic encrypted by
an IPsec device such as an HA VPN gateway. VMs cannot directly send
traffic to, or receive traffic from, such an attachment. To use
IPsec-encrypted Cloud Interconnect create the attachment using this
option.

Not currently available publicly. Default value: "NONE" Possible values: ["NONE", "IPSEC"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#encryption ComputeInterconnectAttachment#encryption}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#id ComputeInterconnectAttachment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `interconnect`<sup>Optional</sup> <a name="interconnect" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.interconnect"></a>

```typescript
public readonly interconnect: string;
```

- *Type:* string

URL of the underlying Interconnect object that this attachment's traffic will traverse through.

Required if type is DEDICATED, must not
be set if type is PARTNER.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#interconnect ComputeInterconnectAttachment#interconnect}

---

##### `ipsecInternalAddresses`<sup>Optional</sup> <a name="ipsecInternalAddresses" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.ipsecInternalAddresses"></a>

```typescript
public readonly ipsecInternalAddresses: string[];
```

- *Type:* string[]

URL of addresses that have been reserved for the interconnect attachment, Used only for interconnect attachment that has the encryption option as IPSEC.

The addresses must be RFC 1918 IP address ranges. When creating HA
VPN gateway over the interconnect attachment, if the attachment is
configured to use an RFC 1918 IP address, then the VPN gateway's IP
address will be allocated from the IP address range specified
here.

For example, if the HA VPN gateway's interface 0 is paired to this
interconnect attachment, then an RFC 1918 IP address for the VPN
gateway interface 0 will be allocated from the IP address specified
for this interconnect attachment.

If this field is not specified for interconnect attachment that has
encryption option as IPSEC, later on when creating HA VPN gateway on
this interconnect attachment, the HA VPN gateway's IP address will be
allocated from regional external IP address pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#ipsec_internal_addresses ComputeInterconnectAttachment#ipsec_internal_addresses}

---

##### `mtu`<sup>Optional</sup> <a name="mtu" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.mtu"></a>

```typescript
public readonly mtu: string;
```

- *Type:* string

Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment.

Currently, only 1440 and 1500 are allowed. If not specified, the value will default to 1440.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#mtu ComputeInterconnectAttachment#mtu}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#project ComputeInterconnectAttachment#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where the regional interconnect attachment resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#region ComputeInterconnectAttachment#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeInterconnectAttachmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts">ComputeInterconnectAttachmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#timeouts ComputeInterconnectAttachment#timeouts}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of InterconnectAttachment you wish to create. Defaults to DEDICATED. Possible values: ["DEDICATED", "PARTNER", "PARTNER_PROVIDER"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#type ComputeInterconnectAttachment#type}

---

##### `vlanTag8021Q`<sup>Optional</sup> <a name="vlanTag8021Q" id="@dschmidt/provider-google.ComputeInterconnectAttachmentConfig.property.vlanTag8021Q"></a>

```typescript
public readonly vlanTag8021Q: number;
```

- *Type:* number

The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. When using PARTNER type this will be managed upstream.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#vlan_tag8021q ComputeInterconnectAttachment#vlan_tag8021q}

---

### ComputeInterconnectAttachmentPrivateInterconnectInfo <a name="ComputeInterconnectAttachmentPrivateInterconnectInfo" id="@dschmidt/provider-google.ComputeInterconnectAttachmentPrivateInterconnectInfo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInterconnectAttachmentPrivateInterconnectInfo.Initializer"></a>

```typescript
import { ComputeInterconnectAttachmentPrivateInterconnectInfo } from '@dschmidt/provider-google'

const computeInterconnectAttachmentPrivateInterconnectInfo: ComputeInterconnectAttachmentPrivateInterconnectInfo = { ... }
```


### ComputeInterconnectAttachmentTimeouts <a name="ComputeInterconnectAttachmentTimeouts" id="@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts.Initializer"></a>

```typescript
import { ComputeInterconnectAttachmentTimeouts } from '@dschmidt/provider-google'

const computeInterconnectAttachmentTimeouts: ComputeInterconnectAttachmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#create ComputeInterconnectAttachment#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#delete ComputeInterconnectAttachment#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#update ComputeInterconnectAttachment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#create ComputeInterconnectAttachment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#delete ComputeInterconnectAttachment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeInterconnectAttachmentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_interconnect_attachment#update ComputeInterconnectAttachment#update}.

---

### ComputeManagedSslCertificateConfig <a name="ComputeManagedSslCertificateConfig" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.Initializer"></a>

```typescript
import { ComputeManagedSslCertificateConfig } from '@dschmidt/provider-google'

const computeManagedSslCertificateConfig: ComputeManagedSslCertificateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.certificateId">certificateId</a></code> | <code>number</code> | The unique identifier for the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#id ComputeManagedSslCertificate#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.managed">managed</a></code> | <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateManaged">ComputeManagedSslCertificateManaged</a></code> | managed block. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#project ComputeManagedSslCertificate#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts">ComputeManagedSslCertificateTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.type">type</a></code> | <code>string</code> | Enum field whose value is always 'MANAGED' - used to signal to the API which type this is. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificateId`<sup>Optional</sup> <a name="certificateId" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.certificateId"></a>

```typescript
public readonly certificateId: number;
```

- *Type:* number

The unique identifier for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#certificate_id ComputeManagedSslCertificate#certificate_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#description ComputeManagedSslCertificate#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#id ComputeManagedSslCertificate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `managed`<sup>Optional</sup> <a name="managed" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.managed"></a>

```typescript
public readonly managed: ComputeManagedSslCertificateManaged;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateManaged">ComputeManagedSslCertificateManaged</a>

managed block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#managed ComputeManagedSslCertificate#managed}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.


These are in the same namespace as the managed SSL certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#name ComputeManagedSslCertificate#name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#project ComputeManagedSslCertificate#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeManagedSslCertificateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts">ComputeManagedSslCertificateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#timeouts ComputeManagedSslCertificate#timeouts}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeManagedSslCertificateConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Enum field whose value is always 'MANAGED' - used to signal to the API which type this is.

Default value: "MANAGED" Possible values: ["MANAGED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#type ComputeManagedSslCertificate#type}

---

### ComputeManagedSslCertificateManaged <a name="ComputeManagedSslCertificateManaged" id="@dschmidt/provider-google.ComputeManagedSslCertificateManaged"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeManagedSslCertificateManaged.Initializer"></a>

```typescript
import { ComputeManagedSslCertificateManaged } from '@dschmidt/provider-google'

const computeManagedSslCertificateManaged: ComputeManagedSslCertificateManaged = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateManaged.property.domains">domains</a></code> | <code>string[]</code> | Domains for which a managed SSL certificate will be valid. |

---

##### `domains`<sup>Required</sup> <a name="domains" id="@dschmidt/provider-google.ComputeManagedSslCertificateManaged.property.domains"></a>

```typescript
public readonly domains: string[];
```

- *Type:* string[]

Domains for which a managed SSL certificate will be valid.

Currently,
there can be up to 100 domains in this list.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#domains ComputeManagedSslCertificate#domains}

---

### ComputeManagedSslCertificateTimeouts <a name="ComputeManagedSslCertificateTimeouts" id="@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts.Initializer"></a>

```typescript
import { ComputeManagedSslCertificateTimeouts } from '@dschmidt/provider-google'

const computeManagedSslCertificateTimeouts: ComputeManagedSslCertificateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#create ComputeManagedSslCertificate#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#delete ComputeManagedSslCertificate#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#create ComputeManagedSslCertificate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeManagedSslCertificateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_managed_ssl_certificate#delete ComputeManagedSslCertificate#delete}.

---

### ComputeNetworkConfig <a name="ComputeNetworkConfig" id="@dschmidt/provider-google.ComputeNetworkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkConfig.Initializer"></a>

```typescript
import { ComputeNetworkConfig } from '@dschmidt/provider-google'

const computeNetworkConfig: ComputeNetworkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.autoCreateSubnetworks">autoCreateSubnetworks</a></code> | <code>boolean \| cdktf.IResolvable</code> | When set to 'true', the network is created in "auto subnet mode" and it will create a subnet for each region automatically across the '10.128.0.0/9' address range. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.deleteDefaultRoutesOnCreate">deleteDefaultRoutesOnCreate</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#delete_default_routes_on_create ComputeNetwork#delete_default_routes_on_create}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. The resource must be recreated to modify this field. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.enableUlaInternalIpv6">enableUlaInternalIpv6</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enable ULA internal ipv6 on this network. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#id ComputeNetwork#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.internalIpv6Range">internalIpv6Range</a></code> | <code>string</code> | When enabling ula internal ipv6, caller optionally can specify the /48 range  they want from the google defined ULA prefix fd20::/20. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.mtu">mtu</a></code> | <code>number</code> | Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#project ComputeNetwork#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.routingMode">routingMode</a></code> | <code>string</code> | The network-wide routing mode to use. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkTimeouts">ComputeNetworkTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetworkConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetworkConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetworkConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetworkConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetworkConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetworkConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetworkConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeNetworkConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#name ComputeNetwork#name}

---

##### `autoCreateSubnetworks`<sup>Optional</sup> <a name="autoCreateSubnetworks" id="@dschmidt/provider-google.ComputeNetworkConfig.property.autoCreateSubnetworks"></a>

```typescript
public readonly autoCreateSubnetworks: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When set to 'true', the network is created in "auto subnet mode" and it will create a subnet for each region automatically across the '10.128.0.0/9' address range.

When set to 'false', the network is created in "custom subnet mode" so
the user can explicitly connect subnetwork resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#auto_create_subnetworks ComputeNetwork#auto_create_subnetworks}

---

##### `deleteDefaultRoutesOnCreate`<sup>Optional</sup> <a name="deleteDefaultRoutesOnCreate" id="@dschmidt/provider-google.ComputeNetworkConfig.property.deleteDefaultRoutesOnCreate"></a>

```typescript
public readonly deleteDefaultRoutesOnCreate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#delete_default_routes_on_create ComputeNetwork#delete_default_routes_on_create}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeNetworkConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. The resource must be recreated to modify this field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#description ComputeNetwork#description}

---

##### `enableUlaInternalIpv6`<sup>Optional</sup> <a name="enableUlaInternalIpv6" id="@dschmidt/provider-google.ComputeNetworkConfig.property.enableUlaInternalIpv6"></a>

```typescript
public readonly enableUlaInternalIpv6: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enable ULA internal ipv6 on this network.

Enabling this feature will assign 
a /48 from google defined ULA prefix fd20::/20.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#enable_ula_internal_ipv6 ComputeNetwork#enable_ula_internal_ipv6}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#id ComputeNetwork#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `internalIpv6Range`<sup>Optional</sup> <a name="internalIpv6Range" id="@dschmidt/provider-google.ComputeNetworkConfig.property.internalIpv6Range"></a>

```typescript
public readonly internalIpv6Range: string;
```

- *Type:* string

When enabling ula internal ipv6, caller optionally can specify the /48 range  they want from the google defined ULA prefix fd20::/20.

The input must be a 
valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will 
fail if the speficied /48 is already in used by another resource. 
If the field is not speficied, then a /48 range will be randomly allocated from fd20::/20 and returned via this field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#internal_ipv6_range ComputeNetwork#internal_ipv6_range}

---

##### `mtu`<sup>Optional</sup> <a name="mtu" id="@dschmidt/provider-google.ComputeNetworkConfig.property.mtu"></a>

```typescript
public readonly mtu: number;
```

- *Type:* number

Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#mtu ComputeNetwork#mtu}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeNetworkConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#project ComputeNetwork#project}.

---

##### `routingMode`<sup>Optional</sup> <a name="routingMode" id="@dschmidt/provider-google.ComputeNetworkConfig.property.routingMode"></a>

```typescript
public readonly routingMode: string;
```

- *Type:* string

The network-wide routing mode to use.

If set to 'REGIONAL', this
network's cloud routers will only advertise routes with subnetworks
of this network in the same region as the router. If set to 'GLOBAL',
this network's cloud routers will advertise routes with all
subnetworks of this network, across regions. Possible values: ["REGIONAL", "GLOBAL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#routing_mode ComputeNetwork#routing_mode}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetworkConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkTimeouts">ComputeNetworkTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#timeouts ComputeNetwork#timeouts}

---

### ComputeNetworkEndpointConfig <a name="ComputeNetworkEndpointConfig" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.Initializer"></a>

```typescript
import { ComputeNetworkEndpointConfig } from '@dschmidt/provider-google'

const computeNetworkEndpointConfig: ComputeNetworkEndpointConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.ipAddress">ipAddress</a></code> | <code>string</code> | IPv4 address of network endpoint. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.networkEndpointGroup">networkEndpointGroup</a></code> | <code>string</code> | The network endpoint group this endpoint is part of. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#id ComputeNetworkEndpoint#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.instance">instance</a></code> | <code>string</code> | The name for a specific VM instance that the IP address belongs to. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.port">port</a></code> | <code>number</code> | Port number of network endpoint. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#project ComputeNetworkEndpoint#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointTimeouts">ComputeNetworkEndpointTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.zone">zone</a></code> | <code>string</code> | Zone where the containing network endpoint group is located. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `ipAddress`<sup>Required</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

IPv4 address of network endpoint.

The IP address must belong
to a VM in GCE (either the primary IP or as part of an aliased IP
range).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#ip_address ComputeNetworkEndpoint#ip_address}

---

##### `networkEndpointGroup`<sup>Required</sup> <a name="networkEndpointGroup" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.networkEndpointGroup"></a>

```typescript
public readonly networkEndpointGroup: string;
```

- *Type:* string

The network endpoint group this endpoint is part of.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#network_endpoint_group ComputeNetworkEndpoint#network_endpoint_group}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#id ComputeNetworkEndpoint#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `instance`<sup>Optional</sup> <a name="instance" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

The name for a specific VM instance that the IP address belongs to.

This is required for network endpoints of type GCE_VM_IP_PORT.
The instance must be in the same zone of network endpoint group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#instance ComputeNetworkEndpoint#instance}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

Port number of network endpoint.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#port ComputeNetworkEndpoint#port}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#project ComputeNetworkEndpoint#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkEndpointTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkEndpointTimeouts">ComputeNetworkEndpointTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#timeouts ComputeNetworkEndpoint#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeNetworkEndpointConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Zone where the containing network endpoint group is located.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#zone ComputeNetworkEndpoint#zone}

---

### ComputeNetworkEndpointGroupConfig <a name="ComputeNetworkEndpointGroupConfig" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.Initializer"></a>

```typescript
import { ComputeNetworkEndpointGroupConfig } from '@dschmidt/provider-google'

const computeNetworkEndpointGroupConfig: ComputeNetworkEndpointGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.network">network</a></code> | <code>string</code> | The network to which all network endpoints in the NEG belong. Uses "default" project network if unspecified. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.defaultPort">defaultPort</a></code> | <code>number</code> | The default port used if the port number is not specified in the network endpoint. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#id ComputeNetworkEndpointGroup#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.networkEndpointType">networkEndpointType</a></code> | <code>string</code> | Type of network endpoints in this network endpoint group. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#project ComputeNetworkEndpointGroup#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | Optional subnetwork to which all network endpoints in the NEG belong. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts">ComputeNetworkEndpointGroupTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.zone">zone</a></code> | <code>string</code> | Zone where the network endpoint group is located. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#name ComputeNetworkEndpointGroup#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The network to which all network endpoints in the NEG belong. Uses "default" project network if unspecified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#network ComputeNetworkEndpointGroup#network}

---

##### `defaultPort`<sup>Optional</sup> <a name="defaultPort" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.defaultPort"></a>

```typescript
public readonly defaultPort: number;
```

- *Type:* number

The default port used if the port number is not specified in the network endpoint.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#default_port ComputeNetworkEndpointGroup#default_port}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#description ComputeNetworkEndpointGroup#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#id ComputeNetworkEndpointGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `networkEndpointType`<sup>Optional</sup> <a name="networkEndpointType" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.networkEndpointType"></a>

```typescript
public readonly networkEndpointType: string;
```

- *Type:* string

Type of network endpoints in this network endpoint group.

NON_GCP_PRIVATE_IP_PORT is used for hybrid connectivity network
endpoint groups (see https://cloud.google.com/load-balancing/docs/hybrid).
Note that NON_GCP_PRIVATE_IP_PORT can only be used with Backend Services
that 1) have the following load balancing schemes: EXTERNAL, EXTERNAL_MANAGED,
INTERNAL_MANAGED, and INTERNAL_SELF_MANAGED and 2) support the RATE or
CONNECTION balancing modes.

Possible values include: GCE_VM_IP, GCE_VM_IP_PORT, and NON_GCP_PRIVATE_IP_PORT. Default value: "GCE_VM_IP_PORT" Possible values: ["GCE_VM_IP", "GCE_VM_IP_PORT", "NON_GCP_PRIVATE_IP_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#network_endpoint_type ComputeNetworkEndpointGroup#network_endpoint_type}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#project ComputeNetworkEndpointGroup#project}.

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

Optional subnetwork to which all network endpoints in the NEG belong.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#subnetwork ComputeNetworkEndpointGroup#subnetwork}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkEndpointGroupTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts">ComputeNetworkEndpointGroupTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#timeouts ComputeNetworkEndpointGroup#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Zone where the network endpoint group is located.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#zone ComputeNetworkEndpointGroup#zone}

---

### ComputeNetworkEndpointGroupTimeouts <a name="ComputeNetworkEndpointGroupTimeouts" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts.Initializer"></a>

```typescript
import { ComputeNetworkEndpointGroupTimeouts } from '@dschmidt/provider-google'

const computeNetworkEndpointGroupTimeouts: ComputeNetworkEndpointGroupTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#create ComputeNetworkEndpointGroup#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#delete ComputeNetworkEndpointGroup#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#create ComputeNetworkEndpointGroup#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeNetworkEndpointGroupTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint_group#delete ComputeNetworkEndpointGroup#delete}.

---

### ComputeNetworkEndpointTimeouts <a name="ComputeNetworkEndpointTimeouts" id="@dschmidt/provider-google.ComputeNetworkEndpointTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkEndpointTimeouts.Initializer"></a>

```typescript
import { ComputeNetworkEndpointTimeouts } from '@dschmidt/provider-google'

const computeNetworkEndpointTimeouts: ComputeNetworkEndpointTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#create ComputeNetworkEndpoint#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkEndpointTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#delete ComputeNetworkEndpoint#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeNetworkEndpointTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#create ComputeNetworkEndpoint#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeNetworkEndpointTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_endpoint#delete ComputeNetworkEndpoint#delete}.

---

### ComputeNetworkPeeringConfig <a name="ComputeNetworkPeeringConfig" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.Initializer"></a>

```typescript
import { ComputeNetworkPeeringConfig } from '@dschmidt/provider-google'

const computeNetworkPeeringConfig: ComputeNetworkPeeringConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.name">name</a></code> | <code>string</code> | Name of the peering. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.network">network</a></code> | <code>string</code> | The primary network of the peering. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.peerNetwork">peerNetwork</a></code> | <code>string</code> | The peer network in the peering. The peer network may belong to a different project. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.exportCustomRoutes">exportCustomRoutes</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to export the custom routes to the peer network. Defaults to false. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.exportSubnetRoutesWithPublicIp">exportSubnetRoutesWithPublicIp</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#export_subnet_routes_with_public_ip ComputeNetworkPeering#export_subnet_routes_with_public_ip}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#id ComputeNetworkPeering#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.importCustomRoutes">importCustomRoutes</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to export the custom routes from the peer network. Defaults to false. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.importSubnetRoutesWithPublicIp">importSubnetRoutesWithPublicIp</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#import_subnet_routes_with_public_ip ComputeNetworkPeering#import_subnet_routes_with_public_ip}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeouts">ComputeNetworkPeeringTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the peering.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#name ComputeNetworkPeering#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The primary network of the peering.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#network ComputeNetworkPeering#network}

---

##### `peerNetwork`<sup>Required</sup> <a name="peerNetwork" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.peerNetwork"></a>

```typescript
public readonly peerNetwork: string;
```

- *Type:* string

The peer network in the peering. The peer network may belong to a different project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#peer_network ComputeNetworkPeering#peer_network}

---

##### `exportCustomRoutes`<sup>Optional</sup> <a name="exportCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.exportCustomRoutes"></a>

```typescript
public readonly exportCustomRoutes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to export the custom routes to the peer network. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#export_custom_routes ComputeNetworkPeering#export_custom_routes}

---

##### `exportSubnetRoutesWithPublicIp`<sup>Optional</sup> <a name="exportSubnetRoutesWithPublicIp" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.exportSubnetRoutesWithPublicIp"></a>

```typescript
public readonly exportSubnetRoutesWithPublicIp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#export_subnet_routes_with_public_ip ComputeNetworkPeering#export_subnet_routes_with_public_ip}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#id ComputeNetworkPeering#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `importCustomRoutes`<sup>Optional</sup> <a name="importCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.importCustomRoutes"></a>

```typescript
public readonly importCustomRoutes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to export the custom routes from the peer network. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#import_custom_routes ComputeNetworkPeering#import_custom_routes}

---

##### `importSubnetRoutesWithPublicIp`<sup>Optional</sup> <a name="importSubnetRoutesWithPublicIp" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.importSubnetRoutesWithPublicIp"></a>

```typescript
public readonly importSubnetRoutesWithPublicIp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#import_subnet_routes_with_public_ip ComputeNetworkPeering#import_subnet_routes_with_public_ip}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetworkPeeringConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkPeeringTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeouts">ComputeNetworkPeeringTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#timeouts ComputeNetworkPeering#timeouts}

---

### ComputeNetworkPeeringRoutesConfigConfig <a name="ComputeNetworkPeeringRoutesConfigConfig" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.Initializer"></a>

```typescript
import { ComputeNetworkPeeringRoutesConfigConfig } from '@dschmidt/provider-google'

const computeNetworkPeeringRoutesConfigConfig: ComputeNetworkPeeringRoutesConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.exportCustomRoutes">exportCustomRoutes</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to export the custom routes to the peer network. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.importCustomRoutes">importCustomRoutes</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to import the custom routes to the peer network. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.network">network</a></code> | <code>string</code> | The name of the primary network for the peering. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.peering">peering</a></code> | <code>string</code> | Name of the peering. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#id ComputeNetworkPeeringRoutesConfig#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#project ComputeNetworkPeeringRoutesConfig#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts">ComputeNetworkPeeringRoutesConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `exportCustomRoutes`<sup>Required</sup> <a name="exportCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.exportCustomRoutes"></a>

```typescript
public readonly exportCustomRoutes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to export the custom routes to the peer network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#export_custom_routes ComputeNetworkPeeringRoutesConfig#export_custom_routes}

---

##### `importCustomRoutes`<sup>Required</sup> <a name="importCustomRoutes" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.importCustomRoutes"></a>

```typescript
public readonly importCustomRoutes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to import the custom routes to the peer network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#import_custom_routes ComputeNetworkPeeringRoutesConfig#import_custom_routes}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name of the primary network for the peering.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#network ComputeNetworkPeeringRoutesConfig#network}

---

##### `peering`<sup>Required</sup> <a name="peering" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.peering"></a>

```typescript
public readonly peering: string;
```

- *Type:* string

Name of the peering.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#peering ComputeNetworkPeeringRoutesConfig#peering}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#id ComputeNetworkPeeringRoutesConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#project ComputeNetworkPeeringRoutesConfig#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNetworkPeeringRoutesConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts">ComputeNetworkPeeringRoutesConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#timeouts ComputeNetworkPeeringRoutesConfig#timeouts}

---

### ComputeNetworkPeeringRoutesConfigTimeouts <a name="ComputeNetworkPeeringRoutesConfigTimeouts" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts.Initializer"></a>

```typescript
import { ComputeNetworkPeeringRoutesConfigTimeouts } from '@dschmidt/provider-google'

const computeNetworkPeeringRoutesConfigTimeouts: ComputeNetworkPeeringRoutesConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#create ComputeNetworkPeeringRoutesConfig#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#delete ComputeNetworkPeeringRoutesConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#update ComputeNetworkPeeringRoutesConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#create ComputeNetworkPeeringRoutesConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#delete ComputeNetworkPeeringRoutesConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeNetworkPeeringRoutesConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering_routes_config#update ComputeNetworkPeeringRoutesConfig#update}.

---

### ComputeNetworkPeeringTimeouts <a name="ComputeNetworkPeeringTimeouts" id="@dschmidt/provider-google.ComputeNetworkPeeringTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkPeeringTimeouts.Initializer"></a>

```typescript
import { ComputeNetworkPeeringTimeouts } from '@dschmidt/provider-google'

const computeNetworkPeeringTimeouts: ComputeNetworkPeeringTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#create ComputeNetworkPeering#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#delete ComputeNetworkPeering#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkPeeringTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#update ComputeNetworkPeering#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeNetworkPeeringTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#create ComputeNetworkPeering#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeNetworkPeeringTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#delete ComputeNetworkPeering#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeNetworkPeeringTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network_peering#update ComputeNetworkPeering#update}.

---

### ComputeNetworkTimeouts <a name="ComputeNetworkTimeouts" id="@dschmidt/provider-google.ComputeNetworkTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNetworkTimeouts.Initializer"></a>

```typescript
import { ComputeNetworkTimeouts } from '@dschmidt/provider-google'

const computeNetworkTimeouts: ComputeNetworkTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#create ComputeNetwork#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#delete ComputeNetwork#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeNetworkTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#update ComputeNetwork#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeNetworkTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#create ComputeNetwork#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeNetworkTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#delete ComputeNetwork#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeNetworkTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_network#update ComputeNetwork#update}.

---

### ComputeNodeGroupAutoscalingPolicy <a name="ComputeNodeGroupAutoscalingPolicy" id="@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy.Initializer"></a>

```typescript
import { ComputeNodeGroupAutoscalingPolicy } from '@dschmidt/provider-google'

const computeNodeGroupAutoscalingPolicy: ComputeNodeGroupAutoscalingPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy.property.maxNodes">maxNodes</a></code> | <code>number</code> | Maximum size of the node group. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy.property.minNodes">minNodes</a></code> | <code>number</code> | Minimum size of the node group. Must be less than or equal to max-nodes. The default value is 0. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy.property.mode">mode</a></code> | <code>string</code> | The autoscaling mode. |

---

##### `maxNodes`<sup>Optional</sup> <a name="maxNodes" id="@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy.property.maxNodes"></a>

```typescript
public readonly maxNodes: number;
```

- *Type:* number

Maximum size of the node group.

Set to a value less than or equal
to 100 and greater than or equal to min-nodes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#max_nodes ComputeNodeGroup#max_nodes}

---

##### `minNodes`<sup>Optional</sup> <a name="minNodes" id="@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy.property.minNodes"></a>

```typescript
public readonly minNodes: number;
```

- *Type:* number

Minimum size of the node group. Must be less than or equal to max-nodes. The default value is 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#min_nodes ComputeNodeGroup#min_nodes}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

The autoscaling mode.

Set to one of the following:
- OFF: Disables the autoscaler.
- ON: Enables scaling in and scaling out.
- ONLY_SCALE_OUT: Enables only scaling out.
You must use this mode if your node groups are configured to
restart their hosted VMs on minimal servers. Possible values: ["OFF", "ON", "ONLY_SCALE_OUT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#mode ComputeNodeGroup#mode}

---

### ComputeNodeGroupConfig <a name="ComputeNodeGroupConfig" id="@dschmidt/provider-google.ComputeNodeGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNodeGroupConfig.Initializer"></a>

```typescript
import { ComputeNodeGroupConfig } from '@dschmidt/provider-google'

const computeNodeGroupConfig: ComputeNodeGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.nodeTemplate">nodeTemplate</a></code> | <code>string</code> | The URL of the node template to which this node group belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.autoscalingPolicy">autoscalingPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy">ComputeNodeGroupAutoscalingPolicy</a></code> | autoscaling_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.description">description</a></code> | <code>string</code> | An optional textual description of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#id ComputeNodeGroup#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.initialSize">initialSize</a></code> | <code>number</code> | The initial number of nodes in the node group. One of 'initial_size' or 'size' must be specified. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.maintenancePolicy">maintenancePolicy</a></code> | <code>string</code> | Specifies how to handle instances when a node in the group undergoes maintenance. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.maintenanceWindow">maintenanceWindow</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindow">ComputeNodeGroupMaintenanceWindow</a></code> | maintenance_window block. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#project ComputeNodeGroup#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.size">size</a></code> | <code>number</code> | The total number of nodes in the node group. One of 'initial_size' or 'size' must be specified. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeGroupTimeouts">ComputeNodeGroupTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupConfig.property.zone">zone</a></code> | <code>string</code> | Zone where this node group is located. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `nodeTemplate`<sup>Required</sup> <a name="nodeTemplate" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.nodeTemplate"></a>

```typescript
public readonly nodeTemplate: string;
```

- *Type:* string

The URL of the node template to which this node group belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#node_template ComputeNodeGroup#node_template}

---

##### `autoscalingPolicy`<sup>Optional</sup> <a name="autoscalingPolicy" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.autoscalingPolicy"></a>

```typescript
public readonly autoscalingPolicy: ComputeNodeGroupAutoscalingPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupAutoscalingPolicy">ComputeNodeGroupAutoscalingPolicy</a>

autoscaling_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#autoscaling_policy ComputeNodeGroup#autoscaling_policy}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional textual description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#description ComputeNodeGroup#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#id ComputeNodeGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `initialSize`<sup>Optional</sup> <a name="initialSize" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.initialSize"></a>

```typescript
public readonly initialSize: number;
```

- *Type:* number

The initial number of nodes in the node group. One of 'initial_size' or 'size' must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#initial_size ComputeNodeGroup#initial_size}

---

##### `maintenancePolicy`<sup>Optional</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: string;
```

- *Type:* string

Specifies how to handle instances when a node in the group undergoes maintenance.

Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#maintenance_policy ComputeNodeGroup#maintenance_policy}

---

##### `maintenanceWindow`<sup>Optional</sup> <a name="maintenanceWindow" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.maintenanceWindow"></a>

```typescript
public readonly maintenanceWindow: ComputeNodeGroupMaintenanceWindow;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindow">ComputeNodeGroupMaintenanceWindow</a>

maintenance_window block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#maintenance_window ComputeNodeGroup#maintenance_window}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#name ComputeNodeGroup#name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#project ComputeNodeGroup#project}.

---

##### `size`<sup>Optional</sup> <a name="size" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

The total number of nodes in the node group. One of 'initial_size' or 'size' must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#size ComputeNodeGroup#size}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNodeGroupTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeGroupTimeouts">ComputeNodeGroupTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#timeouts ComputeNodeGroup#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeNodeGroupConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Zone where this node group is located.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#zone ComputeNodeGroup#zone}

---

### ComputeNodeGroupMaintenanceWindow <a name="ComputeNodeGroupMaintenanceWindow" id="@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindow.Initializer"></a>

```typescript
import { ComputeNodeGroupMaintenanceWindow } from '@dschmidt/provider-google'

const computeNodeGroupMaintenanceWindow: ComputeNodeGroupMaintenanceWindow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindow.property.startTime">startTime</a></code> | <code>string</code> | instances.start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid. |

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.ComputeNodeGroupMaintenanceWindow.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

instances.start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#start_time ComputeNodeGroup#start_time}

---

### ComputeNodeGroupTimeouts <a name="ComputeNodeGroupTimeouts" id="@dschmidt/provider-google.ComputeNodeGroupTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNodeGroupTimeouts.Initializer"></a>

```typescript
import { ComputeNodeGroupTimeouts } from '@dschmidt/provider-google'

const computeNodeGroupTimeouts: ComputeNodeGroupTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#create ComputeNodeGroup#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#delete ComputeNodeGroup#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeGroupTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#update ComputeNodeGroup#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeNodeGroupTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#create ComputeNodeGroup#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeNodeGroupTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#delete ComputeNodeGroup#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeNodeGroupTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_group#update ComputeNodeGroup#update}.

---

### ComputeNodeTemplateConfig <a name="ComputeNodeTemplateConfig" id="@dschmidt/provider-google.ComputeNodeTemplateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.Initializer"></a>

```typescript
import { ComputeNodeTemplateConfig } from '@dschmidt/provider-google'

const computeNodeTemplateConfig: ComputeNodeTemplateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.cpuOvercommitType">cpuOvercommitType</a></code> | <code>string</code> | CPU overcommit. Default value: "NONE" Possible values: ["ENABLED", "NONE"]. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.description">description</a></code> | <code>string</code> | An optional textual description of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#id ComputeNodeTemplate#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.nodeAffinityLabels">nodeAffinityLabels</a></code> | <code>{[ key: string ]: string}</code> | Labels to use for node affinity, which will be used in instance scheduling. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.nodeType">nodeType</a></code> | <code>string</code> | Node type to use for nodes group that are created from this template. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.nodeTypeFlexibility">nodeTypeFlexibility</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility">ComputeNodeTemplateNodeTypeFlexibility</a></code> | node_type_flexibility block. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#project ComputeNodeTemplate#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.region">region</a></code> | <code>string</code> | Region where nodes using the node template will be created. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.serverBinding">serverBinding</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateServerBinding">ComputeNodeTemplateServerBinding</a></code> | server_binding block. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateTimeouts">ComputeNodeTemplateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cpuOvercommitType`<sup>Optional</sup> <a name="cpuOvercommitType" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.cpuOvercommitType"></a>

```typescript
public readonly cpuOvercommitType: string;
```

- *Type:* string

CPU overcommit. Default value: "NONE" Possible values: ["ENABLED", "NONE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#cpu_overcommit_type ComputeNodeTemplate#cpu_overcommit_type}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional textual description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#description ComputeNodeTemplate#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#id ComputeNodeTemplate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#name ComputeNodeTemplate#name}

---

##### `nodeAffinityLabels`<sup>Optional</sup> <a name="nodeAffinityLabels" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.nodeAffinityLabels"></a>

```typescript
public readonly nodeAffinityLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to use for node affinity, which will be used in instance scheduling.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#node_affinity_labels ComputeNodeTemplate#node_affinity_labels}

---

##### `nodeType`<sup>Optional</sup> <a name="nodeType" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.nodeType"></a>

```typescript
public readonly nodeType: string;
```

- *Type:* string

Node type to use for nodes group that are created from this template.

Only one of nodeTypeFlexibility and nodeType can be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#node_type ComputeNodeTemplate#node_type}

---

##### `nodeTypeFlexibility`<sup>Optional</sup> <a name="nodeTypeFlexibility" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.nodeTypeFlexibility"></a>

```typescript
public readonly nodeTypeFlexibility: ComputeNodeTemplateNodeTypeFlexibility;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility">ComputeNodeTemplateNodeTypeFlexibility</a>

node_type_flexibility block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#node_type_flexibility ComputeNodeTemplate#node_type_flexibility}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#project ComputeNodeTemplate#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where nodes using the node template will be created. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#region ComputeNodeTemplate#region}

---

##### `serverBinding`<sup>Optional</sup> <a name="serverBinding" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.serverBinding"></a>

```typescript
public readonly serverBinding: ComputeNodeTemplateServerBinding;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateServerBinding">ComputeNodeTemplateServerBinding</a>

server_binding block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#server_binding ComputeNodeTemplate#server_binding}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeNodeTemplateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeNodeTemplateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeNodeTemplateTimeouts">ComputeNodeTemplateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#timeouts ComputeNodeTemplate#timeouts}

---

### ComputeNodeTemplateNodeTypeFlexibility <a name="ComputeNodeTemplateNodeTypeFlexibility" id="@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility.Initializer"></a>

```typescript
import { ComputeNodeTemplateNodeTypeFlexibility } from '@dschmidt/provider-google'

const computeNodeTemplateNodeTypeFlexibility: ComputeNodeTemplateNodeTypeFlexibility = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility.property.cpus">cpus</a></code> | <code>string</code> | Number of virtual CPUs to use. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility.property.memory">memory</a></code> | <code>string</code> | Physical memory available to the node, defined in MB. |

---

##### `cpus`<sup>Optional</sup> <a name="cpus" id="@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility.property.cpus"></a>

```typescript
public readonly cpus: string;
```

- *Type:* string

Number of virtual CPUs to use.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#cpus ComputeNodeTemplate#cpus}

---

##### `memory`<sup>Optional</sup> <a name="memory" id="@dschmidt/provider-google.ComputeNodeTemplateNodeTypeFlexibility.property.memory"></a>

```typescript
public readonly memory: string;
```

- *Type:* string

Physical memory available to the node, defined in MB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#memory ComputeNodeTemplate#memory}

---

### ComputeNodeTemplateServerBinding <a name="ComputeNodeTemplateServerBinding" id="@dschmidt/provider-google.ComputeNodeTemplateServerBinding"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNodeTemplateServerBinding.Initializer"></a>

```typescript
import { ComputeNodeTemplateServerBinding } from '@dschmidt/provider-google'

const computeNodeTemplateServerBinding: ComputeNodeTemplateServerBinding = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateServerBinding.property.type">type</a></code> | <code>string</code> | Type of server binding policy. If 'RESTART_NODE_ON_ANY_SERVER', nodes using this template will restart on any physical server following a maintenance event. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeNodeTemplateServerBinding.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Type of server binding policy. If 'RESTART_NODE_ON_ANY_SERVER', nodes using this template will restart on any physical server following a maintenance event.

If 'RESTART_NODE_ON_MINIMAL_SERVER', nodes using this template
will restart on the same physical server following a maintenance
event, instead of being live migrated to or restarted on a new
physical server. This option may be useful if you are using
software licenses tied to the underlying server characteristics
such as physical sockets or cores, to avoid the need for
additional licenses when maintenance occurs. However, VMs on such
nodes will experience outages while maintenance is applied. Possible values: ["RESTART_NODE_ON_ANY_SERVER", "RESTART_NODE_ON_MINIMAL_SERVERS"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#type ComputeNodeTemplate#type}

---

### ComputeNodeTemplateTimeouts <a name="ComputeNodeTemplateTimeouts" id="@dschmidt/provider-google.ComputeNodeTemplateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeNodeTemplateTimeouts.Initializer"></a>

```typescript
import { ComputeNodeTemplateTimeouts } from '@dschmidt/provider-google'

const computeNodeTemplateTimeouts: ComputeNodeTemplateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#create ComputeNodeTemplate#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeNodeTemplateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#delete ComputeNodeTemplate#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeNodeTemplateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#create ComputeNodeTemplate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeNodeTemplateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_node_template#delete ComputeNodeTemplate#delete}.

---

### ComputePacketMirroringCollectorIlb <a name="ComputePacketMirroringCollectorIlb" id="@dschmidt/provider-google.ComputePacketMirroringCollectorIlb"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePacketMirroringCollectorIlb.Initializer"></a>

```typescript
import { ComputePacketMirroringCollectorIlb } from '@dschmidt/provider-google'

const computePacketMirroringCollectorIlb: ComputePacketMirroringCollectorIlb = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringCollectorIlb.property.url">url</a></code> | <code>string</code> | The URL of the forwarding rule. |

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.ComputePacketMirroringCollectorIlb.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

The URL of the forwarding rule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#url ComputePacketMirroring#url}

---

### ComputePacketMirroringConfig <a name="ComputePacketMirroringConfig" id="@dschmidt/provider-google.ComputePacketMirroringConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePacketMirroringConfig.Initializer"></a>

```typescript
import { ComputePacketMirroringConfig } from '@dschmidt/provider-google'

const computePacketMirroringConfig: ComputePacketMirroringConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.collectorIlb">collectorIlb</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringCollectorIlb">ComputePacketMirroringCollectorIlb</a></code> | collector_ilb block. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.mirroredResources">mirroredResources</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResources">ComputePacketMirroringMirroredResources</a></code> | mirrored_resources block. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.name">name</a></code> | <code>string</code> | The name of the packet mirroring rule. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.network">network</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringNetwork">ComputePacketMirroringNetwork</a></code> | network block. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.description">description</a></code> | <code>string</code> | A human-readable description of the rule. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.filter">filter</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringFilter">ComputePacketMirroringFilter</a></code> | filter block. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#id ComputePacketMirroring#id}. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.priority">priority</a></code> | <code>number</code> | Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#project ComputePacketMirroring#project}. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.region">region</a></code> | <code>string</code> | The Region in which the created address should reside. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputePacketMirroringTimeouts">ComputePacketMirroringTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `collectorIlb`<sup>Required</sup> <a name="collectorIlb" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.collectorIlb"></a>

```typescript
public readonly collectorIlb: ComputePacketMirroringCollectorIlb;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringCollectorIlb">ComputePacketMirroringCollectorIlb</a>

collector_ilb block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#collector_ilb ComputePacketMirroring#collector_ilb}

---

##### `mirroredResources`<sup>Required</sup> <a name="mirroredResources" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.mirroredResources"></a>

```typescript
public readonly mirroredResources: ComputePacketMirroringMirroredResources;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResources">ComputePacketMirroringMirroredResources</a>

mirrored_resources block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#mirrored_resources ComputePacketMirroring#mirrored_resources}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the packet mirroring rule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#name ComputePacketMirroring#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.network"></a>

```typescript
public readonly network: ComputePacketMirroringNetwork;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringNetwork">ComputePacketMirroringNetwork</a>

network block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#network ComputePacketMirroring#network}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the rule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#description ComputePacketMirroring#description}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.filter"></a>

```typescript
public readonly filter: ComputePacketMirroringFilter;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringFilter">ComputePacketMirroringFilter</a>

filter block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#filter ComputePacketMirroring#filter}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#id ComputePacketMirroring#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `priority`<sup>Optional</sup> <a name="priority" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#priority ComputePacketMirroring#priority}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#project ComputePacketMirroring#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the created address should reside. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#region ComputePacketMirroring#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputePacketMirroringConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputePacketMirroringTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePacketMirroringTimeouts">ComputePacketMirroringTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#timeouts ComputePacketMirroring#timeouts}

---

### ComputePacketMirroringFilter <a name="ComputePacketMirroringFilter" id="@dschmidt/provider-google.ComputePacketMirroringFilter"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePacketMirroringFilter.Initializer"></a>

```typescript
import { ComputePacketMirroringFilter } from '@dschmidt/provider-google'

const computePacketMirroringFilter: ComputePacketMirroringFilter = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringFilter.property.cidrRanges">cidrRanges</a></code> | <code>string[]</code> | IP CIDR ranges that apply as a filter on the source (ingress) or destination (egress) IP in the IP header. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringFilter.property.direction">direction</a></code> | <code>string</code> | Direction of traffic to mirror. Default value: "BOTH" Possible values: ["INGRESS", "EGRESS", "BOTH"]. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringFilter.property.ipProtocols">ipProtocols</a></code> | <code>string[]</code> | Possible IP protocols including tcp, udp, icmp and esp. |

---

##### `cidrRanges`<sup>Optional</sup> <a name="cidrRanges" id="@dschmidt/provider-google.ComputePacketMirroringFilter.property.cidrRanges"></a>

```typescript
public readonly cidrRanges: string[];
```

- *Type:* string[]

IP CIDR ranges that apply as a filter on the source (ingress) or destination (egress) IP in the IP header.

Only IPv4 is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#cidr_ranges ComputePacketMirroring#cidr_ranges}

---

##### `direction`<sup>Optional</sup> <a name="direction" id="@dschmidt/provider-google.ComputePacketMirroringFilter.property.direction"></a>

```typescript
public readonly direction: string;
```

- *Type:* string

Direction of traffic to mirror. Default value: "BOTH" Possible values: ["INGRESS", "EGRESS", "BOTH"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#direction ComputePacketMirroring#direction}

---

##### `ipProtocols`<sup>Optional</sup> <a name="ipProtocols" id="@dschmidt/provider-google.ComputePacketMirroringFilter.property.ipProtocols"></a>

```typescript
public readonly ipProtocols: string[];
```

- *Type:* string[]

Possible IP protocols including tcp, udp, icmp and esp.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#ip_protocols ComputePacketMirroring#ip_protocols}

---

### ComputePacketMirroringMirroredResources <a name="ComputePacketMirroringMirroredResources" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResources.Initializer"></a>

```typescript
import { ComputePacketMirroringMirroredResources } from '@dschmidt/provider-google'

const computePacketMirroringMirroredResources: ComputePacketMirroringMirroredResources = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResources.property.instances">instances</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesInstances">ComputePacketMirroringMirroredResourcesInstances</a>[]</code> | instances block. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResources.property.subnetworks">subnetworks</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesSubnetworks">ComputePacketMirroringMirroredResourcesSubnetworks</a>[]</code> | subnetworks block. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResources.property.tags">tags</a></code> | <code>string[]</code> | All instances with these tags will be mirrored. |

---

##### `instances`<sup>Optional</sup> <a name="instances" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResources.property.instances"></a>

```typescript
public readonly instances: IResolvable | ComputePacketMirroringMirroredResourcesInstances[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesInstances">ComputePacketMirroringMirroredResourcesInstances</a>[]

instances block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#instances ComputePacketMirroring#instances}

---

##### `subnetworks`<sup>Optional</sup> <a name="subnetworks" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResources.property.subnetworks"></a>

```typescript
public readonly subnetworks: IResolvable | ComputePacketMirroringMirroredResourcesSubnetworks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesSubnetworks">ComputePacketMirroringMirroredResourcesSubnetworks</a>[]

subnetworks block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#subnetworks ComputePacketMirroring#subnetworks}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResources.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

All instances with these tags will be mirrored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#tags ComputePacketMirroring#tags}

---

### ComputePacketMirroringMirroredResourcesInstances <a name="ComputePacketMirroringMirroredResourcesInstances" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesInstances"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesInstances.Initializer"></a>

```typescript
import { ComputePacketMirroringMirroredResourcesInstances } from '@dschmidt/provider-google'

const computePacketMirroringMirroredResourcesInstances: ComputePacketMirroringMirroredResourcesInstances = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesInstances.property.url">url</a></code> | <code>string</code> | The URL of the instances where this rule should be active. |

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesInstances.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

The URL of the instances where this rule should be active.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#url ComputePacketMirroring#url}

---

### ComputePacketMirroringMirroredResourcesSubnetworks <a name="ComputePacketMirroringMirroredResourcesSubnetworks" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesSubnetworks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesSubnetworks.Initializer"></a>

```typescript
import { ComputePacketMirroringMirroredResourcesSubnetworks } from '@dschmidt/provider-google'

const computePacketMirroringMirroredResourcesSubnetworks: ComputePacketMirroringMirroredResourcesSubnetworks = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesSubnetworks.property.url">url</a></code> | <code>string</code> | The URL of the subnetwork where this rule should be active. |

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.ComputePacketMirroringMirroredResourcesSubnetworks.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

The URL of the subnetwork where this rule should be active.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#url ComputePacketMirroring#url}

---

### ComputePacketMirroringNetwork <a name="ComputePacketMirroringNetwork" id="@dschmidt/provider-google.ComputePacketMirroringNetwork"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePacketMirroringNetwork.Initializer"></a>

```typescript
import { ComputePacketMirroringNetwork } from '@dschmidt/provider-google'

const computePacketMirroringNetwork: ComputePacketMirroringNetwork = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringNetwork.property.url">url</a></code> | <code>string</code> | The full self_link URL of the network where this rule is active. |

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.ComputePacketMirroringNetwork.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

The full self_link URL of the network where this rule is active.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#url ComputePacketMirroring#url}

---

### ComputePacketMirroringTimeouts <a name="ComputePacketMirroringTimeouts" id="@dschmidt/provider-google.ComputePacketMirroringTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePacketMirroringTimeouts.Initializer"></a>

```typescript
import { ComputePacketMirroringTimeouts } from '@dschmidt/provider-google'

const computePacketMirroringTimeouts: ComputePacketMirroringTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#create ComputePacketMirroring#create}. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#delete ComputePacketMirroring#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputePacketMirroringTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#update ComputePacketMirroring#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputePacketMirroringTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#create ComputePacketMirroring#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputePacketMirroringTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#delete ComputePacketMirroring#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputePacketMirroringTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_packet_mirroring#update ComputePacketMirroring#update}.

---

### ComputePerInstanceConfigConfig <a name="ComputePerInstanceConfigConfig" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.Initializer"></a>

```typescript
import { ComputePerInstanceConfigConfig } from '@dschmidt/provider-google'

const computePerInstanceConfigConfig: ComputePerInstanceConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.instanceGroupManager">instanceGroupManager</a></code> | <code>string</code> | The instance group manager this instance config is part of. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.name">name</a></code> | <code>string</code> | The name for this per-instance config and its corresponding instance. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#id ComputePerInstanceConfig#id}. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.minimalAction">minimalAction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#minimal_action ComputePerInstanceConfig#minimal_action}. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.mostDisruptiveAllowedAction">mostDisruptiveAllowedAction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#most_disruptive_allowed_action ComputePerInstanceConfig#most_disruptive_allowed_action}. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.preservedState">preservedState</a></code> | <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedState">ComputePerInstanceConfigPreservedState</a></code> | preserved_state block. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#project ComputePerInstanceConfig#project}. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.removeInstanceStateOnDestroy">removeInstanceStateOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#remove_instance_state_on_destroy ComputePerInstanceConfig#remove_instance_state_on_destroy}. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeouts">ComputePerInstanceConfigTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.zone">zone</a></code> | <code>string</code> | Zone where the containing instance group manager is located. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceGroupManager`<sup>Required</sup> <a name="instanceGroupManager" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.instanceGroupManager"></a>

```typescript
public readonly instanceGroupManager: string;
```

- *Type:* string

The instance group manager this instance config is part of.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#instance_group_manager ComputePerInstanceConfig#instance_group_manager}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name for this per-instance config and its corresponding instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#name ComputePerInstanceConfig#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#id ComputePerInstanceConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `minimalAction`<sup>Optional</sup> <a name="minimalAction" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.minimalAction"></a>

```typescript
public readonly minimalAction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#minimal_action ComputePerInstanceConfig#minimal_action}.

---

##### `mostDisruptiveAllowedAction`<sup>Optional</sup> <a name="mostDisruptiveAllowedAction" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.mostDisruptiveAllowedAction"></a>

```typescript
public readonly mostDisruptiveAllowedAction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#most_disruptive_allowed_action ComputePerInstanceConfig#most_disruptive_allowed_action}.

---

##### `preservedState`<sup>Optional</sup> <a name="preservedState" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.preservedState"></a>

```typescript
public readonly preservedState: ComputePerInstanceConfigPreservedState;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedState">ComputePerInstanceConfigPreservedState</a>

preserved_state block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#preserved_state ComputePerInstanceConfig#preserved_state}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#project ComputePerInstanceConfig#project}.

---

##### `removeInstanceStateOnDestroy`<sup>Optional</sup> <a name="removeInstanceStateOnDestroy" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.removeInstanceStateOnDestroy"></a>

```typescript
public readonly removeInstanceStateOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#remove_instance_state_on_destroy ComputePerInstanceConfig#remove_instance_state_on_destroy}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputePerInstanceConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeouts">ComputePerInstanceConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#timeouts ComputePerInstanceConfig#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputePerInstanceConfigConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Zone where the containing instance group manager is located.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#zone ComputePerInstanceConfig#zone}

---

### ComputePerInstanceConfigPreservedState <a name="ComputePerInstanceConfigPreservedState" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedState"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedState.Initializer"></a>

```typescript
import { ComputePerInstanceConfigPreservedState } from '@dschmidt/provider-google'

const computePerInstanceConfigPreservedState: ComputePerInstanceConfigPreservedState = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedState.property.disk">disk</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk">ComputePerInstanceConfigPreservedStateDisk</a>[]</code> | disk block. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedState.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | Preserved metadata defined for this instance. This is a list of key->value pairs. |

---

##### `disk`<sup>Optional</sup> <a name="disk" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedState.property.disk"></a>

```typescript
public readonly disk: IResolvable | ComputePerInstanceConfigPreservedStateDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk">ComputePerInstanceConfigPreservedStateDisk</a>[]

disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#disk ComputePerInstanceConfig#disk}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedState.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Preserved metadata defined for this instance. This is a list of key->value pairs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#metadata ComputePerInstanceConfig#metadata}

---

### ComputePerInstanceConfigPreservedStateDisk <a name="ComputePerInstanceConfigPreservedStateDisk" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk.Initializer"></a>

```typescript
import { ComputePerInstanceConfigPreservedStateDisk } from '@dschmidt/provider-google'

const computePerInstanceConfigPreservedStateDisk: ComputePerInstanceConfigPreservedStateDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk.property.deviceName">deviceName</a></code> | <code>string</code> | A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk.property.source">source</a></code> | <code>string</code> | The URI of an existing persistent disk to attach under the specified device-name in the format 'projects/project-id/zones/zone/disks/disk-name'. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk.property.deleteRule">deleteRule</a></code> | <code>string</code> | A value that prescribes what should happen to the stateful disk when the VM instance is deleted. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk.property.mode">mode</a></code> | <code>string</code> | The mode of the disk. Default value: "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"]. |

---

##### `deviceName`<sup>Required</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#device_name ComputePerInstanceConfig#device_name}

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

The URI of an existing persistent disk to attach under the specified device-name in the format 'projects/project-id/zones/zone/disks/disk-name'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#source ComputePerInstanceConfig#source}

---

##### `deleteRule`<sup>Optional</sup> <a name="deleteRule" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk.property.deleteRule"></a>

```typescript
public readonly deleteRule: string;
```

- *Type:* string

A value that prescribes what should happen to the stateful disk when the VM instance is deleted.

The available options are 'NEVER' and 'ON_PERMANENT_INSTANCE_DELETION'.
'NEVER' - detach the disk when the VM is deleted, but do not delete the disk.
'ON_PERMANENT_INSTANCE_DELETION' will delete the stateful disk when the VM is permanently
deleted from the instance group. Default value: "NEVER" Possible values: ["NEVER", "ON_PERMANENT_INSTANCE_DELETION"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#delete_rule ComputePerInstanceConfig#delete_rule}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputePerInstanceConfigPreservedStateDisk.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

The mode of the disk. Default value: "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#mode ComputePerInstanceConfig#mode}

---

### ComputePerInstanceConfigTimeouts <a name="ComputePerInstanceConfigTimeouts" id="@dschmidt/provider-google.ComputePerInstanceConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputePerInstanceConfigTimeouts.Initializer"></a>

```typescript
import { ComputePerInstanceConfigTimeouts } from '@dschmidt/provider-google'

const computePerInstanceConfigTimeouts: ComputePerInstanceConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#create ComputePerInstanceConfig#create}. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#delete ComputePerInstanceConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputePerInstanceConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#update ComputePerInstanceConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputePerInstanceConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#create ComputePerInstanceConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputePerInstanceConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#delete ComputePerInstanceConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputePerInstanceConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_per_instance_config#update ComputePerInstanceConfig#update}.

---

### ComputeProjectDefaultNetworkTierConfig <a name="ComputeProjectDefaultNetworkTierConfig" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.Initializer"></a>

```typescript
import { ComputeProjectDefaultNetworkTierConfig } from '@dschmidt/provider-google'

const computeProjectDefaultNetworkTierConfig: ComputeProjectDefaultNetworkTierConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.networkTier">networkTier</a></code> | <code>string</code> | The default network tier to be configured for the project. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_default_network_tier#id ComputeProjectDefaultNetworkTier#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeouts">ComputeProjectDefaultNetworkTierTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `networkTier`<sup>Required</sup> <a name="networkTier" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.networkTier"></a>

```typescript
public readonly networkTier: string;
```

- *Type:* string

The default network tier to be configured for the project.

This field can take the following values: PREMIUM or STANDARD.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_default_network_tier#network_tier ComputeProjectDefaultNetworkTier#network_tier}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_default_network_tier#id ComputeProjectDefaultNetworkTier#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_default_network_tier#project ComputeProjectDefaultNetworkTier#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeProjectDefaultNetworkTierTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeouts">ComputeProjectDefaultNetworkTierTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_default_network_tier#timeouts ComputeProjectDefaultNetworkTier#timeouts}

---

### ComputeProjectDefaultNetworkTierTimeouts <a name="ComputeProjectDefaultNetworkTierTimeouts" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeouts.Initializer"></a>

```typescript
import { ComputeProjectDefaultNetworkTierTimeouts } from '@dschmidt/provider-google'

const computeProjectDefaultNetworkTierTimeouts: ComputeProjectDefaultNetworkTierTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_default_network_tier#create ComputeProjectDefaultNetworkTier#create}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeProjectDefaultNetworkTierTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_default_network_tier#create ComputeProjectDefaultNetworkTier#create}.

---

### ComputeProjectMetadataConfig <a name="ComputeProjectMetadataConfig" id="@dschmidt/provider-google.ComputeProjectMetadataConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.Initializer"></a>

```typescript
import { ComputeProjectMetadataConfig } from '@dschmidt/provider-google'

const computeProjectMetadataConfig: ComputeProjectMetadataConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | A series of key value pairs. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata#id ComputeProjectMetadata#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataTimeouts">ComputeProjectMetadataTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `metadata`<sup>Required</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A series of key value pairs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata#metadata ComputeProjectMetadata#metadata}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata#id ComputeProjectMetadata#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata#project ComputeProjectMetadata#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeProjectMetadataConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeProjectMetadataTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectMetadataTimeouts">ComputeProjectMetadataTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata#timeouts ComputeProjectMetadata#timeouts}

---

### ComputeProjectMetadataItemConfig <a name="ComputeProjectMetadataItemConfig" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.Initializer"></a>

```typescript
import { ComputeProjectMetadataItemConfig } from '@dschmidt/provider-google'

const computeProjectMetadataItemConfig: ComputeProjectMetadataItemConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.key">key</a></code> | <code>string</code> | The metadata key to set. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.value">value</a></code> | <code>string</code> | The value to set for the given metadata key. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#id ComputeProjectMetadataItem#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts">ComputeProjectMetadataItemTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

The metadata key to set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#key ComputeProjectMetadataItem#key}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The value to set for the given metadata key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#value ComputeProjectMetadataItem#value}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#id ComputeProjectMetadataItem#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#project ComputeProjectMetadataItem#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeProjectMetadataItemConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeProjectMetadataItemTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts">ComputeProjectMetadataItemTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#timeouts ComputeProjectMetadataItem#timeouts}

---

### ComputeProjectMetadataItemTimeouts <a name="ComputeProjectMetadataItemTimeouts" id="@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts.Initializer"></a>

```typescript
import { ComputeProjectMetadataItemTimeouts } from '@dschmidt/provider-google'

const computeProjectMetadataItemTimeouts: ComputeProjectMetadataItemTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#create ComputeProjectMetadataItem#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#delete ComputeProjectMetadataItem#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#update ComputeProjectMetadataItem#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#create ComputeProjectMetadataItem#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#delete ComputeProjectMetadataItem#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeProjectMetadataItemTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata_item#update ComputeProjectMetadataItem#update}.

---

### ComputeProjectMetadataTimeouts <a name="ComputeProjectMetadataTimeouts" id="@dschmidt/provider-google.ComputeProjectMetadataTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeProjectMetadataTimeouts.Initializer"></a>

```typescript
import { ComputeProjectMetadataTimeouts } from '@dschmidt/provider-google'

const computeProjectMetadataTimeouts: ComputeProjectMetadataTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata#create ComputeProjectMetadata#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeProjectMetadataTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata#delete ComputeProjectMetadata#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeProjectMetadataTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata#create ComputeProjectMetadata#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeProjectMetadataTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_project_metadata#delete ComputeProjectMetadata#delete}.

---

### ComputeRegionAutoscalerAutoscalingPolicy <a name="ComputeRegionAutoscalerAutoscalingPolicy" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.Initializer"></a>

```typescript
import { ComputeRegionAutoscalerAutoscalingPolicy } from '@dschmidt/provider-google'

const computeRegionAutoscalerAutoscalingPolicy: ComputeRegionAutoscalerAutoscalingPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.maxReplicas">maxReplicas</a></code> | <code>number</code> | The maximum number of instances that the autoscaler can scale up to. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.minReplicas">minReplicas</a></code> | <code>number</code> | The minimum number of replicas that the autoscaler can scale down to. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.cooldownPeriod">cooldownPeriod</a></code> | <code>number</code> | The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.cpuUtilization">cpuUtilization</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization">ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization</a></code> | cpu_utilization block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.loadBalancingUtilization">loadBalancingUtilization</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization">ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization</a></code> | load_balancing_utilization block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.metric">metric</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric">ComputeRegionAutoscalerAutoscalingPolicyMetric</a>[]</code> | metric block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.mode">mode</a></code> | <code>string</code> | Defines operating mode for this policy. Default value: "ON" Possible values: ["OFF", "ONLY_UP", "ON"]. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.scaleInControl">scaleInControl</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControl">ComputeRegionAutoscalerAutoscalingPolicyScaleInControl</a></code> | scale_in_control block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.scalingSchedules">scalingSchedules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules">ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules</a>[]</code> | scaling_schedules block. |

---

##### `maxReplicas`<sup>Required</sup> <a name="maxReplicas" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.maxReplicas"></a>

```typescript
public readonly maxReplicas: number;
```

- *Type:* number

The maximum number of instances that the autoscaler can scale up to.

This is required when creating or updating an autoscaler. The
maximum number of replicas should not be lower than minimal number
of replicas.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#max_replicas ComputeRegionAutoscaler#max_replicas}

---

##### `minReplicas`<sup>Required</sup> <a name="minReplicas" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.minReplicas"></a>

```typescript
public readonly minReplicas: number;
```

- *Type:* number

The minimum number of replicas that the autoscaler can scale down to.

This cannot be less than 0. If not provided, autoscaler will
choose a default value depending on maximum number of instances
allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#min_replicas ComputeRegionAutoscaler#min_replicas}

---

##### `cooldownPeriod`<sup>Optional</sup> <a name="cooldownPeriod" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.cooldownPeriod"></a>

```typescript
public readonly cooldownPeriod: number;
```

- *Type:* number

The number of seconds that the autoscaler should wait before it starts collecting information from a new instance.

This prevents
the autoscaler from collecting information when the instance is
initializing, during which the collected usage would not be
reliable. The default time autoscaler waits is 60 seconds.

Virtual machine initialization times might vary because of
numerous factors. We recommend that you test how long an
instance may take to initialize. To do this, create an instance
and time the startup process.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#cooldown_period ComputeRegionAutoscaler#cooldown_period}

---

##### `cpuUtilization`<sup>Optional</sup> <a name="cpuUtilization" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.cpuUtilization"></a>

```typescript
public readonly cpuUtilization: ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization">ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization</a>

cpu_utilization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#cpu_utilization ComputeRegionAutoscaler#cpu_utilization}

---

##### `loadBalancingUtilization`<sup>Optional</sup> <a name="loadBalancingUtilization" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.loadBalancingUtilization"></a>

```typescript
public readonly loadBalancingUtilization: ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization">ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization</a>

load_balancing_utilization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#load_balancing_utilization ComputeRegionAutoscaler#load_balancing_utilization}

---

##### `metric`<sup>Optional</sup> <a name="metric" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.metric"></a>

```typescript
public readonly metric: IResolvable | ComputeRegionAutoscalerAutoscalingPolicyMetric[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric">ComputeRegionAutoscalerAutoscalingPolicyMetric</a>[]

metric block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#metric ComputeRegionAutoscaler#metric}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Defines operating mode for this policy. Default value: "ON" Possible values: ["OFF", "ONLY_UP", "ON"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#mode ComputeRegionAutoscaler#mode}

---

##### `scaleInControl`<sup>Optional</sup> <a name="scaleInControl" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.scaleInControl"></a>

```typescript
public readonly scaleInControl: ComputeRegionAutoscalerAutoscalingPolicyScaleInControl;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControl">ComputeRegionAutoscalerAutoscalingPolicyScaleInControl</a>

scale_in_control block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#scale_in_control ComputeRegionAutoscaler#scale_in_control}

---

##### `scalingSchedules`<sup>Optional</sup> <a name="scalingSchedules" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy.property.scalingSchedules"></a>

```typescript
public readonly scalingSchedules: IResolvable | ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules">ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules</a>[]

scaling_schedules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#scaling_schedules ComputeRegionAutoscaler#scaling_schedules}

---

### ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization <a name="ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization.Initializer"></a>

```typescript
import { ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization } from '@dschmidt/provider-google'

const computeRegionAutoscalerAutoscalingPolicyCpuUtilization: ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization.property.target">target</a></code> | <code>number</code> | The target CPU utilization that the autoscaler should maintain. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization.property.predictiveMethod">predictiveMethod</a></code> | <code>string</code> | Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:. |

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization.property.target"></a>

```typescript
public readonly target: number;
```

- *Type:* number

The target CPU utilization that the autoscaler should maintain.

Must be a float value in the range (0, 1]. If not specified, the
default is 0.6.

If the CPU level is below the target utilization, the autoscaler
scales down the number of instances until it reaches the minimum
number of instances you specified or until the average CPU of
your instances reaches the target utilization.

If the average CPU is above the target utilization, the autoscaler
scales up until it reaches the maximum number of instances you
specified or until the average utilization reaches the target
utilization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#target ComputeRegionAutoscaler#target}

---

##### `predictiveMethod`<sup>Optional</sup> <a name="predictiveMethod" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyCpuUtilization.property.predictiveMethod"></a>

```typescript
public readonly predictiveMethod: string;
```

- *Type:* string

Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:.

NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics.

- OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#predictive_method ComputeRegionAutoscaler#predictive_method}

---

### ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization <a name="ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization.Initializer"></a>

```typescript
import { ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization } from '@dschmidt/provider-google'

const computeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization: ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization.property.target">target</a></code> | <code>number</code> | Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain. |

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization.property.target"></a>

```typescript
public readonly target: number;
```

- *Type:* number

Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain.

Must
be a positive float value. If not defined, the default is 0.8.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#target ComputeRegionAutoscaler#target}

---

### ComputeRegionAutoscalerAutoscalingPolicyMetric <a name="ComputeRegionAutoscalerAutoscalingPolicyMetric" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric.Initializer"></a>

```typescript
import { ComputeRegionAutoscalerAutoscalingPolicyMetric } from '@dschmidt/provider-google'

const computeRegionAutoscalerAutoscalingPolicyMetric: ComputeRegionAutoscalerAutoscalingPolicyMetric = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric.property.name">name</a></code> | <code>string</code> | The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric.property.target">target</a></code> | <code>number</code> | The target value of the metric that autoscaler should maintain. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric.property.type">type</a></code> | <code>string</code> | Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Possible values: ["GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"]. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values.

The metric must have a value type of INT64 or DOUBLE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#name ComputeRegionAutoscaler#name}

---

##### `target`<sup>Optional</sup> <a name="target" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric.property.target"></a>

```typescript
public readonly target: number;
```

- *Type:* number

The target value of the metric that autoscaler should maintain.

This must be a positive value. A utilization
metric scales number of virtual machines handling requests
to increase or decrease proportionally to the metric.

For example, a good metric to use as a utilizationTarget is
www.googleapis.com/compute/instance/network/received_bytes_count.
The autoscaler will work to keep this value constant for each
of the instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#target ComputeRegionAutoscaler#target}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyMetric.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Possible values: ["GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#type ComputeRegionAutoscaler#type}

---

### ComputeRegionAutoscalerAutoscalingPolicyScaleInControl <a name="ComputeRegionAutoscalerAutoscalingPolicyScaleInControl" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControl"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControl.Initializer"></a>

```typescript
import { ComputeRegionAutoscalerAutoscalingPolicyScaleInControl } from '@dschmidt/provider-google'

const computeRegionAutoscalerAutoscalingPolicyScaleInControl: ComputeRegionAutoscalerAutoscalingPolicyScaleInControl = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControl.property.maxScaledInReplicas">maxScaledInReplicas</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas">ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas</a></code> | max_scaled_in_replicas block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControl.property.timeWindowSec">timeWindowSec</a></code> | <code>number</code> | How long back autoscaling should look when computing recommendations to include directives regarding slower scale down, as described above. |

---

##### `maxScaledInReplicas`<sup>Optional</sup> <a name="maxScaledInReplicas" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControl.property.maxScaledInReplicas"></a>

```typescript
public readonly maxScaledInReplicas: ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas">ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas</a>

max_scaled_in_replicas block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#max_scaled_in_replicas ComputeRegionAutoscaler#max_scaled_in_replicas}

---

##### `timeWindowSec`<sup>Optional</sup> <a name="timeWindowSec" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControl.property.timeWindowSec"></a>

```typescript
public readonly timeWindowSec: number;
```

- *Type:* number

How long back autoscaling should look when computing recommendations to include directives regarding slower scale down, as described above.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#time_window_sec ComputeRegionAutoscaler#time_window_sec}

---

### ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas <a name="ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.Initializer"></a>

```typescript
import { ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas } from '@dschmidt/provider-google'

const computeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas: ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.property.fixed">fixed</a></code> | <code>number</code> | Specifies a fixed number of VM instances. This must be a positive integer. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.property.percent">percent</a></code> | <code>number</code> | Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%. |

---

##### `fixed`<sup>Optional</sup> <a name="fixed" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.property.fixed"></a>

```typescript
public readonly fixed: number;
```

- *Type:* number

Specifies a fixed number of VM instances. This must be a positive integer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#fixed ComputeRegionAutoscaler#fixed}

---

##### `percent`<sup>Optional</sup> <a name="percent" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas.property.percent"></a>

```typescript
public readonly percent: number;
```

- *Type:* number

Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#percent ComputeRegionAutoscaler#percent}

---

### ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules <a name="ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.Initializer"></a>

```typescript
import { ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules } from '@dschmidt/provider-google'

const computeRegionAutoscalerAutoscalingPolicyScalingSchedules: ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.durationSec">durationSec</a></code> | <code>number</code> | The duration of time intervals (in seconds) for which this scaling schedule will be running. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.minRequiredReplicas">minRequiredReplicas</a></code> | <code>number</code> | Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#name ComputeRegionAutoscaler#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.schedule">schedule</a></code> | <code>string</code> | The start timestamps of time intervals when this scaling schedule should provide a scaling signal. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.description">description</a></code> | <code>string</code> | A description of a scaling schedule. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.timeZone">timeZone</a></code> | <code>string</code> | The time zone to be used when interpreting the schedule. |

---

##### `durationSec`<sup>Required</sup> <a name="durationSec" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.durationSec"></a>

```typescript
public readonly durationSec: number;
```

- *Type:* number

The duration of time intervals (in seconds) for which this scaling schedule will be running.

The minimum allowed value is 300.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#duration_sec ComputeRegionAutoscaler#duration_sec}

---

##### `minRequiredReplicas`<sup>Required</sup> <a name="minRequiredReplicas" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.minRequiredReplicas"></a>

```typescript
public readonly minRequiredReplicas: number;
```

- *Type:* number

Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#min_required_replicas ComputeRegionAutoscaler#min_required_replicas}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#name ComputeRegionAutoscaler#name}.

---

##### `schedule`<sup>Required</sup> <a name="schedule" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

The start timestamps of time intervals when this scaling schedule should provide a scaling signal.

This field uses the extended cron format (with an optional year field).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#schedule ComputeRegionAutoscaler#schedule}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of a scaling schedule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#description ComputeRegionAutoscaler#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

A boolean value that specifies if a scaling schedule can influence autoscaler recommendations.

If set to true, then a scaling schedule has no effect.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#disabled ComputeRegionAutoscaler#disabled}

---

##### `timeZone`<sup>Optional</sup> <a name="timeZone" id="@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicyScalingSchedules.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

The time zone to be used when interpreting the schedule.

The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#time_zone ComputeRegionAutoscaler#time_zone}

---

### ComputeRegionAutoscalerConfig <a name="ComputeRegionAutoscalerConfig" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.Initializer"></a>

```typescript
import { ComputeRegionAutoscalerConfig } from '@dschmidt/provider-google'

const computeRegionAutoscalerConfig: ComputeRegionAutoscalerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.autoscalingPolicy">autoscalingPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy">ComputeRegionAutoscalerAutoscalingPolicy</a></code> | autoscaling_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.target">target</a></code> | <code>string</code> | URL of the managed instance group that this autoscaler will scale. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#id ComputeRegionAutoscaler#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#project ComputeRegionAutoscaler#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.region">region</a></code> | <code>string</code> | URL of the region where the instance group resides. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts">ComputeRegionAutoscalerTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscalingPolicy`<sup>Required</sup> <a name="autoscalingPolicy" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.autoscalingPolicy"></a>

```typescript
public readonly autoscalingPolicy: ComputeRegionAutoscalerAutoscalingPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerAutoscalingPolicy">ComputeRegionAutoscalerAutoscalingPolicy</a>

autoscaling_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#autoscaling_policy ComputeRegionAutoscaler#autoscaling_policy}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

The name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#name ComputeRegionAutoscaler#name}

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

URL of the managed instance group that this autoscaler will scale.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#target ComputeRegionAutoscaler#target}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#description ComputeRegionAutoscaler#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#id ComputeRegionAutoscaler#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#project ComputeRegionAutoscaler#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

URL of the region where the instance group resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#region ComputeRegionAutoscaler#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionAutoscalerConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionAutoscalerTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts">ComputeRegionAutoscalerTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#timeouts ComputeRegionAutoscaler#timeouts}

---

### ComputeRegionAutoscalerTimeouts <a name="ComputeRegionAutoscalerTimeouts" id="@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts.Initializer"></a>

```typescript
import { ComputeRegionAutoscalerTimeouts } from '@dschmidt/provider-google'

const computeRegionAutoscalerTimeouts: ComputeRegionAutoscalerTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#create ComputeRegionAutoscaler#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#delete ComputeRegionAutoscaler#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#update ComputeRegionAutoscaler#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#create ComputeRegionAutoscaler#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#delete ComputeRegionAutoscaler#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRegionAutoscalerTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_autoscaler#update ComputeRegionAutoscaler#update}.

---

### ComputeRegionBackendServiceBackend <a name="ComputeRegionBackendServiceBackend" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceBackend } from '@dschmidt/provider-google'

const computeRegionBackendServiceBackend: ComputeRegionBackendServiceBackend = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.group">group</a></code> | <code>string</code> | The fully-qualified URL of an Instance Group or Network Endpoint Group resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.balancingMode">balancingMode</a></code> | <code>string</code> | Specifies the balancing mode for this backend. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.capacityScaler">capacityScaler</a></code> | <code>number</code> | A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.failover">failover</a></code> | <code>boolean \| cdktf.IResolvable</code> | This field designates whether this is a failover backend. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxConnections">maxConnections</a></code> | <code>number</code> | The max number of simultaneous connections for the group. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxConnectionsPerEndpoint">maxConnectionsPerEndpoint</a></code> | <code>number</code> | The max number of simultaneous connections that a single backend network endpoint can handle. Cannot be set for INTERNAL backend services. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxConnectionsPerInstance">maxConnectionsPerInstance</a></code> | <code>number</code> | The max number of simultaneous connections that a single backend instance can handle. Cannot be set for INTERNAL backend services. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxRate">maxRate</a></code> | <code>number</code> | The max requests per second (RPS) of the group. Cannot be set for INTERNAL backend services. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxRatePerEndpoint">maxRatePerEndpoint</a></code> | <code>number</code> | The max requests per second (RPS) that a single backend network endpoint can handle. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxRatePerInstance">maxRatePerInstance</a></code> | <code>number</code> | The max requests per second (RPS) that a single backend instance can handle. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxUtilization">maxUtilization</a></code> | <code>number</code> | Used when balancingMode is UTILIZATION. |

---

##### `group`<sup>Required</sup> <a name="group" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.group"></a>

```typescript
public readonly group: string;
```

- *Type:* string

The fully-qualified URL of an Instance Group or Network Endpoint Group resource.

In case of instance group this defines the list
of instances that serve traffic. Member virtual machine
instances from each instance group must live in the same zone as
the instance group itself. No two backends in a backend service
are allowed to use same Instance Group resource.

For Network Endpoint Groups this defines list of endpoints. All
endpoints of Network Endpoint Group must be hosted on instances
located in the same zone as the Network Endpoint Group.

Backend services cannot mix Instance Group and
Network Endpoint Group backends.

When the 'load_balancing_scheme' is INTERNAL, only instance groups
are supported.

Note that you must specify an Instance Group or Network Endpoint
Group resource using the fully-qualified URL, rather than a
partial URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#group ComputeRegionBackendService#group}

---

##### `balancingMode`<sup>Optional</sup> <a name="balancingMode" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.balancingMode"></a>

```typescript
public readonly balancingMode: string;
```

- *Type:* string

Specifies the balancing mode for this backend.

See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
for an explanation of load balancing modes. Default value: "CONNECTION" Possible values: ["UTILIZATION", "RATE", "CONNECTION"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#balancing_mode ComputeRegionBackendService#balancing_mode}

---

##### `capacityScaler`<sup>Optional</sup> <a name="capacityScaler" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.capacityScaler"></a>

```typescript
public readonly capacityScaler: number;
```

- *Type:* number

A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION).

~>**NOTE**: This field cannot be set for
INTERNAL region backend services (default loadBalancingScheme),
but is required for non-INTERNAL backend service. The total
capacity_scaler for all backends must be non-zero.

A setting of 0 means the group is completely drained, offering
0% of its available Capacity. Valid range is [0.0,1.0].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#capacity_scaler ComputeRegionBackendService#capacity_scaler}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#description ComputeRegionBackendService#description}

---

##### `failover`<sup>Optional</sup> <a name="failover" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.failover"></a>

```typescript
public readonly failover: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This field designates whether this is a failover backend.

More
than one failover backend can be configured for a given RegionBackendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#failover ComputeRegionBackendService#failover}

---

##### `maxConnections`<sup>Optional</sup> <a name="maxConnections" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxConnections"></a>

```typescript
public readonly maxConnections: number;
```

- *Type:* number

The max number of simultaneous connections for the group.

Can
be used with either CONNECTION or UTILIZATION balancing modes.
Cannot be set for INTERNAL backend services.

For CONNECTION mode, either maxConnections or one
of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
as appropriate for group type, must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_connections ComputeRegionBackendService#max_connections}

---

##### `maxConnectionsPerEndpoint`<sup>Optional</sup> <a name="maxConnectionsPerEndpoint" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxConnectionsPerEndpoint"></a>

```typescript
public readonly maxConnectionsPerEndpoint: number;
```

- *Type:* number

The max number of simultaneous connections that a single backend network endpoint can handle. Cannot be set for INTERNAL backend services.

This is used to calculate the capacity of the group. Can be
used in either CONNECTION or UTILIZATION balancing modes. For
CONNECTION mode, either maxConnections or
maxConnectionsPerEndpoint must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_connections_per_endpoint ComputeRegionBackendService#max_connections_per_endpoint}

---

##### `maxConnectionsPerInstance`<sup>Optional</sup> <a name="maxConnectionsPerInstance" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxConnectionsPerInstance"></a>

```typescript
public readonly maxConnectionsPerInstance: number;
```

- *Type:* number

The max number of simultaneous connections that a single backend instance can handle. Cannot be set for INTERNAL backend services.

This is used to calculate the capacity of the group.
Can be used in either CONNECTION or UTILIZATION balancing modes.
For CONNECTION mode, either maxConnections or
maxConnectionsPerInstance must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_connections_per_instance ComputeRegionBackendService#max_connections_per_instance}

---

##### `maxRate`<sup>Optional</sup> <a name="maxRate" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxRate"></a>

```typescript
public readonly maxRate: number;
```

- *Type:* number

The max requests per second (RPS) of the group. Cannot be set for INTERNAL backend services.

Can be used with either RATE or UTILIZATION balancing modes,
but required if RATE mode. Either maxRate or one
of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
group type, must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_rate ComputeRegionBackendService#max_rate}

---

##### `maxRatePerEndpoint`<sup>Optional</sup> <a name="maxRatePerEndpoint" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxRatePerEndpoint"></a>

```typescript
public readonly maxRatePerEndpoint: number;
```

- *Type:* number

The max requests per second (RPS) that a single backend network endpoint can handle.

This is used to calculate the capacity of
the group. Can be used in either balancing mode. For RATE mode,
either maxRate or maxRatePerEndpoint must be set. Cannot be set
for INTERNAL backend services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_rate_per_endpoint ComputeRegionBackendService#max_rate_per_endpoint}

---

##### `maxRatePerInstance`<sup>Optional</sup> <a name="maxRatePerInstance" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxRatePerInstance"></a>

```typescript
public readonly maxRatePerInstance: number;
```

- *Type:* number

The max requests per second (RPS) that a single backend instance can handle.

This is used to calculate the capacity of
the group. Can be used in either balancing mode. For RATE mode,
either maxRate or maxRatePerInstance must be set. Cannot be set
for INTERNAL backend services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_rate_per_instance ComputeRegionBackendService#max_rate_per_instance}

---

##### `maxUtilization`<sup>Optional</sup> <a name="maxUtilization" id="@dschmidt/provider-google.ComputeRegionBackendServiceBackend.property.maxUtilization"></a>

```typescript
public readonly maxUtilization: number;
```

- *Type:* number

Used when balancingMode is UTILIZATION.

This ratio defines the
CPU utilization target for the group. Valid range is [0.0, 1.0].
Cannot be set for INTERNAL backend services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_utilization ComputeRegionBackendService#max_utilization}

---

### ComputeRegionBackendServiceCdnPolicy <a name="ComputeRegionBackendServiceCdnPolicy" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceCdnPolicy } from '@dschmidt/provider-google'

const computeRegionBackendServiceCdnPolicy: ComputeRegionBackendServiceCdnPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.cacheKeyPolicy">cacheKeyPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy">ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy</a></code> | cache_key_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.cacheMode">cacheMode</a></code> | <code>string</code> | Specifies the cache setting for all responses from this backend. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.clientTtl">clientTtl</a></code> | <code>number</code> | Specifies the maximum allowed TTL for cached content served by this origin. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.defaultTtl">defaultTtl</a></code> | <code>number</code> | Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.maxTtl">maxTtl</a></code> | <code>number</code> | Specifies the maximum allowed TTL for cached content served by this origin. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.negativeCaching">negativeCaching</a></code> | <code>boolean \| cdktf.IResolvable</code> | Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.negativeCachingPolicy">negativeCachingPolicy</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy">ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy</a>[]</code> | negative_caching_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.serveWhileStale">serveWhileStale</a></code> | <code>number</code> | Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.signedUrlCacheMaxAgeSec">signedUrlCacheMaxAgeSec</a></code> | <code>number</code> | Maximum number of seconds the response to a signed URL request will be considered fresh, defaults to 1hr (3600s). |

---

##### `cacheKeyPolicy`<sup>Optional</sup> <a name="cacheKeyPolicy" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.cacheKeyPolicy"></a>

```typescript
public readonly cacheKeyPolicy: ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy">ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy</a>

cache_key_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#cache_key_policy ComputeRegionBackendService#cache_key_policy}

---

##### `cacheMode`<sup>Optional</sup> <a name="cacheMode" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.cacheMode"></a>

```typescript
public readonly cacheMode: string;
```

- *Type:* string

Specifies the cache setting for all responses from this backend.

The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#cache_mode ComputeRegionBackendService#cache_mode}

---

##### `clientTtl`<sup>Optional</sup> <a name="clientTtl" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.clientTtl"></a>

```typescript
public readonly clientTtl: number;
```

- *Type:* number

Specifies the maximum allowed TTL for cached content served by this origin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#client_ttl ComputeRegionBackendService#client_ttl}

---

##### `defaultTtl`<sup>Optional</sup> <a name="defaultTtl" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.defaultTtl"></a>

```typescript
public readonly defaultTtl: number;
```

- *Type:* number

Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#default_ttl ComputeRegionBackendService#default_ttl}

---

##### `maxTtl`<sup>Optional</sup> <a name="maxTtl" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.maxTtl"></a>

```typescript
public readonly maxTtl: number;
```

- *Type:* number

Specifies the maximum allowed TTL for cached content served by this origin.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_ttl ComputeRegionBackendService#max_ttl}

---

##### `negativeCaching`<sup>Optional</sup> <a name="negativeCaching" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.negativeCaching"></a>

```typescript
public readonly negativeCaching: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#negative_caching ComputeRegionBackendService#negative_caching}

---

##### `negativeCachingPolicy`<sup>Optional</sup> <a name="negativeCachingPolicy" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.negativeCachingPolicy"></a>

```typescript
public readonly negativeCachingPolicy: IResolvable | ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy">ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy</a>[]

negative_caching_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#negative_caching_policy ComputeRegionBackendService#negative_caching_policy}

---

##### `serveWhileStale`<sup>Optional</sup> <a name="serveWhileStale" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.serveWhileStale"></a>

```typescript
public readonly serveWhileStale: number;
```

- *Type:* number

Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#serve_while_stale ComputeRegionBackendService#serve_while_stale}

---

##### `signedUrlCacheMaxAgeSec`<sup>Optional</sup> <a name="signedUrlCacheMaxAgeSec" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy.property.signedUrlCacheMaxAgeSec"></a>

```typescript
public readonly signedUrlCacheMaxAgeSec: number;
```

- *Type:* number

Maximum number of seconds the response to a signed URL request will be considered fresh, defaults to 1hr (3600s).

After this
time period, the response will be revalidated before
being served.

When serving responses to signed URL requests, Cloud CDN will
internally behave as though all responses from this backend had a
"Cache-Control: public, max-age=[TTL]" header, regardless of any
existing Cache-Control header. The actual headers served in
responses will not be altered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#signed_url_cache_max_age_sec ComputeRegionBackendService#signed_url_cache_max_age_sec}

---

### ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy <a name="ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy } from '@dschmidt/provider-google'

const computeRegionBackendServiceCdnPolicyCacheKeyPolicy: ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.includeHost">includeHost</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true requests to different hosts will be cached separately. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.includeNamedCookies">includeNamedCookies</a></code> | <code>string[]</code> | Names of cookies to include in cache keys. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.includeProtocol">includeProtocol</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, http and https requests will be cached separately. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.includeQueryString">includeQueryString</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.queryStringBlacklist">queryStringBlacklist</a></code> | <code>string[]</code> | Names of query string parameters to exclude in cache keys. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.queryStringWhitelist">queryStringWhitelist</a></code> | <code>string[]</code> | Names of query string parameters to include in cache keys. |

---

##### `includeHost`<sup>Optional</sup> <a name="includeHost" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.includeHost"></a>

```typescript
public readonly includeHost: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true requests to different hosts will be cached separately.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#include_host ComputeRegionBackendService#include_host}

---

##### `includeNamedCookies`<sup>Optional</sup> <a name="includeNamedCookies" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.includeNamedCookies"></a>

```typescript
public readonly includeNamedCookies: string[];
```

- *Type:* string[]

Names of cookies to include in cache keys.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#include_named_cookies ComputeRegionBackendService#include_named_cookies}

---

##### `includeProtocol`<sup>Optional</sup> <a name="includeProtocol" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.includeProtocol"></a>

```typescript
public readonly includeProtocol: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, http and https requests will be cached separately.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#include_protocol ComputeRegionBackendService#include_protocol}

---

##### `includeQueryString`<sup>Optional</sup> <a name="includeQueryString" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.includeQueryString"></a>

```typescript
public readonly includeQueryString: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist.

If neither is set, the entire query
string will be included.

If false, the query string will be excluded from the cache
key entirely.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#include_query_string ComputeRegionBackendService#include_query_string}

---

##### `queryStringBlacklist`<sup>Optional</sup> <a name="queryStringBlacklist" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.queryStringBlacklist"></a>

```typescript
public readonly queryStringBlacklist: string[];
```

- *Type:* string[]

Names of query string parameters to exclude in cache keys.

All other parameters will be included. Either specify
query_string_whitelist or query_string_blacklist, not both.
'&' and '=' will be percent encoded and not treated as
delimiters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#query_string_blacklist ComputeRegionBackendService#query_string_blacklist}

---

##### `queryStringWhitelist`<sup>Optional</sup> <a name="queryStringWhitelist" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyCacheKeyPolicy.property.queryStringWhitelist"></a>

```typescript
public readonly queryStringWhitelist: string[];
```

- *Type:* string[]

Names of query string parameters to include in cache keys.

All other parameters will be excluded. Either specify
query_string_whitelist or query_string_blacklist, not both.
'&' and '=' will be percent encoded and not treated as
delimiters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#query_string_whitelist ComputeRegionBackendService#query_string_whitelist}

---

### ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy <a name="ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy } from '@dschmidt/provider-google'

const computeRegionBackendServiceCdnPolicyNegativeCachingPolicy: ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy.property.code">code</a></code> | <code>number</code> | The HTTP status code to define a TTL against. |

---

##### `code`<sup>Optional</sup> <a name="code" id="@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicyNegativeCachingPolicy.property.code"></a>

```typescript
public readonly code: number;
```

- *Type:* number

The HTTP status code to define a TTL against.

Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
can be specified as values, and you cannot specify a status code more than once.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#code ComputeRegionBackendService#code}

---

### ComputeRegionBackendServiceCircuitBreakers <a name="ComputeRegionBackendServiceCircuitBreakers" id="@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceCircuitBreakers } from '@dschmidt/provider-google'

const computeRegionBackendServiceCircuitBreakers: ComputeRegionBackendServiceCircuitBreakers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxConnections">maxConnections</a></code> | <code>number</code> | The maximum number of connections to the backend cluster. Defaults to 1024. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxPendingRequests">maxPendingRequests</a></code> | <code>number</code> | The maximum number of pending requests to the backend cluster. Defaults to 1024. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxRequests">maxRequests</a></code> | <code>number</code> | The maximum number of parallel requests to the backend cluster. Defaults to 1024. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxRequestsPerConnection">maxRequestsPerConnection</a></code> | <code>number</code> | Maximum requests for a single backend connection. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxRetries">maxRetries</a></code> | <code>number</code> | The maximum number of parallel retries to the backend cluster. Defaults to 3. |

---

##### `maxConnections`<sup>Optional</sup> <a name="maxConnections" id="@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxConnections"></a>

```typescript
public readonly maxConnections: number;
```

- *Type:* number

The maximum number of connections to the backend cluster. Defaults to 1024.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_connections ComputeRegionBackendService#max_connections}

---

##### `maxPendingRequests`<sup>Optional</sup> <a name="maxPendingRequests" id="@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxPendingRequests"></a>

```typescript
public readonly maxPendingRequests: number;
```

- *Type:* number

The maximum number of pending requests to the backend cluster. Defaults to 1024.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_pending_requests ComputeRegionBackendService#max_pending_requests}

---

##### `maxRequests`<sup>Optional</sup> <a name="maxRequests" id="@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxRequests"></a>

```typescript
public readonly maxRequests: number;
```

- *Type:* number

The maximum number of parallel requests to the backend cluster. Defaults to 1024.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_requests ComputeRegionBackendService#max_requests}

---

##### `maxRequestsPerConnection`<sup>Optional</sup> <a name="maxRequestsPerConnection" id="@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxRequestsPerConnection"></a>

```typescript
public readonly maxRequestsPerConnection: number;
```

- *Type:* number

Maximum requests for a single backend connection.

This parameter
is respected by both the HTTP/1.1 and HTTP/2 implementations. If
not specified, there is no limit. Setting this parameter to 1
will effectively disable keep alive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_requests_per_connection ComputeRegionBackendService#max_requests_per_connection}

---

##### `maxRetries`<sup>Optional</sup> <a name="maxRetries" id="@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers.property.maxRetries"></a>

```typescript
public readonly maxRetries: number;
```

- *Type:* number

The maximum number of parallel retries to the backend cluster. Defaults to 3.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_retries ComputeRegionBackendService#max_retries}

---

### ComputeRegionBackendServiceConfig <a name="ComputeRegionBackendServiceConfig" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceConfig } from '@dschmidt/provider-google'

const computeRegionBackendServiceConfig: ComputeRegionBackendServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.affinityCookieTtlSec">affinityCookieTtlSec</a></code> | <code>number</code> | Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.backend">backend</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend">ComputeRegionBackendServiceBackend</a>[]</code> | backend block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.cdnPolicy">cdnPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy">ComputeRegionBackendServiceCdnPolicy</a></code> | cdn_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.circuitBreakers">circuitBreakers</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers">ComputeRegionBackendServiceCircuitBreakers</a></code> | circuit_breakers block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.connectionDrainingTimeoutSec">connectionDrainingTimeoutSec</a></code> | <code>number</code> | Time for which instance will be drained (not accept new connections, but still work to finish started). |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.consistentHash">consistentHash</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash">ComputeRegionBackendServiceConsistentHash</a></code> | consistent_hash block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.enableCdn">enableCdn</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, enable Cloud CDN for this RegionBackendService. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.failoverPolicy">failoverPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy">ComputeRegionBackendServiceFailoverPolicy</a></code> | failover_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.healthChecks">healthChecks</a></code> | <code>string[]</code> | The set of URLs to HealthCheck resources for health checking this RegionBackendService. Currently at most one health check can be specified. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.iap">iap</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceIap">ComputeRegionBackendServiceIap</a></code> | iap block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#id ComputeRegionBackendService#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.loadBalancingScheme">loadBalancingScheme</a></code> | <code>string</code> | Indicates what kind of load balancing this regional backend service will be used for. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.localityLbPolicy">localityLbPolicy</a></code> | <code>string</code> | The load balancing algorithm used within the scope of the locality. The possible values are:. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig">ComputeRegionBackendServiceLogConfig</a></code> | log_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.network">network</a></code> | <code>string</code> | The URL of the network to which this backend service belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.outlierDetection">outlierDetection</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection">ComputeRegionBackendServiceOutlierDetection</a></code> | outlier_detection block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.portName">portName</a></code> | <code>string</code> | A named port on a backend instance group representing the port for communication to the backend VMs in that group. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#project ComputeRegionBackendService#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.protocol">protocol</a></code> | <code>string</code> | The protocol this RegionBackendService uses to communicate with backends. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.region">region</a></code> | <code>string</code> | The Region in which the created backend service should reside. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.sessionAffinity">sessionAffinity</a></code> | <code>string</code> | Type of session affinity to use. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts">ComputeRegionBackendServiceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | How many seconds to wait for the backend before considering it a failed request. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#name ComputeRegionBackendService#name}

---

##### `affinityCookieTtlSec`<sup>Optional</sup> <a name="affinityCookieTtlSec" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.affinityCookieTtlSec"></a>

```typescript
public readonly affinityCookieTtlSec: number;
```

- *Type:* number

Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE.

If set to 0, the cookie is non-persistent and lasts
only until the end of the browser session (or equivalent). The
maximum allowed value for TTL is one day.

When the load balancing scheme is INTERNAL, this field is not used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#affinity_cookie_ttl_sec ComputeRegionBackendService#affinity_cookie_ttl_sec}

---

##### `backend`<sup>Optional</sup> <a name="backend" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.backend"></a>

```typescript
public readonly backend: IResolvable | ComputeRegionBackendServiceBackend[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceBackend">ComputeRegionBackendServiceBackend</a>[]

backend block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#backend ComputeRegionBackendService#backend}

---

##### `cdnPolicy`<sup>Optional</sup> <a name="cdnPolicy" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.cdnPolicy"></a>

```typescript
public readonly cdnPolicy: ComputeRegionBackendServiceCdnPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCdnPolicy">ComputeRegionBackendServiceCdnPolicy</a>

cdn_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#cdn_policy ComputeRegionBackendService#cdn_policy}

---

##### `circuitBreakers`<sup>Optional</sup> <a name="circuitBreakers" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.circuitBreakers"></a>

```typescript
public readonly circuitBreakers: ComputeRegionBackendServiceCircuitBreakers;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceCircuitBreakers">ComputeRegionBackendServiceCircuitBreakers</a>

circuit_breakers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#circuit_breakers ComputeRegionBackendService#circuit_breakers}

---

##### `connectionDrainingTimeoutSec`<sup>Optional</sup> <a name="connectionDrainingTimeoutSec" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.connectionDrainingTimeoutSec"></a>

```typescript
public readonly connectionDrainingTimeoutSec: number;
```

- *Type:* number

Time for which instance will be drained (not accept new connections, but still work to finish started).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#connection_draining_timeout_sec ComputeRegionBackendService#connection_draining_timeout_sec}

---

##### `consistentHash`<sup>Optional</sup> <a name="consistentHash" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.consistentHash"></a>

```typescript
public readonly consistentHash: ComputeRegionBackendServiceConsistentHash;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash">ComputeRegionBackendServiceConsistentHash</a>

consistent_hash block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#consistent_hash ComputeRegionBackendService#consistent_hash}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#description ComputeRegionBackendService#description}

---

##### `enableCdn`<sup>Optional</sup> <a name="enableCdn" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.enableCdn"></a>

```typescript
public readonly enableCdn: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, enable Cloud CDN for this RegionBackendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#enable_cdn ComputeRegionBackendService#enable_cdn}

---

##### `failoverPolicy`<sup>Optional</sup> <a name="failoverPolicy" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.failoverPolicy"></a>

```typescript
public readonly failoverPolicy: ComputeRegionBackendServiceFailoverPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy">ComputeRegionBackendServiceFailoverPolicy</a>

failover_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#failover_policy ComputeRegionBackendService#failover_policy}

---

##### `healthChecks`<sup>Optional</sup> <a name="healthChecks" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.healthChecks"></a>

```typescript
public readonly healthChecks: string[];
```

- *Type:* string[]

The set of URLs to HealthCheck resources for health checking this RegionBackendService. Currently at most one health check can be specified.

A health check must be specified unless the backend service uses an internet
or serverless NEG as a backend.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#health_checks ComputeRegionBackendService#health_checks}

---

##### `iap`<sup>Optional</sup> <a name="iap" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.iap"></a>

```typescript
public readonly iap: ComputeRegionBackendServiceIap;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceIap">ComputeRegionBackendServiceIap</a>

iap block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#iap ComputeRegionBackendService#iap}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#id ComputeRegionBackendService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `loadBalancingScheme`<sup>Optional</sup> <a name="loadBalancingScheme" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.loadBalancingScheme"></a>

```typescript
public readonly loadBalancingScheme: string;
```

- *Type:* string

Indicates what kind of load balancing this regional backend service will be used for.

A backend service created for one type of load
balancing cannot be used with the other(s). For more information, refer to
[Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service). Default value: "INTERNAL" Possible values: ["EXTERNAL", "EXTERNAL_MANAGED", "INTERNAL", "INTERNAL_MANAGED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#load_balancing_scheme ComputeRegionBackendService#load_balancing_scheme}

---

##### `localityLbPolicy`<sup>Optional</sup> <a name="localityLbPolicy" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.localityLbPolicy"></a>

```typescript
public readonly localityLbPolicy: string;
```

- *Type:* string

The load balancing algorithm used within the scope of the locality. The possible values are:.

'ROUND_ROBIN': This is a simple policy in which each healthy backend
              is selected in round robin order.

'LEAST_REQUEST': An O(1) algorithm which selects two random healthy
                hosts and picks the host which has fewer active requests.

'RING_HASH': The ring/modulo hash load balancer implements consistent
            hashing to backends. The algorithm has the property that the
            addition/removal of a host from a set of N hosts only affects
            1/N of the requests.

'RANDOM': The load balancer selects a random healthy host.

'ORIGINAL_DESTINATION': Backend host is selected based on the client
                       connection metadata, i.e., connections are opened
                       to the same address as the destination address of
                       the incoming connection before the connection
                       was redirected to the load balancer.

'MAGLEV': used as a drop in replacement for the ring hash load balancer.
         Maglev is not as stable as ring hash but has faster table lookup
         build times and host selection times. For more information about
         Maglev, refer to https://ai.google/research/pubs/pub44824


This field is applicable to either:

A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
and loadBalancingScheme set to INTERNAL_MANAGED.
A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.


If session_affinity is not NONE, and this field is not set to MAGLEV or RING_HASH,
session affinity settings will not take effect.

Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
field set to true. Possible values: ["ROUND_ROBIN", "LEAST_REQUEST", "RING_HASH", "RANDOM", "ORIGINAL_DESTINATION", "MAGLEV"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#locality_lb_policy ComputeRegionBackendService#locality_lb_policy}

---

##### `logConfig`<sup>Optional</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeRegionBackendServiceLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig">ComputeRegionBackendServiceLogConfig</a>

log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#log_config ComputeRegionBackendService#log_config}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The URL of the network to which this backend service belongs.

This field can only be specified when the load balancing scheme is set to INTERNAL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#network ComputeRegionBackendService#network}

---

##### `outlierDetection`<sup>Optional</sup> <a name="outlierDetection" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.outlierDetection"></a>

```typescript
public readonly outlierDetection: ComputeRegionBackendServiceOutlierDetection;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection">ComputeRegionBackendServiceOutlierDetection</a>

outlier_detection block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#outlier_detection ComputeRegionBackendService#outlier_detection}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

A named port on a backend instance group representing the port for communication to the backend VMs in that group.

Required when the
loadBalancingScheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED
and the backends are instance groups. The named port must be defined on each
backend instance group. This parameter has no meaning if the backends are NEGs. API sets a
default of "http" if not given.
Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#port_name ComputeRegionBackendService#port_name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#project ComputeRegionBackendService#project}.

---

##### `protocol`<sup>Optional</sup> <a name="protocol" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

The protocol this RegionBackendService uses to communicate with backends.

The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer
types and may result in errors if used with the GA API. Possible values: ["HTTP", "HTTPS", "HTTP2", "SSL", "TCP", "UDP", "GRPC", "UNSPECIFIED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#protocol ComputeRegionBackendService#protocol}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the created backend service should reside. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#region ComputeRegionBackendService#region}

---

##### `sessionAffinity`<sup>Optional</sup> <a name="sessionAffinity" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.sessionAffinity"></a>

```typescript
public readonly sessionAffinity: string;
```

- *Type:* string

Type of session affinity to use.

The default is NONE. Session affinity is
not applicable if the protocol is UDP. Possible values: ["NONE", "CLIENT_IP", "CLIENT_IP_PORT_PROTO", "CLIENT_IP_PROTO", "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE", "CLIENT_IP_NO_DESTINATION"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#session_affinity ComputeRegionBackendService#session_affinity}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionBackendServiceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts">ComputeRegionBackendServiceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#timeouts ComputeRegionBackendService#timeouts}

---

##### `timeoutSec`<sup>Optional</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeRegionBackendServiceConfig.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

How many seconds to wait for the backend before considering it a failed request.

Default is 30 seconds. Valid range is [1, 86400].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#timeout_sec ComputeRegionBackendService#timeout_sec}

---

### ComputeRegionBackendServiceConsistentHash <a name="ComputeRegionBackendServiceConsistentHash" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceConsistentHash } from '@dschmidt/provider-google'

const computeRegionBackendServiceConsistentHash: ComputeRegionBackendServiceConsistentHash = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash.property.httpCookie">httpCookie</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie">ComputeRegionBackendServiceConsistentHashHttpCookie</a></code> | http_cookie block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash.property.httpHeaderName">httpHeaderName</a></code> | <code>string</code> | The hash based on the value of the specified header field. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash.property.minimumRingSize">minimumRingSize</a></code> | <code>number</code> | The minimum number of virtual nodes to use for the hash ring. |

---

##### `httpCookie`<sup>Optional</sup> <a name="httpCookie" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash.property.httpCookie"></a>

```typescript
public readonly httpCookie: ComputeRegionBackendServiceConsistentHashHttpCookie;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie">ComputeRegionBackendServiceConsistentHashHttpCookie</a>

http_cookie block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#http_cookie ComputeRegionBackendService#http_cookie}

---

##### `httpHeaderName`<sup>Optional</sup> <a name="httpHeaderName" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash.property.httpHeaderName"></a>

```typescript
public readonly httpHeaderName: string;
```

- *Type:* string

The hash based on the value of the specified header field.

This field is applicable if the sessionAffinity is set to HEADER_FIELD.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#http_header_name ComputeRegionBackendService#http_header_name}

---

##### `minimumRingSize`<sup>Optional</sup> <a name="minimumRingSize" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHash.property.minimumRingSize"></a>

```typescript
public readonly minimumRingSize: number;
```

- *Type:* number

The minimum number of virtual nodes to use for the hash ring.

Larger ring sizes result in more granular load
distributions. If the number of hosts in the load balancing pool
is larger than the ring size, each host will be assigned a single
virtual node.
Defaults to 1024.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#minimum_ring_size ComputeRegionBackendService#minimum_ring_size}

---

### ComputeRegionBackendServiceConsistentHashHttpCookie <a name="ComputeRegionBackendServiceConsistentHashHttpCookie" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceConsistentHashHttpCookie } from '@dschmidt/provider-google'

const computeRegionBackendServiceConsistentHashHttpCookie: ComputeRegionBackendServiceConsistentHashHttpCookie = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie.property.name">name</a></code> | <code>string</code> | Name of the cookie. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie.property.path">path</a></code> | <code>string</code> | Path to set for the cookie. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie.property.ttl">ttl</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookieTtl">ComputeRegionBackendServiceConsistentHashHttpCookieTtl</a></code> | ttl block. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the cookie.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#name ComputeRegionBackendService#name}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Path to set for the cookie.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#path ComputeRegionBackendService#path}

---

##### `ttl`<sup>Optional</sup> <a name="ttl" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookie.property.ttl"></a>

```typescript
public readonly ttl: ComputeRegionBackendServiceConsistentHashHttpCookieTtl;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookieTtl">ComputeRegionBackendServiceConsistentHashHttpCookieTtl</a>

ttl block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#ttl ComputeRegionBackendService#ttl}

---

### ComputeRegionBackendServiceConsistentHashHttpCookieTtl <a name="ComputeRegionBackendServiceConsistentHashHttpCookieTtl" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookieTtl"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookieTtl.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceConsistentHashHttpCookieTtl } from '@dschmidt/provider-google'

const computeRegionBackendServiceConsistentHashHttpCookieTtl: ComputeRegionBackendServiceConsistentHashHttpCookieTtl = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookieTtl.property.seconds">seconds</a></code> | <code>number</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookieTtl.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookieTtl.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#seconds ComputeRegionBackendService#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeRegionBackendServiceConsistentHashHttpCookieTtl.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations less than one second are represented
with a 0 seconds field and a positive nanos field. Must
be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#nanos ComputeRegionBackendService#nanos}

---

### ComputeRegionBackendServiceFailoverPolicy <a name="ComputeRegionBackendServiceFailoverPolicy" id="@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceFailoverPolicy } from '@dschmidt/provider-google'

const computeRegionBackendServiceFailoverPolicy: ComputeRegionBackendServiceFailoverPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy.property.disableConnectionDrainOnFailover">disableConnectionDrainOnFailover</a></code> | <code>boolean \| cdktf.IResolvable</code> | On failover or failback, this field indicates whether connection drain will be honored. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy.property.dropTrafficIfUnhealthy">dropTrafficIfUnhealthy</a></code> | <code>boolean \| cdktf.IResolvable</code> | This option is used only when no healthy VMs are detected in the primary and backup instance groups. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy.property.failoverRatio">failoverRatio</a></code> | <code>number</code> | The value of the field must be in [0, 1]. |

---

##### `disableConnectionDrainOnFailover`<sup>Optional</sup> <a name="disableConnectionDrainOnFailover" id="@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy.property.disableConnectionDrainOnFailover"></a>

```typescript
public readonly disableConnectionDrainOnFailover: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

On failover or failback, this field indicates whether connection drain will be honored.

Setting this to true has the following effect: connections
to the old active pool are not drained. Connections to the new active pool
use the timeout of 10 min (currently fixed). Setting to false has the
following effect: both old and new connections will have a drain timeout
of 10 min.
This can be set to true only if the protocol is TCP.
The default is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#disable_connection_drain_on_failover ComputeRegionBackendService#disable_connection_drain_on_failover}

---

##### `dropTrafficIfUnhealthy`<sup>Optional</sup> <a name="dropTrafficIfUnhealthy" id="@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy.property.dropTrafficIfUnhealthy"></a>

```typescript
public readonly dropTrafficIfUnhealthy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This option is used only when no healthy VMs are detected in the primary and backup instance groups.

When set to true, traffic is dropped. When
set to false, new connections are sent across all VMs in the primary group.
The default is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#drop_traffic_if_unhealthy ComputeRegionBackendService#drop_traffic_if_unhealthy}

---

##### `failoverRatio`<sup>Optional</sup> <a name="failoverRatio" id="@dschmidt/provider-google.ComputeRegionBackendServiceFailoverPolicy.property.failoverRatio"></a>

```typescript
public readonly failoverRatio: number;
```

- *Type:* number

The value of the field must be in [0, 1].

If the ratio of the healthy
VMs in the primary backend is at or below this number, traffic arriving
at the load-balanced IP will be directed to the failover backend.
In case where 'failoverRatio' is not set or all the VMs in the backup
backend are unhealthy, the traffic will be directed back to the primary
backend in the "force" mode, where traffic will be spread to the healthy
VMs with the best effort, or to all VMs when no VM is healthy.
This field is only used with l4 load balancing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#failover_ratio ComputeRegionBackendService#failover_ratio}

---

### ComputeRegionBackendServiceIap <a name="ComputeRegionBackendServiceIap" id="@dschmidt/provider-google.ComputeRegionBackendServiceIap"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceIap.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceIap } from '@dschmidt/provider-google'

const computeRegionBackendServiceIap: ComputeRegionBackendServiceIap = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceIap.property.oauth2ClientId">oauth2ClientId</a></code> | <code>string</code> | OAuth2 Client ID for IAP. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceIap.property.oauth2ClientSecret">oauth2ClientSecret</a></code> | <code>string</code> | OAuth2 Client Secret for IAP. |

---

##### `oauth2ClientId`<sup>Required</sup> <a name="oauth2ClientId" id="@dschmidt/provider-google.ComputeRegionBackendServiceIap.property.oauth2ClientId"></a>

```typescript
public readonly oauth2ClientId: string;
```

- *Type:* string

OAuth2 Client ID for IAP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#oauth2_client_id ComputeRegionBackendService#oauth2_client_id}

---

##### `oauth2ClientSecret`<sup>Required</sup> <a name="oauth2ClientSecret" id="@dschmidt/provider-google.ComputeRegionBackendServiceIap.property.oauth2ClientSecret"></a>

```typescript
public readonly oauth2ClientSecret: string;
```

- *Type:* string

OAuth2 Client Secret for IAP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#oauth2_client_secret ComputeRegionBackendService#oauth2_client_secret}

---

### ComputeRegionBackendServiceLogConfig <a name="ComputeRegionBackendServiceLogConfig" id="@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceLogConfig } from '@dschmidt/provider-google'

const computeRegionBackendServiceLogConfig: ComputeRegionBackendServiceLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig.property.enable">enable</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable logging for the load balancer traffic served by this backend service. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig.property.sampleRate">sampleRate</a></code> | <code>number</code> | This field can only be specified if logging is enabled for this backend service. |

---

##### `enable`<sup>Optional</sup> <a name="enable" id="@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig.property.enable"></a>

```typescript
public readonly enable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable logging for the load balancer traffic served by this backend service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#enable ComputeRegionBackendService#enable}

---

##### `sampleRate`<sup>Optional</sup> <a name="sampleRate" id="@dschmidt/provider-google.ComputeRegionBackendServiceLogConfig.property.sampleRate"></a>

```typescript
public readonly sampleRate: number;
```

- *Type:* number

This field can only be specified if logging is enabled for this backend service.

The value of
the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
The default value is 1.0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#sample_rate ComputeRegionBackendService#sample_rate}

---

### ComputeRegionBackendServiceOutlierDetection <a name="ComputeRegionBackendServiceOutlierDetection" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceOutlierDetection } from '@dschmidt/provider-google'

const computeRegionBackendServiceOutlierDetection: ComputeRegionBackendServiceOutlierDetection = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.baseEjectionTime">baseEjectionTime</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime">ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime</a></code> | base_ejection_time block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.consecutiveErrors">consecutiveErrors</a></code> | <code>number</code> | Number of errors before a host is ejected from the connection pool. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.consecutiveGatewayFailure">consecutiveGatewayFailure</a></code> | <code>number</code> | The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.enforcingConsecutiveErrors">enforcingConsecutiveErrors</a></code> | <code>number</code> | The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.enforcingConsecutiveGatewayFailure">enforcingConsecutiveGatewayFailure</a></code> | <code>number</code> | The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.enforcingSuccessRate">enforcingSuccessRate</a></code> | <code>number</code> | The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.interval">interval</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionInterval">ComputeRegionBackendServiceOutlierDetectionInterval</a></code> | interval block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.maxEjectionPercent">maxEjectionPercent</a></code> | <code>number</code> | Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 10%. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.successRateMinimumHosts">successRateMinimumHosts</a></code> | <code>number</code> | The number of hosts in a cluster that must have enough request volume to detect success rate outliers. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.successRateRequestVolume">successRateRequestVolume</a></code> | <code>number</code> | The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.successRateStdevFactor">successRateStdevFactor</a></code> | <code>number</code> | This factor is used to determine the ejection threshold for success rate outlier ejection. |

---

##### `baseEjectionTime`<sup>Optional</sup> <a name="baseEjectionTime" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.baseEjectionTime"></a>

```typescript
public readonly baseEjectionTime: ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime">ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime</a>

base_ejection_time block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#base_ejection_time ComputeRegionBackendService#base_ejection_time}

---

##### `consecutiveErrors`<sup>Optional</sup> <a name="consecutiveErrors" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.consecutiveErrors"></a>

```typescript
public readonly consecutiveErrors: number;
```

- *Type:* number

Number of errors before a host is ejected from the connection pool.

When the
backend host is accessed over HTTP, a 5xx return code qualifies as an error.
Defaults to 5.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#consecutive_errors ComputeRegionBackendService#consecutive_errors}

---

##### `consecutiveGatewayFailure`<sup>Optional</sup> <a name="consecutiveGatewayFailure" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.consecutiveGatewayFailure"></a>

```typescript
public readonly consecutiveGatewayFailure: number;
```

- *Type:* number

The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs.

Defaults to 5.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#consecutive_gateway_failure ComputeRegionBackendService#consecutive_gateway_failure}

---

##### `enforcingConsecutiveErrors`<sup>Optional</sup> <a name="enforcingConsecutiveErrors" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.enforcingConsecutiveErrors"></a>

```typescript
public readonly enforcingConsecutiveErrors: number;
```

- *Type:* number

The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx.

This setting can be used to disable
ejection or to ramp it up slowly. Defaults to 100.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#enforcing_consecutive_errors ComputeRegionBackendService#enforcing_consecutive_errors}

---

##### `enforcingConsecutiveGatewayFailure`<sup>Optional</sup> <a name="enforcingConsecutiveGatewayFailure" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.enforcingConsecutiveGatewayFailure"></a>

```typescript
public readonly enforcingConsecutiveGatewayFailure: number;
```

- *Type:* number

The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures.

This setting can be
used to disable ejection or to ramp it up slowly. Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#enforcing_consecutive_gateway_failure ComputeRegionBackendService#enforcing_consecutive_gateway_failure}

---

##### `enforcingSuccessRate`<sup>Optional</sup> <a name="enforcingSuccessRate" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.enforcingSuccessRate"></a>

```typescript
public readonly enforcingSuccessRate: number;
```

- *Type:* number

The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics.

This setting can be used to
disable ejection or to ramp it up slowly. Defaults to 100.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#enforcing_success_rate ComputeRegionBackendService#enforcing_success_rate}

---

##### `interval`<sup>Optional</sup> <a name="interval" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.interval"></a>

```typescript
public readonly interval: ComputeRegionBackendServiceOutlierDetectionInterval;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionInterval">ComputeRegionBackendServiceOutlierDetectionInterval</a>

interval block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#interval ComputeRegionBackendService#interval}

---

##### `maxEjectionPercent`<sup>Optional</sup> <a name="maxEjectionPercent" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.maxEjectionPercent"></a>

```typescript
public readonly maxEjectionPercent: number;
```

- *Type:* number

Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 10%.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#max_ejection_percent ComputeRegionBackendService#max_ejection_percent}

---

##### `successRateMinimumHosts`<sup>Optional</sup> <a name="successRateMinimumHosts" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.successRateMinimumHosts"></a>

```typescript
public readonly successRateMinimumHosts: number;
```

- *Type:* number

The number of hosts in a cluster that must have enough request volume to detect success rate outliers.

If the number of hosts is less than this setting, outlier
detection via success rate statistics is not performed for any host in the
cluster. Defaults to 5.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#success_rate_minimum_hosts ComputeRegionBackendService#success_rate_minimum_hosts}

---

##### `successRateRequestVolume`<sup>Optional</sup> <a name="successRateRequestVolume" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.successRateRequestVolume"></a>

```typescript
public readonly successRateRequestVolume: number;
```

- *Type:* number

The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection.

If the volume is lower than this setting, outlier
detection via success rate statistics is not performed for that host. Defaults
to 100.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#success_rate_request_volume ComputeRegionBackendService#success_rate_request_volume}

---

##### `successRateStdevFactor`<sup>Optional</sup> <a name="successRateStdevFactor" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetection.property.successRateStdevFactor"></a>

```typescript
public readonly successRateStdevFactor: number;
```

- *Type:* number

This factor is used to determine the ejection threshold for success rate outlier ejection.

The ejection threshold is the difference between the mean success
rate, and the product of this factor and the standard deviation of the mean
success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
by a thousand to get a double. That is, if the desired factor is 1.9, the
runtime value should be 1900. Defaults to 1900.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#success_rate_stdev_factor ComputeRegionBackendService#success_rate_stdev_factor}

---

### ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime <a name="ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime } from '@dschmidt/provider-google'

const computeRegionBackendServiceOutlierDetectionBaseEjectionTime: ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime.property.seconds">seconds</a></code> | <code>number</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#seconds ComputeRegionBackendService#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionBaseEjectionTime.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#nanos ComputeRegionBackendService#nanos}

---

### ComputeRegionBackendServiceOutlierDetectionInterval <a name="ComputeRegionBackendServiceOutlierDetectionInterval" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionInterval"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionInterval.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceOutlierDetectionInterval } from '@dschmidt/provider-google'

const computeRegionBackendServiceOutlierDetectionInterval: ComputeRegionBackendServiceOutlierDetectionInterval = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionInterval.property.seconds">seconds</a></code> | <code>number</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionInterval.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionInterval.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#seconds ComputeRegionBackendService#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeRegionBackendServiceOutlierDetectionInterval.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#nanos ComputeRegionBackendService#nanos}

---

### ComputeRegionBackendServiceTimeouts <a name="ComputeRegionBackendServiceTimeouts" id="@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts.Initializer"></a>

```typescript
import { ComputeRegionBackendServiceTimeouts } from '@dschmidt/provider-google'

const computeRegionBackendServiceTimeouts: ComputeRegionBackendServiceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#create ComputeRegionBackendService#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#delete ComputeRegionBackendService#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#update ComputeRegionBackendService#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#create ComputeRegionBackendService#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#delete ComputeRegionBackendService#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRegionBackendServiceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_backend_service#update ComputeRegionBackendService#update}.

---

### ComputeRegionDiskConfig <a name="ComputeRegionDiskConfig" id="@dschmidt/provider-google.ComputeRegionDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskConfig.Initializer"></a>

```typescript
import { ComputeRegionDiskConfig } from '@dschmidt/provider-google'

const computeRegionDiskConfig: ComputeRegionDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.replicaZones">replicaZones</a></code> | <code>string[]</code> | URLs of the zones where the disk should be replicated to. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.diskEncryptionKey">diskEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey">ComputeRegionDiskDiskEncryptionKey</a></code> | disk_encryption_key block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#id ComputeRegionDisk#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels to apply to this disk.  A list of key->value pairs. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.physicalBlockSizeBytes">physicalBlockSizeBytes</a></code> | <code>number</code> | Physical block size of the persistent disk, in bytes. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#project ComputeRegionDisk#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.region">region</a></code> | <code>string</code> | A reference to the region where the disk resides. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.size">size</a></code> | <code>number</code> | Size of the persistent disk, specified in GB. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.snapshot">snapshot</a></code> | <code>string</code> | The source snapshot used to create this disk. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.sourceSnapshotEncryptionKey">sourceSnapshotEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKey">ComputeRegionDiskSourceSnapshotEncryptionKey</a></code> | source_snapshot_encryption_key block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskTimeouts">ComputeRegionDiskTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskConfig.property.type">type</a></code> | <code>string</code> | URL of the disk type resource describing which disk type to use to create the disk. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#name ComputeRegionDisk#name}

---

##### `replicaZones`<sup>Required</sup> <a name="replicaZones" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.replicaZones"></a>

```typescript
public readonly replicaZones: string[];
```

- *Type:* string[]

URLs of the zones where the disk should be replicated to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#replica_zones ComputeRegionDisk#replica_zones}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#description ComputeRegionDisk#description}

---

##### `diskEncryptionKey`<sup>Optional</sup> <a name="diskEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.diskEncryptionKey"></a>

```typescript
public readonly diskEncryptionKey: ComputeRegionDiskDiskEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey">ComputeRegionDiskDiskEncryptionKey</a>

disk_encryption_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#disk_encryption_key ComputeRegionDisk#disk_encryption_key}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#id ComputeRegionDisk#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to apply to this disk.  A list of key->value pairs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#labels ComputeRegionDisk#labels}

---

##### `physicalBlockSizeBytes`<sup>Optional</sup> <a name="physicalBlockSizeBytes" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.physicalBlockSizeBytes"></a>

```typescript
public readonly physicalBlockSizeBytes: number;
```

- *Type:* number

Physical block size of the persistent disk, in bytes.

If not present
in a request, a default value is used. Currently supported sizes
are 4096 and 16384, other sizes may be added in the future.
If an unsupported value is requested, the error message will list
the supported values for the caller's project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#physical_block_size_bytes ComputeRegionDisk#physical_block_size_bytes}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#project ComputeRegionDisk#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

A reference to the region where the disk resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#region ComputeRegionDisk#region}

---

##### `size`<sup>Optional</sup> <a name="size" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.size"></a>

```typescript
public readonly size: number;
```

- *Type:* number

Size of the persistent disk, specified in GB.

You can specify this
field when creating a persistent disk using the sourceImage or
sourceSnapshot parameter, or specify it alone to create an empty
persistent disk.

If you specify this field along with sourceImage or sourceSnapshot,
the value of sizeGb must not be less than the size of the sourceImage
or the size of the snapshot.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#size ComputeRegionDisk#size}

---

##### `snapshot`<sup>Optional</sup> <a name="snapshot" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.snapshot"></a>

```typescript
public readonly snapshot: string;
```

- *Type:* string

The source snapshot used to create this disk.

You can provide this as
a partial or full URL to the resource. For example, the following are
valid values:

'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot'
'projects/project/global/snapshots/snapshot'
'global/snapshots/snapshot'
'snapshot'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#snapshot ComputeRegionDisk#snapshot}

---

##### `sourceSnapshotEncryptionKey`<sup>Optional</sup> <a name="sourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.sourceSnapshotEncryptionKey"></a>

```typescript
public readonly sourceSnapshotEncryptionKey: ComputeRegionDiskSourceSnapshotEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKey">ComputeRegionDiskSourceSnapshotEncryptionKey</a>

source_snapshot_encryption_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#source_snapshot_encryption_key ComputeRegionDisk#source_snapshot_encryption_key}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionDiskTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskTimeouts">ComputeRegionDiskTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#timeouts ComputeRegionDisk#timeouts}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeRegionDiskConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

URL of the disk type resource describing which disk type to use to create the disk.

Provide this when creating the disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#type ComputeRegionDisk#type}

---

### ComputeRegionDiskDiskEncryptionKey <a name="ComputeRegionDiskDiskEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey.Initializer"></a>

```typescript
import { ComputeRegionDiskDiskEncryptionKey } from '@dschmidt/provider-google'

const computeRegionDiskDiskEncryptionKey: ComputeRegionDiskDiskEncryptionKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | The name of the encryption key that is stored in Google Cloud KMS. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey.property.rawKey">rawKey</a></code> | <code>string</code> | Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. |

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

The name of the encryption key that is stored in Google Cloud KMS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#kms_key_name ComputeRegionDisk#kms_key_name}

---

##### `rawKey`<sup>Optional</sup> <a name="rawKey" id="@dschmidt/provider-google.ComputeRegionDiskDiskEncryptionKey.property.rawKey"></a>

```typescript
public readonly rawKey: string;
```

- *Type:* string

Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#raw_key ComputeRegionDisk#raw_key}

---

### ComputeRegionDiskIamBindingCondition <a name="ComputeRegionDiskIamBindingCondition" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition.Initializer"></a>

```typescript
import { ComputeRegionDiskIamBindingCondition } from '@dschmidt/provider-google'

const computeRegionDiskIamBindingCondition: ComputeRegionDiskIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#expression ComputeRegionDiskIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#title ComputeRegionDiskIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#description ComputeRegionDiskIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#expression ComputeRegionDiskIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#title ComputeRegionDiskIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#description ComputeRegionDiskIamBinding#description}.

---

### ComputeRegionDiskIamBindingConfig <a name="ComputeRegionDiskIamBindingConfig" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.Initializer"></a>

```typescript
import { ComputeRegionDiskIamBindingConfig } from '@dschmidt/provider-google'

const computeRegionDiskIamBindingConfig: ComputeRegionDiskIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#members ComputeRegionDiskIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#name ComputeRegionDiskIamBinding#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#role ComputeRegionDiskIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition">ComputeRegionDiskIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#id ComputeRegionDiskIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#project ComputeRegionDiskIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#region ComputeRegionDiskIamBinding#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#members ComputeRegionDiskIamBinding#members}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#name ComputeRegionDiskIamBinding#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#role ComputeRegionDiskIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ComputeRegionDiskIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamBindingCondition">ComputeRegionDiskIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#condition ComputeRegionDiskIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#id ComputeRegionDiskIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#project ComputeRegionDiskIamBinding#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDiskIamBindingConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_binding#region ComputeRegionDiskIamBinding#region}.

---

### ComputeRegionDiskIamMemberCondition <a name="ComputeRegionDiskIamMemberCondition" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition.Initializer"></a>

```typescript
import { ComputeRegionDiskIamMemberCondition } from '@dschmidt/provider-google'

const computeRegionDiskIamMemberCondition: ComputeRegionDiskIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#expression ComputeRegionDiskIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#title ComputeRegionDiskIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#description ComputeRegionDiskIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#expression ComputeRegionDiskIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#title ComputeRegionDiskIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#description ComputeRegionDiskIamMember#description}.

---

### ComputeRegionDiskIamMemberConfig <a name="ComputeRegionDiskIamMemberConfig" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.Initializer"></a>

```typescript
import { ComputeRegionDiskIamMemberConfig } from '@dschmidt/provider-google'

const computeRegionDiskIamMemberConfig: ComputeRegionDiskIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#member ComputeRegionDiskIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#name ComputeRegionDiskIamMember#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#role ComputeRegionDiskIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition">ComputeRegionDiskIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#id ComputeRegionDiskIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#project ComputeRegionDiskIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#region ComputeRegionDiskIamMember#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#member ComputeRegionDiskIamMember#member}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#name ComputeRegionDiskIamMember#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#role ComputeRegionDiskIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ComputeRegionDiskIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskIamMemberCondition">ComputeRegionDiskIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#condition ComputeRegionDiskIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#id ComputeRegionDiskIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#project ComputeRegionDiskIamMember#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDiskIamMemberConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_member#region ComputeRegionDiskIamMember#region}.

---

### ComputeRegionDiskIamPolicyConfig <a name="ComputeRegionDiskIamPolicyConfig" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.Initializer"></a>

```typescript
import { ComputeRegionDiskIamPolicyConfig } from '@dschmidt/provider-google'

const computeRegionDiskIamPolicyConfig: ComputeRegionDiskIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#name ComputeRegionDiskIamPolicy#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#policy_data ComputeRegionDiskIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#id ComputeRegionDiskIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#project ComputeRegionDiskIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#region ComputeRegionDiskIamPolicy#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#name ComputeRegionDiskIamPolicy#name}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#policy_data ComputeRegionDiskIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#id ComputeRegionDiskIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#project ComputeRegionDiskIamPolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDiskIamPolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_iam_policy#region ComputeRegionDiskIamPolicy#region}.

---

### ComputeRegionDiskResourcePolicyAttachmentConfig <a name="ComputeRegionDiskResourcePolicyAttachmentConfig" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.Initializer"></a>

```typescript
import { ComputeRegionDiskResourcePolicyAttachmentConfig } from '@dschmidt/provider-google'

const computeRegionDiskResourcePolicyAttachmentConfig: ComputeRegionDiskResourcePolicyAttachmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.disk">disk</a></code> | <code>string</code> | The name of the regional disk in which the resource policies are attached to. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.name">name</a></code> | <code>string</code> | The resource policy to be attached to the disk for scheduling snapshot creation. Do not specify the self link. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#id ComputeRegionDiskResourcePolicyAttachment#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#project ComputeRegionDiskResourcePolicyAttachment#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.region">region</a></code> | <code>string</code> | A reference to the region where the disk resides. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts">ComputeRegionDiskResourcePolicyAttachmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `disk`<sup>Required</sup> <a name="disk" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.disk"></a>

```typescript
public readonly disk: string;
```

- *Type:* string

The name of the regional disk in which the resource policies are attached to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#disk ComputeRegionDiskResourcePolicyAttachment#disk}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource policy to be attached to the disk for scheduling snapshot creation. Do not specify the self link.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#name ComputeRegionDiskResourcePolicyAttachment#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#id ComputeRegionDiskResourcePolicyAttachment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#project ComputeRegionDiskResourcePolicyAttachment#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

A reference to the region where the disk resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#region ComputeRegionDiskResourcePolicyAttachment#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionDiskResourcePolicyAttachmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts">ComputeRegionDiskResourcePolicyAttachmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#timeouts ComputeRegionDiskResourcePolicyAttachment#timeouts}

---

### ComputeRegionDiskResourcePolicyAttachmentTimeouts <a name="ComputeRegionDiskResourcePolicyAttachmentTimeouts" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts.Initializer"></a>

```typescript
import { ComputeRegionDiskResourcePolicyAttachmentTimeouts } from '@dschmidt/provider-google'

const computeRegionDiskResourcePolicyAttachmentTimeouts: ComputeRegionDiskResourcePolicyAttachmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#create ComputeRegionDiskResourcePolicyAttachment#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#delete ComputeRegionDiskResourcePolicyAttachment#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#create ComputeRegionDiskResourcePolicyAttachment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionDiskResourcePolicyAttachmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk_resource_policy_attachment#delete ComputeRegionDiskResourcePolicyAttachment#delete}.

---

### ComputeRegionDiskSourceSnapshotEncryptionKey <a name="ComputeRegionDiskSourceSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKey.Initializer"></a>

```typescript
import { ComputeRegionDiskSourceSnapshotEncryptionKey } from '@dschmidt/provider-google'

const computeRegionDiskSourceSnapshotEncryptionKey: ComputeRegionDiskSourceSnapshotEncryptionKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKey.property.rawKey">rawKey</a></code> | <code>string</code> | Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. |

---

##### `rawKey`<sup>Optional</sup> <a name="rawKey" id="@dschmidt/provider-google.ComputeRegionDiskSourceSnapshotEncryptionKey.property.rawKey"></a>

```typescript
public readonly rawKey: string;
```

- *Type:* string

Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#raw_key ComputeRegionDisk#raw_key}

---

### ComputeRegionDiskTimeouts <a name="ComputeRegionDiskTimeouts" id="@dschmidt/provider-google.ComputeRegionDiskTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionDiskTimeouts.Initializer"></a>

```typescript
import { ComputeRegionDiskTimeouts } from '@dschmidt/provider-google'

const computeRegionDiskTimeouts: ComputeRegionDiskTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#create ComputeRegionDisk#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#delete ComputeRegionDisk#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionDiskTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#update ComputeRegionDisk#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionDiskTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#create ComputeRegionDisk#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionDiskTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#delete ComputeRegionDisk#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRegionDiskTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_disk#update ComputeRegionDisk#update}.

---

### ComputeRegionHealthCheckConfig <a name="ComputeRegionHealthCheckConfig" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.Initializer"></a>

```typescript
import { ComputeRegionHealthCheckConfig } from '@dschmidt/provider-google'

const computeRegionHealthCheckConfig: ComputeRegionHealthCheckConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.checkIntervalSec">checkIntervalSec</a></code> | <code>number</code> | How often (in seconds) to send a health check. The default value is 5 seconds. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.grpcHealthCheck">grpcHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck">ComputeRegionHealthCheckGrpcHealthCheck</a></code> | grpc_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.healthyThreshold">healthyThreshold</a></code> | <code>number</code> | A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.http2HealthCheck">http2HealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck">ComputeRegionHealthCheckHttp2HealthCheck</a></code> | http2_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.httpHealthCheck">httpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck">ComputeRegionHealthCheckHttpHealthCheck</a></code> | http_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.httpsHealthCheck">httpsHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck">ComputeRegionHealthCheckHttpsHealthCheck</a></code> | https_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#id ComputeRegionHealthCheck#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckLogConfig">ComputeRegionHealthCheckLogConfig</a></code> | log_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#project ComputeRegionHealthCheck#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.region">region</a></code> | <code>string</code> | The Region in which the created health check should reside. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.sslHealthCheck">sslHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck">ComputeRegionHealthCheckSslHealthCheck</a></code> | ssl_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.tcpHealthCheck">tcpHealthCheck</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck">ComputeRegionHealthCheckTcpHealthCheck</a></code> | tcp_health_check block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts">ComputeRegionHealthCheckTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | How long (in seconds) to wait before claiming failure. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.unhealthyThreshold">unhealthyThreshold</a></code> | <code>number</code> | A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the
last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#name ComputeRegionHealthCheck#name}

---

##### `checkIntervalSec`<sup>Optional</sup> <a name="checkIntervalSec" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.checkIntervalSec"></a>

```typescript
public readonly checkIntervalSec: number;
```

- *Type:* number

How often (in seconds) to send a health check. The default value is 5 seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#check_interval_sec ComputeRegionHealthCheck#check_interval_sec}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#description ComputeRegionHealthCheck#description}

---

##### `grpcHealthCheck`<sup>Optional</sup> <a name="grpcHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.grpcHealthCheck"></a>

```typescript
public readonly grpcHealthCheck: ComputeRegionHealthCheckGrpcHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck">ComputeRegionHealthCheckGrpcHealthCheck</a>

grpc_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#grpc_health_check ComputeRegionHealthCheck#grpc_health_check}

---

##### `healthyThreshold`<sup>Optional</sup> <a name="healthyThreshold" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.healthyThreshold"></a>

```typescript
public readonly healthyThreshold: number;
```

- *Type:* number

A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#healthy_threshold ComputeRegionHealthCheck#healthy_threshold}

---

##### `http2HealthCheck`<sup>Optional</sup> <a name="http2HealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.http2HealthCheck"></a>

```typescript
public readonly http2HealthCheck: ComputeRegionHealthCheckHttp2HealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck">ComputeRegionHealthCheckHttp2HealthCheck</a>

http2_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#http2_health_check ComputeRegionHealthCheck#http2_health_check}

---

##### `httpHealthCheck`<sup>Optional</sup> <a name="httpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.httpHealthCheck"></a>

```typescript
public readonly httpHealthCheck: ComputeRegionHealthCheckHttpHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck">ComputeRegionHealthCheckHttpHealthCheck</a>

http_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#http_health_check ComputeRegionHealthCheck#http_health_check}

---

##### `httpsHealthCheck`<sup>Optional</sup> <a name="httpsHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.httpsHealthCheck"></a>

```typescript
public readonly httpsHealthCheck: ComputeRegionHealthCheckHttpsHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck">ComputeRegionHealthCheckHttpsHealthCheck</a>

https_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#https_health_check ComputeRegionHealthCheck#https_health_check}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#id ComputeRegionHealthCheck#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `logConfig`<sup>Optional</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeRegionHealthCheckLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckLogConfig">ComputeRegionHealthCheckLogConfig</a>

log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#log_config ComputeRegionHealthCheck#log_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#project ComputeRegionHealthCheck#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the created health check should reside. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#region ComputeRegionHealthCheck#region}

---

##### `sslHealthCheck`<sup>Optional</sup> <a name="sslHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.sslHealthCheck"></a>

```typescript
public readonly sslHealthCheck: ComputeRegionHealthCheckSslHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck">ComputeRegionHealthCheckSslHealthCheck</a>

ssl_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#ssl_health_check ComputeRegionHealthCheck#ssl_health_check}

---

##### `tcpHealthCheck`<sup>Optional</sup> <a name="tcpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.tcpHealthCheck"></a>

```typescript
public readonly tcpHealthCheck: ComputeRegionHealthCheckTcpHealthCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck">ComputeRegionHealthCheckTcpHealthCheck</a>

tcp_health_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#tcp_health_check ComputeRegionHealthCheck#tcp_health_check}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionHealthCheckTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts">ComputeRegionHealthCheckTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#timeouts ComputeRegionHealthCheck#timeouts}

---

##### `timeoutSec`<sup>Optional</sup> <a name="timeoutSec" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

How long (in seconds) to wait before claiming failure.

The default value is 5 seconds.  It is invalid for timeoutSec to have
greater value than checkIntervalSec.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#timeout_sec ComputeRegionHealthCheck#timeout_sec}

---

##### `unhealthyThreshold`<sup>Optional</sup> <a name="unhealthyThreshold" id="@dschmidt/provider-google.ComputeRegionHealthCheckConfig.property.unhealthyThreshold"></a>

```typescript
public readonly unhealthyThreshold: number;
```

- *Type:* number

A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#unhealthy_threshold ComputeRegionHealthCheck#unhealthy_threshold}

---

### ComputeRegionHealthCheckGrpcHealthCheck <a name="ComputeRegionHealthCheckGrpcHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck.Initializer"></a>

```typescript
import { ComputeRegionHealthCheckGrpcHealthCheck } from '@dschmidt/provider-google'

const computeRegionHealthCheckGrpcHealthCheck: ComputeRegionHealthCheckGrpcHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck.property.grpcServiceName">grpcServiceName</a></code> | <code>string</code> | The gRPC service name for the health check. The value of grpcServiceName has the following meanings by convention:. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck.property.port">port</a></code> | <code>number</code> | The port number for the health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |

---

##### `grpcServiceName`<sup>Optional</sup> <a name="grpcServiceName" id="@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck.property.grpcServiceName"></a>

```typescript
public readonly grpcServiceName: string;
```

- *Type:* string

The gRPC service name for the health check. The value of grpcServiceName has the following meanings by convention:.

Empty serviceName means the overall status of all services at the backend.
Non-empty serviceName means the health of that gRPC service, as defined by the owner of the service.

The grpcServiceName can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#grpc_service_name ComputeRegionHealthCheck#grpc_service_name}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The port number for the health check request.

Must be specified if portName and portSpecification are not set
or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port ComputeRegionHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_name ComputeRegionHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeRegionHealthCheckGrpcHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, gRPC health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_specification ComputeRegionHealthCheck#port_specification}

---

### ComputeRegionHealthCheckHttp2HealthCheck <a name="ComputeRegionHealthCheckHttp2HealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.Initializer"></a>

```typescript
import { ComputeRegionHealthCheckHttp2HealthCheck } from '@dschmidt/provider-google'

const computeRegionHealthCheckHttp2HealthCheck: ComputeRegionHealthCheckHttp2HealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.host">host</a></code> | <code>string</code> | The value of the host header in the HTTP2 health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the HTTP2 health check request. The default value is 443. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.requestPath">requestPath</a></code> | <code>string</code> | The request path of the HTTP2 health check request. The default value is /. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The value of the host header in the HTTP2 health check request.

If left empty (default value), the public IP on behalf of which this health
check is performed will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#host ComputeRegionHealthCheck#host}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the HTTP2 health check request. The default value is 443.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port ComputeRegionHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_name ComputeRegionHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, HTTP2 health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_specification ComputeRegionHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#proxy_header ComputeRegionHealthCheck#proxy_header}

---

##### `requestPath`<sup>Optional</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

The request path of the HTTP2 health check request. The default value is /.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#request_path ComputeRegionHealthCheck#request_path}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttp2HealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#response ComputeRegionHealthCheck#response}

---

### ComputeRegionHealthCheckHttpHealthCheck <a name="ComputeRegionHealthCheckHttpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.Initializer"></a>

```typescript
import { ComputeRegionHealthCheckHttpHealthCheck } from '@dschmidt/provider-google'

const computeRegionHealthCheckHttpHealthCheck: ComputeRegionHealthCheckHttpHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.host">host</a></code> | <code>string</code> | The value of the host header in the HTTP health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the HTTP health check request. The default value is 80. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.requestPath">requestPath</a></code> | <code>string</code> | The request path of the HTTP health check request. The default value is /. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The value of the host header in the HTTP health check request.

If left empty (default value), the public IP on behalf of which this health
check is performed will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#host ComputeRegionHealthCheck#host}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the HTTP health check request. The default value is 80.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port ComputeRegionHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_name ComputeRegionHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, HTTP health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_specification ComputeRegionHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#proxy_header ComputeRegionHealthCheck#proxy_header}

---

##### `requestPath`<sup>Optional</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

The request path of the HTTP health check request. The default value is /.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#request_path ComputeRegionHealthCheck#request_path}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpHealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#response ComputeRegionHealthCheck#response}

---

### ComputeRegionHealthCheckHttpsHealthCheck <a name="ComputeRegionHealthCheckHttpsHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.Initializer"></a>

```typescript
import { ComputeRegionHealthCheckHttpsHealthCheck } from '@dschmidt/provider-google'

const computeRegionHealthCheckHttpsHealthCheck: ComputeRegionHealthCheckHttpsHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.host">host</a></code> | <code>string</code> | The value of the host header in the HTTPS health check request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the HTTPS health check request. The default value is 443. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.requestPath">requestPath</a></code> | <code>string</code> | The request path of the HTTPS health check request. The default value is /. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The value of the host header in the HTTPS health check request.

If left empty (default value), the public IP on behalf of which this health
check is performed will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#host ComputeRegionHealthCheck#host}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the HTTPS health check request. The default value is 443.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port ComputeRegionHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_name ComputeRegionHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, HTTPS health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_specification ComputeRegionHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#proxy_header ComputeRegionHealthCheck#proxy_header}

---

##### `requestPath`<sup>Optional</sup> <a name="requestPath" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.requestPath"></a>

```typescript
public readonly requestPath: string;
```

- *Type:* string

The request path of the HTTPS health check request. The default value is /.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#request_path ComputeRegionHealthCheck#request_path}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeRegionHealthCheckHttpsHealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#response ComputeRegionHealthCheck#response}

---

### ComputeRegionHealthCheckLogConfig <a name="ComputeRegionHealthCheckLogConfig" id="@dschmidt/provider-google.ComputeRegionHealthCheckLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionHealthCheckLogConfig.Initializer"></a>

```typescript
import { ComputeRegionHealthCheckLogConfig } from '@dschmidt/provider-google'

const computeRegionHealthCheckLogConfig: ComputeRegionHealthCheckLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckLogConfig.property.enable">enable</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether or not to export logs. |

---

##### `enable`<sup>Optional</sup> <a name="enable" id="@dschmidt/provider-google.ComputeRegionHealthCheckLogConfig.property.enable"></a>

```typescript
public readonly enable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether or not to export logs.

This is false by default,
which means no health check logging will be done.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#enable ComputeRegionHealthCheck#enable}

---

### ComputeRegionHealthCheckSslHealthCheck <a name="ComputeRegionHealthCheckSslHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.Initializer"></a>

```typescript
import { ComputeRegionHealthCheckSslHealthCheck } from '@dschmidt/provider-google'

const computeRegionHealthCheckSslHealthCheck: ComputeRegionHealthCheckSslHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the SSL health check request. The default value is 443. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.request">request</a></code> | <code>string</code> | The application data to send once the SSL connection has been established (default value is empty). |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the SSL health check request. The default value is 443.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port ComputeRegionHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_name ComputeRegionHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, SSL health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_specification ComputeRegionHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#proxy_header ComputeRegionHealthCheck#proxy_header}

---

##### `request`<sup>Optional</sup> <a name="request" id="@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.request"></a>

```typescript
public readonly request: string;
```

- *Type:* string

The application data to send once the SSL connection has been established (default value is empty).

If both request and response are
empty, the connection establishment alone will indicate health. The request
data can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#request ComputeRegionHealthCheck#request}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeRegionHealthCheckSslHealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#response ComputeRegionHealthCheck#response}

---

### ComputeRegionHealthCheckTcpHealthCheck <a name="ComputeRegionHealthCheckTcpHealthCheck" id="@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.Initializer"></a>

```typescript
import { ComputeRegionHealthCheckTcpHealthCheck } from '@dschmidt/provider-google'

const computeRegionHealthCheckTcpHealthCheck: ComputeRegionHealthCheckTcpHealthCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.port">port</a></code> | <code>number</code> | The TCP port number for the TCP health check request. The default value is 80. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.portName">portName</a></code> | <code>string</code> | Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.portSpecification">portSpecification</a></code> | <code>string</code> | Specifies how port is selected for health checking, can be one of the following values:. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.request">request</a></code> | <code>string</code> | The application data to send once the TCP connection has been established (default value is empty). |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.response">response</a></code> | <code>string</code> | The bytes to match against the beginning of the response data. |

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port number for the TCP health check request. The default value is 80.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port ComputeRegionHealthCheck#port}

---

##### `portName`<sup>Optional</sup> <a name="portName" id="@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.portName"></a>

```typescript
public readonly portName: string;
```

- *Type:* string

Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_name ComputeRegionHealthCheck#port_name}

---

##### `portSpecification`<sup>Optional</sup> <a name="portSpecification" id="@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.portSpecification"></a>

```typescript
public readonly portSpecification: string;
```

- *Type:* string

Specifies how port is selected for health checking, can be one of the following values:.

'USE_FIXED_PORT': The port number in 'port' is used for health checking.

'USE_NAMED_PORT': The 'portName' is used for health checking.

'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each
network endpoint is used for health checking. For other backends, the
port or named port specified in the Backend Service is used for health
checking.

If not specified, TCP health check follows behavior specified in 'port' and
'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#port_specification ComputeRegionHealthCheck#port_specification}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#proxy_header ComputeRegionHealthCheck#proxy_header}

---

##### `request`<sup>Optional</sup> <a name="request" id="@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.request"></a>

```typescript
public readonly request: string;
```

- *Type:* string

The application data to send once the TCP connection has been established (default value is empty).

If both request and response are
empty, the connection establishment alone will indicate health. The request
data can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#request ComputeRegionHealthCheck#request}

---

##### `response`<sup>Optional</sup> <a name="response" id="@dschmidt/provider-google.ComputeRegionHealthCheckTcpHealthCheck.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The bytes to match against the beginning of the response data.

If left empty
(the default value), any response will indicate health. The response data
can only be ASCII.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#response ComputeRegionHealthCheck#response}

---

### ComputeRegionHealthCheckTimeouts <a name="ComputeRegionHealthCheckTimeouts" id="@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts.Initializer"></a>

```typescript
import { ComputeRegionHealthCheckTimeouts } from '@dschmidt/provider-google'

const computeRegionHealthCheckTimeouts: ComputeRegionHealthCheckTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#create ComputeRegionHealthCheck#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#delete ComputeRegionHealthCheck#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#update ComputeRegionHealthCheck#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#create ComputeRegionHealthCheck#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#delete ComputeRegionHealthCheck#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRegionHealthCheckTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_health_check#update ComputeRegionHealthCheck#update}.

---

### ComputeRegionInstanceGroupManagerAutoHealingPolicies <a name="ComputeRegionInstanceGroupManagerAutoHealingPolicies" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerAutoHealingPolicies } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerAutoHealingPolicies: ComputeRegionInstanceGroupManagerAutoHealingPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies.property.healthCheck">healthCheck</a></code> | <code>string</code> | The health check resource that signals autohealing. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies.property.initialDelaySec">initialDelaySec</a></code> | <code>number</code> | The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. |

---

##### `healthCheck`<sup>Required</sup> <a name="healthCheck" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies.property.healthCheck"></a>

```typescript
public readonly healthCheck: string;
```

- *Type:* string

The health check resource that signals autohealing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#health_check ComputeRegionInstanceGroupManager#health_check}

---

##### `initialDelaySec`<sup>Required</sup> <a name="initialDelaySec" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies.property.initialDelaySec"></a>

```typescript
public readonly initialDelaySec: number;
```

- *Type:* number

The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances.

Between 0 and 3600.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#initial_delay_sec ComputeRegionInstanceGroupManager#initial_delay_sec}

---

### ComputeRegionInstanceGroupManagerConfig <a name="ComputeRegionInstanceGroupManagerConfig" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerConfig } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerConfig: ComputeRegionInstanceGroupManagerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.baseInstanceName">baseInstanceName</a></code> | <code>string</code> | The base instance name to use for instances in this group. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.name">name</a></code> | <code>string</code> | The name of the instance group manager. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.version">version</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion">ComputeRegionInstanceGroupManagerVersion</a>[]</code> | version block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.autoHealingPolicies">autoHealingPolicies</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies">ComputeRegionInstanceGroupManagerAutoHealingPolicies</a></code> | auto_healing_policies block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.description">description</a></code> | <code>string</code> | An optional textual description of the instance group manager. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.distributionPolicyTargetShape">distributionPolicyTargetShape</a></code> | <code>string</code> | The shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType). |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.distributionPolicyZones">distributionPolicyZones</a></code> | <code>string[]</code> | The distribution policy for this managed instance group. You can specify one or more values. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#id ComputeRegionInstanceGroupManager#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.namedPort">namedPort</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort">ComputeRegionInstanceGroupManagerNamedPort</a>[]</code> | named_port block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.region">region</a></code> | <code>string</code> | The region where the managed instance group resides. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.statefulDisk">statefulDisk</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk">ComputeRegionInstanceGroupManagerStatefulDisk</a>[]</code> | stateful_disk block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.targetPools">targetPools</a></code> | <code>string[]</code> | The full URL of all target pools to which new instances in the group are added. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.targetSize">targetSize</a></code> | <code>number</code> | The target number of running instances for this managed instance group. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts">ComputeRegionInstanceGroupManagerTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.updatePolicy">updatePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy">ComputeRegionInstanceGroupManagerUpdatePolicy</a></code> | update_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.waitForInstances">waitForInstances</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to wait for all instances to be created/updated before returning. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.waitForInstancesStatus">waitForInstancesStatus</a></code> | <code>string</code> | When used with wait_for_instances specifies the status to wait for. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `baseInstanceName`<sup>Required</sup> <a name="baseInstanceName" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.baseInstanceName"></a>

```typescript
public readonly baseInstanceName: string;
```

- *Type:* string

The base instance name to use for instances in this group.

The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#base_instance_name ComputeRegionInstanceGroupManager#base_instance_name}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance group manager.

Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#name ComputeRegionInstanceGroupManager#name}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.version"></a>

```typescript
public readonly version: IResolvable | ComputeRegionInstanceGroupManagerVersion[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion">ComputeRegionInstanceGroupManagerVersion</a>[]

version block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#version ComputeRegionInstanceGroupManager#version}

---

##### `autoHealingPolicies`<sup>Optional</sup> <a name="autoHealingPolicies" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.autoHealingPolicies"></a>

```typescript
public readonly autoHealingPolicies: ComputeRegionInstanceGroupManagerAutoHealingPolicies;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerAutoHealingPolicies">ComputeRegionInstanceGroupManagerAutoHealingPolicies</a>

auto_healing_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#auto_healing_policies ComputeRegionInstanceGroupManager#auto_healing_policies}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional textual description of the instance group manager.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#description ComputeRegionInstanceGroupManager#description}

---

##### `distributionPolicyTargetShape`<sup>Optional</sup> <a name="distributionPolicyTargetShape" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.distributionPolicyTargetShape"></a>

```typescript
public readonly distributionPolicyTargetShape: string;
```

- *Type:* string

The shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#distribution_policy_target_shape ComputeRegionInstanceGroupManager#distribution_policy_target_shape}

---

##### `distributionPolicyZones`<sup>Optional</sup> <a name="distributionPolicyZones" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.distributionPolicyZones"></a>

```typescript
public readonly distributionPolicyZones: string[];
```

- *Type:* string[]

The distribution policy for this managed instance group. You can specify one or more values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#distribution_policy_zones ComputeRegionInstanceGroupManager#distribution_policy_zones}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#id ComputeRegionInstanceGroupManager#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `namedPort`<sup>Optional</sup> <a name="namedPort" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.namedPort"></a>

```typescript
public readonly namedPort: IResolvable | ComputeRegionInstanceGroupManagerNamedPort[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort">ComputeRegionInstanceGroupManagerNamedPort</a>[]

named_port block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#named_port ComputeRegionInstanceGroupManager#named_port}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#project ComputeRegionInstanceGroupManager#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region where the managed instance group resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#region ComputeRegionInstanceGroupManager#region}

---

##### `statefulDisk`<sup>Optional</sup> <a name="statefulDisk" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.statefulDisk"></a>

```typescript
public readonly statefulDisk: IResolvable | ComputeRegionInstanceGroupManagerStatefulDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk">ComputeRegionInstanceGroupManagerStatefulDisk</a>[]

stateful_disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#stateful_disk ComputeRegionInstanceGroupManager#stateful_disk}

---

##### `targetPools`<sup>Optional</sup> <a name="targetPools" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.targetPools"></a>

```typescript
public readonly targetPools: string[];
```

- *Type:* string[]

The full URL of all target pools to which new instances in the group are added.

Updating the target pools attribute does not affect existing instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#target_pools ComputeRegionInstanceGroupManager#target_pools}

---

##### `targetSize`<sup>Optional</sup> <a name="targetSize" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.targetSize"></a>

```typescript
public readonly targetSize: number;
```

- *Type:* number

The target number of running instances for this managed instance group.

This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#target_size ComputeRegionInstanceGroupManager#target_size}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionInstanceGroupManagerTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts">ComputeRegionInstanceGroupManagerTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#timeouts ComputeRegionInstanceGroupManager#timeouts}

---

##### `updatePolicy`<sup>Optional</sup> <a name="updatePolicy" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.updatePolicy"></a>

```typescript
public readonly updatePolicy: ComputeRegionInstanceGroupManagerUpdatePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy">ComputeRegionInstanceGroupManagerUpdatePolicy</a>

update_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#update_policy ComputeRegionInstanceGroupManager#update_policy}

---

##### `waitForInstances`<sup>Optional</sup> <a name="waitForInstances" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.waitForInstances"></a>

```typescript
public readonly waitForInstances: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to wait for all instances to be created/updated before returning.

Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#wait_for_instances ComputeRegionInstanceGroupManager#wait_for_instances}

---

##### `waitForInstancesStatus`<sup>Optional</sup> <a name="waitForInstancesStatus" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerConfig.property.waitForInstancesStatus"></a>

```typescript
public readonly waitForInstancesStatus: string;
```

- *Type:* string

When used with wait_for_instances specifies the status to wait for.

When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#wait_for_instances_status ComputeRegionInstanceGroupManager#wait_for_instances_status}

---

### ComputeRegionInstanceGroupManagerNamedPort <a name="ComputeRegionInstanceGroupManagerNamedPort" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerNamedPort } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerNamedPort: ComputeRegionInstanceGroupManagerNamedPort = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort.property.name">name</a></code> | <code>string</code> | The name of the port. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort.property.port">port</a></code> | <code>number</code> | The port number. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the port.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#name ComputeRegionInstanceGroupManager#name}

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerNamedPort.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The port number.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#port ComputeRegionInstanceGroupManager#port}

---

### ComputeRegionInstanceGroupManagerStatefulDisk <a name="ComputeRegionInstanceGroupManagerStatefulDisk" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerStatefulDisk } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerStatefulDisk: ComputeRegionInstanceGroupManagerStatefulDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk.property.deviceName">deviceName</a></code> | <code>string</code> | The device name of the disk to be attached. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk.property.deleteRule">deleteRule</a></code> | <code>string</code> | A value that prescribes what should happen to the stateful disk when the VM instance is deleted. |

---

##### `deviceName`<sup>Required</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

The device name of the disk to be attached.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#device_name ComputeRegionInstanceGroupManager#device_name}

---

##### `deleteRule`<sup>Optional</sup> <a name="deleteRule" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatefulDisk.property.deleteRule"></a>

```typescript
public readonly deleteRule: string;
```

- *Type:* string

A value that prescribes what should happen to the stateful disk when the VM instance is deleted.

The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#delete_rule ComputeRegionInstanceGroupManager#delete_rule}

---

### ComputeRegionInstanceGroupManagerStatus <a name="ComputeRegionInstanceGroupManagerStatus" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatus.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerStatus } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerStatus: ComputeRegionInstanceGroupManagerStatus = { ... }
```


### ComputeRegionInstanceGroupManagerStatusStateful <a name="ComputeRegionInstanceGroupManagerStatusStateful" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatusStateful"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatusStateful.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerStatusStateful } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerStatusStateful: ComputeRegionInstanceGroupManagerStatusStateful = { ... }
```


### ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs <a name="ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs: ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs = { ... }
```


### ComputeRegionInstanceGroupManagerStatusVersionTarget <a name="ComputeRegionInstanceGroupManagerStatusVersionTarget" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatusVersionTarget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerStatusVersionTarget.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerStatusVersionTarget } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerStatusVersionTarget: ComputeRegionInstanceGroupManagerStatusVersionTarget = { ... }
```


### ComputeRegionInstanceGroupManagerTimeouts <a name="ComputeRegionInstanceGroupManagerTimeouts" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerTimeouts } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerTimeouts: ComputeRegionInstanceGroupManagerTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#create ComputeRegionInstanceGroupManager#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#delete ComputeRegionInstanceGroupManager#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#update ComputeRegionInstanceGroupManager#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#create ComputeRegionInstanceGroupManager#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#delete ComputeRegionInstanceGroupManager#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#update ComputeRegionInstanceGroupManager#update}.

---

### ComputeRegionInstanceGroupManagerUpdatePolicy <a name="ComputeRegionInstanceGroupManagerUpdatePolicy" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerUpdatePolicy } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerUpdatePolicy: ComputeRegionInstanceGroupManagerUpdatePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.minimalAction">minimalAction</a></code> | <code>string</code> | Minimal action to be taken on an instance. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.type">type</a></code> | <code>string</code> | The type of update process. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.instanceRedistributionType">instanceRedistributionType</a></code> | <code>string</code> | The instance redistribution policy for regional managed instance groups. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.maxSurgeFixed">maxSurgeFixed</a></code> | <code>number</code> | The maximum number of instances that can be created above the specified targetSize during the update process. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.maxSurgePercent">maxSurgePercent</a></code> | <code>number</code> | The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.maxUnavailableFixed">maxUnavailableFixed</a></code> | <code>number</code> | The maximum number of instances that can be unavailable during the update process. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.maxUnavailablePercent">maxUnavailablePercent</a></code> | <code>number</code> | The maximum number of instances(calculated as percentage) that can be unavailable during the update process. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.mostDisruptiveAllowedAction">mostDisruptiveAllowedAction</a></code> | <code>string</code> | Most disruptive action that is allowed to be taken on an instance. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.replacementMethod">replacementMethod</a></code> | <code>string</code> | The instance replacement method for regional managed instance groups. |

---

##### `minimalAction`<sup>Required</sup> <a name="minimalAction" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.minimalAction"></a>

```typescript
public readonly minimalAction: string;
```

- *Type:* string

Minimal action to be taken on an instance.

You can specify either REFRESH to update without stopping instances, RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a REFRESH, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#minimal_action ComputeRegionInstanceGroupManager#minimal_action}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of update process.

You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#type ComputeRegionInstanceGroupManager#type}

---

##### `instanceRedistributionType`<sup>Optional</sup> <a name="instanceRedistributionType" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.instanceRedistributionType"></a>

```typescript
public readonly instanceRedistributionType: string;
```

- *Type:* string

The instance redistribution policy for regional managed instance groups.

Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#instance_redistribution_type ComputeRegionInstanceGroupManager#instance_redistribution_type}

---

##### `maxSurgeFixed`<sup>Optional</sup> <a name="maxSurgeFixed" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.maxSurgeFixed"></a>

```typescript
public readonly maxSurgeFixed: number;
```

- *Type:* number

The maximum number of instances that can be created above the specified targetSize during the update process.

Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#max_surge_fixed ComputeRegionInstanceGroupManager#max_surge_fixed}

---

##### `maxSurgePercent`<sup>Optional</sup> <a name="maxSurgePercent" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.maxSurgePercent"></a>

```typescript
public readonly maxSurgePercent: number;
```

- *Type:* number

The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process.

Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#max_surge_percent ComputeRegionInstanceGroupManager#max_surge_percent}

---

##### `maxUnavailableFixed`<sup>Optional</sup> <a name="maxUnavailableFixed" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.maxUnavailableFixed"></a>

```typescript
public readonly maxUnavailableFixed: number;
```

- *Type:* number

The maximum number of instances that can be unavailable during the update process.

Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#max_unavailable_fixed ComputeRegionInstanceGroupManager#max_unavailable_fixed}

---

##### `maxUnavailablePercent`<sup>Optional</sup> <a name="maxUnavailablePercent" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.maxUnavailablePercent"></a>

```typescript
public readonly maxUnavailablePercent: number;
```

- *Type:* number

The maximum number of instances(calculated as percentage) that can be unavailable during the update process.

Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#max_unavailable_percent ComputeRegionInstanceGroupManager#max_unavailable_percent}

---

##### `mostDisruptiveAllowedAction`<sup>Optional</sup> <a name="mostDisruptiveAllowedAction" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.mostDisruptiveAllowedAction"></a>

```typescript
public readonly mostDisruptiveAllowedAction: string;
```

- *Type:* string

Most disruptive action that is allowed to be taken on an instance.

You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#most_disruptive_allowed_action ComputeRegionInstanceGroupManager#most_disruptive_allowed_action}

---

##### `replacementMethod`<sup>Optional</sup> <a name="replacementMethod" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerUpdatePolicy.property.replacementMethod"></a>

```typescript
public readonly replacementMethod: string;
```

- *Type:* string

The instance replacement method for regional managed instance groups.

Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved.  You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#replacement_method ComputeRegionInstanceGroupManager#replacement_method}

---

### ComputeRegionInstanceGroupManagerVersion <a name="ComputeRegionInstanceGroupManagerVersion" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerVersion } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerVersion: ComputeRegionInstanceGroupManagerVersion = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion.property.instanceTemplate">instanceTemplate</a></code> | <code>string</code> | The full URL to an instance template from which all new instances of this version will be created. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion.property.name">name</a></code> | <code>string</code> | Version name. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion.property.targetSize">targetSize</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionTargetSize">ComputeRegionInstanceGroupManagerVersionTargetSize</a></code> | target_size block. |

---

##### `instanceTemplate`<sup>Required</sup> <a name="instanceTemplate" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion.property.instanceTemplate"></a>

```typescript
public readonly instanceTemplate: string;
```

- *Type:* string

The full URL to an instance template from which all new instances of this version will be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#instance_template ComputeRegionInstanceGroupManager#instance_template}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Version name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#name ComputeRegionInstanceGroupManager#name}

---

##### `targetSize`<sup>Optional</sup> <a name="targetSize" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersion.property.targetSize"></a>

```typescript
public readonly targetSize: ComputeRegionInstanceGroupManagerVersionTargetSize;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionTargetSize">ComputeRegionInstanceGroupManagerVersionTargetSize</a>

target_size block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#target_size ComputeRegionInstanceGroupManager#target_size}

---

### ComputeRegionInstanceGroupManagerVersionTargetSize <a name="ComputeRegionInstanceGroupManagerVersionTargetSize" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionTargetSize"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionTargetSize.Initializer"></a>

```typescript
import { ComputeRegionInstanceGroupManagerVersionTargetSize } from '@dschmidt/provider-google'

const computeRegionInstanceGroupManagerVersionTargetSize: ComputeRegionInstanceGroupManagerVersionTargetSize = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionTargetSize.property.fixed">fixed</a></code> | <code>number</code> | The number of instances which are managed for this version. Conflicts with percent. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionTargetSize.property.percent">percent</a></code> | <code>number</code> | The number of instances (calculated as percentage) which are managed for this version. |

---

##### `fixed`<sup>Optional</sup> <a name="fixed" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionTargetSize.property.fixed"></a>

```typescript
public readonly fixed: number;
```

- *Type:* number

The number of instances which are managed for this version. Conflicts with percent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#fixed ComputeRegionInstanceGroupManager#fixed}

---

##### `percent`<sup>Optional</sup> <a name="percent" id="@dschmidt/provider-google.ComputeRegionInstanceGroupManagerVersionTargetSize.property.percent"></a>

```typescript
public readonly percent: number;
```

- *Type:* number

The number of instances (calculated as percentage) which are managed for this version.

Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_instance_group_manager#percent ComputeRegionInstanceGroupManager#percent}

---

### ComputeRegionNetworkEndpointGroupAppEngine <a name="ComputeRegionNetworkEndpointGroupAppEngine" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine.Initializer"></a>

```typescript
import { ComputeRegionNetworkEndpointGroupAppEngine } from '@dschmidt/provider-google'

const computeRegionNetworkEndpointGroupAppEngine: ComputeRegionNetworkEndpointGroupAppEngine = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine.property.service">service</a></code> | <code>string</code> | Optional serving service. The service name must be 1-63 characters long, and comply with RFC1035. Example value: "default", "my-service". |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine.property.urlMask">urlMask</a></code> | <code>string</code> | A template to parse service and version fields from a request URL. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine.property.version">version</a></code> | <code>string</code> | Optional serving version. The version must be 1-63 characters long, and comply with RFC1035. Example value: "v1", "v2". |

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Optional serving service. The service name must be 1-63 characters long, and comply with RFC1035. Example value: "default", "my-service".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#service ComputeRegionNetworkEndpointGroup#service}

---

##### `urlMask`<sup>Optional</sup> <a name="urlMask" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine.property.urlMask"></a>

```typescript
public readonly urlMask: string;
```

- *Type:* string

A template to parse service and version fields from a request URL.

URL mask allows for routing to multiple App Engine services without
having to create multiple Network Endpoint Groups and backend services.

For example, the request URLs "foo1-dot-appname.appspot.com/v1" and
"foo1-dot-appname.appspot.com/v2" can be backed by the same Serverless NEG with
URL mask "-dot-appname.appspot.com/". The URL mask will parse
them to { service = "foo1", version = "v1" } and { service = "foo1", version = "v2" } respectively.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#url_mask ComputeRegionNetworkEndpointGroup#url_mask}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

Optional serving version. The version must be 1-63 characters long, and comply with RFC1035. Example value: "v1", "v2".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#version ComputeRegionNetworkEndpointGroup#version}

---

### ComputeRegionNetworkEndpointGroupCloudFunction <a name="ComputeRegionNetworkEndpointGroupCloudFunction" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction.Initializer"></a>

```typescript
import { ComputeRegionNetworkEndpointGroupCloudFunction } from '@dschmidt/provider-google'

const computeRegionNetworkEndpointGroupCloudFunction: ComputeRegionNetworkEndpointGroupCloudFunction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction.property.function">function</a></code> | <code>string</code> | A user-defined name of the Cloud Function. The function name is case-sensitive and must be 1-63 characters long. Example value: "func1". |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction.property.urlMask">urlMask</a></code> | <code>string</code> | A template to parse function field from a request URL. |

---

##### `function`<sup>Optional</sup> <a name="function" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction.property.function"></a>

```typescript
public readonly function: string;
```

- *Type:* string

A user-defined name of the Cloud Function. The function name is case-sensitive and must be 1-63 characters long. Example value: "func1".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#function ComputeRegionNetworkEndpointGroup#function}

---

##### `urlMask`<sup>Optional</sup> <a name="urlMask" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction.property.urlMask"></a>

```typescript
public readonly urlMask: string;
```

- *Type:* string

A template to parse function field from a request URL.

URL mask allows
for routing to multiple Cloud Functions without having to create
multiple Network Endpoint Groups and backend services.

For example, request URLs "mydomain.com/function1" and "mydomain.com/function2"
can be backed by the same Serverless NEG with URL mask "/". The URL mask
will parse them to { function = "function1" } and { function = "function2" } respectively.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#url_mask ComputeRegionNetworkEndpointGroup#url_mask}

---

### ComputeRegionNetworkEndpointGroupCloudRun <a name="ComputeRegionNetworkEndpointGroupCloudRun" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun.Initializer"></a>

```typescript
import { ComputeRegionNetworkEndpointGroupCloudRun } from '@dschmidt/provider-google'

const computeRegionNetworkEndpointGroupCloudRun: ComputeRegionNetworkEndpointGroupCloudRun = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun.property.service">service</a></code> | <code>string</code> | Cloud Run service is the main resource of Cloud Run. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun.property.tag">tag</a></code> | <code>string</code> | Cloud Run tag represents the "named-revision" to provide additional fine-grained traffic routing information. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun.property.urlMask">urlMask</a></code> | <code>string</code> | A template to parse service and tag fields from a request URL. |

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Cloud Run service is the main resource of Cloud Run.

The service must be 1-63 characters long, and comply with RFC1035.
Example value: "run-service".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#service ComputeRegionNetworkEndpointGroup#service}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

Cloud Run tag represents the "named-revision" to provide additional fine-grained traffic routing information.

The tag must be 1-63 characters long, and comply with RFC1035.
Example value: "revision-0010".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#tag ComputeRegionNetworkEndpointGroup#tag}

---

##### `urlMask`<sup>Optional</sup> <a name="urlMask" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun.property.urlMask"></a>

```typescript
public readonly urlMask: string;
```

- *Type:* string

A template to parse service and tag fields from a request URL.

URL mask allows for routing to multiple Run services without having
to create multiple network endpoint groups and backend services.

For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2"
an be backed by the same Serverless Network Endpoint Group (NEG) with
URL mask ".domain.com/". The URL mask will parse them to { service="bar1", tag="foo1" }
and { service="bar2", tag="foo2" } respectively.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#url_mask ComputeRegionNetworkEndpointGroup#url_mask}

---

### ComputeRegionNetworkEndpointGroupConfig <a name="ComputeRegionNetworkEndpointGroupConfig" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.Initializer"></a>

```typescript
import { ComputeRegionNetworkEndpointGroupConfig } from '@dschmidt/provider-google'

const computeRegionNetworkEndpointGroupConfig: ComputeRegionNetworkEndpointGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.region">region</a></code> | <code>string</code> | A reference to the region where the Serverless NEGs Reside. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.appEngine">appEngine</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine">ComputeRegionNetworkEndpointGroupAppEngine</a></code> | app_engine block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.cloudFunction">cloudFunction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction">ComputeRegionNetworkEndpointGroupCloudFunction</a></code> | cloud_function block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.cloudRun">cloudRun</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun">ComputeRegionNetworkEndpointGroupCloudRun</a></code> | cloud_run block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#id ComputeRegionNetworkEndpointGroup#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.network">network</a></code> | <code>string</code> | This field is only used for PSC. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.networkEndpointType">networkEndpointType</a></code> | <code>string</code> | Type of network endpoints in this network endpoint group. Defaults to SERVERLESS Default value: "SERVERLESS" Possible values: ["SERVERLESS", "PRIVATE_SERVICE_CONNECT"]. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#project ComputeRegionNetworkEndpointGroup#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.pscTargetService">pscTargetService</a></code> | <code>string</code> | The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | This field is only used for PSC. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts">ComputeRegionNetworkEndpointGroupTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#name ComputeRegionNetworkEndpointGroup#name}

---

##### `region`<sup>Required</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

A reference to the region where the Serverless NEGs Reside.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#region ComputeRegionNetworkEndpointGroup#region}

---

##### `appEngine`<sup>Optional</sup> <a name="appEngine" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.appEngine"></a>

```typescript
public readonly appEngine: ComputeRegionNetworkEndpointGroupAppEngine;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupAppEngine">ComputeRegionNetworkEndpointGroupAppEngine</a>

app_engine block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#app_engine ComputeRegionNetworkEndpointGroup#app_engine}

---

##### `cloudFunction`<sup>Optional</sup> <a name="cloudFunction" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: ComputeRegionNetworkEndpointGroupCloudFunction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudFunction">ComputeRegionNetworkEndpointGroupCloudFunction</a>

cloud_function block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#cloud_function ComputeRegionNetworkEndpointGroup#cloud_function}

---

##### `cloudRun`<sup>Optional</sup> <a name="cloudRun" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.cloudRun"></a>

```typescript
public readonly cloudRun: ComputeRegionNetworkEndpointGroupCloudRun;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupCloudRun">ComputeRegionNetworkEndpointGroupCloudRun</a>

cloud_run block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#cloud_run ComputeRegionNetworkEndpointGroup#cloud_run}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#description ComputeRegionNetworkEndpointGroup#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#id ComputeRegionNetworkEndpointGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

This field is only used for PSC.

The URL of the network to which all network endpoints in the NEG belong. Uses
"default" project network if unspecified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#network ComputeRegionNetworkEndpointGroup#network}

---

##### `networkEndpointType`<sup>Optional</sup> <a name="networkEndpointType" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.networkEndpointType"></a>

```typescript
public readonly networkEndpointType: string;
```

- *Type:* string

Type of network endpoints in this network endpoint group. Defaults to SERVERLESS Default value: "SERVERLESS" Possible values: ["SERVERLESS", "PRIVATE_SERVICE_CONNECT"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#network_endpoint_type ComputeRegionNetworkEndpointGroup#network_endpoint_type}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#project ComputeRegionNetworkEndpointGroup#project}.

---

##### `pscTargetService`<sup>Optional</sup> <a name="pscTargetService" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.pscTargetService"></a>

```typescript
public readonly pscTargetService: string;
```

- *Type:* string

The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#psc_target_service ComputeRegionNetworkEndpointGroup#psc_target_service}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

This field is only used for PSC.

Optional URL of the subnetwork to which all network endpoints in the NEG belong.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#subnetwork ComputeRegionNetworkEndpointGroup#subnetwork}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionNetworkEndpointGroupTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts">ComputeRegionNetworkEndpointGroupTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#timeouts ComputeRegionNetworkEndpointGroup#timeouts}

---

### ComputeRegionNetworkEndpointGroupTimeouts <a name="ComputeRegionNetworkEndpointGroupTimeouts" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts.Initializer"></a>

```typescript
import { ComputeRegionNetworkEndpointGroupTimeouts } from '@dschmidt/provider-google'

const computeRegionNetworkEndpointGroupTimeouts: ComputeRegionNetworkEndpointGroupTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#create ComputeRegionNetworkEndpointGroup#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#delete ComputeRegionNetworkEndpointGroup#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#create ComputeRegionNetworkEndpointGroup#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionNetworkEndpointGroupTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_network_endpoint_group#delete ComputeRegionNetworkEndpointGroup#delete}.

---

### ComputeRegionPerInstanceConfigConfig <a name="ComputeRegionPerInstanceConfigConfig" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.Initializer"></a>

```typescript
import { ComputeRegionPerInstanceConfigConfig } from '@dschmidt/provider-google'

const computeRegionPerInstanceConfigConfig: ComputeRegionPerInstanceConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.name">name</a></code> | <code>string</code> | The name for this per-instance config and its corresponding instance. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.regionInstanceGroupManager">regionInstanceGroupManager</a></code> | <code>string</code> | The region instance group manager this instance config is part of. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#id ComputeRegionPerInstanceConfig#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.minimalAction">minimalAction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#minimal_action ComputeRegionPerInstanceConfig#minimal_action}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.mostDisruptiveAllowedAction">mostDisruptiveAllowedAction</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#most_disruptive_allowed_action ComputeRegionPerInstanceConfig#most_disruptive_allowed_action}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.preservedState">preservedState</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState">ComputeRegionPerInstanceConfigPreservedState</a></code> | preserved_state block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#project ComputeRegionPerInstanceConfig#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.region">region</a></code> | <code>string</code> | Region where the containing instance group manager is located. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.removeInstanceStateOnDestroy">removeInstanceStateOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#remove_instance_state_on_destroy ComputeRegionPerInstanceConfig#remove_instance_state_on_destroy}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts">ComputeRegionPerInstanceConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name for this per-instance config and its corresponding instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#name ComputeRegionPerInstanceConfig#name}

---

##### `regionInstanceGroupManager`<sup>Required</sup> <a name="regionInstanceGroupManager" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.regionInstanceGroupManager"></a>

```typescript
public readonly regionInstanceGroupManager: string;
```

- *Type:* string

The region instance group manager this instance config is part of.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#region_instance_group_manager ComputeRegionPerInstanceConfig#region_instance_group_manager}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#id ComputeRegionPerInstanceConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `minimalAction`<sup>Optional</sup> <a name="minimalAction" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.minimalAction"></a>

```typescript
public readonly minimalAction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#minimal_action ComputeRegionPerInstanceConfig#minimal_action}.

---

##### `mostDisruptiveAllowedAction`<sup>Optional</sup> <a name="mostDisruptiveAllowedAction" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.mostDisruptiveAllowedAction"></a>

```typescript
public readonly mostDisruptiveAllowedAction: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#most_disruptive_allowed_action ComputeRegionPerInstanceConfig#most_disruptive_allowed_action}.

---

##### `preservedState`<sup>Optional</sup> <a name="preservedState" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.preservedState"></a>

```typescript
public readonly preservedState: ComputeRegionPerInstanceConfigPreservedState;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState">ComputeRegionPerInstanceConfigPreservedState</a>

preserved_state block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#preserved_state ComputeRegionPerInstanceConfig#preserved_state}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#project ComputeRegionPerInstanceConfig#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where the containing instance group manager is located.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#region ComputeRegionPerInstanceConfig#region}

---

##### `removeInstanceStateOnDestroy`<sup>Optional</sup> <a name="removeInstanceStateOnDestroy" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.removeInstanceStateOnDestroy"></a>

```typescript
public readonly removeInstanceStateOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#remove_instance_state_on_destroy ComputeRegionPerInstanceConfig#remove_instance_state_on_destroy}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionPerInstanceConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts">ComputeRegionPerInstanceConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#timeouts ComputeRegionPerInstanceConfig#timeouts}

---

### ComputeRegionPerInstanceConfigPreservedState <a name="ComputeRegionPerInstanceConfigPreservedState" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState.Initializer"></a>

```typescript
import { ComputeRegionPerInstanceConfigPreservedState } from '@dschmidt/provider-google'

const computeRegionPerInstanceConfigPreservedState: ComputeRegionPerInstanceConfigPreservedState = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState.property.disk">disk</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk">ComputeRegionPerInstanceConfigPreservedStateDisk</a>[]</code> | disk block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | Preserved metadata defined for this instance. This is a list of key->value pairs. |

---

##### `disk`<sup>Optional</sup> <a name="disk" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState.property.disk"></a>

```typescript
public readonly disk: IResolvable | ComputeRegionPerInstanceConfigPreservedStateDisk[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk">ComputeRegionPerInstanceConfigPreservedStateDisk</a>[]

disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#disk ComputeRegionPerInstanceConfig#disk}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedState.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Preserved metadata defined for this instance. This is a list of key->value pairs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#metadata ComputeRegionPerInstanceConfig#metadata}

---

### ComputeRegionPerInstanceConfigPreservedStateDisk <a name="ComputeRegionPerInstanceConfigPreservedStateDisk" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk.Initializer"></a>

```typescript
import { ComputeRegionPerInstanceConfigPreservedStateDisk } from '@dschmidt/provider-google'

const computeRegionPerInstanceConfigPreservedStateDisk: ComputeRegionPerInstanceConfigPreservedStateDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk.property.deviceName">deviceName</a></code> | <code>string</code> | A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk.property.source">source</a></code> | <code>string</code> | The URI of an existing persistent disk to attach under the specified device-name in the format 'projects/project-id/zones/zone/disks/disk-name'. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk.property.deleteRule">deleteRule</a></code> | <code>string</code> | A value that prescribes what should happen to the stateful disk when the VM instance is deleted. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk.property.mode">mode</a></code> | <code>string</code> | The mode of the disk. Default value: "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"]. |

---

##### `deviceName`<sup>Required</sup> <a name="deviceName" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk.property.deviceName"></a>

```typescript
public readonly deviceName: string;
```

- *Type:* string

A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#device_name ComputeRegionPerInstanceConfig#device_name}

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

The URI of an existing persistent disk to attach under the specified device-name in the format 'projects/project-id/zones/zone/disks/disk-name'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#source ComputeRegionPerInstanceConfig#source}

---

##### `deleteRule`<sup>Optional</sup> <a name="deleteRule" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk.property.deleteRule"></a>

```typescript
public readonly deleteRule: string;
```

- *Type:* string

A value that prescribes what should happen to the stateful disk when the VM instance is deleted.

The available options are 'NEVER' and 'ON_PERMANENT_INSTANCE_DELETION'.
'NEVER' - detach the disk when the VM is deleted, but do not delete the disk.
'ON_PERMANENT_INSTANCE_DELETION' will delete the stateful disk when the VM is permanently
deleted from the instance group. Default value: "NEVER" Possible values: ["NEVER", "ON_PERMANENT_INSTANCE_DELETION"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#delete_rule ComputeRegionPerInstanceConfig#delete_rule}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigPreservedStateDisk.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

The mode of the disk. Default value: "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#mode ComputeRegionPerInstanceConfig#mode}

---

### ComputeRegionPerInstanceConfigTimeouts <a name="ComputeRegionPerInstanceConfigTimeouts" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts.Initializer"></a>

```typescript
import { ComputeRegionPerInstanceConfigTimeouts } from '@dschmidt/provider-google'

const computeRegionPerInstanceConfigTimeouts: ComputeRegionPerInstanceConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#create ComputeRegionPerInstanceConfig#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#delete ComputeRegionPerInstanceConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#update ComputeRegionPerInstanceConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#create ComputeRegionPerInstanceConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#delete ComputeRegionPerInstanceConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRegionPerInstanceConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_per_instance_config#update ComputeRegionPerInstanceConfig#update}.

---

### ComputeRegionSslCertificateConfig <a name="ComputeRegionSslCertificateConfig" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.Initializer"></a>

```typescript
import { ComputeRegionSslCertificateConfig } from '@dschmidt/provider-google'

const computeRegionSslCertificateConfig: ComputeRegionSslCertificateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.certificate">certificate</a></code> | <code>string</code> | The certificate in PEM format. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.privateKey">privateKey</a></code> | <code>string</code> | The write-only private key in PEM format. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#id ComputeRegionSslCertificate#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.namePrefix">namePrefix</a></code> | <code>string</code> | Creates a unique name beginning with the specified prefix. Conflicts with name. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#project ComputeRegionSslCertificate#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.region">region</a></code> | <code>string</code> | The Region in which the created regional ssl certificate should reside. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts">ComputeRegionSslCertificateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificate`<sup>Required</sup> <a name="certificate" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.certificate"></a>

```typescript
public readonly certificate: string;
```

- *Type:* string

The certificate in PEM format.

The certificate chain must be no greater than 5 certs long.
The chain must include at least one intermediate cert.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#certificate ComputeRegionSslCertificate#certificate}

---

##### `privateKey`<sup>Required</sup> <a name="privateKey" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.privateKey"></a>

```typescript
public readonly privateKey: string;
```

- *Type:* string

The write-only private key in PEM format.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#private_key ComputeRegionSslCertificate#private_key}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#description ComputeRegionSslCertificate#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#id ComputeRegionSslCertificate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.


These are in the same namespace as the managed SSL certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#name ComputeRegionSslCertificate#name}

---

##### `namePrefix`<sup>Optional</sup> <a name="namePrefix" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

Creates a unique name beginning with the specified prefix. Conflicts with name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#name_prefix ComputeRegionSslCertificate#name_prefix}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#project ComputeRegionSslCertificate#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the created regional ssl certificate should reside.

If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#region ComputeRegionSslCertificate#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionSslCertificateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionSslCertificateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts">ComputeRegionSslCertificateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#timeouts ComputeRegionSslCertificate#timeouts}

---

### ComputeRegionSslCertificateTimeouts <a name="ComputeRegionSslCertificateTimeouts" id="@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts.Initializer"></a>

```typescript
import { ComputeRegionSslCertificateTimeouts } from '@dschmidt/provider-google'

const computeRegionSslCertificateTimeouts: ComputeRegionSslCertificateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#create ComputeRegionSslCertificate#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#delete ComputeRegionSslCertificate#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#create ComputeRegionSslCertificate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionSslCertificateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_ssl_certificate#delete ComputeRegionSslCertificate#delete}.

---

### ComputeRegionTargetHttpProxyConfig <a name="ComputeRegionTargetHttpProxyConfig" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.Initializer"></a>

```typescript
import { ComputeRegionTargetHttpProxyConfig } from '@dschmidt/provider-google'

const computeRegionTargetHttpProxyConfig: ComputeRegionTargetHttpProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.urlMap">urlMap</a></code> | <code>string</code> | A reference to the RegionUrlMap resource that defines the mapping from URL to the BackendService. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#id ComputeRegionTargetHttpProxy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#project ComputeRegionTargetHttpProxy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.region">region</a></code> | <code>string</code> | The Region in which the created target https proxy should reside. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts">ComputeRegionTargetHttpProxyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#name ComputeRegionTargetHttpProxy#name}

---

##### `urlMap`<sup>Required</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

A reference to the RegionUrlMap resource that defines the mapping from URL to the BackendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#url_map ComputeRegionTargetHttpProxy#url_map}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#description ComputeRegionTargetHttpProxy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#id ComputeRegionTargetHttpProxy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#project ComputeRegionTargetHttpProxy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the created target https proxy should reside.

If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#region ComputeRegionTargetHttpProxy#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionTargetHttpProxyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts">ComputeRegionTargetHttpProxyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#timeouts ComputeRegionTargetHttpProxy#timeouts}

---

### ComputeRegionTargetHttpProxyTimeouts <a name="ComputeRegionTargetHttpProxyTimeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts.Initializer"></a>

```typescript
import { ComputeRegionTargetHttpProxyTimeouts } from '@dschmidt/provider-google'

const computeRegionTargetHttpProxyTimeouts: ComputeRegionTargetHttpProxyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#create ComputeRegionTargetHttpProxy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#delete ComputeRegionTargetHttpProxy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#update ComputeRegionTargetHttpProxy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#create ComputeRegionTargetHttpProxy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#delete ComputeRegionTargetHttpProxy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRegionTargetHttpProxyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_http_proxy#update ComputeRegionTargetHttpProxy#update}.

---

### ComputeRegionTargetHttpsProxyConfig <a name="ComputeRegionTargetHttpsProxyConfig" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.Initializer"></a>

```typescript
import { ComputeRegionTargetHttpsProxyConfig } from '@dschmidt/provider-google'

const computeRegionTargetHttpsProxyConfig: ComputeRegionTargetHttpsProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.sslCertificates">sslCertificates</a></code> | <code>string[]</code> | A list of RegionSslCertificate resources that are used to authenticate connections between users and the load balancer. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.urlMap">urlMap</a></code> | <code>string</code> | A reference to the RegionUrlMap resource that defines the mapping from URL to the RegionBackendService. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#id ComputeRegionTargetHttpsProxy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#project ComputeRegionTargetHttpsProxy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.region">region</a></code> | <code>string</code> | The Region in which the created target https proxy should reside. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts">ComputeRegionTargetHttpsProxyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#name ComputeRegionTargetHttpsProxy#name}

---

##### `sslCertificates`<sup>Required</sup> <a name="sslCertificates" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.sslCertificates"></a>

```typescript
public readonly sslCertificates: string[];
```

- *Type:* string[]

A list of RegionSslCertificate resources that are used to authenticate connections between users and the load balancer.

Currently, exactly
one SSL certificate must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#ssl_certificates ComputeRegionTargetHttpsProxy#ssl_certificates}

---

##### `urlMap`<sup>Required</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

A reference to the RegionUrlMap resource that defines the mapping from URL to the RegionBackendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#url_map ComputeRegionTargetHttpsProxy#url_map}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#description ComputeRegionTargetHttpsProxy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#id ComputeRegionTargetHttpsProxy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#project ComputeRegionTargetHttpsProxy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the created target https proxy should reside.

If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#region ComputeRegionTargetHttpsProxy#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionTargetHttpsProxyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts">ComputeRegionTargetHttpsProxyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#timeouts ComputeRegionTargetHttpsProxy#timeouts}

---

### ComputeRegionTargetHttpsProxyTimeouts <a name="ComputeRegionTargetHttpsProxyTimeouts" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts.Initializer"></a>

```typescript
import { ComputeRegionTargetHttpsProxyTimeouts } from '@dschmidt/provider-google'

const computeRegionTargetHttpsProxyTimeouts: ComputeRegionTargetHttpsProxyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#create ComputeRegionTargetHttpsProxy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#delete ComputeRegionTargetHttpsProxy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#update ComputeRegionTargetHttpsProxy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#create ComputeRegionTargetHttpsProxy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#delete ComputeRegionTargetHttpsProxy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRegionTargetHttpsProxyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_target_https_proxy#update ComputeRegionTargetHttpsProxy#update}.

---

### ComputeRegionUrlMapConfig <a name="ComputeRegionUrlMapConfig" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.Initializer"></a>

```typescript
import { ComputeRegionUrlMapConfig } from '@dschmidt/provider-google'

const computeRegionUrlMapConfig: ComputeRegionUrlMapConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.defaultService">defaultService</a></code> | <code>string</code> | The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.defaultUrlRedirect">defaultUrlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect">ComputeRegionUrlMapDefaultUrlRedirect</a></code> | default_url_redirect block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.hostRule">hostRule</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRule">ComputeRegionUrlMapHostRule</a>[]</code> | host_rule block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#id ComputeRegionUrlMap#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.pathMatcher">pathMatcher</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher">ComputeRegionUrlMapPathMatcher</a>[]</code> | path_matcher block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#project ComputeRegionUrlMap#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.region">region</a></code> | <code>string</code> | The Region in which the url map should reside. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.test">test</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTest">ComputeRegionUrlMapTest</a>[]</code> | test block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeouts">ComputeRegionUrlMapTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#name ComputeRegionUrlMap#name}

---

##### `defaultService`<sup>Optional</sup> <a name="defaultService" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.defaultService"></a>

```typescript
public readonly defaultService: string;
```

- *Type:* string

The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match.

If defaultRouteAction is additionally specified, advanced
routing actions like URL Rewrites, etc. take effect prior to sending the request to the
backend. However, if defaultService is specified, defaultRouteAction cannot contain any
weightedBackendServices. Conversely, if routeAction specifies any
weightedBackendServices, service must not be specified.  Only one of defaultService,
defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#default_service ComputeRegionUrlMap#default_service}

---

##### `defaultUrlRedirect`<sup>Optional</sup> <a name="defaultUrlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.defaultUrlRedirect"></a>

```typescript
public readonly defaultUrlRedirect: ComputeRegionUrlMapDefaultUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect">ComputeRegionUrlMapDefaultUrlRedirect</a>

default_url_redirect block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#default_url_redirect ComputeRegionUrlMap#default_url_redirect}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#description ComputeRegionUrlMap#description}

---

##### `hostRule`<sup>Optional</sup> <a name="hostRule" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.hostRule"></a>

```typescript
public readonly hostRule: IResolvable | ComputeRegionUrlMapHostRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRule">ComputeRegionUrlMapHostRule</a>[]

host_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#host_rule ComputeRegionUrlMap#host_rule}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#id ComputeRegionUrlMap#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `pathMatcher`<sup>Optional</sup> <a name="pathMatcher" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.pathMatcher"></a>

```typescript
public readonly pathMatcher: IResolvable | ComputeRegionUrlMapPathMatcher[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher">ComputeRegionUrlMapPathMatcher</a>[]

path_matcher block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path_matcher ComputeRegionUrlMap#path_matcher}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#project ComputeRegionUrlMap#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the url map should reside. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#region ComputeRegionUrlMap#region}

---

##### `test`<sup>Optional</sup> <a name="test" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.test"></a>

```typescript
public readonly test: IResolvable | ComputeRegionUrlMapTest[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTest">ComputeRegionUrlMapTest</a>[]

test block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#test ComputeRegionUrlMap#test}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRegionUrlMapConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRegionUrlMapTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeouts">ComputeRegionUrlMapTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#timeouts ComputeRegionUrlMap#timeouts}

---

### ComputeRegionUrlMapDefaultUrlRedirect <a name="ComputeRegionUrlMapDefaultUrlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.Initializer"></a>

```typescript
import { ComputeRegionUrlMapDefaultUrlRedirect } from '@dschmidt/provider-google'

const computeRegionUrlMapDefaultUrlRedirect: ComputeRegionUrlMapDefaultUrlRedirect = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.stripQuery">stripQuery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.hostRedirect">hostRedirect</a></code> | <code>string</code> | The host that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.httpsRedirect">httpsRedirect</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the URL scheme in the redirected request is set to https. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.pathRedirect">pathRedirect</a></code> | <code>string</code> | The path that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.prefixRedirect">prefixRedirect</a></code> | <code>string</code> | The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.redirectResponseCode">redirectResponseCode</a></code> | <code>string</code> | The HTTP Status code to use for this RedirectAction. Supported values are:. |

---

##### `stripQuery`<sup>Required</sup> <a name="stripQuery" id="@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.stripQuery"></a>

```typescript
public readonly stripQuery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.

If set to false, the query portion of the original URL is
retained.
This field is required to ensure an empty block is not set. The normal default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#strip_query ComputeRegionUrlMap#strip_query}

---

##### `hostRedirect`<sup>Optional</sup> <a name="hostRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.hostRedirect"></a>

```typescript
public readonly hostRedirect: string;
```

- *Type:* string

The host that will be used in the redirect response instead of the one that was supplied in the request.

The value must be between 1 and 255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#host_redirect ComputeRegionUrlMap#host_redirect}

---

##### `httpsRedirect`<sup>Optional</sup> <a name="httpsRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.httpsRedirect"></a>

```typescript
public readonly httpsRedirect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the URL scheme in the redirected request is set to https.

If set to
false, the URL scheme of the redirected request will remain the same as that of the
request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
true for TargetHttpsProxy is not permitted. The default is set to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#https_redirect ComputeRegionUrlMap#https_redirect}

---

##### `pathRedirect`<sup>Optional</sup> <a name="pathRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.pathRedirect"></a>

```typescript
public readonly pathRedirect: string;
```

- *Type:* string

The path that will be used in the redirect response instead of the one that was supplied in the request.

pathRedirect cannot be supplied together with
prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
original request will be used for the redirect. The value must be between 1 and 1024
characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path_redirect ComputeRegionUrlMap#path_redirect}

---

##### `prefixRedirect`<sup>Optional</sup> <a name="prefixRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.prefixRedirect"></a>

```typescript
public readonly prefixRedirect: string;
```

- *Type:* string

The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request.

prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
neither. If neither is supplied, the path of the original request will be used for
the redirect. The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#prefix_redirect ComputeRegionUrlMap#prefix_redirect}

---

##### `redirectResponseCode`<sup>Optional</sup> <a name="redirectResponseCode" id="@dschmidt/provider-google.ComputeRegionUrlMapDefaultUrlRedirect.property.redirectResponseCode"></a>

```typescript
public readonly redirectResponseCode: string;
```

- *Type:* string

The HTTP Status code to use for this RedirectAction. Supported values are:.

MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.

FOUND, which corresponds to 302.

SEE_OTHER which corresponds to 303.

TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
will be retained.

PERMANENT_REDIRECT, which corresponds to 308. In this case,
the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#redirect_response_code ComputeRegionUrlMap#redirect_response_code}

---

### ComputeRegionUrlMapHostRule <a name="ComputeRegionUrlMapHostRule" id="@dschmidt/provider-google.ComputeRegionUrlMapHostRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapHostRule.Initializer"></a>

```typescript
import { ComputeRegionUrlMapHostRule } from '@dschmidt/provider-google'

const computeRegionUrlMapHostRule: ComputeRegionUrlMapHostRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRule.property.hosts">hosts</a></code> | <code>string[]</code> | The list of host patterns to match. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRule.property.pathMatcher">pathMatcher</a></code> | <code>string</code> | The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapHostRule.property.description">description</a></code> | <code>string</code> | An optional description of this HostRule. Provide this property when you create the resource. |

---

##### `hosts`<sup>Required</sup> <a name="hosts" id="@dschmidt/provider-google.ComputeRegionUrlMapHostRule.property.hosts"></a>

```typescript
public readonly hosts: string[];
```

- *Type:* string[]

The list of host patterns to match.

They must be valid
hostnames, except * will match any string of ([a-z0-9-.]*). In
that case, * must be the first character and must be followed in
the pattern by either - or ..

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#hosts ComputeRegionUrlMap#hosts}

---

##### `pathMatcher`<sup>Required</sup> <a name="pathMatcher" id="@dschmidt/provider-google.ComputeRegionUrlMapHostRule.property.pathMatcher"></a>

```typescript
public readonly pathMatcher: string;
```

- *Type:* string

The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path_matcher ComputeRegionUrlMap#path_matcher}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionUrlMapHostRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this HostRule. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#description ComputeRegionUrlMap#description}

---

### ComputeRegionUrlMapPathMatcher <a name="ComputeRegionUrlMapPathMatcher" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcher } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcher: ComputeRegionUrlMapPathMatcher = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.name">name</a></code> | <code>string</code> | The name to which this PathMatcher is referred by the HostRule. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.defaultService">defaultService</a></code> | <code>string</code> | A reference to a RegionBackendService resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.defaultUrlRedirect">defaultUrlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect">ComputeRegionUrlMapPathMatcherDefaultUrlRedirect</a></code> | default_url_redirect block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.pathRule">pathRule</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule">ComputeRegionUrlMapPathMatcherPathRule</a>[]</code> | path_rule block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.routeRules">routeRules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules">ComputeRegionUrlMapPathMatcherRouteRules</a>[]</code> | route_rules block. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name to which this PathMatcher is referred by the HostRule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#name ComputeRegionUrlMap#name}

---

##### `defaultService`<sup>Optional</sup> <a name="defaultService" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.defaultService"></a>

```typescript
public readonly defaultService: string;
```

- *Type:* string

A reference to a RegionBackendService resource.

This will be used if
none of the pathRules defined by this PathMatcher is matched by
the URL's path portion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#default_service ComputeRegionUrlMap#default_service}

---

##### `defaultUrlRedirect`<sup>Optional</sup> <a name="defaultUrlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.defaultUrlRedirect"></a>

```typescript
public readonly defaultUrlRedirect: ComputeRegionUrlMapPathMatcherDefaultUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect">ComputeRegionUrlMapPathMatcherDefaultUrlRedirect</a>

default_url_redirect block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#default_url_redirect ComputeRegionUrlMap#default_url_redirect}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#description ComputeRegionUrlMap#description}

---

##### `pathRule`<sup>Optional</sup> <a name="pathRule" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.pathRule"></a>

```typescript
public readonly pathRule: IResolvable | ComputeRegionUrlMapPathMatcherPathRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule">ComputeRegionUrlMapPathMatcherPathRule</a>[]

path_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path_rule ComputeRegionUrlMap#path_rule}

---

##### `routeRules`<sup>Optional</sup> <a name="routeRules" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcher.property.routeRules"></a>

```typescript
public readonly routeRules: IResolvable | ComputeRegionUrlMapPathMatcherRouteRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules">ComputeRegionUrlMapPathMatcherRouteRules</a>[]

route_rules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#route_rules ComputeRegionUrlMap#route_rules}

---

### ComputeRegionUrlMapPathMatcherDefaultUrlRedirect <a name="ComputeRegionUrlMapPathMatcherDefaultUrlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherDefaultUrlRedirect } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherDefaultUrlRedirect: ComputeRegionUrlMapPathMatcherDefaultUrlRedirect = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.stripQuery">stripQuery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.hostRedirect">hostRedirect</a></code> | <code>string</code> | The host that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.httpsRedirect">httpsRedirect</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the URL scheme in the redirected request is set to https. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.pathRedirect">pathRedirect</a></code> | <code>string</code> | The path that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.prefixRedirect">prefixRedirect</a></code> | <code>string</code> | The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.redirectResponseCode">redirectResponseCode</a></code> | <code>string</code> | The HTTP Status code to use for this RedirectAction. Supported values are:. |

---

##### `stripQuery`<sup>Required</sup> <a name="stripQuery" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.stripQuery"></a>

```typescript
public readonly stripQuery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.

If set to false, the query portion of the original URL is
retained.
This field is required to ensure an empty block is not set. The normal default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#strip_query ComputeRegionUrlMap#strip_query}

---

##### `hostRedirect`<sup>Optional</sup> <a name="hostRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.hostRedirect"></a>

```typescript
public readonly hostRedirect: string;
```

- *Type:* string

The host that will be used in the redirect response instead of the one that was supplied in the request.

The value must be between 1 and 255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#host_redirect ComputeRegionUrlMap#host_redirect}

---

##### `httpsRedirect`<sup>Optional</sup> <a name="httpsRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.httpsRedirect"></a>

```typescript
public readonly httpsRedirect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the URL scheme in the redirected request is set to https.

If set to
false, the URL scheme of the redirected request will remain the same as that of the
request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
true for TargetHttpsProxy is not permitted. The default is set to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#https_redirect ComputeRegionUrlMap#https_redirect}

---

##### `pathRedirect`<sup>Optional</sup> <a name="pathRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.pathRedirect"></a>

```typescript
public readonly pathRedirect: string;
```

- *Type:* string

The path that will be used in the redirect response instead of the one that was supplied in the request.

pathRedirect cannot be supplied together with
prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
original request will be used for the redirect. The value must be between 1 and 1024
characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path_redirect ComputeRegionUrlMap#path_redirect}

---

##### `prefixRedirect`<sup>Optional</sup> <a name="prefixRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.prefixRedirect"></a>

```typescript
public readonly prefixRedirect: string;
```

- *Type:* string

The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request.

prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
neither. If neither is supplied, the path of the original request will be used for
the redirect. The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#prefix_redirect ComputeRegionUrlMap#prefix_redirect}

---

##### `redirectResponseCode`<sup>Optional</sup> <a name="redirectResponseCode" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherDefaultUrlRedirect.property.redirectResponseCode"></a>

```typescript
public readonly redirectResponseCode: string;
```

- *Type:* string

The HTTP Status code to use for this RedirectAction. Supported values are:.

MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.

FOUND, which corresponds to 302.

SEE_OTHER which corresponds to 303.

TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
will be retained.

PERMANENT_REDIRECT, which corresponds to 308. In this case,
the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#redirect_response_code ComputeRegionUrlMap#redirect_response_code}

---

### ComputeRegionUrlMapPathMatcherPathRule <a name="ComputeRegionUrlMapPathMatcherPathRule" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRule } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRule: ComputeRegionUrlMapPathMatcherPathRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule.property.paths">paths</a></code> | <code>string[]</code> | The list of path patterns to match. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule.property.routeAction">routeAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction">ComputeRegionUrlMapPathMatcherPathRuleRouteAction</a></code> | route_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule.property.service">service</a></code> | <code>string</code> | The region backend service resource to which traffic is directed if this rule is matched. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule.property.urlRedirect">urlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect">ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect</a></code> | url_redirect block. |

---

##### `paths`<sup>Required</sup> <a name="paths" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule.property.paths"></a>

```typescript
public readonly paths: string[];
```

- *Type:* string[]

The list of path patterns to match.

Each must start with / and the only place a
\* is allowed is at the end following a /. The string fed to the path matcher
does not include any text after the first ? or #, and those chars are not
allowed here.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#paths ComputeRegionUrlMap#paths}

---

##### `routeAction`<sup>Optional</sup> <a name="routeAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule.property.routeAction"></a>

```typescript
public readonly routeAction: ComputeRegionUrlMapPathMatcherPathRuleRouteAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction">ComputeRegionUrlMapPathMatcherPathRuleRouteAction</a>

route_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#route_action ComputeRegionUrlMap#route_action}

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

The region backend service resource to which traffic is directed if this rule is matched.

If routeAction is additionally specified,
advanced routing actions like URL Rewrites, etc. take effect prior to sending
the request to the backend. However, if service is specified, routeAction cannot
contain any weightedBackendService s. Conversely, if routeAction specifies any
weightedBackendServices, service must not be specified. Only one of urlRedirect,
service or routeAction.weightedBackendService must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#service ComputeRegionUrlMap#service}

---

##### `urlRedirect`<sup>Optional</sup> <a name="urlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRule.property.urlRedirect"></a>

```typescript
public readonly urlRedirect: ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect">ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect</a>

url_redirect block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#url_redirect ComputeRegionUrlMap#url_redirect}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteAction <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteAction } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteAction: ComputeRegionUrlMapPathMatcherPathRuleRouteAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.corsPolicy">corsPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy">ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy</a></code> | cors_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.faultInjectionPolicy">faultInjectionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy">ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy</a></code> | fault_injection_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.requestMirrorPolicy">requestMirrorPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy">ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy</a></code> | request_mirror_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.retryPolicy">retryPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy">ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy</a></code> | retry_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.timeout">timeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout">ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout</a></code> | timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.urlRewrite">urlRewrite</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite">ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite</a></code> | url_rewrite block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.weightedBackendServices">weightedBackendServices</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices">ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices</a>[]</code> | weighted_backend_services block. |

---

##### `corsPolicy`<sup>Optional</sup> <a name="corsPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.corsPolicy"></a>

```typescript
public readonly corsPolicy: ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy">ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy</a>

cors_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#cors_policy ComputeRegionUrlMap#cors_policy}

---

##### `faultInjectionPolicy`<sup>Optional</sup> <a name="faultInjectionPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.faultInjectionPolicy"></a>

```typescript
public readonly faultInjectionPolicy: ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy">ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy</a>

fault_injection_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#fault_injection_policy ComputeRegionUrlMap#fault_injection_policy}

---

##### `requestMirrorPolicy`<sup>Optional</sup> <a name="requestMirrorPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.requestMirrorPolicy"></a>

```typescript
public readonly requestMirrorPolicy: ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy">ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy</a>

request_mirror_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#request_mirror_policy ComputeRegionUrlMap#request_mirror_policy}

---

##### `retryPolicy`<sup>Optional</sup> <a name="retryPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.retryPolicy"></a>

```typescript
public readonly retryPolicy: ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy">ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy</a>

retry_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#retry_policy ComputeRegionUrlMap#retry_policy}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.timeout"></a>

```typescript
public readonly timeout: ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout">ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout</a>

timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#timeout ComputeRegionUrlMap#timeout}

---

##### `urlRewrite`<sup>Optional</sup> <a name="urlRewrite" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.urlRewrite"></a>

```typescript
public readonly urlRewrite: ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite">ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite</a>

url_rewrite block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#url_rewrite ComputeRegionUrlMap#url_rewrite}

---

##### `weightedBackendServices`<sup>Optional</sup> <a name="weightedBackendServices" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteAction.property.weightedBackendServices"></a>

```typescript
public readonly weightedBackendServices: IResolvable | ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices">ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices</a>[]

weighted_backend_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#weighted_backend_services ComputeRegionUrlMap#weighted_backend_services}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy: ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, specifies the CORS policy is disabled. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowCredentials">allowCredentials</a></code> | <code>boolean \| cdktf.IResolvable</code> | In response to a preflight request, setting this to true indicates that the actual request can include user credentials. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowHeaders">allowHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowMethods">allowMethods</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Methods header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowOriginRegexes">allowOriginRegexes</a></code> | <code>string[]</code> | Specifies the regular expression patterns that match allowed origins. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowOrigins">allowOrigins</a></code> | <code>string[]</code> | Specifies the list of origins that will be allowed to do CORS requests. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.exposeHeaders">exposeHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Expose-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.maxAge">maxAge</a></code> | <code>number</code> | Specifies how long the results of a preflight request can be cached. |

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, specifies the CORS policy is disabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#disabled ComputeRegionUrlMap#disabled}

---

##### `allowCredentials`<sup>Optional</sup> <a name="allowCredentials" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowCredentials"></a>

```typescript
public readonly allowCredentials: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

In response to a preflight request, setting this to true indicates that the actual request can include user credentials.

This translates to the Access-
Control-Allow-Credentials header. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_credentials ComputeRegionUrlMap#allow_credentials}

---

##### `allowHeaders`<sup>Optional</sup> <a name="allowHeaders" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowHeaders"></a>

```typescript
public readonly allowHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_headers ComputeRegionUrlMap#allow_headers}

---

##### `allowMethods`<sup>Optional</sup> <a name="allowMethods" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowMethods"></a>

```typescript
public readonly allowMethods: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Methods header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_methods ComputeRegionUrlMap#allow_methods}

---

##### `allowOriginRegexes`<sup>Optional</sup> <a name="allowOriginRegexes" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowOriginRegexes"></a>

```typescript
public readonly allowOriginRegexes: string[];
```

- *Type:* string[]

Specifies the regular expression patterns that match allowed origins.

For
regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
An origin is allowed if it matches either allow_origins or allow_origin_regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_origin_regexes ComputeRegionUrlMap#allow_origin_regexes}

---

##### `allowOrigins`<sup>Optional</sup> <a name="allowOrigins" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowOrigins"></a>

```typescript
public readonly allowOrigins: string[];
```

- *Type:* string[]

Specifies the list of origins that will be allowed to do CORS requests.

An
origin is allowed if it matches either allow_origins or allow_origin_regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_origins ComputeRegionUrlMap#allow_origins}

---

##### `exposeHeaders`<sup>Optional</sup> <a name="exposeHeaders" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.exposeHeaders"></a>

```typescript
public readonly exposeHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Expose-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#expose_headers ComputeRegionUrlMap#expose_headers}

---

##### `maxAge`<sup>Optional</sup> <a name="maxAge" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.maxAge"></a>

```typescript
public readonly maxAge: number;
```

- *Type:* number

Specifies how long the results of a preflight request can be cached.

This
translates to the content for the Access-Control-Max-Age header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#max_age ComputeRegionUrlMap#max_age}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy: ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.property.abort">abort</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort">ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort</a></code> | abort block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.property.delay">delay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay">ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay</a></code> | delay block. |

---

##### `abort`<sup>Optional</sup> <a name="abort" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.property.abort"></a>

```typescript
public readonly abort: ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort">ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort</a>

abort block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#abort ComputeRegionUrlMap#abort}

---

##### `delay`<sup>Optional</sup> <a name="delay" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.property.delay"></a>

```typescript
public readonly delay: ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay">ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay</a>

delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#delay ComputeRegionUrlMap#delay}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort: ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.property.httpStatus">httpStatus</a></code> | <code>number</code> | The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection. |

---

##### `httpStatus`<sup>Required</sup> <a name="httpStatus" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.property.httpStatus"></a>

```typescript
public readonly httpStatus: number;
```

- *Type:* number

The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#http_status ComputeRegionUrlMap#http_status}

---

##### `percentage`<sup>Required</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.

The value must be between 0.0 and 100.0
inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#percentage ComputeRegionUrlMap#percentage}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay: ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.property.fixedDelay">fixedDelay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay</a></code> | fixed_delay block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection. |

---

##### `fixedDelay`<sup>Required</sup> <a name="fixedDelay" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.property.fixedDelay"></a>

```typescript
public readonly fixedDelay: ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay</a>

fixed_delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#fixed_delay ComputeRegionUrlMap#fixed_delay}

---

##### `percentage`<sup>Required</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.

The value must be between 0.0 and
100.0 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#percentage ComputeRegionUrlMap#percentage}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay: ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#seconds ComputeRegionUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#nanos ComputeRegionUrlMap#nanos}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy: ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy.property.backendService">backendService</a></code> | <code>string</code> | The RegionBackendService resource being mirrored to. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The RegionBackendService resource being mirrored to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#backend_service ComputeRegionUrlMap#backend_service}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy: ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.numRetries">numRetries</a></code> | <code>number</code> | Specifies the allowed number retries. This number must be > 0. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.perTryTimeout">perTryTimeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout">ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout</a></code> | per_try_timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.retryConditions">retryConditions</a></code> | <code>string[]</code> | Specifies one or more conditions when this retry rule applies. Valid values are:. |

---

##### `numRetries`<sup>Optional</sup> <a name="numRetries" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.numRetries"></a>

```typescript
public readonly numRetries: number;
```

- *Type:* number

Specifies the allowed number retries. This number must be > 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#num_retries ComputeRegionUrlMap#num_retries}

---

##### `perTryTimeout`<sup>Optional</sup> <a name="perTryTimeout" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.perTryTimeout"></a>

```typescript
public readonly perTryTimeout: ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout">ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout</a>

per_try_timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#per_try_timeout ComputeRegionUrlMap#per_try_timeout}

---

##### `retryConditions`<sup>Optional</sup> <a name="retryConditions" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.retryConditions"></a>

```typescript
public readonly retryConditions: string[];
```

- *Type:* string[]

Specifies one or more conditions when this retry rule applies. Valid values are:.

5xx: Loadbalancer will attempt a retry if the backend service responds with
any 5xx response code, or if the backend service does not respond at all,
example: disconnects, reset, read timeout, connection failure, and refused
streams.
- gateway-error: Similar to 5xx, but only applies to response codes
502, 503 or 504.
- connect-failure: Loadbalancer will retry on failures
connecting to backend services, for example due to connection timeouts.
- retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
Currently the only retriable error supported is 409.
- refused-stream: Loadbalancer will retry if the backend service resets the stream with a
REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
- cancelled: Loadbalancer will retry if the gRPC status code in the response
header is set to cancelled
- deadline-exceeded: Loadbalancer will retry if the
gRPC status code in the response header is set to deadline-exceeded
- resource-exhausted: Loadbalancer will retry if the gRPC status code in the response
header is set to resource-exhausted
- unavailable: Loadbalancer will retry if
the gRPC status code in the response header is set to unavailable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#retry_conditions ComputeRegionUrlMap#retry_conditions}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout: ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#seconds ComputeRegionUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#nanos ComputeRegionUrlMap#nanos}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionTimeout: ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#seconds ComputeRegionUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#nanos ComputeRegionUrlMap#nanos}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite: ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite.property.hostRewrite">hostRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite.property.pathPrefixRewrite">pathPrefixRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. |

---

##### `hostRewrite`<sup>Optional</sup> <a name="hostRewrite" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite.property.hostRewrite"></a>

```typescript
public readonly hostRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.

The value must be between 1 and
255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#host_rewrite ComputeRegionUrlMap#host_rewrite}

---

##### `pathPrefixRewrite`<sup>Optional</sup> <a name="pathPrefixRewrite" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionUrlRewrite.property.pathPrefixRewrite"></a>

```typescript
public readonly pathPrefixRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.

The value must
be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path_prefix_rewrite ComputeRegionUrlMap#path_prefix_rewrite}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices: ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.backendService">backendService</a></code> | <code>string</code> | The default RegionBackendService resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.weight">weight</a></code> | <code>number</code> | Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) . |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction">ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction</a></code> | header_action block. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The default RegionBackendService resource.

Before
forwarding the request to backendService, the loadbalancer applies any relevant
headerActions specified as part of this backendServiceWeight.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#backend_service ComputeRegionUrlMap#backend_service}

---

##### `weight`<sup>Required</sup> <a name="weight" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.weight"></a>

```typescript
public readonly weight: number;
```

- *Type:* number

Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) .

The selection of a
backend service is determined only for new traffic. Once a user's request has
been directed to a backendService, subsequent requests will be sent to the same
backendService as determined by the BackendService's session affinity policy.
The value must be between 0 and 1000

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#weight ComputeRegionUrlMap#weight}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction">ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_action ComputeRegionUrlMap#header_action}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction: ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#request_headers_to_add ComputeRegionUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#request_headers_to_remove ComputeRegionUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#response_headers_to_add ComputeRegionUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#response_headers_to_remove ComputeRegionUrlMap#response_headers_to_remove}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd: ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_name ComputeRegionUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_value ComputeRegionUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#replace ComputeRegionUrlMap#replace}

---

### ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd <a name="ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd: ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_name ComputeRegionUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_value ComputeRegionUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#replace ComputeRegionUrlMap#replace}

---

### ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect <a name="ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherPathRuleUrlRedirect: ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.stripQuery">stripQuery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.hostRedirect">hostRedirect</a></code> | <code>string</code> | The host that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.httpsRedirect">httpsRedirect</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the URL scheme in the redirected request is set to https. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.pathRedirect">pathRedirect</a></code> | <code>string</code> | The path that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.prefixRedirect">prefixRedirect</a></code> | <code>string</code> | The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.redirectResponseCode">redirectResponseCode</a></code> | <code>string</code> | The HTTP Status code to use for this RedirectAction. Supported values are:. |

---

##### `stripQuery`<sup>Required</sup> <a name="stripQuery" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.stripQuery"></a>

```typescript
public readonly stripQuery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.

If set to false, the query portion of the
original URL is retained.
This field is required to ensure an empty block is not set. The normal default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#strip_query ComputeRegionUrlMap#strip_query}

---

##### `hostRedirect`<sup>Optional</sup> <a name="hostRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.hostRedirect"></a>

```typescript
public readonly hostRedirect: string;
```

- *Type:* string

The host that will be used in the redirect response instead of the one that was supplied in the request.

The value must be between 1 and 255
characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#host_redirect ComputeRegionUrlMap#host_redirect}

---

##### `httpsRedirect`<sup>Optional</sup> <a name="httpsRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.httpsRedirect"></a>

```typescript
public readonly httpsRedirect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the URL scheme in the redirected request is set to https.

If set to false, the URL scheme of the redirected request will remain the
same as that of the request. This must only be set for UrlMaps used in
TargetHttpProxys. Setting this true for TargetHttpsProxy is not
permitted. The default is set to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#https_redirect ComputeRegionUrlMap#https_redirect}

---

##### `pathRedirect`<sup>Optional</sup> <a name="pathRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.pathRedirect"></a>

```typescript
public readonly pathRedirect: string;
```

- *Type:* string

The path that will be used in the redirect response instead of the one that was supplied in the request.

pathRedirect cannot be supplied
together with prefixRedirect. Supply one alone or neither. If neither is
supplied, the path of the original request will be used for the redirect.
The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path_redirect ComputeRegionUrlMap#path_redirect}

---

##### `prefixRedirect`<sup>Optional</sup> <a name="prefixRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.prefixRedirect"></a>

```typescript
public readonly prefixRedirect: string;
```

- *Type:* string

The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request.

prefixRedirect cannot be supplied together with
pathRedirect. Supply one alone or neither. If neither is supplied, the
path of the original request will be used for the redirect. The value
must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#prefix_redirect ComputeRegionUrlMap#prefix_redirect}

---

##### `redirectResponseCode`<sup>Optional</sup> <a name="redirectResponseCode" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherPathRuleUrlRedirect.property.redirectResponseCode"></a>

```typescript
public readonly redirectResponseCode: string;
```

- *Type:* string

The HTTP Status code to use for this RedirectAction. Supported values are:.

MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.

FOUND, which corresponds to 302.

SEE_OTHER which corresponds to 303.

TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
will be retained.

PERMANENT_REDIRECT, which corresponds to 308. In this case,
the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#redirect_response_code ComputeRegionUrlMap#redirect_response_code}

---

### ComputeRegionUrlMapPathMatcherRouteRules <a name="ComputeRegionUrlMapPathMatcherRouteRules" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRules } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRules: ComputeRegionUrlMapPathMatcherRouteRules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.priority">priority</a></code> | <code>number</code> | For routeRules within a given pathMatcher, priority determines the order in which load balancer will interpret routeRules. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction">ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction</a></code> | header_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.matchRules">matchRules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules">ComputeRegionUrlMapPathMatcherRouteRulesMatchRules</a>[]</code> | match_rules block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.routeAction">routeAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction">ComputeRegionUrlMapPathMatcherRouteRulesRouteAction</a></code> | route_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.service">service</a></code> | <code>string</code> | The region backend service resource to which traffic is directed if this rule is matched. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.urlRedirect">urlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect">ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect</a></code> | url_redirect block. |

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

For routeRules within a given pathMatcher, priority determines the order in which load balancer will interpret routeRules.

RouteRules are evaluated
in order of priority, from the lowest to highest number. The priority of
a rule decreases as its number increases (1, 2, 3, N+1). The first rule
that matches the request is applied.

You cannot configure two or more routeRules with the same priority.
Priority for each rule must be set to a number between 0 and
2147483647 inclusive.

Priority numbers can have gaps, which enable you to add or remove rules
in the future without affecting the rest of the rules. For example,
1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
future without any impact on existing rules.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#priority ComputeRegionUrlMap#priority}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction">ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_action ComputeRegionUrlMap#header_action}

---

##### `matchRules`<sup>Optional</sup> <a name="matchRules" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.matchRules"></a>

```typescript
public readonly matchRules: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesMatchRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules">ComputeRegionUrlMapPathMatcherRouteRulesMatchRules</a>[]

match_rules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#match_rules ComputeRegionUrlMap#match_rules}

---

##### `routeAction`<sup>Optional</sup> <a name="routeAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.routeAction"></a>

```typescript
public readonly routeAction: ComputeRegionUrlMapPathMatcherRouteRulesRouteAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction">ComputeRegionUrlMapPathMatcherRouteRulesRouteAction</a>

route_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#route_action ComputeRegionUrlMap#route_action}

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

The region backend service resource to which traffic is directed if this rule is matched.

If routeAction is additionally specified,
advanced routing actions like URL Rewrites, etc. take effect prior to sending
the request to the backend. However, if service is specified, routeAction cannot
contain any weightedBackendService s. Conversely, if routeAction specifies any
weightedBackendServices, service must not be specified. Only one of urlRedirect,
service or routeAction.weightedBackendService must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#service ComputeRegionUrlMap#service}

---

##### `urlRedirect`<sup>Optional</sup> <a name="urlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRules.property.urlRedirect"></a>

```typescript
public readonly urlRedirect: ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect">ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect</a>

url_redirect block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#url_redirect ComputeRegionUrlMap#url_redirect}

---

### ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction <a name="ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesHeaderAction: ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd">ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd">ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd">ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#request_headers_to_add ComputeRegionUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#request_headers_to_remove ComputeRegionUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd">ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#response_headers_to_add ComputeRegionUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#response_headers_to_remove ComputeRegionUrlMap#response_headers_to_remove}

---

### ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd <a name="ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd: ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_name ComputeRegionUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_value ComputeRegionUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#replace ComputeRegionUrlMap#replace}

---

### ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd <a name="ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd: ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_name ComputeRegionUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_value ComputeRegionUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#replace ComputeRegionUrlMap#replace}

---

### ComputeRegionUrlMapPathMatcherRouteRulesMatchRules <a name="ComputeRegionUrlMapPathMatcherRouteRulesMatchRules" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesMatchRules } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesMatchRules: ComputeRegionUrlMapPathMatcherRouteRulesMatchRules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.fullPathMatch">fullPathMatch</a></code> | <code>string</code> | For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.headerMatches">headerMatches</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches</a>[]</code> | header_matches block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.ignoreCase">ignoreCase</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies that prefixMatch and fullPathMatch matches are case sensitive. Defaults to false. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.metadataFilters">metadataFilters</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters</a>[]</code> | metadata_filters block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.prefixMatch">prefixMatch</a></code> | <code>string</code> | For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.queryParameterMatches">queryParameterMatches</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches</a>[]</code> | query_parameter_matches block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.regexMatch">regexMatch</a></code> | <code>string</code> | For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. |

---

##### `fullPathMatch`<sup>Optional</sup> <a name="fullPathMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.fullPathMatch"></a>

```typescript
public readonly fullPathMatch: string;
```

- *Type:* string

For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL.

FullPathMatch must be between 1
and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#full_path_match ComputeRegionUrlMap#full_path_match}

---

##### `headerMatches`<sup>Optional</sup> <a name="headerMatches" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.headerMatches"></a>

```typescript
public readonly headerMatches: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches</a>[]

header_matches block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_matches ComputeRegionUrlMap#header_matches}

---

##### `ignoreCase`<sup>Optional</sup> <a name="ignoreCase" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.ignoreCase"></a>

```typescript
public readonly ignoreCase: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies that prefixMatch and fullPathMatch matches are case sensitive. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#ignore_case ComputeRegionUrlMap#ignore_case}

---

##### `metadataFilters`<sup>Optional</sup> <a name="metadataFilters" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.metadataFilters"></a>

```typescript
public readonly metadataFilters: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters</a>[]

metadata_filters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#metadata_filters ComputeRegionUrlMap#metadata_filters}

---

##### `prefixMatch`<sup>Optional</sup> <a name="prefixMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.prefixMatch"></a>

```typescript
public readonly prefixMatch: string;
```

- *Type:* string

For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch.

prefixMatch must begin with a /. The value must be
between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
regexMatch must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#prefix_match ComputeRegionUrlMap#prefix_match}

---

##### `queryParameterMatches`<sup>Optional</sup> <a name="queryParameterMatches" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.queryParameterMatches"></a>

```typescript
public readonly queryParameterMatches: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches</a>[]

query_parameter_matches block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#query_parameter_matches ComputeRegionUrlMap#query_parameter_matches}

---

##### `regexMatch`<sup>Optional</sup> <a name="regexMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRules.property.regexMatch"></a>

```typescript
public readonly regexMatch: string;
```

- *Type:* string

For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL.

For regular expression grammar please
see en.cppreference.com/w/cpp/regex/ecmascript  Only one of prefixMatch,
fullPathMatch or regexMatch must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#regex_match ComputeRegionUrlMap#regex_match}

---

### ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches <a name="ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches: ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.headerName">headerName</a></code> | <code>string</code> | The name of the HTTP header to match. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.exactMatch">exactMatch</a></code> | <code>string</code> | The value should exactly match contents of exactMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.invertMatch">invertMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to false, the headerMatch is considered a match if the match criteria above are met. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.prefixMatch">prefixMatch</a></code> | <code>string</code> | The value of the header must start with the contents of prefixMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.presentMatch">presentMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | A header with the contents of headerName must exist. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.rangeMatch">rangeMatch</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch</a></code> | range_match block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.regexMatch">regexMatch</a></code> | <code>string</code> | The value of the header must match the regular expression specified in regexMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.suffixMatch">suffixMatch</a></code> | <code>string</code> | The value of the header must end with the contents of suffixMatch. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the HTTP header to match.

For matching against the HTTP request's
authority, use a headerMatch with the header name ":authority". For matching a
request's method, use the headerName ":method".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_name ComputeRegionUrlMap#header_name}

---

##### `exactMatch`<sup>Optional</sup> <a name="exactMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.exactMatch"></a>

```typescript
public readonly exactMatch: string;
```

- *Type:* string

The value should exactly match contents of exactMatch.

Only one of exactMatch,
prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#exact_match ComputeRegionUrlMap#exact_match}

---

##### `invertMatch`<sup>Optional</sup> <a name="invertMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.invertMatch"></a>

```typescript
public readonly invertMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to false, the headerMatch is considered a match if the match criteria above are met.

If set to true, the headerMatch is considered a match if the
match criteria above are NOT met. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#invert_match ComputeRegionUrlMap#invert_match}

---

##### `prefixMatch`<sup>Optional</sup> <a name="prefixMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.prefixMatch"></a>

```typescript
public readonly prefixMatch: string;
```

- *Type:* string

The value of the header must start with the contents of prefixMatch.

Only one of
exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#prefix_match ComputeRegionUrlMap#prefix_match}

---

##### `presentMatch`<sup>Optional</sup> <a name="presentMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.presentMatch"></a>

```typescript
public readonly presentMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

A header with the contents of headerName must exist.

The match takes place
whether or not the request's header has a value or not. Only one of exactMatch,
prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#present_match ComputeRegionUrlMap#present_match}

---

##### `rangeMatch`<sup>Optional</sup> <a name="rangeMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.rangeMatch"></a>

```typescript
public readonly rangeMatch: ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch</a>

range_match block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#range_match ComputeRegionUrlMap#range_match}

---

##### `regexMatch`<sup>Optional</sup> <a name="regexMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.regexMatch"></a>

```typescript
public readonly regexMatch: string;
```

- *Type:* string

The value of the header must match the regular expression specified in regexMatch.

For regular expression grammar, please see:
en.cppreference.com/w/cpp/regex/ecmascript  For matching against a port
specified in the HTTP request, use a headerMatch with headerName set to PORT and
a regular expression that satisfies the RFC2616 Host header's port specifier.
Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
rangeMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#regex_match ComputeRegionUrlMap#regex_match}

---

##### `suffixMatch`<sup>Optional</sup> <a name="suffixMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.suffixMatch"></a>

```typescript
public readonly suffixMatch: string;
```

- *Type:* string

The value of the header must end with the contents of suffixMatch.

Only one of
exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#suffix_match ComputeRegionUrlMap#suffix_match}

---

### ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch <a name="ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch: ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.property.rangeEnd">rangeEnd</a></code> | <code>number</code> | The end of the range (exclusive). |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.property.rangeStart">rangeStart</a></code> | <code>number</code> | The start of the range (inclusive). |

---

##### `rangeEnd`<sup>Required</sup> <a name="rangeEnd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.property.rangeEnd"></a>

```typescript
public readonly rangeEnd: number;
```

- *Type:* number

The end of the range (exclusive).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#range_end ComputeRegionUrlMap#range_end}

---

##### `rangeStart`<sup>Required</sup> <a name="rangeStart" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.property.rangeStart"></a>

```typescript
public readonly rangeStart: number;
```

- *Type:* number

The start of the range (inclusive).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#range_start ComputeRegionUrlMap#range_start}

---

### ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters <a name="ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters: ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.property.filterLabels">filterLabels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels</a>[]</code> | filter_labels block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.property.filterMatchCriteria">filterMatchCriteria</a></code> | <code>string</code> | Specifies how individual filterLabel matches within the list of filterLabels contribute towards the overall metadataFilter match. Supported values are:. |

---

##### `filterLabels`<sup>Required</sup> <a name="filterLabels" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.property.filterLabels"></a>

```typescript
public readonly filterLabels: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels">ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels</a>[]

filter_labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#filter_labels ComputeRegionUrlMap#filter_labels}

---

##### `filterMatchCriteria`<sup>Required</sup> <a name="filterMatchCriteria" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.property.filterMatchCriteria"></a>

```typescript
public readonly filterMatchCriteria: string;
```

- *Type:* string

Specifies how individual filterLabel matches within the list of filterLabels contribute towards the overall metadataFilter match. Supported values are:.

MATCH_ANY: At least one of the filterLabels must have a matching label in the
provided metadata.
MATCH_ALL: All filterLabels must have matching labels in
the provided metadata. Possible values: ["MATCH_ALL", "MATCH_ANY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#filter_match_criteria ComputeRegionUrlMap#filter_match_criteria}

---

### ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels <a name="ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels: ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.property.name">name</a></code> | <code>string</code> | Name of metadata label. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.property.value">value</a></code> | <code>string</code> | The value of the label must match the specified value. value can have a maximum length of 1024 characters. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of metadata label.

The name can have a maximum length of 1024 characters
and must be at least 1 character long.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#name ComputeRegionUrlMap#name}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The value of the label must match the specified value. value can have a maximum length of 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#value ComputeRegionUrlMap#value}

---

### ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches <a name="ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches: ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.name">name</a></code> | <code>string</code> | The name of the query parameter to match. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.exactMatch">exactMatch</a></code> | <code>string</code> | The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.presentMatch">presentMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.regexMatch">regexMatch</a></code> | <code>string</code> | The queryParameterMatch matches if the value of the parameter matches the regular expression specified by regexMatch. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the query parameter to match.

The query parameter must exist in the
request, in the absence of which the request match fails.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#name ComputeRegionUrlMap#name}

---

##### `exactMatch`<sup>Optional</sup> <a name="exactMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.exactMatch"></a>

```typescript
public readonly exactMatch: string;
```

- *Type:* string

The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch.

Only one of presentMatch, exactMatch and regexMatch
must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#exact_match ComputeRegionUrlMap#exact_match}

---

##### `presentMatch`<sup>Optional</sup> <a name="presentMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.presentMatch"></a>

```typescript
public readonly presentMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not.

Only one of
presentMatch, exactMatch and regexMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#present_match ComputeRegionUrlMap#present_match}

---

##### `regexMatch`<sup>Optional</sup> <a name="regexMatch" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.regexMatch"></a>

```typescript
public readonly regexMatch: string;
```

- *Type:* string

The queryParameterMatch matches if the value of the parameter matches the regular expression specified by regexMatch.

For the regular expression grammar,
please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
exactMatch and regexMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#regex_match ComputeRegionUrlMap#regex_match}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteAction <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteAction } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteAction: ComputeRegionUrlMapPathMatcherRouteRulesRouteAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.corsPolicy">corsPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy</a></code> | cors_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.faultInjectionPolicy">faultInjectionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy</a></code> | fault_injection_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.requestMirrorPolicy">requestMirrorPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy</a></code> | request_mirror_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.retryPolicy">retryPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy</a></code> | retry_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.timeout">timeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout</a></code> | timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.urlRewrite">urlRewrite</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite</a></code> | url_rewrite block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.weightedBackendServices">weightedBackendServices</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices</a>[]</code> | weighted_backend_services block. |

---

##### `corsPolicy`<sup>Optional</sup> <a name="corsPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.corsPolicy"></a>

```typescript
public readonly corsPolicy: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy</a>

cors_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#cors_policy ComputeRegionUrlMap#cors_policy}

---

##### `faultInjectionPolicy`<sup>Optional</sup> <a name="faultInjectionPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.faultInjectionPolicy"></a>

```typescript
public readonly faultInjectionPolicy: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy</a>

fault_injection_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#fault_injection_policy ComputeRegionUrlMap#fault_injection_policy}

---

##### `requestMirrorPolicy`<sup>Optional</sup> <a name="requestMirrorPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.requestMirrorPolicy"></a>

```typescript
public readonly requestMirrorPolicy: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy</a>

request_mirror_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#request_mirror_policy ComputeRegionUrlMap#request_mirror_policy}

---

##### `retryPolicy`<sup>Optional</sup> <a name="retryPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.retryPolicy"></a>

```typescript
public readonly retryPolicy: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy</a>

retry_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#retry_policy ComputeRegionUrlMap#retry_policy}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.timeout"></a>

```typescript
public readonly timeout: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout</a>

timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#timeout ComputeRegionUrlMap#timeout}

---

##### `urlRewrite`<sup>Optional</sup> <a name="urlRewrite" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.urlRewrite"></a>

```typescript
public readonly urlRewrite: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite</a>

url_rewrite block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#url_rewrite ComputeRegionUrlMap#url_rewrite}

---

##### `weightedBackendServices`<sup>Optional</sup> <a name="weightedBackendServices" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteAction.property.weightedBackendServices"></a>

```typescript
public readonly weightedBackendServices: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices</a>[]

weighted_backend_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#weighted_backend_services ComputeRegionUrlMap#weighted_backend_services}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowCredentials">allowCredentials</a></code> | <code>boolean \| cdktf.IResolvable</code> | In response to a preflight request, setting this to true indicates that the actual request can include user credentials. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowHeaders">allowHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowMethods">allowMethods</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Methods header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowOriginRegexes">allowOriginRegexes</a></code> | <code>string[]</code> | Specifies the regular expression patterns that match allowed origins. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowOrigins">allowOrigins</a></code> | <code>string[]</code> | Specifies the list of origins that will be allowed to do CORS requests. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, specifies the CORS policy is disabled. which indicates that the CORS policy is in effect. Defaults to false. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.exposeHeaders">exposeHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Expose-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.maxAge">maxAge</a></code> | <code>number</code> | Specifies how long the results of a preflight request can be cached. |

---

##### `allowCredentials`<sup>Optional</sup> <a name="allowCredentials" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowCredentials"></a>

```typescript
public readonly allowCredentials: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

In response to a preflight request, setting this to true indicates that the actual request can include user credentials.

This translates to the Access-
Control-Allow-Credentials header. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_credentials ComputeRegionUrlMap#allow_credentials}

---

##### `allowHeaders`<sup>Optional</sup> <a name="allowHeaders" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowHeaders"></a>

```typescript
public readonly allowHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_headers ComputeRegionUrlMap#allow_headers}

---

##### `allowMethods`<sup>Optional</sup> <a name="allowMethods" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowMethods"></a>

```typescript
public readonly allowMethods: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Methods header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_methods ComputeRegionUrlMap#allow_methods}

---

##### `allowOriginRegexes`<sup>Optional</sup> <a name="allowOriginRegexes" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowOriginRegexes"></a>

```typescript
public readonly allowOriginRegexes: string[];
```

- *Type:* string[]

Specifies the regular expression patterns that match allowed origins.

For
regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
An origin is allowed if it matches either allow_origins or allow_origin_regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_origin_regexes ComputeRegionUrlMap#allow_origin_regexes}

---

##### `allowOrigins`<sup>Optional</sup> <a name="allowOrigins" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowOrigins"></a>

```typescript
public readonly allowOrigins: string[];
```

- *Type:* string[]

Specifies the list of origins that will be allowed to do CORS requests.

An
origin is allowed if it matches either allow_origins or allow_origin_regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#allow_origins ComputeRegionUrlMap#allow_origins}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, specifies the CORS policy is disabled. which indicates that the CORS policy is in effect. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#disabled ComputeRegionUrlMap#disabled}

---

##### `exposeHeaders`<sup>Optional</sup> <a name="exposeHeaders" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.exposeHeaders"></a>

```typescript
public readonly exposeHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Expose-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#expose_headers ComputeRegionUrlMap#expose_headers}

---

##### `maxAge`<sup>Optional</sup> <a name="maxAge" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.maxAge"></a>

```typescript
public readonly maxAge: number;
```

- *Type:* number

Specifies how long the results of a preflight request can be cached.

This
translates to the content for the Access-Control-Max-Age header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#max_age ComputeRegionUrlMap#max_age}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.property.abort">abort</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort</a></code> | abort block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.property.delay">delay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay</a></code> | delay block. |

---

##### `abort`<sup>Optional</sup> <a name="abort" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.property.abort"></a>

```typescript
public readonly abort: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort</a>

abort block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#abort ComputeRegionUrlMap#abort}

---

##### `delay`<sup>Optional</sup> <a name="delay" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.property.delay"></a>

```typescript
public readonly delay: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay</a>

delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#delay ComputeRegionUrlMap#delay}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.property.httpStatus">httpStatus</a></code> | <code>number</code> | The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection. |

---

##### `httpStatus`<sup>Optional</sup> <a name="httpStatus" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.property.httpStatus"></a>

```typescript
public readonly httpStatus: number;
```

- *Type:* number

The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#http_status ComputeRegionUrlMap#http_status}

---

##### `percentage`<sup>Optional</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.

The value must be between 0.0 and 100.0
inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#percentage ComputeRegionUrlMap#percentage}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.property.fixedDelay">fixedDelay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay</a></code> | fixed_delay block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection. |

---

##### `fixedDelay`<sup>Optional</sup> <a name="fixedDelay" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.property.fixedDelay"></a>

```typescript
public readonly fixedDelay: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay</a>

fixed_delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#fixed_delay ComputeRegionUrlMap#fixed_delay}

---

##### `percentage`<sup>Optional</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.

The value must be between 0.0 and
100.0 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#percentage ComputeRegionUrlMap#percentage}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#seconds ComputeRegionUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#nanos ComputeRegionUrlMap#nanos}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy.property.backendService">backendService</a></code> | <code>string</code> | The RegionBackendService resource being mirrored to. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The RegionBackendService resource being mirrored to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#backend_service ComputeRegionUrlMap#backend_service}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.numRetries">numRetries</a></code> | <code>number</code> | Specifies the allowed number retries. This number must be > 0. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.perTryTimeout">perTryTimeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout</a></code> | per_try_timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.retryConditions">retryConditions</a></code> | <code>string[]</code> | Specifies one or more conditions when this retry rule applies. Valid values are:. |

---

##### `numRetries`<sup>Required</sup> <a name="numRetries" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.numRetries"></a>

```typescript
public readonly numRetries: number;
```

- *Type:* number

Specifies the allowed number retries. This number must be > 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#num_retries ComputeRegionUrlMap#num_retries}

---

##### `perTryTimeout`<sup>Optional</sup> <a name="perTryTimeout" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.perTryTimeout"></a>

```typescript
public readonly perTryTimeout: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout</a>

per_try_timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#per_try_timeout ComputeRegionUrlMap#per_try_timeout}

---

##### `retryConditions`<sup>Optional</sup> <a name="retryConditions" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.retryConditions"></a>

```typescript
public readonly retryConditions: string[];
```

- *Type:* string[]

Specifies one or more conditions when this retry rule applies. Valid values are:.

5xx: Loadbalancer will attempt a retry if the backend service responds with
any 5xx response code, or if the backend service does not respond at all,
example: disconnects, reset, read timeout, connection failure, and refused
streams.
gateway-error: Similar to 5xx, but only applies to response codes
502, 503 or 504.
connect-failure: Loadbalancer will retry on failures
connecting to backend services, for example due to connection timeouts.
retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
Currently the only retriable error supported is 409.
refused-stream: Loadbalancer will retry if the backend service resets the stream with a
REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
cancelled: Loadbalancer will retry if the gRPC status code in the response
header is set to cancelled
deadline-exceeded: Loadbalancer will retry if the
gRPC status code in the response header is set to deadline-exceeded
resource-exhausted: Loadbalancer will retry if the gRPC status code in the response
header is set to resource-exhausted
unavailable: Loadbalancer will retry if the gRPC status code in
the response header is set to unavailable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#retry_conditions ComputeRegionUrlMap#retry_conditions}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#seconds ComputeRegionUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#nanos ComputeRegionUrlMap#nanos}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#seconds ComputeRegionUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#nanos ComputeRegionUrlMap#nanos}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.property.hostRewrite">hostRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.property.pathPrefixRewrite">pathPrefixRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. |

---

##### `hostRewrite`<sup>Optional</sup> <a name="hostRewrite" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.property.hostRewrite"></a>

```typescript
public readonly hostRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.

The value must be between 1 and
255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#host_rewrite ComputeRegionUrlMap#host_rewrite}

---

##### `pathPrefixRewrite`<sup>Optional</sup> <a name="pathPrefixRewrite" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.property.pathPrefixRewrite"></a>

```typescript
public readonly pathPrefixRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.

The value must
be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path_prefix_rewrite ComputeRegionUrlMap#path_prefix_rewrite}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.backendService">backendService</a></code> | <code>string</code> | The default RegionBackendService resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.weight">weight</a></code> | <code>number</code> | Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) . |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction</a></code> | header_action block. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The default RegionBackendService resource.

Before
forwarding the request to backendService, the loadbalancer applies any relevant
headerActions specified as part of this backendServiceWeight.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#backend_service ComputeRegionUrlMap#backend_service}

---

##### `weight`<sup>Required</sup> <a name="weight" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.weight"></a>

```typescript
public readonly weight: number;
```

- *Type:* number

Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) .

The selection of a
backend service is determined only for new traffic. Once a user's request has
been directed to a backendService, subsequent requests will be sent to the same
backendService as determined by the BackendService's session affinity policy.
The value must be between 0 and 1000

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#weight ComputeRegionUrlMap#weight}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_action ComputeRegionUrlMap#header_action}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#request_headers_to_add ComputeRegionUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#request_headers_to_remove ComputeRegionUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#response_headers_to_add ComputeRegionUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#response_headers_to_remove ComputeRegionUrlMap#response_headers_to_remove}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_name ComputeRegionUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_value ComputeRegionUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#replace ComputeRegionUrlMap#replace}

---

### ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd <a name="ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd: ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_name ComputeRegionUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#header_value ComputeRegionUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#replace ComputeRegionUrlMap#replace}

---

### ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect <a name="ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.Initializer"></a>

```typescript
import { ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect } from '@dschmidt/provider-google'

const computeRegionUrlMapPathMatcherRouteRulesUrlRedirect: ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.hostRedirect">hostRedirect</a></code> | <code>string</code> | The host that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.httpsRedirect">httpsRedirect</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the URL scheme in the redirected request is set to https. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.pathRedirect">pathRedirect</a></code> | <code>string</code> | The path that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.prefixRedirect">prefixRedirect</a></code> | <code>string</code> | The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.redirectResponseCode">redirectResponseCode</a></code> | <code>string</code> | The HTTP Status code to use for this RedirectAction. Supported values are:. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.stripQuery">stripQuery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. |

---

##### `hostRedirect`<sup>Optional</sup> <a name="hostRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.hostRedirect"></a>

```typescript
public readonly hostRedirect: string;
```

- *Type:* string

The host that will be used in the redirect response instead of the one that was supplied in the request.

The value must be between 1 and 255
characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#host_redirect ComputeRegionUrlMap#host_redirect}

---

##### `httpsRedirect`<sup>Optional</sup> <a name="httpsRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.httpsRedirect"></a>

```typescript
public readonly httpsRedirect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the URL scheme in the redirected request is set to https.

If set to false, the URL scheme of the redirected request will remain the
same as that of the request. This must only be set for UrlMaps used in
TargetHttpProxys. Setting this true for TargetHttpsProxy is not
permitted. The default is set to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#https_redirect ComputeRegionUrlMap#https_redirect}

---

##### `pathRedirect`<sup>Optional</sup> <a name="pathRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.pathRedirect"></a>

```typescript
public readonly pathRedirect: string;
```

- *Type:* string

The path that will be used in the redirect response instead of the one that was supplied in the request.

pathRedirect cannot be supplied
together with prefixRedirect. Supply one alone or neither. If neither is
supplied, the path of the original request will be used for the redirect.
The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path_redirect ComputeRegionUrlMap#path_redirect}

---

##### `prefixRedirect`<sup>Optional</sup> <a name="prefixRedirect" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.prefixRedirect"></a>

```typescript
public readonly prefixRedirect: string;
```

- *Type:* string

The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request.

prefixRedirect cannot be supplied together with
pathRedirect. Supply one alone or neither. If neither is supplied, the
path of the original request will be used for the redirect. The value
must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#prefix_redirect ComputeRegionUrlMap#prefix_redirect}

---

##### `redirectResponseCode`<sup>Optional</sup> <a name="redirectResponseCode" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.redirectResponseCode"></a>

```typescript
public readonly redirectResponseCode: string;
```

- *Type:* string

The HTTP Status code to use for this RedirectAction. Supported values are:.

MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.

FOUND, which corresponds to 302.

SEE_OTHER which corresponds to 303.

TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
will be retained.

PERMANENT_REDIRECT, which corresponds to 308. In this case,
the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#redirect_response_code ComputeRegionUrlMap#redirect_response_code}

---

##### `stripQuery`<sup>Optional</sup> <a name="stripQuery" id="@dschmidt/provider-google.ComputeRegionUrlMapPathMatcherRouteRulesUrlRedirect.property.stripQuery"></a>

```typescript
public readonly stripQuery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.

If set to false, the query
portion of the original URL is retained. The default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#strip_query ComputeRegionUrlMap#strip_query}

---

### ComputeRegionUrlMapTest <a name="ComputeRegionUrlMapTest" id="@dschmidt/provider-google.ComputeRegionUrlMapTest"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapTest.Initializer"></a>

```typescript
import { ComputeRegionUrlMapTest } from '@dschmidt/provider-google'

const computeRegionUrlMapTest: ComputeRegionUrlMapTest = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTest.property.host">host</a></code> | <code>string</code> | Host portion of the URL. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTest.property.path">path</a></code> | <code>string</code> | Path portion of the URL. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTest.property.service">service</a></code> | <code>string</code> | A reference to expected RegionBackendService resource the given URL should be mapped to. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTest.property.description">description</a></code> | <code>string</code> | Description of this test case. |

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.ComputeRegionUrlMapTest.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

Host portion of the URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#host ComputeRegionUrlMap#host}

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeRegionUrlMapTest.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Path portion of the URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#path ComputeRegionUrlMap#path}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ComputeRegionUrlMapTest.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

A reference to expected RegionBackendService resource the given URL should be mapped to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#service ComputeRegionUrlMap#service}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRegionUrlMapTest.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of this test case.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#description ComputeRegionUrlMap#description}

---

### ComputeRegionUrlMapTimeouts <a name="ComputeRegionUrlMapTimeouts" id="@dschmidt/provider-google.ComputeRegionUrlMapTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRegionUrlMapTimeouts.Initializer"></a>

```typescript
import { ComputeRegionUrlMapTimeouts } from '@dschmidt/provider-google'

const computeRegionUrlMapTimeouts: ComputeRegionUrlMapTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#create ComputeRegionUrlMap#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#delete ComputeRegionUrlMap#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRegionUrlMapTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#update ComputeRegionUrlMap#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRegionUrlMapTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#create ComputeRegionUrlMap#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRegionUrlMapTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#delete ComputeRegionUrlMap#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRegionUrlMapTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_region_url_map#update ComputeRegionUrlMap#update}.

---

### ComputeReservationConfig <a name="ComputeReservationConfig" id="@dschmidt/provider-google.ComputeReservationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeReservationConfig.Initializer"></a>

```typescript
import { ComputeReservationConfig } from '@dschmidt/provider-google'

const computeReservationConfig: ComputeReservationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.specificReservation">specificReservation</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservation">ComputeReservationSpecificReservation</a></code> | specific_reservation block. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.zone">zone</a></code> | <code>string</code> | The zone where the reservation is made. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#id ComputeReservation#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#project ComputeReservation#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.shareSettings">shareSettings</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationShareSettings">ComputeReservationShareSettings</a></code> | share_settings block. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.specificReservationRequired">specificReservationRequired</a></code> | <code>boolean \| cdktf.IResolvable</code> | When set to true, only VMs that target this reservation by name can consume this reservation. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationTimeouts">ComputeReservationTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeReservationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeReservationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeReservationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeReservationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeReservationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeReservationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeReservationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeReservationConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#name ComputeReservation#name}

---

##### `specificReservation`<sup>Required</sup> <a name="specificReservation" id="@dschmidt/provider-google.ComputeReservationConfig.property.specificReservation"></a>

```typescript
public readonly specificReservation: ComputeReservationSpecificReservation;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationSpecificReservation">ComputeReservationSpecificReservation</a>

specific_reservation block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#specific_reservation ComputeReservation#specific_reservation}

---

##### `zone`<sup>Required</sup> <a name="zone" id="@dschmidt/provider-google.ComputeReservationConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone where the reservation is made.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#zone ComputeReservation#zone}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeReservationConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#description ComputeReservation#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeReservationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#id ComputeReservation#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeReservationConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#project ComputeReservation#project}.

---

##### `shareSettings`<sup>Optional</sup> <a name="shareSettings" id="@dschmidt/provider-google.ComputeReservationConfig.property.shareSettings"></a>

```typescript
public readonly shareSettings: ComputeReservationShareSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationShareSettings">ComputeReservationShareSettings</a>

share_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#share_settings ComputeReservation#share_settings}

---

##### `specificReservationRequired`<sup>Optional</sup> <a name="specificReservationRequired" id="@dschmidt/provider-google.ComputeReservationConfig.property.specificReservationRequired"></a>

```typescript
public readonly specificReservationRequired: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When set to true, only VMs that target this reservation by name can consume this reservation.

Otherwise, it can be consumed by VMs with
affinity for any reservation. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#specific_reservation_required ComputeReservation#specific_reservation_required}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeReservationConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeReservationTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationTimeouts">ComputeReservationTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#timeouts ComputeReservation#timeouts}

---

### ComputeReservationShareSettings <a name="ComputeReservationShareSettings" id="@dschmidt/provider-google.ComputeReservationShareSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeReservationShareSettings.Initializer"></a>

```typescript
import { ComputeReservationShareSettings } from '@dschmidt/provider-google'

const computeReservationShareSettings: ComputeReservationShareSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservationShareSettings.property.projectMap">projectMap</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeReservationShareSettingsProjectMap">ComputeReservationShareSettingsProjectMap</a>[]</code> | project_map block. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationShareSettings.property.shareType">shareType</a></code> | <code>string</code> | Type of sharing for this shared-reservation Possible values: ["LOCAL", "SPECIFIC_PROJECTS"]. |

---

##### `projectMap`<sup>Optional</sup> <a name="projectMap" id="@dschmidt/provider-google.ComputeReservationShareSettings.property.projectMap"></a>

```typescript
public readonly projectMap: IResolvable | ComputeReservationShareSettingsProjectMap[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeReservationShareSettingsProjectMap">ComputeReservationShareSettingsProjectMap</a>[]

project_map block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#project_map ComputeReservation#project_map}

---

##### `shareType`<sup>Optional</sup> <a name="shareType" id="@dschmidt/provider-google.ComputeReservationShareSettings.property.shareType"></a>

```typescript
public readonly shareType: string;
```

- *Type:* string

Type of sharing for this shared-reservation Possible values: ["LOCAL", "SPECIFIC_PROJECTS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#share_type ComputeReservation#share_type}

---

### ComputeReservationShareSettingsProjectMap <a name="ComputeReservationShareSettingsProjectMap" id="@dschmidt/provider-google.ComputeReservationShareSettingsProjectMap"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeReservationShareSettingsProjectMap.Initializer"></a>

```typescript
import { ComputeReservationShareSettingsProjectMap } from '@dschmidt/provider-google'

const computeReservationShareSettingsProjectMap: ComputeReservationShareSettingsProjectMap = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservationShareSettingsProjectMap.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#id ComputeReservation#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationShareSettingsProjectMap.property.projectId">projectId</a></code> | <code>string</code> | The project id/number, should be same as the key of this project config in the project map. |

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.ComputeReservationShareSettingsProjectMap.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#id ComputeReservation#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.ComputeReservationShareSettingsProjectMap.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The project id/number, should be same as the key of this project config in the project map.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#project_id ComputeReservation#project_id}

---

### ComputeReservationSpecificReservation <a name="ComputeReservationSpecificReservation" id="@dschmidt/provider-google.ComputeReservationSpecificReservation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeReservationSpecificReservation.Initializer"></a>

```typescript
import { ComputeReservationSpecificReservation } from '@dschmidt/provider-google'

const computeReservationSpecificReservation: ComputeReservationSpecificReservation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservation.property.count">count</a></code> | <code>number</code> | The number of resources that are allocated. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservation.property.instanceProperties">instanceProperties</a></code> | <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties">ComputeReservationSpecificReservationInstanceProperties</a></code> | instance_properties block. |

---

##### `count`<sup>Required</sup> <a name="count" id="@dschmidt/provider-google.ComputeReservationSpecificReservation.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

The number of resources that are allocated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#count ComputeReservation#count}

---

##### `instanceProperties`<sup>Required</sup> <a name="instanceProperties" id="@dschmidt/provider-google.ComputeReservationSpecificReservation.property.instanceProperties"></a>

```typescript
public readonly instanceProperties: ComputeReservationSpecificReservationInstanceProperties;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties">ComputeReservationSpecificReservationInstanceProperties</a>

instance_properties block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#instance_properties ComputeReservation#instance_properties}

---

### ComputeReservationSpecificReservationInstanceProperties <a name="ComputeReservationSpecificReservationInstanceProperties" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties.Initializer"></a>

```typescript
import { ComputeReservationSpecificReservationInstanceProperties } from '@dschmidt/provider-google'

const computeReservationSpecificReservationInstanceProperties: ComputeReservationSpecificReservationInstanceProperties = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties.property.machineType">machineType</a></code> | <code>string</code> | The name of the machine type to reserve. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties.property.guestAccelerators">guestAccelerators</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators">ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators</a>[]</code> | guest_accelerators block. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties.property.localSsds">localSsds</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesLocalSsds">ComputeReservationSpecificReservationInstancePropertiesLocalSsds</a>[]</code> | local_ssds block. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | The minimum CPU platform for the reservation. |

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The name of the machine type to reserve.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#machine_type ComputeReservation#machine_type}

---

##### `guestAccelerators`<sup>Optional</sup> <a name="guestAccelerators" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties.property.guestAccelerators"></a>

```typescript
public readonly guestAccelerators: IResolvable | ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators">ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators</a>[]

guest_accelerators block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#guest_accelerators ComputeReservation#guest_accelerators}

---

##### `localSsds`<sup>Optional</sup> <a name="localSsds" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties.property.localSsds"></a>

```typescript
public readonly localSsds: IResolvable | ComputeReservationSpecificReservationInstancePropertiesLocalSsds[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesLocalSsds">ComputeReservationSpecificReservationInstancePropertiesLocalSsds</a>[]

local_ssds block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#local_ssds ComputeReservation#local_ssds}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstanceProperties.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

The minimum CPU platform for the reservation.

For example,
'"Intel Skylake"'. See
the CPU platform availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones)
for information on available CPU platforms.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#min_cpu_platform ComputeReservation#min_cpu_platform}

---

### ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators <a name="ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators.Initializer"></a>

```typescript
import { ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators } from '@dschmidt/provider-google'

const computeReservationSpecificReservationInstancePropertiesGuestAccelerators: ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators.property.acceleratorCount">acceleratorCount</a></code> | <code>number</code> | The number of the guest accelerator cards exposed to this instance. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators.property.acceleratorType">acceleratorType</a></code> | <code>string</code> | The full or partial URL of the accelerator type to attach to this instance. For example: 'projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100'. |

---

##### `acceleratorCount`<sup>Required</sup> <a name="acceleratorCount" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators.property.acceleratorCount"></a>

```typescript
public readonly acceleratorCount: number;
```

- *Type:* number

The number of the guest accelerator cards exposed to this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#accelerator_count ComputeReservation#accelerator_count}

---

##### `acceleratorType`<sup>Required</sup> <a name="acceleratorType" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesGuestAccelerators.property.acceleratorType"></a>

```typescript
public readonly acceleratorType: string;
```

- *Type:* string

The full or partial URL of the accelerator type to attach to this instance. For example: 'projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100'.

If you are creating an instance template, specify only the accelerator name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#accelerator_type ComputeReservation#accelerator_type}

---

### ComputeReservationSpecificReservationInstancePropertiesLocalSsds <a name="ComputeReservationSpecificReservationInstancePropertiesLocalSsds" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesLocalSsds"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesLocalSsds.Initializer"></a>

```typescript
import { ComputeReservationSpecificReservationInstancePropertiesLocalSsds } from '@dschmidt/provider-google'

const computeReservationSpecificReservationInstancePropertiesLocalSsds: ComputeReservationSpecificReservationInstancePropertiesLocalSsds = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesLocalSsds.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | The size of the disk in base-2 GB. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesLocalSsds.property.interface">interface</a></code> | <code>string</code> | The disk interface to use for attaching this disk. Default value: "SCSI" Possible values: ["SCSI", "NVME"]. |

---

##### `diskSizeGb`<sup>Required</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesLocalSsds.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

The size of the disk in base-2 GB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#disk_size_gb ComputeReservation#disk_size_gb}

---

##### `interface`<sup>Optional</sup> <a name="interface" id="@dschmidt/provider-google.ComputeReservationSpecificReservationInstancePropertiesLocalSsds.property.interface"></a>

```typescript
public readonly interface: string;
```

- *Type:* string

The disk interface to use for attaching this disk. Default value: "SCSI" Possible values: ["SCSI", "NVME"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#interface ComputeReservation#interface}

---

### ComputeReservationTimeouts <a name="ComputeReservationTimeouts" id="@dschmidt/provider-google.ComputeReservationTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeReservationTimeouts.Initializer"></a>

```typescript
import { ComputeReservationTimeouts } from '@dschmidt/provider-google'

const computeReservationTimeouts: ComputeReservationTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeReservationTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#create ComputeReservation#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#delete ComputeReservation#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeReservationTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#update ComputeReservation#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeReservationTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#create ComputeReservation#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeReservationTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#delete ComputeReservation#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeReservationTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_reservation#update ComputeReservation#update}.

---

### ComputeResourcePolicyConfig <a name="ComputeResourcePolicyConfig" id="@dschmidt/provider-google.ComputeResourcePolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.Initializer"></a>

```typescript
import { ComputeResourcePolicyConfig } from '@dschmidt/provider-google'

const computeResourcePolicyConfig: ComputeResourcePolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.name">name</a></code> | <code>string</code> | The name of the resource, provided by the client when initially creating the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.groupPlacementPolicy">groupPlacementPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy">ComputeResourcePolicyGroupPlacementPolicy</a></code> | group_placement_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#id ComputeResourcePolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.instanceSchedulePolicy">instanceSchedulePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy">ComputeResourcePolicyInstanceSchedulePolicy</a></code> | instance_schedule_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#project ComputeResourcePolicy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.region">region</a></code> | <code>string</code> | Region where resource policy resides. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.snapshotSchedulePolicy">snapshotSchedulePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy">ComputeResourcePolicySnapshotSchedulePolicy</a></code> | snapshot_schedule_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyTimeouts">ComputeResourcePolicyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the resource, provided by the client when initially creating the resource.

The resource name must be 1-63 characters long, and comply
with RFC1035. Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])'? which means the
first character must be a lowercase letter, and all following characters
must be a dash, lowercase letter, or digit, except the last character,
which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#name ComputeResourcePolicy#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#description ComputeResourcePolicy#description}

---

##### `groupPlacementPolicy`<sup>Optional</sup> <a name="groupPlacementPolicy" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.groupPlacementPolicy"></a>

```typescript
public readonly groupPlacementPolicy: ComputeResourcePolicyGroupPlacementPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy">ComputeResourcePolicyGroupPlacementPolicy</a>

group_placement_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#group_placement_policy ComputeResourcePolicy#group_placement_policy}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#id ComputeResourcePolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `instanceSchedulePolicy`<sup>Optional</sup> <a name="instanceSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.instanceSchedulePolicy"></a>

```typescript
public readonly instanceSchedulePolicy: ComputeResourcePolicyInstanceSchedulePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy">ComputeResourcePolicyInstanceSchedulePolicy</a>

instance_schedule_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#instance_schedule_policy ComputeResourcePolicy#instance_schedule_policy}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#project ComputeResourcePolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where resource policy resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#region ComputeResourcePolicy#region}

---

##### `snapshotSchedulePolicy`<sup>Optional</sup> <a name="snapshotSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.snapshotSchedulePolicy"></a>

```typescript
public readonly snapshotSchedulePolicy: ComputeResourcePolicySnapshotSchedulePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy">ComputeResourcePolicySnapshotSchedulePolicy</a>

snapshot_schedule_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#snapshot_schedule_policy ComputeResourcePolicy#snapshot_schedule_policy}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeResourcePolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeResourcePolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyTimeouts">ComputeResourcePolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#timeouts ComputeResourcePolicy#timeouts}

---

### ComputeResourcePolicyGroupPlacementPolicy <a name="ComputeResourcePolicyGroupPlacementPolicy" id="@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy.Initializer"></a>

```typescript
import { ComputeResourcePolicyGroupPlacementPolicy } from '@dschmidt/provider-google'

const computeResourcePolicyGroupPlacementPolicy: ComputeResourcePolicyGroupPlacementPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy.property.availabilityDomainCount">availabilityDomainCount</a></code> | <code>number</code> | The number of availability domains instances will be spread across. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy.property.collocation">collocation</a></code> | <code>string</code> | Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy.property.vmCount">vmCount</a></code> | <code>number</code> | Number of VMs in this placement group. |

---

##### `availabilityDomainCount`<sup>Optional</sup> <a name="availabilityDomainCount" id="@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy.property.availabilityDomainCount"></a>

```typescript
public readonly availabilityDomainCount: number;
```

- *Type:* number

The number of availability domains instances will be spread across.

If two instances are in different
availability domain, they will not be put in the same low latency network

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#availability_domain_count ComputeResourcePolicy#availability_domain_count}

---

##### `collocation`<sup>Optional</sup> <a name="collocation" id="@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy.property.collocation"></a>

```typescript
public readonly collocation: string;
```

- *Type:* string

Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.

Specify 'COLLOCATED' to enable collocation. Can only be specified with 'vm_count'. If compute instances are created
with a COLLOCATED policy, then exactly 'vm_count' instances must be created at the same time with the resource policy
attached. Possible values: ["COLLOCATED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#collocation ComputeResourcePolicy#collocation}

---

##### `vmCount`<sup>Optional</sup> <a name="vmCount" id="@dschmidt/provider-google.ComputeResourcePolicyGroupPlacementPolicy.property.vmCount"></a>

```typescript
public readonly vmCount: number;
```

- *Type:* number

Number of VMs in this placement group.

Google does not recommend that you use this field
unless you use a compact policy and you want your policy to work only if it contains this
exact number of VMs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#vm_count ComputeResourcePolicy#vm_count}

---

### ComputeResourcePolicyInstanceSchedulePolicy <a name="ComputeResourcePolicyInstanceSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.Initializer"></a>

```typescript
import { ComputeResourcePolicyInstanceSchedulePolicy } from '@dschmidt/provider-google'

const computeResourcePolicyInstanceSchedulePolicy: ComputeResourcePolicyInstanceSchedulePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.timeZone">timeZone</a></code> | <code>string</code> | Specifies the time zone to be used in interpreting the schedule. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.expirationTime">expirationTime</a></code> | <code>string</code> | The expiration time of the schedule. The timestamp is an RFC3339 string. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.startTime">startTime</a></code> | <code>string</code> | The start time of the schedule. The timestamp is an RFC3339 string. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.vmStartSchedule">vmStartSchedule</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule">ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule</a></code> | vm_start_schedule block. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.vmStopSchedule">vmStopSchedule</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule">ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule</a></code> | vm_stop_schedule block. |

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

Specifies the time zone to be used in interpreting the schedule.

The value of this field must be a time zone name
from the tz database: http://en.wikipedia.org/wiki/Tz_database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#time_zone ComputeResourcePolicy#time_zone}

---

##### `expirationTime`<sup>Optional</sup> <a name="expirationTime" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.expirationTime"></a>

```typescript
public readonly expirationTime: string;
```

- *Type:* string

The expiration time of the schedule. The timestamp is an RFC3339 string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#expiration_time ComputeResourcePolicy#expiration_time}

---

##### `startTime`<sup>Optional</sup> <a name="startTime" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

The start time of the schedule. The timestamp is an RFC3339 string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#start_time ComputeResourcePolicy#start_time}

---

##### `vmStartSchedule`<sup>Optional</sup> <a name="vmStartSchedule" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.vmStartSchedule"></a>

```typescript
public readonly vmStartSchedule: ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule">ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule</a>

vm_start_schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#vm_start_schedule ComputeResourcePolicy#vm_start_schedule}

---

##### `vmStopSchedule`<sup>Optional</sup> <a name="vmStopSchedule" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicy.property.vmStopSchedule"></a>

```typescript
public readonly vmStopSchedule: ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule">ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule</a>

vm_stop_schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#vm_stop_schedule ComputeResourcePolicy#vm_stop_schedule}

---

### ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule <a name="ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule.Initializer"></a>

```typescript
import { ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule } from '@dschmidt/provider-google'

const computeResourcePolicyInstanceSchedulePolicyVmStartSchedule: ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule.property.schedule">schedule</a></code> | <code>string</code> | Specifies the frequency for the operation, using the unix-cron format. |

---

##### `schedule`<sup>Required</sup> <a name="schedule" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

Specifies the frequency for the operation, using the unix-cron format.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#schedule ComputeResourcePolicy#schedule}

---

### ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule <a name="ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule.Initializer"></a>

```typescript
import { ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule } from '@dschmidt/provider-google'

const computeResourcePolicyInstanceSchedulePolicyVmStopSchedule: ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule.property.schedule">schedule</a></code> | <code>string</code> | Specifies the frequency for the operation, using the unix-cron format. |

---

##### `schedule`<sup>Required</sup> <a name="schedule" id="@dschmidt/provider-google.ComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

Specifies the frequency for the operation, using the unix-cron format.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#schedule ComputeResourcePolicy#schedule}

---

### ComputeResourcePolicySnapshotSchedulePolicy <a name="ComputeResourcePolicySnapshotSchedulePolicy" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy.Initializer"></a>

```typescript
import { ComputeResourcePolicySnapshotSchedulePolicy } from '@dschmidt/provider-google'

const computeResourcePolicySnapshotSchedulePolicy: ComputeResourcePolicySnapshotSchedulePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy.property.schedule">schedule</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule">ComputeResourcePolicySnapshotSchedulePolicySchedule</a></code> | schedule block. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy.property.retentionPolicy">retentionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy">ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy</a></code> | retention_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy.property.snapshotProperties">snapshotProperties</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties">ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties</a></code> | snapshot_properties block. |

---

##### `schedule`<sup>Required</sup> <a name="schedule" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy.property.schedule"></a>

```typescript
public readonly schedule: ComputeResourcePolicySnapshotSchedulePolicySchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule">ComputeResourcePolicySnapshotSchedulePolicySchedule</a>

schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#schedule ComputeResourcePolicy#schedule}

---

##### `retentionPolicy`<sup>Optional</sup> <a name="retentionPolicy" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy.property.retentionPolicy"></a>

```typescript
public readonly retentionPolicy: ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy">ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy</a>

retention_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#retention_policy ComputeResourcePolicy#retention_policy}

---

##### `snapshotProperties`<sup>Optional</sup> <a name="snapshotProperties" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicy.property.snapshotProperties"></a>

```typescript
public readonly snapshotProperties: ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties">ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties</a>

snapshot_properties block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#snapshot_properties ComputeResourcePolicy#snapshot_properties}

---

### ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy <a name="ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy.Initializer"></a>

```typescript
import { ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy } from '@dschmidt/provider-google'

const computeResourcePolicySnapshotSchedulePolicyRetentionPolicy: ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy.property.maxRetentionDays">maxRetentionDays</a></code> | <code>number</code> | Maximum age of the snapshot that is allowed to be kept. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy.property.onSourceDiskDelete">onSourceDiskDelete</a></code> | <code>string</code> | Specifies the behavior to apply to scheduled snapshots when the source disk is deleted. |

---

##### `maxRetentionDays`<sup>Required</sup> <a name="maxRetentionDays" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy.property.maxRetentionDays"></a>

```typescript
public readonly maxRetentionDays: number;
```

- *Type:* number

Maximum age of the snapshot that is allowed to be kept.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#max_retention_days ComputeResourcePolicy#max_retention_days}

---

##### `onSourceDiskDelete`<sup>Optional</sup> <a name="onSourceDiskDelete" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy.property.onSourceDiskDelete"></a>

```typescript
public readonly onSourceDiskDelete: string;
```

- *Type:* string

Specifies the behavior to apply to scheduled snapshots when the source disk is deleted.

Default value: "KEEP_AUTO_SNAPSHOTS" Possible values: ["KEEP_AUTO_SNAPSHOTS", "APPLY_RETENTION_POLICY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#on_source_disk_delete ComputeResourcePolicy#on_source_disk_delete}

---

### ComputeResourcePolicySnapshotSchedulePolicySchedule <a name="ComputeResourcePolicySnapshotSchedulePolicySchedule" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule.Initializer"></a>

```typescript
import { ComputeResourcePolicySnapshotSchedulePolicySchedule } from '@dschmidt/provider-google'

const computeResourcePolicySnapshotSchedulePolicySchedule: ComputeResourcePolicySnapshotSchedulePolicySchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule.property.dailySchedule">dailySchedule</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule">ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule</a></code> | daily_schedule block. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule.property.hourlySchedule">hourlySchedule</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule">ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule</a></code> | hourly_schedule block. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule.property.weeklySchedule">weeklySchedule</a></code> | <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule">ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule</a></code> | weekly_schedule block. |

---

##### `dailySchedule`<sup>Optional</sup> <a name="dailySchedule" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule.property.dailySchedule"></a>

```typescript
public readonly dailySchedule: ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule">ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule</a>

daily_schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#daily_schedule ComputeResourcePolicy#daily_schedule}

---

##### `hourlySchedule`<sup>Optional</sup> <a name="hourlySchedule" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule.property.hourlySchedule"></a>

```typescript
public readonly hourlySchedule: ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule">ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule</a>

hourly_schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#hourly_schedule ComputeResourcePolicy#hourly_schedule}

---

##### `weeklySchedule`<sup>Optional</sup> <a name="weeklySchedule" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySchedule.property.weeklySchedule"></a>

```typescript
public readonly weeklySchedule: ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule">ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule</a>

weekly_schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#weekly_schedule ComputeResourcePolicy#weekly_schedule}

---

### ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule <a name="ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule.Initializer"></a>

```typescript
import { ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule } from '@dschmidt/provider-google'

const computeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule: ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule.property.daysInCycle">daysInCycle</a></code> | <code>number</code> | The number of days between snapshots. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule.property.startTime">startTime</a></code> | <code>string</code> | This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. |

---

##### `daysInCycle`<sup>Required</sup> <a name="daysInCycle" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule.property.daysInCycle"></a>

```typescript
public readonly daysInCycle: number;
```

- *Type:* number

The number of days between snapshots.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#days_in_cycle ComputeResourcePolicy#days_in_cycle}

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00.

For example,
both 13:00-5 and 08:00 are valid.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#start_time ComputeResourcePolicy#start_time}

---

### ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule <a name="ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule.Initializer"></a>

```typescript
import { ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule } from '@dschmidt/provider-google'

const computeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule: ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule.property.hoursInCycle">hoursInCycle</a></code> | <code>number</code> | The number of hours between snapshots. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule.property.startTime">startTime</a></code> | <code>string</code> | Time within the window to start the operations. |

---

##### `hoursInCycle`<sup>Required</sup> <a name="hoursInCycle" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule.property.hoursInCycle"></a>

```typescript
public readonly hoursInCycle: number;
```

- *Type:* number

The number of hours between snapshots.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#hours_in_cycle ComputeResourcePolicy#hours_in_cycle}

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

Time within the window to start the operations.

It must be in an hourly format "HH:MM",
where HH : [00-23] and MM : [00] GMT.
eg: 21:00

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#start_time ComputeResourcePolicy#start_time}

---

### ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule <a name="ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule.Initializer"></a>

```typescript
import { ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule } from '@dschmidt/provider-google'

const computeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule: ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule.property.dayOfWeeks">dayOfWeeks</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks">ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks</a>[]</code> | day_of_weeks block. |

---

##### `dayOfWeeks`<sup>Required</sup> <a name="dayOfWeeks" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule.property.dayOfWeeks"></a>

```typescript
public readonly dayOfWeeks: IResolvable | ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks">ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks</a>[]

day_of_weeks block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#day_of_weeks ComputeResourcePolicy#day_of_weeks}

---

### ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks <a name="ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks.Initializer"></a>

```typescript
import { ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks } from '@dschmidt/provider-google'

const computeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks: ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks.property.day">day</a></code> | <code>string</code> | The day of the week to create the snapshot. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks.property.startTime">startTime</a></code> | <code>string</code> | Time within the window to start the operations. |

---

##### `day`<sup>Required</sup> <a name="day" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks.property.day"></a>

```typescript
public readonly day: string;
```

- *Type:* string

The day of the week to create the snapshot.

e.g. MONDAY Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#day ComputeResourcePolicy#day}

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

Time within the window to start the operations.

It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#start_time ComputeResourcePolicy#start_time}

---

### ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties <a name="ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties.Initializer"></a>

```typescript
import { ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties } from '@dschmidt/provider-google'

const computeResourcePolicySnapshotSchedulePolicySnapshotProperties: ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties.property.guestFlush">guestFlush</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to perform a 'guest aware' snapshot. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key-value pairs. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties.property.storageLocations">storageLocations</a></code> | <code>string[]</code> | Cloud Storage bucket location to store the auto snapshot (regional or multi-regional). |

---

##### `guestFlush`<sup>Optional</sup> <a name="guestFlush" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties.property.guestFlush"></a>

```typescript
public readonly guestFlush: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to perform a 'guest aware' snapshot.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#guest_flush ComputeResourcePolicy#guest_flush}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key-value pairs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#labels ComputeResourcePolicy#labels}

---

##### `storageLocations`<sup>Optional</sup> <a name="storageLocations" id="@dschmidt/provider-google.ComputeResourcePolicySnapshotSchedulePolicySnapshotProperties.property.storageLocations"></a>

```typescript
public readonly storageLocations: string[];
```

- *Type:* string[]

Cloud Storage bucket location to store the auto snapshot (regional or multi-regional).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#storage_locations ComputeResourcePolicy#storage_locations}

---

### ComputeResourcePolicyTimeouts <a name="ComputeResourcePolicyTimeouts" id="@dschmidt/provider-google.ComputeResourcePolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeResourcePolicyTimeouts.Initializer"></a>

```typescript
import { ComputeResourcePolicyTimeouts } from '@dschmidt/provider-google'

const computeResourcePolicyTimeouts: ComputeResourcePolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#create ComputeResourcePolicy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeResourcePolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#delete ComputeResourcePolicy#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeResourcePolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#create ComputeResourcePolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeResourcePolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_resource_policy#delete ComputeResourcePolicy#delete}.

---

### ComputeRouteConfig <a name="ComputeRouteConfig" id="@dschmidt/provider-google.ComputeRouteConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouteConfig.Initializer"></a>

```typescript
import { ComputeRouteConfig } from '@dschmidt/provider-google'

const computeRouteConfig: ComputeRouteConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.destRange">destRange</a></code> | <code>string</code> | The destination range of outgoing packets that this route applies to. Only IPv4 is supported. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.network">network</a></code> | <code>string</code> | The network that this route applies to. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#id ComputeRoute#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.nextHopGateway">nextHopGateway</a></code> | <code>string</code> | URL to a gateway that should handle matching packets. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.nextHopIlb">nextHopIlb</a></code> | <code>string</code> | The IP address or URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.nextHopInstance">nextHopInstance</a></code> | <code>string</code> | URL to an instance that should handle matching packets. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.nextHopInstanceZone">nextHopInstanceZone</a></code> | <code>string</code> | The zone of the instance specified in next_hop_instance. Omit if next_hop_instance is specified as a URL. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.nextHopIp">nextHopIp</a></code> | <code>string</code> | Network IP address of an instance that should handle matching packets. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.nextHopVpnTunnel">nextHopVpnTunnel</a></code> | <code>string</code> | URL to a VpnTunnel that should handle matching packets. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.priority">priority</a></code> | <code>number</code> | The priority of this route. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#project ComputeRoute#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.tags">tags</a></code> | <code>string[]</code> | A list of instance tags to which this route applies. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouteTimeouts">ComputeRouteTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRouteConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRouteConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRouteConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRouteConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRouteConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRouteConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRouteConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `destRange`<sup>Required</sup> <a name="destRange" id="@dschmidt/provider-google.ComputeRouteConfig.property.destRange"></a>

```typescript
public readonly destRange: string;
```

- *Type:* string

The destination range of outgoing packets that this route applies to. Only IPv4 is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#dest_range ComputeRoute#dest_range}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouteConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the
last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#name ComputeRoute#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeRouteConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The network that this route applies to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#network ComputeRoute#network}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRouteConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#description ComputeRoute#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouteConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#id ComputeRoute#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `nextHopGateway`<sup>Optional</sup> <a name="nextHopGateway" id="@dschmidt/provider-google.ComputeRouteConfig.property.nextHopGateway"></a>

```typescript
public readonly nextHopGateway: string;
```

- *Type:* string

URL to a gateway that should handle matching packets.

Currently, you can only specify the internet gateway, using a full or
partial valid URL:
'https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway'
'projects/project/global/gateways/default-internet-gateway'
'global/gateways/default-internet-gateway'
The string 'default-internet-gateway'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#next_hop_gateway ComputeRoute#next_hop_gateway}

---

##### `nextHopIlb`<sup>Optional</sup> <a name="nextHopIlb" id="@dschmidt/provider-google.ComputeRouteConfig.property.nextHopIlb"></a>

```typescript
public readonly nextHopIlb: string;
```

- *Type:* string

The IP address or URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets.

With the GA provider you can only specify the forwarding
rule as a partial or full URL. For example, the following
are all valid values:
10.128.0.56
https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule
regions/region/forwardingRules/forwardingRule

When the beta provider, you can also specify the IP address
of a forwarding rule from the same VPC or any peered VPC.

Note that this can only be used when the destinationRange is
a public (non-RFC 1918) IP CIDR range.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#next_hop_ilb ComputeRoute#next_hop_ilb}

---

##### `nextHopInstance`<sup>Optional</sup> <a name="nextHopInstance" id="@dschmidt/provider-google.ComputeRouteConfig.property.nextHopInstance"></a>

```typescript
public readonly nextHopInstance: string;
```

- *Type:* string

URL to an instance that should handle matching packets.

You can specify this as a full or partial URL. For example:
'https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance'
'projects/project/zones/zone/instances/instance'
'zones/zone/instances/instance'
Just the instance name, with the zone in 'next_hop_instance_zone'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#next_hop_instance ComputeRoute#next_hop_instance}

---

##### `nextHopInstanceZone`<sup>Optional</sup> <a name="nextHopInstanceZone" id="@dschmidt/provider-google.ComputeRouteConfig.property.nextHopInstanceZone"></a>

```typescript
public readonly nextHopInstanceZone: string;
```

- *Type:* string

The zone of the instance specified in next_hop_instance. Omit if next_hop_instance is specified as a URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#next_hop_instance_zone ComputeRoute#next_hop_instance_zone}

---

##### `nextHopIp`<sup>Optional</sup> <a name="nextHopIp" id="@dschmidt/provider-google.ComputeRouteConfig.property.nextHopIp"></a>

```typescript
public readonly nextHopIp: string;
```

- *Type:* string

Network IP address of an instance that should handle matching packets.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#next_hop_ip ComputeRoute#next_hop_ip}

---

##### `nextHopVpnTunnel`<sup>Optional</sup> <a name="nextHopVpnTunnel" id="@dschmidt/provider-google.ComputeRouteConfig.property.nextHopVpnTunnel"></a>

```typescript
public readonly nextHopVpnTunnel: string;
```

- *Type:* string

URL to a VpnTunnel that should handle matching packets.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#next_hop_vpn_tunnel ComputeRoute#next_hop_vpn_tunnel}

---

##### `priority`<sup>Optional</sup> <a name="priority" id="@dschmidt/provider-google.ComputeRouteConfig.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

The priority of this route.

Priority is used to break ties in cases
where there is more than one matching route of equal prefix length.

In the case of two routes with equal prefix length, the one with the
lowest-numbered priority value wins.

Default value is 1000. Valid range is 0 through 65535.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#priority ComputeRoute#priority}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRouteConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#project ComputeRoute#project}.

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ComputeRouteConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

A list of instance tags to which this route applies.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#tags ComputeRoute#tags}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRouteConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouteTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouteTimeouts">ComputeRouteTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#timeouts ComputeRoute#timeouts}

---

### ComputeRouterBgp <a name="ComputeRouterBgp" id="@dschmidt/provider-google.ComputeRouterBgp"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterBgp.Initializer"></a>

```typescript
import { ComputeRouterBgp } from '@dschmidt/provider-google'

const computeRouterBgp: ComputeRouterBgp = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterBgp.property.asn">asn</a></code> | <code>number</code> | Local BGP Autonomous System Number (ASN). |
| <code><a href="#@dschmidt/provider-google.ComputeRouterBgp.property.advertisedGroups">advertisedGroups</a></code> | <code>string[]</code> | User-specified list of prefix groups to advertise in custom mode. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterBgp.property.advertisedIpRanges">advertisedIpRanges</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouterBgpAdvertisedIpRanges">ComputeRouterBgpAdvertisedIpRanges</a>[]</code> | advertised_ip_ranges block. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterBgp.property.advertiseMode">advertiseMode</a></code> | <code>string</code> | User-specified flag to indicate which mode to use for advertisement. Default value: "DEFAULT" Possible values: ["DEFAULT", "CUSTOM"]. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterBgp.property.keepaliveInterval">keepaliveInterval</a></code> | <code>number</code> | The interval in seconds between BGP keepalive messages that are sent to the peer. |

---

##### `asn`<sup>Required</sup> <a name="asn" id="@dschmidt/provider-google.ComputeRouterBgp.property.asn"></a>

```typescript
public readonly asn: number;
```

- *Type:* number

Local BGP Autonomous System Number (ASN).

Must be an RFC6996
private ASN, either 16-bit or 32-bit. The value will be fixed for
this router resource. All VPN tunnels that link to this router
will have the same local ASN.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#asn ComputeRouter#asn}

---

##### `advertisedGroups`<sup>Optional</sup> <a name="advertisedGroups" id="@dschmidt/provider-google.ComputeRouterBgp.property.advertisedGroups"></a>

```typescript
public readonly advertisedGroups: string[];
```

- *Type:* string[]

User-specified list of prefix groups to advertise in custom mode.

This field can only be populated if advertiseMode is CUSTOM and
is advertised to all peers of the router. These groups will be
advertised in addition to any specified prefixes. Leave this field
blank to advertise no custom groups.

This enum field has the one valid value: ALL_SUBNETS

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#advertised_groups ComputeRouter#advertised_groups}

---

##### `advertisedIpRanges`<sup>Optional</sup> <a name="advertisedIpRanges" id="@dschmidt/provider-google.ComputeRouterBgp.property.advertisedIpRanges"></a>

```typescript
public readonly advertisedIpRanges: IResolvable | ComputeRouterBgpAdvertisedIpRanges[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterBgpAdvertisedIpRanges">ComputeRouterBgpAdvertisedIpRanges</a>[]

advertised_ip_ranges block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#advertised_ip_ranges ComputeRouter#advertised_ip_ranges}

---

##### `advertiseMode`<sup>Optional</sup> <a name="advertiseMode" id="@dschmidt/provider-google.ComputeRouterBgp.property.advertiseMode"></a>

```typescript
public readonly advertiseMode: string;
```

- *Type:* string

User-specified flag to indicate which mode to use for advertisement. Default value: "DEFAULT" Possible values: ["DEFAULT", "CUSTOM"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#advertise_mode ComputeRouter#advertise_mode}

---

##### `keepaliveInterval`<sup>Optional</sup> <a name="keepaliveInterval" id="@dschmidt/provider-google.ComputeRouterBgp.property.keepaliveInterval"></a>

```typescript
public readonly keepaliveInterval: number;
```

- *Type:* number

The interval in seconds between BGP keepalive messages that are sent to the peer.

Hold time is three times the interval at which keepalive messages are sent, and the hold time is the
maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer.
BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for
the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#keepalive_interval ComputeRouter#keepalive_interval}

---

### ComputeRouterBgpAdvertisedIpRanges <a name="ComputeRouterBgpAdvertisedIpRanges" id="@dschmidt/provider-google.ComputeRouterBgpAdvertisedIpRanges"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterBgpAdvertisedIpRanges.Initializer"></a>

```typescript
import { ComputeRouterBgpAdvertisedIpRanges } from '@dschmidt/provider-google'

const computeRouterBgpAdvertisedIpRanges: ComputeRouterBgpAdvertisedIpRanges = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterBgpAdvertisedIpRanges.property.range">range</a></code> | <code>string</code> | The IP range to advertise. The value must be a CIDR-formatted string. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterBgpAdvertisedIpRanges.property.description">description</a></code> | <code>string</code> | User-specified description for the IP range. |

---

##### `range`<sup>Required</sup> <a name="range" id="@dschmidt/provider-google.ComputeRouterBgpAdvertisedIpRanges.property.range"></a>

```typescript
public readonly range: string;
```

- *Type:* string

The IP range to advertise. The value must be a CIDR-formatted string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#range ComputeRouter#range}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRouterBgpAdvertisedIpRanges.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

User-specified description for the IP range.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#description ComputeRouter#description}

---

### ComputeRouterConfig <a name="ComputeRouterConfig" id="@dschmidt/provider-google.ComputeRouterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterConfig.Initializer"></a>

```typescript
import { ComputeRouterConfig } from '@dschmidt/provider-google'

const computeRouterConfig: ComputeRouterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.network">network</a></code> | <code>string</code> | A reference to the network to which this router belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.bgp">bgp</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterBgp">ComputeRouterBgp</a></code> | bgp block. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.encryptedInterconnectRouter">encryptedInterconnectRouter</a></code> | <code>boolean \| cdktf.IResolvable</code> | Field to indicate if a router is dedicated to use with encrypted Interconnect Attachment (IPsec-encrypted Cloud Interconnect feature). |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#id ComputeRouter#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#project ComputeRouter#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.region">region</a></code> | <code>string</code> | Region where the router resides. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterTimeouts">ComputeRouterTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRouterConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRouterConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRouterConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRouterConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRouterConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRouterConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRouterConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouterConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

The name must be 1-63 characters long, and
comply with RFC1035. Specifically, the name must be 1-63 characters
long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?'
which means the first character must be a lowercase letter, and all
following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#name ComputeRouter#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeRouterConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

A reference to the network to which this router belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#network ComputeRouter#network}

---

##### `bgp`<sup>Optional</sup> <a name="bgp" id="@dschmidt/provider-google.ComputeRouterConfig.property.bgp"></a>

```typescript
public readonly bgp: ComputeRouterBgp;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterBgp">ComputeRouterBgp</a>

bgp block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#bgp ComputeRouter#bgp}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRouterConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#description ComputeRouter#description}

---

##### `encryptedInterconnectRouter`<sup>Optional</sup> <a name="encryptedInterconnectRouter" id="@dschmidt/provider-google.ComputeRouterConfig.property.encryptedInterconnectRouter"></a>

```typescript
public readonly encryptedInterconnectRouter: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Field to indicate if a router is dedicated to use with encrypted Interconnect Attachment (IPsec-encrypted Cloud Interconnect feature).

Not currently available publicly.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#encrypted_interconnect_router ComputeRouter#encrypted_interconnect_router}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#id ComputeRouter#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRouterConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#project ComputeRouter#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRouterConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where the router resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#region ComputeRouter#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRouterConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouterTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterTimeouts">ComputeRouterTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#timeouts ComputeRouter#timeouts}

---

### ComputeRouterInterfaceConfig <a name="ComputeRouterInterfaceConfig" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.Initializer"></a>

```typescript
import { ComputeRouterInterfaceConfig } from '@dschmidt/provider-google'

const computeRouterInterfaceConfig: ComputeRouterInterfaceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.name">name</a></code> | <code>string</code> | A unique name for the interface, required by GCE. Changing this forces a new interface to be created. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.router">router</a></code> | <code>string</code> | The name of the router this interface will be attached to. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#id ComputeRouterInterface#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.interconnectAttachment">interconnectAttachment</a></code> | <code>string</code> | The name or resource link to the VLAN interconnect for this interface. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.ipRange">ipRange</a></code> | <code>string</code> | IP address and range of the interface. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which this interface's router belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.region">region</a></code> | <code>string</code> | The region this interface's router sits in. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceTimeouts">ComputeRouterInterfaceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.vpnTunnel">vpnTunnel</a></code> | <code>string</code> | The name or resource link to the VPN tunnel this interface will be linked to. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A unique name for the interface, required by GCE. Changing this forces a new interface to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#name ComputeRouterInterface#name}

---

##### `router`<sup>Required</sup> <a name="router" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

The name of the router this interface will be attached to.

Changing this forces a new interface to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#router ComputeRouterInterface#router}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#id ComputeRouterInterface#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `interconnectAttachment`<sup>Optional</sup> <a name="interconnectAttachment" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.interconnectAttachment"></a>

```typescript
public readonly interconnectAttachment: string;
```

- *Type:* string

The name or resource link to the VLAN interconnect for this interface.

Changing this forces a new interface to be created. Only one of vpn_tunnel and interconnect_attachment can be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#interconnect_attachment ComputeRouterInterface#interconnect_attachment}

---

##### `ipRange`<sup>Optional</sup> <a name="ipRange" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.ipRange"></a>

```typescript
public readonly ipRange: string;
```

- *Type:* string

IP address and range of the interface.

The IP range must be in the RFC3927 link-local IP space. Changing this forces a new interface to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#ip_range ComputeRouterInterface#ip_range}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which this interface's router belongs.

If it is not provided, the provider project is used. Changing this forces a new interface to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#project ComputeRouterInterface#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region this interface's router sits in.

If not specified, the project region will be used. Changing this forces a new interface to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#region ComputeRouterInterface#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouterInterfaceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterInterfaceTimeouts">ComputeRouterInterfaceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#timeouts ComputeRouterInterface#timeouts}

---

##### `vpnTunnel`<sup>Optional</sup> <a name="vpnTunnel" id="@dschmidt/provider-google.ComputeRouterInterfaceConfig.property.vpnTunnel"></a>

```typescript
public readonly vpnTunnel: string;
```

- *Type:* string

The name or resource link to the VPN tunnel this interface will be linked to.

Changing this forces a new interface to be created. Only one of vpn_tunnel and interconnect_attachment can be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#vpn_tunnel ComputeRouterInterface#vpn_tunnel}

---

### ComputeRouterInterfaceTimeouts <a name="ComputeRouterInterfaceTimeouts" id="@dschmidt/provider-google.ComputeRouterInterfaceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterInterfaceTimeouts.Initializer"></a>

```typescript
import { ComputeRouterInterfaceTimeouts } from '@dschmidt/provider-google'

const computeRouterInterfaceTimeouts: ComputeRouterInterfaceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#create ComputeRouterInterface#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterInterfaceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#delete ComputeRouterInterface#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRouterInterfaceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#create ComputeRouterInterface#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRouterInterfaceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_interface#delete ComputeRouterInterface#delete}.

---

### ComputeRouterNatConfig <a name="ComputeRouterNatConfig" id="@dschmidt/provider-google.ComputeRouterNatConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterNatConfig.Initializer"></a>

```typescript
import { ComputeRouterNatConfig } from '@dschmidt/provider-google'

const computeRouterNatConfig: ComputeRouterNatConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.name">name</a></code> | <code>string</code> | Name of the NAT service. The name must be 1-63 characters long and comply with RFC1035. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.natIpAllocateOption">natIpAllocateOption</a></code> | <code>string</code> | How external IPs should be allocated for this NAT. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.router">router</a></code> | <code>string</code> | The name of the Cloud Router in which this NAT will be configured. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.sourceSubnetworkIpRangesToNat">sourceSubnetworkIpRangesToNat</a></code> | <code>string</code> | How NAT should be configured per Subnetwork. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.drainNatIps">drainNatIps</a></code> | <code>string[]</code> | A list of URLs of the IP resources to be drained. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.enableDynamicPortAllocation">enableDynamicPortAllocation</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enable Dynamic Port Allocation. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.enableEndpointIndependentMapping">enableEndpointIndependentMapping</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies if endpoint independent mapping is enabled. This is enabled by default. For more information see the [official documentation](https://cloud.google.com/nat/docs/overview#specs-rfcs). |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.icmpIdleTimeoutSec">icmpIdleTimeoutSec</a></code> | <code>number</code> | Timeout (in seconds) for ICMP connections. Defaults to 30s if not set. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#id ComputeRouterNat#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterNatLogConfig">ComputeRouterNatLogConfig</a></code> | log_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.maxPortsPerVm">maxPortsPerVm</a></code> | <code>number</code> | Maximum number of ports allocated to a VM from this NAT. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.minPortsPerVm">minPortsPerVm</a></code> | <code>number</code> | Minimum number of ports allocated to a VM from this NAT. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.natIps">natIps</a></code> | <code>string[]</code> | Self-links of NAT IPs. Only valid if natIpAllocateOption is set to MANUAL_ONLY. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#project ComputeRouterNat#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.region">region</a></code> | <code>string</code> | Region where the router and NAT reside. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.subnetwork">subnetwork</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouterNatSubnetwork">ComputeRouterNatSubnetwork</a>[]</code> | subnetwork block. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.tcpEstablishedIdleTimeoutSec">tcpEstablishedIdleTimeoutSec</a></code> | <code>number</code> | Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.tcpTransitoryIdleTimeoutSec">tcpTransitoryIdleTimeoutSec</a></code> | <code>number</code> | Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterNatTimeouts">ComputeRouterNatTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatConfig.property.udpIdleTimeoutSec">udpIdleTimeoutSec</a></code> | <code>number</code> | Timeout (in seconds) for UDP connections. Defaults to 30s if not set. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the NAT service. The name must be 1-63 characters long and comply with RFC1035.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#name ComputeRouterNat#name}

---

##### `natIpAllocateOption`<sup>Required</sup> <a name="natIpAllocateOption" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.natIpAllocateOption"></a>

```typescript
public readonly natIpAllocateOption: string;
```

- *Type:* string

How external IPs should be allocated for this NAT.

Valid values are
'AUTO_ONLY' for only allowing NAT IPs allocated by Google Cloud
Platform, or 'MANUAL_ONLY' for only user-allocated NAT IP addresses. Possible values: ["MANUAL_ONLY", "AUTO_ONLY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#nat_ip_allocate_option ComputeRouterNat#nat_ip_allocate_option}

---

##### `router`<sup>Required</sup> <a name="router" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

The name of the Cloud Router in which this NAT will be configured.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#router ComputeRouterNat#router}

---

##### `sourceSubnetworkIpRangesToNat`<sup>Required</sup> <a name="sourceSubnetworkIpRangesToNat" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.sourceSubnetworkIpRangesToNat"></a>

```typescript
public readonly sourceSubnetworkIpRangesToNat: string;
```

- *Type:* string

How NAT should be configured per Subnetwork.

If 'ALL_SUBNETWORKS_ALL_IP_RANGES', all of the
IP ranges in every Subnetwork are allowed to Nat.
If 'ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES', all of the primary IP
ranges in every Subnetwork are allowed to Nat.
'LIST_OF_SUBNETWORKS': A list of Subnetworks are allowed to Nat
(specified in the field subnetwork below). Note that if this field
contains ALL_SUBNETWORKS_ALL_IP_RANGES or
ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any
other RouterNat section in any Router for this network in this region. Possible values: ["ALL_SUBNETWORKS_ALL_IP_RANGES", "ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES", "LIST_OF_SUBNETWORKS"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#source_subnetwork_ip_ranges_to_nat ComputeRouterNat#source_subnetwork_ip_ranges_to_nat}

---

##### `drainNatIps`<sup>Optional</sup> <a name="drainNatIps" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.drainNatIps"></a>

```typescript
public readonly drainNatIps: string[];
```

- *Type:* string[]

A list of URLs of the IP resources to be drained.

These IPs must be
valid static external IPs that have been assigned to the NAT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#drain_nat_ips ComputeRouterNat#drain_nat_ips}

---

##### `enableDynamicPortAllocation`<sup>Optional</sup> <a name="enableDynamicPortAllocation" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.enableDynamicPortAllocation"></a>

```typescript
public readonly enableDynamicPortAllocation: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enable Dynamic Port Allocation.

If minPortsPerVm is set, minPortsPerVm must be set to a power of two greater than or equal to 32.
If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
If maxPortsPerVm is set, maxPortsPerVm must be set to a power of two greater than minPortsPerVm.
If maxPortsPerVm is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.

Mutually exclusive with enableEndpointIndependentMapping.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#enable_dynamic_port_allocation ComputeRouterNat#enable_dynamic_port_allocation}

---

##### `enableEndpointIndependentMapping`<sup>Optional</sup> <a name="enableEndpointIndependentMapping" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.enableEndpointIndependentMapping"></a>

```typescript
public readonly enableEndpointIndependentMapping: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies if endpoint independent mapping is enabled. This is enabled by default. For more information see the [official documentation](https://cloud.google.com/nat/docs/overview#specs-rfcs).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#enable_endpoint_independent_mapping ComputeRouterNat#enable_endpoint_independent_mapping}

---

##### `icmpIdleTimeoutSec`<sup>Optional</sup> <a name="icmpIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.icmpIdleTimeoutSec"></a>

```typescript
public readonly icmpIdleTimeoutSec: number;
```

- *Type:* number

Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#icmp_idle_timeout_sec ComputeRouterNat#icmp_idle_timeout_sec}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#id ComputeRouterNat#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `logConfig`<sup>Optional</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeRouterNatLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterNatLogConfig">ComputeRouterNatLogConfig</a>

log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#log_config ComputeRouterNat#log_config}

---

##### `maxPortsPerVm`<sup>Optional</sup> <a name="maxPortsPerVm" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.maxPortsPerVm"></a>

```typescript
public readonly maxPortsPerVm: number;
```

- *Type:* number

Maximum number of ports allocated to a VM from this NAT.

This field can only be set when enableDynamicPortAllocation is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#max_ports_per_vm ComputeRouterNat#max_ports_per_vm}

---

##### `minPortsPerVm`<sup>Optional</sup> <a name="minPortsPerVm" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.minPortsPerVm"></a>

```typescript
public readonly minPortsPerVm: number;
```

- *Type:* number

Minimum number of ports allocated to a VM from this NAT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#min_ports_per_vm ComputeRouterNat#min_ports_per_vm}

---

##### `natIps`<sup>Optional</sup> <a name="natIps" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.natIps"></a>

```typescript
public readonly natIps: string[];
```

- *Type:* string[]

Self-links of NAT IPs. Only valid if natIpAllocateOption is set to MANUAL_ONLY.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#nat_ips ComputeRouterNat#nat_ips}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#project ComputeRouterNat#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where the router and NAT reside.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#region ComputeRouterNat#region}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: IResolvable | ComputeRouterNatSubnetwork[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterNatSubnetwork">ComputeRouterNatSubnetwork</a>[]

subnetwork block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#subnetwork ComputeRouterNat#subnetwork}

---

##### `tcpEstablishedIdleTimeoutSec`<sup>Optional</sup> <a name="tcpEstablishedIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.tcpEstablishedIdleTimeoutSec"></a>

```typescript
public readonly tcpEstablishedIdleTimeoutSec: number;
```

- *Type:* number

Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#tcp_established_idle_timeout_sec ComputeRouterNat#tcp_established_idle_timeout_sec}

---

##### `tcpTransitoryIdleTimeoutSec`<sup>Optional</sup> <a name="tcpTransitoryIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.tcpTransitoryIdleTimeoutSec"></a>

```typescript
public readonly tcpTransitoryIdleTimeoutSec: number;
```

- *Type:* number

Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#tcp_transitory_idle_timeout_sec ComputeRouterNat#tcp_transitory_idle_timeout_sec}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouterNatTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterNatTimeouts">ComputeRouterNatTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#timeouts ComputeRouterNat#timeouts}

---

##### `udpIdleTimeoutSec`<sup>Optional</sup> <a name="udpIdleTimeoutSec" id="@dschmidt/provider-google.ComputeRouterNatConfig.property.udpIdleTimeoutSec"></a>

```typescript
public readonly udpIdleTimeoutSec: number;
```

- *Type:* number

Timeout (in seconds) for UDP connections. Defaults to 30s if not set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#udp_idle_timeout_sec ComputeRouterNat#udp_idle_timeout_sec}

---

### ComputeRouterNatLogConfig <a name="ComputeRouterNatLogConfig" id="@dschmidt/provider-google.ComputeRouterNatLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterNatLogConfig.Initializer"></a>

```typescript
import { ComputeRouterNatLogConfig } from '@dschmidt/provider-google'

const computeRouterNatLogConfig: ComputeRouterNatLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatLogConfig.property.enable">enable</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether or not to export logs. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatLogConfig.property.filter">filter</a></code> | <code>string</code> | Specifies the desired filtering of logs on this NAT. Possible values: ["ERRORS_ONLY", "TRANSLATIONS_ONLY", "ALL"]. |

---

##### `enable`<sup>Required</sup> <a name="enable" id="@dschmidt/provider-google.ComputeRouterNatLogConfig.property.enable"></a>

```typescript
public readonly enable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether or not to export logs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#enable ComputeRouterNat#enable}

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.ComputeRouterNatLogConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

Specifies the desired filtering of logs on this NAT. Possible values: ["ERRORS_ONLY", "TRANSLATIONS_ONLY", "ALL"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#filter ComputeRouterNat#filter}

---

### ComputeRouterNatSubnetwork <a name="ComputeRouterNatSubnetwork" id="@dschmidt/provider-google.ComputeRouterNatSubnetwork"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterNatSubnetwork.Initializer"></a>

```typescript
import { ComputeRouterNatSubnetwork } from '@dschmidt/provider-google'

const computeRouterNatSubnetwork: ComputeRouterNatSubnetwork = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatSubnetwork.property.name">name</a></code> | <code>string</code> | Self-link of subnetwork to NAT. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatSubnetwork.property.sourceIpRangesToNat">sourceIpRangesToNat</a></code> | <code>string[]</code> | List of options for which source IPs in the subnetwork should have NAT enabled. Supported values include: 'ALL_IP_RANGES', 'LIST_OF_SECONDARY_IP_RANGES', 'PRIMARY_IP_RANGE'. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatSubnetwork.property.secondaryIpRangeNames">secondaryIpRangeNames</a></code> | <code>string[]</code> | List of the secondary ranges of the subnetwork that are allowed to use NAT. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouterNatSubnetwork.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Self-link of subnetwork to NAT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#name ComputeRouterNat#name}

---

##### `sourceIpRangesToNat`<sup>Required</sup> <a name="sourceIpRangesToNat" id="@dschmidt/provider-google.ComputeRouterNatSubnetwork.property.sourceIpRangesToNat"></a>

```typescript
public readonly sourceIpRangesToNat: string[];
```

- *Type:* string[]

List of options for which source IPs in the subnetwork should have NAT enabled. Supported values include: 'ALL_IP_RANGES', 'LIST_OF_SECONDARY_IP_RANGES', 'PRIMARY_IP_RANGE'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#source_ip_ranges_to_nat ComputeRouterNat#source_ip_ranges_to_nat}

---

##### `secondaryIpRangeNames`<sup>Optional</sup> <a name="secondaryIpRangeNames" id="@dschmidt/provider-google.ComputeRouterNatSubnetwork.property.secondaryIpRangeNames"></a>

```typescript
public readonly secondaryIpRangeNames: string[];
```

- *Type:* string[]

List of the secondary ranges of the subnetwork that are allowed to use NAT.

This can be populated only if
'LIST_OF_SECONDARY_IP_RANGES' is one of the values in
sourceIpRangesToNat

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#secondary_ip_range_names ComputeRouterNat#secondary_ip_range_names}

---

### ComputeRouterNatTimeouts <a name="ComputeRouterNatTimeouts" id="@dschmidt/provider-google.ComputeRouterNatTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterNatTimeouts.Initializer"></a>

```typescript
import { ComputeRouterNatTimeouts } from '@dschmidt/provider-google'

const computeRouterNatTimeouts: ComputeRouterNatTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#create ComputeRouterNat#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#delete ComputeRouterNat#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterNatTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#update ComputeRouterNat#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRouterNatTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#create ComputeRouterNat#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRouterNatTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#delete ComputeRouterNat#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRouterNatTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_nat#update ComputeRouterNat#update}.

---

### ComputeRouterPeerAdvertisedIpRanges <a name="ComputeRouterPeerAdvertisedIpRanges" id="@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges.Initializer"></a>

```typescript
import { ComputeRouterPeerAdvertisedIpRanges } from '@dschmidt/provider-google'

const computeRouterPeerAdvertisedIpRanges: ComputeRouterPeerAdvertisedIpRanges = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges.property.range">range</a></code> | <code>string</code> | The IP range to advertise. The value must be a CIDR-formatted string. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges.property.description">description</a></code> | <code>string</code> | User-specified description for the IP range. |

---

##### `range`<sup>Required</sup> <a name="range" id="@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges.property.range"></a>

```typescript
public readonly range: string;
```

- *Type:* string

The IP range to advertise. The value must be a CIDR-formatted string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#range ComputeRouterPeer#range}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

User-specified description for the IP range.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#description ComputeRouterPeer#description}

---

### ComputeRouterPeerBfd <a name="ComputeRouterPeerBfd" id="@dschmidt/provider-google.ComputeRouterPeerBfd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterPeerBfd.Initializer"></a>

```typescript
import { ComputeRouterPeerBfd } from '@dschmidt/provider-google'

const computeRouterPeerBfd: ComputeRouterPeerBfd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerBfd.property.sessionInitializationMode">sessionInitializationMode</a></code> | <code>string</code> | The BFD session initialization mode for this BGP peer. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerBfd.property.minReceiveInterval">minReceiveInterval</a></code> | <code>number</code> | The minimum interval, in milliseconds, between BFD control packets received from the peer router. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerBfd.property.minTransmitInterval">minTransmitInterval</a></code> | <code>number</code> | The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerBfd.property.multiplier">multiplier</a></code> | <code>number</code> | The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. |

---

##### `sessionInitializationMode`<sup>Required</sup> <a name="sessionInitializationMode" id="@dschmidt/provider-google.ComputeRouterPeerBfd.property.sessionInitializationMode"></a>

```typescript
public readonly sessionInitializationMode: string;
```

- *Type:* string

The BFD session initialization mode for this BGP peer.

If set to 'ACTIVE', the Cloud Router will initiate the BFD session
for this BGP peer. If set to 'PASSIVE', the Cloud Router will wait
for the peer router to initiate the BFD session for this BGP peer.
If set to 'DISABLED', BFD is disabled for this BGP peer. Possible values: ["ACTIVE", "DISABLED", "PASSIVE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#session_initialization_mode ComputeRouterPeer#session_initialization_mode}

---

##### `minReceiveInterval`<sup>Optional</sup> <a name="minReceiveInterval" id="@dschmidt/provider-google.ComputeRouterPeerBfd.property.minReceiveInterval"></a>

```typescript
public readonly minReceiveInterval: number;
```

- *Type:* number

The minimum interval, in milliseconds, between BFD control packets received from the peer router.

The actual value is negotiated
between the two routers and is equal to the greater of this value
and the transmit interval of the other router. If set, this value
must be between 1000 and 30000.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#min_receive_interval ComputeRouterPeer#min_receive_interval}

---

##### `minTransmitInterval`<sup>Optional</sup> <a name="minTransmitInterval" id="@dschmidt/provider-google.ComputeRouterPeerBfd.property.minTransmitInterval"></a>

```typescript
public readonly minTransmitInterval: number;
```

- *Type:* number

The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router.

The actual value is negotiated
between the two routers and is equal to the greater of this value
and the corresponding receive interval of the other router. If set,
this value must be between 1000 and 30000.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#min_transmit_interval ComputeRouterPeer#min_transmit_interval}

---

##### `multiplier`<sup>Optional</sup> <a name="multiplier" id="@dschmidt/provider-google.ComputeRouterPeerBfd.property.multiplier"></a>

```typescript
public readonly multiplier: number;
```

- *Type:* number

The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable.

If set, the value must
be a value between 5 and 16.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#multiplier ComputeRouterPeer#multiplier}

---

### ComputeRouterPeerConfig <a name="ComputeRouterPeerConfig" id="@dschmidt/provider-google.ComputeRouterPeerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterPeerConfig.Initializer"></a>

```typescript
import { ComputeRouterPeerConfig } from '@dschmidt/provider-google'

const computeRouterPeerConfig: ComputeRouterPeerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.interface">interface</a></code> | <code>string</code> | Name of the interface the BGP peer is associated with. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.name">name</a></code> | <code>string</code> | Name of this BGP peer. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.peerAsn">peerAsn</a></code> | <code>number</code> | Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.peerIpAddress">peerIpAddress</a></code> | <code>string</code> | IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.router">router</a></code> | <code>string</code> | The name of the Cloud Router in which this BgpPeer will be configured. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.advertisedGroups">advertisedGroups</a></code> | <code>string[]</code> | User-specified list of prefix groups to advertise in custom mode, which can take one of the following options:. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.advertisedIpRanges">advertisedIpRanges</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges">ComputeRouterPeerAdvertisedIpRanges</a>[]</code> | advertised_ip_ranges block. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.advertisedRoutePriority">advertisedRoutePriority</a></code> | <code>number</code> | The priority of routes advertised to this BGP peer. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.advertiseMode">advertiseMode</a></code> | <code>string</code> | User-specified flag to indicate which mode to use for advertisement. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.bfd">bfd</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterPeerBfd">ComputeRouterPeerBfd</a></code> | bfd block. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.enable">enable</a></code> | <code>boolean \| cdktf.IResolvable</code> | The status of the BGP peer connection. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#id ComputeRouterPeer#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.ipAddress">ipAddress</a></code> | <code>string</code> | IP address of the interface inside Google Cloud Platform. Only IPv4 is supported. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#project ComputeRouterPeer#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.region">region</a></code> | <code>string</code> | Region where the router and BgpPeer reside. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeRouterPeerTimeouts">ComputeRouterPeerTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `interface`<sup>Required</sup> <a name="interface" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.interface"></a>

```typescript
public readonly interface: string;
```

- *Type:* string

Name of the interface the BGP peer is associated with.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#interface ComputeRouterPeer#interface}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of this BGP peer.

The name must be 1-63 characters long,
and comply with RFC1035. Specifically, the name must be 1-63 characters
long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which
means the first character must be a lowercase letter, and all
following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#name ComputeRouterPeer#name}

---

##### `peerAsn`<sup>Required</sup> <a name="peerAsn" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.peerAsn"></a>

```typescript
public readonly peerAsn: number;
```

- *Type:* number

Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#peer_asn ComputeRouterPeer#peer_asn}

---

##### `peerIpAddress`<sup>Required</sup> <a name="peerIpAddress" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.peerIpAddress"></a>

```typescript
public readonly peerIpAddress: string;
```

- *Type:* string

IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#peer_ip_address ComputeRouterPeer#peer_ip_address}

---

##### `router`<sup>Required</sup> <a name="router" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

The name of the Cloud Router in which this BgpPeer will be configured.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#router ComputeRouterPeer#router}

---

##### `advertisedGroups`<sup>Optional</sup> <a name="advertisedGroups" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.advertisedGroups"></a>

```typescript
public readonly advertisedGroups: string[];
```

- *Type:* string[]

User-specified list of prefix groups to advertise in custom mode, which can take one of the following options:.

'ALL_SUBNETS': Advertises all available subnets, including peer VPC subnets.
'ALL_VPC_SUBNETS': Advertises the router's own VPC subnets.
'ALL_PEER_VPC_SUBNETS': Advertises peer subnets of the router's VPC network.


Note that this field can only be populated if advertiseMode is 'CUSTOM'
and overrides the list defined for the router (in the "bgp" message).
These groups are advertised in addition to any specified prefixes.
Leave this field blank to advertise no custom groups.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#advertised_groups ComputeRouterPeer#advertised_groups}

---

##### `advertisedIpRanges`<sup>Optional</sup> <a name="advertisedIpRanges" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.advertisedIpRanges"></a>

```typescript
public readonly advertisedIpRanges: IResolvable | ComputeRouterPeerAdvertisedIpRanges[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeRouterPeerAdvertisedIpRanges">ComputeRouterPeerAdvertisedIpRanges</a>[]

advertised_ip_ranges block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#advertised_ip_ranges ComputeRouterPeer#advertised_ip_ranges}

---

##### `advertisedRoutePriority`<sup>Optional</sup> <a name="advertisedRoutePriority" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.advertisedRoutePriority"></a>

```typescript
public readonly advertisedRoutePriority: number;
```

- *Type:* number

The priority of routes advertised to this BGP peer.

Where there is more than one matching route of maximum
length, the routes with the lowest priority value win.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#advertised_route_priority ComputeRouterPeer#advertised_route_priority}

---

##### `advertiseMode`<sup>Optional</sup> <a name="advertiseMode" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.advertiseMode"></a>

```typescript
public readonly advertiseMode: string;
```

- *Type:* string

User-specified flag to indicate which mode to use for advertisement.

Valid values of this enum field are: 'DEFAULT', 'CUSTOM' Default value: "DEFAULT" Possible values: ["DEFAULT", "CUSTOM"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#advertise_mode ComputeRouterPeer#advertise_mode}

---

##### `bfd`<sup>Optional</sup> <a name="bfd" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.bfd"></a>

```typescript
public readonly bfd: ComputeRouterPeerBfd;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterPeerBfd">ComputeRouterPeerBfd</a>

bfd block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#bfd ComputeRouterPeer#bfd}

---

##### `enable`<sup>Optional</sup> <a name="enable" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.enable"></a>

```typescript
public readonly enable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The status of the BGP peer connection.

If set to false, any active session
with the peer is terminated and all associated routing information is removed.
If set to true, the peer connection can be established with routing information.
The default is true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#enable ComputeRouterPeer#enable}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#id ComputeRouterPeer#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipAddress`<sup>Optional</sup> <a name="ipAddress" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#ip_address ComputeRouterPeer#ip_address}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#project ComputeRouterPeer#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where the router and BgpPeer reside. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#region ComputeRouterPeer#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeRouterPeerConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeRouterPeerTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeRouterPeerTimeouts">ComputeRouterPeerTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#timeouts ComputeRouterPeer#timeouts}

---

### ComputeRouterPeerTimeouts <a name="ComputeRouterPeerTimeouts" id="@dschmidt/provider-google.ComputeRouterPeerTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterPeerTimeouts.Initializer"></a>

```typescript
import { ComputeRouterPeerTimeouts } from '@dschmidt/provider-google'

const computeRouterPeerTimeouts: ComputeRouterPeerTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#create ComputeRouterPeer#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#delete ComputeRouterPeer#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterPeerTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#update ComputeRouterPeer#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRouterPeerTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#create ComputeRouterPeer#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRouterPeerTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#delete ComputeRouterPeer#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRouterPeerTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router_peer#update ComputeRouterPeer#update}.

---

### ComputeRouterTimeouts <a name="ComputeRouterTimeouts" id="@dschmidt/provider-google.ComputeRouterTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouterTimeouts.Initializer"></a>

```typescript
import { ComputeRouterTimeouts } from '@dschmidt/provider-google'

const computeRouterTimeouts: ComputeRouterTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouterTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#create ComputeRouter#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#delete ComputeRouter#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouterTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#update ComputeRouter#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRouterTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#create ComputeRouter#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRouterTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#delete ComputeRouter#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeRouterTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_router#update ComputeRouter#update}.

---

### ComputeRouteTimeouts <a name="ComputeRouteTimeouts" id="@dschmidt/provider-google.ComputeRouteTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeRouteTimeouts.Initializer"></a>

```typescript
import { ComputeRouteTimeouts } from '@dschmidt/provider-google'

const computeRouteTimeouts: ComputeRouteTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeRouteTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#create ComputeRoute#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeRouteTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#delete ComputeRoute#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeRouteTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#create ComputeRoute#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeRouteTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_route#delete ComputeRoute#delete}.

---

### ComputeSecurityPolicyAdaptiveProtectionConfig <a name="ComputeSecurityPolicyAdaptiveProtectionConfig" id="@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfig.Initializer"></a>

```typescript
import { ComputeSecurityPolicyAdaptiveProtectionConfig } from '@dschmidt/provider-google'

const computeSecurityPolicyAdaptiveProtectionConfig: ComputeSecurityPolicyAdaptiveProtectionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfig.property.layer7DdosDefenseConfig">layer7DdosDefenseConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig">ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig</a></code> | layer_7_ddos_defense_config block. |

---

##### `layer7DdosDefenseConfig`<sup>Optional</sup> <a name="layer7DdosDefenseConfig" id="@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfig.property.layer7DdosDefenseConfig"></a>

```typescript
public readonly layer7DdosDefenseConfig: ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig">ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig</a>

layer_7_ddos_defense_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#layer_7_ddos_defense_config ComputeSecurityPolicy#layer_7_ddos_defense_config}

---

### ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig <a name="ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig" id="@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig.Initializer"></a>

```typescript
import { ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig } from '@dschmidt/provider-google'

const computeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig: ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig.property.enable">enable</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, enables CAAP for L7 DDoS detection. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig.property.ruleVisibility">ruleVisibility</a></code> | <code>string</code> | Rule visibility. Supported values include: "STANDARD", "PREMIUM". |

---

##### `enable`<sup>Optional</sup> <a name="enable" id="@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig.property.enable"></a>

```typescript
public readonly enable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, enables CAAP for L7 DDoS detection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#enable ComputeSecurityPolicy#enable}

---

##### `ruleVisibility`<sup>Optional</sup> <a name="ruleVisibility" id="@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig.property.ruleVisibility"></a>

```typescript
public readonly ruleVisibility: string;
```

- *Type:* string

Rule visibility. Supported values include: "STANDARD", "PREMIUM".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#rule_visibility ComputeSecurityPolicy#rule_visibility}

---

### ComputeSecurityPolicyAdvancedOptionsConfig <a name="ComputeSecurityPolicyAdvancedOptionsConfig" id="@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig.Initializer"></a>

```typescript
import { ComputeSecurityPolicyAdvancedOptionsConfig } from '@dschmidt/provider-google'

const computeSecurityPolicyAdvancedOptionsConfig: ComputeSecurityPolicyAdvancedOptionsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig.property.jsonParsing">jsonParsing</a></code> | <code>string</code> | JSON body parsing. Supported values include: "DISABLED", "STANDARD". |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig.property.logLevel">logLevel</a></code> | <code>string</code> | Logging level. Supported values include: "NORMAL", "VERBOSE". |

---

##### `jsonParsing`<sup>Optional</sup> <a name="jsonParsing" id="@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig.property.jsonParsing"></a>

```typescript
public readonly jsonParsing: string;
```

- *Type:* string

JSON body parsing. Supported values include: "DISABLED", "STANDARD".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#json_parsing ComputeSecurityPolicy#json_parsing}

---

##### `logLevel`<sup>Optional</sup> <a name="logLevel" id="@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig.property.logLevel"></a>

```typescript
public readonly logLevel: string;
```

- *Type:* string

Logging level. Supported values include: "NORMAL", "VERBOSE".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#log_level ComputeSecurityPolicy#log_level}

---

### ComputeSecurityPolicyConfig <a name="ComputeSecurityPolicyConfig" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.Initializer"></a>

```typescript
import { ComputeSecurityPolicyConfig } from '@dschmidt/provider-google'

const computeSecurityPolicyConfig: ComputeSecurityPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.name">name</a></code> | <code>string</code> | The name of the security policy. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.adaptiveProtectionConfig">adaptiveProtectionConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfig">ComputeSecurityPolicyAdaptiveProtectionConfig</a></code> | adaptive_protection_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.advancedOptionsConfig">advancedOptionsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig">ComputeSecurityPolicyAdvancedOptionsConfig</a></code> | advanced_options_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this security policy. Max size is 2048. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#id ComputeSecurityPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.project">project</a></code> | <code>string</code> | The project in which the resource belongs. If it is not provided, the provider project is used. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.rule">rule</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule">ComputeSecurityPolicyRule</a>[]</code> | rule block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeouts">ComputeSecurityPolicyTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.type">type</a></code> | <code>string</code> | The type indicates the intended use of the security policy. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the security policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#name ComputeSecurityPolicy#name}

---

##### `adaptiveProtectionConfig`<sup>Optional</sup> <a name="adaptiveProtectionConfig" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.adaptiveProtectionConfig"></a>

```typescript
public readonly adaptiveProtectionConfig: ComputeSecurityPolicyAdaptiveProtectionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdaptiveProtectionConfig">ComputeSecurityPolicyAdaptiveProtectionConfig</a>

adaptive_protection_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#adaptive_protection_config ComputeSecurityPolicy#adaptive_protection_config}

---

##### `advancedOptionsConfig`<sup>Optional</sup> <a name="advancedOptionsConfig" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.advancedOptionsConfig"></a>

```typescript
public readonly advancedOptionsConfig: ComputeSecurityPolicyAdvancedOptionsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyAdvancedOptionsConfig">ComputeSecurityPolicyAdvancedOptionsConfig</a>

advanced_options_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#advanced_options_config ComputeSecurityPolicy#advanced_options_config}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this security policy. Max size is 2048.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#description ComputeSecurityPolicy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#id ComputeSecurityPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project in which the resource belongs. If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#project ComputeSecurityPolicy#project}

---

##### `rule`<sup>Optional</sup> <a name="rule" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.rule"></a>

```typescript
public readonly rule: IResolvable | ComputeSecurityPolicyRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule">ComputeSecurityPolicyRule</a>[]

rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#rule ComputeSecurityPolicy#rule}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSecurityPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeouts">ComputeSecurityPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#timeouts ComputeSecurityPolicy#timeouts}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ComputeSecurityPolicyConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type indicates the intended use of the security policy.

CLOUD_ARMOR - Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. CLOUD_ARMOR_EDGE - Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#type ComputeSecurityPolicy#type}

---

### ComputeSecurityPolicyRule <a name="ComputeSecurityPolicyRule" id="@dschmidt/provider-google.ComputeSecurityPolicyRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyRule.Initializer"></a>

```typescript
import { ComputeSecurityPolicyRule } from '@dschmidt/provider-google'

const computeSecurityPolicyRule: ComputeSecurityPolicyRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule.property.action">action</a></code> | <code>string</code> | Action to take when match matches the request. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule.property.match">match</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch">ComputeSecurityPolicyRuleMatch</a></code> | match block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule.property.priority">priority</a></code> | <code>number</code> | An unique positive integer indicating the priority of evaluation for a rule. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule.property.description">description</a></code> | <code>string</code> | An optional description of this rule. Max size is 64. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule.property.preview">preview</a></code> | <code>boolean \| cdktf.IResolvable</code> | When set to true, the action specified above is not enforced. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule.property.rateLimitOptions">rateLimitOptions</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions">ComputeSecurityPolicyRuleRateLimitOptions</a></code> | rate_limit_options block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRule.property.redirectOptions">redirectOptions</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRedirectOptions">ComputeSecurityPolicyRuleRedirectOptions</a></code> | redirect_options block. |

---

##### `action`<sup>Required</sup> <a name="action" id="@dschmidt/provider-google.ComputeSecurityPolicyRule.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

Action to take when match matches the request.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#action ComputeSecurityPolicy#action}

---

##### `match`<sup>Required</sup> <a name="match" id="@dschmidt/provider-google.ComputeSecurityPolicyRule.property.match"></a>

```typescript
public readonly match: ComputeSecurityPolicyRuleMatch;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch">ComputeSecurityPolicyRuleMatch</a>

match block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#match ComputeSecurityPolicy#match}

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.ComputeSecurityPolicyRule.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

An unique positive integer indicating the priority of evaluation for a rule.

Rules are evaluated from highest priority (lowest numerically) to lowest priority (highest numerically) in order.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#priority ComputeSecurityPolicy#priority}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSecurityPolicyRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this rule. Max size is 64.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#description ComputeSecurityPolicy#description}

---

##### `preview`<sup>Optional</sup> <a name="preview" id="@dschmidt/provider-google.ComputeSecurityPolicyRule.property.preview"></a>

```typescript
public readonly preview: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When set to true, the action specified above is not enforced.

Stackdriver logs for requests that trigger a preview action are annotated as such.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#preview ComputeSecurityPolicy#preview}

---

##### `rateLimitOptions`<sup>Optional</sup> <a name="rateLimitOptions" id="@dschmidt/provider-google.ComputeSecurityPolicyRule.property.rateLimitOptions"></a>

```typescript
public readonly rateLimitOptions: ComputeSecurityPolicyRuleRateLimitOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions">ComputeSecurityPolicyRuleRateLimitOptions</a>

rate_limit_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#rate_limit_options ComputeSecurityPolicy#rate_limit_options}

---

##### `redirectOptions`<sup>Optional</sup> <a name="redirectOptions" id="@dschmidt/provider-google.ComputeSecurityPolicyRule.property.redirectOptions"></a>

```typescript
public readonly redirectOptions: ComputeSecurityPolicyRuleRedirectOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRedirectOptions">ComputeSecurityPolicyRuleRedirectOptions</a>

redirect_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#redirect_options ComputeSecurityPolicy#redirect_options}

---

### ComputeSecurityPolicyRuleMatch <a name="ComputeSecurityPolicyRuleMatch" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch.Initializer"></a>

```typescript
import { ComputeSecurityPolicyRuleMatch } from '@dschmidt/provider-google'

const computeSecurityPolicyRuleMatch: ComputeSecurityPolicyRuleMatch = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchConfig">ComputeSecurityPolicyRuleMatchConfig</a></code> | config block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch.property.expr">expr</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchExpr">ComputeSecurityPolicyRuleMatchExpr</a></code> | expr block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch.property.versionedExpr">versionedExpr</a></code> | <code>string</code> | Predefined rule expression. |

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch.property.config"></a>

```typescript
public readonly config: ComputeSecurityPolicyRuleMatchConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchConfig">ComputeSecurityPolicyRuleMatchConfig</a>

config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#config ComputeSecurityPolicy#config}

---

##### `expr`<sup>Optional</sup> <a name="expr" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch.property.expr"></a>

```typescript
public readonly expr: ComputeSecurityPolicyRuleMatchExpr;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchExpr">ComputeSecurityPolicyRuleMatchExpr</a>

expr block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#expr ComputeSecurityPolicy#expr}

---

##### `versionedExpr`<sup>Optional</sup> <a name="versionedExpr" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatch.property.versionedExpr"></a>

```typescript
public readonly versionedExpr: string;
```

- *Type:* string

Predefined rule expression.

If this field is specified, config must also be specified. Available options:   SRC_IPS_V1: Must specify the corresponding src_ip_ranges field in config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#versioned_expr ComputeSecurityPolicy#versioned_expr}

---

### ComputeSecurityPolicyRuleMatchConfig <a name="ComputeSecurityPolicyRuleMatchConfig" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchConfig.Initializer"></a>

```typescript
import { ComputeSecurityPolicyRuleMatchConfig } from '@dschmidt/provider-google'

const computeSecurityPolicyRuleMatchConfig: ComputeSecurityPolicyRuleMatchConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchConfig.property.srcIpRanges">srcIpRanges</a></code> | <code>string[]</code> | Set of IP addresses or ranges (IPV4 or IPV6) in CIDR notation to match against inbound traffic. |

---

##### `srcIpRanges`<sup>Required</sup> <a name="srcIpRanges" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchConfig.property.srcIpRanges"></a>

```typescript
public readonly srcIpRanges: string[];
```

- *Type:* string[]

Set of IP addresses or ranges (IPV4 or IPV6) in CIDR notation to match against inbound traffic.

There is a limit of 10 IP ranges per rule. A value of '*' matches all IPs (can be used to override the default behavior).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#src_ip_ranges ComputeSecurityPolicy#src_ip_ranges}

---

### ComputeSecurityPolicyRuleMatchExpr <a name="ComputeSecurityPolicyRuleMatchExpr" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchExpr"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchExpr.Initializer"></a>

```typescript
import { ComputeSecurityPolicyRuleMatchExpr } from '@dschmidt/provider-google'

const computeSecurityPolicyRuleMatchExpr: ComputeSecurityPolicyRuleMatchExpr = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchExpr.property.expression">expression</a></code> | <code>string</code> | Textual representation of an expression in Common Expression Language syntax. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleMatchExpr.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Textual representation of an expression in Common Expression Language syntax.

The application context of the containing message determines which well-known feature set of CEL is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#expression ComputeSecurityPolicy#expression}

---

### ComputeSecurityPolicyRuleRateLimitOptions <a name="ComputeSecurityPolicyRuleRateLimitOptions" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.Initializer"></a>

```typescript
import { ComputeSecurityPolicyRuleRateLimitOptions } from '@dschmidt/provider-google'

const computeSecurityPolicyRuleRateLimitOptions: ComputeSecurityPolicyRuleRateLimitOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.conformAction">conformAction</a></code> | <code>string</code> | Action to take for requests that are under the configured rate limit threshold. Valid option is "allow" only. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.exceedAction">exceedAction</a></code> | <code>string</code> | Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.rateLimitThreshold">rateLimitThreshold</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold">ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold</a></code> | rate_limit_threshold block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.banDurationSec">banDurationSec</a></code> | <code>number</code> | Can only be specified if the action for the rule is "rate_based_ban". |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.banThreshold">banThreshold</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold">ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold</a></code> | ban_threshold block. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.enforceOnKey">enforceOnKey</a></code> | <code>string</code> | Determines the key to enforce the rateLimitThreshold on. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.enforceOnKeyName">enforceOnKeyName</a></code> | <code>string</code> | Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.exceedRedirectOptions">exceedRedirectOptions</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions">ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions</a></code> | exceed_redirect_options block. |

---

##### `conformAction`<sup>Required</sup> <a name="conformAction" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.conformAction"></a>

```typescript
public readonly conformAction: string;
```

- *Type:* string

Action to take for requests that are under the configured rate limit threshold. Valid option is "allow" only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#conform_action ComputeSecurityPolicy#conform_action}

---

##### `exceedAction`<sup>Required</sup> <a name="exceedAction" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.exceedAction"></a>

```typescript
public readonly exceedAction: string;
```

- *Type:* string

Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint.

Valid options are "deny()" where valid values for status are 403, 404, 429, and 502, and "redirect" where the redirect parameters come from exceedRedirectOptions below.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#exceed_action ComputeSecurityPolicy#exceed_action}

---

##### `rateLimitThreshold`<sup>Required</sup> <a name="rateLimitThreshold" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.rateLimitThreshold"></a>

```typescript
public readonly rateLimitThreshold: ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold">ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold</a>

rate_limit_threshold block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#rate_limit_threshold ComputeSecurityPolicy#rate_limit_threshold}

---

##### `banDurationSec`<sup>Optional</sup> <a name="banDurationSec" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.banDurationSec"></a>

```typescript
public readonly banDurationSec: number;
```

- *Type:* number

Can only be specified if the action for the rule is "rate_based_ban".

If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#ban_duration_sec ComputeSecurityPolicy#ban_duration_sec}

---

##### `banThreshold`<sup>Optional</sup> <a name="banThreshold" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.banThreshold"></a>

```typescript
public readonly banThreshold: ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold">ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold</a>

ban_threshold block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#ban_threshold ComputeSecurityPolicy#ban_threshold}

---

##### `enforceOnKey`<sup>Optional</sup> <a name="enforceOnKey" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.enforceOnKey"></a>

```typescript
public readonly enforceOnKey: string;
```

- *Type:* string

Determines the key to enforce the rateLimitThreshold on.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#enforce_on_key ComputeSecurityPolicy#enforce_on_key}

---

##### `enforceOnKeyName`<sup>Optional</sup> <a name="enforceOnKeyName" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.enforceOnKeyName"></a>

```typescript
public readonly enforceOnKeyName: string;
```

- *Type:* string

Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.

HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#enforce_on_key_name ComputeSecurityPolicy#enforce_on_key_name}

---

##### `exceedRedirectOptions`<sup>Optional</sup> <a name="exceedRedirectOptions" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptions.property.exceedRedirectOptions"></a>

```typescript
public readonly exceedRedirectOptions: ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions">ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions</a>

exceed_redirect_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#exceed_redirect_options ComputeSecurityPolicy#exceed_redirect_options}

---

### ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold <a name="ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold.Initializer"></a>

```typescript
import { ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold } from '@dschmidt/provider-google'

const computeSecurityPolicyRuleRateLimitOptionsBanThreshold: ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold.property.count">count</a></code> | <code>number</code> | Number of HTTP(S) requests for calculating the threshold. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold.property.intervalSec">intervalSec</a></code> | <code>number</code> | Interval over which the threshold is computed. |

---

##### `count`<sup>Required</sup> <a name="count" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

Number of HTTP(S) requests for calculating the threshold.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#count ComputeSecurityPolicy#count}

---

##### `intervalSec`<sup>Required</sup> <a name="intervalSec" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsBanThreshold.property.intervalSec"></a>

```typescript
public readonly intervalSec: number;
```

- *Type:* number

Interval over which the threshold is computed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#interval_sec ComputeSecurityPolicy#interval_sec}

---

### ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions <a name="ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions.Initializer"></a>

```typescript
import { ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions } from '@dschmidt/provider-google'

const computeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions: ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions.property.type">type</a></code> | <code>string</code> | Type of the redirect action. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions.property.target">target</a></code> | <code>string</code> | Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Type of the redirect action.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#type ComputeSecurityPolicy#type}

---

##### `target`<sup>Optional</sup> <a name="target" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsExceedRedirectOptions.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#target ComputeSecurityPolicy#target}

---

### ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold <a name="ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold.Initializer"></a>

```typescript
import { ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold } from '@dschmidt/provider-google'

const computeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold: ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold.property.count">count</a></code> | <code>number</code> | Number of HTTP(S) requests for calculating the threshold. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold.property.intervalSec">intervalSec</a></code> | <code>number</code> | Interval over which the threshold is computed. |

---

##### `count`<sup>Required</sup> <a name="count" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

Number of HTTP(S) requests for calculating the threshold.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#count ComputeSecurityPolicy#count}

---

##### `intervalSec`<sup>Required</sup> <a name="intervalSec" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRateLimitOptionsRateLimitThreshold.property.intervalSec"></a>

```typescript
public readonly intervalSec: number;
```

- *Type:* number

Interval over which the threshold is computed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#interval_sec ComputeSecurityPolicy#interval_sec}

---

### ComputeSecurityPolicyRuleRedirectOptions <a name="ComputeSecurityPolicyRuleRedirectOptions" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRedirectOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRedirectOptions.Initializer"></a>

```typescript
import { ComputeSecurityPolicyRuleRedirectOptions } from '@dschmidt/provider-google'

const computeSecurityPolicyRuleRedirectOptions: ComputeSecurityPolicyRuleRedirectOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRedirectOptions.property.type">type</a></code> | <code>string</code> | Type of the redirect action. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyRuleRedirectOptions.property.target">target</a></code> | <code>string</code> | Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRedirectOptions.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Type of the redirect action.

Available options: EXTERNAL_302: Must specify the corresponding target field in config. GOOGLE_RECAPTCHA: Cannot specify target field in config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#type ComputeSecurityPolicy#type}

---

##### `target`<sup>Optional</sup> <a name="target" id="@dschmidt/provider-google.ComputeSecurityPolicyRuleRedirectOptions.property.target"></a>

```typescript
public readonly target: string;
```

- *Type:* string

Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#target ComputeSecurityPolicy#target}

---

### ComputeSecurityPolicyTimeouts <a name="ComputeSecurityPolicyTimeouts" id="@dschmidt/provider-google.ComputeSecurityPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSecurityPolicyTimeouts.Initializer"></a>

```typescript
import { ComputeSecurityPolicyTimeouts } from '@dschmidt/provider-google'

const computeSecurityPolicyTimeouts: ComputeSecurityPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#create ComputeSecurityPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#delete ComputeSecurityPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeSecurityPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#update ComputeSecurityPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeSecurityPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#create ComputeSecurityPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeSecurityPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#delete ComputeSecurityPolicy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeSecurityPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_security_policy#update ComputeSecurityPolicy#update}.

---

### ComputeServiceAttachmentConfig <a name="ComputeServiceAttachmentConfig" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.Initializer"></a>

```typescript
import { ComputeServiceAttachmentConfig } from '@dschmidt/provider-google'

const computeServiceAttachmentConfig: ComputeServiceAttachmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.connectionPreference">connectionPreference</a></code> | <code>string</code> | The connection preference to use for this service attachment. Valid values include "ACCEPT_AUTOMATIC", "ACCEPT_MANUAL". |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.enableProxyProtocol">enableProxyProtocol</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, enable the proxy protocol which is for supplying client TCP/IP address data in TCP connections that traverse proxies on their way to destination servers. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.natSubnets">natSubnets</a></code> | <code>string[]</code> | An array of subnets that is provided for NAT in this service attachment. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.targetService">targetService</a></code> | <code>string</code> | The URL of a forwarding rule that represents the service identified by this service attachment. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.consumerAcceptLists">consumerAcceptLists</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists">ComputeServiceAttachmentConsumerAcceptLists</a>[]</code> | consumer_accept_lists block. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.consumerRejectLists">consumerRejectLists</a></code> | <code>string[]</code> | An array of projects that are not allowed to connect to this service attachment. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.domainNames">domainNames</a></code> | <code>string[]</code> | If specified, the domain name will be used during the integration between the PSC connected endpoints and the Cloud DNS. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#id ComputeServiceAttachment#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#project ComputeServiceAttachment#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.region">region</a></code> | <code>string</code> | URL of the region where the resource resides. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeouts">ComputeServiceAttachmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `connectionPreference`<sup>Required</sup> <a name="connectionPreference" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.connectionPreference"></a>

```typescript
public readonly connectionPreference: string;
```

- *Type:* string

The connection preference to use for this service attachment. Valid values include "ACCEPT_AUTOMATIC", "ACCEPT_MANUAL".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#connection_preference ComputeServiceAttachment#connection_preference}

---

##### `enableProxyProtocol`<sup>Required</sup> <a name="enableProxyProtocol" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.enableProxyProtocol"></a>

```typescript
public readonly enableProxyProtocol: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, enable the proxy protocol which is for supplying client TCP/IP address data in TCP connections that traverse proxies on their way to destination servers.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#enable_proxy_protocol ComputeServiceAttachment#enable_proxy_protocol}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

The name must be 1-63 characters long, and
comply with RFC1035. Specifically, the name must be 1-63 characters
long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?'
which means the first character must be a lowercase letter, and all
following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#name ComputeServiceAttachment#name}

---

##### `natSubnets`<sup>Required</sup> <a name="natSubnets" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.natSubnets"></a>

```typescript
public readonly natSubnets: string[];
```

- *Type:* string[]

An array of subnets that is provided for NAT in this service attachment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#nat_subnets ComputeServiceAttachment#nat_subnets}

---

##### `targetService`<sup>Required</sup> <a name="targetService" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.targetService"></a>

```typescript
public readonly targetService: string;
```

- *Type:* string

The URL of a forwarding rule that represents the service identified by this service attachment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#target_service ComputeServiceAttachment#target_service}

---

##### `consumerAcceptLists`<sup>Optional</sup> <a name="consumerAcceptLists" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.consumerAcceptLists"></a>

```typescript
public readonly consumerAcceptLists: IResolvable | ComputeServiceAttachmentConsumerAcceptLists[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists">ComputeServiceAttachmentConsumerAcceptLists</a>[]

consumer_accept_lists block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#consumer_accept_lists ComputeServiceAttachment#consumer_accept_lists}

---

##### `consumerRejectLists`<sup>Optional</sup> <a name="consumerRejectLists" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.consumerRejectLists"></a>

```typescript
public readonly consumerRejectLists: string[];
```

- *Type:* string[]

An array of projects that are not allowed to connect to this service attachment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#consumer_reject_lists ComputeServiceAttachment#consumer_reject_lists}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#description ComputeServiceAttachment#description}

---

##### `domainNames`<sup>Optional</sup> <a name="domainNames" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.domainNames"></a>

```typescript
public readonly domainNames: string[];
```

- *Type:* string[]

If specified, the domain name will be used during the integration between the PSC connected endpoints and the Cloud DNS.

For example, this is a
valid domain name: "p.mycompany.com.". Current max number of domain names
supported is 1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#domain_names ComputeServiceAttachment#domain_names}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#id ComputeServiceAttachment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#project ComputeServiceAttachment#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

URL of the region where the resource resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#region ComputeServiceAttachment#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeServiceAttachmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeServiceAttachmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeouts">ComputeServiceAttachmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#timeouts ComputeServiceAttachment#timeouts}

---

### ComputeServiceAttachmentConnectedEndpoints <a name="ComputeServiceAttachmentConnectedEndpoints" id="@dschmidt/provider-google.ComputeServiceAttachmentConnectedEndpoints"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeServiceAttachmentConnectedEndpoints.Initializer"></a>

```typescript
import { ComputeServiceAttachmentConnectedEndpoints } from '@dschmidt/provider-google'

const computeServiceAttachmentConnectedEndpoints: ComputeServiceAttachmentConnectedEndpoints = { ... }
```


### ComputeServiceAttachmentConsumerAcceptLists <a name="ComputeServiceAttachmentConsumerAcceptLists" id="@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists.Initializer"></a>

```typescript
import { ComputeServiceAttachmentConsumerAcceptLists } from '@dschmidt/provider-google'

const computeServiceAttachmentConsumerAcceptLists: ComputeServiceAttachmentConsumerAcceptLists = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists.property.connectionLimit">connectionLimit</a></code> | <code>number</code> | The number of consumer forwarding rules the consumer project can create. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists.property.projectIdOrNum">projectIdOrNum</a></code> | <code>string</code> | A project that is allowed to connect to this service attachment. |

---

##### `connectionLimit`<sup>Required</sup> <a name="connectionLimit" id="@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists.property.connectionLimit"></a>

```typescript
public readonly connectionLimit: number;
```

- *Type:* number

The number of consumer forwarding rules the consumer project can create.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#connection_limit ComputeServiceAttachment#connection_limit}

---

##### `projectIdOrNum`<sup>Required</sup> <a name="projectIdOrNum" id="@dschmidt/provider-google.ComputeServiceAttachmentConsumerAcceptLists.property.projectIdOrNum"></a>

```typescript
public readonly projectIdOrNum: string;
```

- *Type:* string

A project that is allowed to connect to this service attachment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#project_id_or_num ComputeServiceAttachment#project_id_or_num}

---

### ComputeServiceAttachmentTimeouts <a name="ComputeServiceAttachmentTimeouts" id="@dschmidt/provider-google.ComputeServiceAttachmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeServiceAttachmentTimeouts.Initializer"></a>

```typescript
import { ComputeServiceAttachmentTimeouts } from '@dschmidt/provider-google'

const computeServiceAttachmentTimeouts: ComputeServiceAttachmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#create ComputeServiceAttachment#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#delete ComputeServiceAttachment#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeServiceAttachmentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#update ComputeServiceAttachment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeServiceAttachmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#create ComputeServiceAttachment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeServiceAttachmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#delete ComputeServiceAttachment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeServiceAttachmentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_service_attachment#update ComputeServiceAttachment#update}.

---

### ComputeSharedVpcHostProjectConfig <a name="ComputeSharedVpcHostProjectConfig" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.Initializer"></a>

```typescript
import { ComputeSharedVpcHostProjectConfig } from '@dschmidt/provider-google'

const computeSharedVpcHostProjectConfig: ComputeSharedVpcHostProjectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.project">project</a></code> | <code>string</code> | The ID of the project that will serve as a Shared VPC host project. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_host_project#id ComputeSharedVpcHostProject#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts">ComputeSharedVpcHostProjectTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project that will serve as a Shared VPC host project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_host_project#project ComputeSharedVpcHostProject#project}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_host_project#id ComputeSharedVpcHostProject#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSharedVpcHostProjectTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts">ComputeSharedVpcHostProjectTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_host_project#timeouts ComputeSharedVpcHostProject#timeouts}

---

### ComputeSharedVpcHostProjectTimeouts <a name="ComputeSharedVpcHostProjectTimeouts" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts.Initializer"></a>

```typescript
import { ComputeSharedVpcHostProjectTimeouts } from '@dschmidt/provider-google'

const computeSharedVpcHostProjectTimeouts: ComputeSharedVpcHostProjectTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_host_project#create ComputeSharedVpcHostProject#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_host_project#delete ComputeSharedVpcHostProject#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_host_project#create ComputeSharedVpcHostProject#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeSharedVpcHostProjectTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_host_project#delete ComputeSharedVpcHostProject#delete}.

---

### ComputeSharedVpcServiceProjectConfig <a name="ComputeSharedVpcServiceProjectConfig" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.Initializer"></a>

```typescript
import { ComputeSharedVpcServiceProjectConfig } from '@dschmidt/provider-google'

const computeSharedVpcServiceProjectConfig: ComputeSharedVpcServiceProjectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.hostProject">hostProject</a></code> | <code>string</code> | The ID of a host project to associate. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.serviceProject">serviceProject</a></code> | <code>string</code> | The ID of the project that will serve as a Shared VPC service project. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project#id ComputeSharedVpcServiceProject#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts">ComputeSharedVpcServiceProjectTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `hostProject`<sup>Required</sup> <a name="hostProject" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.hostProject"></a>

```typescript
public readonly hostProject: string;
```

- *Type:* string

The ID of a host project to associate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project#host_project ComputeSharedVpcServiceProject#host_project}

---

##### `serviceProject`<sup>Required</sup> <a name="serviceProject" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.serviceProject"></a>

```typescript
public readonly serviceProject: string;
```

- *Type:* string

The ID of the project that will serve as a Shared VPC service project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project#service_project ComputeSharedVpcServiceProject#service_project}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project#id ComputeSharedVpcServiceProject#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSharedVpcServiceProjectTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts">ComputeSharedVpcServiceProjectTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project#timeouts ComputeSharedVpcServiceProject#timeouts}

---

### ComputeSharedVpcServiceProjectTimeouts <a name="ComputeSharedVpcServiceProjectTimeouts" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts.Initializer"></a>

```typescript
import { ComputeSharedVpcServiceProjectTimeouts } from '@dschmidt/provider-google'

const computeSharedVpcServiceProjectTimeouts: ComputeSharedVpcServiceProjectTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project#create ComputeSharedVpcServiceProject#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project#delete ComputeSharedVpcServiceProject#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project#create ComputeSharedVpcServiceProject#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeSharedVpcServiceProjectTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_shared_vpc_service_project#delete ComputeSharedVpcServiceProject#delete}.

---

### ComputeSnapshotConfig <a name="ComputeSnapshotConfig" id="@dschmidt/provider-google.ComputeSnapshotConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSnapshotConfig.Initializer"></a>

```typescript
import { ComputeSnapshotConfig } from '@dschmidt/provider-google'

const computeSnapshotConfig: ComputeSnapshotConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.sourceDisk">sourceDisk</a></code> | <code>string</code> | A reference to the disk used to create this snapshot. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#id ComputeSnapshot#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels to apply to this Snapshot. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#project ComputeSnapshot#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.snapshotEncryptionKey">snapshotEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey">ComputeSnapshotSnapshotEncryptionKey</a></code> | snapshot_encryption_key block. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.sourceDiskEncryptionKey">sourceDiskEncryptionKey</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey">ComputeSnapshotSourceDiskEncryptionKey</a></code> | source_disk_encryption_key block. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.storageLocations">storageLocations</a></code> | <code>string[]</code> | Cloud Storage bucket storage location of the snapshot (regional or multi-regional). |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotTimeouts">ComputeSnapshotTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotConfig.property.zone">zone</a></code> | <code>string</code> | A reference to the zone where the disk is hosted. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#name ComputeSnapshot#name}

---

##### `sourceDisk`<sup>Required</sup> <a name="sourceDisk" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.sourceDisk"></a>

```typescript
public readonly sourceDisk: string;
```

- *Type:* string

A reference to the disk used to create this snapshot.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#source_disk ComputeSnapshot#source_disk}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#description ComputeSnapshot#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#id ComputeSnapshot#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to apply to this Snapshot.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#labels ComputeSnapshot#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#project ComputeSnapshot#project}.

---

##### `snapshotEncryptionKey`<sup>Optional</sup> <a name="snapshotEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.snapshotEncryptionKey"></a>

```typescript
public readonly snapshotEncryptionKey: ComputeSnapshotSnapshotEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey">ComputeSnapshotSnapshotEncryptionKey</a>

snapshot_encryption_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#snapshot_encryption_key ComputeSnapshot#snapshot_encryption_key}

---

##### `sourceDiskEncryptionKey`<sup>Optional</sup> <a name="sourceDiskEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.sourceDiskEncryptionKey"></a>

```typescript
public readonly sourceDiskEncryptionKey: ComputeSnapshotSourceDiskEncryptionKey;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey">ComputeSnapshotSourceDiskEncryptionKey</a>

source_disk_encryption_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#source_disk_encryption_key ComputeSnapshot#source_disk_encryption_key}

---

##### `storageLocations`<sup>Optional</sup> <a name="storageLocations" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.storageLocations"></a>

```typescript
public readonly storageLocations: string[];
```

- *Type:* string[]

Cloud Storage bucket storage location of the snapshot (regional or multi-regional).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#storage_locations ComputeSnapshot#storage_locations}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSnapshotTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotTimeouts">ComputeSnapshotTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#timeouts ComputeSnapshot#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeSnapshotConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

A reference to the zone where the disk is hosted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#zone ComputeSnapshot#zone}

---

### ComputeSnapshotIamBindingCondition <a name="ComputeSnapshotIamBindingCondition" id="@dschmidt/provider-google.ComputeSnapshotIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSnapshotIamBindingCondition.Initializer"></a>

```typescript
import { ComputeSnapshotIamBindingCondition } from '@dschmidt/provider-google'

const computeSnapshotIamBindingCondition: ComputeSnapshotIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#expression ComputeSnapshotIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#title ComputeSnapshotIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#description ComputeSnapshotIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeSnapshotIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#expression ComputeSnapshotIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeSnapshotIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#title ComputeSnapshotIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSnapshotIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#description ComputeSnapshotIamBinding#description}.

---

### ComputeSnapshotIamBindingConfig <a name="ComputeSnapshotIamBindingConfig" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.Initializer"></a>

```typescript
import { ComputeSnapshotIamBindingConfig } from '@dschmidt/provider-google'

const computeSnapshotIamBindingConfig: ComputeSnapshotIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#members ComputeSnapshotIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#name ComputeSnapshotIamBinding#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#role ComputeSnapshotIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingCondition">ComputeSnapshotIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#id ComputeSnapshotIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#project ComputeSnapshotIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#members ComputeSnapshotIamBinding#members}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#name ComputeSnapshotIamBinding#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#role ComputeSnapshotIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ComputeSnapshotIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamBindingCondition">ComputeSnapshotIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#condition ComputeSnapshotIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#id ComputeSnapshotIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSnapshotIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_binding#project ComputeSnapshotIamBinding#project}.

---

### ComputeSnapshotIamMemberCondition <a name="ComputeSnapshotIamMemberCondition" id="@dschmidt/provider-google.ComputeSnapshotIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSnapshotIamMemberCondition.Initializer"></a>

```typescript
import { ComputeSnapshotIamMemberCondition } from '@dschmidt/provider-google'

const computeSnapshotIamMemberCondition: ComputeSnapshotIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#expression ComputeSnapshotIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#title ComputeSnapshotIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#description ComputeSnapshotIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeSnapshotIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#expression ComputeSnapshotIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeSnapshotIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#title ComputeSnapshotIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSnapshotIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#description ComputeSnapshotIamMember#description}.

---

### ComputeSnapshotIamMemberConfig <a name="ComputeSnapshotIamMemberConfig" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.Initializer"></a>

```typescript
import { ComputeSnapshotIamMemberConfig } from '@dschmidt/provider-google'

const computeSnapshotIamMemberConfig: ComputeSnapshotIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#member ComputeSnapshotIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#name ComputeSnapshotIamMember#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#role ComputeSnapshotIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberCondition">ComputeSnapshotIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#id ComputeSnapshotIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#project ComputeSnapshotIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#member ComputeSnapshotIamMember#member}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#name ComputeSnapshotIamMember#name}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#role ComputeSnapshotIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ComputeSnapshotIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSnapshotIamMemberCondition">ComputeSnapshotIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#condition ComputeSnapshotIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#id ComputeSnapshotIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSnapshotIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_member#project ComputeSnapshotIamMember#project}.

---

### ComputeSnapshotIamPolicyConfig <a name="ComputeSnapshotIamPolicyConfig" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.Initializer"></a>

```typescript
import { ComputeSnapshotIamPolicyConfig } from '@dschmidt/provider-google'

const computeSnapshotIamPolicyConfig: ComputeSnapshotIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_policy#name ComputeSnapshotIamPolicy#name}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_policy#policy_data ComputeSnapshotIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_policy#id ComputeSnapshotIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_policy#project ComputeSnapshotIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_policy#name ComputeSnapshotIamPolicy#name}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_policy#policy_data ComputeSnapshotIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_policy#id ComputeSnapshotIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSnapshotIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot_iam_policy#project ComputeSnapshotIamPolicy#project}.

---

### ComputeSnapshotSnapshotEncryptionKey <a name="ComputeSnapshotSnapshotEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey.Initializer"></a>

```typescript
import { ComputeSnapshotSnapshotEncryptionKey } from '@dschmidt/provider-google'

const computeSnapshotSnapshotEncryptionKey: ComputeSnapshotSnapshotEncryptionKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey.property.kmsKeySelfLink">kmsKeySelfLink</a></code> | <code>string</code> | The name of the encryption key that is stored in Google Cloud KMS. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey.property.kmsKeyServiceAccount">kmsKeyServiceAccount</a></code> | <code>string</code> | The service account used for the encryption request for the given KMS key. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey.property.rawKey">rawKey</a></code> | <code>string</code> | Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. |

---

##### `kmsKeySelfLink`<sup>Optional</sup> <a name="kmsKeySelfLink" id="@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey.property.kmsKeySelfLink"></a>

```typescript
public readonly kmsKeySelfLink: string;
```

- *Type:* string

The name of the encryption key that is stored in Google Cloud KMS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#kms_key_self_link ComputeSnapshot#kms_key_self_link}

---

##### `kmsKeyServiceAccount`<sup>Optional</sup> <a name="kmsKeyServiceAccount" id="@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey.property.kmsKeyServiceAccount"></a>

```typescript
public readonly kmsKeyServiceAccount: string;
```

- *Type:* string

The service account used for the encryption request for the given KMS key.

If absent, the Compute Engine Service Agent service account is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#kms_key_service_account ComputeSnapshot#kms_key_service_account}

---

##### `rawKey`<sup>Optional</sup> <a name="rawKey" id="@dschmidt/provider-google.ComputeSnapshotSnapshotEncryptionKey.property.rawKey"></a>

```typescript
public readonly rawKey: string;
```

- *Type:* string

Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#raw_key ComputeSnapshot#raw_key}

---

### ComputeSnapshotSourceDiskEncryptionKey <a name="ComputeSnapshotSourceDiskEncryptionKey" id="@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey.Initializer"></a>

```typescript
import { ComputeSnapshotSourceDiskEncryptionKey } from '@dschmidt/provider-google'

const computeSnapshotSourceDiskEncryptionKey: ComputeSnapshotSourceDiskEncryptionKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey.property.kmsKeyServiceAccount">kmsKeyServiceAccount</a></code> | <code>string</code> | The service account used for the encryption request for the given KMS key. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey.property.rawKey">rawKey</a></code> | <code>string</code> | Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. |

---

##### `kmsKeyServiceAccount`<sup>Optional</sup> <a name="kmsKeyServiceAccount" id="@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey.property.kmsKeyServiceAccount"></a>

```typescript
public readonly kmsKeyServiceAccount: string;
```

- *Type:* string

The service account used for the encryption request for the given KMS key.

If absent, the Compute Engine Service Agent service account is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#kms_key_service_account ComputeSnapshot#kms_key_service_account}

---

##### `rawKey`<sup>Optional</sup> <a name="rawKey" id="@dschmidt/provider-google.ComputeSnapshotSourceDiskEncryptionKey.property.rawKey"></a>

```typescript
public readonly rawKey: string;
```

- *Type:* string

Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#raw_key ComputeSnapshot#raw_key}

---

### ComputeSnapshotTimeouts <a name="ComputeSnapshotTimeouts" id="@dschmidt/provider-google.ComputeSnapshotTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSnapshotTimeouts.Initializer"></a>

```typescript
import { ComputeSnapshotTimeouts } from '@dschmidt/provider-google'

const computeSnapshotTimeouts: ComputeSnapshotTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#create ComputeSnapshot#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#delete ComputeSnapshot#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeSnapshotTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#update ComputeSnapshot#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeSnapshotTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#create ComputeSnapshot#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeSnapshotTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#delete ComputeSnapshot#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeSnapshotTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_snapshot#update ComputeSnapshot#update}.

---

### ComputeSslCertificateConfig <a name="ComputeSslCertificateConfig" id="@dschmidt/provider-google.ComputeSslCertificateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSslCertificateConfig.Initializer"></a>

```typescript
import { ComputeSslCertificateConfig } from '@dschmidt/provider-google'

const computeSslCertificateConfig: ComputeSslCertificateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.certificate">certificate</a></code> | <code>string</code> | The certificate in PEM format. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.privateKey">privateKey</a></code> | <code>string</code> | The write-only private key in PEM format. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#id ComputeSslCertificate#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.namePrefix">namePrefix</a></code> | <code>string</code> | Creates a unique name beginning with the specified prefix. Conflicts with name. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#project ComputeSslCertificate#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSslCertificateTimeouts">ComputeSslCertificateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificate`<sup>Required</sup> <a name="certificate" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.certificate"></a>

```typescript
public readonly certificate: string;
```

- *Type:* string

The certificate in PEM format.

The certificate chain must be no greater than 5 certs long.
The chain must include at least one intermediate cert.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#certificate ComputeSslCertificate#certificate}

---

##### `privateKey`<sup>Required</sup> <a name="privateKey" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.privateKey"></a>

```typescript
public readonly privateKey: string;
```

- *Type:* string

The write-only private key in PEM format.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#private_key ComputeSslCertificate#private_key}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#description ComputeSslCertificate#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#id ComputeSslCertificate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.


These are in the same namespace as the managed SSL certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#name ComputeSslCertificate#name}

---

##### `namePrefix`<sup>Optional</sup> <a name="namePrefix" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

Creates a unique name beginning with the specified prefix. Conflicts with name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#name_prefix ComputeSslCertificate#name_prefix}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#project ComputeSslCertificate#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSslCertificateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSslCertificateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSslCertificateTimeouts">ComputeSslCertificateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#timeouts ComputeSslCertificate#timeouts}

---

### ComputeSslCertificateTimeouts <a name="ComputeSslCertificateTimeouts" id="@dschmidt/provider-google.ComputeSslCertificateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSslCertificateTimeouts.Initializer"></a>

```typescript
import { ComputeSslCertificateTimeouts } from '@dschmidt/provider-google'

const computeSslCertificateTimeouts: ComputeSslCertificateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#create ComputeSslCertificate#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeSslCertificateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#delete ComputeSslCertificate#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeSslCertificateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#create ComputeSslCertificate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeSslCertificateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_certificate#delete ComputeSslCertificate#delete}.

---

### ComputeSslPolicyConfig <a name="ComputeSslPolicyConfig" id="@dschmidt/provider-google.ComputeSslPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSslPolicyConfig.Initializer"></a>

```typescript
import { ComputeSslPolicyConfig } from '@dschmidt/provider-google'

const computeSslPolicyConfig: ComputeSslPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.customFeatures">customFeatures</a></code> | <code>string[]</code> | Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#id ComputeSslPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.minTlsVersion">minTlsVersion</a></code> | <code>string</code> | The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.profile">profile</a></code> | <code>string</code> | Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#project ComputeSslPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSslPolicyTimeouts">ComputeSslPolicyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#name ComputeSslPolicy#name}

---

##### `customFeatures`<sup>Optional</sup> <a name="customFeatures" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.customFeatures"></a>

```typescript
public readonly customFeatures: string[];
```

- *Type:* string[]

Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients.

This can be one of
'COMPATIBLE', 'MODERN', 'RESTRICTED', or 'CUSTOM'. If using 'CUSTOM',
the set of SSL features to enable must be specified in the
'customFeatures' field.

See the [official documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport)
for which ciphers are available to use. **Note**: this argument
must* be present when using the 'CUSTOM' profile. This argument
must not* be present when using any other profile.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#custom_features ComputeSslPolicy#custom_features}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#description ComputeSslPolicy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#id ComputeSslPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `minTlsVersion`<sup>Optional</sup> <a name="minTlsVersion" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.minTlsVersion"></a>

```typescript
public readonly minTlsVersion: string;
```

- *Type:* string

The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer.

Default value: "TLS_1_0" Possible values: ["TLS_1_0", "TLS_1_1", "TLS_1_2"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#min_tls_version ComputeSslPolicy#min_tls_version}

---

##### `profile`<sup>Optional</sup> <a name="profile" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.profile"></a>

```typescript
public readonly profile: string;
```

- *Type:* string

Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients.

If using 'CUSTOM',
the set of SSL features to enable must be specified in the
'customFeatures' field.

See the [official documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport)
for information on what cipher suites each profile provides. If
'CUSTOM' is used, the 'custom_features' attribute **must be set**. Default value: "COMPATIBLE" Possible values: ["COMPATIBLE", "MODERN", "RESTRICTED", "CUSTOM"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#profile ComputeSslPolicy#profile}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#project ComputeSslPolicy#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSslPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSslPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSslPolicyTimeouts">ComputeSslPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#timeouts ComputeSslPolicy#timeouts}

---

### ComputeSslPolicyTimeouts <a name="ComputeSslPolicyTimeouts" id="@dschmidt/provider-google.ComputeSslPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSslPolicyTimeouts.Initializer"></a>

```typescript
import { ComputeSslPolicyTimeouts } from '@dschmidt/provider-google'

const computeSslPolicyTimeouts: ComputeSslPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#create ComputeSslPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#delete ComputeSslPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeSslPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#update ComputeSslPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeSslPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#create ComputeSslPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeSslPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#delete ComputeSslPolicy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeSslPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_ssl_policy#update ComputeSslPolicy#update}.

---

### ComputeSubnetworkConfig <a name="ComputeSubnetworkConfig" id="@dschmidt/provider-google.ComputeSubnetworkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSubnetworkConfig.Initializer"></a>

```typescript
import { ComputeSubnetworkConfig } from '@dschmidt/provider-google'

const computeSubnetworkConfig: ComputeSubnetworkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.ipCidrRange">ipCidrRange</a></code> | <code>string</code> | The range of internal addresses that are owned by this subnetwork. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.name">name</a></code> | <code>string</code> | The name of the resource, provided by the client when initially creating the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.network">network</a></code> | <code>string</code> | The network this subnet belongs to. Only networks that are in the distributed mode can have subnetworks. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#id ComputeSubnetwork#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.ipv6AccessType">ipv6AccessType</a></code> | <code>string</code> | The access type of IPv6 address this subnet holds. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig">ComputeSubnetworkLogConfig</a></code> | log_config block. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.privateIpGoogleAccess">privateIpGoogleAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | When enabled, VMs in this subnetwork without external IP addresses can access Google APIs and services by using Private Google Access. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.privateIpv6GoogleAccess">privateIpv6GoogleAccess</a></code> | <code>string</code> | The private IPv6 google access type for the VMs in this subnet. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#project ComputeSubnetwork#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.purpose">purpose</a></code> | <code>string</code> | The purpose of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.region">region</a></code> | <code>string</code> | The GCP region for this subnetwork. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.role">role</a></code> | <code>string</code> | The role of subnetwork. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.secondaryIpRange">secondaryIpRange</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange">ComputeSubnetworkSecondaryIpRange</a>[]</code> | An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.stackType">stackType</a></code> | <code>string</code> | The stack type for this subnet to identify whether the IPv6 feature is enabled or not. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkTimeouts">ComputeSubnetworkTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `ipCidrRange`<sup>Required</sup> <a name="ipCidrRange" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.ipCidrRange"></a>

```typescript
public readonly ipCidrRange: string;
```

- *Type:* string

The range of internal addresses that are owned by this subnetwork.

Provide this property when you create the subnetwork. For example,
10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
non-overlapping within a network. Only IPv4 is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#ip_cidr_range ComputeSubnetwork#ip_cidr_range}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the resource, provided by the client when initially creating the resource.

The name must be 1-63 characters long, and
comply with RFC1035. Specifically, the name must be 1-63 characters
long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which
means the first character must be a lowercase letter, and all
following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#name ComputeSubnetwork#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The network this subnet belongs to. Only networks that are in the distributed mode can have subnetworks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#network ComputeSubnetwork#network}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Provide this property when
you create the resource. This field can be set only at resource
creation time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#description ComputeSubnetwork#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#id ComputeSubnetwork#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipv6AccessType`<sup>Optional</sup> <a name="ipv6AccessType" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.ipv6AccessType"></a>

```typescript
public readonly ipv6AccessType: string;
```

- *Type:* string

The access type of IPv6 address this subnet holds.

It's immutable and can only be specified during creation
or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
cannot enable direct path. Possible values: ["EXTERNAL", "INTERNAL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#ipv6_access_type ComputeSubnetwork#ipv6_access_type}

---

##### `logConfig`<sup>Optional</sup> <a name="logConfig" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.logConfig"></a>

```typescript
public readonly logConfig: ComputeSubnetworkLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig">ComputeSubnetworkLogConfig</a>

log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#log_config ComputeSubnetwork#log_config}

---

##### `privateIpGoogleAccess`<sup>Optional</sup> <a name="privateIpGoogleAccess" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.privateIpGoogleAccess"></a>

```typescript
public readonly privateIpGoogleAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When enabled, VMs in this subnetwork without external IP addresses can access Google APIs and services by using Private Google Access.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#private_ip_google_access ComputeSubnetwork#private_ip_google_access}

---

##### `privateIpv6GoogleAccess`<sup>Optional</sup> <a name="privateIpv6GoogleAccess" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.privateIpv6GoogleAccess"></a>

```typescript
public readonly privateIpv6GoogleAccess: string;
```

- *Type:* string

The private IPv6 google access type for the VMs in this subnet.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#private_ipv6_google_access ComputeSubnetwork#private_ipv6_google_access}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#project ComputeSubnetwork#project}.

---

##### `purpose`<sup>Optional</sup> <a name="purpose" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.purpose"></a>

```typescript
public readonly purpose: string;
```

- *Type:* string

The purpose of the resource.

A subnetwork with purpose set to
INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is
reserved for Internal HTTP(S) Load Balancing.

If set to INTERNAL_HTTPS_LOAD_BALANCER you must also set the 'role' field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#purpose ComputeSubnetwork#purpose}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The GCP region for this subnetwork.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#region ComputeSubnetwork#region}

---

##### `role`<sup>Optional</sup> <a name="role" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

The role of subnetwork.

Currently, this field is only used when
purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE
or BACKUP. An ACTIVE subnetwork is one that is currently being used
for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that
is ready to be promoted to ACTIVE or is currently draining. Possible values: ["ACTIVE", "BACKUP"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#role ComputeSubnetwork#role}

---

##### `secondaryIpRange`<sup>Optional</sup> <a name="secondaryIpRange" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.secondaryIpRange"></a>

```typescript
public readonly secondaryIpRange: IResolvable | ComputeSubnetworkSecondaryIpRange[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange">ComputeSubnetworkSecondaryIpRange</a>[]

An array of configurations for secondary IP ranges for VM instances contained in this subnetwork.

The primary IP of such VM must belong
to the primary ipCidrRange of the subnetwork. The alias IPs may belong
to either primary or secondary ranges.

*Note**: This field uses [attr-as-block mode](https://www.terraform.io/docs/configuration/attr-as-blocks.html) to avoid
breaking users during the 0.12 upgrade. To explicitly send a list
of zero objects you must use the following syntax:
'example=[]'
For more details about this behavior, see [this section](https://www.terraform.io/docs/configuration/attr-as-blocks.html#defining-a-fixed-object-collection-value).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#secondary_ip_range ComputeSubnetwork#secondary_ip_range}

---

##### `stackType`<sup>Optional</sup> <a name="stackType" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.stackType"></a>

```typescript
public readonly stackType: string;
```

- *Type:* string

The stack type for this subnet to identify whether the IPv6 feature is enabled or not.

If not specified IPV4_ONLY will be used. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#stack_type ComputeSubnetwork#stack_type}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeSubnetworkConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeSubnetworkTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkTimeouts">ComputeSubnetworkTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#timeouts ComputeSubnetwork#timeouts}

---

### ComputeSubnetworkIamBindingCondition <a name="ComputeSubnetworkIamBindingCondition" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition.Initializer"></a>

```typescript
import { ComputeSubnetworkIamBindingCondition } from '@dschmidt/provider-google'

const computeSubnetworkIamBindingCondition: ComputeSubnetworkIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#expression ComputeSubnetworkIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#title ComputeSubnetworkIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#description ComputeSubnetworkIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#expression ComputeSubnetworkIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#title ComputeSubnetworkIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#description ComputeSubnetworkIamBinding#description}.

---

### ComputeSubnetworkIamBindingConfig <a name="ComputeSubnetworkIamBindingConfig" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.Initializer"></a>

```typescript
import { ComputeSubnetworkIamBindingConfig } from '@dschmidt/provider-google'

const computeSubnetworkIamBindingConfig: ComputeSubnetworkIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#members ComputeSubnetworkIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#role ComputeSubnetworkIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#subnetwork ComputeSubnetworkIamBinding#subnetwork}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition">ComputeSubnetworkIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#id ComputeSubnetworkIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#project ComputeSubnetworkIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#region ComputeSubnetworkIamBinding#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#members ComputeSubnetworkIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#role ComputeSubnetworkIamBinding#role}.

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#subnetwork ComputeSubnetworkIamBinding#subnetwork}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ComputeSubnetworkIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamBindingCondition">ComputeSubnetworkIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#condition ComputeSubnetworkIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#id ComputeSubnetworkIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#project ComputeSubnetworkIamBinding#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeSubnetworkIamBindingConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_binding#region ComputeSubnetworkIamBinding#region}.

---

### ComputeSubnetworkIamMemberCondition <a name="ComputeSubnetworkIamMemberCondition" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition.Initializer"></a>

```typescript
import { ComputeSubnetworkIamMemberCondition } from '@dschmidt/provider-google'

const computeSubnetworkIamMemberCondition: ComputeSubnetworkIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#expression ComputeSubnetworkIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#title ComputeSubnetworkIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#description ComputeSubnetworkIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#expression ComputeSubnetworkIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#title ComputeSubnetworkIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#description ComputeSubnetworkIamMember#description}.

---

### ComputeSubnetworkIamMemberConfig <a name="ComputeSubnetworkIamMemberConfig" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.Initializer"></a>

```typescript
import { ComputeSubnetworkIamMemberConfig } from '@dschmidt/provider-google'

const computeSubnetworkIamMemberConfig: ComputeSubnetworkIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#member ComputeSubnetworkIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#role ComputeSubnetworkIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#subnetwork ComputeSubnetworkIamMember#subnetwork}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition">ComputeSubnetworkIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#id ComputeSubnetworkIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#project ComputeSubnetworkIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#region ComputeSubnetworkIamMember#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#member ComputeSubnetworkIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#role ComputeSubnetworkIamMember#role}.

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#subnetwork ComputeSubnetworkIamMember#subnetwork}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ComputeSubnetworkIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeSubnetworkIamMemberCondition">ComputeSubnetworkIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#condition ComputeSubnetworkIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#id ComputeSubnetworkIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#project ComputeSubnetworkIamMember#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeSubnetworkIamMemberConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_member#region ComputeSubnetworkIamMember#region}.

---

### ComputeSubnetworkIamPolicyConfig <a name="ComputeSubnetworkIamPolicyConfig" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.Initializer"></a>

```typescript
import { ComputeSubnetworkIamPolicyConfig } from '@dschmidt/provider-google'

const computeSubnetworkIamPolicyConfig: ComputeSubnetworkIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#policy_data ComputeSubnetworkIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#subnetwork ComputeSubnetworkIamPolicy#subnetwork}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#id ComputeSubnetworkIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#project ComputeSubnetworkIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#region ComputeSubnetworkIamPolicy#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#policy_data ComputeSubnetworkIamPolicy#policy_data}.

---

##### `subnetwork`<sup>Required</sup> <a name="subnetwork" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#subnetwork ComputeSubnetworkIamPolicy#subnetwork}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#id ComputeSubnetworkIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#project ComputeSubnetworkIamPolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeSubnetworkIamPolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork_iam_policy#region ComputeSubnetworkIamPolicy#region}.

---

### ComputeSubnetworkLogConfig <a name="ComputeSubnetworkLogConfig" id="@dschmidt/provider-google.ComputeSubnetworkLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSubnetworkLogConfig.Initializer"></a>

```typescript
import { ComputeSubnetworkLogConfig } from '@dschmidt/provider-google'

const computeSubnetworkLogConfig: ComputeSubnetworkLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.aggregationInterval">aggregationInterval</a></code> | <code>string</code> | Can only be specified if VPC flow logging for this subnetwork is enabled. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.filterExpr">filterExpr</a></code> | <code>string</code> | Export filter used to define which VPC flow logs should be logged, as as CEL expression. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.flowSampling">flowSampling</a></code> | <code>number</code> | Can only be specified if VPC flow logging for this subnetwork is enabled. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.metadata">metadata</a></code> | <code>string</code> | Can only be specified if VPC flow logging for this subnetwork is enabled. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.metadataFields">metadataFields</a></code> | <code>string[]</code> | List of metadata fields that should be added to reported logs. |

---

##### `aggregationInterval`<sup>Optional</sup> <a name="aggregationInterval" id="@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.aggregationInterval"></a>

```typescript
public readonly aggregationInterval: string;
```

- *Type:* string

Can only be specified if VPC flow logging for this subnetwork is enabled.

Toggles the aggregation interval for collecting flow logs. Increasing the
interval time will reduce the amount of generated flow logs for long
lasting connections. Default is an interval of 5 seconds per connection. Default value: "INTERVAL_5_SEC" Possible values: ["INTERVAL_5_SEC", "INTERVAL_30_SEC", "INTERVAL_1_MIN", "INTERVAL_5_MIN", "INTERVAL_10_MIN", "INTERVAL_15_MIN"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#aggregation_interval ComputeSubnetwork#aggregation_interval}

---

##### `filterExpr`<sup>Optional</sup> <a name="filterExpr" id="@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.filterExpr"></a>

```typescript
public readonly filterExpr: string;
```

- *Type:* string

Export filter used to define which VPC flow logs should be logged, as as CEL expression.

See
https://cloud.google.com/vpc/docs/flow-logs#filtering for details on how to format this field.
The default value is 'true', which evaluates to include everything.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#filter_expr ComputeSubnetwork#filter_expr}

---

##### `flowSampling`<sup>Optional</sup> <a name="flowSampling" id="@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.flowSampling"></a>

```typescript
public readonly flowSampling: number;
```

- *Type:* number

Can only be specified if VPC flow logging for this subnetwork is enabled.

The value of the field must be in [0, 1]. Set the sampling rate of VPC
flow logs within the subnetwork where 1.0 means all collected logs are
reported and 0.0 means no logs are reported. Default is 0.5 which means
half of all collected logs are reported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#flow_sampling ComputeSubnetwork#flow_sampling}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.metadata"></a>

```typescript
public readonly metadata: string;
```

- *Type:* string

Can only be specified if VPC flow logging for this subnetwork is enabled.

Configures whether metadata fields should be added to the reported VPC
flow logs. Default value: "INCLUDE_ALL_METADATA" Possible values: ["EXCLUDE_ALL_METADATA", "INCLUDE_ALL_METADATA", "CUSTOM_METADATA"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#metadata ComputeSubnetwork#metadata}

---

##### `metadataFields`<sup>Optional</sup> <a name="metadataFields" id="@dschmidt/provider-google.ComputeSubnetworkLogConfig.property.metadataFields"></a>

```typescript
public readonly metadataFields: string[];
```

- *Type:* string[]

List of metadata fields that should be added to reported logs.

Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" is set to CUSTOM_METADATA.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#metadata_fields ComputeSubnetwork#metadata_fields}

---

### ComputeSubnetworkSecondaryIpRange <a name="ComputeSubnetworkSecondaryIpRange" id="@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange.Initializer"></a>

```typescript
import { ComputeSubnetworkSecondaryIpRange } from '@dschmidt/provider-google'

const computeSubnetworkSecondaryIpRange: ComputeSubnetworkSecondaryIpRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange.property.ipCidrRange">ipCidrRange</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#ip_cidr_range ComputeSubnetwork#ip_cidr_range}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange.property.rangeName">rangeName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#range_name ComputeSubnetwork#range_name}. |

---

##### `ipCidrRange`<sup>Optional</sup> <a name="ipCidrRange" id="@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange.property.ipCidrRange"></a>

```typescript
public readonly ipCidrRange: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#ip_cidr_range ComputeSubnetwork#ip_cidr_range}.

---

##### `rangeName`<sup>Optional</sup> <a name="rangeName" id="@dschmidt/provider-google.ComputeSubnetworkSecondaryIpRange.property.rangeName"></a>

```typescript
public readonly rangeName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#range_name ComputeSubnetwork#range_name}.

---

### ComputeSubnetworkTimeouts <a name="ComputeSubnetworkTimeouts" id="@dschmidt/provider-google.ComputeSubnetworkTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeSubnetworkTimeouts.Initializer"></a>

```typescript
import { ComputeSubnetworkTimeouts } from '@dschmidt/provider-google'

const computeSubnetworkTimeouts: ComputeSubnetworkTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#create ComputeSubnetwork#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#delete ComputeSubnetwork#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeSubnetworkTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#update ComputeSubnetwork#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeSubnetworkTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#create ComputeSubnetwork#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeSubnetworkTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#delete ComputeSubnetwork#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeSubnetworkTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_subnetwork#update ComputeSubnetwork#update}.

---

### ComputeTargetGrpcProxyConfig <a name="ComputeTargetGrpcProxyConfig" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.Initializer"></a>

```typescript
import { ComputeTargetGrpcProxyConfig } from '@dschmidt/provider-google'

const computeTargetGrpcProxyConfig: ComputeTargetGrpcProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#id ComputeTargetGrpcProxy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#project ComputeTargetGrpcProxy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts">ComputeTargetGrpcProxyTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.urlMap">urlMap</a></code> | <code>string</code> | URL to the UrlMap resource that defines the mapping from URL to the BackendService. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.validateForProxyless">validateForProxyless</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, indicates that the BackendServices referenced by the urlMap may be accessed by gRPC applications without using a sidecar proxy. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource
is created. The name must be 1-63 characters long, and comply
with RFC1035. Specifically, the name must be 1-63 characters long
and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which
means the first character must be a lowercase letter, and all
following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#name ComputeTargetGrpcProxy#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#description ComputeTargetGrpcProxy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#id ComputeTargetGrpcProxy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#project ComputeTargetGrpcProxy#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetGrpcProxyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts">ComputeTargetGrpcProxyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#timeouts ComputeTargetGrpcProxy#timeouts}

---

##### `urlMap`<sup>Optional</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

URL to the UrlMap resource that defines the mapping from URL to the BackendService.

The protocol field in the BackendService
must be set to GRPC.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#url_map ComputeTargetGrpcProxy#url_map}

---

##### `validateForProxyless`<sup>Optional</sup> <a name="validateForProxyless" id="@dschmidt/provider-google.ComputeTargetGrpcProxyConfig.property.validateForProxyless"></a>

```typescript
public readonly validateForProxyless: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, indicates that the BackendServices referenced by the urlMap may be accessed by gRPC applications without using a sidecar proxy.

This will enable configuration checks on urlMap
and its referenced BackendServices to not allow unsupported features.
A gRPC application must use "xds:///" scheme in the target URI
of the service it is connecting to. If false, indicates that the
BackendServices referenced by the urlMap will be accessed by gRPC
applications via a sidecar proxy. In this case, a gRPC application
must not use "xds:///" scheme in the target URI of the service
it is connecting to

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#validate_for_proxyless ComputeTargetGrpcProxy#validate_for_proxyless}

---

### ComputeTargetGrpcProxyTimeouts <a name="ComputeTargetGrpcProxyTimeouts" id="@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts.Initializer"></a>

```typescript
import { ComputeTargetGrpcProxyTimeouts } from '@dschmidt/provider-google'

const computeTargetGrpcProxyTimeouts: ComputeTargetGrpcProxyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#create ComputeTargetGrpcProxy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#delete ComputeTargetGrpcProxy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#update ComputeTargetGrpcProxy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#create ComputeTargetGrpcProxy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#delete ComputeTargetGrpcProxy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeTargetGrpcProxyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_grpc_proxy#update ComputeTargetGrpcProxy#update}.

---

### ComputeTargetHttpProxyConfig <a name="ComputeTargetHttpProxyConfig" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.Initializer"></a>

```typescript
import { ComputeTargetHttpProxyConfig } from '@dschmidt/provider-google'

const computeTargetHttpProxyConfig: ComputeTargetHttpProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.urlMap">urlMap</a></code> | <code>string</code> | A reference to the UrlMap resource that defines the mapping from URL to the BackendService. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#id ComputeTargetHttpProxy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#project ComputeTargetHttpProxy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.proxyBind">proxyBind</a></code> | <code>boolean \| cdktf.IResolvable</code> | This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts">ComputeTargetHttpProxyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#name ComputeTargetHttpProxy#name}

---

##### `urlMap`<sup>Required</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

A reference to the UrlMap resource that defines the mapping from URL to the BackendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#url_map ComputeTargetHttpProxy#url_map}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#description ComputeTargetHttpProxy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#id ComputeTargetHttpProxy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#project ComputeTargetHttpProxy#project}.

---

##### `proxyBind`<sup>Optional</sup> <a name="proxyBind" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.proxyBind"></a>

```typescript
public readonly proxyBind: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#proxy_bind ComputeTargetHttpProxy#proxy_bind}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetHttpProxyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetHttpProxyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts">ComputeTargetHttpProxyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#timeouts ComputeTargetHttpProxy#timeouts}

---

### ComputeTargetHttpProxyTimeouts <a name="ComputeTargetHttpProxyTimeouts" id="@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts.Initializer"></a>

```typescript
import { ComputeTargetHttpProxyTimeouts } from '@dschmidt/provider-google'

const computeTargetHttpProxyTimeouts: ComputeTargetHttpProxyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#create ComputeTargetHttpProxy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#delete ComputeTargetHttpProxy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#update ComputeTargetHttpProxy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#create ComputeTargetHttpProxy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#delete ComputeTargetHttpProxy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeTargetHttpProxyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_http_proxy#update ComputeTargetHttpProxy#update}.

---

### ComputeTargetHttpsProxyConfig <a name="ComputeTargetHttpsProxyConfig" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.Initializer"></a>

```typescript
import { ComputeTargetHttpsProxyConfig } from '@dschmidt/provider-google'

const computeTargetHttpsProxyConfig: ComputeTargetHttpsProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.urlMap">urlMap</a></code> | <code>string</code> | A reference to the UrlMap resource that defines the mapping from URL to the BackendService. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.certificateMap">certificateMap</a></code> | <code>string</code> | A reference to the CertificateMap resource uri that identifies a certificate map  associated with the given target proxy. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#id ComputeTargetHttpsProxy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#project ComputeTargetHttpsProxy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.proxyBind">proxyBind</a></code> | <code>boolean \| cdktf.IResolvable</code> | This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.quicOverride">quicOverride</a></code> | <code>string</code> | Specifies the QUIC override policy for this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.sslCertificates">sslCertificates</a></code> | <code>string[]</code> | A list of SslCertificate resources that are used to authenticate connections between users and the load balancer. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.sslPolicy">sslPolicy</a></code> | <code>string</code> | A reference to the SslPolicy resource that will be associated with the TargetHttpsProxy resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts">ComputeTargetHttpsProxyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#name ComputeTargetHttpsProxy#name}

---

##### `urlMap`<sup>Required</sup> <a name="urlMap" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.urlMap"></a>

```typescript
public readonly urlMap: string;
```

- *Type:* string

A reference to the UrlMap resource that defines the mapping from URL to the BackendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#url_map ComputeTargetHttpsProxy#url_map}

---

##### `certificateMap`<sup>Optional</sup> <a name="certificateMap" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.certificateMap"></a>

```typescript
public readonly certificateMap: string;
```

- *Type:* string

A reference to the CertificateMap resource uri that identifies a certificate map  associated with the given target proxy.

This field can only be set for global target proxies.
Accepted format is '//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificateMaps/{resourceName}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#certificate_map ComputeTargetHttpsProxy#certificate_map}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#description ComputeTargetHttpsProxy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#id ComputeTargetHttpsProxy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#project ComputeTargetHttpsProxy#project}.

---

##### `proxyBind`<sup>Optional</sup> <a name="proxyBind" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.proxyBind"></a>

```typescript
public readonly proxyBind: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#proxy_bind ComputeTargetHttpsProxy#proxy_bind}

---

##### `quicOverride`<sup>Optional</sup> <a name="quicOverride" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.quicOverride"></a>

```typescript
public readonly quicOverride: string;
```

- *Type:* string

Specifies the QUIC override policy for this resource.

This determines
whether the load balancer will attempt to negotiate QUIC with clients
or not. Can specify one of NONE, ENABLE, or DISABLE. If NONE is
specified, uses the QUIC policy with no user overrides, which is
equivalent to DISABLE. Default value: "NONE" Possible values: ["NONE", "ENABLE", "DISABLE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#quic_override ComputeTargetHttpsProxy#quic_override}

---

##### `sslCertificates`<sup>Optional</sup> <a name="sslCertificates" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.sslCertificates"></a>

```typescript
public readonly sslCertificates: string[];
```

- *Type:* string[]

A list of SslCertificate resources that are used to authenticate connections between users and the load balancer.

At least one SSL
certificate must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#ssl_certificates ComputeTargetHttpsProxy#ssl_certificates}

---

##### `sslPolicy`<sup>Optional</sup> <a name="sslPolicy" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.sslPolicy"></a>

```typescript
public readonly sslPolicy: string;
```

- *Type:* string

A reference to the SslPolicy resource that will be associated with the TargetHttpsProxy resource.

If not set, the TargetHttpsProxy
resource will not have any SSL policy configured.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#ssl_policy ComputeTargetHttpsProxy#ssl_policy}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetHttpsProxyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetHttpsProxyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts">ComputeTargetHttpsProxyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#timeouts ComputeTargetHttpsProxy#timeouts}

---

### ComputeTargetHttpsProxyTimeouts <a name="ComputeTargetHttpsProxyTimeouts" id="@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts.Initializer"></a>

```typescript
import { ComputeTargetHttpsProxyTimeouts } from '@dschmidt/provider-google'

const computeTargetHttpsProxyTimeouts: ComputeTargetHttpsProxyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#create ComputeTargetHttpsProxy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#delete ComputeTargetHttpsProxy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#update ComputeTargetHttpsProxy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#create ComputeTargetHttpsProxy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#delete ComputeTargetHttpsProxy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeTargetHttpsProxyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_https_proxy#update ComputeTargetHttpsProxy#update}.

---

### ComputeTargetInstanceConfig <a name="ComputeTargetInstanceConfig" id="@dschmidt/provider-google.ComputeTargetInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.Initializer"></a>

```typescript
import { ComputeTargetInstanceConfig } from '@dschmidt/provider-google'

const computeTargetInstanceConfig: ComputeTargetInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.instance">instance</a></code> | <code>string</code> | The Compute instance VM handling traffic for this target instance. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#id ComputeTargetInstance#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.natPolicy">natPolicy</a></code> | <code>string</code> | NAT option controlling how IPs are NAT'ed to the instance. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#project ComputeTargetInstance#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceTimeouts">ComputeTargetInstanceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceConfig.property.zone">zone</a></code> | <code>string</code> | URL of the zone where the target instance resides. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

The Compute instance VM handling traffic for this target instance.

Accepts the instance self-link, relative path
(e.g. 'projects/project/zones/zone/instances/instance') or name. If
name is given, the zone will default to the given zone or
the provider-default zone and the project will default to the
provider-level project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#instance ComputeTargetInstance#instance}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#name ComputeTargetInstance#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#description ComputeTargetInstance#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#id ComputeTargetInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `natPolicy`<sup>Optional</sup> <a name="natPolicy" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.natPolicy"></a>

```typescript
public readonly natPolicy: string;
```

- *Type:* string

NAT option controlling how IPs are NAT'ed to the instance.

Currently only NO_NAT (default value) is supported. Default value: "NO_NAT" Possible values: ["NO_NAT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#nat_policy ComputeTargetInstance#nat_policy}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#project ComputeTargetInstance#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetInstanceTimeouts">ComputeTargetInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#timeouts ComputeTargetInstance#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.ComputeTargetInstanceConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

URL of the zone where the target instance resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#zone ComputeTargetInstance#zone}

---

### ComputeTargetInstanceTimeouts <a name="ComputeTargetInstanceTimeouts" id="@dschmidt/provider-google.ComputeTargetInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetInstanceTimeouts.Initializer"></a>

```typescript
import { ComputeTargetInstanceTimeouts } from '@dschmidt/provider-google'

const computeTargetInstanceTimeouts: ComputeTargetInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#create ComputeTargetInstance#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#delete ComputeTargetInstance#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeTargetInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#create ComputeTargetInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeTargetInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_instance#delete ComputeTargetInstance#delete}.

---

### ComputeTargetPoolConfig <a name="ComputeTargetPoolConfig" id="@dschmidt/provider-google.ComputeTargetPoolConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetPoolConfig.Initializer"></a>

```typescript
import { ComputeTargetPoolConfig } from '@dschmidt/provider-google'

const computeTargetPoolConfig: ComputeTargetPoolConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.name">name</a></code> | <code>string</code> | A unique name for the resource, required by GCE. Changing this forces a new resource to be created. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.backupPool">backupPool</a></code> | <code>string</code> | URL to the backup target pool. Must also set failover_ratio. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.description">description</a></code> | <code>string</code> | Textual description field. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.failoverRatio">failoverRatio</a></code> | <code>number</code> | Ratio (0 to 1) of failed nodes before using the backup pool (which must also be set). |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.healthChecks">healthChecks</a></code> | <code>string[]</code> | List of zero or one health check name or self_link. Only legacy google_compute_http_health_check is supported. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#id ComputeTargetPool#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.instances">instances</a></code> | <code>string[]</code> | List of instances in the pool. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.region">region</a></code> | <code>string</code> | Where the target pool resides. Defaults to project region. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.sessionAffinity">sessionAffinity</a></code> | <code>string</code> | How to distribute load. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetPoolTimeouts">ComputeTargetPoolTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A unique name for the resource, required by GCE. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#name ComputeTargetPool#name}

---

##### `backupPool`<sup>Optional</sup> <a name="backupPool" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.backupPool"></a>

```typescript
public readonly backupPool: string;
```

- *Type:* string

URL to the backup target pool. Must also set failover_ratio.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#backup_pool ComputeTargetPool#backup_pool}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Textual description field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#description ComputeTargetPool#description}

---

##### `failoverRatio`<sup>Optional</sup> <a name="failoverRatio" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.failoverRatio"></a>

```typescript
public readonly failoverRatio: number;
```

- *Type:* number

Ratio (0 to 1) of failed nodes before using the backup pool (which must also be set).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#failover_ratio ComputeTargetPool#failover_ratio}

---

##### `healthChecks`<sup>Optional</sup> <a name="healthChecks" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.healthChecks"></a>

```typescript
public readonly healthChecks: string[];
```

- *Type:* string[]

List of zero or one health check name or self_link. Only legacy google_compute_http_health_check is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#health_checks ComputeTargetPool#health_checks}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#id ComputeTargetPool#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `instances`<sup>Optional</sup> <a name="instances" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.instances"></a>

```typescript
public readonly instances: string[];
```

- *Type:* string[]

List of instances in the pool.

They can be given as URLs, or in the form of "zone/name". Note that the instances need not exist at the time of target pool creation, so there is no need to use the Terraform interpolators to create a dependency on the instances from the target pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#instances ComputeTargetPool#instances}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#project ComputeTargetPool#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Where the target pool resides. Defaults to project region.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#region ComputeTargetPool#region}

---

##### `sessionAffinity`<sup>Optional</sup> <a name="sessionAffinity" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.sessionAffinity"></a>

```typescript
public readonly sessionAffinity: string;
```

- *Type:* string

How to distribute load.

Options are "NONE" (no affinity). "CLIENT_IP" (hash of the source/dest addresses / ports), and "CLIENT_IP_PROTO" also includes the protocol (default "NONE").

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#session_affinity ComputeTargetPool#session_affinity}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetPoolConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetPoolTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetPoolTimeouts">ComputeTargetPoolTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#timeouts ComputeTargetPool#timeouts}

---

### ComputeTargetPoolTimeouts <a name="ComputeTargetPoolTimeouts" id="@dschmidt/provider-google.ComputeTargetPoolTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetPoolTimeouts.Initializer"></a>

```typescript
import { ComputeTargetPoolTimeouts } from '@dschmidt/provider-google'

const computeTargetPoolTimeouts: ComputeTargetPoolTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#create ComputeTargetPool#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#delete ComputeTargetPool#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetPoolTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#update ComputeTargetPool#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeTargetPoolTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#create ComputeTargetPool#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeTargetPoolTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#delete ComputeTargetPool#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeTargetPoolTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_pool#update ComputeTargetPool#update}.

---

### ComputeTargetSslProxyConfig <a name="ComputeTargetSslProxyConfig" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.Initializer"></a>

```typescript
import { ComputeTargetSslProxyConfig } from '@dschmidt/provider-google'

const computeTargetSslProxyConfig: ComputeTargetSslProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.backendService">backendService</a></code> | <code>string</code> | A reference to the BackendService resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.sslCertificates">sslCertificates</a></code> | <code>string[]</code> | A list of SslCertificate resources that are used to authenticate connections between users and the load balancer. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#id ComputeTargetSslProxy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#project ComputeTargetSslProxy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.sslPolicy">sslPolicy</a></code> | <code>string</code> | A reference to the SslPolicy resource that will be associated with the TargetSslProxy resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeouts">ComputeTargetSslProxyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

A reference to the BackendService resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#backend_service ComputeTargetSslProxy#backend_service}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#name ComputeTargetSslProxy#name}

---

##### `sslCertificates`<sup>Required</sup> <a name="sslCertificates" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.sslCertificates"></a>

```typescript
public readonly sslCertificates: string[];
```

- *Type:* string[]

A list of SslCertificate resources that are used to authenticate connections between users and the load balancer.

At least one
SSL certificate must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#ssl_certificates ComputeTargetSslProxy#ssl_certificates}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#description ComputeTargetSslProxy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#id ComputeTargetSslProxy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#project ComputeTargetSslProxy#project}.

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#proxy_header ComputeTargetSslProxy#proxy_header}

---

##### `sslPolicy`<sup>Optional</sup> <a name="sslPolicy" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.sslPolicy"></a>

```typescript
public readonly sslPolicy: string;
```

- *Type:* string

A reference to the SslPolicy resource that will be associated with the TargetSslProxy resource.

If not set, the TargetSslProxy
resource will not have any SSL policy configured.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#ssl_policy ComputeTargetSslProxy#ssl_policy}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetSslProxyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetSslProxyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeouts">ComputeTargetSslProxyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#timeouts ComputeTargetSslProxy#timeouts}

---

### ComputeTargetSslProxyTimeouts <a name="ComputeTargetSslProxyTimeouts" id="@dschmidt/provider-google.ComputeTargetSslProxyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetSslProxyTimeouts.Initializer"></a>

```typescript
import { ComputeTargetSslProxyTimeouts } from '@dschmidt/provider-google'

const computeTargetSslProxyTimeouts: ComputeTargetSslProxyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#create ComputeTargetSslProxy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#delete ComputeTargetSslProxy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetSslProxyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#update ComputeTargetSslProxy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeTargetSslProxyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#create ComputeTargetSslProxy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeTargetSslProxyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#delete ComputeTargetSslProxy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeTargetSslProxyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_ssl_proxy#update ComputeTargetSslProxy#update}.

---

### ComputeTargetTcpProxyConfig <a name="ComputeTargetTcpProxyConfig" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.Initializer"></a>

```typescript
import { ComputeTargetTcpProxyConfig } from '@dschmidt/provider-google'

const computeTargetTcpProxyConfig: ComputeTargetTcpProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.backendService">backendService</a></code> | <code>string</code> | A reference to the BackendService resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#id ComputeTargetTcpProxy#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#project ComputeTargetTcpProxy#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.proxyBind">proxyBind</a></code> | <code>boolean \| cdktf.IResolvable</code> | This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.proxyHeader">proxyHeader</a></code> | <code>string</code> | Specifies the type of proxy header to append before sending data to the backend. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts">ComputeTargetTcpProxyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

A reference to the BackendService resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#backend_service ComputeTargetTcpProxy#backend_service}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#name ComputeTargetTcpProxy#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#description ComputeTargetTcpProxy#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#id ComputeTargetTcpProxy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#project ComputeTargetTcpProxy#project}.

---

##### `proxyBind`<sup>Optional</sup> <a name="proxyBind" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.proxyBind"></a>

```typescript
public readonly proxyBind: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#proxy_bind ComputeTargetTcpProxy#proxy_bind}

---

##### `proxyHeader`<sup>Optional</sup> <a name="proxyHeader" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.proxyHeader"></a>

```typescript
public readonly proxyHeader: string;
```

- *Type:* string

Specifies the type of proxy header to append before sending data to the backend.

Default value: "NONE" Possible values: ["NONE", "PROXY_V1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#proxy_header ComputeTargetTcpProxy#proxy_header}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeTargetTcpProxyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeTargetTcpProxyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts">ComputeTargetTcpProxyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#timeouts ComputeTargetTcpProxy#timeouts}

---

### ComputeTargetTcpProxyTimeouts <a name="ComputeTargetTcpProxyTimeouts" id="@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts.Initializer"></a>

```typescript
import { ComputeTargetTcpProxyTimeouts } from '@dschmidt/provider-google'

const computeTargetTcpProxyTimeouts: ComputeTargetTcpProxyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#create ComputeTargetTcpProxy#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#delete ComputeTargetTcpProxy#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#update ComputeTargetTcpProxy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#create ComputeTargetTcpProxy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#delete ComputeTargetTcpProxy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeTargetTcpProxyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_target_tcp_proxy#update ComputeTargetTcpProxy#update}.

---

### ComputeUrlMapConfig <a name="ComputeUrlMapConfig" id="@dschmidt/provider-google.ComputeUrlMapConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapConfig.Initializer"></a>

```typescript
import { ComputeUrlMapConfig } from '@dschmidt/provider-google'

const computeUrlMapConfig: ComputeUrlMapConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.defaultRouteAction">defaultRouteAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction">ComputeUrlMapDefaultRouteAction</a></code> | default_route_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.defaultService">defaultService</a></code> | <code>string</code> | The backend service or backend bucket to use when none of the given rules match. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.defaultUrlRedirect">defaultUrlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect">ComputeUrlMapDefaultUrlRedirect</a></code> | default_url_redirect block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderAction">ComputeUrlMapHeaderAction</a></code> | header_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.hostRule">hostRule</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapHostRule">ComputeUrlMapHostRule</a>[]</code> | host_rule block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#id ComputeUrlMap#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.pathMatcher">pathMatcher</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher">ComputeUrlMapPathMatcher</a>[]</code> | path_matcher block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#project ComputeUrlMap#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.test">test</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapTest">ComputeUrlMapTest</a>[]</code> | test block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapTimeouts">ComputeUrlMapTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is created. The
name must be 1-63 characters long, and comply with RFC1035. Specifically, the
name must be 1-63 characters long and match the regular expression
'[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase
letter, and all following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#name ComputeUrlMap#name}

---

##### `defaultRouteAction`<sup>Optional</sup> <a name="defaultRouteAction" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.defaultRouteAction"></a>

```typescript
public readonly defaultRouteAction: ComputeUrlMapDefaultRouteAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction">ComputeUrlMapDefaultRouteAction</a>

default_route_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#default_route_action ComputeUrlMap#default_route_action}

---

##### `defaultService`<sup>Optional</sup> <a name="defaultService" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.defaultService"></a>

```typescript
public readonly defaultService: string;
```

- *Type:* string

The backend service or backend bucket to use when none of the given rules match.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#default_service ComputeUrlMap#default_service}

---

##### `defaultUrlRedirect`<sup>Optional</sup> <a name="defaultUrlRedirect" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.defaultUrlRedirect"></a>

```typescript
public readonly defaultUrlRedirect: ComputeUrlMapDefaultUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect">ComputeUrlMapDefaultUrlRedirect</a>

default_url_redirect block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#default_url_redirect ComputeUrlMap#default_url_redirect}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#description ComputeUrlMap#description}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeUrlMapHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapHeaderAction">ComputeUrlMapHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_action ComputeUrlMap#header_action}

---

##### `hostRule`<sup>Optional</sup> <a name="hostRule" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.hostRule"></a>

```typescript
public readonly hostRule: IResolvable | ComputeUrlMapHostRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapHostRule">ComputeUrlMapHostRule</a>[]

host_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host_rule ComputeUrlMap#host_rule}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#id ComputeUrlMap#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `pathMatcher`<sup>Optional</sup> <a name="pathMatcher" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.pathMatcher"></a>

```typescript
public readonly pathMatcher: IResolvable | ComputeUrlMapPathMatcher[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher">ComputeUrlMapPathMatcher</a>[]

path_matcher block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_matcher ComputeUrlMap#path_matcher}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#project ComputeUrlMap#project}.

---

##### `test`<sup>Optional</sup> <a name="test" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.test"></a>

```typescript
public readonly test: IResolvable | ComputeUrlMapTest[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapTest">ComputeUrlMapTest</a>[]

test block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#test ComputeUrlMap#test}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeUrlMapConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeUrlMapTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapTimeouts">ComputeUrlMapTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#timeouts ComputeUrlMap#timeouts}

---

### ComputeUrlMapDefaultRouteAction <a name="ComputeUrlMapDefaultRouteAction" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteAction } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteAction: ComputeUrlMapDefaultRouteAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.corsPolicy">corsPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy">ComputeUrlMapDefaultRouteActionCorsPolicy</a></code> | cors_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.faultInjectionPolicy">faultInjectionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy">ComputeUrlMapDefaultRouteActionFaultInjectionPolicy</a></code> | fault_injection_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.requestMirrorPolicy">requestMirrorPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRequestMirrorPolicy">ComputeUrlMapDefaultRouteActionRequestMirrorPolicy</a></code> | request_mirror_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.retryPolicy">retryPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy">ComputeUrlMapDefaultRouteActionRetryPolicy</a></code> | retry_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.timeout">timeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionTimeout">ComputeUrlMapDefaultRouteActionTimeout</a></code> | timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.urlRewrite">urlRewrite</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionUrlRewrite">ComputeUrlMapDefaultRouteActionUrlRewrite</a></code> | url_rewrite block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.weightedBackendServices">weightedBackendServices</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices">ComputeUrlMapDefaultRouteActionWeightedBackendServices</a>[]</code> | weighted_backend_services block. |

---

##### `corsPolicy`<sup>Optional</sup> <a name="corsPolicy" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.corsPolicy"></a>

```typescript
public readonly corsPolicy: ComputeUrlMapDefaultRouteActionCorsPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy">ComputeUrlMapDefaultRouteActionCorsPolicy</a>

cors_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#cors_policy ComputeUrlMap#cors_policy}

---

##### `faultInjectionPolicy`<sup>Optional</sup> <a name="faultInjectionPolicy" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.faultInjectionPolicy"></a>

```typescript
public readonly faultInjectionPolicy: ComputeUrlMapDefaultRouteActionFaultInjectionPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy">ComputeUrlMapDefaultRouteActionFaultInjectionPolicy</a>

fault_injection_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#fault_injection_policy ComputeUrlMap#fault_injection_policy}

---

##### `requestMirrorPolicy`<sup>Optional</sup> <a name="requestMirrorPolicy" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.requestMirrorPolicy"></a>

```typescript
public readonly requestMirrorPolicy: ComputeUrlMapDefaultRouteActionRequestMirrorPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRequestMirrorPolicy">ComputeUrlMapDefaultRouteActionRequestMirrorPolicy</a>

request_mirror_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_mirror_policy ComputeUrlMap#request_mirror_policy}

---

##### `retryPolicy`<sup>Optional</sup> <a name="retryPolicy" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.retryPolicy"></a>

```typescript
public readonly retryPolicy: ComputeUrlMapDefaultRouteActionRetryPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy">ComputeUrlMapDefaultRouteActionRetryPolicy</a>

retry_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#retry_policy ComputeUrlMap#retry_policy}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.timeout"></a>

```typescript
public readonly timeout: ComputeUrlMapDefaultRouteActionTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionTimeout">ComputeUrlMapDefaultRouteActionTimeout</a>

timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#timeout ComputeUrlMap#timeout}

---

##### `urlRewrite`<sup>Optional</sup> <a name="urlRewrite" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.urlRewrite"></a>

```typescript
public readonly urlRewrite: ComputeUrlMapDefaultRouteActionUrlRewrite;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionUrlRewrite">ComputeUrlMapDefaultRouteActionUrlRewrite</a>

url_rewrite block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#url_rewrite ComputeUrlMap#url_rewrite}

---

##### `weightedBackendServices`<sup>Optional</sup> <a name="weightedBackendServices" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteAction.property.weightedBackendServices"></a>

```typescript
public readonly weightedBackendServices: IResolvable | ComputeUrlMapDefaultRouteActionWeightedBackendServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices">ComputeUrlMapDefaultRouteActionWeightedBackendServices</a>[]

weighted_backend_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#weighted_backend_services ComputeUrlMap#weighted_backend_services}

---

### ComputeUrlMapDefaultRouteActionCorsPolicy <a name="ComputeUrlMapDefaultRouteActionCorsPolicy" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionCorsPolicy } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionCorsPolicy: ComputeUrlMapDefaultRouteActionCorsPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowCredentials">allowCredentials</a></code> | <code>boolean \| cdktf.IResolvable</code> | In response to a preflight request, setting this to true indicates that the actual request can include user credentials. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowHeaders">allowHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowMethods">allowMethods</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Methods header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowOriginRegexes">allowOriginRegexes</a></code> | <code>string[]</code> | Specifies the regular expression patterns that match allowed origins. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowOrigins">allowOrigins</a></code> | <code>string[]</code> | Specifies the list of origins that will be allowed to do CORS requests. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, specifies the CORS policy is disabled. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.exposeHeaders">exposeHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Expose-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.maxAge">maxAge</a></code> | <code>number</code> | Specifies how long results of a preflight request can be cached in seconds. This translates to the Access-Control-Max-Age header. |

---

##### `allowCredentials`<sup>Optional</sup> <a name="allowCredentials" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowCredentials"></a>

```typescript
public readonly allowCredentials: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

In response to a preflight request, setting this to true indicates that the actual request can include user credentials.

This translates to the Access-Control-Allow-Credentials header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_credentials ComputeUrlMap#allow_credentials}

---

##### `allowHeaders`<sup>Optional</sup> <a name="allowHeaders" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowHeaders"></a>

```typescript
public readonly allowHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_headers ComputeUrlMap#allow_headers}

---

##### `allowMethods`<sup>Optional</sup> <a name="allowMethods" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowMethods"></a>

```typescript
public readonly allowMethods: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Methods header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_methods ComputeUrlMap#allow_methods}

---

##### `allowOriginRegexes`<sup>Optional</sup> <a name="allowOriginRegexes" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowOriginRegexes"></a>

```typescript
public readonly allowOriginRegexes: string[];
```

- *Type:* string[]

Specifies the regular expression patterns that match allowed origins.

For regular expression grammar
please see en.cppreference.com/w/cpp/regex/ecmascript
An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_origin_regexes ComputeUrlMap#allow_origin_regexes}

---

##### `allowOrigins`<sup>Optional</sup> <a name="allowOrigins" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.allowOrigins"></a>

```typescript
public readonly allowOrigins: string[];
```

- *Type:* string[]

Specifies the list of origins that will be allowed to do CORS requests.

An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_origins ComputeUrlMap#allow_origins}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, specifies the CORS policy is disabled.

The default value is false, which indicates that the CORS policy is in effect.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#disabled ComputeUrlMap#disabled}

---

##### `exposeHeaders`<sup>Optional</sup> <a name="exposeHeaders" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.exposeHeaders"></a>

```typescript
public readonly exposeHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Expose-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#expose_headers ComputeUrlMap#expose_headers}

---

##### `maxAge`<sup>Optional</sup> <a name="maxAge" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionCorsPolicy.property.maxAge"></a>

```typescript
public readonly maxAge: number;
```

- *Type:* number

Specifies how long results of a preflight request can be cached in seconds. This translates to the Access-Control-Max-Age header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#max_age ComputeUrlMap#max_age}

---

### ComputeUrlMapDefaultRouteActionFaultInjectionPolicy <a name="ComputeUrlMapDefaultRouteActionFaultInjectionPolicy" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionFaultInjectionPolicy } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionFaultInjectionPolicy: ComputeUrlMapDefaultRouteActionFaultInjectionPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy.property.abort">abort</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort">ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort</a></code> | abort block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy.property.delay">delay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay">ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay</a></code> | delay block. |

---

##### `abort`<sup>Optional</sup> <a name="abort" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy.property.abort"></a>

```typescript
public readonly abort: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort">ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort</a>

abort block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#abort ComputeUrlMap#abort}

---

##### `delay`<sup>Optional</sup> <a name="delay" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicy.property.delay"></a>

```typescript
public readonly delay: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay">ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay</a>

delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#delay ComputeUrlMap#delay}

---

### ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort <a name="ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionFaultInjectionPolicyAbort: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort.property.httpStatus">httpStatus</a></code> | <code>number</code> | The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection. |

---

##### `httpStatus`<sup>Optional</sup> <a name="httpStatus" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort.property.httpStatus"></a>

```typescript
public readonly httpStatus: number;
```

- *Type:* number

The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#http_status ComputeUrlMap#http_status}

---

##### `percentage`<sup>Optional</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyAbort.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.

The value must be between 0.0 and 100.0 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#percentage ComputeUrlMap#percentage}

---

### ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay <a name="ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionFaultInjectionPolicyDelay: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay.property.fixedDelay">fixedDelay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay</a></code> | fixed_delay block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection. |

---

##### `fixedDelay`<sup>Optional</sup> <a name="fixedDelay" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay.property.fixedDelay"></a>

```typescript
public readonly fixedDelay: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay</a>

fixed_delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#fixed_delay ComputeUrlMap#fixed_delay}

---

##### `percentage`<sup>Optional</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelay.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.

The value must be between 0.0 and 100.0 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#percentage ComputeUrlMap#percentage}

---

### ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay <a name="ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay: ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. |

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations less than one second are
represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second.

Must be from 0 to 315,576,000,000 inclusive.
Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

### ComputeUrlMapDefaultRouteActionRequestMirrorPolicy <a name="ComputeUrlMapDefaultRouteActionRequestMirrorPolicy" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRequestMirrorPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRequestMirrorPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionRequestMirrorPolicy } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionRequestMirrorPolicy: ComputeUrlMapDefaultRouteActionRequestMirrorPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRequestMirrorPolicy.property.backendService">backendService</a></code> | <code>string</code> | The full or partial URL to the BackendService resource being mirrored to. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRequestMirrorPolicy.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The full or partial URL to the BackendService resource being mirrored to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#backend_service ComputeUrlMap#backend_service}

---

### ComputeUrlMapDefaultRouteActionRetryPolicy <a name="ComputeUrlMapDefaultRouteActionRetryPolicy" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionRetryPolicy } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionRetryPolicy: ComputeUrlMapDefaultRouteActionRetryPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy.property.numRetries">numRetries</a></code> | <code>number</code> | Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy.property.perTryTimeout">perTryTimeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout">ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout</a></code> | per_try_timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy.property.retryConditions">retryConditions</a></code> | <code>string[]</code> | Specfies one or more conditions when this retry rule applies. Valid values are:. |

---

##### `numRetries`<sup>Optional</sup> <a name="numRetries" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy.property.numRetries"></a>

```typescript
public readonly numRetries: number;
```

- *Type:* number

Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#num_retries ComputeUrlMap#num_retries}

---

##### `perTryTimeout`<sup>Optional</sup> <a name="perTryTimeout" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy.property.perTryTimeout"></a>

```typescript
public readonly perTryTimeout: ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout">ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout</a>

per_try_timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#per_try_timeout ComputeUrlMap#per_try_timeout}

---

##### `retryConditions`<sup>Optional</sup> <a name="retryConditions" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicy.property.retryConditions"></a>

```typescript
public readonly retryConditions: string[];
```

- *Type:* string[]

Specfies one or more conditions when this retry rule applies. Valid values are:.

5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code,
or if the backend service does not respond at all, example: disconnects, reset, read timeout,
connection failure, and refused streams.
gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
connect-failure: Loadbalancer will retry on failures connecting to backend services,
for example due to connection timeouts.
retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
Currently the only retriable error supported is 409.
refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code.
This reset type indicates that it is safe to retry.
cancelled: Loadbalancer will retry if the gRPC status code in the response header is set to cancelled
deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded
resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted
unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#retry_conditions ComputeUrlMap#retry_conditions}

---

### ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout <a name="ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout: ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. |

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations less than one second are
represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionRetryPolicyPerTryTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second.

Must be from 0 to 315,576,000,000 inclusive.
Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

### ComputeUrlMapDefaultRouteActionTimeout <a name="ComputeUrlMapDefaultRouteActionTimeout" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionTimeout.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionTimeout } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionTimeout: ComputeUrlMapDefaultRouteActionTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. |

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations less than one second are represented
with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second.

Must be from 0 to 315,576,000,000 inclusive.
Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

### ComputeUrlMapDefaultRouteActionUrlRewrite <a name="ComputeUrlMapDefaultRouteActionUrlRewrite" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionUrlRewrite"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionUrlRewrite.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionUrlRewrite } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionUrlRewrite: ComputeUrlMapDefaultRouteActionUrlRewrite = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionUrlRewrite.property.hostRewrite">hostRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionUrlRewrite.property.pathPrefixRewrite">pathPrefixRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. |

---

##### `hostRewrite`<sup>Optional</sup> <a name="hostRewrite" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionUrlRewrite.property.hostRewrite"></a>

```typescript
public readonly hostRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.

The value must be between 1 and 255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host_rewrite ComputeUrlMap#host_rewrite}

---

##### `pathPrefixRewrite`<sup>Optional</sup> <a name="pathPrefixRewrite" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionUrlRewrite.property.pathPrefixRewrite"></a>

```typescript
public readonly pathPrefixRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.

The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_prefix_rewrite ComputeUrlMap#path_prefix_rewrite}

---

### ComputeUrlMapDefaultRouteActionWeightedBackendServices <a name="ComputeUrlMapDefaultRouteActionWeightedBackendServices" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionWeightedBackendServices } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionWeightedBackendServices: ComputeUrlMapDefaultRouteActionWeightedBackendServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices.property.backendService">backendService</a></code> | <code>string</code> | The full or partial URL to the default BackendService resource. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction">ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction</a></code> | header_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices.property.weight">weight</a></code> | <code>number</code> | Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) . |

---

##### `backendService`<sup>Optional</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The full or partial URL to the default BackendService resource.

Before forwarding the
request to backendService, the loadbalancer applies any relevant headerActions
specified as part of this backendServiceWeight.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#backend_service ComputeUrlMap#backend_service}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction">ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_action ComputeUrlMap#header_action}

---

##### `weight`<sup>Optional</sup> <a name="weight" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServices.property.weight"></a>

```typescript
public readonly weight: number;
```

- *Type:* number

Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) .

The selection of a backend service is determined only for new traffic. Once a user's request
has been directed to a backendService, subsequent requests will be sent to the same backendService
as determined by the BackendService's session affinity policy.

The value must be between 0 and 1000

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#weight ComputeUrlMap#weight}

---

### ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction <a name="ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction: ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_add ComputeUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_remove ComputeUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_add ComputeUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_remove ComputeUrlMap#response_headers_to_remove}

---

### ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd <a name="ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd: ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Optional</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Optional</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Optional</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd <a name="ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd: ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Optional</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Optional</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Optional</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapDefaultUrlRedirect <a name="ComputeUrlMapDefaultUrlRedirect" id="@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.Initializer"></a>

```typescript
import { ComputeUrlMapDefaultUrlRedirect } from '@dschmidt/provider-google'

const computeUrlMapDefaultUrlRedirect: ComputeUrlMapDefaultUrlRedirect = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.stripQuery">stripQuery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.hostRedirect">hostRedirect</a></code> | <code>string</code> | The host that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.httpsRedirect">httpsRedirect</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the URL scheme in the redirected request is set to https. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.pathRedirect">pathRedirect</a></code> | <code>string</code> | The path that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.prefixRedirect">prefixRedirect</a></code> | <code>string</code> | The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.redirectResponseCode">redirectResponseCode</a></code> | <code>string</code> | The HTTP Status code to use for this RedirectAction. Supported values are:. |

---

##### `stripQuery`<sup>Required</sup> <a name="stripQuery" id="@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.stripQuery"></a>

```typescript
public readonly stripQuery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.

If set to false, the query portion of the original URL is
retained. The default is set to false.
This field is required to ensure an empty block is not set. The normal default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#strip_query ComputeUrlMap#strip_query}

---

##### `hostRedirect`<sup>Optional</sup> <a name="hostRedirect" id="@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.hostRedirect"></a>

```typescript
public readonly hostRedirect: string;
```

- *Type:* string

The host that will be used in the redirect response instead of the one that was supplied in the request.

The value must be between 1 and 255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host_redirect ComputeUrlMap#host_redirect}

---

##### `httpsRedirect`<sup>Optional</sup> <a name="httpsRedirect" id="@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.httpsRedirect"></a>

```typescript
public readonly httpsRedirect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the URL scheme in the redirected request is set to https.

If set to
false, the URL scheme of the redirected request will remain the same as that of the
request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
true for TargetHttpsProxy is not permitted. The default is set to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#https_redirect ComputeUrlMap#https_redirect}

---

##### `pathRedirect`<sup>Optional</sup> <a name="pathRedirect" id="@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.pathRedirect"></a>

```typescript
public readonly pathRedirect: string;
```

- *Type:* string

The path that will be used in the redirect response instead of the one that was supplied in the request.

pathRedirect cannot be supplied together with
prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
original request will be used for the redirect. The value must be between 1 and 1024
characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_redirect ComputeUrlMap#path_redirect}

---

##### `prefixRedirect`<sup>Optional</sup> <a name="prefixRedirect" id="@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.prefixRedirect"></a>

```typescript
public readonly prefixRedirect: string;
```

- *Type:* string

The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request.

prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
neither. If neither is supplied, the path of the original request will be used for
the redirect. The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#prefix_redirect ComputeUrlMap#prefix_redirect}

---

##### `redirectResponseCode`<sup>Optional</sup> <a name="redirectResponseCode" id="@dschmidt/provider-google.ComputeUrlMapDefaultUrlRedirect.property.redirectResponseCode"></a>

```typescript
public readonly redirectResponseCode: string;
```

- *Type:* string

The HTTP Status code to use for this RedirectAction. Supported values are:.

MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.

FOUND, which corresponds to 302.

SEE_OTHER which corresponds to 303.

TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
will be retained.

PERMANENT_REDIRECT, which corresponds to 308. In this case,
the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#redirect_response_code ComputeUrlMap#redirect_response_code}

---

### ComputeUrlMapHeaderAction <a name="ComputeUrlMapHeaderAction" id="@dschmidt/provider-google.ComputeUrlMapHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapHeaderAction.Initializer"></a>

```typescript
import { ComputeUrlMapHeaderAction } from '@dschmidt/provider-google'

const computeUrlMapHeaderAction: ComputeUrlMapHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd">ComputeUrlMapHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd">ComputeUrlMapHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeUrlMapHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd">ComputeUrlMapHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_add ComputeUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_remove ComputeUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeUrlMapHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd">ComputeUrlMapHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_add ComputeUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_remove ComputeUrlMap#response_headers_to_remove}

---

### ComputeUrlMapHeaderActionRequestHeadersToAdd <a name="ComputeUrlMapHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapHeaderActionRequestHeadersToAdd: ComputeUrlMapHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapHeaderActionResponseHeadersToAdd <a name="ComputeUrlMapHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapHeaderActionResponseHeadersToAdd: ComputeUrlMapHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapHostRule <a name="ComputeUrlMapHostRule" id="@dschmidt/provider-google.ComputeUrlMapHostRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapHostRule.Initializer"></a>

```typescript
import { ComputeUrlMapHostRule } from '@dschmidt/provider-google'

const computeUrlMapHostRule: ComputeUrlMapHostRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHostRule.property.hosts">hosts</a></code> | <code>string[]</code> | The list of host patterns to match. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHostRule.property.pathMatcher">pathMatcher</a></code> | <code>string</code> | The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapHostRule.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |

---

##### `hosts`<sup>Required</sup> <a name="hosts" id="@dschmidt/provider-google.ComputeUrlMapHostRule.property.hosts"></a>

```typescript
public readonly hosts: string[];
```

- *Type:* string[]

The list of host patterns to match.

They must be valid hostnames, except * will
match any string of ([a-z0-9-.]*). In that case, * must be the first character
and must be followed in the pattern by either - or ..

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#hosts ComputeUrlMap#hosts}

---

##### `pathMatcher`<sup>Required</sup> <a name="pathMatcher" id="@dschmidt/provider-google.ComputeUrlMapHostRule.property.pathMatcher"></a>

```typescript
public readonly pathMatcher: string;
```

- *Type:* string

The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_matcher ComputeUrlMap#path_matcher}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeUrlMapHostRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#description ComputeUrlMap#description}

---

### ComputeUrlMapPathMatcher <a name="ComputeUrlMapPathMatcher" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcher } from '@dschmidt/provider-google'

const computeUrlMapPathMatcher: ComputeUrlMapPathMatcher = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.name">name</a></code> | <code>string</code> | The name to which this PathMatcher is referred by the HostRule. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.defaultRouteAction">defaultRouteAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction">ComputeUrlMapPathMatcherDefaultRouteAction</a></code> | default_route_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.defaultService">defaultService</a></code> | <code>string</code> | The backend service or backend bucket to use when none of the given paths match. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.defaultUrlRedirect">defaultUrlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect">ComputeUrlMapPathMatcherDefaultUrlRedirect</a></code> | default_url_redirect block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.description">description</a></code> | <code>string</code> | An optional description of this resource. Provide this property when you create the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction">ComputeUrlMapPathMatcherHeaderAction</a></code> | header_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.pathRule">pathRule</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule">ComputeUrlMapPathMatcherPathRule</a>[]</code> | path_rule block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.routeRules">routeRules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules">ComputeUrlMapPathMatcherRouteRules</a>[]</code> | route_rules block. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name to which this PathMatcher is referred by the HostRule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#name ComputeUrlMap#name}

---

##### `defaultRouteAction`<sup>Optional</sup> <a name="defaultRouteAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.defaultRouteAction"></a>

```typescript
public readonly defaultRouteAction: ComputeUrlMapPathMatcherDefaultRouteAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction">ComputeUrlMapPathMatcherDefaultRouteAction</a>

default_route_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#default_route_action ComputeUrlMap#default_route_action}

---

##### `defaultService`<sup>Optional</sup> <a name="defaultService" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.defaultService"></a>

```typescript
public readonly defaultService: string;
```

- *Type:* string

The backend service or backend bucket to use when none of the given paths match.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#default_service ComputeUrlMap#default_service}

---

##### `defaultUrlRedirect`<sup>Optional</sup> <a name="defaultUrlRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.defaultUrlRedirect"></a>

```typescript
public readonly defaultUrlRedirect: ComputeUrlMapPathMatcherDefaultUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect">ComputeUrlMapPathMatcherDefaultUrlRedirect</a>

default_url_redirect block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#default_url_redirect ComputeUrlMap#default_url_redirect}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource. Provide this property when you create the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#description ComputeUrlMap#description}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeUrlMapPathMatcherHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction">ComputeUrlMapPathMatcherHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_action ComputeUrlMap#header_action}

---

##### `pathRule`<sup>Optional</sup> <a name="pathRule" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.pathRule"></a>

```typescript
public readonly pathRule: IResolvable | ComputeUrlMapPathMatcherPathRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule">ComputeUrlMapPathMatcherPathRule</a>[]

path_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_rule ComputeUrlMap#path_rule}

---

##### `routeRules`<sup>Optional</sup> <a name="routeRules" id="@dschmidt/provider-google.ComputeUrlMapPathMatcher.property.routeRules"></a>

```typescript
public readonly routeRules: IResolvable | ComputeUrlMapPathMatcherRouteRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules">ComputeUrlMapPathMatcherRouteRules</a>[]

route_rules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#route_rules ComputeUrlMap#route_rules}

---

### ComputeUrlMapPathMatcherDefaultRouteAction <a name="ComputeUrlMapPathMatcherDefaultRouteAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteAction } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteAction: ComputeUrlMapPathMatcherDefaultRouteAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.corsPolicy">corsPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy">ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy</a></code> | cors_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.faultInjectionPolicy">faultInjectionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy">ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy</a></code> | fault_injection_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.requestMirrorPolicy">requestMirrorPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy">ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy</a></code> | request_mirror_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.retryPolicy">retryPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy">ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy</a></code> | retry_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.timeout">timeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionTimeout">ComputeUrlMapPathMatcherDefaultRouteActionTimeout</a></code> | timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.urlRewrite">urlRewrite</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite">ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite</a></code> | url_rewrite block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.weightedBackendServices">weightedBackendServices</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices">ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices</a>[]</code> | weighted_backend_services block. |

---

##### `corsPolicy`<sup>Optional</sup> <a name="corsPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.corsPolicy"></a>

```typescript
public readonly corsPolicy: ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy">ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy</a>

cors_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#cors_policy ComputeUrlMap#cors_policy}

---

##### `faultInjectionPolicy`<sup>Optional</sup> <a name="faultInjectionPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.faultInjectionPolicy"></a>

```typescript
public readonly faultInjectionPolicy: ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy">ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy</a>

fault_injection_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#fault_injection_policy ComputeUrlMap#fault_injection_policy}

---

##### `requestMirrorPolicy`<sup>Optional</sup> <a name="requestMirrorPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.requestMirrorPolicy"></a>

```typescript
public readonly requestMirrorPolicy: ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy">ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy</a>

request_mirror_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_mirror_policy ComputeUrlMap#request_mirror_policy}

---

##### `retryPolicy`<sup>Optional</sup> <a name="retryPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.retryPolicy"></a>

```typescript
public readonly retryPolicy: ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy">ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy</a>

retry_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#retry_policy ComputeUrlMap#retry_policy}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.timeout"></a>

```typescript
public readonly timeout: ComputeUrlMapPathMatcherDefaultRouteActionTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionTimeout">ComputeUrlMapPathMatcherDefaultRouteActionTimeout</a>

timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#timeout ComputeUrlMap#timeout}

---

##### `urlRewrite`<sup>Optional</sup> <a name="urlRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.urlRewrite"></a>

```typescript
public readonly urlRewrite: ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite">ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite</a>

url_rewrite block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#url_rewrite ComputeUrlMap#url_rewrite}

---

##### `weightedBackendServices`<sup>Optional</sup> <a name="weightedBackendServices" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteAction.property.weightedBackendServices"></a>

```typescript
public readonly weightedBackendServices: IResolvable | ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices">ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices</a>[]

weighted_backend_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#weighted_backend_services ComputeUrlMap#weighted_backend_services}

---

### ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy <a name="ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionCorsPolicy: ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowCredentials">allowCredentials</a></code> | <code>boolean \| cdktf.IResolvable</code> | In response to a preflight request, setting this to true indicates that the actual request can include user credentials. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowHeaders">allowHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowMethods">allowMethods</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Methods header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowOriginRegexes">allowOriginRegexes</a></code> | <code>string[]</code> | Specifies the regular expression patterns that match allowed origins. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowOrigins">allowOrigins</a></code> | <code>string[]</code> | Specifies the list of origins that will be allowed to do CORS requests. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, specifies the CORS policy is disabled. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.exposeHeaders">exposeHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Expose-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.maxAge">maxAge</a></code> | <code>number</code> | Specifies how long results of a preflight request can be cached in seconds. This translates to the Access-Control-Max-Age header. |

---

##### `allowCredentials`<sup>Optional</sup> <a name="allowCredentials" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowCredentials"></a>

```typescript
public readonly allowCredentials: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

In response to a preflight request, setting this to true indicates that the actual request can include user credentials.

This translates to the Access-Control-Allow-Credentials header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_credentials ComputeUrlMap#allow_credentials}

---

##### `allowHeaders`<sup>Optional</sup> <a name="allowHeaders" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowHeaders"></a>

```typescript
public readonly allowHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_headers ComputeUrlMap#allow_headers}

---

##### `allowMethods`<sup>Optional</sup> <a name="allowMethods" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowMethods"></a>

```typescript
public readonly allowMethods: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Methods header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_methods ComputeUrlMap#allow_methods}

---

##### `allowOriginRegexes`<sup>Optional</sup> <a name="allowOriginRegexes" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowOriginRegexes"></a>

```typescript
public readonly allowOriginRegexes: string[];
```

- *Type:* string[]

Specifies the regular expression patterns that match allowed origins.

For regular expression grammar
please see en.cppreference.com/w/cpp/regex/ecmascript
An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_origin_regexes ComputeUrlMap#allow_origin_regexes}

---

##### `allowOrigins`<sup>Optional</sup> <a name="allowOrigins" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.allowOrigins"></a>

```typescript
public readonly allowOrigins: string[];
```

- *Type:* string[]

Specifies the list of origins that will be allowed to do CORS requests.

An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_origins ComputeUrlMap#allow_origins}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, specifies the CORS policy is disabled.

The default value is false, which indicates that the CORS policy is in effect.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#disabled ComputeUrlMap#disabled}

---

##### `exposeHeaders`<sup>Optional</sup> <a name="exposeHeaders" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.exposeHeaders"></a>

```typescript
public readonly exposeHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Expose-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#expose_headers ComputeUrlMap#expose_headers}

---

##### `maxAge`<sup>Optional</sup> <a name="maxAge" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionCorsPolicy.property.maxAge"></a>

```typescript
public readonly maxAge: number;
```

- *Type:* number

Specifies how long results of a preflight request can be cached in seconds. This translates to the Access-Control-Max-Age header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#max_age ComputeUrlMap#max_age}

---

### ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy <a name="ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy: ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy.property.abort">abort</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort">ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort</a></code> | abort block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy.property.delay">delay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay">ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay</a></code> | delay block. |

---

##### `abort`<sup>Optional</sup> <a name="abort" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy.property.abort"></a>

```typescript
public readonly abort: ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort">ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort</a>

abort block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#abort ComputeUrlMap#abort}

---

##### `delay`<sup>Optional</sup> <a name="delay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicy.property.delay"></a>

```typescript
public readonly delay: ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay">ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay</a>

delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#delay ComputeUrlMap#delay}

---

### ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort <a name="ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort: ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort.property.httpStatus">httpStatus</a></code> | <code>number</code> | The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection. |

---

##### `httpStatus`<sup>Optional</sup> <a name="httpStatus" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort.property.httpStatus"></a>

```typescript
public readonly httpStatus: number;
```

- *Type:* number

The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#http_status ComputeUrlMap#http_status}

---

##### `percentage`<sup>Optional</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbort.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.

The value must be between 0.0 and 100.0 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#percentage ComputeUrlMap#percentage}

---

### ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay <a name="ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay: ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay.property.fixedDelay">fixedDelay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay</a></code> | fixed_delay block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection. |

---

##### `fixedDelay`<sup>Optional</sup> <a name="fixedDelay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay.property.fixedDelay"></a>

```typescript
public readonly fixedDelay: ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay</a>

fixed_delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#fixed_delay ComputeUrlMap#fixed_delay}

---

##### `percentage`<sup>Optional</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelay.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.

The value must be between 0.0 and 100.0 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#percentage ComputeUrlMap#percentage}

---

### ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay <a name="ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay: ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. |

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations less than one second are
represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second.

Must be from 0 to 315,576,000,000 inclusive.
Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

### ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy <a name="ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy: ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy.property.backendService">backendService</a></code> | <code>string</code> | The full or partial URL to the BackendService resource being mirrored to. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicy.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The full or partial URL to the BackendService resource being mirrored to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#backend_service ComputeUrlMap#backend_service}

---

### ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy <a name="ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionRetryPolicy: ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy.property.numRetries">numRetries</a></code> | <code>number</code> | Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy.property.perTryTimeout">perTryTimeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout">ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout</a></code> | per_try_timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy.property.retryConditions">retryConditions</a></code> | <code>string[]</code> | Specfies one or more conditions when this retry rule applies. Valid values are:. |

---

##### `numRetries`<sup>Optional</sup> <a name="numRetries" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy.property.numRetries"></a>

```typescript
public readonly numRetries: number;
```

- *Type:* number

Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#num_retries ComputeUrlMap#num_retries}

---

##### `perTryTimeout`<sup>Optional</sup> <a name="perTryTimeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy.property.perTryTimeout"></a>

```typescript
public readonly perTryTimeout: ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout">ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout</a>

per_try_timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#per_try_timeout ComputeUrlMap#per_try_timeout}

---

##### `retryConditions`<sup>Optional</sup> <a name="retryConditions" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicy.property.retryConditions"></a>

```typescript
public readonly retryConditions: string[];
```

- *Type:* string[]

Specfies one or more conditions when this retry rule applies. Valid values are:.

5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code,
or if the backend service does not respond at all, example: disconnects, reset, read timeout,
connection failure, and refused streams.
gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
connect-failure: Loadbalancer will retry on failures connecting to backend services,
for example due to connection timeouts.
retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
Currently the only retriable error supported is 409.
refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code.
This reset type indicates that it is safe to retry.
cancelled: Loadbalancer will retry if the gRPC status code in the response header is set to cancelled
deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded
resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted
unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#retry_conditions ComputeUrlMap#retry_conditions}

---

### ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout <a name="ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout: ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. |

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations less than one second are
represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second.

Must be from 0 to 315,576,000,000 inclusive.
Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

### ComputeUrlMapPathMatcherDefaultRouteActionTimeout <a name="ComputeUrlMapPathMatcherDefaultRouteActionTimeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionTimeout.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionTimeout } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionTimeout: ComputeUrlMapPathMatcherDefaultRouteActionTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. |

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations less than one second are represented
with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second.

Must be from 0 to 315,576,000,000 inclusive.
Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

### ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite <a name="ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionUrlRewrite: ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite.property.hostRewrite">hostRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite.property.pathPrefixRewrite">pathPrefixRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. |

---

##### `hostRewrite`<sup>Optional</sup> <a name="hostRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite.property.hostRewrite"></a>

```typescript
public readonly hostRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.

The value must be between 1 and 255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host_rewrite ComputeUrlMap#host_rewrite}

---

##### `pathPrefixRewrite`<sup>Optional</sup> <a name="pathPrefixRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionUrlRewrite.property.pathPrefixRewrite"></a>

```typescript
public readonly pathPrefixRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.

The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_prefix_rewrite ComputeUrlMap#path_prefix_rewrite}

---

### ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices <a name="ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices: ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices.property.backendService">backendService</a></code> | <code>string</code> | The full or partial URL to the default BackendService resource. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction">ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction</a></code> | header_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices.property.weight">weight</a></code> | <code>number</code> | Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) . |

---

##### `backendService`<sup>Optional</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The full or partial URL to the default BackendService resource.

Before forwarding the
request to backendService, the loadbalancer applies any relevant headerActions
specified as part of this backendServiceWeight.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#backend_service ComputeUrlMap#backend_service}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction">ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_action ComputeUrlMap#header_action}

---

##### `weight`<sup>Optional</sup> <a name="weight" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServices.property.weight"></a>

```typescript
public readonly weight: number;
```

- *Type:* number

Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) .

The selection of a backend service is determined only for new traffic. Once a user's request
has been directed to a backendService, subsequent requests will be sent to the same backendService
as determined by the BackendService's session affinity policy.

The value must be between 0 and 1000

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#weight ComputeUrlMap#weight}

---

### ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction <a name="ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction: ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_add ComputeUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_remove ComputeUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_add ComputeUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_remove ComputeUrlMap#response_headers_to_remove}

---

### ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd <a name="ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd: ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Optional</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Optional</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Optional</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd <a name="ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd: ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Optional</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Optional</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Optional</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherDefaultUrlRedirect <a name="ComputeUrlMapPathMatcherDefaultUrlRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherDefaultUrlRedirect } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherDefaultUrlRedirect: ComputeUrlMapPathMatcherDefaultUrlRedirect = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.stripQuery">stripQuery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.hostRedirect">hostRedirect</a></code> | <code>string</code> | The host that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.httpsRedirect">httpsRedirect</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the URL scheme in the redirected request is set to https. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.pathRedirect">pathRedirect</a></code> | <code>string</code> | The path that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.prefixRedirect">prefixRedirect</a></code> | <code>string</code> | The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.redirectResponseCode">redirectResponseCode</a></code> | <code>string</code> | The HTTP Status code to use for this RedirectAction. Supported values are:. |

---

##### `stripQuery`<sup>Required</sup> <a name="stripQuery" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.stripQuery"></a>

```typescript
public readonly stripQuery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.

If set to false, the query portion of the original URL is
retained.
This field is required to ensure an empty block is not set. The normal default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#strip_query ComputeUrlMap#strip_query}

---

##### `hostRedirect`<sup>Optional</sup> <a name="hostRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.hostRedirect"></a>

```typescript
public readonly hostRedirect: string;
```

- *Type:* string

The host that will be used in the redirect response instead of the one that was supplied in the request.

The value must be between 1 and 255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host_redirect ComputeUrlMap#host_redirect}

---

##### `httpsRedirect`<sup>Optional</sup> <a name="httpsRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.httpsRedirect"></a>

```typescript
public readonly httpsRedirect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the URL scheme in the redirected request is set to https.

If set to
false, the URL scheme of the redirected request will remain the same as that of the
request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this
true for TargetHttpsProxy is not permitted. The default is set to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#https_redirect ComputeUrlMap#https_redirect}

---

##### `pathRedirect`<sup>Optional</sup> <a name="pathRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.pathRedirect"></a>

```typescript
public readonly pathRedirect: string;
```

- *Type:* string

The path that will be used in the redirect response instead of the one that was supplied in the request.

pathRedirect cannot be supplied together with
prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the
original request will be used for the redirect. The value must be between 1 and 1024
characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_redirect ComputeUrlMap#path_redirect}

---

##### `prefixRedirect`<sup>Optional</sup> <a name="prefixRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.prefixRedirect"></a>

```typescript
public readonly prefixRedirect: string;
```

- *Type:* string

The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request.

prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or
neither. If neither is supplied, the path of the original request will be used for
the redirect. The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#prefix_redirect ComputeUrlMap#prefix_redirect}

---

##### `redirectResponseCode`<sup>Optional</sup> <a name="redirectResponseCode" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherDefaultUrlRedirect.property.redirectResponseCode"></a>

```typescript
public readonly redirectResponseCode: string;
```

- *Type:* string

The HTTP Status code to use for this RedirectAction. Supported values are:.

MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.

FOUND, which corresponds to 302.

SEE_OTHER which corresponds to 303.

TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
will be retained.

PERMANENT_REDIRECT, which corresponds to 308. In this case,
the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#redirect_response_code ComputeUrlMap#redirect_response_code}

---

### ComputeUrlMapPathMatcherHeaderAction <a name="ComputeUrlMapPathMatcherHeaderAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherHeaderAction } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherHeaderAction: ComputeUrlMapPathMatcherHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_add ComputeUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_remove ComputeUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_add ComputeUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_remove ComputeUrlMap#response_headers_to_remove}

---

### ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd <a name="ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherHeaderActionRequestHeadersToAdd: ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd <a name="ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherHeaderActionResponseHeadersToAdd: ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherPathRule <a name="ComputeUrlMapPathMatcherPathRule" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRule } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRule: ComputeUrlMapPathMatcherPathRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule.property.paths">paths</a></code> | <code>string[]</code> | The list of path patterns to match. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule.property.routeAction">routeAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction">ComputeUrlMapPathMatcherPathRuleRouteAction</a></code> | route_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule.property.service">service</a></code> | <code>string</code> | The backend service or backend bucket to use if any of the given paths match. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule.property.urlRedirect">urlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect">ComputeUrlMapPathMatcherPathRuleUrlRedirect</a></code> | url_redirect block. |

---

##### `paths`<sup>Required</sup> <a name="paths" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule.property.paths"></a>

```typescript
public readonly paths: string[];
```

- *Type:* string[]

The list of path patterns to match.

Each must start with / and the only place a
\* is allowed is at the end following a /. The string fed to the path matcher
does not include any text after the first ? or #, and those chars are not
allowed here.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#paths ComputeUrlMap#paths}

---

##### `routeAction`<sup>Optional</sup> <a name="routeAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule.property.routeAction"></a>

```typescript
public readonly routeAction: ComputeUrlMapPathMatcherPathRuleRouteAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction">ComputeUrlMapPathMatcherPathRuleRouteAction</a>

route_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#route_action ComputeUrlMap#route_action}

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

The backend service or backend bucket to use if any of the given paths match.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#service ComputeUrlMap#service}

---

##### `urlRedirect`<sup>Optional</sup> <a name="urlRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRule.property.urlRedirect"></a>

```typescript
public readonly urlRedirect: ComputeUrlMapPathMatcherPathRuleUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect">ComputeUrlMapPathMatcherPathRuleUrlRedirect</a>

url_redirect block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#url_redirect ComputeUrlMap#url_redirect}

---

### ComputeUrlMapPathMatcherPathRuleRouteAction <a name="ComputeUrlMapPathMatcherPathRuleRouteAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteAction } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteAction: ComputeUrlMapPathMatcherPathRuleRouteAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.corsPolicy">corsPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy">ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy</a></code> | cors_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.faultInjectionPolicy">faultInjectionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy">ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy</a></code> | fault_injection_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.requestMirrorPolicy">requestMirrorPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy">ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy</a></code> | request_mirror_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.retryPolicy">retryPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy">ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy</a></code> | retry_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.timeout">timeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout">ComputeUrlMapPathMatcherPathRuleRouteActionTimeout</a></code> | timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.urlRewrite">urlRewrite</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite">ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite</a></code> | url_rewrite block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.weightedBackendServices">weightedBackendServices</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices">ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices</a>[]</code> | weighted_backend_services block. |

---

##### `corsPolicy`<sup>Optional</sup> <a name="corsPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.corsPolicy"></a>

```typescript
public readonly corsPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy">ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy</a>

cors_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#cors_policy ComputeUrlMap#cors_policy}

---

##### `faultInjectionPolicy`<sup>Optional</sup> <a name="faultInjectionPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.faultInjectionPolicy"></a>

```typescript
public readonly faultInjectionPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy">ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy</a>

fault_injection_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#fault_injection_policy ComputeUrlMap#fault_injection_policy}

---

##### `requestMirrorPolicy`<sup>Optional</sup> <a name="requestMirrorPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.requestMirrorPolicy"></a>

```typescript
public readonly requestMirrorPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy">ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy</a>

request_mirror_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_mirror_policy ComputeUrlMap#request_mirror_policy}

---

##### `retryPolicy`<sup>Optional</sup> <a name="retryPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.retryPolicy"></a>

```typescript
public readonly retryPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy">ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy</a>

retry_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#retry_policy ComputeUrlMap#retry_policy}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.timeout"></a>

```typescript
public readonly timeout: ComputeUrlMapPathMatcherPathRuleRouteActionTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout">ComputeUrlMapPathMatcherPathRuleRouteActionTimeout</a>

timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#timeout ComputeUrlMap#timeout}

---

##### `urlRewrite`<sup>Optional</sup> <a name="urlRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.urlRewrite"></a>

```typescript
public readonly urlRewrite: ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite">ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite</a>

url_rewrite block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#url_rewrite ComputeUrlMap#url_rewrite}

---

##### `weightedBackendServices`<sup>Optional</sup> <a name="weightedBackendServices" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteAction.property.weightedBackendServices"></a>

```typescript
public readonly weightedBackendServices: IResolvable | ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices">ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices</a>[]

weighted_backend_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#weighted_backend_services ComputeUrlMap#weighted_backend_services}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy <a name="ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionCorsPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, specifies the CORS policy is disabled. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowCredentials">allowCredentials</a></code> | <code>boolean \| cdktf.IResolvable</code> | In response to a preflight request, setting this to true indicates that the actual request can include user credentials. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowHeaders">allowHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowMethods">allowMethods</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Methods header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowOriginRegexes">allowOriginRegexes</a></code> | <code>string[]</code> | Specifies the regular expression patterns that match allowed origins. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowOrigins">allowOrigins</a></code> | <code>string[]</code> | Specifies the list of origins that will be allowed to do CORS requests. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.exposeHeaders">exposeHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Expose-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.maxAge">maxAge</a></code> | <code>number</code> | Specifies how long the results of a preflight request can be cached. |

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, specifies the CORS policy is disabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#disabled ComputeUrlMap#disabled}

---

##### `allowCredentials`<sup>Optional</sup> <a name="allowCredentials" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowCredentials"></a>

```typescript
public readonly allowCredentials: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

In response to a preflight request, setting this to true indicates that the actual request can include user credentials.

This translates to the Access-
Control-Allow-Credentials header. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_credentials ComputeUrlMap#allow_credentials}

---

##### `allowHeaders`<sup>Optional</sup> <a name="allowHeaders" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowHeaders"></a>

```typescript
public readonly allowHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_headers ComputeUrlMap#allow_headers}

---

##### `allowMethods`<sup>Optional</sup> <a name="allowMethods" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowMethods"></a>

```typescript
public readonly allowMethods: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Methods header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_methods ComputeUrlMap#allow_methods}

---

##### `allowOriginRegexes`<sup>Optional</sup> <a name="allowOriginRegexes" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowOriginRegexes"></a>

```typescript
public readonly allowOriginRegexes: string[];
```

- *Type:* string[]

Specifies the regular expression patterns that match allowed origins.

For
regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
An origin is allowed if it matches either allow_origins or allow_origin_regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_origin_regexes ComputeUrlMap#allow_origin_regexes}

---

##### `allowOrigins`<sup>Optional</sup> <a name="allowOrigins" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.allowOrigins"></a>

```typescript
public readonly allowOrigins: string[];
```

- *Type:* string[]

Specifies the list of origins that will be allowed to do CORS requests.

An
origin is allowed if it matches either allow_origins or allow_origin_regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_origins ComputeUrlMap#allow_origins}

---

##### `exposeHeaders`<sup>Optional</sup> <a name="exposeHeaders" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.exposeHeaders"></a>

```typescript
public readonly exposeHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Expose-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#expose_headers ComputeUrlMap#expose_headers}

---

##### `maxAge`<sup>Optional</sup> <a name="maxAge" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionCorsPolicy.property.maxAge"></a>

```typescript
public readonly maxAge: number;
```

- *Type:* number

Specifies how long the results of a preflight request can be cached.

This
translates to the content for the Access-Control-Max-Age header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#max_age ComputeUrlMap#max_age}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy <a name="ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.property.abort">abort</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort">ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort</a></code> | abort block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.property.delay">delay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay">ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay</a></code> | delay block. |

---

##### `abort`<sup>Optional</sup> <a name="abort" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.property.abort"></a>

```typescript
public readonly abort: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort">ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort</a>

abort block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#abort ComputeUrlMap#abort}

---

##### `delay`<sup>Optional</sup> <a name="delay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicy.property.delay"></a>

```typescript
public readonly delay: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay">ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay</a>

delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#delay ComputeUrlMap#delay}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort <a name="ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.property.httpStatus">httpStatus</a></code> | <code>number</code> | The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection. |

---

##### `httpStatus`<sup>Required</sup> <a name="httpStatus" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.property.httpStatus"></a>

```typescript
public readonly httpStatus: number;
```

- *Type:* number

The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#http_status ComputeUrlMap#http_status}

---

##### `percentage`<sup>Required</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbort.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.

The value must be between 0.0 and 100.0
inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#percentage ComputeUrlMap#percentage}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay <a name="ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.property.fixedDelay">fixedDelay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay</a></code> | fixed_delay block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection. |

---

##### `fixedDelay`<sup>Required</sup> <a name="fixedDelay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.property.fixedDelay"></a>

```typescript
public readonly fixedDelay: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay</a>

fixed_delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#fixed_delay ComputeUrlMap#fixed_delay}

---

##### `percentage`<sup>Required</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelay.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.

The value must be between 0.0 and
100.0 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#percentage ComputeUrlMap#percentage}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay <a name="ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay: ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy <a name="ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy.property.backendService">backendService</a></code> | <code>string</code> | The BackendService resource being mirrored to. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicy.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The BackendService resource being mirrored to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#backend_service ComputeUrlMap#backend_service}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy <a name="ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionRetryPolicy: ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.numRetries">numRetries</a></code> | <code>number</code> | Specifies the allowed number retries. This number must be > 0. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.perTryTimeout">perTryTimeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout">ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout</a></code> | per_try_timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.retryConditions">retryConditions</a></code> | <code>string[]</code> | Specifies one or more conditions when this retry rule applies. Valid values are:. |

---

##### `numRetries`<sup>Optional</sup> <a name="numRetries" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.numRetries"></a>

```typescript
public readonly numRetries: number;
```

- *Type:* number

Specifies the allowed number retries. This number must be > 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#num_retries ComputeUrlMap#num_retries}

---

##### `perTryTimeout`<sup>Optional</sup> <a name="perTryTimeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.perTryTimeout"></a>

```typescript
public readonly perTryTimeout: ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout">ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout</a>

per_try_timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#per_try_timeout ComputeUrlMap#per_try_timeout}

---

##### `retryConditions`<sup>Optional</sup> <a name="retryConditions" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicy.property.retryConditions"></a>

```typescript
public readonly retryConditions: string[];
```

- *Type:* string[]

Specifies one or more conditions when this retry rule applies. Valid values are:.

5xx: Loadbalancer will attempt a retry if the backend service responds with
any 5xx response code, or if the backend service does not respond at all,
example: disconnects, reset, read timeout, connection failure, and refused
streams.
gateway-error: Similar to 5xx, but only applies to response codes
502, 503 or 504.
connect-failure: Loadbalancer will retry on failures
connecting to backend services, for example due to connection timeouts.
retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
Currently the only retriable error supported is 409.
refused-stream: Loadbalancer will retry if the backend service resets the stream with a
REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
cancelled: Loadbalancer will retry if the gRPC status code in the response
header is set to cancelled
deadline-exceeded: Loadbalancer will retry if the
gRPC status code in the response header is set to deadline-exceeded
resource-exhausted: Loadbalancer will retry if the gRPC status code in the response
header is set to resource-exhausted
unavailable: Loadbalancer will retry if
the gRPC status code in the response header is set to unavailable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#retry_conditions ComputeUrlMap#retry_conditions}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout <a name="ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout: ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionTimeout <a name="ComputeUrlMapPathMatcherPathRuleRouteActionTimeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionTimeout } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionTimeout: ComputeUrlMapPathMatcherPathRuleRouteActionTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite <a name="ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionUrlRewrite: ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite.property.hostRewrite">hostRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite.property.pathPrefixRewrite">pathPrefixRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. |

---

##### `hostRewrite`<sup>Optional</sup> <a name="hostRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite.property.hostRewrite"></a>

```typescript
public readonly hostRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.

The value must be between 1 and
255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host_rewrite ComputeUrlMap#host_rewrite}

---

##### `pathPrefixRewrite`<sup>Optional</sup> <a name="pathPrefixRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionUrlRewrite.property.pathPrefixRewrite"></a>

```typescript
public readonly pathPrefixRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.

The value must
be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_prefix_rewrite ComputeUrlMap#path_prefix_rewrite}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices <a name="ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices: ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.backendService">backendService</a></code> | <code>string</code> | The default BackendService resource. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.weight">weight</a></code> | <code>number</code> | Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) . |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction">ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction</a></code> | header_action block. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The default BackendService resource.

Before
forwarding the request to backendService, the loadbalancer applies any relevant
headerActions specified as part of this backendServiceWeight.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#backend_service ComputeUrlMap#backend_service}

---

##### `weight`<sup>Required</sup> <a name="weight" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.weight"></a>

```typescript
public readonly weight: number;
```

- *Type:* number

Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) .

The selection of a
backend service is determined only for new traffic. Once a user's request has
been directed to a backendService, subsequent requests will be sent to the same
backendService as determined by the BackendService's session affinity policy.
The value must be between 0 and 1000

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#weight ComputeUrlMap#weight}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServices.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction">ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_action ComputeUrlMap#header_action}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction <a name="ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction: ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_add ComputeUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_remove ComputeUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_add ComputeUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_remove ComputeUrlMap#response_headers_to_remove}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd <a name="ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd: ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd <a name="ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd: ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherPathRuleUrlRedirect <a name="ComputeUrlMapPathMatcherPathRuleUrlRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherPathRuleUrlRedirect } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherPathRuleUrlRedirect: ComputeUrlMapPathMatcherPathRuleUrlRedirect = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.stripQuery">stripQuery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.hostRedirect">hostRedirect</a></code> | <code>string</code> | The host that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.httpsRedirect">httpsRedirect</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the URL scheme in the redirected request is set to https. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.pathRedirect">pathRedirect</a></code> | <code>string</code> | The path that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.prefixRedirect">prefixRedirect</a></code> | <code>string</code> | The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.redirectResponseCode">redirectResponseCode</a></code> | <code>string</code> | The HTTP Status code to use for this RedirectAction. Supported values are:. |

---

##### `stripQuery`<sup>Required</sup> <a name="stripQuery" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.stripQuery"></a>

```typescript
public readonly stripQuery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.

If set to false, the query
portion of the original URL is retained.
This field is required to ensure an empty block is not set. The normal default value is false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#strip_query ComputeUrlMap#strip_query}

---

##### `hostRedirect`<sup>Optional</sup> <a name="hostRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.hostRedirect"></a>

```typescript
public readonly hostRedirect: string;
```

- *Type:* string

The host that will be used in the redirect response instead of the one that was supplied in the request.

The value must be between 1 and 255
characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host_redirect ComputeUrlMap#host_redirect}

---

##### `httpsRedirect`<sup>Optional</sup> <a name="httpsRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.httpsRedirect"></a>

```typescript
public readonly httpsRedirect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the URL scheme in the redirected request is set to https.

If set to false, the URL scheme of the redirected request will remain the
same as that of the request. This must only be set for UrlMaps used in
TargetHttpProxys. Setting this true for TargetHttpsProxy is not
permitted. The default is set to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#https_redirect ComputeUrlMap#https_redirect}

---

##### `pathRedirect`<sup>Optional</sup> <a name="pathRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.pathRedirect"></a>

```typescript
public readonly pathRedirect: string;
```

- *Type:* string

The path that will be used in the redirect response instead of the one that was supplied in the request.

pathRedirect cannot be supplied
together with prefixRedirect. Supply one alone or neither. If neither is
supplied, the path of the original request will be used for the redirect.
The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_redirect ComputeUrlMap#path_redirect}

---

##### `prefixRedirect`<sup>Optional</sup> <a name="prefixRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.prefixRedirect"></a>

```typescript
public readonly prefixRedirect: string;
```

- *Type:* string

The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request.

prefixRedirect cannot be supplied together with
pathRedirect. Supply one alone or neither. If neither is supplied, the
path of the original request will be used for the redirect. The value
must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#prefix_redirect ComputeUrlMap#prefix_redirect}

---

##### `redirectResponseCode`<sup>Optional</sup> <a name="redirectResponseCode" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherPathRuleUrlRedirect.property.redirectResponseCode"></a>

```typescript
public readonly redirectResponseCode: string;
```

- *Type:* string

The HTTP Status code to use for this RedirectAction. Supported values are:.

MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.

FOUND, which corresponds to 302.

SEE_OTHER which corresponds to 303.

TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
will be retained.

PERMANENT_REDIRECT, which corresponds to 308. In this case,
the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#redirect_response_code ComputeUrlMap#redirect_response_code}

---

### ComputeUrlMapPathMatcherRouteRules <a name="ComputeUrlMapPathMatcherRouteRules" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRules } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRules: ComputeUrlMapPathMatcherRouteRules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.priority">priority</a></code> | <code>number</code> | For routeRules within a given pathMatcher, priority determines the order in which load balancer will interpret routeRules. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction">ComputeUrlMapPathMatcherRouteRulesHeaderAction</a></code> | header_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.matchRules">matchRules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules">ComputeUrlMapPathMatcherRouteRulesMatchRules</a>[]</code> | match_rules block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.routeAction">routeAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction">ComputeUrlMapPathMatcherRouteRulesRouteAction</a></code> | route_action block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.service">service</a></code> | <code>string</code> | The backend service resource to which traffic is directed if this rule is matched. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.urlRedirect">urlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect">ComputeUrlMapPathMatcherRouteRulesUrlRedirect</a></code> | url_redirect block. |

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

For routeRules within a given pathMatcher, priority determines the order in which load balancer will interpret routeRules.

RouteRules are evaluated
in order of priority, from the lowest to highest number. The priority of
a rule decreases as its number increases (1, 2, 3, N+1). The first rule
that matches the request is applied.

You cannot configure two or more routeRules with the same priority.
Priority for each rule must be set to a number between 0 and
2147483647 inclusive.

Priority numbers can have gaps, which enable you to add or remove rules
in the future without affecting the rest of the rules. For example,
1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
future without any impact on existing rules.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#priority ComputeUrlMap#priority}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeUrlMapPathMatcherRouteRulesHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction">ComputeUrlMapPathMatcherRouteRulesHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_action ComputeUrlMap#header_action}

---

##### `matchRules`<sup>Optional</sup> <a name="matchRules" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.matchRules"></a>

```typescript
public readonly matchRules: IResolvable | ComputeUrlMapPathMatcherRouteRulesMatchRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules">ComputeUrlMapPathMatcherRouteRulesMatchRules</a>[]

match_rules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#match_rules ComputeUrlMap#match_rules}

---

##### `routeAction`<sup>Optional</sup> <a name="routeAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.routeAction"></a>

```typescript
public readonly routeAction: ComputeUrlMapPathMatcherRouteRulesRouteAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction">ComputeUrlMapPathMatcherRouteRulesRouteAction</a>

route_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#route_action ComputeUrlMap#route_action}

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

The backend service resource to which traffic is directed if this rule is matched.

If routeAction is additionally specified,
advanced routing actions like URL Rewrites, etc. take effect prior to sending
the request to the backend. However, if service is specified, routeAction cannot
contain any weightedBackendService s. Conversely, if routeAction specifies any
weightedBackendServices, service must not be specified. Only one of urlRedirect,
service or routeAction.weightedBackendService must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#service ComputeUrlMap#service}

---

##### `urlRedirect`<sup>Optional</sup> <a name="urlRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRules.property.urlRedirect"></a>

```typescript
public readonly urlRedirect: ComputeUrlMapPathMatcherRouteRulesUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect">ComputeUrlMapPathMatcherRouteRulesUrlRedirect</a>

url_redirect block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#url_redirect ComputeUrlMap#url_redirect}

---

### ComputeUrlMapPathMatcherRouteRulesHeaderAction <a name="ComputeUrlMapPathMatcherRouteRulesHeaderAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesHeaderAction } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesHeaderAction: ComputeUrlMapPathMatcherRouteRulesHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_add ComputeUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_remove ComputeUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_add ComputeUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_remove ComputeUrlMap#response_headers_to_remove}

---

### ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd <a name="ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd: ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd <a name="ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd: ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherRouteRulesMatchRules <a name="ComputeUrlMapPathMatcherRouteRulesMatchRules" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesMatchRules } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesMatchRules: ComputeUrlMapPathMatcherRouteRulesMatchRules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.fullPathMatch">fullPathMatch</a></code> | <code>string</code> | For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.headerMatches">headerMatches</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches">ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches</a>[]</code> | header_matches block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.ignoreCase">ignoreCase</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies that prefixMatch and fullPathMatch matches are case sensitive. Defaults to false. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.metadataFilters">metadataFilters</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters">ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters</a>[]</code> | metadata_filters block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.prefixMatch">prefixMatch</a></code> | <code>string</code> | For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.queryParameterMatches">queryParameterMatches</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches">ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches</a>[]</code> | query_parameter_matches block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.regexMatch">regexMatch</a></code> | <code>string</code> | For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. |

---

##### `fullPathMatch`<sup>Optional</sup> <a name="fullPathMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.fullPathMatch"></a>

```typescript
public readonly fullPathMatch: string;
```

- *Type:* string

For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL.

FullPathMatch must be between 1
and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#full_path_match ComputeUrlMap#full_path_match}

---

##### `headerMatches`<sup>Optional</sup> <a name="headerMatches" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.headerMatches"></a>

```typescript
public readonly headerMatches: IResolvable | ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches">ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches</a>[]

header_matches block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_matches ComputeUrlMap#header_matches}

---

##### `ignoreCase`<sup>Optional</sup> <a name="ignoreCase" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.ignoreCase"></a>

```typescript
public readonly ignoreCase: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies that prefixMatch and fullPathMatch matches are case sensitive. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#ignore_case ComputeUrlMap#ignore_case}

---

##### `metadataFilters`<sup>Optional</sup> <a name="metadataFilters" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.metadataFilters"></a>

```typescript
public readonly metadataFilters: IResolvable | ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters">ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters</a>[]

metadata_filters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#metadata_filters ComputeUrlMap#metadata_filters}

---

##### `prefixMatch`<sup>Optional</sup> <a name="prefixMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.prefixMatch"></a>

```typescript
public readonly prefixMatch: string;
```

- *Type:* string

For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch.

prefixMatch must begin with a /. The value must be
between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
regexMatch must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#prefix_match ComputeUrlMap#prefix_match}

---

##### `queryParameterMatches`<sup>Optional</sup> <a name="queryParameterMatches" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.queryParameterMatches"></a>

```typescript
public readonly queryParameterMatches: IResolvable | ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches">ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches</a>[]

query_parameter_matches block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#query_parameter_matches ComputeUrlMap#query_parameter_matches}

---

##### `regexMatch`<sup>Optional</sup> <a name="regexMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRules.property.regexMatch"></a>

```typescript
public readonly regexMatch: string;
```

- *Type:* string

For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL.

For regular expression grammar please
see en.cppreference.com/w/cpp/regex/ecmascript  Only one of prefixMatch,
fullPathMatch or regexMatch must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#regex_match ComputeUrlMap#regex_match}

---

### ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches <a name="ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches: ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.headerName">headerName</a></code> | <code>string</code> | The name of the HTTP header to match. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.exactMatch">exactMatch</a></code> | <code>string</code> | The value should exactly match contents of exactMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.invertMatch">invertMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to false, the headerMatch is considered a match if the match criteria above are met. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.prefixMatch">prefixMatch</a></code> | <code>string</code> | The value of the header must start with the contents of prefixMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.presentMatch">presentMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | A header with the contents of headerName must exist. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.rangeMatch">rangeMatch</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch">ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch</a></code> | range_match block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.regexMatch">regexMatch</a></code> | <code>string</code> | The value of the header must match the regular expression specified in regexMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.suffixMatch">suffixMatch</a></code> | <code>string</code> | The value of the header must end with the contents of suffixMatch. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the HTTP header to match.

For matching against the HTTP request's
authority, use a headerMatch with the header name ":authority". For matching a
request's method, use the headerName ":method".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `exactMatch`<sup>Optional</sup> <a name="exactMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.exactMatch"></a>

```typescript
public readonly exactMatch: string;
```

- *Type:* string

The value should exactly match contents of exactMatch.

Only one of exactMatch,
prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#exact_match ComputeUrlMap#exact_match}

---

##### `invertMatch`<sup>Optional</sup> <a name="invertMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.invertMatch"></a>

```typescript
public readonly invertMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to false, the headerMatch is considered a match if the match criteria above are met.

If set to true, the headerMatch is considered a match if the
match criteria above are NOT met. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#invert_match ComputeUrlMap#invert_match}

---

##### `prefixMatch`<sup>Optional</sup> <a name="prefixMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.prefixMatch"></a>

```typescript
public readonly prefixMatch: string;
```

- *Type:* string

The value of the header must start with the contents of prefixMatch.

Only one of
exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#prefix_match ComputeUrlMap#prefix_match}

---

##### `presentMatch`<sup>Optional</sup> <a name="presentMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.presentMatch"></a>

```typescript
public readonly presentMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

A header with the contents of headerName must exist.

The match takes place
whether or not the request's header has a value or not. Only one of exactMatch,
prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#present_match ComputeUrlMap#present_match}

---

##### `rangeMatch`<sup>Optional</sup> <a name="rangeMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.rangeMatch"></a>

```typescript
public readonly rangeMatch: ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch">ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch</a>

range_match block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#range_match ComputeUrlMap#range_match}

---

##### `regexMatch`<sup>Optional</sup> <a name="regexMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.regexMatch"></a>

```typescript
public readonly regexMatch: string;
```

- *Type:* string

The value of the header must match the regular expression specified in regexMatch.

For regular expression grammar, please see:
en.cppreference.com/w/cpp/regex/ecmascript  For matching against a port
specified in the HTTP request, use a headerMatch with headerName set to PORT and
a regular expression that satisfies the RFC2616 Host header's port specifier.
Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
rangeMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#regex_match ComputeUrlMap#regex_match}

---

##### `suffixMatch`<sup>Optional</sup> <a name="suffixMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatches.property.suffixMatch"></a>

```typescript
public readonly suffixMatch: string;
```

- *Type:* string

The value of the header must end with the contents of suffixMatch.

Only one of
exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#suffix_match ComputeUrlMap#suffix_match}

---

### ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch <a name="ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch: ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.property.rangeEnd">rangeEnd</a></code> | <code>number</code> | The end of the range (exclusive). |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.property.rangeStart">rangeStart</a></code> | <code>number</code> | The start of the range (inclusive). |

---

##### `rangeEnd`<sup>Required</sup> <a name="rangeEnd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.property.rangeEnd"></a>

```typescript
public readonly rangeEnd: number;
```

- *Type:* number

The end of the range (exclusive).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#range_end ComputeUrlMap#range_end}

---

##### `rangeStart`<sup>Required</sup> <a name="rangeStart" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesHeaderMatchesRangeMatch.property.rangeStart"></a>

```typescript
public readonly rangeStart: number;
```

- *Type:* number

The start of the range (inclusive).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#range_start ComputeUrlMap#range_start}

---

### ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters <a name="ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters: ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.property.filterLabels">filterLabels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels">ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels</a>[]</code> | filter_labels block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.property.filterMatchCriteria">filterMatchCriteria</a></code> | <code>string</code> | Specifies how individual filterLabel matches within the list of filterLabels contribute towards the overall metadataFilter match. |

---

##### `filterLabels`<sup>Required</sup> <a name="filterLabels" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.property.filterLabels"></a>

```typescript
public readonly filterLabels: IResolvable | ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels">ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels</a>[]

filter_labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#filter_labels ComputeUrlMap#filter_labels}

---

##### `filterMatchCriteria`<sup>Required</sup> <a name="filterMatchCriteria" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFilters.property.filterMatchCriteria"></a>

```typescript
public readonly filterMatchCriteria: string;
```

- *Type:* string

Specifies how individual filterLabel matches within the list of filterLabels contribute towards the overall metadataFilter match.

Supported values are:
- MATCH_ANY: At least one of the filterLabels must have a matching label in the
provided metadata.
- MATCH_ALL: All filterLabels must have matching labels in
the provided metadata. Possible values: ["MATCH_ALL", "MATCH_ANY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#filter_match_criteria ComputeUrlMap#filter_match_criteria}

---

### ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels <a name="ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels: ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.property.name">name</a></code> | <code>string</code> | Name of metadata label. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.property.value">value</a></code> | <code>string</code> | The value of the label must match the specified value. value can have a maximum length of 1024 characters. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of metadata label.

The name can have a maximum length of 1024 characters
and must be at least 1 character long.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#name ComputeUrlMap#name}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesMetadataFiltersFilterLabels.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The value of the label must match the specified value. value can have a maximum length of 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#value ComputeUrlMap#value}

---

### ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches <a name="ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches: ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.name">name</a></code> | <code>string</code> | The name of the query parameter to match. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.exactMatch">exactMatch</a></code> | <code>string</code> | The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.presentMatch">presentMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.regexMatch">regexMatch</a></code> | <code>string</code> | The queryParameterMatch matches if the value of the parameter matches the regular expression specified by regexMatch. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the query parameter to match.

The query parameter must exist in the
request, in the absence of which the request match fails.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#name ComputeUrlMap#name}

---

##### `exactMatch`<sup>Optional</sup> <a name="exactMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.exactMatch"></a>

```typescript
public readonly exactMatch: string;
```

- *Type:* string

The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch.

Only one of presentMatch, exactMatch and regexMatch
must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#exact_match ComputeUrlMap#exact_match}

---

##### `presentMatch`<sup>Optional</sup> <a name="presentMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.presentMatch"></a>

```typescript
public readonly presentMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not.

Only one of
presentMatch, exactMatch and regexMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#present_match ComputeUrlMap#present_match}

---

##### `regexMatch`<sup>Optional</sup> <a name="regexMatch" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesMatchRulesQueryParameterMatches.property.regexMatch"></a>

```typescript
public readonly regexMatch: string;
```

- *Type:* string

The queryParameterMatch matches if the value of the parameter matches the regular expression specified by regexMatch.

For the regular expression grammar,
please see en.cppreference.com/w/cpp/regex/ecmascript  Only one of presentMatch,
exactMatch and regexMatch must be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#regex_match ComputeUrlMap#regex_match}

---

### ComputeUrlMapPathMatcherRouteRulesRouteAction <a name="ComputeUrlMapPathMatcherRouteRulesRouteAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteAction } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteAction: ComputeUrlMapPathMatcherRouteRulesRouteAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.corsPolicy">corsPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy">ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy</a></code> | cors_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.faultInjectionPolicy">faultInjectionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy">ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy</a></code> | fault_injection_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.requestMirrorPolicy">requestMirrorPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy">ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy</a></code> | request_mirror_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.retryPolicy">retryPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy">ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy</a></code> | retry_policy block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.timeout">timeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout">ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout</a></code> | timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.urlRewrite">urlRewrite</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite">ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite</a></code> | url_rewrite block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.weightedBackendServices">weightedBackendServices</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices">ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices</a>[]</code> | weighted_backend_services block. |

---

##### `corsPolicy`<sup>Optional</sup> <a name="corsPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.corsPolicy"></a>

```typescript
public readonly corsPolicy: ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy">ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy</a>

cors_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#cors_policy ComputeUrlMap#cors_policy}

---

##### `faultInjectionPolicy`<sup>Optional</sup> <a name="faultInjectionPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.faultInjectionPolicy"></a>

```typescript
public readonly faultInjectionPolicy: ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy">ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy</a>

fault_injection_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#fault_injection_policy ComputeUrlMap#fault_injection_policy}

---

##### `requestMirrorPolicy`<sup>Optional</sup> <a name="requestMirrorPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.requestMirrorPolicy"></a>

```typescript
public readonly requestMirrorPolicy: ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy">ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy</a>

request_mirror_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_mirror_policy ComputeUrlMap#request_mirror_policy}

---

##### `retryPolicy`<sup>Optional</sup> <a name="retryPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.retryPolicy"></a>

```typescript
public readonly retryPolicy: ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy">ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy</a>

retry_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#retry_policy ComputeUrlMap#retry_policy}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.timeout"></a>

```typescript
public readonly timeout: ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout">ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout</a>

timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#timeout ComputeUrlMap#timeout}

---

##### `urlRewrite`<sup>Optional</sup> <a name="urlRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.urlRewrite"></a>

```typescript
public readonly urlRewrite: ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite">ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite</a>

url_rewrite block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#url_rewrite ComputeUrlMap#url_rewrite}

---

##### `weightedBackendServices`<sup>Optional</sup> <a name="weightedBackendServices" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteAction.property.weightedBackendServices"></a>

```typescript
public readonly weightedBackendServices: IResolvable | ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices">ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices</a>[]

weighted_backend_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#weighted_backend_services ComputeUrlMap#weighted_backend_services}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy: ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowCredentials">allowCredentials</a></code> | <code>boolean \| cdktf.IResolvable</code> | In response to a preflight request, setting this to true indicates that the actual request can include user credentials. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowHeaders">allowHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowMethods">allowMethods</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Methods header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowOriginRegexes">allowOriginRegexes</a></code> | <code>string[]</code> | Specifies the regular expression patterns that match allowed origins. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowOrigins">allowOrigins</a></code> | <code>string[]</code> | Specifies the list of origins that will be allowed to do CORS requests. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, specifies the CORS policy is disabled. which indicates that the CORS policy is in effect. Defaults to false. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.exposeHeaders">exposeHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Expose-Headers header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.maxAge">maxAge</a></code> | <code>number</code> | Specifies how long the results of a preflight request can be cached. |

---

##### `allowCredentials`<sup>Optional</sup> <a name="allowCredentials" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowCredentials"></a>

```typescript
public readonly allowCredentials: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

In response to a preflight request, setting this to true indicates that the actual request can include user credentials.

This translates to the Access-
Control-Allow-Credentials header. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_credentials ComputeUrlMap#allow_credentials}

---

##### `allowHeaders`<sup>Optional</sup> <a name="allowHeaders" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowHeaders"></a>

```typescript
public readonly allowHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_headers ComputeUrlMap#allow_headers}

---

##### `allowMethods`<sup>Optional</sup> <a name="allowMethods" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowMethods"></a>

```typescript
public readonly allowMethods: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Methods header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_methods ComputeUrlMap#allow_methods}

---

##### `allowOriginRegexes`<sup>Optional</sup> <a name="allowOriginRegexes" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowOriginRegexes"></a>

```typescript
public readonly allowOriginRegexes: string[];
```

- *Type:* string[]

Specifies the regular expression patterns that match allowed origins.

For
regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript
An origin is allowed if it matches either allow_origins or allow_origin_regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_origin_regexes ComputeUrlMap#allow_origin_regexes}

---

##### `allowOrigins`<sup>Optional</sup> <a name="allowOrigins" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.allowOrigins"></a>

```typescript
public readonly allowOrigins: string[];
```

- *Type:* string[]

Specifies the list of origins that will be allowed to do CORS requests.

An
origin is allowed if it matches either allow_origins or allow_origin_regex.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#allow_origins ComputeUrlMap#allow_origins}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, specifies the CORS policy is disabled. which indicates that the CORS policy is in effect. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#disabled ComputeUrlMap#disabled}

---

##### `exposeHeaders`<sup>Optional</sup> <a name="exposeHeaders" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.exposeHeaders"></a>

```typescript
public readonly exposeHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Expose-Headers header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#expose_headers ComputeUrlMap#expose_headers}

---

##### `maxAge`<sup>Optional</sup> <a name="maxAge" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionCorsPolicy.property.maxAge"></a>

```typescript
public readonly maxAge: number;
```

- *Type:* number

Specifies how long the results of a preflight request can be cached.

This
translates to the content for the Access-Control-Max-Age header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#max_age ComputeUrlMap#max_age}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy: ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.property.abort">abort</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort">ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort</a></code> | abort block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.property.delay">delay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay">ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay</a></code> | delay block. |

---

##### `abort`<sup>Optional</sup> <a name="abort" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.property.abort"></a>

```typescript
public readonly abort: ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort">ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort</a>

abort block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#abort ComputeUrlMap#abort}

---

##### `delay`<sup>Optional</sup> <a name="delay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicy.property.delay"></a>

```typescript
public readonly delay: ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay">ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay</a>

delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#delay ComputeUrlMap#delay}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort: ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.property.httpStatus">httpStatus</a></code> | <code>number</code> | The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection. |

---

##### `httpStatus`<sup>Optional</sup> <a name="httpStatus" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.property.httpStatus"></a>

```typescript
public readonly httpStatus: number;
```

- *Type:* number

The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#http_status ComputeUrlMap#http_status}

---

##### `percentage`<sup>Optional</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyAbort.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.

The value must be between 0.0 and 100.0
inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#percentage ComputeUrlMap#percentage}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay: ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.property.fixedDelay">fixedDelay</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay</a></code> | fixed_delay block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.property.percentage">percentage</a></code> | <code>number</code> | The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection. |

---

##### `fixedDelay`<sup>Optional</sup> <a name="fixedDelay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.property.fixedDelay"></a>

```typescript
public readonly fixedDelay: ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay">ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay</a>

fixed_delay block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#fixed_delay ComputeUrlMap#fixed_delay}

---

##### `percentage`<sup>Optional</sup> <a name="percentage" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelay.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.

The value must be between 0.0 and
100.0 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#percentage ComputeUrlMap#percentage}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay: ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionFaultInjectionPolicyDelayFixedDelay.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy: ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy.property.backendService">backendService</a></code> | <code>string</code> | The BackendService resource being mirrored to. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRequestMirrorPolicy.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The BackendService resource being mirrored to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#backend_service ComputeUrlMap#backend_service}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy: ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.numRetries">numRetries</a></code> | <code>number</code> | Specifies the allowed number retries. This number must be > 0. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.perTryTimeout">perTryTimeout</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout">ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout</a></code> | per_try_timeout block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.retryConditions">retryConditions</a></code> | <code>string[]</code> | Specfies one or more conditions when this retry rule applies. Valid values are:. |

---

##### `numRetries`<sup>Required</sup> <a name="numRetries" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.numRetries"></a>

```typescript
public readonly numRetries: number;
```

- *Type:* number

Specifies the allowed number retries. This number must be > 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#num_retries ComputeUrlMap#num_retries}

---

##### `perTryTimeout`<sup>Optional</sup> <a name="perTryTimeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.perTryTimeout"></a>

```typescript
public readonly perTryTimeout: ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout">ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout</a>

per_try_timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#per_try_timeout ComputeUrlMap#per_try_timeout}

---

##### `retryConditions`<sup>Optional</sup> <a name="retryConditions" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicy.property.retryConditions"></a>

```typescript
public readonly retryConditions: string[];
```

- *Type:* string[]

Specfies one or more conditions when this retry rule applies. Valid values are:.

5xx: Loadbalancer will attempt a retry if the backend service responds with
any 5xx response code, or if the backend service does not respond at all,
example: disconnects, reset, read timeout, connection failure, and refused
streams.
gateway-error: Similar to 5xx, but only applies to response codes
502, 503 or 504.
connect-failure: Loadbalancer will retry on failures
connecting to backend services, for example due to connection timeouts.
retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
Currently the only retriable error supported is 409.
refused-stream: Loadbalancer will retry if the backend service resets the stream with a
REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
cancelled: Loadbalancer will retry if the gRPC status code in the response
header is set to cancelled
deadline-exceeded: Loadbalancer will retry if the
gRPC status code in the response header is set to deadline-exceeded
resource-exhausted: Loadbalancer will retry if the gRPC status code in the response
header is set to resource-exhausted
unavailable: Loadbalancer will retry if the gRPC status code in
the response header is set to unavailable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#retry_conditions ComputeUrlMap#retry_conditions}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout: ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionRetryPolicyPerTryTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionTimeout: ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout.property.seconds">seconds</a></code> | <code>string</code> | Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout.property.nanos">nanos</a></code> | <code>number</code> | Span of time that's a fraction of a second at nanosecond resolution. |

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout.property.seconds"></a>

```typescript
public readonly seconds: string;
```

- *Type:* string

Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#seconds ComputeUrlMap#seconds}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionTimeout.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Span of time that's a fraction of a second at nanosecond resolution.

Durations
less than one second are represented with a 0 'seconds' field and a positive
'nanos' field. Must be from 0 to 999,999,999 inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#nanos ComputeUrlMap#nanos}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite: ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.property.hostRewrite">hostRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.property.pathPrefixRewrite">pathPrefixRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. |

---

##### `hostRewrite`<sup>Optional</sup> <a name="hostRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.property.hostRewrite"></a>

```typescript
public readonly hostRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.

The value must be between 1 and
255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host_rewrite ComputeUrlMap#host_rewrite}

---

##### `pathPrefixRewrite`<sup>Optional</sup> <a name="pathPrefixRewrite" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionUrlRewrite.property.pathPrefixRewrite"></a>

```typescript
public readonly pathPrefixRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.

The value must
be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_prefix_rewrite ComputeUrlMap#path_prefix_rewrite}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices: ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.backendService">backendService</a></code> | <code>string</code> | The default BackendService resource. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.weight">weight</a></code> | <code>number</code> | Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) . |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction">ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction</a></code> | header_action block. |

---

##### `backendService`<sup>Required</sup> <a name="backendService" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.backendService"></a>

```typescript
public readonly backendService: string;
```

- *Type:* string

The default BackendService resource.

Before
forwarding the request to backendService, the loadbalancer applies any relevant
headerActions specified as part of this backendServiceWeight.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#backend_service ComputeUrlMap#backend_service}

---

##### `weight`<sup>Required</sup> <a name="weight" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.weight"></a>

```typescript
public readonly weight: number;
```

- *Type:* number

Specifies the fraction of traffic sent to backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) .

The selection of a
backend service is determined only for new traffic. Once a user's request has
been directed to a backendService, subsequent requests will be sent to the same
backendService as determined by the BackendService's session affinity policy.
The value must be between 0 and 1000

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#weight ComputeUrlMap#weight}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServices.property.headerAction"></a>

```typescript
public readonly headerAction: ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction">ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_action ComputeUrlMap#header_action}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction: ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd">requestHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]</code> | request_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove">requestHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd">responseHeadersToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]</code> | response_headers_to_add block. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove">responseHeadersToRemove</a></code> | <code>string[]</code> | A list of header names for headers that need to be removed from the response prior to sending the response back to the client. |

---

##### `requestHeadersToAdd`<sup>Optional</sup> <a name="requestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToAdd"></a>

```typescript
public readonly requestHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd">ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd</a>[]

request_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_add ComputeUrlMap#request_headers_to_add}

---

##### `requestHeadersToRemove`<sup>Optional</sup> <a name="requestHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.requestHeadersToRemove"></a>

```typescript
public readonly requestHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the request prior to forwarding the request to the backendService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#request_headers_to_remove ComputeUrlMap#request_headers_to_remove}

---

##### `responseHeadersToAdd`<sup>Optional</sup> <a name="responseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToAdd"></a>

```typescript
public readonly responseHeadersToAdd: IResolvable | ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd">ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd</a>[]

response_headers_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_add ComputeUrlMap#response_headers_to_add}

---

##### `responseHeadersToRemove`<sup>Optional</sup> <a name="responseHeadersToRemove" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderAction.property.responseHeadersToRemove"></a>

```typescript
public readonly responseHeadersToRemove: string[];
```

- *Type:* string[]

A list of header names for headers that need to be removed from the response prior to sending the response back to the client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#response_headers_to_remove ComputeUrlMap#response_headers_to_remove}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd: ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd <a name="ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd: ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | If false, headerValue is appended to any values that already exist for the header. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_name ComputeUrlMap#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#header_value ComputeUrlMap#header_value}

---

##### `replace`<sup>Required</sup> <a name="replace" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If false, headerValue is appended to any values that already exist for the header.

If true, headerValue is set for the header, discarding any values that
were set for that header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#replace ComputeUrlMap#replace}

---

### ComputeUrlMapPathMatcherRouteRulesUrlRedirect <a name="ComputeUrlMapPathMatcherRouteRulesUrlRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.Initializer"></a>

```typescript
import { ComputeUrlMapPathMatcherRouteRulesUrlRedirect } from '@dschmidt/provider-google'

const computeUrlMapPathMatcherRouteRulesUrlRedirect: ComputeUrlMapPathMatcherRouteRulesUrlRedirect = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.hostRedirect">hostRedirect</a></code> | <code>string</code> | The host that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.httpsRedirect">httpsRedirect</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the URL scheme in the redirected request is set to https. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.pathRedirect">pathRedirect</a></code> | <code>string</code> | The path that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.prefixRedirect">prefixRedirect</a></code> | <code>string</code> | The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.redirectResponseCode">redirectResponseCode</a></code> | <code>string</code> | The HTTP Status code to use for this RedirectAction. Supported values are:. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.stripQuery">stripQuery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. |

---

##### `hostRedirect`<sup>Optional</sup> <a name="hostRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.hostRedirect"></a>

```typescript
public readonly hostRedirect: string;
```

- *Type:* string

The host that will be used in the redirect response instead of the one that was supplied in the request.

The value must be between 1 and 255 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host_redirect ComputeUrlMap#host_redirect}

---

##### `httpsRedirect`<sup>Optional</sup> <a name="httpsRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.httpsRedirect"></a>

```typescript
public readonly httpsRedirect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the URL scheme in the redirected request is set to https.

If set
to false, the URL scheme of the redirected request will remain the same as that
of the request. This must only be set for UrlMaps used in TargetHttpProxys.
Setting this true for TargetHttpsProxy is not permitted. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#https_redirect ComputeUrlMap#https_redirect}

---

##### `pathRedirect`<sup>Optional</sup> <a name="pathRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.pathRedirect"></a>

```typescript
public readonly pathRedirect: string;
```

- *Type:* string

The path that will be used in the redirect response instead of the one that was supplied in the request.

Only one of pathRedirect or prefixRedirect must be
specified. The value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path_redirect ComputeUrlMap#path_redirect}

---

##### `prefixRedirect`<sup>Optional</sup> <a name="prefixRedirect" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.prefixRedirect"></a>

```typescript
public readonly prefixRedirect: string;
```

- *Type:* string

The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#prefix_redirect ComputeUrlMap#prefix_redirect}

---

##### `redirectResponseCode`<sup>Optional</sup> <a name="redirectResponseCode" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.redirectResponseCode"></a>

```typescript
public readonly redirectResponseCode: string;
```

- *Type:* string

The HTTP Status code to use for this RedirectAction. Supported values are:.

MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.

FOUND, which corresponds to 302.

SEE_OTHER which corresponds to 303.

TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method will be retained.

PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#redirect_response_code ComputeUrlMap#redirect_response_code}

---

##### `stripQuery`<sup>Optional</sup> <a name="stripQuery" id="@dschmidt/provider-google.ComputeUrlMapPathMatcherRouteRulesUrlRedirect.property.stripQuery"></a>

```typescript
public readonly stripQuery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.

If set to false, the query portion of the
original URL is retained. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#strip_query ComputeUrlMap#strip_query}

---

### ComputeUrlMapTest <a name="ComputeUrlMapTest" id="@dschmidt/provider-google.ComputeUrlMapTest"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapTest.Initializer"></a>

```typescript
import { ComputeUrlMapTest } from '@dschmidt/provider-google'

const computeUrlMapTest: ComputeUrlMapTest = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapTest.property.host">host</a></code> | <code>string</code> | Host portion of the URL. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapTest.property.path">path</a></code> | <code>string</code> | Path portion of the URL. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapTest.property.service">service</a></code> | <code>string</code> | The backend service or backend bucket link that should be matched by this test. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapTest.property.description">description</a></code> | <code>string</code> | Description of this test case. |

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.ComputeUrlMapTest.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

Host portion of the URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#host ComputeUrlMap#host}

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.ComputeUrlMapTest.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Path portion of the URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#path ComputeUrlMap#path}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ComputeUrlMapTest.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

The backend service or backend bucket link that should be matched by this test.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#service ComputeUrlMap#service}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeUrlMapTest.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of this test case.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#description ComputeUrlMap#description}

---

### ComputeUrlMapTimeouts <a name="ComputeUrlMapTimeouts" id="@dschmidt/provider-google.ComputeUrlMapTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeUrlMapTimeouts.Initializer"></a>

```typescript
import { ComputeUrlMapTimeouts } from '@dschmidt/provider-google'

const computeUrlMapTimeouts: ComputeUrlMapTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#create ComputeUrlMap#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#delete ComputeUrlMap#delete}. |
| <code><a href="#@dschmidt/provider-google.ComputeUrlMapTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#update ComputeUrlMap#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeUrlMapTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#create ComputeUrlMap#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeUrlMapTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#delete ComputeUrlMap#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ComputeUrlMapTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_url_map#update ComputeUrlMap#update}.

---

### ComputeVpnGatewayConfig <a name="ComputeVpnGatewayConfig" id="@dschmidt/provider-google.ComputeVpnGatewayConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.Initializer"></a>

```typescript
import { ComputeVpnGatewayConfig } from '@dschmidt/provider-google'

const computeVpnGatewayConfig: ComputeVpnGatewayConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.network">network</a></code> | <code>string</code> | The network this VPN gateway is accepting traffic for. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#id ComputeVpnGateway#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#project ComputeVpnGateway#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.region">region</a></code> | <code>string</code> | The region this gateway should sit in. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayTimeouts">ComputeVpnGatewayTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#name ComputeVpnGateway#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The network this VPN gateway is accepting traffic for.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#network ComputeVpnGateway#network}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#description ComputeVpnGateway#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#id ComputeVpnGateway#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#project ComputeVpnGateway#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region this gateway should sit in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#region ComputeVpnGateway#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeVpnGatewayConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeVpnGatewayTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeVpnGatewayTimeouts">ComputeVpnGatewayTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#timeouts ComputeVpnGateway#timeouts}

---

### ComputeVpnGatewayTimeouts <a name="ComputeVpnGatewayTimeouts" id="@dschmidt/provider-google.ComputeVpnGatewayTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeVpnGatewayTimeouts.Initializer"></a>

```typescript
import { ComputeVpnGatewayTimeouts } from '@dschmidt/provider-google'

const computeVpnGatewayTimeouts: ComputeVpnGatewayTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#create ComputeVpnGateway#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnGatewayTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#delete ComputeVpnGateway#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeVpnGatewayTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#create ComputeVpnGateway#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeVpnGatewayTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway#delete ComputeVpnGateway#delete}.

---

### ComputeVpnTunnelConfig <a name="ComputeVpnTunnelConfig" id="@dschmidt/provider-google.ComputeVpnTunnelConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.Initializer"></a>

```typescript
import { ComputeVpnTunnelConfig } from '@dschmidt/provider-google'

const computeVpnTunnelConfig: ComputeVpnTunnelConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.sharedSecret">sharedSecret</a></code> | <code>string</code> | Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.description">description</a></code> | <code>string</code> | An optional description of this resource. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#id ComputeVpnTunnel#id}. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.ikeVersion">ikeVersion</a></code> | <code>number</code> | IKE protocol version to use when establishing the VPN tunnel with peer VPN gateway. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.localTrafficSelector">localTrafficSelector</a></code> | <code>string[]</code> | Local traffic selector to use when establishing the VPN tunnel with peer VPN gateway. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.peerExternalGateway">peerExternalGateway</a></code> | <code>string</code> | URL of the peer side external VPN gateway to which this VPN tunnel is connected. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.peerExternalGatewayInterface">peerExternalGatewayInterface</a></code> | <code>number</code> | The interface ID of the external VPN gateway to which this VPN tunnel is connected. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.peerGcpGateway">peerGcpGateway</a></code> | <code>string</code> | URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.peerIp">peerIp</a></code> | <code>string</code> | IP address of the peer VPN gateway. Only IPv4 is supported. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#project ComputeVpnTunnel#project}. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.region">region</a></code> | <code>string</code> | The region where the tunnel is located. If unset, is set to the region of 'target_vpn_gateway'. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.remoteTrafficSelector">remoteTrafficSelector</a></code> | <code>string[]</code> | Remote traffic selector to use when establishing the VPN tunnel with peer VPN gateway. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.router">router</a></code> | <code>string</code> | URL of router resource to be used for dynamic routing. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.targetVpnGateway">targetVpnGateway</a></code> | <code>string</code> | URL of the Target VPN gateway with which this VPN tunnel is associated. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelTimeouts">ComputeVpnTunnelTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.vpnGateway">vpnGateway</a></code> | <code>string</code> | URL of the VPN gateway with which this VPN tunnel is associated. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelConfig.property.vpnGatewayInterface">vpnGatewayInterface</a></code> | <code>number</code> | The interface ID of the VPN gateway with which this VPN tunnel is associated. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

The name must be 1-63 characters long, and
comply with RFC1035. Specifically, the name must be 1-63
characters long and match the regular expression
'[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character
must be a lowercase letter, and all following characters must
be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#name ComputeVpnTunnel#name}

---

##### `sharedSecret`<sup>Required</sup> <a name="sharedSecret" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.sharedSecret"></a>

```typescript
public readonly sharedSecret: string;
```

- *Type:* string

Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#shared_secret ComputeVpnTunnel#shared_secret}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#description ComputeVpnTunnel#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#id ComputeVpnTunnel#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ikeVersion`<sup>Optional</sup> <a name="ikeVersion" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.ikeVersion"></a>

```typescript
public readonly ikeVersion: number;
```

- *Type:* number

IKE protocol version to use when establishing the VPN tunnel with peer VPN gateway.

Acceptable IKE versions are 1 or 2. Default version is 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#ike_version ComputeVpnTunnel#ike_version}

---

##### `localTrafficSelector`<sup>Optional</sup> <a name="localTrafficSelector" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.localTrafficSelector"></a>

```typescript
public readonly localTrafficSelector: string[];
```

- *Type:* string[]

Local traffic selector to use when establishing the VPN tunnel with peer VPN gateway.

The value should be a CIDR formatted string,
for example '192.168.0.0/16'. The ranges should be disjoint.
Only IPv4 is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#local_traffic_selector ComputeVpnTunnel#local_traffic_selector}

---

##### `peerExternalGateway`<sup>Optional</sup> <a name="peerExternalGateway" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.peerExternalGateway"></a>

```typescript
public readonly peerExternalGateway: string;
```

- *Type:* string

URL of the peer side external VPN gateway to which this VPN tunnel is connected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#peer_external_gateway ComputeVpnTunnel#peer_external_gateway}

---

##### `peerExternalGatewayInterface`<sup>Optional</sup> <a name="peerExternalGatewayInterface" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.peerExternalGatewayInterface"></a>

```typescript
public readonly peerExternalGatewayInterface: number;
```

- *Type:* number

The interface ID of the external VPN gateway to which this VPN tunnel is connected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#peer_external_gateway_interface ComputeVpnTunnel#peer_external_gateway_interface}

---

##### `peerGcpGateway`<sup>Optional</sup> <a name="peerGcpGateway" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.peerGcpGateway"></a>

```typescript
public readonly peerGcpGateway: string;
```

- *Type:* string

URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected.

If provided, the VPN tunnel will automatically use the same vpn_gateway_interface
ID in the peer GCP VPN gateway.
This field must reference a 'google_compute_ha_vpn_gateway' resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#peer_gcp_gateway ComputeVpnTunnel#peer_gcp_gateway}

---

##### `peerIp`<sup>Optional</sup> <a name="peerIp" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.peerIp"></a>

```typescript
public readonly peerIp: string;
```

- *Type:* string

IP address of the peer VPN gateway. Only IPv4 is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#peer_ip ComputeVpnTunnel#peer_ip}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#project ComputeVpnTunnel#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region where the tunnel is located. If unset, is set to the region of 'target_vpn_gateway'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#region ComputeVpnTunnel#region}

---

##### `remoteTrafficSelector`<sup>Optional</sup> <a name="remoteTrafficSelector" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.remoteTrafficSelector"></a>

```typescript
public readonly remoteTrafficSelector: string[];
```

- *Type:* string[]

Remote traffic selector to use when establishing the VPN tunnel with peer VPN gateway.

The value should be a CIDR formatted string,
for example '192.168.0.0/16'. The ranges should be disjoint.
Only IPv4 is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#remote_traffic_selector ComputeVpnTunnel#remote_traffic_selector}

---

##### `router`<sup>Optional</sup> <a name="router" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.router"></a>

```typescript
public readonly router: string;
```

- *Type:* string

URL of router resource to be used for dynamic routing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#router ComputeVpnTunnel#router}

---

##### `targetVpnGateway`<sup>Optional</sup> <a name="targetVpnGateway" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.targetVpnGateway"></a>

```typescript
public readonly targetVpnGateway: string;
```

- *Type:* string

URL of the Target VPN gateway with which this VPN tunnel is associated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#target_vpn_gateway ComputeVpnTunnel#target_vpn_gateway}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ComputeVpnTunnelTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ComputeVpnTunnelTimeouts">ComputeVpnTunnelTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#timeouts ComputeVpnTunnel#timeouts}

---

##### `vpnGateway`<sup>Optional</sup> <a name="vpnGateway" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.vpnGateway"></a>

```typescript
public readonly vpnGateway: string;
```

- *Type:* string

URL of the VPN gateway with which this VPN tunnel is associated.

This must be used if a High Availability VPN gateway resource is created.
This field must reference a 'google_compute_ha_vpn_gateway' resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#vpn_gateway ComputeVpnTunnel#vpn_gateway}

---

##### `vpnGatewayInterface`<sup>Optional</sup> <a name="vpnGatewayInterface" id="@dschmidt/provider-google.ComputeVpnTunnelConfig.property.vpnGatewayInterface"></a>

```typescript
public readonly vpnGatewayInterface: number;
```

- *Type:* number

The interface ID of the VPN gateway with which this VPN tunnel is associated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#vpn_gateway_interface ComputeVpnTunnel#vpn_gateway_interface}

---

### ComputeVpnTunnelTimeouts <a name="ComputeVpnTunnelTimeouts" id="@dschmidt/provider-google.ComputeVpnTunnelTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ComputeVpnTunnelTimeouts.Initializer"></a>

```typescript
import { ComputeVpnTunnelTimeouts } from '@dschmidt/provider-google'

const computeVpnTunnelTimeouts: ComputeVpnTunnelTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#create ComputeVpnTunnel#create}. |
| <code><a href="#@dschmidt/provider-google.ComputeVpnTunnelTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#delete ComputeVpnTunnel#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ComputeVpnTunnelTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#create ComputeVpnTunnel#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ComputeVpnTunnelTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/compute_vpn_tunnel#delete ComputeVpnTunnel#delete}.

---

### ContainerAnalysisNoteAttestationAuthority <a name="ContainerAnalysisNoteAttestationAuthority" id="@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthority"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthority.Initializer"></a>

```typescript
import { ContainerAnalysisNoteAttestationAuthority } from '@dschmidt/provider-google'

const containerAnalysisNoteAttestationAuthority: ContainerAnalysisNoteAttestationAuthority = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthority.property.hint">hint</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthorityHint">ContainerAnalysisNoteAttestationAuthorityHint</a></code> | hint block. |

---

##### `hint`<sup>Required</sup> <a name="hint" id="@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthority.property.hint"></a>

```typescript
public readonly hint: ContainerAnalysisNoteAttestationAuthorityHint;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthorityHint">ContainerAnalysisNoteAttestationAuthorityHint</a>

hint block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#hint ContainerAnalysisNote#hint}

---

### ContainerAnalysisNoteAttestationAuthorityHint <a name="ContainerAnalysisNoteAttestationAuthorityHint" id="@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthorityHint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthorityHint.Initializer"></a>

```typescript
import { ContainerAnalysisNoteAttestationAuthorityHint } from '@dschmidt/provider-google'

const containerAnalysisNoteAttestationAuthorityHint: ContainerAnalysisNoteAttestationAuthorityHint = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthorityHint.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | The human readable name of this Attestation Authority, for example "qa". |

---

##### `humanReadableName`<sup>Required</sup> <a name="humanReadableName" id="@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthorityHint.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string

The human readable name of this Attestation Authority, for example "qa".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#human_readable_name ContainerAnalysisNote#human_readable_name}

---

### ContainerAnalysisNoteConfig <a name="ContainerAnalysisNoteConfig" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.Initializer"></a>

```typescript
import { ContainerAnalysisNoteConfig } from '@dschmidt/provider-google'

const containerAnalysisNoteConfig: ContainerAnalysisNoteConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.attestationAuthority">attestationAuthority</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthority">ContainerAnalysisNoteAttestationAuthority</a></code> | attestation_authority block. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.name">name</a></code> | <code>string</code> | The name of the note. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.expirationTime">expirationTime</a></code> | <code>string</code> | Time of expiration for this note. Leave empty if note does not expire. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#id ContainerAnalysisNote#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.longDescription">longDescription</a></code> | <code>string</code> | A detailed description of the note. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#project ContainerAnalysisNote#project}. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.relatedNoteNames">relatedNoteNames</a></code> | <code>string[]</code> | Names of other notes related to this note. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.relatedUrl">relatedUrl</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl">ContainerAnalysisNoteRelatedUrl</a>[]</code> | related_url block. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.shortDescription">shortDescription</a></code> | <code>string</code> | A one sentence description of the note. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeouts">ContainerAnalysisNoteTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestationAuthority`<sup>Required</sup> <a name="attestationAuthority" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.attestationAuthority"></a>

```typescript
public readonly attestationAuthority: ContainerAnalysisNoteAttestationAuthority;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteAttestationAuthority">ContainerAnalysisNoteAttestationAuthority</a>

attestation_authority block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#attestation_authority ContainerAnalysisNote#attestation_authority}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the note.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#name ContainerAnalysisNote#name}

---

##### `expirationTime`<sup>Optional</sup> <a name="expirationTime" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.expirationTime"></a>

```typescript
public readonly expirationTime: string;
```

- *Type:* string

Time of expiration for this note. Leave empty if note does not expire.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#expiration_time ContainerAnalysisNote#expiration_time}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#id ContainerAnalysisNote#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `longDescription`<sup>Optional</sup> <a name="longDescription" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.longDescription"></a>

```typescript
public readonly longDescription: string;
```

- *Type:* string

A detailed description of the note.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#long_description ContainerAnalysisNote#long_description}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#project ContainerAnalysisNote#project}.

---

##### `relatedNoteNames`<sup>Optional</sup> <a name="relatedNoteNames" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.relatedNoteNames"></a>

```typescript
public readonly relatedNoteNames: string[];
```

- *Type:* string[]

Names of other notes related to this note.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#related_note_names ContainerAnalysisNote#related_note_names}

---

##### `relatedUrl`<sup>Optional</sup> <a name="relatedUrl" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.relatedUrl"></a>

```typescript
public readonly relatedUrl: IResolvable | ContainerAnalysisNoteRelatedUrl[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl">ContainerAnalysisNoteRelatedUrl</a>[]

related_url block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#related_url ContainerAnalysisNote#related_url}

---

##### `shortDescription`<sup>Optional</sup> <a name="shortDescription" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.shortDescription"></a>

```typescript
public readonly shortDescription: string;
```

- *Type:* string

A one sentence description of the note.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#short_description ContainerAnalysisNote#short_description}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAnalysisNoteConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAnalysisNoteTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeouts">ContainerAnalysisNoteTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#timeouts ContainerAnalysisNote#timeouts}

---

### ContainerAnalysisNoteRelatedUrl <a name="ContainerAnalysisNoteRelatedUrl" id="@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl.Initializer"></a>

```typescript
import { ContainerAnalysisNoteRelatedUrl } from '@dschmidt/provider-google'

const containerAnalysisNoteRelatedUrl: ContainerAnalysisNoteRelatedUrl = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl.property.url">url</a></code> | <code>string</code> | Specific URL associated with the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl.property.label">label</a></code> | <code>string</code> | Label to describe usage of the URL. |

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

Specific URL associated with the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#url ContainerAnalysisNote#url}

---

##### `label`<sup>Optional</sup> <a name="label" id="@dschmidt/provider-google.ContainerAnalysisNoteRelatedUrl.property.label"></a>

```typescript
public readonly label: string;
```

- *Type:* string

Label to describe usage of the URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#label ContainerAnalysisNote#label}

---

### ContainerAnalysisNoteTimeouts <a name="ContainerAnalysisNoteTimeouts" id="@dschmidt/provider-google.ContainerAnalysisNoteTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAnalysisNoteTimeouts.Initializer"></a>

```typescript
import { ContainerAnalysisNoteTimeouts } from '@dschmidt/provider-google'

const containerAnalysisNoteTimeouts: ContainerAnalysisNoteTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#create ContainerAnalysisNote#create}. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#delete ContainerAnalysisNote#delete}. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisNoteTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#update ContainerAnalysisNote#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ContainerAnalysisNoteTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#create ContainerAnalysisNote#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ContainerAnalysisNoteTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#delete ContainerAnalysisNote#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ContainerAnalysisNoteTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_note#update ContainerAnalysisNote#update}.

---

### ContainerAnalysisOccurrenceAttestation <a name="ContainerAnalysisOccurrenceAttestation" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation.Initializer"></a>

```typescript
import { ContainerAnalysisOccurrenceAttestation } from '@dschmidt/provider-google'

const containerAnalysisOccurrenceAttestation: ContainerAnalysisOccurrenceAttestation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation.property.serializedPayload">serializedPayload</a></code> | <code>string</code> | The serialized payload that is verified by one or more signatures. A base64-encoded string. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation.property.signatures">signatures</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationSignatures">ContainerAnalysisOccurrenceAttestationSignatures</a>[]</code> | signatures block. |

---

##### `serializedPayload`<sup>Required</sup> <a name="serializedPayload" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation.property.serializedPayload"></a>

```typescript
public readonly serializedPayload: string;
```

- *Type:* string

The serialized payload that is verified by one or more signatures. A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#serialized_payload ContainerAnalysisOccurrence#serialized_payload}

---

##### `signatures`<sup>Required</sup> <a name="signatures" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation.property.signatures"></a>

```typescript
public readonly signatures: IResolvable | ContainerAnalysisOccurrenceAttestationSignatures[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationSignatures">ContainerAnalysisOccurrenceAttestationSignatures</a>[]

signatures block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#signatures ContainerAnalysisOccurrence#signatures}

---

### ContainerAnalysisOccurrenceAttestationSignatures <a name="ContainerAnalysisOccurrenceAttestationSignatures" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationSignatures"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationSignatures.Initializer"></a>

```typescript
import { ContainerAnalysisOccurrenceAttestationSignatures } from '@dschmidt/provider-google'

const containerAnalysisOccurrenceAttestationSignatures: ContainerAnalysisOccurrenceAttestationSignatures = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationSignatures.property.publicKeyId">publicKeyId</a></code> | <code>string</code> | The identifier for the public key that verifies this signature. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationSignatures.property.signature">signature</a></code> | <code>string</code> | The content of the signature, an opaque bytestring. |

---

##### `publicKeyId`<sup>Required</sup> <a name="publicKeyId" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationSignatures.property.publicKeyId"></a>

```typescript
public readonly publicKeyId: string;
```

- *Type:* string

The identifier for the public key that verifies this signature.

MUST be an RFC3986 conformant
URI. * When possible, the key id should be an
immutable reference, such as a cryptographic digest.
Examples of valid values:

OpenPGP V4 public key fingerprint. See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr
for more details on this scheme.
 'openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA'
RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER serialization):
 "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#public_key_id ContainerAnalysisOccurrence#public_key_id}

---

##### `signature`<sup>Optional</sup> <a name="signature" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestationSignatures.property.signature"></a>

```typescript
public readonly signature: string;
```

- *Type:* string

The content of the signature, an opaque bytestring.

The payload that this signature verifies MUST be
unambiguously provided with the Signature during
verification. A wrapper message might provide the
payload explicitly. Alternatively, a message might
have a canonical serialization that can always be
unambiguously computed to derive the payload.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#signature ContainerAnalysisOccurrence#signature}

---

### ContainerAnalysisOccurrenceConfig <a name="ContainerAnalysisOccurrenceConfig" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.Initializer"></a>

```typescript
import { ContainerAnalysisOccurrenceConfig } from '@dschmidt/provider-google'

const containerAnalysisOccurrenceConfig: ContainerAnalysisOccurrenceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.attestation">attestation</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation">ContainerAnalysisOccurrenceAttestation</a></code> | attestation block. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.noteName">noteName</a></code> | <code>string</code> | The analysis note associated with this occurrence, in the form of projects/[PROJECT]/notes/[NOTE_ID]. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.resourceUri">resourceUri</a></code> | <code>string</code> | Required. Immutable. A URI that represents the resource for which the occurrence applies. For example, https://gcr.io/project/image@sha256:123abc for a Docker image. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#id ContainerAnalysisOccurrence#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#project ContainerAnalysisOccurrence#project}. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.remediation">remediation</a></code> | <code>string</code> | A description of actions that can be taken to remedy the note. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts">ContainerAnalysisOccurrenceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `attestation`<sup>Required</sup> <a name="attestation" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.attestation"></a>

```typescript
public readonly attestation: ContainerAnalysisOccurrenceAttestation;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceAttestation">ContainerAnalysisOccurrenceAttestation</a>

attestation block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#attestation ContainerAnalysisOccurrence#attestation}

---

##### `noteName`<sup>Required</sup> <a name="noteName" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.noteName"></a>

```typescript
public readonly noteName: string;
```

- *Type:* string

The analysis note associated with this occurrence, in the form of projects/[PROJECT]/notes/[NOTE_ID].

This field can be used as a
filter in list requests.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#note_name ContainerAnalysisOccurrence#note_name}

---

##### `resourceUri`<sup>Required</sup> <a name="resourceUri" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.resourceUri"></a>

```typescript
public readonly resourceUri: string;
```

- *Type:* string

Required. Immutable. A URI that represents the resource for which the occurrence applies. For example, https://gcr.io/project/image@sha256:123abc for a Docker image.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#resource_uri ContainerAnalysisOccurrence#resource_uri}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#id ContainerAnalysisOccurrence#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#project ContainerAnalysisOccurrence#project}.

---

##### `remediation`<sup>Optional</sup> <a name="remediation" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.remediation"></a>

```typescript
public readonly remediation: string;
```

- *Type:* string

A description of actions that can be taken to remedy the note.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#remediation ContainerAnalysisOccurrence#remediation}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAnalysisOccurrenceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts">ContainerAnalysisOccurrenceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#timeouts ContainerAnalysisOccurrence#timeouts}

---

### ContainerAnalysisOccurrenceTimeouts <a name="ContainerAnalysisOccurrenceTimeouts" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts.Initializer"></a>

```typescript
import { ContainerAnalysisOccurrenceTimeouts } from '@dschmidt/provider-google'

const containerAnalysisOccurrenceTimeouts: ContainerAnalysisOccurrenceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#create ContainerAnalysisOccurrence#create}. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#delete ContainerAnalysisOccurrence#delete}. |
| <code><a href="#@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#update ContainerAnalysisOccurrence#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#create ContainerAnalysisOccurrence#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#delete ContainerAnalysisOccurrence#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ContainerAnalysisOccurrenceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_analysis_occurrence#update ContainerAnalysisOccurrence#update}.

---

### ContainerAwsClusterAuthorization <a name="ContainerAwsClusterAuthorization" id="@dschmidt/provider-google.ContainerAwsClusterAuthorization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterAuthorization.Initializer"></a>

```typescript
import { ContainerAwsClusterAuthorization } from '@dschmidt/provider-google'

const containerAwsClusterAuthorization: ContainerAwsClusterAuthorization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorization.property.adminUsers">adminUsers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorizationAdminUsers">ContainerAwsClusterAuthorizationAdminUsers</a>[]</code> | admin_users block. |

---

##### `adminUsers`<sup>Required</sup> <a name="adminUsers" id="@dschmidt/provider-google.ContainerAwsClusterAuthorization.property.adminUsers"></a>

```typescript
public readonly adminUsers: IResolvable | ContainerAwsClusterAuthorizationAdminUsers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorizationAdminUsers">ContainerAwsClusterAuthorizationAdminUsers</a>[]

admin_users block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#admin_users ContainerAwsCluster#admin_users}

---

### ContainerAwsClusterAuthorizationAdminUsers <a name="ContainerAwsClusterAuthorizationAdminUsers" id="@dschmidt/provider-google.ContainerAwsClusterAuthorizationAdminUsers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterAuthorizationAdminUsers.Initializer"></a>

```typescript
import { ContainerAwsClusterAuthorizationAdminUsers } from '@dschmidt/provider-google'

const containerAwsClusterAuthorizationAdminUsers: ContainerAwsClusterAuthorizationAdminUsers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorizationAdminUsers.property.username">username</a></code> | <code>string</code> | The name of the user, e.g. `my-gcp-id@gmail.com`. |

---

##### `username`<sup>Required</sup> <a name="username" id="@dschmidt/provider-google.ContainerAwsClusterAuthorizationAdminUsers.property.username"></a>

```typescript
public readonly username: string;
```

- *Type:* string

The name of the user, e.g. `my-gcp-id@gmail.com`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#username ContainerAwsCluster#username}

---

### ContainerAwsClusterConfig <a name="ContainerAwsClusterConfig" id="@dschmidt/provider-google.ContainerAwsClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterConfig.Initializer"></a>

```typescript
import { ContainerAwsClusterConfig } from '@dschmidt/provider-google'

const containerAwsClusterConfig: ContainerAwsClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.authorization">authorization</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorization">ContainerAwsClusterAuthorization</a></code> | authorization block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.awsRegion">awsRegion</a></code> | <code>string</code> | The AWS region where the cluster runs. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.controlPlane">controlPlane</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane">ContainerAwsClusterControlPlane</a></code> | control_plane block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.fleet">fleet</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterFleet">ContainerAwsClusterFleet</a></code> | fleet block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.name">name</a></code> | <code>string</code> | The name of this resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.networking">networking</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterNetworking">ContainerAwsClusterNetworking</a></code> | networking block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.description">description</a></code> | <code>string</code> | Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#id ContainerAwsCluster#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterTimeouts">ContainerAwsClusterTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `authorization`<sup>Required</sup> <a name="authorization" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.authorization"></a>

```typescript
public readonly authorization: ContainerAwsClusterAuthorization;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterAuthorization">ContainerAwsClusterAuthorization</a>

authorization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#authorization ContainerAwsCluster#authorization}

---

##### `awsRegion`<sup>Required</sup> <a name="awsRegion" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.awsRegion"></a>

```typescript
public readonly awsRegion: string;
```

- *Type:* string

The AWS region where the cluster runs.

Each Google Cloud region supports a subset of nearby AWS regions. You can call to list all supported AWS regions within a given Google Cloud region.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#aws_region ContainerAwsCluster#aws_region}

---

##### `controlPlane`<sup>Required</sup> <a name="controlPlane" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.controlPlane"></a>

```typescript
public readonly controlPlane: ContainerAwsClusterControlPlane;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane">ContainerAwsClusterControlPlane</a>

control_plane block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#control_plane ContainerAwsCluster#control_plane}

---

##### `fleet`<sup>Required</sup> <a name="fleet" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.fleet"></a>

```typescript
public readonly fleet: ContainerAwsClusterFleet;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterFleet">ContainerAwsClusterFleet</a>

fleet block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#fleet ContainerAwsCluster#fleet}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#location ContainerAwsCluster#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#name ContainerAwsCluster#name}

---

##### `networking`<sup>Required</sup> <a name="networking" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.networking"></a>

```typescript
public readonly networking: ContainerAwsClusterNetworking;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterNetworking">ContainerAwsClusterNetworking</a>

networking block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#networking ContainerAwsCluster#networking}

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

Annotations on the cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#annotations ContainerAwsCluster#annotations}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#description ContainerAwsCluster#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#id ContainerAwsCluster#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#project ContainerAwsCluster#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAwsClusterConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAwsClusterTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterTimeouts">ContainerAwsClusterTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#timeouts ContainerAwsCluster#timeouts}

---

### ContainerAwsClusterControlPlane <a name="ContainerAwsClusterControlPlane" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.Initializer"></a>

```typescript
import { ContainerAwsClusterControlPlane } from '@dschmidt/provider-google'

const containerAwsClusterControlPlane: ContainerAwsClusterControlPlane = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.awsServicesAuthentication">awsServicesAuthentication</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneAwsServicesAuthentication">ContainerAwsClusterControlPlaneAwsServicesAuthentication</a></code> | aws_services_authentication block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.configEncryption">configEncryption</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneConfigEncryption">ContainerAwsClusterControlPlaneConfigEncryption</a></code> | config_encryption block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.databaseEncryption">databaseEncryption</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneDatabaseEncryption">ContainerAwsClusterControlPlaneDatabaseEncryption</a></code> | database_encryption block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.iamInstanceProfile">iamInstanceProfile</a></code> | <code>string</code> | The name of the AWS IAM instance pofile to assign to each control plane replica. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.subnetIds">subnetIds</a></code> | <code>string[]</code> | The list of subnets where control plane replicas will run. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.version">version</a></code> | <code>string</code> | The Kubernetes version to run on control plane replicas (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling . |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.instanceType">instanceType</a></code> | <code>string</code> | Optional. The AWS instance type. When unspecified, it defaults to `m5.large`. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.mainVolume">mainVolume</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume">ContainerAwsClusterControlPlaneMainVolume</a></code> | main_volume block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.proxyConfig">proxyConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneProxyConfig">ContainerAwsClusterControlPlaneProxyConfig</a></code> | proxy_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.rootVolume">rootVolume</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume">ContainerAwsClusterControlPlaneRootVolume</a></code> | root_volume block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.securityGroupIds">securityGroupIds</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.sshConfig">sshConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneSshConfig">ContainerAwsClusterControlPlaneSshConfig</a></code> | ssh_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.tags">tags</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `awsServicesAuthentication`<sup>Required</sup> <a name="awsServicesAuthentication" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.awsServicesAuthentication"></a>

```typescript
public readonly awsServicesAuthentication: ContainerAwsClusterControlPlaneAwsServicesAuthentication;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneAwsServicesAuthentication">ContainerAwsClusterControlPlaneAwsServicesAuthentication</a>

aws_services_authentication block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#aws_services_authentication ContainerAwsCluster#aws_services_authentication}

---

##### `configEncryption`<sup>Required</sup> <a name="configEncryption" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.configEncryption"></a>

```typescript
public readonly configEncryption: ContainerAwsClusterControlPlaneConfigEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneConfigEncryption">ContainerAwsClusterControlPlaneConfigEncryption</a>

config_encryption block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#config_encryption ContainerAwsCluster#config_encryption}

---

##### `databaseEncryption`<sup>Required</sup> <a name="databaseEncryption" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.databaseEncryption"></a>

```typescript
public readonly databaseEncryption: ContainerAwsClusterControlPlaneDatabaseEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneDatabaseEncryption">ContainerAwsClusterControlPlaneDatabaseEncryption</a>

database_encryption block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#database_encryption ContainerAwsCluster#database_encryption}

---

##### `iamInstanceProfile`<sup>Required</sup> <a name="iamInstanceProfile" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.iamInstanceProfile"></a>

```typescript
public readonly iamInstanceProfile: string;
```

- *Type:* string

The name of the AWS IAM instance pofile to assign to each control plane replica.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#iam_instance_profile ContainerAwsCluster#iam_instance_profile}

---

##### `subnetIds`<sup>Required</sup> <a name="subnetIds" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.subnetIds"></a>

```typescript
public readonly subnetIds: string[];
```

- *Type:* string[]

The list of subnets where control plane replicas will run.

A replica will be provisioned on each subnet and up to three values can be provided. Each subnet must be in a different AWS Availability Zone (AZ).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#subnet_ids ContainerAwsCluster#subnet_ids}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The Kubernetes version to run on control plane replicas (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling .

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#version ContainerAwsCluster#version}

---

##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.instanceType"></a>

```typescript
public readonly instanceType: string;
```

- *Type:* string

Optional. The AWS instance type. When unspecified, it defaults to `m5.large`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#instance_type ContainerAwsCluster#instance_type}

---

##### `mainVolume`<sup>Optional</sup> <a name="mainVolume" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.mainVolume"></a>

```typescript
public readonly mainVolume: ContainerAwsClusterControlPlaneMainVolume;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume">ContainerAwsClusterControlPlaneMainVolume</a>

main_volume block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#main_volume ContainerAwsCluster#main_volume}

---

##### `proxyConfig`<sup>Optional</sup> <a name="proxyConfig" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.proxyConfig"></a>

```typescript
public readonly proxyConfig: ContainerAwsClusterControlPlaneProxyConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneProxyConfig">ContainerAwsClusterControlPlaneProxyConfig</a>

proxy_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#proxy_config ContainerAwsCluster#proxy_config}

---

##### `rootVolume`<sup>Optional</sup> <a name="rootVolume" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.rootVolume"></a>

```typescript
public readonly rootVolume: ContainerAwsClusterControlPlaneRootVolume;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume">ContainerAwsClusterControlPlaneRootVolume</a>

root_volume block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#root_volume ContainerAwsCluster#root_volume}

---

##### `securityGroupIds`<sup>Optional</sup> <a name="securityGroupIds" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.securityGroupIds"></a>

```typescript
public readonly securityGroupIds: string[];
```

- *Type:* string[]

Optional.

The IDs of additional security groups to add to control plane replicas. The Anthos Multi-Cloud API will automatically create and manage security groups with the minimum rules needed for a functioning cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#security_group_ids ContainerAwsCluster#security_group_ids}

---

##### `sshConfig`<sup>Optional</sup> <a name="sshConfig" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.sshConfig"></a>

```typescript
public readonly sshConfig: ContainerAwsClusterControlPlaneSshConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneSshConfig">ContainerAwsClusterControlPlaneSshConfig</a>

ssh_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#ssh_config ContainerAwsCluster#ssh_config}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ContainerAwsClusterControlPlane.property.tags"></a>

```typescript
public readonly tags: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A set of AWS resource tags to propagate to all underlying managed AWS resources. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#tags ContainerAwsCluster#tags}

---

### ContainerAwsClusterControlPlaneAwsServicesAuthentication <a name="ContainerAwsClusterControlPlaneAwsServicesAuthentication" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneAwsServicesAuthentication"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneAwsServicesAuthentication.Initializer"></a>

```typescript
import { ContainerAwsClusterControlPlaneAwsServicesAuthentication } from '@dschmidt/provider-google'

const containerAwsClusterControlPlaneAwsServicesAuthentication: ContainerAwsClusterControlPlaneAwsServicesAuthentication = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneAwsServicesAuthentication.property.roleArn">roleArn</a></code> | <code>string</code> | The Amazon Resource Name (ARN) of the role that the Anthos Multi-Cloud API will assume when managing AWS resources on your account. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneAwsServicesAuthentication.property.roleSessionName">roleSessionName</a></code> | <code>string</code> | Optional. An identifier for the assumed role session. When unspecified, it defaults to `multicloud-service-agent`. |

---

##### `roleArn`<sup>Required</sup> <a name="roleArn" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneAwsServicesAuthentication.property.roleArn"></a>

```typescript
public readonly roleArn: string;
```

- *Type:* string

The Amazon Resource Name (ARN) of the role that the Anthos Multi-Cloud API will assume when managing AWS resources on your account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#role_arn ContainerAwsCluster#role_arn}

---

##### `roleSessionName`<sup>Optional</sup> <a name="roleSessionName" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneAwsServicesAuthentication.property.roleSessionName"></a>

```typescript
public readonly roleSessionName: string;
```

- *Type:* string

Optional. An identifier for the assumed role session. When unspecified, it defaults to `multicloud-service-agent`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#role_session_name ContainerAwsCluster#role_session_name}

---

### ContainerAwsClusterControlPlaneConfigEncryption <a name="ContainerAwsClusterControlPlaneConfigEncryption" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneConfigEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneConfigEncryption.Initializer"></a>

```typescript
import { ContainerAwsClusterControlPlaneConfigEncryption } from '@dschmidt/provider-google'

const containerAwsClusterControlPlaneConfigEncryption: ContainerAwsClusterControlPlaneConfigEncryption = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneConfigEncryption.property.kmsKeyArn">kmsKeyArn</a></code> | <code>string</code> | The ARN of the AWS KMS key used to encrypt cluster configuration. |

---

##### `kmsKeyArn`<sup>Required</sup> <a name="kmsKeyArn" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneConfigEncryption.property.kmsKeyArn"></a>

```typescript
public readonly kmsKeyArn: string;
```

- *Type:* string

The ARN of the AWS KMS key used to encrypt cluster configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#kms_key_arn ContainerAwsCluster#kms_key_arn}

---

### ContainerAwsClusterControlPlaneDatabaseEncryption <a name="ContainerAwsClusterControlPlaneDatabaseEncryption" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneDatabaseEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneDatabaseEncryption.Initializer"></a>

```typescript
import { ContainerAwsClusterControlPlaneDatabaseEncryption } from '@dschmidt/provider-google'

const containerAwsClusterControlPlaneDatabaseEncryption: ContainerAwsClusterControlPlaneDatabaseEncryption = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneDatabaseEncryption.property.kmsKeyArn">kmsKeyArn</a></code> | <code>string</code> | The ARN of the AWS KMS key used to encrypt cluster secrets. |

---

##### `kmsKeyArn`<sup>Required</sup> <a name="kmsKeyArn" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneDatabaseEncryption.property.kmsKeyArn"></a>

```typescript
public readonly kmsKeyArn: string;
```

- *Type:* string

The ARN of the AWS KMS key used to encrypt cluster secrets.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#kms_key_arn ContainerAwsCluster#kms_key_arn}

---

### ContainerAwsClusterControlPlaneMainVolume <a name="ContainerAwsClusterControlPlaneMainVolume" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume.Initializer"></a>

```typescript
import { ContainerAwsClusterControlPlaneMainVolume } from '@dschmidt/provider-google'

const containerAwsClusterControlPlaneMainVolume: ContainerAwsClusterControlPlaneMainVolume = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume.property.iops">iops</a></code> | <code>number</code> | Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume.property.kmsKeyArn">kmsKeyArn</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume.property.sizeGib">sizeGib</a></code> | <code>number</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume.property.volumeType">volumeType</a></code> | <code>string</code> | Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED, GP2, GP3. |

---

##### `iops`<sup>Optional</sup> <a name="iops" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume.property.iops"></a>

```typescript
public readonly iops: number;
```

- *Type:* number

Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#iops ContainerAwsCluster#iops}

---

##### `kmsKeyArn`<sup>Optional</sup> <a name="kmsKeyArn" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume.property.kmsKeyArn"></a>

```typescript
public readonly kmsKeyArn: string;
```

- *Type:* string

Optional.

The Amazon Resource Name (ARN) of the Customer Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified, the default Amazon managed key associated to the AWS region where this cluster runs will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#kms_key_arn ContainerAwsCluster#kms_key_arn}

---

##### `sizeGib`<sup>Optional</sup> <a name="sizeGib" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume.property.sizeGib"></a>

```typescript
public readonly sizeGib: number;
```

- *Type:* number

Optional.

The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#size_gib ContainerAwsCluster#size_gib}

---

##### `volumeType`<sup>Optional</sup> <a name="volumeType" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneMainVolume.property.volumeType"></a>

```typescript
public readonly volumeType: string;
```

- *Type:* string

Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED, GP2, GP3.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#volume_type ContainerAwsCluster#volume_type}

---

### ContainerAwsClusterControlPlaneProxyConfig <a name="ContainerAwsClusterControlPlaneProxyConfig" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneProxyConfig.Initializer"></a>

```typescript
import { ContainerAwsClusterControlPlaneProxyConfig } from '@dschmidt/provider-google'

const containerAwsClusterControlPlaneProxyConfig: ContainerAwsClusterControlPlaneProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneProxyConfig.property.secretArn">secretArn</a></code> | <code>string</code> | The ARN of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneProxyConfig.property.secretVersion">secretVersion</a></code> | <code>string</code> | The version string of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration. |

---

##### `secretArn`<sup>Required</sup> <a name="secretArn" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneProxyConfig.property.secretArn"></a>

```typescript
public readonly secretArn: string;
```

- *Type:* string

The ARN of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#secret_arn ContainerAwsCluster#secret_arn}

---

##### `secretVersion`<sup>Required</sup> <a name="secretVersion" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneProxyConfig.property.secretVersion"></a>

```typescript
public readonly secretVersion: string;
```

- *Type:* string

The version string of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#secret_version ContainerAwsCluster#secret_version}

---

### ContainerAwsClusterControlPlaneRootVolume <a name="ContainerAwsClusterControlPlaneRootVolume" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume.Initializer"></a>

```typescript
import { ContainerAwsClusterControlPlaneRootVolume } from '@dschmidt/provider-google'

const containerAwsClusterControlPlaneRootVolume: ContainerAwsClusterControlPlaneRootVolume = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume.property.iops">iops</a></code> | <code>number</code> | Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume.property.kmsKeyArn">kmsKeyArn</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume.property.sizeGib">sizeGib</a></code> | <code>number</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume.property.volumeType">volumeType</a></code> | <code>string</code> | Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED, GP2, GP3. |

---

##### `iops`<sup>Optional</sup> <a name="iops" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume.property.iops"></a>

```typescript
public readonly iops: number;
```

- *Type:* number

Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#iops ContainerAwsCluster#iops}

---

##### `kmsKeyArn`<sup>Optional</sup> <a name="kmsKeyArn" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume.property.kmsKeyArn"></a>

```typescript
public readonly kmsKeyArn: string;
```

- *Type:* string

Optional.

The Amazon Resource Name (ARN) of the Customer Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified, the default Amazon managed key associated to the AWS region where this cluster runs will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#kms_key_arn ContainerAwsCluster#kms_key_arn}

---

##### `sizeGib`<sup>Optional</sup> <a name="sizeGib" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume.property.sizeGib"></a>

```typescript
public readonly sizeGib: number;
```

- *Type:* number

Optional.

The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#size_gib ContainerAwsCluster#size_gib}

---

##### `volumeType`<sup>Optional</sup> <a name="volumeType" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneRootVolume.property.volumeType"></a>

```typescript
public readonly volumeType: string;
```

- *Type:* string

Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED, GP2, GP3.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#volume_type ContainerAwsCluster#volume_type}

---

### ContainerAwsClusterControlPlaneSshConfig <a name="ContainerAwsClusterControlPlaneSshConfig" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneSshConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneSshConfig.Initializer"></a>

```typescript
import { ContainerAwsClusterControlPlaneSshConfig } from '@dschmidt/provider-google'

const containerAwsClusterControlPlaneSshConfig: ContainerAwsClusterControlPlaneSshConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterControlPlaneSshConfig.property.ec2KeyPair">ec2KeyPair</a></code> | <code>string</code> | The name of the EC2 key pair used to login into cluster machines. |

---

##### `ec2KeyPair`<sup>Required</sup> <a name="ec2KeyPair" id="@dschmidt/provider-google.ContainerAwsClusterControlPlaneSshConfig.property.ec2KeyPair"></a>

```typescript
public readonly ec2KeyPair: string;
```

- *Type:* string

The name of the EC2 key pair used to login into cluster machines.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#ec2_key_pair ContainerAwsCluster#ec2_key_pair}

---

### ContainerAwsClusterFleet <a name="ContainerAwsClusterFleet" id="@dschmidt/provider-google.ContainerAwsClusterFleet"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterFleet.Initializer"></a>

```typescript
import { ContainerAwsClusterFleet } from '@dschmidt/provider-google'

const containerAwsClusterFleet: ContainerAwsClusterFleet = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterFleet.property.project">project</a></code> | <code>string</code> | The number of the Fleet host project where this cluster will be registered. |

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerAwsClusterFleet.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The number of the Fleet host project where this cluster will be registered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#project ContainerAwsCluster#project}

---

### ContainerAwsClusterNetworking <a name="ContainerAwsClusterNetworking" id="@dschmidt/provider-google.ContainerAwsClusterNetworking"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterNetworking.Initializer"></a>

```typescript
import { ContainerAwsClusterNetworking } from '@dschmidt/provider-google'

const containerAwsClusterNetworking: ContainerAwsClusterNetworking = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterNetworking.property.podAddressCidrBlocks">podAddressCidrBlocks</a></code> | <code>string[]</code> | All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterNetworking.property.serviceAddressCidrBlocks">serviceAddressCidrBlocks</a></code> | <code>string[]</code> | All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterNetworking.property.vpcId">vpcId</a></code> | <code>string</code> | The VPC associated with the cluster. |

---

##### `podAddressCidrBlocks`<sup>Required</sup> <a name="podAddressCidrBlocks" id="@dschmidt/provider-google.ContainerAwsClusterNetworking.property.podAddressCidrBlocks"></a>

```typescript
public readonly podAddressCidrBlocks: string[];
```

- *Type:* string[]

All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges.

Only a single range is supported. This field cannot be changed after creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#pod_address_cidr_blocks ContainerAwsCluster#pod_address_cidr_blocks}

---

##### `serviceAddressCidrBlocks`<sup>Required</sup> <a name="serviceAddressCidrBlocks" id="@dschmidt/provider-google.ContainerAwsClusterNetworking.property.serviceAddressCidrBlocks"></a>

```typescript
public readonly serviceAddressCidrBlocks: string[];
```

- *Type:* string[]

All services in the cluster are assigned an RFC1918 IPv4 address from these ranges.

Only a single range is supported. This field cannot be changed after creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#service_address_cidr_blocks ContainerAwsCluster#service_address_cidr_blocks}

---

##### `vpcId`<sup>Required</sup> <a name="vpcId" id="@dschmidt/provider-google.ContainerAwsClusterNetworking.property.vpcId"></a>

```typescript
public readonly vpcId: string;
```

- *Type:* string

The VPC associated with the cluster.

All component clusters (i.e. control plane and node pools) run on a single VPC. This field cannot be changed after creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#vpc_id ContainerAwsCluster#vpc_id}

---

### ContainerAwsClusterTimeouts <a name="ContainerAwsClusterTimeouts" id="@dschmidt/provider-google.ContainerAwsClusterTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterTimeouts.Initializer"></a>

```typescript
import { ContainerAwsClusterTimeouts } from '@dschmidt/provider-google'

const containerAwsClusterTimeouts: ContainerAwsClusterTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#create ContainerAwsCluster#create}. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#delete ContainerAwsCluster#delete}. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsClusterTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#update ContainerAwsCluster#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ContainerAwsClusterTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#create ContainerAwsCluster#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ContainerAwsClusterTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#delete ContainerAwsCluster#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ContainerAwsClusterTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_cluster#update ContainerAwsCluster#update}.

---

### ContainerAwsClusterWorkloadIdentityConfig <a name="ContainerAwsClusterWorkloadIdentityConfig" id="@dschmidt/provider-google.ContainerAwsClusterWorkloadIdentityConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsClusterWorkloadIdentityConfig.Initializer"></a>

```typescript
import { ContainerAwsClusterWorkloadIdentityConfig } from '@dschmidt/provider-google'

const containerAwsClusterWorkloadIdentityConfig: ContainerAwsClusterWorkloadIdentityConfig = { ... }
```


### ContainerAwsNodePoolAutoscaling <a name="ContainerAwsNodePoolAutoscaling" id="@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling.Initializer"></a>

```typescript
import { ContainerAwsNodePoolAutoscaling } from '@dschmidt/provider-google'

const containerAwsNodePoolAutoscaling: ContainerAwsNodePoolAutoscaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling.property.maxNodeCount">maxNodeCount</a></code> | <code>number</code> | Maximum number of nodes in the NodePool. Must be >= min_node_count. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling.property.minNodeCount">minNodeCount</a></code> | <code>number</code> | Minimum number of nodes in the NodePool. Must be >= 1 and <= max_node_count. |

---

##### `maxNodeCount`<sup>Required</sup> <a name="maxNodeCount" id="@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling.property.maxNodeCount"></a>

```typescript
public readonly maxNodeCount: number;
```

- *Type:* number

Maximum number of nodes in the NodePool. Must be >= min_node_count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#max_node_count ContainerAwsNodePool#max_node_count}

---

##### `minNodeCount`<sup>Required</sup> <a name="minNodeCount" id="@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling.property.minNodeCount"></a>

```typescript
public readonly minNodeCount: number;
```

- *Type:* number

Minimum number of nodes in the NodePool. Must be >= 1 and <= max_node_count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#min_node_count ContainerAwsNodePool#min_node_count}

---

### ContainerAwsNodePoolConfig <a name="ContainerAwsNodePoolConfig" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.Initializer"></a>

```typescript
import { ContainerAwsNodePoolConfig } from '@dschmidt/provider-google'

const containerAwsNodePoolConfig: ContainerAwsNodePoolConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.autoscaling">autoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling">ContainerAwsNodePoolAutoscaling</a></code> | autoscaling block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.cluster">cluster</a></code> | <code>string</code> | The awsCluster for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA">ContainerAwsNodePoolConfigA</a></code> | config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.maxPodsConstraint">maxPodsConstraint</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraint">ContainerAwsNodePoolMaxPodsConstraint</a></code> | max_pods_constraint block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.name">name</a></code> | <code>string</code> | The name of this resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.subnetId">subnetId</a></code> | <code>string</code> | The subnet where the node pool node run. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.version">version</a></code> | <code>string</code> | The Kubernetes version to run on this node pool (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAwsServerConfig. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#id ContainerAwsNodePool#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeouts">ContainerAwsNodePoolTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscaling`<sup>Required</sup> <a name="autoscaling" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.autoscaling"></a>

```typescript
public readonly autoscaling: ContainerAwsNodePoolAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolAutoscaling">ContainerAwsNodePoolAutoscaling</a>

autoscaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#autoscaling ContainerAwsNodePool#autoscaling}

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

The awsCluster for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#cluster ContainerAwsNodePool#cluster}

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.config"></a>

```typescript
public readonly config: ContainerAwsNodePoolConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA">ContainerAwsNodePoolConfigA</a>

config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#config ContainerAwsNodePool#config}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#location ContainerAwsNodePool#location}

---

##### `maxPodsConstraint`<sup>Required</sup> <a name="maxPodsConstraint" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.maxPodsConstraint"></a>

```typescript
public readonly maxPodsConstraint: ContainerAwsNodePoolMaxPodsConstraint;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraint">ContainerAwsNodePoolMaxPodsConstraint</a>

max_pods_constraint block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#max_pods_constraint ContainerAwsNodePool#max_pods_constraint}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#name ContainerAwsNodePool#name}

---

##### `subnetId`<sup>Required</sup> <a name="subnetId" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.subnetId"></a>

```typescript
public readonly subnetId: string;
```

- *Type:* string

The subnet where the node pool node run.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#subnet_id ContainerAwsNodePool#subnet_id}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The Kubernetes version to run on this node pool (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAwsServerConfig.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#version ContainerAwsNodePool#version}

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#annotations ContainerAwsNodePool#annotations}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#id ContainerAwsNodePool#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#project ContainerAwsNodePool#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAwsNodePoolConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAwsNodePoolTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeouts">ContainerAwsNodePoolTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#timeouts ContainerAwsNodePool#timeouts}

---

### ContainerAwsNodePoolConfigA <a name="ContainerAwsNodePoolConfigA" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.Initializer"></a>

```typescript
import { ContainerAwsNodePoolConfigA } from '@dschmidt/provider-google'

const containerAwsNodePoolConfigA: ContainerAwsNodePoolConfigA = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.configEncryption">configEncryption</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigConfigEncryption">ContainerAwsNodePoolConfigConfigEncryption</a></code> | config_encryption block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.iamInstanceProfile">iamInstanceProfile</a></code> | <code>string</code> | The name of the AWS IAM role assigned to nodes in the pool. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.instanceType">instanceType</a></code> | <code>string</code> | Optional. The AWS instance type. When unspecified, it defaults to `m5.large`. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.proxyConfig">proxyConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigProxyConfig">ContainerAwsNodePoolConfigProxyConfig</a></code> | proxy_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.rootVolume">rootVolume</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume">ContainerAwsNodePoolConfigRootVolume</a></code> | root_volume block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.securityGroupIds">securityGroupIds</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.sshConfig">sshConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigSshConfig">ContainerAwsNodePoolConfigSshConfig</a></code> | ssh_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.tags">tags</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.taints">taints</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints">ContainerAwsNodePoolConfigTaints</a>[]</code> | taints block. |

---

##### `configEncryption`<sup>Required</sup> <a name="configEncryption" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.configEncryption"></a>

```typescript
public readonly configEncryption: ContainerAwsNodePoolConfigConfigEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigConfigEncryption">ContainerAwsNodePoolConfigConfigEncryption</a>

config_encryption block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#config_encryption ContainerAwsNodePool#config_encryption}

---

##### `iamInstanceProfile`<sup>Required</sup> <a name="iamInstanceProfile" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.iamInstanceProfile"></a>

```typescript
public readonly iamInstanceProfile: string;
```

- *Type:* string

The name of the AWS IAM role assigned to nodes in the pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#iam_instance_profile ContainerAwsNodePool#iam_instance_profile}

---

##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.instanceType"></a>

```typescript
public readonly instanceType: string;
```

- *Type:* string

Optional. The AWS instance type. When unspecified, it defaults to `m5.large`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#instance_type ContainerAwsNodePool#instance_type}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The initial labels assigned to nodes of this node pool. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#labels ContainerAwsNodePool#labels}

---

##### `proxyConfig`<sup>Optional</sup> <a name="proxyConfig" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.proxyConfig"></a>

```typescript
public readonly proxyConfig: ContainerAwsNodePoolConfigProxyConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigProxyConfig">ContainerAwsNodePoolConfigProxyConfig</a>

proxy_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#proxy_config ContainerAwsNodePool#proxy_config}

---

##### `rootVolume`<sup>Optional</sup> <a name="rootVolume" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.rootVolume"></a>

```typescript
public readonly rootVolume: ContainerAwsNodePoolConfigRootVolume;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume">ContainerAwsNodePoolConfigRootVolume</a>

root_volume block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#root_volume ContainerAwsNodePool#root_volume}

---

##### `securityGroupIds`<sup>Optional</sup> <a name="securityGroupIds" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.securityGroupIds"></a>

```typescript
public readonly securityGroupIds: string[];
```

- *Type:* string[]

Optional.

The IDs of additional security groups to add to nodes in this pool. The manager will automatically create security groups with minimum rules needed for a functioning cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#security_group_ids ContainerAwsNodePool#security_group_ids}

---

##### `sshConfig`<sup>Optional</sup> <a name="sshConfig" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.sshConfig"></a>

```typescript
public readonly sshConfig: ContainerAwsNodePoolConfigSshConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigSshConfig">ContainerAwsNodePoolConfigSshConfig</a>

ssh_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#ssh_config ContainerAwsNodePool#ssh_config}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.tags"></a>

```typescript
public readonly tags: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

Key/value metadata to assign to each underlying AWS resource. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#tags ContainerAwsNodePool#tags}

---

##### `taints`<sup>Optional</sup> <a name="taints" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigA.property.taints"></a>

```typescript
public readonly taints: IResolvable | ContainerAwsNodePoolConfigTaints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints">ContainerAwsNodePoolConfigTaints</a>[]

taints block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#taints ContainerAwsNodePool#taints}

---

### ContainerAwsNodePoolConfigConfigEncryption <a name="ContainerAwsNodePoolConfigConfigEncryption" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigConfigEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigConfigEncryption.Initializer"></a>

```typescript
import { ContainerAwsNodePoolConfigConfigEncryption } from '@dschmidt/provider-google'

const containerAwsNodePoolConfigConfigEncryption: ContainerAwsNodePoolConfigConfigEncryption = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigConfigEncryption.property.kmsKeyArn">kmsKeyArn</a></code> | <code>string</code> | The ARN of the AWS KMS key used to encrypt node pool configuration. |

---

##### `kmsKeyArn`<sup>Required</sup> <a name="kmsKeyArn" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigConfigEncryption.property.kmsKeyArn"></a>

```typescript
public readonly kmsKeyArn: string;
```

- *Type:* string

The ARN of the AWS KMS key used to encrypt node pool configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#kms_key_arn ContainerAwsNodePool#kms_key_arn}

---

### ContainerAwsNodePoolConfigProxyConfig <a name="ContainerAwsNodePoolConfigProxyConfig" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigProxyConfig.Initializer"></a>

```typescript
import { ContainerAwsNodePoolConfigProxyConfig } from '@dschmidt/provider-google'

const containerAwsNodePoolConfigProxyConfig: ContainerAwsNodePoolConfigProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigProxyConfig.property.secretArn">secretArn</a></code> | <code>string</code> | The ARN of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigProxyConfig.property.secretVersion">secretVersion</a></code> | <code>string</code> | The version string of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration. |

---

##### `secretArn`<sup>Required</sup> <a name="secretArn" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigProxyConfig.property.secretArn"></a>

```typescript
public readonly secretArn: string;
```

- *Type:* string

The ARN of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#secret_arn ContainerAwsNodePool#secret_arn}

---

##### `secretVersion`<sup>Required</sup> <a name="secretVersion" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigProxyConfig.property.secretVersion"></a>

```typescript
public readonly secretVersion: string;
```

- *Type:* string

The version string of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#secret_version ContainerAwsNodePool#secret_version}

---

### ContainerAwsNodePoolConfigRootVolume <a name="ContainerAwsNodePoolConfigRootVolume" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume.Initializer"></a>

```typescript
import { ContainerAwsNodePoolConfigRootVolume } from '@dschmidt/provider-google'

const containerAwsNodePoolConfigRootVolume: ContainerAwsNodePoolConfigRootVolume = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume.property.iops">iops</a></code> | <code>number</code> | Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume.property.kmsKeyArn">kmsKeyArn</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume.property.sizeGib">sizeGib</a></code> | <code>number</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume.property.volumeType">volumeType</a></code> | <code>string</code> | Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED, GP2, GP3. |

---

##### `iops`<sup>Optional</sup> <a name="iops" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume.property.iops"></a>

```typescript
public readonly iops: number;
```

- *Type:* number

Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#iops ContainerAwsNodePool#iops}

---

##### `kmsKeyArn`<sup>Optional</sup> <a name="kmsKeyArn" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume.property.kmsKeyArn"></a>

```typescript
public readonly kmsKeyArn: string;
```

- *Type:* string

Optional.

The Amazon Resource Name (ARN) of the Customer Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified, the default Amazon managed key associated to the AWS region where this cluster runs will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#kms_key_arn ContainerAwsNodePool#kms_key_arn}

---

##### `sizeGib`<sup>Optional</sup> <a name="sizeGib" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume.property.sizeGib"></a>

```typescript
public readonly sizeGib: number;
```

- *Type:* number

Optional.

The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#size_gib ContainerAwsNodePool#size_gib}

---

##### `volumeType`<sup>Optional</sup> <a name="volumeType" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigRootVolume.property.volumeType"></a>

```typescript
public readonly volumeType: string;
```

- *Type:* string

Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED, GP2, GP3.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#volume_type ContainerAwsNodePool#volume_type}

---

### ContainerAwsNodePoolConfigSshConfig <a name="ContainerAwsNodePoolConfigSshConfig" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigSshConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigSshConfig.Initializer"></a>

```typescript
import { ContainerAwsNodePoolConfigSshConfig } from '@dschmidt/provider-google'

const containerAwsNodePoolConfigSshConfig: ContainerAwsNodePoolConfigSshConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigSshConfig.property.ec2KeyPair">ec2KeyPair</a></code> | <code>string</code> | The name of the EC2 key pair used to login into cluster machines. |

---

##### `ec2KeyPair`<sup>Required</sup> <a name="ec2KeyPair" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigSshConfig.property.ec2KeyPair"></a>

```typescript
public readonly ec2KeyPair: string;
```

- *Type:* string

The name of the EC2 key pair used to login into cluster machines.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#ec2_key_pair ContainerAwsNodePool#ec2_key_pair}

---

### ContainerAwsNodePoolConfigTaints <a name="ContainerAwsNodePoolConfigTaints" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints.Initializer"></a>

```typescript
import { ContainerAwsNodePoolConfigTaints } from '@dschmidt/provider-google'

const containerAwsNodePoolConfigTaints: ContainerAwsNodePoolConfigTaints = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints.property.effect">effect</a></code> | <code>string</code> | The taint effect. Possible values: EFFECT_UNSPECIFIED, NO_SCHEDULE, PREFER_NO_SCHEDULE, NO_EXECUTE. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints.property.key">key</a></code> | <code>string</code> | Key for the taint. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints.property.value">value</a></code> | <code>string</code> | Value for the taint. |

---

##### `effect`<sup>Required</sup> <a name="effect" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints.property.effect"></a>

```typescript
public readonly effect: string;
```

- *Type:* string

The taint effect. Possible values: EFFECT_UNSPECIFIED, NO_SCHEDULE, PREFER_NO_SCHEDULE, NO_EXECUTE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#effect ContainerAwsNodePool#effect}

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Key for the taint.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#key ContainerAwsNodePool#key}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.ContainerAwsNodePoolConfigTaints.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Value for the taint.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#value ContainerAwsNodePool#value}

---

### ContainerAwsNodePoolMaxPodsConstraint <a name="ContainerAwsNodePoolMaxPodsConstraint" id="@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraint.Initializer"></a>

```typescript
import { ContainerAwsNodePoolMaxPodsConstraint } from '@dschmidt/provider-google'

const containerAwsNodePoolMaxPodsConstraint: ContainerAwsNodePoolMaxPodsConstraint = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraint.property.maxPodsPerNode">maxPodsPerNode</a></code> | <code>number</code> | The maximum number of pods to schedule on a single node. |

---

##### `maxPodsPerNode`<sup>Required</sup> <a name="maxPodsPerNode" id="@dschmidt/provider-google.ContainerAwsNodePoolMaxPodsConstraint.property.maxPodsPerNode"></a>

```typescript
public readonly maxPodsPerNode: number;
```

- *Type:* number

The maximum number of pods to schedule on a single node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#max_pods_per_node ContainerAwsNodePool#max_pods_per_node}

---

### ContainerAwsNodePoolTimeouts <a name="ContainerAwsNodePoolTimeouts" id="@dschmidt/provider-google.ContainerAwsNodePoolTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAwsNodePoolTimeouts.Initializer"></a>

```typescript
import { ContainerAwsNodePoolTimeouts } from '@dschmidt/provider-google'

const containerAwsNodePoolTimeouts: ContainerAwsNodePoolTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#create ContainerAwsNodePool#create}. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#delete ContainerAwsNodePool#delete}. |
| <code><a href="#@dschmidt/provider-google.ContainerAwsNodePoolTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#update ContainerAwsNodePool#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ContainerAwsNodePoolTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#create ContainerAwsNodePool#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ContainerAwsNodePoolTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#delete ContainerAwsNodePool#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ContainerAwsNodePoolTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_aws_node_pool#update ContainerAwsNodePool#update}.

---

### ContainerAzureClientConfig <a name="ContainerAzureClientConfig" id="@dschmidt/provider-google.ContainerAzureClientConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClientConfig.Initializer"></a>

```typescript
import { ContainerAzureClientConfig } from '@dschmidt/provider-google'

const containerAzureClientConfig: ContainerAzureClientConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.applicationId">applicationId</a></code> | <code>string</code> | The Azure Active Directory Application ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.name">name</a></code> | <code>string</code> | The name of this resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.tenantId">tenantId</a></code> | <code>string</code> | The Azure Active Directory Tenant ID. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#id ContainerAzureClient#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClientTimeouts">ContainerAzureClientTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `applicationId`<sup>Required</sup> <a name="applicationId" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.applicationId"></a>

```typescript
public readonly applicationId: string;
```

- *Type:* string

The Azure Active Directory Application ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#application_id ContainerAzureClient#application_id}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#location ContainerAzureClient#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#name ContainerAzureClient#name}

---

##### `tenantId`<sup>Required</sup> <a name="tenantId" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.tenantId"></a>

```typescript
public readonly tenantId: string;
```

- *Type:* string

The Azure Active Directory Tenant ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#tenant_id ContainerAzureClient#tenant_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#id ContainerAzureClient#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#project ContainerAzureClient#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAzureClientConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAzureClientTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClientTimeouts">ContainerAzureClientTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#timeouts ContainerAzureClient#timeouts}

---

### ContainerAzureClientTimeouts <a name="ContainerAzureClientTimeouts" id="@dschmidt/provider-google.ContainerAzureClientTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClientTimeouts.Initializer"></a>

```typescript
import { ContainerAzureClientTimeouts } from '@dschmidt/provider-google'

const containerAzureClientTimeouts: ContainerAzureClientTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#create ContainerAzureClient#create}. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClientTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#delete ContainerAzureClient#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ContainerAzureClientTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#create ContainerAzureClient#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ContainerAzureClientTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_client#delete ContainerAzureClient#delete}.

---

### ContainerAzureClusterAuthorization <a name="ContainerAzureClusterAuthorization" id="@dschmidt/provider-google.ContainerAzureClusterAuthorization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterAuthorization.Initializer"></a>

```typescript
import { ContainerAzureClusterAuthorization } from '@dschmidt/provider-google'

const containerAzureClusterAuthorization: ContainerAzureClusterAuthorization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorization.property.adminUsers">adminUsers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorizationAdminUsers">ContainerAzureClusterAuthorizationAdminUsers</a>[]</code> | admin_users block. |

---

##### `adminUsers`<sup>Required</sup> <a name="adminUsers" id="@dschmidt/provider-google.ContainerAzureClusterAuthorization.property.adminUsers"></a>

```typescript
public readonly adminUsers: IResolvable | ContainerAzureClusterAuthorizationAdminUsers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorizationAdminUsers">ContainerAzureClusterAuthorizationAdminUsers</a>[]

admin_users block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#admin_users ContainerAzureCluster#admin_users}

---

### ContainerAzureClusterAuthorizationAdminUsers <a name="ContainerAzureClusterAuthorizationAdminUsers" id="@dschmidt/provider-google.ContainerAzureClusterAuthorizationAdminUsers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterAuthorizationAdminUsers.Initializer"></a>

```typescript
import { ContainerAzureClusterAuthorizationAdminUsers } from '@dschmidt/provider-google'

const containerAzureClusterAuthorizationAdminUsers: ContainerAzureClusterAuthorizationAdminUsers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorizationAdminUsers.property.username">username</a></code> | <code>string</code> | The name of the user, e.g. `my-gcp-id@gmail.com`. |

---

##### `username`<sup>Required</sup> <a name="username" id="@dschmidt/provider-google.ContainerAzureClusterAuthorizationAdminUsers.property.username"></a>

```typescript
public readonly username: string;
```

- *Type:* string

The name of the user, e.g. `my-gcp-id@gmail.com`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#username ContainerAzureCluster#username}

---

### ContainerAzureClusterConfig <a name="ContainerAzureClusterConfig" id="@dschmidt/provider-google.ContainerAzureClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterConfig.Initializer"></a>

```typescript
import { ContainerAzureClusterConfig } from '@dschmidt/provider-google'

const containerAzureClusterConfig: ContainerAzureClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.authorization">authorization</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorization">ContainerAzureClusterAuthorization</a></code> | authorization block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.azureRegion">azureRegion</a></code> | <code>string</code> | The Azure region where the cluster runs. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.client">client</a></code> | <code>string</code> | Name of the AzureClient. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.controlPlane">controlPlane</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane">ContainerAzureClusterControlPlane</a></code> | control_plane block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.fleet">fleet</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterFleet">ContainerAzureClusterFleet</a></code> | fleet block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.name">name</a></code> | <code>string</code> | The name of this resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.networking">networking</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterNetworking">ContainerAzureClusterNetworking</a></code> | networking block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.resourceGroupId">resourceGroupId</a></code> | <code>string</code> | The ARM ID of the resource group where the cluster resources are deployed. For example: `/subscriptions/*\/resourceGroups/*`. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.description">description</a></code> | <code>string</code> | Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#id ContainerAzureCluster#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterTimeouts">ContainerAzureClusterTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `authorization`<sup>Required</sup> <a name="authorization" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.authorization"></a>

```typescript
public readonly authorization: ContainerAzureClusterAuthorization;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterAuthorization">ContainerAzureClusterAuthorization</a>

authorization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#authorization ContainerAzureCluster#authorization}

---

##### `azureRegion`<sup>Required</sup> <a name="azureRegion" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.azureRegion"></a>

```typescript
public readonly azureRegion: string;
```

- *Type:* string

The Azure region where the cluster runs.

Each Google Cloud region supports a subset of nearby Azure regions. You can call to list all supported Azure regions within a given Google Cloud region.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#azure_region ContainerAzureCluster#azure_region}

---

##### `client`<sup>Required</sup> <a name="client" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.client"></a>

```typescript
public readonly client: string;
```

- *Type:* string

Name of the AzureClient.

The `AzureClient` resource must reside on the same GCP project and region as the `AzureCluster`. `AzureClient` names are formatted as `projects/<project-number>/locations/<region>/azureClients/<client-id>`. See Resource Names (https:cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#client ContainerAzureCluster#client}

---

##### `controlPlane`<sup>Required</sup> <a name="controlPlane" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.controlPlane"></a>

```typescript
public readonly controlPlane: ContainerAzureClusterControlPlane;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane">ContainerAzureClusterControlPlane</a>

control_plane block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#control_plane ContainerAzureCluster#control_plane}

---

##### `fleet`<sup>Required</sup> <a name="fleet" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.fleet"></a>

```typescript
public readonly fleet: ContainerAzureClusterFleet;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterFleet">ContainerAzureClusterFleet</a>

fleet block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#fleet ContainerAzureCluster#fleet}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#location ContainerAzureCluster#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#name ContainerAzureCluster#name}

---

##### `networking`<sup>Required</sup> <a name="networking" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.networking"></a>

```typescript
public readonly networking: ContainerAzureClusterNetworking;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterNetworking">ContainerAzureClusterNetworking</a>

networking block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#networking ContainerAzureCluster#networking}

---

##### `resourceGroupId`<sup>Required</sup> <a name="resourceGroupId" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.resourceGroupId"></a>

```typescript
public readonly resourceGroupId: string;
```

- *Type:* string

The ARM ID of the resource group where the cluster resources are deployed. For example: `/subscriptions/*\/resourceGroups/*`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#resource_group_id ContainerAzureCluster#resource_group_id}

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

Annotations on the cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#annotations ContainerAzureCluster#annotations}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#description ContainerAzureCluster#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#id ContainerAzureCluster#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#project ContainerAzureCluster#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAzureClusterConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAzureClusterTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterTimeouts">ContainerAzureClusterTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#timeouts ContainerAzureCluster#timeouts}

---

### ContainerAzureClusterControlPlane <a name="ContainerAzureClusterControlPlane" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.Initializer"></a>

```typescript
import { ContainerAzureClusterControlPlane } from '@dschmidt/provider-google'

const containerAzureClusterControlPlane: ContainerAzureClusterControlPlane = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.sshConfig">sshConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneSshConfig">ContainerAzureClusterControlPlaneSshConfig</a></code> | ssh_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.subnetId">subnetId</a></code> | <code>string</code> | The ARM ID of the subnet where the control plane VMs are deployed. Example: `/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/default`. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.version">version</a></code> | <code>string</code> | The Kubernetes version to run on control plane replicas (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAzureServerConfig. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.databaseEncryption">databaseEncryption</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneDatabaseEncryption">ContainerAzureClusterControlPlaneDatabaseEncryption</a></code> | database_encryption block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.mainVolume">mainVolume</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneMainVolume">ContainerAzureClusterControlPlaneMainVolume</a></code> | main_volume block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.proxyConfig">proxyConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneProxyConfig">ContainerAzureClusterControlPlaneProxyConfig</a></code> | proxy_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.replicaPlacements">replicaPlacements</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneReplicaPlacements">ContainerAzureClusterControlPlaneReplicaPlacements</a>[]</code> | replica_placements block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.rootVolume">rootVolume</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneRootVolume">ContainerAzureClusterControlPlaneRootVolume</a></code> | root_volume block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.tags">tags</a></code> | <code>{[ key: string ]: string}</code> | Optional. A set of tags to apply to all underlying control plane Azure resources. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.vmSize">vmSize</a></code> | <code>string</code> | Optional. |

---

##### `sshConfig`<sup>Required</sup> <a name="sshConfig" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.sshConfig"></a>

```typescript
public readonly sshConfig: ContainerAzureClusterControlPlaneSshConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneSshConfig">ContainerAzureClusterControlPlaneSshConfig</a>

ssh_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#ssh_config ContainerAzureCluster#ssh_config}

---

##### `subnetId`<sup>Required</sup> <a name="subnetId" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.subnetId"></a>

```typescript
public readonly subnetId: string;
```

- *Type:* string

The ARM ID of the subnet where the control plane VMs are deployed. Example: `/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/default`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#subnet_id ContainerAzureCluster#subnet_id}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The Kubernetes version to run on control plane replicas (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAzureServerConfig.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#version ContainerAzureCluster#version}

---

##### `databaseEncryption`<sup>Optional</sup> <a name="databaseEncryption" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.databaseEncryption"></a>

```typescript
public readonly databaseEncryption: ContainerAzureClusterControlPlaneDatabaseEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneDatabaseEncryption">ContainerAzureClusterControlPlaneDatabaseEncryption</a>

database_encryption block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#database_encryption ContainerAzureCluster#database_encryption}

---

##### `mainVolume`<sup>Optional</sup> <a name="mainVolume" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.mainVolume"></a>

```typescript
public readonly mainVolume: ContainerAzureClusterControlPlaneMainVolume;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneMainVolume">ContainerAzureClusterControlPlaneMainVolume</a>

main_volume block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#main_volume ContainerAzureCluster#main_volume}

---

##### `proxyConfig`<sup>Optional</sup> <a name="proxyConfig" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.proxyConfig"></a>

```typescript
public readonly proxyConfig: ContainerAzureClusterControlPlaneProxyConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneProxyConfig">ContainerAzureClusterControlPlaneProxyConfig</a>

proxy_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#proxy_config ContainerAzureCluster#proxy_config}

---

##### `replicaPlacements`<sup>Optional</sup> <a name="replicaPlacements" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.replicaPlacements"></a>

```typescript
public readonly replicaPlacements: IResolvable | ContainerAzureClusterControlPlaneReplicaPlacements[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneReplicaPlacements">ContainerAzureClusterControlPlaneReplicaPlacements</a>[]

replica_placements block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#replica_placements ContainerAzureCluster#replica_placements}

---

##### `rootVolume`<sup>Optional</sup> <a name="rootVolume" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.rootVolume"></a>

```typescript
public readonly rootVolume: ContainerAzureClusterControlPlaneRootVolume;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneRootVolume">ContainerAzureClusterControlPlaneRootVolume</a>

root_volume block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#root_volume ContainerAzureCluster#root_volume}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.tags"></a>

```typescript
public readonly tags: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. A set of tags to apply to all underlying control plane Azure resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#tags ContainerAzureCluster#tags}

---

##### `vmSize`<sup>Optional</sup> <a name="vmSize" id="@dschmidt/provider-google.ContainerAzureClusterControlPlane.property.vmSize"></a>

```typescript
public readonly vmSize: string;
```

- *Type:* string

Optional.

The Azure VM size name. Example: `Standard_DS2_v2`. For available VM sizes, see https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions. When unspecified, it defaults to `Standard_DS2_v2`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#vm_size ContainerAzureCluster#vm_size}

---

### ContainerAzureClusterControlPlaneDatabaseEncryption <a name="ContainerAzureClusterControlPlaneDatabaseEncryption" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneDatabaseEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneDatabaseEncryption.Initializer"></a>

```typescript
import { ContainerAzureClusterControlPlaneDatabaseEncryption } from '@dschmidt/provider-google'

const containerAzureClusterControlPlaneDatabaseEncryption: ContainerAzureClusterControlPlaneDatabaseEncryption = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneDatabaseEncryption.property.keyId">keyId</a></code> | <code>string</code> | The ARM ID of the Azure Key Vault key to encrypt / decrypt data. |

---

##### `keyId`<sup>Required</sup> <a name="keyId" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneDatabaseEncryption.property.keyId"></a>

```typescript
public readonly keyId: string;
```

- *Type:* string

The ARM ID of the Azure Key Vault key to encrypt / decrypt data.

For example: `/subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name>` Encryption will always take the latest version of the key and hence specific version is not supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#key_id ContainerAzureCluster#key_id}

---

### ContainerAzureClusterControlPlaneMainVolume <a name="ContainerAzureClusterControlPlaneMainVolume" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneMainVolume"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneMainVolume.Initializer"></a>

```typescript
import { ContainerAzureClusterControlPlaneMainVolume } from '@dschmidt/provider-google'

const containerAzureClusterControlPlaneMainVolume: ContainerAzureClusterControlPlaneMainVolume = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneMainVolume.property.sizeGib">sizeGib</a></code> | <code>number</code> | Optional. |

---

##### `sizeGib`<sup>Optional</sup> <a name="sizeGib" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneMainVolume.property.sizeGib"></a>

```typescript
public readonly sizeGib: number;
```

- *Type:* number

Optional.

The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#size_gib ContainerAzureCluster#size_gib}

---

### ContainerAzureClusterControlPlaneProxyConfig <a name="ContainerAzureClusterControlPlaneProxyConfig" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneProxyConfig.Initializer"></a>

```typescript
import { ContainerAzureClusterControlPlaneProxyConfig } from '@dschmidt/provider-google'

const containerAzureClusterControlPlaneProxyConfig: ContainerAzureClusterControlPlaneProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneProxyConfig.property.resourceGroupId">resourceGroupId</a></code> | <code>string</code> | The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as `/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>`. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneProxyConfig.property.secretId">secretId</a></code> | <code>string</code> | The URL the of the proxy setting secret with its version. Secret ids are formatted as `https:<key-vault-name>.vault.azure.net/secrets/<secret-name>/<secret-version>`. |

---

##### `resourceGroupId`<sup>Required</sup> <a name="resourceGroupId" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneProxyConfig.property.resourceGroupId"></a>

```typescript
public readonly resourceGroupId: string;
```

- *Type:* string

The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as `/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#resource_group_id ContainerAzureCluster#resource_group_id}

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneProxyConfig.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

The URL the of the proxy setting secret with its version. Secret ids are formatted as `https:<key-vault-name>.vault.azure.net/secrets/<secret-name>/<secret-version>`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#secret_id ContainerAzureCluster#secret_id}

---

### ContainerAzureClusterControlPlaneReplicaPlacements <a name="ContainerAzureClusterControlPlaneReplicaPlacements" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneReplicaPlacements"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneReplicaPlacements.Initializer"></a>

```typescript
import { ContainerAzureClusterControlPlaneReplicaPlacements } from '@dschmidt/provider-google'

const containerAzureClusterControlPlaneReplicaPlacements: ContainerAzureClusterControlPlaneReplicaPlacements = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneReplicaPlacements.property.azureAvailabilityZone">azureAvailabilityZone</a></code> | <code>string</code> | For a given replica, the Azure availability zone where to provision the control plane VM and the ETCD disk. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneReplicaPlacements.property.subnetId">subnetId</a></code> | <code>string</code> | For a given replica, the ARM ID of the subnet where the control plane VM is deployed. |

---

##### `azureAvailabilityZone`<sup>Required</sup> <a name="azureAvailabilityZone" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneReplicaPlacements.property.azureAvailabilityZone"></a>

```typescript
public readonly azureAvailabilityZone: string;
```

- *Type:* string

For a given replica, the Azure availability zone where to provision the control plane VM and the ETCD disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#azure_availability_zone ContainerAzureCluster#azure_availability_zone}

---

##### `subnetId`<sup>Required</sup> <a name="subnetId" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneReplicaPlacements.property.subnetId"></a>

```typescript
public readonly subnetId: string;
```

- *Type:* string

For a given replica, the ARM ID of the subnet where the control plane VM is deployed.

Make sure it's a subnet under the virtual network in the cluster configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#subnet_id ContainerAzureCluster#subnet_id}

---

### ContainerAzureClusterControlPlaneRootVolume <a name="ContainerAzureClusterControlPlaneRootVolume" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneRootVolume"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneRootVolume.Initializer"></a>

```typescript
import { ContainerAzureClusterControlPlaneRootVolume } from '@dschmidt/provider-google'

const containerAzureClusterControlPlaneRootVolume: ContainerAzureClusterControlPlaneRootVolume = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneRootVolume.property.sizeGib">sizeGib</a></code> | <code>number</code> | Optional. |

---

##### `sizeGib`<sup>Optional</sup> <a name="sizeGib" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneRootVolume.property.sizeGib"></a>

```typescript
public readonly sizeGib: number;
```

- *Type:* number

Optional.

The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#size_gib ContainerAzureCluster#size_gib}

---

### ContainerAzureClusterControlPlaneSshConfig <a name="ContainerAzureClusterControlPlaneSshConfig" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneSshConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneSshConfig.Initializer"></a>

```typescript
import { ContainerAzureClusterControlPlaneSshConfig } from '@dschmidt/provider-google'

const containerAzureClusterControlPlaneSshConfig: ContainerAzureClusterControlPlaneSshConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterControlPlaneSshConfig.property.authorizedKey">authorizedKey</a></code> | <code>string</code> | The SSH public key data for VMs managed by Anthos. |

---

##### `authorizedKey`<sup>Required</sup> <a name="authorizedKey" id="@dschmidt/provider-google.ContainerAzureClusterControlPlaneSshConfig.property.authorizedKey"></a>

```typescript
public readonly authorizedKey: string;
```

- *Type:* string

The SSH public key data for VMs managed by Anthos.

This accepts the authorized_keys file format used in OpenSSH according to the sshd(8) manual page.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#authorized_key ContainerAzureCluster#authorized_key}

---

### ContainerAzureClusterFleet <a name="ContainerAzureClusterFleet" id="@dschmidt/provider-google.ContainerAzureClusterFleet"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterFleet.Initializer"></a>

```typescript
import { ContainerAzureClusterFleet } from '@dschmidt/provider-google'

const containerAzureClusterFleet: ContainerAzureClusterFleet = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterFleet.property.project">project</a></code> | <code>string</code> | The number of the Fleet host project where this cluster will be registered. |

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerAzureClusterFleet.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The number of the Fleet host project where this cluster will be registered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#project ContainerAzureCluster#project}

---

### ContainerAzureClusterNetworking <a name="ContainerAzureClusterNetworking" id="@dschmidt/provider-google.ContainerAzureClusterNetworking"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterNetworking.Initializer"></a>

```typescript
import { ContainerAzureClusterNetworking } from '@dschmidt/provider-google'

const containerAzureClusterNetworking: ContainerAzureClusterNetworking = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterNetworking.property.podAddressCidrBlocks">podAddressCidrBlocks</a></code> | <code>string[]</code> | The IP address range of the pods in this cluster, in CIDR notation (e.g. `10.96.0.0/14`). All pods in the cluster get assigned a unique RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterNetworking.property.serviceAddressCidrBlocks">serviceAddressCidrBlocks</a></code> | <code>string[]</code> | The IP address range for services in this cluster, in CIDR notation (e.g. `10.96.0.0/14`). All services in the cluster get assigned a unique RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creating a cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterNetworking.property.virtualNetworkId">virtualNetworkId</a></code> | <code>string</code> | The Azure Resource Manager (ARM) ID of the VNet associated with your cluster. |

---

##### `podAddressCidrBlocks`<sup>Required</sup> <a name="podAddressCidrBlocks" id="@dschmidt/provider-google.ContainerAzureClusterNetworking.property.podAddressCidrBlocks"></a>

```typescript
public readonly podAddressCidrBlocks: string[];
```

- *Type:* string[]

The IP address range of the pods in this cluster, in CIDR notation (e.g. `10.96.0.0/14`). All pods in the cluster get assigned a unique RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#pod_address_cidr_blocks ContainerAzureCluster#pod_address_cidr_blocks}

---

##### `serviceAddressCidrBlocks`<sup>Required</sup> <a name="serviceAddressCidrBlocks" id="@dschmidt/provider-google.ContainerAzureClusterNetworking.property.serviceAddressCidrBlocks"></a>

```typescript
public readonly serviceAddressCidrBlocks: string[];
```

- *Type:* string[]

The IP address range for services in this cluster, in CIDR notation (e.g. `10.96.0.0/14`). All services in the cluster get assigned a unique RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creating a cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#service_address_cidr_blocks ContainerAzureCluster#service_address_cidr_blocks}

---

##### `virtualNetworkId`<sup>Required</sup> <a name="virtualNetworkId" id="@dschmidt/provider-google.ContainerAzureClusterNetworking.property.virtualNetworkId"></a>

```typescript
public readonly virtualNetworkId: string;
```

- *Type:* string

The Azure Resource Manager (ARM) ID of the VNet associated with your cluster.

All components in the cluster (i.e. control plane and node pools) run on a single VNet. Example: `/subscriptions/*\/resourceGroups/*\/providers/Microsoft.Network/virtualNetworks/*` This field cannot be changed after creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#virtual_network_id ContainerAzureCluster#virtual_network_id}

---

### ContainerAzureClusterTimeouts <a name="ContainerAzureClusterTimeouts" id="@dschmidt/provider-google.ContainerAzureClusterTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterTimeouts.Initializer"></a>

```typescript
import { ContainerAzureClusterTimeouts } from '@dschmidt/provider-google'

const containerAzureClusterTimeouts: ContainerAzureClusterTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#create ContainerAzureCluster#create}. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#delete ContainerAzureCluster#delete}. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureClusterTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#update ContainerAzureCluster#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ContainerAzureClusterTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#create ContainerAzureCluster#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ContainerAzureClusterTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#delete ContainerAzureCluster#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ContainerAzureClusterTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_cluster#update ContainerAzureCluster#update}.

---

### ContainerAzureClusterWorkloadIdentityConfig <a name="ContainerAzureClusterWorkloadIdentityConfig" id="@dschmidt/provider-google.ContainerAzureClusterWorkloadIdentityConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureClusterWorkloadIdentityConfig.Initializer"></a>

```typescript
import { ContainerAzureClusterWorkloadIdentityConfig } from '@dschmidt/provider-google'

const containerAzureClusterWorkloadIdentityConfig: ContainerAzureClusterWorkloadIdentityConfig = { ... }
```


### ContainerAzureNodePoolAutoscaling <a name="ContainerAzureNodePoolAutoscaling" id="@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling.Initializer"></a>

```typescript
import { ContainerAzureNodePoolAutoscaling } from '@dschmidt/provider-google'

const containerAzureNodePoolAutoscaling: ContainerAzureNodePoolAutoscaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling.property.maxNodeCount">maxNodeCount</a></code> | <code>number</code> | Maximum number of nodes in the node pool. Must be >= min_node_count. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling.property.minNodeCount">minNodeCount</a></code> | <code>number</code> | Minimum number of nodes in the node pool. Must be >= 1 and <= max_node_count. |

---

##### `maxNodeCount`<sup>Required</sup> <a name="maxNodeCount" id="@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling.property.maxNodeCount"></a>

```typescript
public readonly maxNodeCount: number;
```

- *Type:* number

Maximum number of nodes in the node pool. Must be >= min_node_count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#max_node_count ContainerAzureNodePool#max_node_count}

---

##### `minNodeCount`<sup>Required</sup> <a name="minNodeCount" id="@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling.property.minNodeCount"></a>

```typescript
public readonly minNodeCount: number;
```

- *Type:* number

Minimum number of nodes in the node pool. Must be >= 1 and <= max_node_count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#min_node_count ContainerAzureNodePool#min_node_count}

---

### ContainerAzureNodePoolConfig <a name="ContainerAzureNodePoolConfig" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.Initializer"></a>

```typescript
import { ContainerAzureNodePoolConfig } from '@dschmidt/provider-google'

const containerAzureNodePoolConfig: ContainerAzureNodePoolConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.autoscaling">autoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling">ContainerAzureNodePoolAutoscaling</a></code> | autoscaling block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.cluster">cluster</a></code> | <code>string</code> | The azureCluster for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA">ContainerAzureNodePoolConfigA</a></code> | config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.maxPodsConstraint">maxPodsConstraint</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraint">ContainerAzureNodePoolMaxPodsConstraint</a></code> | max_pods_constraint block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.name">name</a></code> | <code>string</code> | The name of this resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.subnetId">subnetId</a></code> | <code>string</code> | The ARM ID of the subnet where the node pool VMs run. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.version">version</a></code> | <code>string</code> | The Kubernetes version (e.g. `1.19.10-gke.1000`) running on this node pool. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.annotations">annotations</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.azureAvailabilityZone">azureAvailabilityZone</a></code> | <code>string</code> | Optional. The Azure availability zone of the nodes in this nodepool. When unspecified, it defaults to `1`. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#id ContainerAzureNodePool#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeouts">ContainerAzureNodePoolTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `autoscaling`<sup>Required</sup> <a name="autoscaling" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.autoscaling"></a>

```typescript
public readonly autoscaling: ContainerAzureNodePoolAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolAutoscaling">ContainerAzureNodePoolAutoscaling</a>

autoscaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#autoscaling ContainerAzureNodePool#autoscaling}

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

The azureCluster for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#cluster ContainerAzureNodePool#cluster}

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.config"></a>

```typescript
public readonly config: ContainerAzureNodePoolConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA">ContainerAzureNodePoolConfigA</a>

config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#config ContainerAzureNodePool#config}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#location ContainerAzureNodePool#location}

---

##### `maxPodsConstraint`<sup>Required</sup> <a name="maxPodsConstraint" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.maxPodsConstraint"></a>

```typescript
public readonly maxPodsConstraint: ContainerAzureNodePoolMaxPodsConstraint;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraint">ContainerAzureNodePoolMaxPodsConstraint</a>

max_pods_constraint block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#max_pods_constraint ContainerAzureNodePool#max_pods_constraint}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#name ContainerAzureNodePool#name}

---

##### `subnetId`<sup>Required</sup> <a name="subnetId" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.subnetId"></a>

```typescript
public readonly subnetId: string;
```

- *Type:* string

The ARM ID of the subnet where the node pool VMs run.

Make sure it's a subnet under the virtual network in the cluster configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#subnet_id ContainerAzureNodePool#subnet_id}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The Kubernetes version (e.g. `1.19.10-gke.1000`) running on this node pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#version ContainerAzureNodePool#version}

---

##### `annotations`<sup>Optional</sup> <a name="annotations" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.annotations"></a>

```typescript
public readonly annotations: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#annotations ContainerAzureNodePool#annotations}

---

##### `azureAvailabilityZone`<sup>Optional</sup> <a name="azureAvailabilityZone" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.azureAvailabilityZone"></a>

```typescript
public readonly azureAvailabilityZone: string;
```

- *Type:* string

Optional. The Azure availability zone of the nodes in this nodepool. When unspecified, it defaults to `1`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#azure_availability_zone ContainerAzureNodePool#azure_availability_zone}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#id ContainerAzureNodePool#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#project ContainerAzureNodePool#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerAzureNodePoolConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerAzureNodePoolTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeouts">ContainerAzureNodePoolTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#timeouts ContainerAzureNodePool#timeouts}

---

### ContainerAzureNodePoolConfigA <a name="ContainerAzureNodePoolConfigA" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigA.Initializer"></a>

```typescript
import { ContainerAzureNodePoolConfigA } from '@dschmidt/provider-google'

const containerAzureNodePoolConfigA: ContainerAzureNodePoolConfigA = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.sshConfig">sshConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigSshConfig">ContainerAzureNodePoolConfigSshConfig</a></code> | ssh_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.proxyConfig">proxyConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigProxyConfig">ContainerAzureNodePoolConfigProxyConfig</a></code> | proxy_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.rootVolume">rootVolume</a></code> | <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigRootVolume">ContainerAzureNodePoolConfigRootVolume</a></code> | root_volume block. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.tags">tags</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.vmSize">vmSize</a></code> | <code>string</code> | Optional. The Azure VM size name. Example: `Standard_DS2_v2`. See (/anthos/clusters/docs/azure/reference/supported-vms) for options. When unspecified, it defaults to `Standard_DS2_v2`. |

---

##### `sshConfig`<sup>Required</sup> <a name="sshConfig" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.sshConfig"></a>

```typescript
public readonly sshConfig: ContainerAzureNodePoolConfigSshConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigSshConfig">ContainerAzureNodePoolConfigSshConfig</a>

ssh_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#ssh_config ContainerAzureNodePool#ssh_config}

---

##### `proxyConfig`<sup>Optional</sup> <a name="proxyConfig" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.proxyConfig"></a>

```typescript
public readonly proxyConfig: ContainerAzureNodePoolConfigProxyConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigProxyConfig">ContainerAzureNodePoolConfigProxyConfig</a>

proxy_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#proxy_config ContainerAzureNodePool#proxy_config}

---

##### `rootVolume`<sup>Optional</sup> <a name="rootVolume" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.rootVolume"></a>

```typescript
public readonly rootVolume: ContainerAzureNodePoolConfigRootVolume;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigRootVolume">ContainerAzureNodePoolConfigRootVolume</a>

root_volume block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#root_volume ContainerAzureNodePool#root_volume}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.tags"></a>

```typescript
public readonly tags: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A set of tags to apply to all underlying Azure resources for this node pool. This currently only includes Virtual Machine Scale Sets. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#tags ContainerAzureNodePool#tags}

---

##### `vmSize`<sup>Optional</sup> <a name="vmSize" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigA.property.vmSize"></a>

```typescript
public readonly vmSize: string;
```

- *Type:* string

Optional. The Azure VM size name. Example: `Standard_DS2_v2`. See (/anthos/clusters/docs/azure/reference/supported-vms) for options. When unspecified, it defaults to `Standard_DS2_v2`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#vm_size ContainerAzureNodePool#vm_size}

---

### ContainerAzureNodePoolConfigProxyConfig <a name="ContainerAzureNodePoolConfigProxyConfig" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigProxyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigProxyConfig.Initializer"></a>

```typescript
import { ContainerAzureNodePoolConfigProxyConfig } from '@dschmidt/provider-google'

const containerAzureNodePoolConfigProxyConfig: ContainerAzureNodePoolConfigProxyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigProxyConfig.property.resourceGroupId">resourceGroupId</a></code> | <code>string</code> | The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as `/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>`. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigProxyConfig.property.secretId">secretId</a></code> | <code>string</code> | The URL the of the proxy setting secret with its version. Secret ids are formatted as `https:<key-vault-name>.vault.azure.net/secrets/<secret-name>/<secret-version>`. |

---

##### `resourceGroupId`<sup>Required</sup> <a name="resourceGroupId" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigProxyConfig.property.resourceGroupId"></a>

```typescript
public readonly resourceGroupId: string;
```

- *Type:* string

The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as `/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#resource_group_id ContainerAzureNodePool#resource_group_id}

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigProxyConfig.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

The URL the of the proxy setting secret with its version. Secret ids are formatted as `https:<key-vault-name>.vault.azure.net/secrets/<secret-name>/<secret-version>`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#secret_id ContainerAzureNodePool#secret_id}

---

### ContainerAzureNodePoolConfigRootVolume <a name="ContainerAzureNodePoolConfigRootVolume" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigRootVolume"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigRootVolume.Initializer"></a>

```typescript
import { ContainerAzureNodePoolConfigRootVolume } from '@dschmidt/provider-google'

const containerAzureNodePoolConfigRootVolume: ContainerAzureNodePoolConfigRootVolume = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigRootVolume.property.sizeGib">sizeGib</a></code> | <code>number</code> | Optional. |

---

##### `sizeGib`<sup>Optional</sup> <a name="sizeGib" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigRootVolume.property.sizeGib"></a>

```typescript
public readonly sizeGib: number;
```

- *Type:* number

Optional.

The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#size_gib ContainerAzureNodePool#size_gib}

---

### ContainerAzureNodePoolConfigSshConfig <a name="ContainerAzureNodePoolConfigSshConfig" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigSshConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigSshConfig.Initializer"></a>

```typescript
import { ContainerAzureNodePoolConfigSshConfig } from '@dschmidt/provider-google'

const containerAzureNodePoolConfigSshConfig: ContainerAzureNodePoolConfigSshConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolConfigSshConfig.property.authorizedKey">authorizedKey</a></code> | <code>string</code> | The SSH public key data for VMs managed by Anthos. |

---

##### `authorizedKey`<sup>Required</sup> <a name="authorizedKey" id="@dschmidt/provider-google.ContainerAzureNodePoolConfigSshConfig.property.authorizedKey"></a>

```typescript
public readonly authorizedKey: string;
```

- *Type:* string

The SSH public key data for VMs managed by Anthos.

This accepts the authorized_keys file format used in OpenSSH according to the sshd(8) manual page.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#authorized_key ContainerAzureNodePool#authorized_key}

---

### ContainerAzureNodePoolMaxPodsConstraint <a name="ContainerAzureNodePoolMaxPodsConstraint" id="@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraint.Initializer"></a>

```typescript
import { ContainerAzureNodePoolMaxPodsConstraint } from '@dschmidt/provider-google'

const containerAzureNodePoolMaxPodsConstraint: ContainerAzureNodePoolMaxPodsConstraint = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraint.property.maxPodsPerNode">maxPodsPerNode</a></code> | <code>number</code> | The maximum number of pods to schedule on a single node. |

---

##### `maxPodsPerNode`<sup>Required</sup> <a name="maxPodsPerNode" id="@dschmidt/provider-google.ContainerAzureNodePoolMaxPodsConstraint.property.maxPodsPerNode"></a>

```typescript
public readonly maxPodsPerNode: number;
```

- *Type:* number

The maximum number of pods to schedule on a single node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#max_pods_per_node ContainerAzureNodePool#max_pods_per_node}

---

### ContainerAzureNodePoolTimeouts <a name="ContainerAzureNodePoolTimeouts" id="@dschmidt/provider-google.ContainerAzureNodePoolTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerAzureNodePoolTimeouts.Initializer"></a>

```typescript
import { ContainerAzureNodePoolTimeouts } from '@dschmidt/provider-google'

const containerAzureNodePoolTimeouts: ContainerAzureNodePoolTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#create ContainerAzureNodePool#create}. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#delete ContainerAzureNodePool#delete}. |
| <code><a href="#@dschmidt/provider-google.ContainerAzureNodePoolTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#update ContainerAzureNodePool#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ContainerAzureNodePoolTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#create ContainerAzureNodePool#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ContainerAzureNodePoolTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#delete ContainerAzureNodePool#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ContainerAzureNodePoolTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_azure_node_pool#update ContainerAzureNodePool#update}.

---

### ContainerClusterAddonsConfig <a name="ContainerClusterAddonsConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterAddonsConfig.Initializer"></a>

```typescript
import { ContainerClusterAddonsConfig } from '@dschmidt/provider-google'

const containerClusterAddonsConfig: ContainerClusterAddonsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig.property.cloudrunConfig">cloudrunConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigCloudrunConfig">ContainerClusterAddonsConfigCloudrunConfig</a></code> | cloudrun_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig.property.dnsCacheConfig">dnsCacheConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigDnsCacheConfig">ContainerClusterAddonsConfigDnsCacheConfig</a></code> | dns_cache_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig.property.gcePersistentDiskCsiDriverConfig">gcePersistentDiskCsiDriverConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig">ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig</a></code> | gce_persistent_disk_csi_driver_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig.property.gcpFilestoreCsiDriverConfig">gcpFilestoreCsiDriverConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig">ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig</a></code> | gcp_filestore_csi_driver_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig.property.horizontalPodAutoscaling">horizontalPodAutoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigHorizontalPodAutoscaling">ContainerClusterAddonsConfigHorizontalPodAutoscaling</a></code> | horizontal_pod_autoscaling block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig.property.httpLoadBalancing">httpLoadBalancing</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigHttpLoadBalancing">ContainerClusterAddonsConfigHttpLoadBalancing</a></code> | http_load_balancing block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig.property.networkPolicyConfig">networkPolicyConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigNetworkPolicyConfig">ContainerClusterAddonsConfigNetworkPolicyConfig</a></code> | network_policy_config block. |

---

##### `cloudrunConfig`<sup>Optional</sup> <a name="cloudrunConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfig.property.cloudrunConfig"></a>

```typescript
public readonly cloudrunConfig: ContainerClusterAddonsConfigCloudrunConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigCloudrunConfig">ContainerClusterAddonsConfigCloudrunConfig</a>

cloudrun_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cloudrun_config ContainerCluster#cloudrun_config}

---

##### `dnsCacheConfig`<sup>Optional</sup> <a name="dnsCacheConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfig.property.dnsCacheConfig"></a>

```typescript
public readonly dnsCacheConfig: ContainerClusterAddonsConfigDnsCacheConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigDnsCacheConfig">ContainerClusterAddonsConfigDnsCacheConfig</a>

dns_cache_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#dns_cache_config ContainerCluster#dns_cache_config}

---

##### `gcePersistentDiskCsiDriverConfig`<sup>Optional</sup> <a name="gcePersistentDiskCsiDriverConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfig.property.gcePersistentDiskCsiDriverConfig"></a>

```typescript
public readonly gcePersistentDiskCsiDriverConfig: ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig">ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig</a>

gce_persistent_disk_csi_driver_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gce_persistent_disk_csi_driver_config ContainerCluster#gce_persistent_disk_csi_driver_config}

---

##### `gcpFilestoreCsiDriverConfig`<sup>Optional</sup> <a name="gcpFilestoreCsiDriverConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfig.property.gcpFilestoreCsiDriverConfig"></a>

```typescript
public readonly gcpFilestoreCsiDriverConfig: ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig">ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig</a>

gcp_filestore_csi_driver_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gcp_filestore_csi_driver_config ContainerCluster#gcp_filestore_csi_driver_config}

---

##### `horizontalPodAutoscaling`<sup>Optional</sup> <a name="horizontalPodAutoscaling" id="@dschmidt/provider-google.ContainerClusterAddonsConfig.property.horizontalPodAutoscaling"></a>

```typescript
public readonly horizontalPodAutoscaling: ContainerClusterAddonsConfigHorizontalPodAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigHorizontalPodAutoscaling">ContainerClusterAddonsConfigHorizontalPodAutoscaling</a>

horizontal_pod_autoscaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#horizontal_pod_autoscaling ContainerCluster#horizontal_pod_autoscaling}

---

##### `httpLoadBalancing`<sup>Optional</sup> <a name="httpLoadBalancing" id="@dschmidt/provider-google.ContainerClusterAddonsConfig.property.httpLoadBalancing"></a>

```typescript
public readonly httpLoadBalancing: ContainerClusterAddonsConfigHttpLoadBalancing;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigHttpLoadBalancing">ContainerClusterAddonsConfigHttpLoadBalancing</a>

http_load_balancing block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#http_load_balancing ContainerCluster#http_load_balancing}

---

##### `networkPolicyConfig`<sup>Optional</sup> <a name="networkPolicyConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfig.property.networkPolicyConfig"></a>

```typescript
public readonly networkPolicyConfig: ContainerClusterAddonsConfigNetworkPolicyConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigNetworkPolicyConfig">ContainerClusterAddonsConfigNetworkPolicyConfig</a>

network_policy_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#network_policy_config ContainerCluster#network_policy_config}

---

### ContainerClusterAddonsConfigCloudrunConfig <a name="ContainerClusterAddonsConfigCloudrunConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfigCloudrunConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterAddonsConfigCloudrunConfig.Initializer"></a>

```typescript
import { ContainerClusterAddonsConfigCloudrunConfig } from '@dschmidt/provider-google'

const containerClusterAddonsConfigCloudrunConfig: ContainerClusterAddonsConfigCloudrunConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigCloudrunConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disabled ContainerCluster#disabled}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigCloudrunConfig.property.loadBalancerType">loadBalancerType</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#load_balancer_type ContainerCluster#load_balancer_type}. |

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ContainerClusterAddonsConfigCloudrunConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disabled ContainerCluster#disabled}.

---

##### `loadBalancerType`<sup>Optional</sup> <a name="loadBalancerType" id="@dschmidt/provider-google.ContainerClusterAddonsConfigCloudrunConfig.property.loadBalancerType"></a>

```typescript
public readonly loadBalancerType: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#load_balancer_type ContainerCluster#load_balancer_type}.

---

### ContainerClusterAddonsConfigDnsCacheConfig <a name="ContainerClusterAddonsConfigDnsCacheConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfigDnsCacheConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterAddonsConfigDnsCacheConfig.Initializer"></a>

```typescript
import { ContainerClusterAddonsConfigDnsCacheConfig } from '@dschmidt/provider-google'

const containerClusterAddonsConfigDnsCacheConfig: ContainerClusterAddonsConfigDnsCacheConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigDnsCacheConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterAddonsConfigDnsCacheConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}.

---

### ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig <a name="ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig.Initializer"></a>

```typescript
import { ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig } from '@dschmidt/provider-google'

const containerClusterAddonsConfigGcePersistentDiskCsiDriverConfig: ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}.

---

### ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig <a name="ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig.Initializer"></a>

```typescript
import { ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig } from '@dschmidt/provider-google'

const containerClusterAddonsConfigGcpFilestoreCsiDriverConfig: ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}.

---

### ContainerClusterAddonsConfigHorizontalPodAutoscaling <a name="ContainerClusterAddonsConfigHorizontalPodAutoscaling" id="@dschmidt/provider-google.ContainerClusterAddonsConfigHorizontalPodAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterAddonsConfigHorizontalPodAutoscaling.Initializer"></a>

```typescript
import { ContainerClusterAddonsConfigHorizontalPodAutoscaling } from '@dschmidt/provider-google'

const containerClusterAddonsConfigHorizontalPodAutoscaling: ContainerClusterAddonsConfigHorizontalPodAutoscaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigHorizontalPodAutoscaling.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disabled ContainerCluster#disabled}. |

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ContainerClusterAddonsConfigHorizontalPodAutoscaling.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disabled ContainerCluster#disabled}.

---

### ContainerClusterAddonsConfigHttpLoadBalancing <a name="ContainerClusterAddonsConfigHttpLoadBalancing" id="@dschmidt/provider-google.ContainerClusterAddonsConfigHttpLoadBalancing"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterAddonsConfigHttpLoadBalancing.Initializer"></a>

```typescript
import { ContainerClusterAddonsConfigHttpLoadBalancing } from '@dschmidt/provider-google'

const containerClusterAddonsConfigHttpLoadBalancing: ContainerClusterAddonsConfigHttpLoadBalancing = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigHttpLoadBalancing.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disabled ContainerCluster#disabled}. |

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ContainerClusterAddonsConfigHttpLoadBalancing.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disabled ContainerCluster#disabled}.

---

### ContainerClusterAddonsConfigNetworkPolicyConfig <a name="ContainerClusterAddonsConfigNetworkPolicyConfig" id="@dschmidt/provider-google.ContainerClusterAddonsConfigNetworkPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterAddonsConfigNetworkPolicyConfig.Initializer"></a>

```typescript
import { ContainerClusterAddonsConfigNetworkPolicyConfig } from '@dschmidt/provider-google'

const containerClusterAddonsConfigNetworkPolicyConfig: ContainerClusterAddonsConfigNetworkPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfigNetworkPolicyConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disabled ContainerCluster#disabled}. |

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ContainerClusterAddonsConfigNetworkPolicyConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disabled ContainerCluster#disabled}.

---

### ContainerClusterAuthenticatorGroupsConfig <a name="ContainerClusterAuthenticatorGroupsConfig" id="@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfig.Initializer"></a>

```typescript
import { ContainerClusterAuthenticatorGroupsConfig } from '@dschmidt/provider-google'

const containerClusterAuthenticatorGroupsConfig: ContainerClusterAuthenticatorGroupsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfig.property.securityGroup">securityGroup</a></code> | <code>string</code> | The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. |

---

##### `securityGroup`<sup>Required</sup> <a name="securityGroup" id="@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfig.property.securityGroup"></a>

```typescript
public readonly securityGroup: string;
```

- *Type:* string

The name of the RBAC security group for use with Google security groups in Kubernetes RBAC.

Group name must be in format gke-security-groups@yourdomain.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#security_group ContainerCluster#security_group}

---

### ContainerClusterBinaryAuthorization <a name="ContainerClusterBinaryAuthorization" id="@dschmidt/provider-google.ContainerClusterBinaryAuthorization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterBinaryAuthorization.Initializer"></a>

```typescript
import { ContainerClusterBinaryAuthorization } from '@dschmidt/provider-google'

const containerClusterBinaryAuthorization: ContainerClusterBinaryAuthorization = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterBinaryAuthorization.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enable Binary Authorization for this cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterBinaryAuthorization.property.evaluationMode">evaluationMode</a></code> | <code>string</code> | Mode of operation for Binary Authorization policy evaluation. |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterBinaryAuthorization.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enable Binary Authorization for this cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

##### `evaluationMode`<sup>Optional</sup> <a name="evaluationMode" id="@dschmidt/provider-google.ContainerClusterBinaryAuthorization.property.evaluationMode"></a>

```typescript
public readonly evaluationMode: string;
```

- *Type:* string

Mode of operation for Binary Authorization policy evaluation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#evaluation_mode ContainerCluster#evaluation_mode}

---

### ContainerClusterClusterAutoscaling <a name="ContainerClusterClusterAutoscaling" id="@dschmidt/provider-google.ContainerClusterClusterAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterClusterAutoscaling.Initializer"></a>

```typescript
import { ContainerClusterClusterAutoscaling } from '@dschmidt/provider-google'

const containerClusterClusterAutoscaling: ContainerClusterClusterAutoscaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscaling.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether node auto-provisioning is enabled. Resource limits for cpu and memory must be defined to enable node auto-provisioning. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscaling.property.autoProvisioningDefaults">autoProvisioningDefaults</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults">ContainerClusterClusterAutoscalingAutoProvisioningDefaults</a></code> | auto_provisioning_defaults block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscaling.property.resourceLimits">resourceLimits</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits">ContainerClusterClusterAutoscalingResourceLimits</a>[]</code> | resource_limits block. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterClusterAutoscaling.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether node auto-provisioning is enabled. Resource limits for cpu and memory must be defined to enable node auto-provisioning.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

##### `autoProvisioningDefaults`<sup>Optional</sup> <a name="autoProvisioningDefaults" id="@dschmidt/provider-google.ContainerClusterClusterAutoscaling.property.autoProvisioningDefaults"></a>

```typescript
public readonly autoProvisioningDefaults: ContainerClusterClusterAutoscalingAutoProvisioningDefaults;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults">ContainerClusterClusterAutoscalingAutoProvisioningDefaults</a>

auto_provisioning_defaults block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#auto_provisioning_defaults ContainerCluster#auto_provisioning_defaults}

---

##### `resourceLimits`<sup>Optional</sup> <a name="resourceLimits" id="@dschmidt/provider-google.ContainerClusterClusterAutoscaling.property.resourceLimits"></a>

```typescript
public readonly resourceLimits: IResolvable | ContainerClusterClusterAutoscalingResourceLimits[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits">ContainerClusterClusterAutoscalingResourceLimits</a>[]

resource_limits block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#resource_limits ContainerCluster#resource_limits}

---

### ContainerClusterClusterAutoscalingAutoProvisioningDefaults <a name="ContainerClusterClusterAutoscalingAutoProvisioningDefaults" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults.Initializer"></a>

```typescript
import { ContainerClusterClusterAutoscalingAutoProvisioningDefaults } from '@dschmidt/provider-google'

const containerClusterClusterAutoscalingAutoProvisioningDefaults: ContainerClusterClusterAutoscalingAutoProvisioningDefaults = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults.property.bootDiskKmsKey">bootDiskKmsKey</a></code> | <code>string</code> | The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults.property.imageType">imageType</a></code> | <code>string</code> | The default image type used by NAP once a new node pool is being created. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults.property.oauthScopes">oauthScopes</a></code> | <code>string[]</code> | Scopes that are used by NAP when creating node pools. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | The Google Cloud Platform Service Account to be used by the node VMs. |

---

##### `bootDiskKmsKey`<sup>Optional</sup> <a name="bootDiskKmsKey" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults.property.bootDiskKmsKey"></a>

```typescript
public readonly bootDiskKmsKey: string;
```

- *Type:* string

The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#boot_disk_kms_key ContainerCluster#boot_disk_kms_key}

---

##### `imageType`<sup>Optional</sup> <a name="imageType" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults.property.imageType"></a>

```typescript
public readonly imageType: string;
```

- *Type:* string

The default image type used by NAP once a new node pool is being created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#image_type ContainerCluster#image_type}

---

##### `oauthScopes`<sup>Optional</sup> <a name="oauthScopes" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults.property.oauthScopes"></a>

```typescript
public readonly oauthScopes: string[];
```

- *Type:* string[]

Scopes that are used by NAP when creating node pools.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#oauth_scopes ContainerCluster#oauth_scopes}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingAutoProvisioningDefaults.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

The Google Cloud Platform Service Account to be used by the node VMs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#service_account ContainerCluster#service_account}

---

### ContainerClusterClusterAutoscalingResourceLimits <a name="ContainerClusterClusterAutoscalingResourceLimits" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits.Initializer"></a>

```typescript
import { ContainerClusterClusterAutoscalingResourceLimits } from '@dschmidt/provider-google'

const containerClusterClusterAutoscalingResourceLimits: ContainerClusterClusterAutoscalingResourceLimits = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits.property.resourceType">resourceType</a></code> | <code>string</code> | The type of the resource. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits.property.maximum">maximum</a></code> | <code>number</code> | Maximum amount of the resource in the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits.property.minimum">minimum</a></code> | <code>number</code> | Minimum amount of the resource in the cluster. |

---

##### `resourceType`<sup>Required</sup> <a name="resourceType" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits.property.resourceType"></a>

```typescript
public readonly resourceType: string;
```

- *Type:* string

The type of the resource.

For example, cpu and memory. See the guide to using Node Auto-Provisioning for a list of types.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#resource_type ContainerCluster#resource_type}

---

##### `maximum`<sup>Optional</sup> <a name="maximum" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits.property.maximum"></a>

```typescript
public readonly maximum: number;
```

- *Type:* number

Maximum amount of the resource in the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#maximum ContainerCluster#maximum}

---

##### `minimum`<sup>Optional</sup> <a name="minimum" id="@dschmidt/provider-google.ContainerClusterClusterAutoscalingResourceLimits.property.minimum"></a>

```typescript
public readonly minimum: number;
```

- *Type:* number

Minimum amount of the resource in the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#minimum ContainerCluster#minimum}

---

### ContainerClusterConfidentialNodes <a name="ContainerClusterConfidentialNodes" id="@dschmidt/provider-google.ContainerClusterConfidentialNodes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterConfidentialNodes.Initializer"></a>

```typescript
import { ContainerClusterConfidentialNodes } from '@dschmidt/provider-google'

const containerClusterConfidentialNodes: ContainerClusterConfidentialNodes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfidentialNodes.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether Confidential Nodes feature is enabled for all nodes in this cluster. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterConfidentialNodes.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether Confidential Nodes feature is enabled for all nodes in this cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

### ContainerClusterConfig <a name="ContainerClusterConfig" id="@dschmidt/provider-google.ContainerClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterConfig.Initializer"></a>

```typescript
import { ContainerClusterConfig } from '@dschmidt/provider-google'

const containerClusterConfig: ContainerClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.name">name</a></code> | <code>string</code> | The name of the cluster, unique within the project and location. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.addonsConfig">addonsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig">ContainerClusterAddonsConfig</a></code> | addons_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.authenticatorGroupsConfig">authenticatorGroupsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfig">ContainerClusterAuthenticatorGroupsConfig</a></code> | authenticator_groups_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.binaryAuthorization">binaryAuthorization</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterBinaryAuthorization">ContainerClusterBinaryAuthorization</a></code> | binary_authorization block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.clusterAutoscaling">clusterAutoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscaling">ContainerClusterClusterAutoscaling</a></code> | cluster_autoscaling block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.clusterIpv4Cidr">clusterIpv4Cidr</a></code> | <code>string</code> | The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically chosen or specify a /14 block in 10.0.0.0/8. This field will only work for routes-based clusters, where ip_allocation_policy is not defined. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.confidentialNodes">confidentialNodes</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterConfidentialNodes">ContainerClusterConfidentialNodes</a></code> | confidential_nodes block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.databaseEncryption">databaseEncryption</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterDatabaseEncryption">ContainerClusterDatabaseEncryption</a></code> | database_encryption block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.datapathProvider">datapathProvider</a></code> | <code>string</code> | The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.defaultMaxPodsPerNode">defaultMaxPodsPerNode</a></code> | <code>number</code> | The default maximum number of pods per node in this cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.defaultSnatStatus">defaultSnatStatus</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterDefaultSnatStatus">ContainerClusterDefaultSnatStatus</a></code> | default_snat_status block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.description">description</a></code> | <code>string</code> | Description of the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.dnsConfig">dnsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterDnsConfig">ContainerClusterDnsConfig</a></code> | dns_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.enableAutopilot">enableAutopilot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enable Autopilot for this cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.enableBinaryAuthorization">enableBinaryAuthorization</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.enableIntranodeVisibility">enableIntranodeVisibility</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether Intra-node visibility is enabled for this cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.enableKubernetesAlpha">enableKubernetesAlpha</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable Kubernetes Alpha features for this cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.enableLegacyAbac">enableLegacyAbac</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the ABAC authorizer is enabled for this cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.enableShieldedNodes">enableShieldedNodes</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enable Shielded Nodes features on all nodes in this cluster. Defaults to true. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.enableTpu">enableTpu</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable Cloud TPU resources in this cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#id ContainerCluster#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.initialNodeCount">initialNodeCount</a></code> | <code>number</code> | The number of nodes to create in this cluster's default node pool. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.ipAllocationPolicy">ipAllocationPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicy">ContainerClusterIpAllocationPolicy</a></code> | ip_allocation_policy block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.location">location</a></code> | <code>string</code> | The location (region or zone) in which the cluster master will be created, as well as the default node location. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterLoggingConfig">ContainerClusterLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.loggingService">loggingService</a></code> | <code>string</code> | The logging service that the cluster should write logs to. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.maintenancePolicy">maintenancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicy">ContainerClusterMaintenancePolicy</a></code> | maintenance_policy block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.masterAuth">masterAuth</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuth">ContainerClusterMasterAuth</a></code> | master_auth block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.masterAuthorizedNetworksConfig">masterAuthorizedNetworksConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfig">ContainerClusterMasterAuthorizedNetworksConfig</a></code> | master_authorized_networks_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.meshCertificates">meshCertificates</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMeshCertificates">ContainerClusterMeshCertificates</a></code> | mesh_certificates block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.minMasterVersion">minMasterVersion</a></code> | <code>string</code> | The minimum version of the master. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.monitoringConfig">monitoringConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMonitoringConfig">ContainerClusterMonitoringConfig</a></code> | monitoring_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.monitoringService">monitoringService</a></code> | <code>string</code> | The monitoring service that the cluster should write metrics to. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.network">network</a></code> | <code>string</code> | The name or self_link of the Google Compute Engine network to which the cluster is connected. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.networkingMode">networkingMode</a></code> | <code>string</code> | Determines whether alias IPs or routes will be used for pod IPs in the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.networkPolicy">networkPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNetworkPolicy">ContainerClusterNetworkPolicy</a></code> | network_policy block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig">ContainerClusterNodeConfig</a></code> | node_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.nodeLocations">nodeLocations</a></code> | <code>string[]</code> | The list of zones in which the cluster's nodes are located. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.nodePool">nodePool</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterNodePool">ContainerClusterNodePool</a>[]</code> | node_pool block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.nodeVersion">nodeVersion</a></code> | <code>string</code> | The Kubernetes version on the nodes. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNotificationConfig">ContainerClusterNotificationConfig</a></code> | notification_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.privateClusterConfig">privateClusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfig">ContainerClusterPrivateClusterConfig</a></code> | private_cluster_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.privateIpv6GoogleAccess">privateIpv6GoogleAccess</a></code> | <code>string</code> | The desired state of IPv6 connectivity to Google Services. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.releaseChannel">releaseChannel</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterReleaseChannel">ContainerClusterReleaseChannel</a></code> | release_channel block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.removeDefaultNodePool">removeDefaultNodePool</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, deletes the default node pool upon cluster creation. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.resourceLabels">resourceLabels</a></code> | <code>{[ key: string ]: string}</code> | The GCE resource labels (a map of key/value pairs) to be applied to the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.resourceUsageExportConfig">resourceUsageExportConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig">ContainerClusterResourceUsageExportConfig</a></code> | resource_usage_export_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.serviceExternalIpsConfig">serviceExternalIpsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfig">ContainerClusterServiceExternalIpsConfig</a></code> | service_external_ips_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterTimeouts">ContainerClusterTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.verticalPodAutoscaling">verticalPodAutoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterVerticalPodAutoscaling">ContainerClusterVerticalPodAutoscaling</a></code> | vertical_pod_autoscaling block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterConfig.property.workloadIdentityConfig">workloadIdentityConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfig">ContainerClusterWorkloadIdentityConfig</a></code> | workload_identity_config block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerClusterConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerClusterConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerClusterConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerClusterConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerClusterConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerClusterConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerClusterConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ContainerClusterConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the cluster, unique within the project and location.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#name ContainerCluster#name}

---

##### `addonsConfig`<sup>Optional</sup> <a name="addonsConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.addonsConfig"></a>

```typescript
public readonly addonsConfig: ContainerClusterAddonsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAddonsConfig">ContainerClusterAddonsConfig</a>

addons_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#addons_config ContainerCluster#addons_config}

---

##### `authenticatorGroupsConfig`<sup>Optional</sup> <a name="authenticatorGroupsConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.authenticatorGroupsConfig"></a>

```typescript
public readonly authenticatorGroupsConfig: ContainerClusterAuthenticatorGroupsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterAuthenticatorGroupsConfig">ContainerClusterAuthenticatorGroupsConfig</a>

authenticator_groups_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#authenticator_groups_config ContainerCluster#authenticator_groups_config}

---

##### `binaryAuthorization`<sup>Optional</sup> <a name="binaryAuthorization" id="@dschmidt/provider-google.ContainerClusterConfig.property.binaryAuthorization"></a>

```typescript
public readonly binaryAuthorization: ContainerClusterBinaryAuthorization;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterBinaryAuthorization">ContainerClusterBinaryAuthorization</a>

binary_authorization block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#binary_authorization ContainerCluster#binary_authorization}

---

##### `clusterAutoscaling`<sup>Optional</sup> <a name="clusterAutoscaling" id="@dschmidt/provider-google.ContainerClusterConfig.property.clusterAutoscaling"></a>

```typescript
public readonly clusterAutoscaling: ContainerClusterClusterAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterClusterAutoscaling">ContainerClusterClusterAutoscaling</a>

cluster_autoscaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cluster_autoscaling ContainerCluster#cluster_autoscaling}

---

##### `clusterIpv4Cidr`<sup>Optional</sup> <a name="clusterIpv4Cidr" id="@dschmidt/provider-google.ContainerClusterConfig.property.clusterIpv4Cidr"></a>

```typescript
public readonly clusterIpv4Cidr: string;
```

- *Type:* string

The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically chosen or specify a /14 block in 10.0.0.0/8. This field will only work for routes-based clusters, where ip_allocation_policy is not defined.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cluster_ipv4_cidr ContainerCluster#cluster_ipv4_cidr}

---

##### `confidentialNodes`<sup>Optional</sup> <a name="confidentialNodes" id="@dschmidt/provider-google.ContainerClusterConfig.property.confidentialNodes"></a>

```typescript
public readonly confidentialNodes: ContainerClusterConfidentialNodes;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterConfidentialNodes">ContainerClusterConfidentialNodes</a>

confidential_nodes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#confidential_nodes ContainerCluster#confidential_nodes}

---

##### `databaseEncryption`<sup>Optional</sup> <a name="databaseEncryption" id="@dschmidt/provider-google.ContainerClusterConfig.property.databaseEncryption"></a>

```typescript
public readonly databaseEncryption: ContainerClusterDatabaseEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDatabaseEncryption">ContainerClusterDatabaseEncryption</a>

database_encryption block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#database_encryption ContainerCluster#database_encryption}

---

##### `datapathProvider`<sup>Optional</sup> <a name="datapathProvider" id="@dschmidt/provider-google.ContainerClusterConfig.property.datapathProvider"></a>

```typescript
public readonly datapathProvider: string;
```

- *Type:* string

The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#datapath_provider ContainerCluster#datapath_provider}

---

##### `defaultMaxPodsPerNode`<sup>Optional</sup> <a name="defaultMaxPodsPerNode" id="@dschmidt/provider-google.ContainerClusterConfig.property.defaultMaxPodsPerNode"></a>

```typescript
public readonly defaultMaxPodsPerNode: number;
```

- *Type:* number

The default maximum number of pods per node in this cluster.

This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#default_max_pods_per_node ContainerCluster#default_max_pods_per_node}

---

##### `defaultSnatStatus`<sup>Optional</sup> <a name="defaultSnatStatus" id="@dschmidt/provider-google.ContainerClusterConfig.property.defaultSnatStatus"></a>

```typescript
public readonly defaultSnatStatus: ContainerClusterDefaultSnatStatus;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDefaultSnatStatus">ContainerClusterDefaultSnatStatus</a>

default_snat_status block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#default_snat_status ContainerCluster#default_snat_status}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ContainerClusterConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#description ContainerCluster#description}

---

##### `dnsConfig`<sup>Optional</sup> <a name="dnsConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.dnsConfig"></a>

```typescript
public readonly dnsConfig: ContainerClusterDnsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterDnsConfig">ContainerClusterDnsConfig</a>

dns_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#dns_config ContainerCluster#dns_config}

---

##### `enableAutopilot`<sup>Optional</sup> <a name="enableAutopilot" id="@dschmidt/provider-google.ContainerClusterConfig.property.enableAutopilot"></a>

```typescript
public readonly enableAutopilot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enable Autopilot for this cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_autopilot ContainerCluster#enable_autopilot}

---

##### `enableBinaryAuthorization`<sup>Optional</sup> <a name="enableBinaryAuthorization" id="@dschmidt/provider-google.ContainerClusterConfig.property.enableBinaryAuthorization"></a>

```typescript
public readonly enableBinaryAuthorization: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_binary_authorization ContainerCluster#enable_binary_authorization}

---

##### `enableIntranodeVisibility`<sup>Optional</sup> <a name="enableIntranodeVisibility" id="@dschmidt/provider-google.ContainerClusterConfig.property.enableIntranodeVisibility"></a>

```typescript
public readonly enableIntranodeVisibility: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether Intra-node visibility is enabled for this cluster.

This makes same node pod to pod traffic visible for VPC network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_intranode_visibility ContainerCluster#enable_intranode_visibility}

---

##### `enableKubernetesAlpha`<sup>Optional</sup> <a name="enableKubernetesAlpha" id="@dschmidt/provider-google.ContainerClusterConfig.property.enableKubernetesAlpha"></a>

```typescript
public readonly enableKubernetesAlpha: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable Kubernetes Alpha features for this cluster.

Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_kubernetes_alpha ContainerCluster#enable_kubernetes_alpha}

---

##### `enableLegacyAbac`<sup>Optional</sup> <a name="enableLegacyAbac" id="@dschmidt/provider-google.ContainerClusterConfig.property.enableLegacyAbac"></a>

```typescript
public readonly enableLegacyAbac: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the ABAC authorizer is enabled for this cluster.

When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_legacy_abac ContainerCluster#enable_legacy_abac}

---

##### `enableShieldedNodes`<sup>Optional</sup> <a name="enableShieldedNodes" id="@dschmidt/provider-google.ContainerClusterConfig.property.enableShieldedNodes"></a>

```typescript
public readonly enableShieldedNodes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enable Shielded Nodes features on all nodes in this cluster. Defaults to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_shielded_nodes ContainerCluster#enable_shielded_nodes}

---

##### `enableTpu`<sup>Optional</sup> <a name="enableTpu" id="@dschmidt/provider-google.ContainerClusterConfig.property.enableTpu"></a>

```typescript
public readonly enableTpu: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable Cloud TPU resources in this cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_tpu ContainerCluster#enable_tpu}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerClusterConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#id ContainerCluster#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `initialNodeCount`<sup>Optional</sup> <a name="initialNodeCount" id="@dschmidt/provider-google.ContainerClusterConfig.property.initialNodeCount"></a>

```typescript
public readonly initialNodeCount: number;
```

- *Type:* number

The number of nodes to create in this cluster's default node pool.

In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if node_pool is not set. If you're using google_container_node_pool objects with no default node pool, you'll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#initial_node_count ContainerCluster#initial_node_count}

---

##### `ipAllocationPolicy`<sup>Optional</sup> <a name="ipAllocationPolicy" id="@dschmidt/provider-google.ContainerClusterConfig.property.ipAllocationPolicy"></a>

```typescript
public readonly ipAllocationPolicy: ContainerClusterIpAllocationPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicy">ContainerClusterIpAllocationPolicy</a>

ip_allocation_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#ip_allocation_policy ContainerCluster#ip_allocation_policy}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.ContainerClusterConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location (region or zone) in which the cluster master will be created, as well as the default node location.

If you specify a zone (such as us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such as us-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#location ContainerCluster#location}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: ContainerClusterLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterLoggingConfig">ContainerClusterLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#logging_config ContainerCluster#logging_config}

---

##### `loggingService`<sup>Optional</sup> <a name="loggingService" id="@dschmidt/provider-google.ContainerClusterConfig.property.loggingService"></a>

```typescript
public readonly loggingService: string;
```

- *Type:* string

The logging service that the cluster should write logs to.

Available options include logging.googleapis.com(Legacy Stackdriver), logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), and none. Defaults to logging.googleapis.com/kubernetes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#logging_service ContainerCluster#logging_service}

---

##### `maintenancePolicy`<sup>Optional</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.ContainerClusterConfig.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: ContainerClusterMaintenancePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicy">ContainerClusterMaintenancePolicy</a>

maintenance_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#maintenance_policy ContainerCluster#maintenance_policy}

---

##### `masterAuth`<sup>Optional</sup> <a name="masterAuth" id="@dschmidt/provider-google.ContainerClusterConfig.property.masterAuth"></a>

```typescript
public readonly masterAuth: ContainerClusterMasterAuth;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMasterAuth">ContainerClusterMasterAuth</a>

master_auth block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#master_auth ContainerCluster#master_auth}

---

##### `masterAuthorizedNetworksConfig`<sup>Optional</sup> <a name="masterAuthorizedNetworksConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.masterAuthorizedNetworksConfig"></a>

```typescript
public readonly masterAuthorizedNetworksConfig: ContainerClusterMasterAuthorizedNetworksConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfig">ContainerClusterMasterAuthorizedNetworksConfig</a>

master_authorized_networks_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#master_authorized_networks_config ContainerCluster#master_authorized_networks_config}

---

##### `meshCertificates`<sup>Optional</sup> <a name="meshCertificates" id="@dschmidt/provider-google.ContainerClusterConfig.property.meshCertificates"></a>

```typescript
public readonly meshCertificates: ContainerClusterMeshCertificates;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMeshCertificates">ContainerClusterMeshCertificates</a>

mesh_certificates block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#mesh_certificates ContainerCluster#mesh_certificates}

---

##### `minMasterVersion`<sup>Optional</sup> <a name="minMasterVersion" id="@dschmidt/provider-google.ContainerClusterConfig.property.minMasterVersion"></a>

```typescript
public readonly minMasterVersion: string;
```

- *Type:* string

The minimum version of the master.

GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only master_version field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#min_master_version ContainerCluster#min_master_version}

---

##### `monitoringConfig`<sup>Optional</sup> <a name="monitoringConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.monitoringConfig"></a>

```typescript
public readonly monitoringConfig: ContainerClusterMonitoringConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMonitoringConfig">ContainerClusterMonitoringConfig</a>

monitoring_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#monitoring_config ContainerCluster#monitoring_config}

---

##### `monitoringService`<sup>Optional</sup> <a name="monitoringService" id="@dschmidt/provider-google.ContainerClusterConfig.property.monitoringService"></a>

```typescript
public readonly monitoringService: string;
```

- *Type:* string

The monitoring service that the cluster should write metrics to.

Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include monitoring.googleapis.com(Legacy Stackdriver), monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), and none. Defaults to monitoring.googleapis.com/kubernetes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#monitoring_service ContainerCluster#monitoring_service}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.ContainerClusterConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name or self_link of the Google Compute Engine network to which the cluster is connected.

For Shared VPC, set this to the self link of the shared network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#network ContainerCluster#network}

---

##### `networkingMode`<sup>Optional</sup> <a name="networkingMode" id="@dschmidt/provider-google.ContainerClusterConfig.property.networkingMode"></a>

```typescript
public readonly networkingMode: string;
```

- *Type:* string

Determines whether alias IPs or routes will be used for pod IPs in the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#networking_mode ContainerCluster#networking_mode}

---

##### `networkPolicy`<sup>Optional</sup> <a name="networkPolicy" id="@dschmidt/provider-google.ContainerClusterConfig.property.networkPolicy"></a>

```typescript
public readonly networkPolicy: ContainerClusterNetworkPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNetworkPolicy">ContainerClusterNetworkPolicy</a>

network_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#network_policy ContainerCluster#network_policy}

---

##### `nodeConfig`<sup>Optional</sup> <a name="nodeConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: ContainerClusterNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodeConfig">ContainerClusterNodeConfig</a>

node_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#node_config ContainerCluster#node_config}

---

##### `nodeLocations`<sup>Optional</sup> <a name="nodeLocations" id="@dschmidt/provider-google.ContainerClusterConfig.property.nodeLocations"></a>

```typescript
public readonly nodeLocations: string[];
```

- *Type:* string[]

The list of zones in which the cluster's nodes are located.

Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#node_locations ContainerCluster#node_locations}

---

##### `nodePool`<sup>Optional</sup> <a name="nodePool" id="@dschmidt/provider-google.ContainerClusterConfig.property.nodePool"></a>

```typescript
public readonly nodePool: IResolvable | ContainerClusterNodePool[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterNodePool">ContainerClusterNodePool</a>[]

node_pool block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#node_pool ContainerCluster#node_pool}

---

##### `nodeVersion`<sup>Optional</sup> <a name="nodeVersion" id="@dschmidt/provider-google.ContainerClusterConfig.property.nodeVersion"></a>

```typescript
public readonly nodeVersion: string;
```

- *Type:* string

The Kubernetes version on the nodes.

Must either be unset or set to the same value as min_master_version on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as Terraform will see spurious diffs when fuzzy versions are used. See the google_container_engine_versions data source's version_prefix field to approximate fuzzy versions in a Terraform-compatible way. To update nodes in other node pools, use the version attribute on the node pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#node_version ContainerCluster#node_version}

---

##### `notificationConfig`<sup>Optional</sup> <a name="notificationConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: ContainerClusterNotificationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNotificationConfig">ContainerClusterNotificationConfig</a>

notification_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#notification_config ContainerCluster#notification_config}

---

##### `privateClusterConfig`<sup>Optional</sup> <a name="privateClusterConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.privateClusterConfig"></a>

```typescript
public readonly privateClusterConfig: ContainerClusterPrivateClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfig">ContainerClusterPrivateClusterConfig</a>

private_cluster_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#private_cluster_config ContainerCluster#private_cluster_config}

---

##### `privateIpv6GoogleAccess`<sup>Optional</sup> <a name="privateIpv6GoogleAccess" id="@dschmidt/provider-google.ContainerClusterConfig.property.privateIpv6GoogleAccess"></a>

```typescript
public readonly privateIpv6GoogleAccess: string;
```

- *Type:* string

The desired state of IPv6 connectivity to Google Services.

By default, no private IPv6 access to or from Google Services (all access will be via IPv4).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#private_ipv6_google_access ContainerCluster#private_ipv6_google_access}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerClusterConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#project ContainerCluster#project}

---

##### `releaseChannel`<sup>Optional</sup> <a name="releaseChannel" id="@dschmidt/provider-google.ContainerClusterConfig.property.releaseChannel"></a>

```typescript
public readonly releaseChannel: ContainerClusterReleaseChannel;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterReleaseChannel">ContainerClusterReleaseChannel</a>

release_channel block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#release_channel ContainerCluster#release_channel}

---

##### `removeDefaultNodePool`<sup>Optional</sup> <a name="removeDefaultNodePool" id="@dschmidt/provider-google.ContainerClusterConfig.property.removeDefaultNodePool"></a>

```typescript
public readonly removeDefaultNodePool: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, deletes the default node pool upon cluster creation.

If you're using google_container_node_pool resources with no default node pool, this should be set to true, alongside setting initial_node_count to at least 1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#remove_default_node_pool ContainerCluster#remove_default_node_pool}

---

##### `resourceLabels`<sup>Optional</sup> <a name="resourceLabels" id="@dschmidt/provider-google.ContainerClusterConfig.property.resourceLabels"></a>

```typescript
public readonly resourceLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The GCE resource labels (a map of key/value pairs) to be applied to the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#resource_labels ContainerCluster#resource_labels}

---

##### `resourceUsageExportConfig`<sup>Optional</sup> <a name="resourceUsageExportConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.resourceUsageExportConfig"></a>

```typescript
public readonly resourceUsageExportConfig: ContainerClusterResourceUsageExportConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig">ContainerClusterResourceUsageExportConfig</a>

resource_usage_export_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#resource_usage_export_config ContainerCluster#resource_usage_export_config}

---

##### `serviceExternalIpsConfig`<sup>Optional</sup> <a name="serviceExternalIpsConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.serviceExternalIpsConfig"></a>

```typescript
public readonly serviceExternalIpsConfig: ContainerClusterServiceExternalIpsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfig">ContainerClusterServiceExternalIpsConfig</a>

service_external_ips_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#service_external_ips_config ContainerCluster#service_external_ips_config}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.ContainerClusterConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#subnetwork ContainerCluster#subnetwork}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerClusterConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerClusterTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterTimeouts">ContainerClusterTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#timeouts ContainerCluster#timeouts}

---

##### `verticalPodAutoscaling`<sup>Optional</sup> <a name="verticalPodAutoscaling" id="@dschmidt/provider-google.ContainerClusterConfig.property.verticalPodAutoscaling"></a>

```typescript
public readonly verticalPodAutoscaling: ContainerClusterVerticalPodAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterVerticalPodAutoscaling">ContainerClusterVerticalPodAutoscaling</a>

vertical_pod_autoscaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#vertical_pod_autoscaling ContainerCluster#vertical_pod_autoscaling}

---

##### `workloadIdentityConfig`<sup>Optional</sup> <a name="workloadIdentityConfig" id="@dschmidt/provider-google.ContainerClusterConfig.property.workloadIdentityConfig"></a>

```typescript
public readonly workloadIdentityConfig: ContainerClusterWorkloadIdentityConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfig">ContainerClusterWorkloadIdentityConfig</a>

workload_identity_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#workload_identity_config ContainerCluster#workload_identity_config}

---

### ContainerClusterDatabaseEncryption <a name="ContainerClusterDatabaseEncryption" id="@dschmidt/provider-google.ContainerClusterDatabaseEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterDatabaseEncryption.Initializer"></a>

```typescript
import { ContainerClusterDatabaseEncryption } from '@dschmidt/provider-google'

const containerClusterDatabaseEncryption: ContainerClusterDatabaseEncryption = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterDatabaseEncryption.property.state">state</a></code> | <code>string</code> | ENCRYPTED or DECRYPTED. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterDatabaseEncryption.property.keyName">keyName</a></code> | <code>string</code> | The key to use to encrypt/decrypt secrets. |

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.ContainerClusterDatabaseEncryption.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

ENCRYPTED or DECRYPTED.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#state ContainerCluster#state}

---

##### `keyName`<sup>Optional</sup> <a name="keyName" id="@dschmidt/provider-google.ContainerClusterDatabaseEncryption.property.keyName"></a>

```typescript
public readonly keyName: string;
```

- *Type:* string

The key to use to encrypt/decrypt secrets.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#key_name ContainerCluster#key_name}

---

### ContainerClusterDefaultSnatStatus <a name="ContainerClusterDefaultSnatStatus" id="@dschmidt/provider-google.ContainerClusterDefaultSnatStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterDefaultSnatStatus.Initializer"></a>

```typescript
import { ContainerClusterDefaultSnatStatus } from '@dschmidt/provider-google'

const containerClusterDefaultSnatStatus: ContainerClusterDefaultSnatStatus = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterDefaultSnatStatus.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. |

---

##### `disabled`<sup>Required</sup> <a name="disabled" id="@dschmidt/provider-google.ContainerClusterDefaultSnatStatus.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disabled ContainerCluster#disabled}

---

### ContainerClusterDnsConfig <a name="ContainerClusterDnsConfig" id="@dschmidt/provider-google.ContainerClusterDnsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterDnsConfig.Initializer"></a>

```typescript
import { ContainerClusterDnsConfig } from '@dschmidt/provider-google'

const containerClusterDnsConfig: ContainerClusterDnsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterDnsConfig.property.clusterDns">clusterDns</a></code> | <code>string</code> | Which in-cluster DNS provider should be used. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterDnsConfig.property.clusterDnsDomain">clusterDnsDomain</a></code> | <code>string</code> | The suffix used for all cluster service records. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterDnsConfig.property.clusterDnsScope">clusterDnsScope</a></code> | <code>string</code> | The scope of access to cluster DNS records. |

---

##### `clusterDns`<sup>Optional</sup> <a name="clusterDns" id="@dschmidt/provider-google.ContainerClusterDnsConfig.property.clusterDns"></a>

```typescript
public readonly clusterDns: string;
```

- *Type:* string

Which in-cluster DNS provider should be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cluster_dns ContainerCluster#cluster_dns}

---

##### `clusterDnsDomain`<sup>Optional</sup> <a name="clusterDnsDomain" id="@dschmidt/provider-google.ContainerClusterDnsConfig.property.clusterDnsDomain"></a>

```typescript
public readonly clusterDnsDomain: string;
```

- *Type:* string

The suffix used for all cluster service records.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cluster_dns_domain ContainerCluster#cluster_dns_domain}

---

##### `clusterDnsScope`<sup>Optional</sup> <a name="clusterDnsScope" id="@dschmidt/provider-google.ContainerClusterDnsConfig.property.clusterDnsScope"></a>

```typescript
public readonly clusterDnsScope: string;
```

- *Type:* string

The scope of access to cluster DNS records.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cluster_dns_scope ContainerCluster#cluster_dns_scope}

---

### ContainerClusterIpAllocationPolicy <a name="ContainerClusterIpAllocationPolicy" id="@dschmidt/provider-google.ContainerClusterIpAllocationPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterIpAllocationPolicy.Initializer"></a>

```typescript
import { ContainerClusterIpAllocationPolicy } from '@dschmidt/provider-google'

const containerClusterIpAllocationPolicy: ContainerClusterIpAllocationPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicy.property.clusterIpv4CidrBlock">clusterIpv4CidrBlock</a></code> | <code>string</code> | The IP address range for the cluster pod IPs. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicy.property.clusterSecondaryRangeName">clusterSecondaryRangeName</a></code> | <code>string</code> | The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicy.property.servicesIpv4CidrBlock">servicesIpv4CidrBlock</a></code> | <code>string</code> | The IP address range of the services IPs in this cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterIpAllocationPolicy.property.servicesSecondaryRangeName">servicesSecondaryRangeName</a></code> | <code>string</code> | The name of the existing secondary range in the cluster's subnetwork to use for service ClusterIPs. |

---

##### `clusterIpv4CidrBlock`<sup>Optional</sup> <a name="clusterIpv4CidrBlock" id="@dschmidt/provider-google.ContainerClusterIpAllocationPolicy.property.clusterIpv4CidrBlock"></a>

```typescript
public readonly clusterIpv4CidrBlock: string;
```

- *Type:* string

The IP address range for the cluster pod IPs.

Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cluster_ipv4_cidr_block ContainerCluster#cluster_ipv4_cidr_block}

---

##### `clusterSecondaryRangeName`<sup>Optional</sup> <a name="clusterSecondaryRangeName" id="@dschmidt/provider-google.ContainerClusterIpAllocationPolicy.property.clusterSecondaryRangeName"></a>

```typescript
public readonly clusterSecondaryRangeName: string;
```

- *Type:* string

The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses.

Alternatively, cluster_ipv4_cidr_block can be used to automatically create a GKE-managed one.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cluster_secondary_range_name ContainerCluster#cluster_secondary_range_name}

---

##### `servicesIpv4CidrBlock`<sup>Optional</sup> <a name="servicesIpv4CidrBlock" id="@dschmidt/provider-google.ContainerClusterIpAllocationPolicy.property.servicesIpv4CidrBlock"></a>

```typescript
public readonly servicesIpv4CidrBlock: string;
```

- *Type:* string

The IP address range of the services IPs in this cluster.

Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#services_ipv4_cidr_block ContainerCluster#services_ipv4_cidr_block}

---

##### `servicesSecondaryRangeName`<sup>Optional</sup> <a name="servicesSecondaryRangeName" id="@dschmidt/provider-google.ContainerClusterIpAllocationPolicy.property.servicesSecondaryRangeName"></a>

```typescript
public readonly servicesSecondaryRangeName: string;
```

- *Type:* string

The name of the existing secondary range in the cluster's subnetwork to use for service ClusterIPs.

Alternatively, services_ipv4_cidr_block can be used to automatically create a GKE-managed one.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#services_secondary_range_name ContainerCluster#services_secondary_range_name}

---

### ContainerClusterLoggingConfig <a name="ContainerClusterLoggingConfig" id="@dschmidt/provider-google.ContainerClusterLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterLoggingConfig.Initializer"></a>

```typescript
import { ContainerClusterLoggingConfig } from '@dschmidt/provider-google'

const containerClusterLoggingConfig: ContainerClusterLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterLoggingConfig.property.enableComponents">enableComponents</a></code> | <code>string[]</code> | GKE components exposing logs. Valid values include SYSTEM_COMPONENTS and WORKLOADS. |

---

##### `enableComponents`<sup>Required</sup> <a name="enableComponents" id="@dschmidt/provider-google.ContainerClusterLoggingConfig.property.enableComponents"></a>

```typescript
public readonly enableComponents: string[];
```

- *Type:* string[]

GKE components exposing logs. Valid values include SYSTEM_COMPONENTS and WORKLOADS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_components ContainerCluster#enable_components}

---

### ContainerClusterMaintenancePolicy <a name="ContainerClusterMaintenancePolicy" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicy.Initializer"></a>

```typescript
import { ContainerClusterMaintenancePolicy } from '@dschmidt/provider-google'

const containerClusterMaintenancePolicy: ContainerClusterMaintenancePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicy.property.dailyMaintenanceWindow">dailyMaintenanceWindow</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyDailyMaintenanceWindow">ContainerClusterMaintenancePolicyDailyMaintenanceWindow</a></code> | daily_maintenance_window block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicy.property.maintenanceExclusion">maintenanceExclusion</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion">ContainerClusterMaintenancePolicyMaintenanceExclusion</a>[]</code> | maintenance_exclusion block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicy.property.recurringWindow">recurringWindow</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow">ContainerClusterMaintenancePolicyRecurringWindow</a></code> | recurring_window block. |

---

##### `dailyMaintenanceWindow`<sup>Optional</sup> <a name="dailyMaintenanceWindow" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicy.property.dailyMaintenanceWindow"></a>

```typescript
public readonly dailyMaintenanceWindow: ContainerClusterMaintenancePolicyDailyMaintenanceWindow;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyDailyMaintenanceWindow">ContainerClusterMaintenancePolicyDailyMaintenanceWindow</a>

daily_maintenance_window block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#daily_maintenance_window ContainerCluster#daily_maintenance_window}

---

##### `maintenanceExclusion`<sup>Optional</sup> <a name="maintenanceExclusion" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicy.property.maintenanceExclusion"></a>

```typescript
public readonly maintenanceExclusion: IResolvable | ContainerClusterMaintenancePolicyMaintenanceExclusion[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion">ContainerClusterMaintenancePolicyMaintenanceExclusion</a>[]

maintenance_exclusion block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#maintenance_exclusion ContainerCluster#maintenance_exclusion}

---

##### `recurringWindow`<sup>Optional</sup> <a name="recurringWindow" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicy.property.recurringWindow"></a>

```typescript
public readonly recurringWindow: ContainerClusterMaintenancePolicyRecurringWindow;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow">ContainerClusterMaintenancePolicyRecurringWindow</a>

recurring_window block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#recurring_window ContainerCluster#recurring_window}

---

### ContainerClusterMaintenancePolicyDailyMaintenanceWindow <a name="ContainerClusterMaintenancePolicyDailyMaintenanceWindow" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyDailyMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyDailyMaintenanceWindow.Initializer"></a>

```typescript
import { ContainerClusterMaintenancePolicyDailyMaintenanceWindow } from '@dschmidt/provider-google'

const containerClusterMaintenancePolicyDailyMaintenanceWindow: ContainerClusterMaintenancePolicyDailyMaintenanceWindow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyDailyMaintenanceWindow.property.startTime">startTime</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#start_time ContainerCluster#start_time}. |

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyDailyMaintenanceWindow.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#start_time ContainerCluster#start_time}.

---

### ContainerClusterMaintenancePolicyMaintenanceExclusion <a name="ContainerClusterMaintenancePolicyMaintenanceExclusion" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion.Initializer"></a>

```typescript
import { ContainerClusterMaintenancePolicyMaintenanceExclusion } from '@dschmidt/provider-google'

const containerClusterMaintenancePolicyMaintenanceExclusion: ContainerClusterMaintenancePolicyMaintenanceExclusion = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion.property.endTime">endTime</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#end_time ContainerCluster#end_time}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion.property.exclusionName">exclusionName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#exclusion_name ContainerCluster#exclusion_name}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion.property.startTime">startTime</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#start_time ContainerCluster#start_time}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion.property.exclusionOptions">exclusionOptions</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions">ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions</a></code> | exclusion_options block. |

---

##### `endTime`<sup>Required</sup> <a name="endTime" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion.property.endTime"></a>

```typescript
public readonly endTime: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#end_time ContainerCluster#end_time}.

---

##### `exclusionName`<sup>Required</sup> <a name="exclusionName" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion.property.exclusionName"></a>

```typescript
public readonly exclusionName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#exclusion_name ContainerCluster#exclusion_name}.

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#start_time ContainerCluster#start_time}.

---

##### `exclusionOptions`<sup>Optional</sup> <a name="exclusionOptions" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusion.property.exclusionOptions"></a>

```typescript
public readonly exclusionOptions: ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions">ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions</a>

exclusion_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#exclusion_options ContainerCluster#exclusion_options}

---

### ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions <a name="ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions.Initializer"></a>

```typescript
import { ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions } from '@dschmidt/provider-google'

const containerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions: ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions.property.scope">scope</a></code> | <code>string</code> | The scope of automatic upgrades to restrict in the exclusion window. |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions.property.scope"></a>

```typescript
public readonly scope: string;
```

- *Type:* string

The scope of automatic upgrades to restrict in the exclusion window.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#scope ContainerCluster#scope}

---

### ContainerClusterMaintenancePolicyRecurringWindow <a name="ContainerClusterMaintenancePolicyRecurringWindow" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow.Initializer"></a>

```typescript
import { ContainerClusterMaintenancePolicyRecurringWindow } from '@dschmidt/provider-google'

const containerClusterMaintenancePolicyRecurringWindow: ContainerClusterMaintenancePolicyRecurringWindow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow.property.endTime">endTime</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#end_time ContainerCluster#end_time}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow.property.recurrence">recurrence</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#recurrence ContainerCluster#recurrence}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow.property.startTime">startTime</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#start_time ContainerCluster#start_time}. |

---

##### `endTime`<sup>Required</sup> <a name="endTime" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow.property.endTime"></a>

```typescript
public readonly endTime: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#end_time ContainerCluster#end_time}.

---

##### `recurrence`<sup>Required</sup> <a name="recurrence" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow.property.recurrence"></a>

```typescript
public readonly recurrence: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#recurrence ContainerCluster#recurrence}.

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.ContainerClusterMaintenancePolicyRecurringWindow.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#start_time ContainerCluster#start_time}.

---

### ContainerClusterMasterAuth <a name="ContainerClusterMasterAuth" id="@dschmidt/provider-google.ContainerClusterMasterAuth"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMasterAuth.Initializer"></a>

```typescript
import { ContainerClusterMasterAuth } from '@dschmidt/provider-google'

const containerClusterMasterAuth: ContainerClusterMasterAuth = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuth.property.clientCertificateConfig">clientCertificateConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuthClientCertificateConfig">ContainerClusterMasterAuthClientCertificateConfig</a></code> | client_certificate_config block. |

---

##### `clientCertificateConfig`<sup>Required</sup> <a name="clientCertificateConfig" id="@dschmidt/provider-google.ContainerClusterMasterAuth.property.clientCertificateConfig"></a>

```typescript
public readonly clientCertificateConfig: ContainerClusterMasterAuthClientCertificateConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterMasterAuthClientCertificateConfig">ContainerClusterMasterAuthClientCertificateConfig</a>

client_certificate_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#client_certificate_config ContainerCluster#client_certificate_config}

---

### ContainerClusterMasterAuthClientCertificateConfig <a name="ContainerClusterMasterAuthClientCertificateConfig" id="@dschmidt/provider-google.ContainerClusterMasterAuthClientCertificateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMasterAuthClientCertificateConfig.Initializer"></a>

```typescript
import { ContainerClusterMasterAuthClientCertificateConfig } from '@dschmidt/provider-google'

const containerClusterMasterAuthClientCertificateConfig: ContainerClusterMasterAuthClientCertificateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuthClientCertificateConfig.property.issueClientCertificate">issueClientCertificate</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether client certificate authorization is enabled for this cluster. |

---

##### `issueClientCertificate`<sup>Required</sup> <a name="issueClientCertificate" id="@dschmidt/provider-google.ContainerClusterMasterAuthClientCertificateConfig.property.issueClientCertificate"></a>

```typescript
public readonly issueClientCertificate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether client certificate authorization is enabled for this cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#issue_client_certificate ContainerCluster#issue_client_certificate}

---

### ContainerClusterMasterAuthorizedNetworksConfig <a name="ContainerClusterMasterAuthorizedNetworksConfig" id="@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfig.Initializer"></a>

```typescript
import { ContainerClusterMasterAuthorizedNetworksConfig } from '@dschmidt/provider-google'

const containerClusterMasterAuthorizedNetworksConfig: ContainerClusterMasterAuthorizedNetworksConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfig.property.cidrBlocks">cidrBlocks</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks">ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks</a>[]</code> | cidr_blocks block. |

---

##### `cidrBlocks`<sup>Optional</sup> <a name="cidrBlocks" id="@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfig.property.cidrBlocks"></a>

```typescript
public readonly cidrBlocks: IResolvable | ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks">ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks</a>[]

cidr_blocks block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cidr_blocks ContainerCluster#cidr_blocks}

---

### ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks <a name="ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks" id="@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks.Initializer"></a>

```typescript
import { ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks } from '@dschmidt/provider-google'

const containerClusterMasterAuthorizedNetworksConfigCidrBlocks: ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks.property.cidrBlock">cidrBlock</a></code> | <code>string</code> | External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks.property.displayName">displayName</a></code> | <code>string</code> | Field for users to identify CIDR blocks. |

---

##### `cidrBlock`<sup>Required</sup> <a name="cidrBlock" id="@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks.property.cidrBlock"></a>

```typescript
public readonly cidrBlock: string;
```

- *Type:* string

External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#cidr_block ContainerCluster#cidr_block}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Field for users to identify CIDR blocks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#display_name ContainerCluster#display_name}

---

### ContainerClusterMeshCertificates <a name="ContainerClusterMeshCertificates" id="@dschmidt/provider-google.ContainerClusterMeshCertificates"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMeshCertificates.Initializer"></a>

```typescript
import { ContainerClusterMeshCertificates } from '@dschmidt/provider-google'

const containerClusterMeshCertificates: ContainerClusterMeshCertificates = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMeshCertificates.property.enableCertificates">enableCertificates</a></code> | <code>boolean \| cdktf.IResolvable</code> | When enabled the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster. |

---

##### `enableCertificates`<sup>Required</sup> <a name="enableCertificates" id="@dschmidt/provider-google.ContainerClusterMeshCertificates.property.enableCertificates"></a>

```typescript
public readonly enableCertificates: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When enabled the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_certificates ContainerCluster#enable_certificates}

---

### ContainerClusterMonitoringConfig <a name="ContainerClusterMonitoringConfig" id="@dschmidt/provider-google.ContainerClusterMonitoringConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterMonitoringConfig.Initializer"></a>

```typescript
import { ContainerClusterMonitoringConfig } from '@dschmidt/provider-google'

const containerClusterMonitoringConfig: ContainerClusterMonitoringConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterMonitoringConfig.property.enableComponents">enableComponents</a></code> | <code>string[]</code> | GKE components exposing metrics. Valid values include SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, and SCHEDULER. |

---

##### `enableComponents`<sup>Required</sup> <a name="enableComponents" id="@dschmidt/provider-google.ContainerClusterMonitoringConfig.property.enableComponents"></a>

```typescript
public readonly enableComponents: string[];
```

- *Type:* string[]

GKE components exposing metrics. Valid values include SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, and SCHEDULER.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_components ContainerCluster#enable_components}

---

### ContainerClusterNetworkPolicy <a name="ContainerClusterNetworkPolicy" id="@dschmidt/provider-google.ContainerClusterNetworkPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNetworkPolicy.Initializer"></a>

```typescript
import { ContainerClusterNetworkPolicy } from '@dschmidt/provider-google'

const containerClusterNetworkPolicy: ContainerClusterNetworkPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNetworkPolicy.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether network policy is enabled on the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNetworkPolicy.property.provider">provider</a></code> | <code>string</code> | The selected network policy provider. Defaults to PROVIDER_UNSPECIFIED. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterNetworkPolicy.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether network policy is enabled on the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerClusterNetworkPolicy.property.provider"></a>

```typescript
public readonly provider: string;
```

- *Type:* string

The selected network policy provider. Defaults to PROVIDER_UNSPECIFIED.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#provider ContainerCluster#provider}

---

### ContainerClusterNodeConfig <a name="ContainerClusterNodeConfig" id="@dschmidt/provider-google.ContainerClusterNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodeConfig.Initializer"></a>

```typescript
import { ContainerClusterNodeConfig } from '@dschmidt/provider-google'

const containerClusterNodeConfig: ContainerClusterNodeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.bootDiskKmsKey">bootDiskKmsKey</a></code> | <code>string</code> | The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.diskType">diskType</a></code> | <code>string</code> | Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.gcfsConfig">gcfsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGcfsConfig">ContainerClusterNodeConfigGcfsConfig</a></code> | gcfs_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.guestAccelerator">guestAccelerator</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator">ContainerClusterNodeConfigGuestAccelerator</a>[]</code> | List of the type and count of accelerator cards attached to the instance. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.gvnic">gvnic</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGvnic">ContainerClusterNodeConfigGvnic</a></code> | gvnic block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.imageType">imageType</a></code> | <code>string</code> | The image type to use for this node. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The map of Kubernetes labels (key/value pairs) to be applied to each node. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.localSsdCount">localSsdCount</a></code> | <code>number</code> | The number of local SSD disks to be attached to the node. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.machineType">machineType</a></code> | <code>string</code> | The name of a Google Compute Engine machine type. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | The metadata key/value pairs assigned to instances in the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | Minimum CPU platform to be used by this instance. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.nodeGroup">nodeGroup</a></code> | <code>string</code> | Setting this field will assign instances of this pool to run on the specified node group. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.oauthScopes">oauthScopes</a></code> | <code>string[]</code> | The set of Google API scopes to be made available on all of the node VMs. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.preemptible">preemptible</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes are created as preemptible VM instances. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity">ContainerClusterNodeConfigReservationAffinity</a></code> | reservation_affinity block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | The Google Cloud Platform Service Account to be used by the node VMs. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigShieldedInstanceConfig">ContainerClusterNodeConfigShieldedInstanceConfig</a></code> | shielded_instance_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.spot">spot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes are created as spot VM instances. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.tags">tags</a></code> | <code>string[]</code> | The list of instance tags applied to all nodes. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.taint">taint</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigTaint">ContainerClusterNodeConfigTaint</a>[]</code> | List of Kubernetes taints to be applied to each node. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfig.property.workloadMetadataConfig">workloadMetadataConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigWorkloadMetadataConfig">ContainerClusterNodeConfigWorkloadMetadataConfig</a></code> | workload_metadata_config block. |

---

##### `bootDiskKmsKey`<sup>Optional</sup> <a name="bootDiskKmsKey" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.bootDiskKmsKey"></a>

```typescript
public readonly bootDiskKmsKey: string;
```

- *Type:* string

The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#boot_disk_kms_key ContainerCluster#boot_disk_kms_key}

---

##### `diskSizeGb`<sup>Optional</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disk_size_gb ContainerCluster#disk_size_gb}

---

##### `diskType`<sup>Optional</sup> <a name="diskType" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.diskType"></a>

```typescript
public readonly diskType: string;
```

- *Type:* string

Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disk_type ContainerCluster#disk_type}

---

##### `gcfsConfig`<sup>Optional</sup> <a name="gcfsConfig" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.gcfsConfig"></a>

```typescript
public readonly gcfsConfig: ContainerClusterNodeConfigGcfsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGcfsConfig">ContainerClusterNodeConfigGcfsConfig</a>

gcfs_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gcfs_config ContainerCluster#gcfs_config}

---

##### `guestAccelerator`<sup>Optional</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: IResolvable | ContainerClusterNodeConfigGuestAccelerator[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator">ContainerClusterNodeConfigGuestAccelerator</a>[]

List of the type and count of accelerator cards attached to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#guest_accelerator ContainerCluster#guest_accelerator}

---

##### `gvnic`<sup>Optional</sup> <a name="gvnic" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.gvnic"></a>

```typescript
public readonly gvnic: ContainerClusterNodeConfigGvnic;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGvnic">ContainerClusterNodeConfigGvnic</a>

gvnic block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gvnic ContainerCluster#gvnic}

---

##### `imageType`<sup>Optional</sup> <a name="imageType" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.imageType"></a>

```typescript
public readonly imageType: string;
```

- *Type:* string

The image type to use for this node.

Note that for a given image type, the latest version of it will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#image_type ContainerCluster#image_type}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The map of Kubernetes labels (key/value pairs) to be applied to each node.

These will added in addition to any default label(s) that Kubernetes may apply to the node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#labels ContainerCluster#labels}

---

##### `localSsdCount`<sup>Optional</sup> <a name="localSsdCount" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.localSsdCount"></a>

```typescript
public readonly localSsdCount: number;
```

- *Type:* number

The number of local SSD disks to be attached to the node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#local_ssd_count ContainerCluster#local_ssd_count}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The name of a Google Compute Engine machine type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#machine_type ContainerCluster#machine_type}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The metadata key/value pairs assigned to instances in the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#metadata ContainerCluster#metadata}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

Minimum CPU platform to be used by this instance.

The instance may be scheduled on the specified or newer CPU platform.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#min_cpu_platform ContainerCluster#min_cpu_platform}

---

##### `nodeGroup`<sup>Optional</sup> <a name="nodeGroup" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.nodeGroup"></a>

```typescript
public readonly nodeGroup: string;
```

- *Type:* string

Setting this field will assign instances of this pool to run on the specified node group.

This is useful for running workloads on sole tenant nodes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#node_group ContainerCluster#node_group}

---

##### `oauthScopes`<sup>Optional</sup> <a name="oauthScopes" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.oauthScopes"></a>

```typescript
public readonly oauthScopes: string[];
```

- *Type:* string[]

The set of Google API scopes to be made available on all of the node VMs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#oauth_scopes ContainerCluster#oauth_scopes}

---

##### `preemptible`<sup>Optional</sup> <a name="preemptible" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.preemptible"></a>

```typescript
public readonly preemptible: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes are created as preemptible VM instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#preemptible ContainerCluster#preemptible}

---

##### `reservationAffinity`<sup>Optional</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: ContainerClusterNodeConfigReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity">ContainerClusterNodeConfigReservationAffinity</a>

reservation_affinity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#reservation_affinity ContainerCluster#reservation_affinity}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

The Google Cloud Platform Service Account to be used by the node VMs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#service_account ContainerCluster#service_account}

---

##### `shieldedInstanceConfig`<sup>Optional</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: ContainerClusterNodeConfigShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigShieldedInstanceConfig">ContainerClusterNodeConfigShieldedInstanceConfig</a>

shielded_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#shielded_instance_config ContainerCluster#shielded_instance_config}

---

##### `spot`<sup>Optional</sup> <a name="spot" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.spot"></a>

```typescript
public readonly spot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes are created as spot VM instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#spot ContainerCluster#spot}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The list of instance tags applied to all nodes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#tags ContainerCluster#tags}

---

##### `taint`<sup>Optional</sup> <a name="taint" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.taint"></a>

```typescript
public readonly taint: IResolvable | ContainerClusterNodeConfigTaint[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigTaint">ContainerClusterNodeConfigTaint</a>[]

List of Kubernetes taints to be applied to each node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#taint ContainerCluster#taint}

---

##### `workloadMetadataConfig`<sup>Optional</sup> <a name="workloadMetadataConfig" id="@dschmidt/provider-google.ContainerClusterNodeConfig.property.workloadMetadataConfig"></a>

```typescript
public readonly workloadMetadataConfig: ContainerClusterNodeConfigWorkloadMetadataConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodeConfigWorkloadMetadataConfig">ContainerClusterNodeConfigWorkloadMetadataConfig</a>

workload_metadata_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#workload_metadata_config ContainerCluster#workload_metadata_config}

---

### ContainerClusterNodeConfigGcfsConfig <a name="ContainerClusterNodeConfigGcfsConfig" id="@dschmidt/provider-google.ContainerClusterNodeConfigGcfsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodeConfigGcfsConfig.Initializer"></a>

```typescript
import { ContainerClusterNodeConfigGcfsConfig } from '@dschmidt/provider-google'

const containerClusterNodeConfigGcfsConfig: ContainerClusterNodeConfigGcfsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGcfsConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not GCFS is enabled. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterNodeConfigGcfsConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not GCFS is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

### ContainerClusterNodeConfigGuestAccelerator <a name="ContainerClusterNodeConfigGuestAccelerator" id="@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator.Initializer"></a>

```typescript
import { ContainerClusterNodeConfigGuestAccelerator } from '@dschmidt/provider-google'

const containerClusterNodeConfigGuestAccelerator: ContainerClusterNodeConfigGuestAccelerator = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator.property.count">count</a></code> | <code>number</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#count ContainerCluster#count}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator.property.gpuPartitionSize">gpuPartitionSize</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gpu_partition_size ContainerCluster#gpu_partition_size}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator.property.type">type</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#type ContainerCluster#type}. |

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#count ContainerCluster#count}.

---

##### `gpuPartitionSize`<sup>Optional</sup> <a name="gpuPartitionSize" id="@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator.property.gpuPartitionSize"></a>

```typescript
public readonly gpuPartitionSize: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gpu_partition_size ContainerCluster#gpu_partition_size}.

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ContainerClusterNodeConfigGuestAccelerator.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#type ContainerCluster#type}.

---

### ContainerClusterNodeConfigGvnic <a name="ContainerClusterNodeConfigGvnic" id="@dschmidt/provider-google.ContainerClusterNodeConfigGvnic"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodeConfigGvnic.Initializer"></a>

```typescript
import { ContainerClusterNodeConfigGvnic } from '@dschmidt/provider-google'

const containerClusterNodeConfigGvnic: ContainerClusterNodeConfigGvnic = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigGvnic.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not gvnic is enabled. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterNodeConfigGvnic.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not gvnic is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

### ContainerClusterNodeConfigReservationAffinity <a name="ContainerClusterNodeConfigReservationAffinity" id="@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity.Initializer"></a>

```typescript
import { ContainerClusterNodeConfigReservationAffinity } from '@dschmidt/provider-google'

const containerClusterNodeConfigReservationAffinity: ContainerClusterNodeConfigReservationAffinity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity.property.consumeReservationType">consumeReservationType</a></code> | <code>string</code> | Corresponds to the type of reservation consumption. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity.property.key">key</a></code> | <code>string</code> | The label key of a reservation resource. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity.property.values">values</a></code> | <code>string[]</code> | The label values of the reservation resource. |

---

##### `consumeReservationType`<sup>Required</sup> <a name="consumeReservationType" id="@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity.property.consumeReservationType"></a>

```typescript
public readonly consumeReservationType: string;
```

- *Type:* string

Corresponds to the type of reservation consumption.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#consume_reservation_type ContainerCluster#consume_reservation_type}

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

The label key of a reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#key ContainerCluster#key}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.ContainerClusterNodeConfigReservationAffinity.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

The label values of the reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#values ContainerCluster#values}

---

### ContainerClusterNodeConfigShieldedInstanceConfig <a name="ContainerClusterNodeConfigShieldedInstanceConfig" id="@dschmidt/provider-google.ContainerClusterNodeConfigShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodeConfigShieldedInstanceConfig.Initializer"></a>

```typescript
import { ContainerClusterNodeConfigShieldedInstanceConfig } from '@dschmidt/provider-google'

const containerClusterNodeConfigShieldedInstanceConfig: ContainerClusterNodeConfigShieldedInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigShieldedInstanceConfig.property.enableIntegrityMonitoring">enableIntegrityMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has integrity monitoring enabled. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigShieldedInstanceConfig.property.enableSecureBoot">enableSecureBoot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has Secure Boot enabled. |

---

##### `enableIntegrityMonitoring`<sup>Optional</sup> <a name="enableIntegrityMonitoring" id="@dschmidt/provider-google.ContainerClusterNodeConfigShieldedInstanceConfig.property.enableIntegrityMonitoring"></a>

```typescript
public readonly enableIntegrityMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has integrity monitoring enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_integrity_monitoring ContainerCluster#enable_integrity_monitoring}

---

##### `enableSecureBoot`<sup>Optional</sup> <a name="enableSecureBoot" id="@dschmidt/provider-google.ContainerClusterNodeConfigShieldedInstanceConfig.property.enableSecureBoot"></a>

```typescript
public readonly enableSecureBoot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has Secure Boot enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_secure_boot ContainerCluster#enable_secure_boot}

---

### ContainerClusterNodeConfigTaint <a name="ContainerClusterNodeConfigTaint" id="@dschmidt/provider-google.ContainerClusterNodeConfigTaint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodeConfigTaint.Initializer"></a>

```typescript
import { ContainerClusterNodeConfigTaint } from '@dschmidt/provider-google'

const containerClusterNodeConfigTaint: ContainerClusterNodeConfigTaint = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigTaint.property.effect">effect</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#effect ContainerCluster#effect}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigTaint.property.key">key</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#key ContainerCluster#key}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigTaint.property.value">value</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#value ContainerCluster#value}. |

---

##### `effect`<sup>Optional</sup> <a name="effect" id="@dschmidt/provider-google.ContainerClusterNodeConfigTaint.property.effect"></a>

```typescript
public readonly effect: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#effect ContainerCluster#effect}.

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.ContainerClusterNodeConfigTaint.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#key ContainerCluster#key}.

---

##### `value`<sup>Optional</sup> <a name="value" id="@dschmidt/provider-google.ContainerClusterNodeConfigTaint.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#value ContainerCluster#value}.

---

### ContainerClusterNodeConfigWorkloadMetadataConfig <a name="ContainerClusterNodeConfigWorkloadMetadataConfig" id="@dschmidt/provider-google.ContainerClusterNodeConfigWorkloadMetadataConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodeConfigWorkloadMetadataConfig.Initializer"></a>

```typescript
import { ContainerClusterNodeConfigWorkloadMetadataConfig } from '@dschmidt/provider-google'

const containerClusterNodeConfigWorkloadMetadataConfig: ContainerClusterNodeConfigWorkloadMetadataConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodeConfigWorkloadMetadataConfig.property.mode">mode</a></code> | <code>string</code> | Mode is the configuration for how to expose metadata to workloads running on the node. |

---

##### `mode`<sup>Required</sup> <a name="mode" id="@dschmidt/provider-google.ContainerClusterNodeConfigWorkloadMetadataConfig.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Mode is the configuration for how to expose metadata to workloads running on the node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#mode ContainerCluster#mode}

---

### ContainerClusterNodePool <a name="ContainerClusterNodePool" id="@dschmidt/provider-google.ContainerClusterNodePool"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePool.Initializer"></a>

```typescript
import { ContainerClusterNodePool } from '@dschmidt/provider-google'

const containerClusterNodePool: ContainerClusterNodePool = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.autoscaling">autoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolAutoscaling">ContainerClusterNodePoolAutoscaling</a></code> | autoscaling block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.initialNodeCount">initialNodeCount</a></code> | <code>number</code> | The initial number of nodes for the pool. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.management">management</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolManagement">ContainerClusterNodePoolManagement</a></code> | management block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.maxPodsPerNode">maxPodsPerNode</a></code> | <code>number</code> | The maximum number of pods per node in this node pool. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.name">name</a></code> | <code>string</code> | The name of the node pool. If left blank, Terraform will auto-generate a unique name. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.namePrefix">namePrefix</a></code> | <code>string</code> | Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig">ContainerClusterNodePoolNodeConfig</a></code> | node_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.nodeCount">nodeCount</a></code> | <code>number</code> | The number of nodes per instance group. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.nodeLocations">nodeLocations</a></code> | <code>string[]</code> | The list of zones in which the node pool's nodes should be located. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.upgradeSettings">upgradeSettings</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolUpgradeSettings">ContainerClusterNodePoolUpgradeSettings</a></code> | upgrade_settings block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePool.property.version">version</a></code> | <code>string</code> | The Kubernetes version for the nodes in this pool. |

---

##### `autoscaling`<sup>Optional</sup> <a name="autoscaling" id="@dschmidt/provider-google.ContainerClusterNodePool.property.autoscaling"></a>

```typescript
public readonly autoscaling: ContainerClusterNodePoolAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolAutoscaling">ContainerClusterNodePoolAutoscaling</a>

autoscaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#autoscaling ContainerCluster#autoscaling}

---

##### `initialNodeCount`<sup>Optional</sup> <a name="initialNodeCount" id="@dschmidt/provider-google.ContainerClusterNodePool.property.initialNodeCount"></a>

```typescript
public readonly initialNodeCount: number;
```

- *Type:* number

The initial number of nodes for the pool.

In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#initial_node_count ContainerCluster#initial_node_count}

---

##### `management`<sup>Optional</sup> <a name="management" id="@dschmidt/provider-google.ContainerClusterNodePool.property.management"></a>

```typescript
public readonly management: ContainerClusterNodePoolManagement;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolManagement">ContainerClusterNodePoolManagement</a>

management block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#management ContainerCluster#management}

---

##### `maxPodsPerNode`<sup>Optional</sup> <a name="maxPodsPerNode" id="@dschmidt/provider-google.ContainerClusterNodePool.property.maxPodsPerNode"></a>

```typescript
public readonly maxPodsPerNode: number;
```

- *Type:* number

The maximum number of pods per node in this node pool.

Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#max_pods_per_node ContainerCluster#max_pods_per_node}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ContainerClusterNodePool.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the node pool. If left blank, Terraform will auto-generate a unique name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#name ContainerCluster#name}

---

##### `namePrefix`<sup>Optional</sup> <a name="namePrefix" id="@dschmidt/provider-google.ContainerClusterNodePool.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#name_prefix ContainerCluster#name_prefix}

---

##### `nodeConfig`<sup>Optional</sup> <a name="nodeConfig" id="@dschmidt/provider-google.ContainerClusterNodePool.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: ContainerClusterNodePoolNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig">ContainerClusterNodePoolNodeConfig</a>

node_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#node_config ContainerCluster#node_config}

---

##### `nodeCount`<sup>Optional</sup> <a name="nodeCount" id="@dschmidt/provider-google.ContainerClusterNodePool.property.nodeCount"></a>

```typescript
public readonly nodeCount: number;
```

- *Type:* number

The number of nodes per instance group.

This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#node_count ContainerCluster#node_count}

---

##### `nodeLocations`<sup>Optional</sup> <a name="nodeLocations" id="@dschmidt/provider-google.ContainerClusterNodePool.property.nodeLocations"></a>

```typescript
public readonly nodeLocations: string[];
```

- *Type:* string[]

The list of zones in which the node pool's nodes should be located.

Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If unspecified, the cluster-level node_locations will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#node_locations ContainerCluster#node_locations}

---

##### `upgradeSettings`<sup>Optional</sup> <a name="upgradeSettings" id="@dschmidt/provider-google.ContainerClusterNodePool.property.upgradeSettings"></a>

```typescript
public readonly upgradeSettings: ContainerClusterNodePoolUpgradeSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolUpgradeSettings">ContainerClusterNodePoolUpgradeSettings</a>

upgrade_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#upgrade_settings ContainerCluster#upgrade_settings}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.ContainerClusterNodePool.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The Kubernetes version for the nodes in this pool.

Note that if this field and auto_upgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it's recommended that you specify explicit versions as Terraform will see spurious diffs when fuzzy versions are used. See the google_container_engine_versions data source's version_prefix field to approximate fuzzy versions in a Terraform-compatible way.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#version ContainerCluster#version}

---

### ContainerClusterNodePoolAutoscaling <a name="ContainerClusterNodePoolAutoscaling" id="@dschmidt/provider-google.ContainerClusterNodePoolAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolAutoscaling.Initializer"></a>

```typescript
import { ContainerClusterNodePoolAutoscaling } from '@dschmidt/provider-google'

const containerClusterNodePoolAutoscaling: ContainerClusterNodePoolAutoscaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolAutoscaling.property.maxNodeCount">maxNodeCount</a></code> | <code>number</code> | Maximum number of nodes in the NodePool. Must be >= min_node_count. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolAutoscaling.property.minNodeCount">minNodeCount</a></code> | <code>number</code> | Minimum number of nodes in the NodePool. Must be >=0 and <= max_node_count. |

---

##### `maxNodeCount`<sup>Required</sup> <a name="maxNodeCount" id="@dschmidt/provider-google.ContainerClusterNodePoolAutoscaling.property.maxNodeCount"></a>

```typescript
public readonly maxNodeCount: number;
```

- *Type:* number

Maximum number of nodes in the NodePool. Must be >= min_node_count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#max_node_count ContainerCluster#max_node_count}

---

##### `minNodeCount`<sup>Required</sup> <a name="minNodeCount" id="@dschmidt/provider-google.ContainerClusterNodePoolAutoscaling.property.minNodeCount"></a>

```typescript
public readonly minNodeCount: number;
```

- *Type:* number

Minimum number of nodes in the NodePool. Must be >=0 and <= max_node_count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#min_node_count ContainerCluster#min_node_count}

---

### ContainerClusterNodePoolManagement <a name="ContainerClusterNodePoolManagement" id="@dschmidt/provider-google.ContainerClusterNodePoolManagement"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolManagement.Initializer"></a>

```typescript
import { ContainerClusterNodePoolManagement } from '@dschmidt/provider-google'

const containerClusterNodePoolManagement: ContainerClusterNodePoolManagement = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolManagement.property.autoRepair">autoRepair</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes will be automatically repaired. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolManagement.property.autoUpgrade">autoUpgrade</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes will be automatically upgraded. |

---

##### `autoRepair`<sup>Optional</sup> <a name="autoRepair" id="@dschmidt/provider-google.ContainerClusterNodePoolManagement.property.autoRepair"></a>

```typescript
public readonly autoRepair: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes will be automatically repaired.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#auto_repair ContainerCluster#auto_repair}

---

##### `autoUpgrade`<sup>Optional</sup> <a name="autoUpgrade" id="@dschmidt/provider-google.ContainerClusterNodePoolManagement.property.autoUpgrade"></a>

```typescript
public readonly autoUpgrade: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes will be automatically upgraded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#auto_upgrade ContainerCluster#auto_upgrade}

---

### ContainerClusterNodePoolNodeConfig <a name="ContainerClusterNodePoolNodeConfig" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.Initializer"></a>

```typescript
import { ContainerClusterNodePoolNodeConfig } from '@dschmidt/provider-google'

const containerClusterNodePoolNodeConfig: ContainerClusterNodePoolNodeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.bootDiskKmsKey">bootDiskKmsKey</a></code> | <code>string</code> | The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.diskType">diskType</a></code> | <code>string</code> | Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.gcfsConfig">gcfsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGcfsConfig">ContainerClusterNodePoolNodeConfigGcfsConfig</a></code> | gcfs_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.guestAccelerator">guestAccelerator</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator">ContainerClusterNodePoolNodeConfigGuestAccelerator</a>[]</code> | List of the type and count of accelerator cards attached to the instance. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.gvnic">gvnic</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGvnic">ContainerClusterNodePoolNodeConfigGvnic</a></code> | gvnic block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.imageType">imageType</a></code> | <code>string</code> | The image type to use for this node. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The map of Kubernetes labels (key/value pairs) to be applied to each node. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.localSsdCount">localSsdCount</a></code> | <code>number</code> | The number of local SSD disks to be attached to the node. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.machineType">machineType</a></code> | <code>string</code> | The name of a Google Compute Engine machine type. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | The metadata key/value pairs assigned to instances in the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | Minimum CPU platform to be used by this instance. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.nodeGroup">nodeGroup</a></code> | <code>string</code> | Setting this field will assign instances of this pool to run on the specified node group. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.oauthScopes">oauthScopes</a></code> | <code>string[]</code> | The set of Google API scopes to be made available on all of the node VMs. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.preemptible">preemptible</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes are created as preemptible VM instances. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity">ContainerClusterNodePoolNodeConfigReservationAffinity</a></code> | reservation_affinity block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | The Google Cloud Platform Service Account to be used by the node VMs. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigShieldedInstanceConfig">ContainerClusterNodePoolNodeConfigShieldedInstanceConfig</a></code> | shielded_instance_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.spot">spot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes are created as spot VM instances. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.tags">tags</a></code> | <code>string[]</code> | The list of instance tags applied to all nodes. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.taint">taint</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint">ContainerClusterNodePoolNodeConfigTaint</a>[]</code> | List of Kubernetes taints to be applied to each node. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.workloadMetadataConfig">workloadMetadataConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig">ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig</a></code> | workload_metadata_config block. |

---

##### `bootDiskKmsKey`<sup>Optional</sup> <a name="bootDiskKmsKey" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.bootDiskKmsKey"></a>

```typescript
public readonly bootDiskKmsKey: string;
```

- *Type:* string

The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#boot_disk_kms_key ContainerCluster#boot_disk_kms_key}

---

##### `diskSizeGb`<sup>Optional</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disk_size_gb ContainerCluster#disk_size_gb}

---

##### `diskType`<sup>Optional</sup> <a name="diskType" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.diskType"></a>

```typescript
public readonly diskType: string;
```

- *Type:* string

Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#disk_type ContainerCluster#disk_type}

---

##### `gcfsConfig`<sup>Optional</sup> <a name="gcfsConfig" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.gcfsConfig"></a>

```typescript
public readonly gcfsConfig: ContainerClusterNodePoolNodeConfigGcfsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGcfsConfig">ContainerClusterNodePoolNodeConfigGcfsConfig</a>

gcfs_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gcfs_config ContainerCluster#gcfs_config}

---

##### `guestAccelerator`<sup>Optional</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: IResolvable | ContainerClusterNodePoolNodeConfigGuestAccelerator[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator">ContainerClusterNodePoolNodeConfigGuestAccelerator</a>[]

List of the type and count of accelerator cards attached to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#guest_accelerator ContainerCluster#guest_accelerator}

---

##### `gvnic`<sup>Optional</sup> <a name="gvnic" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.gvnic"></a>

```typescript
public readonly gvnic: ContainerClusterNodePoolNodeConfigGvnic;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGvnic">ContainerClusterNodePoolNodeConfigGvnic</a>

gvnic block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gvnic ContainerCluster#gvnic}

---

##### `imageType`<sup>Optional</sup> <a name="imageType" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.imageType"></a>

```typescript
public readonly imageType: string;
```

- *Type:* string

The image type to use for this node.

Note that for a given image type, the latest version of it will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#image_type ContainerCluster#image_type}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The map of Kubernetes labels (key/value pairs) to be applied to each node.

These will added in addition to any default label(s) that Kubernetes may apply to the node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#labels ContainerCluster#labels}

---

##### `localSsdCount`<sup>Optional</sup> <a name="localSsdCount" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.localSsdCount"></a>

```typescript
public readonly localSsdCount: number;
```

- *Type:* number

The number of local SSD disks to be attached to the node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#local_ssd_count ContainerCluster#local_ssd_count}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The name of a Google Compute Engine machine type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#machine_type ContainerCluster#machine_type}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The metadata key/value pairs assigned to instances in the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#metadata ContainerCluster#metadata}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

Minimum CPU platform to be used by this instance.

The instance may be scheduled on the specified or newer CPU platform.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#min_cpu_platform ContainerCluster#min_cpu_platform}

---

##### `nodeGroup`<sup>Optional</sup> <a name="nodeGroup" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.nodeGroup"></a>

```typescript
public readonly nodeGroup: string;
```

- *Type:* string

Setting this field will assign instances of this pool to run on the specified node group.

This is useful for running workloads on sole tenant nodes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#node_group ContainerCluster#node_group}

---

##### `oauthScopes`<sup>Optional</sup> <a name="oauthScopes" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.oauthScopes"></a>

```typescript
public readonly oauthScopes: string[];
```

- *Type:* string[]

The set of Google API scopes to be made available on all of the node VMs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#oauth_scopes ContainerCluster#oauth_scopes}

---

##### `preemptible`<sup>Optional</sup> <a name="preemptible" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.preemptible"></a>

```typescript
public readonly preemptible: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes are created as preemptible VM instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#preemptible ContainerCluster#preemptible}

---

##### `reservationAffinity`<sup>Optional</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: ContainerClusterNodePoolNodeConfigReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity">ContainerClusterNodePoolNodeConfigReservationAffinity</a>

reservation_affinity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#reservation_affinity ContainerCluster#reservation_affinity}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

The Google Cloud Platform Service Account to be used by the node VMs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#service_account ContainerCluster#service_account}

---

##### `shieldedInstanceConfig`<sup>Optional</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: ContainerClusterNodePoolNodeConfigShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigShieldedInstanceConfig">ContainerClusterNodePoolNodeConfigShieldedInstanceConfig</a>

shielded_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#shielded_instance_config ContainerCluster#shielded_instance_config}

---

##### `spot`<sup>Optional</sup> <a name="spot" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.spot"></a>

```typescript
public readonly spot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes are created as spot VM instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#spot ContainerCluster#spot}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The list of instance tags applied to all nodes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#tags ContainerCluster#tags}

---

##### `taint`<sup>Optional</sup> <a name="taint" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.taint"></a>

```typescript
public readonly taint: IResolvable | ContainerClusterNodePoolNodeConfigTaint[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint">ContainerClusterNodePoolNodeConfigTaint</a>[]

List of Kubernetes taints to be applied to each node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#taint ContainerCluster#taint}

---

##### `workloadMetadataConfig`<sup>Optional</sup> <a name="workloadMetadataConfig" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfig.property.workloadMetadataConfig"></a>

```typescript
public readonly workloadMetadataConfig: ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig">ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig</a>

workload_metadata_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#workload_metadata_config ContainerCluster#workload_metadata_config}

---

### ContainerClusterNodePoolNodeConfigGcfsConfig <a name="ContainerClusterNodePoolNodeConfigGcfsConfig" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGcfsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGcfsConfig.Initializer"></a>

```typescript
import { ContainerClusterNodePoolNodeConfigGcfsConfig } from '@dschmidt/provider-google'

const containerClusterNodePoolNodeConfigGcfsConfig: ContainerClusterNodePoolNodeConfigGcfsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGcfsConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not GCFS is enabled. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGcfsConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not GCFS is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

### ContainerClusterNodePoolNodeConfigGuestAccelerator <a name="ContainerClusterNodePoolNodeConfigGuestAccelerator" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator.Initializer"></a>

```typescript
import { ContainerClusterNodePoolNodeConfigGuestAccelerator } from '@dschmidt/provider-google'

const containerClusterNodePoolNodeConfigGuestAccelerator: ContainerClusterNodePoolNodeConfigGuestAccelerator = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator.property.count">count</a></code> | <code>number</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#count ContainerCluster#count}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator.property.gpuPartitionSize">gpuPartitionSize</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gpu_partition_size ContainerCluster#gpu_partition_size}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator.property.type">type</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#type ContainerCluster#type}. |

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#count ContainerCluster#count}.

---

##### `gpuPartitionSize`<sup>Optional</sup> <a name="gpuPartitionSize" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator.property.gpuPartitionSize"></a>

```typescript
public readonly gpuPartitionSize: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#gpu_partition_size ContainerCluster#gpu_partition_size}.

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGuestAccelerator.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#type ContainerCluster#type}.

---

### ContainerClusterNodePoolNodeConfigGvnic <a name="ContainerClusterNodePoolNodeConfigGvnic" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGvnic"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGvnic.Initializer"></a>

```typescript
import { ContainerClusterNodePoolNodeConfigGvnic } from '@dschmidt/provider-google'

const containerClusterNodePoolNodeConfigGvnic: ContainerClusterNodePoolNodeConfigGvnic = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGvnic.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not gvnic is enabled. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigGvnic.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not gvnic is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

### ContainerClusterNodePoolNodeConfigReservationAffinity <a name="ContainerClusterNodePoolNodeConfigReservationAffinity" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity.Initializer"></a>

```typescript
import { ContainerClusterNodePoolNodeConfigReservationAffinity } from '@dschmidt/provider-google'

const containerClusterNodePoolNodeConfigReservationAffinity: ContainerClusterNodePoolNodeConfigReservationAffinity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity.property.consumeReservationType">consumeReservationType</a></code> | <code>string</code> | Corresponds to the type of reservation consumption. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity.property.key">key</a></code> | <code>string</code> | The label key of a reservation resource. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity.property.values">values</a></code> | <code>string[]</code> | The label values of the reservation resource. |

---

##### `consumeReservationType`<sup>Required</sup> <a name="consumeReservationType" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity.property.consumeReservationType"></a>

```typescript
public readonly consumeReservationType: string;
```

- *Type:* string

Corresponds to the type of reservation consumption.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#consume_reservation_type ContainerCluster#consume_reservation_type}

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

The label key of a reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#key ContainerCluster#key}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigReservationAffinity.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

The label values of the reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#values ContainerCluster#values}

---

### ContainerClusterNodePoolNodeConfigShieldedInstanceConfig <a name="ContainerClusterNodePoolNodeConfigShieldedInstanceConfig" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigShieldedInstanceConfig.Initializer"></a>

```typescript
import { ContainerClusterNodePoolNodeConfigShieldedInstanceConfig } from '@dschmidt/provider-google'

const containerClusterNodePoolNodeConfigShieldedInstanceConfig: ContainerClusterNodePoolNodeConfigShieldedInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigShieldedInstanceConfig.property.enableIntegrityMonitoring">enableIntegrityMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has integrity monitoring enabled. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigShieldedInstanceConfig.property.enableSecureBoot">enableSecureBoot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has Secure Boot enabled. |

---

##### `enableIntegrityMonitoring`<sup>Optional</sup> <a name="enableIntegrityMonitoring" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigShieldedInstanceConfig.property.enableIntegrityMonitoring"></a>

```typescript
public readonly enableIntegrityMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has integrity monitoring enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_integrity_monitoring ContainerCluster#enable_integrity_monitoring}

---

##### `enableSecureBoot`<sup>Optional</sup> <a name="enableSecureBoot" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigShieldedInstanceConfig.property.enableSecureBoot"></a>

```typescript
public readonly enableSecureBoot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has Secure Boot enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_secure_boot ContainerCluster#enable_secure_boot}

---

### ContainerClusterNodePoolNodeConfigTaint <a name="ContainerClusterNodePoolNodeConfigTaint" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint.Initializer"></a>

```typescript
import { ContainerClusterNodePoolNodeConfigTaint } from '@dschmidt/provider-google'

const containerClusterNodePoolNodeConfigTaint: ContainerClusterNodePoolNodeConfigTaint = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint.property.effect">effect</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#effect ContainerCluster#effect}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint.property.key">key</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#key ContainerCluster#key}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint.property.value">value</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#value ContainerCluster#value}. |

---

##### `effect`<sup>Optional</sup> <a name="effect" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint.property.effect"></a>

```typescript
public readonly effect: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#effect ContainerCluster#effect}.

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#key ContainerCluster#key}.

---

##### `value`<sup>Optional</sup> <a name="value" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigTaint.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#value ContainerCluster#value}.

---

### ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig <a name="ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig.Initializer"></a>

```typescript
import { ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig } from '@dschmidt/provider-google'

const containerClusterNodePoolNodeConfigWorkloadMetadataConfig: ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig.property.mode">mode</a></code> | <code>string</code> | Mode is the configuration for how to expose metadata to workloads running on the node. |

---

##### `mode`<sup>Required</sup> <a name="mode" id="@dschmidt/provider-google.ContainerClusterNodePoolNodeConfigWorkloadMetadataConfig.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Mode is the configuration for how to expose metadata to workloads running on the node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#mode ContainerCluster#mode}

---

### ContainerClusterNodePoolUpgradeSettings <a name="ContainerClusterNodePoolUpgradeSettings" id="@dschmidt/provider-google.ContainerClusterNodePoolUpgradeSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNodePoolUpgradeSettings.Initializer"></a>

```typescript
import { ContainerClusterNodePoolUpgradeSettings } from '@dschmidt/provider-google'

const containerClusterNodePoolUpgradeSettings: ContainerClusterNodePoolUpgradeSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolUpgradeSettings.property.maxSurge">maxSurge</a></code> | <code>number</code> | The number of additional nodes that can be added to the node pool during an upgrade. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNodePoolUpgradeSettings.property.maxUnavailable">maxUnavailable</a></code> | <code>number</code> | The number of nodes that can be simultaneously unavailable during an upgrade. |

---

##### `maxSurge`<sup>Required</sup> <a name="maxSurge" id="@dschmidt/provider-google.ContainerClusterNodePoolUpgradeSettings.property.maxSurge"></a>

```typescript
public readonly maxSurge: number;
```

- *Type:* number

The number of additional nodes that can be added to the node pool during an upgrade.

Increasing max_surge raises the number of nodes that can be upgraded simultaneously. Can be set to 0 or greater.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#max_surge ContainerCluster#max_surge}

---

##### `maxUnavailable`<sup>Required</sup> <a name="maxUnavailable" id="@dschmidt/provider-google.ContainerClusterNodePoolUpgradeSettings.property.maxUnavailable"></a>

```typescript
public readonly maxUnavailable: number;
```

- *Type:* number

The number of nodes that can be simultaneously unavailable during an upgrade.

Increasing max_unavailable raises the number of nodes that can be upgraded in parallel. Can be set to 0 or greater.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#max_unavailable ContainerCluster#max_unavailable}

---

### ContainerClusterNotificationConfig <a name="ContainerClusterNotificationConfig" id="@dschmidt/provider-google.ContainerClusterNotificationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNotificationConfig.Initializer"></a>

```typescript
import { ContainerClusterNotificationConfig } from '@dschmidt/provider-google'

const containerClusterNotificationConfig: ContainerClusterNotificationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNotificationConfig.property.pubsub">pubsub</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterNotificationConfigPubsub">ContainerClusterNotificationConfigPubsub</a></code> | pubsub block. |

---

##### `pubsub`<sup>Required</sup> <a name="pubsub" id="@dschmidt/provider-google.ContainerClusterNotificationConfig.property.pubsub"></a>

```typescript
public readonly pubsub: ContainerClusterNotificationConfigPubsub;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterNotificationConfigPubsub">ContainerClusterNotificationConfigPubsub</a>

pubsub block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#pubsub ContainerCluster#pubsub}

---

### ContainerClusterNotificationConfigPubsub <a name="ContainerClusterNotificationConfigPubsub" id="@dschmidt/provider-google.ContainerClusterNotificationConfigPubsub"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterNotificationConfigPubsub.Initializer"></a>

```typescript
import { ContainerClusterNotificationConfigPubsub } from '@dschmidt/provider-google'

const containerClusterNotificationConfigPubsub: ContainerClusterNotificationConfigPubsub = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNotificationConfigPubsub.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not the notification config is enabled. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterNotificationConfigPubsub.property.topic">topic</a></code> | <code>string</code> | The pubsub topic to push upgrade notifications to. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterNotificationConfigPubsub.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not the notification config is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

##### `topic`<sup>Optional</sup> <a name="topic" id="@dschmidt/provider-google.ContainerClusterNotificationConfigPubsub.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

The pubsub topic to push upgrade notifications to.

Must be in the same project as the cluster. Must be in the format: projects/{project}/topics/{topic}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#topic ContainerCluster#topic}

---

### ContainerClusterPrivateClusterConfig <a name="ContainerClusterPrivateClusterConfig" id="@dschmidt/provider-google.ContainerClusterPrivateClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterPrivateClusterConfig.Initializer"></a>

```typescript
import { ContainerClusterPrivateClusterConfig } from '@dschmidt/provider-google'

const containerClusterPrivateClusterConfig: ContainerClusterPrivateClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfig.property.enablePrivateEndpoint">enablePrivateEndpoint</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the cluster's private endpoint is used as the cluster endpoint and access through the public endpoint is disabled. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfig.property.enablePrivateNodes">enablePrivateNodes</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enables the private cluster feature, creating a private endpoint on the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfig.property.masterGlobalAccessConfig">masterGlobalAccessConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig">ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig</a></code> | master_global_access_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfig.property.masterIpv4CidrBlock">masterIpv4CidrBlock</a></code> | <code>string</code> | The IP range in CIDR notation to use for the hosted master network. |

---

##### `enablePrivateEndpoint`<sup>Required</sup> <a name="enablePrivateEndpoint" id="@dschmidt/provider-google.ContainerClusterPrivateClusterConfig.property.enablePrivateEndpoint"></a>

```typescript
public readonly enablePrivateEndpoint: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the cluster's private endpoint is used as the cluster endpoint and access through the public endpoint is disabled.

When false, either endpoint can be used. This field only applies to private clusters, when enable_private_nodes is true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_private_endpoint ContainerCluster#enable_private_endpoint}

---

##### `enablePrivateNodes`<sup>Optional</sup> <a name="enablePrivateNodes" id="@dschmidt/provider-google.ContainerClusterPrivateClusterConfig.property.enablePrivateNodes"></a>

```typescript
public readonly enablePrivateNodes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enables the private cluster feature, creating a private endpoint on the cluster.

In a private cluster, nodes only have RFC 1918 private addresses and communicate with the master's private endpoint via private networking.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_private_nodes ContainerCluster#enable_private_nodes}

---

##### `masterGlobalAccessConfig`<sup>Optional</sup> <a name="masterGlobalAccessConfig" id="@dschmidt/provider-google.ContainerClusterPrivateClusterConfig.property.masterGlobalAccessConfig"></a>

```typescript
public readonly masterGlobalAccessConfig: ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig">ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig</a>

master_global_access_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#master_global_access_config ContainerCluster#master_global_access_config}

---

##### `masterIpv4CidrBlock`<sup>Optional</sup> <a name="masterIpv4CidrBlock" id="@dschmidt/provider-google.ContainerClusterPrivateClusterConfig.property.masterIpv4CidrBlock"></a>

```typescript
public readonly masterIpv4CidrBlock: string;
```

- *Type:* string

The IP range in CIDR notation to use for the hosted master network.

This range will be used for assigning private IP addresses to the cluster master(s) and the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network, and it must be a /28 subnet. See Private Cluster Limitations for more details. This field only applies to private clusters, when enable_private_nodes is true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#master_ipv4_cidr_block ContainerCluster#master_ipv4_cidr_block}

---

### ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig <a name="ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig" id="@dschmidt/provider-google.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig.Initializer"></a>

```typescript
import { ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig } from '@dschmidt/provider-google'

const containerClusterPrivateClusterConfigMasterGlobalAccessConfig: ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the cluster master is accessible globally or not. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the cluster master is accessible globally or not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

### ContainerClusterReleaseChannel <a name="ContainerClusterReleaseChannel" id="@dschmidt/provider-google.ContainerClusterReleaseChannel"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterReleaseChannel.Initializer"></a>

```typescript
import { ContainerClusterReleaseChannel } from '@dschmidt/provider-google'

const containerClusterReleaseChannel: ContainerClusterReleaseChannel = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterReleaseChannel.property.channel">channel</a></code> | <code>string</code> | The selected release channel. |

---

##### `channel`<sup>Required</sup> <a name="channel" id="@dschmidt/provider-google.ContainerClusterReleaseChannel.property.channel"></a>

```typescript
public readonly channel: string;
```

- *Type:* string

The selected release channel.

Accepted values are:
UNSPECIFIED: Not set.
RAPID: Weekly upgrade cadence; Early testers and developers who requires new features.
REGULAR: Multiple per month upgrade cadence; Production users who need features not yet offered in the Stable channel.
STABLE: Every few months upgrade cadence; Production users who need stability above all else, and for whom frequent upgrades are too risky.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#channel ContainerCluster#channel}

---

### ContainerClusterResourceUsageExportConfig <a name="ContainerClusterResourceUsageExportConfig" id="@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig.Initializer"></a>

```typescript
import { ContainerClusterResourceUsageExportConfig } from '@dschmidt/provider-google'

const containerClusterResourceUsageExportConfig: ContainerClusterResourceUsageExportConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig.property.bigqueryDestination">bigqueryDestination</a></code> | <code><a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfigBigqueryDestination">ContainerClusterResourceUsageExportConfigBigqueryDestination</a></code> | bigquery_destination block. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig.property.enableNetworkEgressMetering">enableNetworkEgressMetering</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable network egress metering for this cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig.property.enableResourceConsumptionMetering">enableResourceConsumptionMetering</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable resource consumption metering on this cluster. |

---

##### `bigqueryDestination`<sup>Required</sup> <a name="bigqueryDestination" id="@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig.property.bigqueryDestination"></a>

```typescript
public readonly bigqueryDestination: ContainerClusterResourceUsageExportConfigBigqueryDestination;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfigBigqueryDestination">ContainerClusterResourceUsageExportConfigBigqueryDestination</a>

bigquery_destination block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#bigquery_destination ContainerCluster#bigquery_destination}

---

##### `enableNetworkEgressMetering`<sup>Optional</sup> <a name="enableNetworkEgressMetering" id="@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig.property.enableNetworkEgressMetering"></a>

```typescript
public readonly enableNetworkEgressMetering: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable network egress metering for this cluster.

If enabled, a daemonset will be created in the cluster to meter network egress traffic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_network_egress_metering ContainerCluster#enable_network_egress_metering}

---

##### `enableResourceConsumptionMetering`<sup>Optional</sup> <a name="enableResourceConsumptionMetering" id="@dschmidt/provider-google.ContainerClusterResourceUsageExportConfig.property.enableResourceConsumptionMetering"></a>

```typescript
public readonly enableResourceConsumptionMetering: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable resource consumption metering on this cluster.

When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. Defaults to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enable_resource_consumption_metering ContainerCluster#enable_resource_consumption_metering}

---

### ContainerClusterResourceUsageExportConfigBigqueryDestination <a name="ContainerClusterResourceUsageExportConfigBigqueryDestination" id="@dschmidt/provider-google.ContainerClusterResourceUsageExportConfigBigqueryDestination"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterResourceUsageExportConfigBigqueryDestination.Initializer"></a>

```typescript
import { ContainerClusterResourceUsageExportConfigBigqueryDestination } from '@dschmidt/provider-google'

const containerClusterResourceUsageExportConfigBigqueryDestination: ContainerClusterResourceUsageExportConfigBigqueryDestination = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterResourceUsageExportConfigBigqueryDestination.property.datasetId">datasetId</a></code> | <code>string</code> | The ID of a BigQuery Dataset. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.ContainerClusterResourceUsageExportConfigBigqueryDestination.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The ID of a BigQuery Dataset.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#dataset_id ContainerCluster#dataset_id}

---

### ContainerClusterServiceExternalIpsConfig <a name="ContainerClusterServiceExternalIpsConfig" id="@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfig.Initializer"></a>

```typescript
import { ContainerClusterServiceExternalIpsConfig } from '@dschmidt/provider-google'

const containerClusterServiceExternalIpsConfig: ContainerClusterServiceExternalIpsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | When enabled, services with exterenal ips specified will be allowed. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterServiceExternalIpsConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When enabled, services with exterenal ips specified will be allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

### ContainerClusterTimeouts <a name="ContainerClusterTimeouts" id="@dschmidt/provider-google.ContainerClusterTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterTimeouts.Initializer"></a>

```typescript
import { ContainerClusterTimeouts } from '@dschmidt/provider-google'

const containerClusterTimeouts: ContainerClusterTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#create ContainerCluster#create}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#delete ContainerCluster#delete}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#read ContainerCluster#read}. |
| <code><a href="#@dschmidt/provider-google.ContainerClusterTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#update ContainerCluster#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ContainerClusterTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#create ContainerCluster#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ContainerClusterTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#delete ContainerCluster#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.ContainerClusterTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#read ContainerCluster#read}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ContainerClusterTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#update ContainerCluster#update}.

---

### ContainerClusterVerticalPodAutoscaling <a name="ContainerClusterVerticalPodAutoscaling" id="@dschmidt/provider-google.ContainerClusterVerticalPodAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterVerticalPodAutoscaling.Initializer"></a>

```typescript
import { ContainerClusterVerticalPodAutoscaling } from '@dschmidt/provider-google'

const containerClusterVerticalPodAutoscaling: ContainerClusterVerticalPodAutoscaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterVerticalPodAutoscaling.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enables vertical pod autoscaling. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerClusterVerticalPodAutoscaling.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enables vertical pod autoscaling.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#enabled ContainerCluster#enabled}

---

### ContainerClusterWorkloadIdentityConfig <a name="ContainerClusterWorkloadIdentityConfig" id="@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfig.Initializer"></a>

```typescript
import { ContainerClusterWorkloadIdentityConfig } from '@dschmidt/provider-google'

const containerClusterWorkloadIdentityConfig: ContainerClusterWorkloadIdentityConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfig.property.workloadPool">workloadPool</a></code> | <code>string</code> | The workload pool to attach all Kubernetes service accounts to. |

---

##### `workloadPool`<sup>Optional</sup> <a name="workloadPool" id="@dschmidt/provider-google.ContainerClusterWorkloadIdentityConfig.property.workloadPool"></a>

```typescript
public readonly workloadPool: string;
```

- *Type:* string

The workload pool to attach all Kubernetes service accounts to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_cluster#workload_pool ContainerCluster#workload_pool}

---

### ContainerNodePoolAutoscaling <a name="ContainerNodePoolAutoscaling" id="@dschmidt/provider-google.ContainerNodePoolAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolAutoscaling.Initializer"></a>

```typescript
import { ContainerNodePoolAutoscaling } from '@dschmidt/provider-google'

const containerNodePoolAutoscaling: ContainerNodePoolAutoscaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolAutoscaling.property.maxNodeCount">maxNodeCount</a></code> | <code>number</code> | Maximum number of nodes in the NodePool. Must be >= min_node_count. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolAutoscaling.property.minNodeCount">minNodeCount</a></code> | <code>number</code> | Minimum number of nodes in the NodePool. Must be >=0 and <= max_node_count. |

---

##### `maxNodeCount`<sup>Required</sup> <a name="maxNodeCount" id="@dschmidt/provider-google.ContainerNodePoolAutoscaling.property.maxNodeCount"></a>

```typescript
public readonly maxNodeCount: number;
```

- *Type:* number

Maximum number of nodes in the NodePool. Must be >= min_node_count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#max_node_count ContainerNodePool#max_node_count}

---

##### `minNodeCount`<sup>Required</sup> <a name="minNodeCount" id="@dschmidt/provider-google.ContainerNodePoolAutoscaling.property.minNodeCount"></a>

```typescript
public readonly minNodeCount: number;
```

- *Type:* number

Minimum number of nodes in the NodePool. Must be >=0 and <= max_node_count.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#min_node_count ContainerNodePool#min_node_count}

---

### ContainerNodePoolConfig <a name="ContainerNodePoolConfig" id="@dschmidt/provider-google.ContainerNodePoolConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolConfig.Initializer"></a>

```typescript
import { ContainerNodePoolConfig } from '@dschmidt/provider-google'

const containerNodePoolConfig: ContainerNodePoolConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.cluster">cluster</a></code> | <code>string</code> | The cluster to create the node pool for. Cluster must be present in location provided for zonal clusters. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.autoscaling">autoscaling</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolAutoscaling">ContainerNodePoolAutoscaling</a></code> | autoscaling block. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#id ContainerNodePool#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.initialNodeCount">initialNodeCount</a></code> | <code>number</code> | The initial number of nodes for the pool. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.location">location</a></code> | <code>string</code> | The location (region or zone) of the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.management">management</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolManagement">ContainerNodePoolManagement</a></code> | management block. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.maxPodsPerNode">maxPodsPerNode</a></code> | <code>number</code> | The maximum number of pods per node in this node pool. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.name">name</a></code> | <code>string</code> | The name of the node pool. If left blank, Terraform will auto-generate a unique name. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.namePrefix">namePrefix</a></code> | <code>string</code> | Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig">ContainerNodePoolNodeConfig</a></code> | node_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.nodeCount">nodeCount</a></code> | <code>number</code> | The number of nodes per instance group. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.nodeLocations">nodeLocations</a></code> | <code>string[]</code> | The list of zones in which the node pool's nodes should be located. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which to create the node pool. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolTimeouts">ContainerNodePoolTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.upgradeSettings">upgradeSettings</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolUpgradeSettings">ContainerNodePoolUpgradeSettings</a></code> | upgrade_settings block. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolConfig.property.version">version</a></code> | <code>string</code> | The Kubernetes version for the nodes in this pool. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

The cluster to create the node pool for. Cluster must be present in location provided for zonal clusters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#cluster ContainerNodePool#cluster}

---

##### `autoscaling`<sup>Optional</sup> <a name="autoscaling" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.autoscaling"></a>

```typescript
public readonly autoscaling: ContainerNodePoolAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolAutoscaling">ContainerNodePoolAutoscaling</a>

autoscaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#autoscaling ContainerNodePool#autoscaling}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#id ContainerNodePool#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `initialNodeCount`<sup>Optional</sup> <a name="initialNodeCount" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.initialNodeCount"></a>

```typescript
public readonly initialNodeCount: number;
```

- *Type:* number

The initial number of nodes for the pool.

In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#initial_node_count ContainerNodePool#initial_node_count}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location (region or zone) of the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#location ContainerNodePool#location}

---

##### `management`<sup>Optional</sup> <a name="management" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.management"></a>

```typescript
public readonly management: ContainerNodePoolManagement;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolManagement">ContainerNodePoolManagement</a>

management block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#management ContainerNodePool#management}

---

##### `maxPodsPerNode`<sup>Optional</sup> <a name="maxPodsPerNode" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.maxPodsPerNode"></a>

```typescript
public readonly maxPodsPerNode: number;
```

- *Type:* number

The maximum number of pods per node in this node pool.

Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#max_pods_per_node ContainerNodePool#max_pods_per_node}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the node pool. If left blank, Terraform will auto-generate a unique name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#name ContainerNodePool#name}

---

##### `namePrefix`<sup>Optional</sup> <a name="namePrefix" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#name_prefix ContainerNodePool#name_prefix}

---

##### `nodeConfig`<sup>Optional</sup> <a name="nodeConfig" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: ContainerNodePoolNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig">ContainerNodePoolNodeConfig</a>

node_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#node_config ContainerNodePool#node_config}

---

##### `nodeCount`<sup>Optional</sup> <a name="nodeCount" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.nodeCount"></a>

```typescript
public readonly nodeCount: number;
```

- *Type:* number

The number of nodes per instance group.

This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#node_count ContainerNodePool#node_count}

---

##### `nodeLocations`<sup>Optional</sup> <a name="nodeLocations" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.nodeLocations"></a>

```typescript
public readonly nodeLocations: string[];
```

- *Type:* string[]

The list of zones in which the node pool's nodes should be located.

Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If unspecified, the cluster-level node_locations will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#node_locations ContainerNodePool#node_locations}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which to create the node pool.

If blank, the provider-configured project will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#project ContainerNodePool#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ContainerNodePoolTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolTimeouts">ContainerNodePoolTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#timeouts ContainerNodePool#timeouts}

---

##### `upgradeSettings`<sup>Optional</sup> <a name="upgradeSettings" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.upgradeSettings"></a>

```typescript
public readonly upgradeSettings: ContainerNodePoolUpgradeSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolUpgradeSettings">ContainerNodePoolUpgradeSettings</a>

upgrade_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#upgrade_settings ContainerNodePool#upgrade_settings}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.ContainerNodePoolConfig.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The Kubernetes version for the nodes in this pool.

Note that if this field and auto_upgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it's recommended that you specify explicit versions as Terraform will see spurious diffs when fuzzy versions are used. See the google_container_engine_versions data source's version_prefix field to approximate fuzzy versions in a Terraform-compatible way.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#version ContainerNodePool#version}

---

### ContainerNodePoolManagement <a name="ContainerNodePoolManagement" id="@dschmidt/provider-google.ContainerNodePoolManagement"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolManagement.Initializer"></a>

```typescript
import { ContainerNodePoolManagement } from '@dschmidt/provider-google'

const containerNodePoolManagement: ContainerNodePoolManagement = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolManagement.property.autoRepair">autoRepair</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes will be automatically repaired. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolManagement.property.autoUpgrade">autoUpgrade</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes will be automatically upgraded. |

---

##### `autoRepair`<sup>Optional</sup> <a name="autoRepair" id="@dschmidt/provider-google.ContainerNodePoolManagement.property.autoRepair"></a>

```typescript
public readonly autoRepair: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes will be automatically repaired.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#auto_repair ContainerNodePool#auto_repair}

---

##### `autoUpgrade`<sup>Optional</sup> <a name="autoUpgrade" id="@dschmidt/provider-google.ContainerNodePoolManagement.property.autoUpgrade"></a>

```typescript
public readonly autoUpgrade: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes will be automatically upgraded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#auto_upgrade ContainerNodePool#auto_upgrade}

---

### ContainerNodePoolNodeConfig <a name="ContainerNodePoolNodeConfig" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.Initializer"></a>

```typescript
import { ContainerNodePoolNodeConfig } from '@dschmidt/provider-google'

const containerNodePoolNodeConfig: ContainerNodePoolNodeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.bootDiskKmsKey">bootDiskKmsKey</a></code> | <code>string</code> | The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.diskType">diskType</a></code> | <code>string</code> | Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.gcfsConfig">gcfsConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGcfsConfig">ContainerNodePoolNodeConfigGcfsConfig</a></code> | gcfs_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.guestAccelerator">guestAccelerator</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator">ContainerNodePoolNodeConfigGuestAccelerator</a>[]</code> | List of the type and count of accelerator cards attached to the instance. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.gvnic">gvnic</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGvnic">ContainerNodePoolNodeConfigGvnic</a></code> | gvnic block. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.imageType">imageType</a></code> | <code>string</code> | The image type to use for this node. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The map of Kubernetes labels (key/value pairs) to be applied to each node. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.localSsdCount">localSsdCount</a></code> | <code>number</code> | The number of local SSD disks to be attached to the node. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.machineType">machineType</a></code> | <code>string</code> | The name of a Google Compute Engine machine type. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | The metadata key/value pairs assigned to instances in the cluster. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | Minimum CPU platform to be used by this instance. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.nodeGroup">nodeGroup</a></code> | <code>string</code> | Setting this field will assign instances of this pool to run on the specified node group. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.oauthScopes">oauthScopes</a></code> | <code>string[]</code> | The set of Google API scopes to be made available on all of the node VMs. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.preemptible">preemptible</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes are created as preemptible VM instances. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity">ContainerNodePoolNodeConfigReservationAffinity</a></code> | reservation_affinity block. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | The Google Cloud Platform Service Account to be used by the node VMs. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigShieldedInstanceConfig">ContainerNodePoolNodeConfigShieldedInstanceConfig</a></code> | shielded_instance_config block. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.spot">spot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes are created as spot VM instances. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.tags">tags</a></code> | <code>string[]</code> | The list of instance tags applied to all nodes. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.taint">taint</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint">ContainerNodePoolNodeConfigTaint</a>[]</code> | List of Kubernetes taints to be applied to each node. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.workloadMetadataConfig">workloadMetadataConfig</a></code> | <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigWorkloadMetadataConfig">ContainerNodePoolNodeConfigWorkloadMetadataConfig</a></code> | workload_metadata_config block. |

---

##### `bootDiskKmsKey`<sup>Optional</sup> <a name="bootDiskKmsKey" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.bootDiskKmsKey"></a>

```typescript
public readonly bootDiskKmsKey: string;
```

- *Type:* string

The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#boot_disk_kms_key ContainerNodePool#boot_disk_kms_key}

---

##### `diskSizeGb`<sup>Optional</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#disk_size_gb ContainerNodePool#disk_size_gb}

---

##### `diskType`<sup>Optional</sup> <a name="diskType" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.diskType"></a>

```typescript
public readonly diskType: string;
```

- *Type:* string

Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#disk_type ContainerNodePool#disk_type}

---

##### `gcfsConfig`<sup>Optional</sup> <a name="gcfsConfig" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.gcfsConfig"></a>

```typescript
public readonly gcfsConfig: ContainerNodePoolNodeConfigGcfsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGcfsConfig">ContainerNodePoolNodeConfigGcfsConfig</a>

gcfs_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#gcfs_config ContainerNodePool#gcfs_config}

---

##### `guestAccelerator`<sup>Optional</sup> <a name="guestAccelerator" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.guestAccelerator"></a>

```typescript
public readonly guestAccelerator: IResolvable | ContainerNodePoolNodeConfigGuestAccelerator[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator">ContainerNodePoolNodeConfigGuestAccelerator</a>[]

List of the type and count of accelerator cards attached to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#guest_accelerator ContainerNodePool#guest_accelerator}

---

##### `gvnic`<sup>Optional</sup> <a name="gvnic" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.gvnic"></a>

```typescript
public readonly gvnic: ContainerNodePoolNodeConfigGvnic;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGvnic">ContainerNodePoolNodeConfigGvnic</a>

gvnic block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#gvnic ContainerNodePool#gvnic}

---

##### `imageType`<sup>Optional</sup> <a name="imageType" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.imageType"></a>

```typescript
public readonly imageType: string;
```

- *Type:* string

The image type to use for this node.

Note that for a given image type, the latest version of it will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#image_type ContainerNodePool#image_type}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The map of Kubernetes labels (key/value pairs) to be applied to each node.

These will added in addition to any default label(s) that Kubernetes may apply to the node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#labels ContainerNodePool#labels}

---

##### `localSsdCount`<sup>Optional</sup> <a name="localSsdCount" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.localSsdCount"></a>

```typescript
public readonly localSsdCount: number;
```

- *Type:* number

The number of local SSD disks to be attached to the node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#local_ssd_count ContainerNodePool#local_ssd_count}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The name of a Google Compute Engine machine type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#machine_type ContainerNodePool#machine_type}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The metadata key/value pairs assigned to instances in the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#metadata ContainerNodePool#metadata}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

Minimum CPU platform to be used by this instance.

The instance may be scheduled on the specified or newer CPU platform.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#min_cpu_platform ContainerNodePool#min_cpu_platform}

---

##### `nodeGroup`<sup>Optional</sup> <a name="nodeGroup" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.nodeGroup"></a>

```typescript
public readonly nodeGroup: string;
```

- *Type:* string

Setting this field will assign instances of this pool to run on the specified node group.

This is useful for running workloads on sole tenant nodes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#node_group ContainerNodePool#node_group}

---

##### `oauthScopes`<sup>Optional</sup> <a name="oauthScopes" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.oauthScopes"></a>

```typescript
public readonly oauthScopes: string[];
```

- *Type:* string[]

The set of Google API scopes to be made available on all of the node VMs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#oauth_scopes ContainerNodePool#oauth_scopes}

---

##### `preemptible`<sup>Optional</sup> <a name="preemptible" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.preemptible"></a>

```typescript
public readonly preemptible: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes are created as preemptible VM instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#preemptible ContainerNodePool#preemptible}

---

##### `reservationAffinity`<sup>Optional</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: ContainerNodePoolNodeConfigReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity">ContainerNodePoolNodeConfigReservationAffinity</a>

reservation_affinity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#reservation_affinity ContainerNodePool#reservation_affinity}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

The Google Cloud Platform Service Account to be used by the node VMs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#service_account ContainerNodePool#service_account}

---

##### `shieldedInstanceConfig`<sup>Optional</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: ContainerNodePoolNodeConfigShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigShieldedInstanceConfig">ContainerNodePoolNodeConfigShieldedInstanceConfig</a>

shielded_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#shielded_instance_config ContainerNodePool#shielded_instance_config}

---

##### `spot`<sup>Optional</sup> <a name="spot" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.spot"></a>

```typescript
public readonly spot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes are created as spot VM instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#spot ContainerNodePool#spot}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The list of instance tags applied to all nodes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#tags ContainerNodePool#tags}

---

##### `taint`<sup>Optional</sup> <a name="taint" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.taint"></a>

```typescript
public readonly taint: IResolvable | ContainerNodePoolNodeConfigTaint[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint">ContainerNodePoolNodeConfigTaint</a>[]

List of Kubernetes taints to be applied to each node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#taint ContainerNodePool#taint}

---

##### `workloadMetadataConfig`<sup>Optional</sup> <a name="workloadMetadataConfig" id="@dschmidt/provider-google.ContainerNodePoolNodeConfig.property.workloadMetadataConfig"></a>

```typescript
public readonly workloadMetadataConfig: ContainerNodePoolNodeConfigWorkloadMetadataConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigWorkloadMetadataConfig">ContainerNodePoolNodeConfigWorkloadMetadataConfig</a>

workload_metadata_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#workload_metadata_config ContainerNodePool#workload_metadata_config}

---

### ContainerNodePoolNodeConfigGcfsConfig <a name="ContainerNodePoolNodeConfigGcfsConfig" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGcfsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGcfsConfig.Initializer"></a>

```typescript
import { ContainerNodePoolNodeConfigGcfsConfig } from '@dschmidt/provider-google'

const containerNodePoolNodeConfigGcfsConfig: ContainerNodePoolNodeConfigGcfsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGcfsConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not GCFS is enabled. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGcfsConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not GCFS is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#enabled ContainerNodePool#enabled}

---

### ContainerNodePoolNodeConfigGuestAccelerator <a name="ContainerNodePoolNodeConfigGuestAccelerator" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator.Initializer"></a>

```typescript
import { ContainerNodePoolNodeConfigGuestAccelerator } from '@dschmidt/provider-google'

const containerNodePoolNodeConfigGuestAccelerator: ContainerNodePoolNodeConfigGuestAccelerator = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator.property.count">count</a></code> | <code>number</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#count ContainerNodePool#count}. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator.property.gpuPartitionSize">gpuPartitionSize</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#gpu_partition_size ContainerNodePool#gpu_partition_size}. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator.property.type">type</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#type ContainerNodePool#type}. |

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#count ContainerNodePool#count}.

---

##### `gpuPartitionSize`<sup>Optional</sup> <a name="gpuPartitionSize" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator.property.gpuPartitionSize"></a>

```typescript
public readonly gpuPartitionSize: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#gpu_partition_size ContainerNodePool#gpu_partition_size}.

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGuestAccelerator.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#type ContainerNodePool#type}.

---

### ContainerNodePoolNodeConfigGvnic <a name="ContainerNodePoolNodeConfigGvnic" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGvnic"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGvnic.Initializer"></a>

```typescript
import { ContainerNodePoolNodeConfigGvnic } from '@dschmidt/provider-google'

const containerNodePoolNodeConfigGvnic: ContainerNodePoolNodeConfigGvnic = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigGvnic.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not gvnic is enabled. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigGvnic.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not gvnic is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#enabled ContainerNodePool#enabled}

---

### ContainerNodePoolNodeConfigReservationAffinity <a name="ContainerNodePoolNodeConfigReservationAffinity" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity.Initializer"></a>

```typescript
import { ContainerNodePoolNodeConfigReservationAffinity } from '@dschmidt/provider-google'

const containerNodePoolNodeConfigReservationAffinity: ContainerNodePoolNodeConfigReservationAffinity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity.property.consumeReservationType">consumeReservationType</a></code> | <code>string</code> | Corresponds to the type of reservation consumption. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity.property.key">key</a></code> | <code>string</code> | The label key of a reservation resource. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity.property.values">values</a></code> | <code>string[]</code> | The label values of the reservation resource. |

---

##### `consumeReservationType`<sup>Required</sup> <a name="consumeReservationType" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity.property.consumeReservationType"></a>

```typescript
public readonly consumeReservationType: string;
```

- *Type:* string

Corresponds to the type of reservation consumption.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#consume_reservation_type ContainerNodePool#consume_reservation_type}

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

The label key of a reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#key ContainerNodePool#key}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigReservationAffinity.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

The label values of the reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#values ContainerNodePool#values}

---

### ContainerNodePoolNodeConfigShieldedInstanceConfig <a name="ContainerNodePoolNodeConfigShieldedInstanceConfig" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigShieldedInstanceConfig.Initializer"></a>

```typescript
import { ContainerNodePoolNodeConfigShieldedInstanceConfig } from '@dschmidt/provider-google'

const containerNodePoolNodeConfigShieldedInstanceConfig: ContainerNodePoolNodeConfigShieldedInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigShieldedInstanceConfig.property.enableIntegrityMonitoring">enableIntegrityMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has integrity monitoring enabled. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigShieldedInstanceConfig.property.enableSecureBoot">enableSecureBoot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has Secure Boot enabled. |

---

##### `enableIntegrityMonitoring`<sup>Optional</sup> <a name="enableIntegrityMonitoring" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigShieldedInstanceConfig.property.enableIntegrityMonitoring"></a>

```typescript
public readonly enableIntegrityMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has integrity monitoring enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#enable_integrity_monitoring ContainerNodePool#enable_integrity_monitoring}

---

##### `enableSecureBoot`<sup>Optional</sup> <a name="enableSecureBoot" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigShieldedInstanceConfig.property.enableSecureBoot"></a>

```typescript
public readonly enableSecureBoot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has Secure Boot enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#enable_secure_boot ContainerNodePool#enable_secure_boot}

---

### ContainerNodePoolNodeConfigTaint <a name="ContainerNodePoolNodeConfigTaint" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint.Initializer"></a>

```typescript
import { ContainerNodePoolNodeConfigTaint } from '@dschmidt/provider-google'

const containerNodePoolNodeConfigTaint: ContainerNodePoolNodeConfigTaint = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint.property.effect">effect</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#effect ContainerNodePool#effect}. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint.property.key">key</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#key ContainerNodePool#key}. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint.property.value">value</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#value ContainerNodePool#value}. |

---

##### `effect`<sup>Optional</sup> <a name="effect" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint.property.effect"></a>

```typescript
public readonly effect: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#effect ContainerNodePool#effect}.

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#key ContainerNodePool#key}.

---

##### `value`<sup>Optional</sup> <a name="value" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigTaint.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#value ContainerNodePool#value}.

---

### ContainerNodePoolNodeConfigWorkloadMetadataConfig <a name="ContainerNodePoolNodeConfigWorkloadMetadataConfig" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigWorkloadMetadataConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigWorkloadMetadataConfig.Initializer"></a>

```typescript
import { ContainerNodePoolNodeConfigWorkloadMetadataConfig } from '@dschmidt/provider-google'

const containerNodePoolNodeConfigWorkloadMetadataConfig: ContainerNodePoolNodeConfigWorkloadMetadataConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolNodeConfigWorkloadMetadataConfig.property.mode">mode</a></code> | <code>string</code> | Mode is the configuration for how to expose metadata to workloads running on the node. |

---

##### `mode`<sup>Required</sup> <a name="mode" id="@dschmidt/provider-google.ContainerNodePoolNodeConfigWorkloadMetadataConfig.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Mode is the configuration for how to expose metadata to workloads running on the node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#mode ContainerNodePool#mode}

---

### ContainerNodePoolTimeouts <a name="ContainerNodePoolTimeouts" id="@dschmidt/provider-google.ContainerNodePoolTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolTimeouts.Initializer"></a>

```typescript
import { ContainerNodePoolTimeouts } from '@dschmidt/provider-google'

const containerNodePoolTimeouts: ContainerNodePoolTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#create ContainerNodePool#create}. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#delete ContainerNodePool#delete}. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#update ContainerNodePool#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ContainerNodePoolTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#create ContainerNodePool#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ContainerNodePoolTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#delete ContainerNodePool#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ContainerNodePoolTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#update ContainerNodePool#update}.

---

### ContainerNodePoolUpgradeSettings <a name="ContainerNodePoolUpgradeSettings" id="@dschmidt/provider-google.ContainerNodePoolUpgradeSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerNodePoolUpgradeSettings.Initializer"></a>

```typescript
import { ContainerNodePoolUpgradeSettings } from '@dschmidt/provider-google'

const containerNodePoolUpgradeSettings: ContainerNodePoolUpgradeSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolUpgradeSettings.property.maxSurge">maxSurge</a></code> | <code>number</code> | The number of additional nodes that can be added to the node pool during an upgrade. |
| <code><a href="#@dschmidt/provider-google.ContainerNodePoolUpgradeSettings.property.maxUnavailable">maxUnavailable</a></code> | <code>number</code> | The number of nodes that can be simultaneously unavailable during an upgrade. |

---

##### `maxSurge`<sup>Required</sup> <a name="maxSurge" id="@dschmidt/provider-google.ContainerNodePoolUpgradeSettings.property.maxSurge"></a>

```typescript
public readonly maxSurge: number;
```

- *Type:* number

The number of additional nodes that can be added to the node pool during an upgrade.

Increasing max_surge raises the number of nodes that can be upgraded simultaneously. Can be set to 0 or greater.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#max_surge ContainerNodePool#max_surge}

---

##### `maxUnavailable`<sup>Required</sup> <a name="maxUnavailable" id="@dschmidt/provider-google.ContainerNodePoolUpgradeSettings.property.maxUnavailable"></a>

```typescript
public readonly maxUnavailable: number;
```

- *Type:* number

The number of nodes that can be simultaneously unavailable during an upgrade.

Increasing max_unavailable raises the number of nodes that can be upgraded in parallel. Can be set to 0 or greater.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_node_pool#max_unavailable ContainerNodePool#max_unavailable}

---

### ContainerRegistryConfig <a name="ContainerRegistryConfig" id="@dschmidt/provider-google.ContainerRegistryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ContainerRegistryConfig.Initializer"></a>

```typescript
import { ContainerRegistryConfig } from '@dschmidt/provider-google'

const containerRegistryConfig: ContainerRegistryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_registry#id ContainerRegistry#id}. |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.location">location</a></code> | <code>string</code> | The location of the registry. |
| <code><a href="#@dschmidt/provider-google.ContainerRegistryConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ContainerRegistryConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ContainerRegistryConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ContainerRegistryConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ContainerRegistryConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ContainerRegistryConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ContainerRegistryConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ContainerRegistryConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ContainerRegistryConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_registry#id ContainerRegistry#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.ContainerRegistryConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the registry.

One of ASIA, EU, US or not specified. See the official documentation for more information on registry locations.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_registry#location ContainerRegistry#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ContainerRegistryConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/container_registry#project ContainerRegistry#project}

---

### DataCatalogEntryBigqueryDateShardedSpec <a name="DataCatalogEntryBigqueryDateShardedSpec" id="@dschmidt/provider-google.DataCatalogEntryBigqueryDateShardedSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryBigqueryDateShardedSpec.Initializer"></a>

```typescript
import { DataCatalogEntryBigqueryDateShardedSpec } from '@dschmidt/provider-google'

const dataCatalogEntryBigqueryDateShardedSpec: DataCatalogEntryBigqueryDateShardedSpec = { ... }
```


### DataCatalogEntryBigqueryTableSpec <a name="DataCatalogEntryBigqueryTableSpec" id="@dschmidt/provider-google.DataCatalogEntryBigqueryTableSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryBigqueryTableSpec.Initializer"></a>

```typescript
import { DataCatalogEntryBigqueryTableSpec } from '@dschmidt/provider-google'

const dataCatalogEntryBigqueryTableSpec: DataCatalogEntryBigqueryTableSpec = { ... }
```


### DataCatalogEntryBigqueryTableSpecTableSpec <a name="DataCatalogEntryBigqueryTableSpecTableSpec" id="@dschmidt/provider-google.DataCatalogEntryBigqueryTableSpecTableSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryBigqueryTableSpecTableSpec.Initializer"></a>

```typescript
import { DataCatalogEntryBigqueryTableSpecTableSpec } from '@dschmidt/provider-google'

const dataCatalogEntryBigqueryTableSpecTableSpec: DataCatalogEntryBigqueryTableSpecTableSpec = { ... }
```


### DataCatalogEntryBigqueryTableSpecViewSpec <a name="DataCatalogEntryBigqueryTableSpecViewSpec" id="@dschmidt/provider-google.DataCatalogEntryBigqueryTableSpecViewSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryBigqueryTableSpecViewSpec.Initializer"></a>

```typescript
import { DataCatalogEntryBigqueryTableSpecViewSpec } from '@dschmidt/provider-google'

const dataCatalogEntryBigqueryTableSpecViewSpec: DataCatalogEntryBigqueryTableSpecViewSpec = { ... }
```


### DataCatalogEntryConfig <a name="DataCatalogEntryConfig" id="@dschmidt/provider-google.DataCatalogEntryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryConfig.Initializer"></a>

```typescript
import { DataCatalogEntryConfig } from '@dschmidt/provider-google'

const dataCatalogEntryConfig: DataCatalogEntryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.entryGroup">entryGroup</a></code> | <code>string</code> | The name of the entry group this entry is in. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.entryId">entryId</a></code> | <code>string</code> | The id of the entry to create. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.description">description</a></code> | <code>string</code> | Entry description, which can consist of several sentences or paragraphs that describe entry contents. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.displayName">displayName</a></code> | <code>string</code> | Display information such as title and description. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.gcsFilesetSpec">gcsFilesetSpec</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpec">DataCatalogEntryGcsFilesetSpec</a></code> | gcs_fileset_spec block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#id DataCatalogEntry#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.linkedResource">linkedResource</a></code> | <code>string</code> | The resource this metadata entry refers to. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.schema">schema</a></code> | <code>string</code> | Schema of the entry (e.g. BigQuery, GoogleSQL, Avro schema), as a json string. An entry might not have any schema attached to it. See https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries#schema for what fields this schema can contain. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryTimeouts">DataCatalogEntryTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.type">type</a></code> | <code>string</code> | The type of the entry. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.userSpecifiedSystem">userSpecifiedSystem</a></code> | <code>string</code> | This field indicates the entry's source system that Data Catalog does not integrate with. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryConfig.property.userSpecifiedType">userSpecifiedType</a></code> | <code>string</code> | Entry type if it does not fit any of the input-allowed values listed in EntryType enum above. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `entryGroup`<sup>Required</sup> <a name="entryGroup" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.entryGroup"></a>

```typescript
public readonly entryGroup: string;
```

- *Type:* string

The name of the entry group this entry is in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#entry_group DataCatalogEntry#entry_group}

---

##### `entryId`<sup>Required</sup> <a name="entryId" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.entryId"></a>

```typescript
public readonly entryId: string;
```

- *Type:* string

The id of the entry to create.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#entry_id DataCatalogEntry#entry_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Entry description, which can consist of several sentences or paragraphs that describe entry contents.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#description DataCatalogEntry#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Display information such as title and description.

A short name to identify the entry,
for example, "Analytics Data - Jan 2011".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#display_name DataCatalogEntry#display_name}

---

##### `gcsFilesetSpec`<sup>Optional</sup> <a name="gcsFilesetSpec" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.gcsFilesetSpec"></a>

```typescript
public readonly gcsFilesetSpec: DataCatalogEntryGcsFilesetSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpec">DataCatalogEntryGcsFilesetSpec</a>

gcs_fileset_spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#gcs_fileset_spec DataCatalogEntry#gcs_fileset_spec}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#id DataCatalogEntry#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `linkedResource`<sup>Optional</sup> <a name="linkedResource" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.linkedResource"></a>

```typescript
public readonly linkedResource: string;
```

- *Type:* string

The resource this metadata entry refers to.

For Google Cloud Platform resources, linkedResource is the full name of the resource.
For example, the linkedResource for a table resource from BigQuery is:
//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId
Output only when Entry is of type in the EntryType enum. For entries with userSpecifiedType,
this field is optional and defaults to an empty string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#linked_resource DataCatalogEntry#linked_resource}

---

##### `schema`<sup>Optional</sup> <a name="schema" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.schema"></a>

```typescript
public readonly schema: string;
```

- *Type:* string

Schema of the entry (e.g. BigQuery, GoogleSQL, Avro schema), as a json string. An entry might not have any schema attached to it. See https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries#schema for what fields this schema can contain.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#schema DataCatalogEntry#schema}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataCatalogEntryTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryTimeouts">DataCatalogEntryTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#timeouts DataCatalogEntry#timeouts}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of the entry.

Only used for Entries with types in the EntryType enum.
Currently, only FILESET enum value is allowed. All other entries created through Data Catalog must use userSpecifiedType. Possible values: ["FILESET"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#type DataCatalogEntry#type}

---

##### `userSpecifiedSystem`<sup>Optional</sup> <a name="userSpecifiedSystem" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.userSpecifiedSystem"></a>

```typescript
public readonly userSpecifiedSystem: string;
```

- *Type:* string

This field indicates the entry's source system that Data Catalog does not integrate with.

userSpecifiedSystem strings must begin with a letter or underscore and can only contain letters, numbers,
and underscores; are case insensitive; must be at least 1 character and at most 64 characters long.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#user_specified_system DataCatalogEntry#user_specified_system}

---

##### `userSpecifiedType`<sup>Optional</sup> <a name="userSpecifiedType" id="@dschmidt/provider-google.DataCatalogEntryConfig.property.userSpecifiedType"></a>

```typescript
public readonly userSpecifiedType: string;
```

- *Type:* string

Entry type if it does not fit any of the input-allowed values listed in EntryType enum above.

When creating an entry, users should check the enum values first, if nothing matches the entry
to be created, then provide a custom value, for example "my_special_type".
userSpecifiedType strings must begin with a letter or underscore and can only contain letters,
numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#user_specified_type DataCatalogEntry#user_specified_type}

---

### DataCatalogEntryGcsFilesetSpec <a name="DataCatalogEntryGcsFilesetSpec" id="@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpec.Initializer"></a>

```typescript
import { DataCatalogEntryGcsFilesetSpec } from '@dschmidt/provider-google'

const dataCatalogEntryGcsFilesetSpec: DataCatalogEntryGcsFilesetSpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpec.property.filePatterns">filePatterns</a></code> | <code>string[]</code> | Patterns to identify a set of files in Google Cloud Storage. |

---

##### `filePatterns`<sup>Required</sup> <a name="filePatterns" id="@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpec.property.filePatterns"></a>

```typescript
public readonly filePatterns: string[];
```

- *Type:* string[]

Patterns to identify a set of files in Google Cloud Storage.

See [Cloud Storage documentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames)
for more information. Note that bucket wildcards are currently not supported. Examples of valid filePatterns:

gs://bucket_name/dir/*: matches all files within bucket_name/dir directory.
gs://bucket_name/dir/**: matches all files in bucket_name/dir spanning all subdirectories.
gs://bucket_name/file*: matches files prefixed by file in bucket_name
gs://bucket_name/??.txt: matches files with two characters followed by .txt in bucket_name
gs://bucket_name/[aeiou].txt: matches files that contain a single vowel character followed by .txt in bucket_name
gs://bucket_name/[a-m].txt: matches files that contain a, b, ... or m followed by .txt in bucket_name
gs://bucket_name/a/*\/b: matches all files in bucket_name that match a/*\/b pattern, such as a/c/b, a/d/b
gs://another_bucket/a.txt: matches gs://another_bucket/a.txt

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#file_patterns DataCatalogEntry#file_patterns}

---

### DataCatalogEntryGcsFilesetSpecSampleGcsFileSpecs <a name="DataCatalogEntryGcsFilesetSpecSampleGcsFileSpecs" id="@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpecSampleGcsFileSpecs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryGcsFilesetSpecSampleGcsFileSpecs.Initializer"></a>

```typescript
import { DataCatalogEntryGcsFilesetSpecSampleGcsFileSpecs } from '@dschmidt/provider-google'

const dataCatalogEntryGcsFilesetSpecSampleGcsFileSpecs: DataCatalogEntryGcsFilesetSpecSampleGcsFileSpecs = { ... }
```


### DataCatalogEntryGroupConfig <a name="DataCatalogEntryGroupConfig" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.Initializer"></a>

```typescript
import { DataCatalogEntryGroupConfig } from '@dschmidt/provider-google'

const dataCatalogEntryGroupConfig: DataCatalogEntryGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.entryGroupId">entryGroupId</a></code> | <code>string</code> | The id of the entry group to create. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.description">description</a></code> | <code>string</code> | Entry group description, which can consist of several sentences or paragraphs that describe entry group contents. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.displayName">displayName</a></code> | <code>string</code> | A short name to identify the entry group, for example, "analytics data - jan 2011". |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#id DataCatalogEntryGroup#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#project DataCatalogEntryGroup#project}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.region">region</a></code> | <code>string</code> | EntryGroup location region. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeouts">DataCatalogEntryGroupTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `entryGroupId`<sup>Required</sup> <a name="entryGroupId" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.entryGroupId"></a>

```typescript
public readonly entryGroupId: string;
```

- *Type:* string

The id of the entry group to create.

The id must begin with a letter or underscore,
contain only English letters, numbers and underscores, and be at most 64 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#entry_group_id DataCatalogEntryGroup#entry_group_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Entry group description, which can consist of several sentences or paragraphs that describe entry group contents.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#description DataCatalogEntryGroup#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A short name to identify the entry group, for example, "analytics data - jan 2011".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#display_name DataCatalogEntryGroup#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#id DataCatalogEntryGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#project DataCatalogEntryGroup#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

EntryGroup location region.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#region DataCatalogEntryGroup#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataCatalogEntryGroupConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataCatalogEntryGroupTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeouts">DataCatalogEntryGroupTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#timeouts DataCatalogEntryGroup#timeouts}

---

### DataCatalogEntryGroupIamBindingCondition <a name="DataCatalogEntryGroupIamBindingCondition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition.Initializer"></a>

```typescript
import { DataCatalogEntryGroupIamBindingCondition } from '@dschmidt/provider-google'

const dataCatalogEntryGroupIamBindingCondition: DataCatalogEntryGroupIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#expression DataCatalogEntryGroupIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#title DataCatalogEntryGroupIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#description DataCatalogEntryGroupIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#expression DataCatalogEntryGroupIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#title DataCatalogEntryGroupIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#description DataCatalogEntryGroupIamBinding#description}.

---

### DataCatalogEntryGroupIamBindingConfig <a name="DataCatalogEntryGroupIamBindingConfig" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.Initializer"></a>

```typescript
import { DataCatalogEntryGroupIamBindingConfig } from '@dschmidt/provider-google'

const dataCatalogEntryGroupIamBindingConfig: DataCatalogEntryGroupIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.entryGroup">entryGroup</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#entry_group DataCatalogEntryGroupIamBinding#entry_group}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#members DataCatalogEntryGroupIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#role DataCatalogEntryGroupIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition">DataCatalogEntryGroupIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#id DataCatalogEntryGroupIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#project DataCatalogEntryGroupIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#region DataCatalogEntryGroupIamBinding#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `entryGroup`<sup>Required</sup> <a name="entryGroup" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.entryGroup"></a>

```typescript
public readonly entryGroup: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#entry_group DataCatalogEntryGroupIamBinding#entry_group}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#members DataCatalogEntryGroupIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#role DataCatalogEntryGroupIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: DataCatalogEntryGroupIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamBindingCondition">DataCatalogEntryGroupIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#condition DataCatalogEntryGroupIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#id DataCatalogEntryGroupIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#project DataCatalogEntryGroupIamBinding#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogEntryGroupIamBindingConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_binding#region DataCatalogEntryGroupIamBinding#region}.

---

### DataCatalogEntryGroupIamMemberCondition <a name="DataCatalogEntryGroupIamMemberCondition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition.Initializer"></a>

```typescript
import { DataCatalogEntryGroupIamMemberCondition } from '@dschmidt/provider-google'

const dataCatalogEntryGroupIamMemberCondition: DataCatalogEntryGroupIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#expression DataCatalogEntryGroupIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#title DataCatalogEntryGroupIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#description DataCatalogEntryGroupIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#expression DataCatalogEntryGroupIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#title DataCatalogEntryGroupIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#description DataCatalogEntryGroupIamMember#description}.

---

### DataCatalogEntryGroupIamMemberConfig <a name="DataCatalogEntryGroupIamMemberConfig" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.Initializer"></a>

```typescript
import { DataCatalogEntryGroupIamMemberConfig } from '@dschmidt/provider-google'

const dataCatalogEntryGroupIamMemberConfig: DataCatalogEntryGroupIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.entryGroup">entryGroup</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#entry_group DataCatalogEntryGroupIamMember#entry_group}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#member DataCatalogEntryGroupIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#role DataCatalogEntryGroupIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition">DataCatalogEntryGroupIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#id DataCatalogEntryGroupIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#project DataCatalogEntryGroupIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#region DataCatalogEntryGroupIamMember#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `entryGroup`<sup>Required</sup> <a name="entryGroup" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.entryGroup"></a>

```typescript
public readonly entryGroup: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#entry_group DataCatalogEntryGroupIamMember#entry_group}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#member DataCatalogEntryGroupIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#role DataCatalogEntryGroupIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: DataCatalogEntryGroupIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamMemberCondition">DataCatalogEntryGroupIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#condition DataCatalogEntryGroupIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#id DataCatalogEntryGroupIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#project DataCatalogEntryGroupIamMember#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogEntryGroupIamMemberConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_member#region DataCatalogEntryGroupIamMember#region}.

---

### DataCatalogEntryGroupIamPolicyConfig <a name="DataCatalogEntryGroupIamPolicyConfig" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.Initializer"></a>

```typescript
import { DataCatalogEntryGroupIamPolicyConfig } from '@dschmidt/provider-google'

const dataCatalogEntryGroupIamPolicyConfig: DataCatalogEntryGroupIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.entryGroup">entryGroup</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#entry_group DataCatalogEntryGroupIamPolicy#entry_group}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#policy_data DataCatalogEntryGroupIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#id DataCatalogEntryGroupIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#project DataCatalogEntryGroupIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#region DataCatalogEntryGroupIamPolicy#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `entryGroup`<sup>Required</sup> <a name="entryGroup" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.entryGroup"></a>

```typescript
public readonly entryGroup: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#entry_group DataCatalogEntryGroupIamPolicy#entry_group}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#policy_data DataCatalogEntryGroupIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#id DataCatalogEntryGroupIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#project DataCatalogEntryGroupIamPolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogEntryGroupIamPolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group_iam_policy#region DataCatalogEntryGroupIamPolicy#region}.

---

### DataCatalogEntryGroupTimeouts <a name="DataCatalogEntryGroupTimeouts" id="@dschmidt/provider-google.DataCatalogEntryGroupTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryGroupTimeouts.Initializer"></a>

```typescript
import { DataCatalogEntryGroupTimeouts } from '@dschmidt/provider-google'

const dataCatalogEntryGroupTimeouts: DataCatalogEntryGroupTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#create DataCatalogEntryGroup#create}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#delete DataCatalogEntryGroup#delete}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryGroupTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#update DataCatalogEntryGroup#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataCatalogEntryGroupTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#create DataCatalogEntryGroup#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataCatalogEntryGroupTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#delete DataCatalogEntryGroup#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataCatalogEntryGroupTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry_group#update DataCatalogEntryGroup#update}.

---

### DataCatalogEntryTimeouts <a name="DataCatalogEntryTimeouts" id="@dschmidt/provider-google.DataCatalogEntryTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogEntryTimeouts.Initializer"></a>

```typescript
import { DataCatalogEntryTimeouts } from '@dschmidt/provider-google'

const dataCatalogEntryTimeouts: DataCatalogEntryTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#create DataCatalogEntry#create}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#delete DataCatalogEntry#delete}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogEntryTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#update DataCatalogEntry#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataCatalogEntryTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#create DataCatalogEntry#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataCatalogEntryTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#delete DataCatalogEntry#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataCatalogEntryTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_entry#update DataCatalogEntry#update}.

---

### DataCatalogTagConfig <a name="DataCatalogTagConfig" id="@dschmidt/provider-google.DataCatalogTagConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagConfig.Initializer"></a>

```typescript
import { DataCatalogTagConfig } from '@dschmidt/provider-google'

const dataCatalogTagConfig: DataCatalogTagConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.fields">fields</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataCatalogTagFields">DataCatalogTagFields</a>[]</code> | fields block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.template">template</a></code> | <code>string</code> | The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.column">column</a></code> | <code>string</code> | Resources like Entry can have schemas associated with them. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#id DataCatalogTag#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.parent">parent</a></code> | <code>string</code> | The name of the parent this tag is attached to. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTimeouts">DataCatalogTagTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTagConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTagConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTagConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTagConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTagConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTagConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTagConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fields`<sup>Required</sup> <a name="fields" id="@dschmidt/provider-google.DataCatalogTagConfig.property.fields"></a>

```typescript
public readonly fields: IResolvable | DataCatalogTagFields[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogTagFields">DataCatalogTagFields</a>[]

fields block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#fields DataCatalogTag#fields}

---

##### `template`<sup>Required</sup> <a name="template" id="@dschmidt/provider-google.DataCatalogTagConfig.property.template"></a>

```typescript
public readonly template: string;
```

- *Type:* string

The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#template DataCatalogTag#template}

---

##### `column`<sup>Optional</sup> <a name="column" id="@dschmidt/provider-google.DataCatalogTagConfig.property.column"></a>

```typescript
public readonly column: string;
```

- *Type:* string

Resources like Entry can have schemas associated with them.

This scope allows users to attach tags to an
individual column based on that schema.

For attaching a tag to a nested column, use '.' to separate the column names. Example:
'outer_column.inner_column'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#column DataCatalogTag#column}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#id DataCatalogTag#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `parent`<sup>Optional</sup> <a name="parent" id="@dschmidt/provider-google.DataCatalogTagConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The name of the parent this tag is attached to.

This can be the name of an entry or an entry group. If an entry group, the tag will be attached to
all entries in that group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#parent DataCatalogTag#parent}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataCatalogTagConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataCatalogTagTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTimeouts">DataCatalogTagTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#timeouts DataCatalogTag#timeouts}

---

### DataCatalogTagFields <a name="DataCatalogTagFields" id="@dschmidt/provider-google.DataCatalogTagFields"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagFields.Initializer"></a>

```typescript
import { DataCatalogTagFields } from '@dschmidt/provider-google'

const dataCatalogTagFields: DataCatalogTagFields = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagFields.property.fieldName">fieldName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#field_name DataCatalogTag#field_name}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagFields.property.boolValue">boolValue</a></code> | <code>boolean \| cdktf.IResolvable</code> | Holds the value for a tag field with boolean type. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagFields.property.doubleValue">doubleValue</a></code> | <code>number</code> | Holds the value for a tag field with double type. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagFields.property.enumValue">enumValue</a></code> | <code>string</code> | The display name of the enum value. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagFields.property.stringValue">stringValue</a></code> | <code>string</code> | Holds the value for a tag field with string type. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagFields.property.timestampValue">timestampValue</a></code> | <code>string</code> | Holds the value for a tag field with timestamp type. |

---

##### `fieldName`<sup>Required</sup> <a name="fieldName" id="@dschmidt/provider-google.DataCatalogTagFields.property.fieldName"></a>

```typescript
public readonly fieldName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#field_name DataCatalogTag#field_name}.

---

##### `boolValue`<sup>Optional</sup> <a name="boolValue" id="@dschmidt/provider-google.DataCatalogTagFields.property.boolValue"></a>

```typescript
public readonly boolValue: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Holds the value for a tag field with boolean type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#bool_value DataCatalogTag#bool_value}

---

##### `doubleValue`<sup>Optional</sup> <a name="doubleValue" id="@dschmidt/provider-google.DataCatalogTagFields.property.doubleValue"></a>

```typescript
public readonly doubleValue: number;
```

- *Type:* number

Holds the value for a tag field with double type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#double_value DataCatalogTag#double_value}

---

##### `enumValue`<sup>Optional</sup> <a name="enumValue" id="@dschmidt/provider-google.DataCatalogTagFields.property.enumValue"></a>

```typescript
public readonly enumValue: string;
```

- *Type:* string

The display name of the enum value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#enum_value DataCatalogTag#enum_value}

---

##### `stringValue`<sup>Optional</sup> <a name="stringValue" id="@dschmidt/provider-google.DataCatalogTagFields.property.stringValue"></a>

```typescript
public readonly stringValue: string;
```

- *Type:* string

Holds the value for a tag field with string type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#string_value DataCatalogTag#string_value}

---

##### `timestampValue`<sup>Optional</sup> <a name="timestampValue" id="@dschmidt/provider-google.DataCatalogTagFields.property.timestampValue"></a>

```typescript
public readonly timestampValue: string;
```

- *Type:* string

Holds the value for a tag field with timestamp type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#timestamp_value DataCatalogTag#timestamp_value}

---

### DataCatalogTagTemplateConfig <a name="DataCatalogTagTemplateConfig" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.Initializer"></a>

```typescript
import { DataCatalogTagTemplateConfig } from '@dschmidt/provider-google'

const dataCatalogTagTemplateConfig: DataCatalogTagTemplateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.fields">fields</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields">DataCatalogTagTemplateFields</a>[]</code> | fields block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.tagTemplateId">tagTemplateId</a></code> | <code>string</code> | The id of the tag template to create. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.displayName">displayName</a></code> | <code>string</code> | The display name for this template. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.forceDelete">forceDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | This confirms the deletion of any possible tags using this template. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#id DataCatalogTagTemplate#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#project DataCatalogTagTemplate#project}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.region">region</a></code> | <code>string</code> | Template location region. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeouts">DataCatalogTagTemplateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fields`<sup>Required</sup> <a name="fields" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.fields"></a>

```typescript
public readonly fields: IResolvable | DataCatalogTagTemplateFields[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields">DataCatalogTagTemplateFields</a>[]

fields block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#fields DataCatalogTagTemplate#fields}

---

##### `tagTemplateId`<sup>Required</sup> <a name="tagTemplateId" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.tagTemplateId"></a>

```typescript
public readonly tagTemplateId: string;
```

- *Type:* string

The id of the tag template to create.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#tag_template_id DataCatalogTagTemplate#tag_template_id}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The display name for this template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#display_name DataCatalogTagTemplate#display_name}

---

##### `forceDelete`<sup>Optional</sup> <a name="forceDelete" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.forceDelete"></a>

```typescript
public readonly forceDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This confirms the deletion of any possible tags using this template.

Must be set to true in order to delete the tag template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#force_delete DataCatalogTagTemplate#force_delete}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#id DataCatalogTagTemplate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#project DataCatalogTagTemplate#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Template location region.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#region DataCatalogTagTemplate#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataCatalogTagTemplateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataCatalogTagTemplateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeouts">DataCatalogTagTemplateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#timeouts DataCatalogTagTemplate#timeouts}

---

### DataCatalogTagTemplateFields <a name="DataCatalogTagTemplateFields" id="@dschmidt/provider-google.DataCatalogTagTemplateFields"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateFields.Initializer"></a>

```typescript
import { DataCatalogTagTemplateFields } from '@dschmidt/provider-google'

const dataCatalogTagTemplateFields: DataCatalogTagTemplateFields = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields.property.fieldId">fieldId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#field_id DataCatalogTagTemplate#field_id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields.property.type">type</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsType">DataCatalogTagTemplateFieldsType</a></code> | type block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields.property.description">description</a></code> | <code>string</code> | A description for this field. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields.property.displayName">displayName</a></code> | <code>string</code> | The display name for this field. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields.property.isRequired">isRequired</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this is a required field. Defaults to false. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFields.property.order">order</a></code> | <code>number</code> | The order of this field with respect to other fields in this tag template. |

---

##### `fieldId`<sup>Required</sup> <a name="fieldId" id="@dschmidt/provider-google.DataCatalogTagTemplateFields.property.fieldId"></a>

```typescript
public readonly fieldId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#field_id DataCatalogTagTemplate#field_id}.

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataCatalogTagTemplateFields.property.type"></a>

```typescript
public readonly type: DataCatalogTagTemplateFieldsType;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsType">DataCatalogTagTemplateFieldsType</a>

type block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#type DataCatalogTagTemplate#type}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataCatalogTagTemplateFields.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description for this field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#description DataCatalogTagTemplate#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataCatalogTagTemplateFields.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The display name for this field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#display_name DataCatalogTagTemplate#display_name}

---

##### `isRequired`<sup>Optional</sup> <a name="isRequired" id="@dschmidt/provider-google.DataCatalogTagTemplateFields.property.isRequired"></a>

```typescript
public readonly isRequired: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this is a required field. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#is_required DataCatalogTagTemplate#is_required}

---

##### `order`<sup>Optional</sup> <a name="order" id="@dschmidt/provider-google.DataCatalogTagTemplateFields.property.order"></a>

```typescript
public readonly order: number;
```

- *Type:* number

The order of this field with respect to other fields in this tag template.

A higher value indicates a more important field. The value can be negative.
Multiple fields can have the same order, and field orders within a tag do not have to be sequential.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#order DataCatalogTagTemplate#order}

---

### DataCatalogTagTemplateFieldsType <a name="DataCatalogTagTemplateFieldsType" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsType"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsType.Initializer"></a>

```typescript
import { DataCatalogTagTemplateFieldsType } from '@dschmidt/provider-google'

const dataCatalogTagTemplateFieldsType: DataCatalogTagTemplateFieldsType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsType.property.enumType">enumType</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumType">DataCatalogTagTemplateFieldsTypeEnumType</a></code> | enum_type block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsType.property.primitiveType">primitiveType</a></code> | <code>string</code> | Represents primitive types - string, bool etc. |

---

##### `enumType`<sup>Optional</sup> <a name="enumType" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsType.property.enumType"></a>

```typescript
public readonly enumType: DataCatalogTagTemplateFieldsTypeEnumType;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumType">DataCatalogTagTemplateFieldsTypeEnumType</a>

enum_type block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#enum_type DataCatalogTagTemplate#enum_type}

---

##### `primitiveType`<sup>Optional</sup> <a name="primitiveType" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsType.property.primitiveType"></a>

```typescript
public readonly primitiveType: string;
```

- *Type:* string

Represents primitive types - string, bool etc.

Exactly one of 'primitive_type' or 'enum_type' must be set Possible values: ["DOUBLE", "STRING", "BOOL", "TIMESTAMP"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#primitive_type DataCatalogTagTemplate#primitive_type}

---

### DataCatalogTagTemplateFieldsTypeEnumType <a name="DataCatalogTagTemplateFieldsTypeEnumType" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumType"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumType.Initializer"></a>

```typescript
import { DataCatalogTagTemplateFieldsTypeEnumType } from '@dschmidt/provider-google'

const dataCatalogTagTemplateFieldsTypeEnumType: DataCatalogTagTemplateFieldsTypeEnumType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumType.property.allowedValues">allowedValues</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues">DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues</a>[]</code> | allowed_values block. |

---

##### `allowedValues`<sup>Required</sup> <a name="allowedValues" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumType.property.allowedValues"></a>

```typescript
public readonly allowedValues: IResolvable | DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues">DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues</a>[]

allowed_values block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#allowed_values DataCatalogTagTemplate#allowed_values}

---

### DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues <a name="DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues.Initializer"></a>

```typescript
import { DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues } from '@dschmidt/provider-google'

const dataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues: DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues.property.displayName">displayName</a></code> | <code>string</code> | The display name of the enum value. |

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataCatalogTagTemplateFieldsTypeEnumTypeAllowedValues.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The display name of the enum value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#display_name DataCatalogTagTemplate#display_name}

---

### DataCatalogTagTemplateIamBindingCondition <a name="DataCatalogTagTemplateIamBindingCondition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition.Initializer"></a>

```typescript
import { DataCatalogTagTemplateIamBindingCondition } from '@dschmidt/provider-google'

const dataCatalogTagTemplateIamBindingCondition: DataCatalogTagTemplateIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#expression DataCatalogTagTemplateIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#title DataCatalogTagTemplateIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#description DataCatalogTagTemplateIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#expression DataCatalogTagTemplateIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#title DataCatalogTagTemplateIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#description DataCatalogTagTemplateIamBinding#description}.

---

### DataCatalogTagTemplateIamBindingConfig <a name="DataCatalogTagTemplateIamBindingConfig" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.Initializer"></a>

```typescript
import { DataCatalogTagTemplateIamBindingConfig } from '@dschmidt/provider-google'

const dataCatalogTagTemplateIamBindingConfig: DataCatalogTagTemplateIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#members DataCatalogTagTemplateIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#role DataCatalogTagTemplateIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.tagTemplate">tagTemplate</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#tag_template DataCatalogTagTemplateIamBinding#tag_template}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition">DataCatalogTagTemplateIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#id DataCatalogTagTemplateIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#project DataCatalogTagTemplateIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#region DataCatalogTagTemplateIamBinding#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#members DataCatalogTagTemplateIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#role DataCatalogTagTemplateIamBinding#role}.

---

##### `tagTemplate`<sup>Required</sup> <a name="tagTemplate" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.tagTemplate"></a>

```typescript
public readonly tagTemplate: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#tag_template DataCatalogTagTemplateIamBinding#tag_template}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: DataCatalogTagTemplateIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamBindingCondition">DataCatalogTagTemplateIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#condition DataCatalogTagTemplateIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#id DataCatalogTagTemplateIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#project DataCatalogTagTemplateIamBinding#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogTagTemplateIamBindingConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_binding#region DataCatalogTagTemplateIamBinding#region}.

---

### DataCatalogTagTemplateIamMemberCondition <a name="DataCatalogTagTemplateIamMemberCondition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition.Initializer"></a>

```typescript
import { DataCatalogTagTemplateIamMemberCondition } from '@dschmidt/provider-google'

const dataCatalogTagTemplateIamMemberCondition: DataCatalogTagTemplateIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#expression DataCatalogTagTemplateIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#title DataCatalogTagTemplateIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#description DataCatalogTagTemplateIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#expression DataCatalogTagTemplateIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#title DataCatalogTagTemplateIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#description DataCatalogTagTemplateIamMember#description}.

---

### DataCatalogTagTemplateIamMemberConfig <a name="DataCatalogTagTemplateIamMemberConfig" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.Initializer"></a>

```typescript
import { DataCatalogTagTemplateIamMemberConfig } from '@dschmidt/provider-google'

const dataCatalogTagTemplateIamMemberConfig: DataCatalogTagTemplateIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#member DataCatalogTagTemplateIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#role DataCatalogTagTemplateIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.tagTemplate">tagTemplate</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#tag_template DataCatalogTagTemplateIamMember#tag_template}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition">DataCatalogTagTemplateIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#id DataCatalogTagTemplateIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#project DataCatalogTagTemplateIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#region DataCatalogTagTemplateIamMember#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#member DataCatalogTagTemplateIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#role DataCatalogTagTemplateIamMember#role}.

---

##### `tagTemplate`<sup>Required</sup> <a name="tagTemplate" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.tagTemplate"></a>

```typescript
public readonly tagTemplate: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#tag_template DataCatalogTagTemplateIamMember#tag_template}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: DataCatalogTagTemplateIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamMemberCondition">DataCatalogTagTemplateIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#condition DataCatalogTagTemplateIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#id DataCatalogTagTemplateIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#project DataCatalogTagTemplateIamMember#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogTagTemplateIamMemberConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_member#region DataCatalogTagTemplateIamMember#region}.

---

### DataCatalogTagTemplateIamPolicyConfig <a name="DataCatalogTagTemplateIamPolicyConfig" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.Initializer"></a>

```typescript
import { DataCatalogTagTemplateIamPolicyConfig } from '@dschmidt/provider-google'

const dataCatalogTagTemplateIamPolicyConfig: DataCatalogTagTemplateIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#policy_data DataCatalogTagTemplateIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.tagTemplate">tagTemplate</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#tag_template DataCatalogTagTemplateIamPolicy#tag_template}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#id DataCatalogTagTemplateIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#project DataCatalogTagTemplateIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#region DataCatalogTagTemplateIamPolicy#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#policy_data DataCatalogTagTemplateIamPolicy#policy_data}.

---

##### `tagTemplate`<sup>Required</sup> <a name="tagTemplate" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.tagTemplate"></a>

```typescript
public readonly tagTemplate: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#tag_template DataCatalogTagTemplateIamPolicy#tag_template}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#id DataCatalogTagTemplateIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#project DataCatalogTagTemplateIamPolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataCatalogTagTemplateIamPolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template_iam_policy#region DataCatalogTagTemplateIamPolicy#region}.

---

### DataCatalogTagTemplateTimeouts <a name="DataCatalogTagTemplateTimeouts" id="@dschmidt/provider-google.DataCatalogTagTemplateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTemplateTimeouts.Initializer"></a>

```typescript
import { DataCatalogTagTemplateTimeouts } from '@dschmidt/provider-google'

const dataCatalogTagTemplateTimeouts: DataCatalogTagTemplateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#create DataCatalogTagTemplate#create}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#delete DataCatalogTagTemplate#delete}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTemplateTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#update DataCatalogTagTemplate#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataCatalogTagTemplateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#create DataCatalogTagTemplate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataCatalogTagTemplateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#delete DataCatalogTagTemplate#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataCatalogTagTemplateTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag_template#update DataCatalogTagTemplate#update}.

---

### DataCatalogTagTimeouts <a name="DataCatalogTagTimeouts" id="@dschmidt/provider-google.DataCatalogTagTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataCatalogTagTimeouts.Initializer"></a>

```typescript
import { DataCatalogTagTimeouts } from '@dschmidt/provider-google'

const dataCatalogTagTimeouts: DataCatalogTagTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#create DataCatalogTag#create}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#delete DataCatalogTag#delete}. |
| <code><a href="#@dschmidt/provider-google.DataCatalogTagTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#update DataCatalogTag#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataCatalogTagTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#create DataCatalogTag#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataCatalogTagTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#delete DataCatalogTag#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataCatalogTagTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_catalog_tag#update DataCatalogTag#update}.

---

### DataflowJobConfig <a name="DataflowJobConfig" id="@dschmidt/provider-google.DataflowJobConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataflowJobConfig.Initializer"></a>

```typescript
import { DataflowJobConfig } from '@dschmidt/provider-google'

const dataflowJobConfig: DataflowJobConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.name">name</a></code> | <code>string</code> | A unique name for the resource, required by Dataflow. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.tempGcsLocation">tempGcsLocation</a></code> | <code>string</code> | A writeable location on Google Cloud Storage for the Dataflow job to dump its temporary data. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.templateGcsPath">templateGcsPath</a></code> | <code>string</code> | The Google Cloud Storage path to the Dataflow job template. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.additionalExperiments">additionalExperiments</a></code> | <code>string[]</code> | List of experiments that should be used by the job. An example value is ["enable_stackdriver_agent_metrics"]. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.enableStreamingEngine">enableStreamingEngine</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if the job should use the streaming engine feature. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#id DataflowJob#id}. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.ipConfiguration">ipConfiguration</a></code> | <code>string</code> | The configuration for VM IPs. Options are "WORKER_IP_PUBLIC" or "WORKER_IP_PRIVATE". |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | The name for the Cloud KMS key for the job. Key format is: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | User labels to be specified for the job. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.machineType">machineType</a></code> | <code>string</code> | The machine type to use for the job. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.maxWorkers">maxWorkers</a></code> | <code>number</code> | The number of workers permitted to work on the job. More workers may improve processing speed at additional cost. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.network">network</a></code> | <code>string</code> | The network to which VMs will be assigned. If it is not provided, "default" will be used. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.onDelete">onDelete</a></code> | <code>string</code> | One of "drain" or "cancel". Specifies behavior of deletion during terraform destroy. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.parameters">parameters</a></code> | <code>{[ key: string ]: string}</code> | Key/Value pairs to be passed to the Dataflow job (as used in the template). |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.project">project</a></code> | <code>string</code> | The project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.region">region</a></code> | <code>string</code> | The region in which the created job should run. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | The Service Account email used to create the job. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.skipWaitOnJobTermination">skipWaitOnJobTermination</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, treat DRAINING and CANCELLING as terminal job states and do not wait for further changes before removing from terraform state and moving on. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK". |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataflowJobTimeouts">DataflowJobTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.transformNameMapping">transformNameMapping</a></code> | <code>{[ key: string ]: string}</code> | Only applicable when updating a pipeline. |
| <code><a href="#@dschmidt/provider-google.DataflowJobConfig.property.zone">zone</a></code> | <code>string</code> | The zone in which the created job should run. If it is not provided, the provider zone is used. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataflowJobConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataflowJobConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataflowJobConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataflowJobConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataflowJobConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataflowJobConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataflowJobConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataflowJobConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A unique name for the resource, required by Dataflow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#name DataflowJob#name}

---

##### `tempGcsLocation`<sup>Required</sup> <a name="tempGcsLocation" id="@dschmidt/provider-google.DataflowJobConfig.property.tempGcsLocation"></a>

```typescript
public readonly tempGcsLocation: string;
```

- *Type:* string

A writeable location on Google Cloud Storage for the Dataflow job to dump its temporary data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#temp_gcs_location DataflowJob#temp_gcs_location}

---

##### `templateGcsPath`<sup>Required</sup> <a name="templateGcsPath" id="@dschmidt/provider-google.DataflowJobConfig.property.templateGcsPath"></a>

```typescript
public readonly templateGcsPath: string;
```

- *Type:* string

The Google Cloud Storage path to the Dataflow job template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#template_gcs_path DataflowJob#template_gcs_path}

---

##### `additionalExperiments`<sup>Optional</sup> <a name="additionalExperiments" id="@dschmidt/provider-google.DataflowJobConfig.property.additionalExperiments"></a>

```typescript
public readonly additionalExperiments: string[];
```

- *Type:* string[]

List of experiments that should be used by the job. An example value is ["enable_stackdriver_agent_metrics"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#additional_experiments DataflowJob#additional_experiments}

---

##### `enableStreamingEngine`<sup>Optional</sup> <a name="enableStreamingEngine" id="@dschmidt/provider-google.DataflowJobConfig.property.enableStreamingEngine"></a>

```typescript
public readonly enableStreamingEngine: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if the job should use the streaming engine feature.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#enable_streaming_engine DataflowJob#enable_streaming_engine}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataflowJobConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#id DataflowJob#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipConfiguration`<sup>Optional</sup> <a name="ipConfiguration" id="@dschmidt/provider-google.DataflowJobConfig.property.ipConfiguration"></a>

```typescript
public readonly ipConfiguration: string;
```

- *Type:* string

The configuration for VM IPs. Options are "WORKER_IP_PUBLIC" or "WORKER_IP_PRIVATE".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#ip_configuration DataflowJob#ip_configuration}

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.DataflowJobConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

The name for the Cloud KMS key for the job. Key format is: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#kms_key_name DataflowJob#kms_key_name}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataflowJobConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User labels to be specified for the job.

Keys and values should follow the restrictions specified in the labeling restrictions page. NOTE: Google-provided Dataflow templates often provide default labels that begin with goog-dataflow-provided. Unless explicitly set in config, these labels will be ignored to prevent diffs on re-apply.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#labels DataflowJob#labels}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.DataflowJobConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The machine type to use for the job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#machine_type DataflowJob#machine_type}

---

##### `maxWorkers`<sup>Optional</sup> <a name="maxWorkers" id="@dschmidt/provider-google.DataflowJobConfig.property.maxWorkers"></a>

```typescript
public readonly maxWorkers: number;
```

- *Type:* number

The number of workers permitted to work on the job. More workers may improve processing speed at additional cost.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#max_workers DataflowJob#max_workers}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.DataflowJobConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The network to which VMs will be assigned. If it is not provided, "default" will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#network DataflowJob#network}

---

##### `onDelete`<sup>Optional</sup> <a name="onDelete" id="@dschmidt/provider-google.DataflowJobConfig.property.onDelete"></a>

```typescript
public readonly onDelete: string;
```

- *Type:* string

One of "drain" or "cancel". Specifies behavior of deletion during terraform destroy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#on_delete DataflowJob#on_delete}

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@dschmidt/provider-google.DataflowJobConfig.property.parameters"></a>

```typescript
public readonly parameters: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Key/Value pairs to be passed to the Dataflow job (as used in the template).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#parameters DataflowJob#parameters}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataflowJobConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project in which the resource belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#project DataflowJob#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataflowJobConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region in which the created job should run.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#region DataflowJob#region}

---

##### `serviceAccountEmail`<sup>Optional</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.DataflowJobConfig.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

The Service Account email used to create the job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#service_account_email DataflowJob#service_account_email}

---

##### `skipWaitOnJobTermination`<sup>Optional</sup> <a name="skipWaitOnJobTermination" id="@dschmidt/provider-google.DataflowJobConfig.property.skipWaitOnJobTermination"></a>

```typescript
public readonly skipWaitOnJobTermination: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, treat DRAINING and CANCELLING as terminal job states and do not wait for further changes before removing from terraform state and moving on.

WARNING: this will lead to job name conflicts if you do not ensure that the job names are different, e.g. by embedding a release ID or by using a random_id.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#skip_wait_on_job_termination DataflowJob#skip_wait_on_job_termination}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.DataflowJobConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#subnetwork DataflowJob#subnetwork}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataflowJobConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataflowJobTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataflowJobTimeouts">DataflowJobTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#timeouts DataflowJob#timeouts}

---

##### `transformNameMapping`<sup>Optional</sup> <a name="transformNameMapping" id="@dschmidt/provider-google.DataflowJobConfig.property.transformNameMapping"></a>

```typescript
public readonly transformNameMapping: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Only applicable when updating a pipeline.

Map of transform name prefixes of the job to be replaced with the corresponding name prefixes of the new job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#transform_name_mapping DataflowJob#transform_name_mapping}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataflowJobConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone in which the created job should run. If it is not provided, the provider zone is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#zone DataflowJob#zone}

---

### DataflowJobTimeouts <a name="DataflowJobTimeouts" id="@dschmidt/provider-google.DataflowJobTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataflowJobTimeouts.Initializer"></a>

```typescript
import { DataflowJobTimeouts } from '@dschmidt/provider-google'

const dataflowJobTimeouts: DataflowJobTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataflowJobTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#update DataflowJob#update}. |

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataflowJobTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataflow_job#update DataflowJob#update}.

---

### DataFusionInstanceConfig <a name="DataFusionInstanceConfig" id="@dschmidt/provider-google.DataFusionInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataFusionInstanceConfig.Initializer"></a>

```typescript
import { DataFusionInstanceConfig } from '@dschmidt/provider-google'

const dataFusionInstanceConfig: DataFusionInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.name">name</a></code> | <code>string</code> | The ID of the instance or a fully qualified identifier for the instance. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.type">type</a></code> | <code>string</code> | Represents the type of Data Fusion instance. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.dataprocServiceAccount">dataprocServiceAccount</a></code> | <code>string</code> | User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.description">description</a></code> | <code>string</code> | An optional description of the instance. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.enableStackdriverLogging">enableStackdriverLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | Option to enable Stackdriver Logging. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.enableStackdriverMonitoring">enableStackdriverMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Option to enable Stackdriver Monitoring. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#id DataFusionInstance#id}. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.networkConfig">networkConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataFusionInstanceNetworkConfig">DataFusionInstanceNetworkConfig</a></code> | network_config block. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.options">options</a></code> | <code>{[ key: string ]: string}</code> | Map of additional options used to configure the behavior of Data Fusion instance. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.privateInstance">privateInstance</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies whether the Data Fusion instance should be private. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#project DataFusionInstance#project}. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.region">region</a></code> | <code>string</code> | The region of the Data Fusion instance. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataFusionInstanceTimeouts">DataFusionInstanceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceConfig.property.version">version</a></code> | <code>string</code> | Current version of the Data Fusion. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The ID of the instance or a fully qualified identifier for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#name DataFusionInstance#name}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Represents the type of Data Fusion instance.

Each type is configured with
the default settings for processing and memory.
- BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines
using point and click UI. However, there are certain limitations, such as fewer number
of concurrent pipelines, no support for streaming pipelines, etc.
- ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features
available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
- DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but
with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration 
pipelines at low cost. Possible values: ["BASIC", "ENTERPRISE", "DEVELOPER"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#type DataFusionInstance#type}

---

##### `dataprocServiceAccount`<sup>Optional</sup> <a name="dataprocServiceAccount" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.dataprocServiceAccount"></a>

```typescript
public readonly dataprocServiceAccount: string;
```

- *Type:* string

User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#dataproc_service_account DataFusionInstance#dataproc_service_account}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#description DataFusionInstance#description}

---

##### `enableStackdriverLogging`<sup>Optional</sup> <a name="enableStackdriverLogging" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.enableStackdriverLogging"></a>

```typescript
public readonly enableStackdriverLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Option to enable Stackdriver Logging.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#enable_stackdriver_logging DataFusionInstance#enable_stackdriver_logging}

---

##### `enableStackdriverMonitoring`<sup>Optional</sup> <a name="enableStackdriverMonitoring" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.enableStackdriverMonitoring"></a>

```typescript
public readonly enableStackdriverMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Option to enable Stackdriver Monitoring.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#enable_stackdriver_monitoring DataFusionInstance#enable_stackdriver_monitoring}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#id DataFusionInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#labels DataFusionInstance#labels}

---

##### `networkConfig`<sup>Optional</sup> <a name="networkConfig" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.networkConfig"></a>

```typescript
public readonly networkConfig: DataFusionInstanceNetworkConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataFusionInstanceNetworkConfig">DataFusionInstanceNetworkConfig</a>

network_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#network_config DataFusionInstance#network_config}

---

##### `options`<sup>Optional</sup> <a name="options" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.options"></a>

```typescript
public readonly options: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Map of additional options used to configure the behavior of Data Fusion instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#options DataFusionInstance#options}

---

##### `privateInstance`<sup>Optional</sup> <a name="privateInstance" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.privateInstance"></a>

```typescript
public readonly privateInstance: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies whether the Data Fusion instance should be private.

If set to
true, all Data Fusion nodes will have private IP addresses and will not be
able to access the public internet.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#private_instance DataFusionInstance#private_instance}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#project DataFusionInstance#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region of the Data Fusion instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#region DataFusionInstance#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataFusionInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataFusionInstanceTimeouts">DataFusionInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#timeouts DataFusionInstance#timeouts}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.DataFusionInstanceConfig.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

Current version of the Data Fusion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#version DataFusionInstance#version}

---

### DataFusionInstanceNetworkConfig <a name="DataFusionInstanceNetworkConfig" id="@dschmidt/provider-google.DataFusionInstanceNetworkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataFusionInstanceNetworkConfig.Initializer"></a>

```typescript
import { DataFusionInstanceNetworkConfig } from '@dschmidt/provider-google'

const dataFusionInstanceNetworkConfig: DataFusionInstanceNetworkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceNetworkConfig.property.ipAllocation">ipAllocation</a></code> | <code>string</code> | The IP range in CIDR notation to use for the managed Data Fusion instance nodes. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceNetworkConfig.property.network">network</a></code> | <code>string</code> | Name of the network in the project with which the tenant project will be peered for executing pipelines. |

---

##### `ipAllocation`<sup>Required</sup> <a name="ipAllocation" id="@dschmidt/provider-google.DataFusionInstanceNetworkConfig.property.ipAllocation"></a>

```typescript
public readonly ipAllocation: string;
```

- *Type:* string

The IP range in CIDR notation to use for the managed Data Fusion instance nodes.

This range must not overlap with any other ranges used in the Data Fusion instance network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#ip_allocation DataFusionInstance#ip_allocation}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataFusionInstanceNetworkConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

Name of the network in the project with which the tenant project will be peered for executing pipelines.

In case of shared VPC where the network resides in another host
project the network should specified in the form of projects/{host-project-id}/global/networks/{network}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#network DataFusionInstance#network}

---

### DataFusionInstanceTimeouts <a name="DataFusionInstanceTimeouts" id="@dschmidt/provider-google.DataFusionInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataFusionInstanceTimeouts.Initializer"></a>

```typescript
import { DataFusionInstanceTimeouts } from '@dschmidt/provider-google'

const dataFusionInstanceTimeouts: DataFusionInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#create DataFusionInstance#create}. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#delete DataFusionInstance#delete}. |
| <code><a href="#@dschmidt/provider-google.DataFusionInstanceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#update DataFusionInstance#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataFusionInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#create DataFusionInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataFusionInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#delete DataFusionInstance#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataFusionInstanceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_fusion_instance#update DataFusionInstance#update}.

---

### DataGoogleAccessApprovalFolderServiceAccountConfig <a name="DataGoogleAccessApprovalFolderServiceAccountConfig" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.Initializer"></a>

```typescript
import { DataGoogleAccessApprovalFolderServiceAccountConfig } from '@dschmidt/provider-google'

const dataGoogleAccessApprovalFolderServiceAccountConfig: DataGoogleAccessApprovalFolderServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.folderId">folderId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_folder_service_account#folder_id DataGoogleAccessApprovalFolderServiceAccount#folder_id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_folder_service_account#id DataGoogleAccessApprovalFolderServiceAccount#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `folderId`<sup>Required</sup> <a name="folderId" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_folder_service_account#folder_id DataGoogleAccessApprovalFolderServiceAccount#folder_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAccessApprovalFolderServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_folder_service_account#id DataGoogleAccessApprovalFolderServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleAccessApprovalOrganizationServiceAccountConfig <a name="DataGoogleAccessApprovalOrganizationServiceAccountConfig" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.Initializer"></a>

```typescript
import { DataGoogleAccessApprovalOrganizationServiceAccountConfig } from '@dschmidt/provider-google'

const dataGoogleAccessApprovalOrganizationServiceAccountConfig: DataGoogleAccessApprovalOrganizationServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.organizationId">organizationId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_organization_service_account#organization_id DataGoogleAccessApprovalOrganizationServiceAccount#organization_id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_organization_service_account#id DataGoogleAccessApprovalOrganizationServiceAccount#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `organizationId`<sup>Required</sup> <a name="organizationId" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.organizationId"></a>

```typescript
public readonly organizationId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_organization_service_account#organization_id DataGoogleAccessApprovalOrganizationServiceAccount#organization_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAccessApprovalOrganizationServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_organization_service_account#id DataGoogleAccessApprovalOrganizationServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleAccessApprovalProjectServiceAccountConfig <a name="DataGoogleAccessApprovalProjectServiceAccountConfig" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.Initializer"></a>

```typescript
import { DataGoogleAccessApprovalProjectServiceAccountConfig } from '@dschmidt/provider-google'

const dataGoogleAccessApprovalProjectServiceAccountConfig: DataGoogleAccessApprovalProjectServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.projectId">projectId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_project_service_account#project_id DataGoogleAccessApprovalProjectServiceAccount#project_id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_project_service_account#id DataGoogleAccessApprovalProjectServiceAccount#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_project_service_account#project_id DataGoogleAccessApprovalProjectServiceAccount#project_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAccessApprovalProjectServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/access_approval_project_service_account#id DataGoogleAccessApprovalProjectServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleActiveFolderConfig <a name="DataGoogleActiveFolderConfig" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.Initializer"></a>

```typescript
import { DataGoogleActiveFolderConfig } from '@dschmidt/provider-google'

const dataGoogleActiveFolderConfig: DataGoogleActiveFolderConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.displayName">displayName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/active_folder#display_name DataGoogleActiveFolder#display_name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.parent">parent</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/active_folder#parent DataGoogleActiveFolder#parent}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/active_folder#id DataGoogleActiveFolder#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/active_folder#display_name DataGoogleActiveFolder#display_name}.

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/active_folder#parent DataGoogleActiveFolder#parent}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleActiveFolderConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/active_folder#id DataGoogleActiveFolder#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleAppEngineDefaultServiceAccountConfig <a name="DataGoogleAppEngineDefaultServiceAccountConfig" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.Initializer"></a>

```typescript
import { DataGoogleAppEngineDefaultServiceAccountConfig } from '@dschmidt/provider-google'

const dataGoogleAppEngineDefaultServiceAccountConfig: DataGoogleAppEngineDefaultServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/app_engine_default_service_account#id DataGoogleAppEngineDefaultServiceAccount#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/app_engine_default_service_account#project DataGoogleAppEngineDefaultServiceAccount#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/app_engine_default_service_account#id DataGoogleAppEngineDefaultServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleAppEngineDefaultServiceAccountConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/app_engine_default_service_account#project DataGoogleAppEngineDefaultServiceAccount#project}.

---

### DataGoogleBigqueryDefaultServiceAccountConfig <a name="DataGoogleBigqueryDefaultServiceAccountConfig" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.Initializer"></a>

```typescript
import { DataGoogleBigqueryDefaultServiceAccountConfig } from '@dschmidt/provider-google'

const dataGoogleBigqueryDefaultServiceAccountConfig: DataGoogleBigqueryDefaultServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/bigquery_default_service_account#id DataGoogleBigqueryDefaultServiceAccount#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/bigquery_default_service_account#project DataGoogleBigqueryDefaultServiceAccount#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/bigquery_default_service_account#id DataGoogleBigqueryDefaultServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleBigqueryDefaultServiceAccountConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/bigquery_default_service_account#project DataGoogleBigqueryDefaultServiceAccount#project}.

---

### DataGoogleBillingAccountConfig <a name="DataGoogleBillingAccountConfig" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.Initializer"></a>

```typescript
import { DataGoogleBillingAccountConfig } from '@dschmidt/provider-google'

const dataGoogleBillingAccountConfig: DataGoogleBillingAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.billingAccount">billingAccount</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/billing_account#billing_account DataGoogleBillingAccount#billing_account}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.displayName">displayName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/billing_account#display_name DataGoogleBillingAccount#display_name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/billing_account#id DataGoogleBillingAccount#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.open">open</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/billing_account#open DataGoogleBillingAccount#open}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccount`<sup>Optional</sup> <a name="billingAccount" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/billing_account#billing_account DataGoogleBillingAccount#billing_account}.

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/billing_account#display_name DataGoogleBillingAccount#display_name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/billing_account#id DataGoogleBillingAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `open`<sup>Optional</sup> <a name="open" id="@dschmidt/provider-google.DataGoogleBillingAccountConfig.property.open"></a>

```typescript
public readonly open: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/billing_account#open DataGoogleBillingAccount#open}.

---

### DataGoogleClientConfigConfig <a name="DataGoogleClientConfigConfig" id="@dschmidt/provider-google.DataGoogleClientConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleClientConfigConfig.Initializer"></a>

```typescript
import { DataGoogleClientConfigConfig } from '@dschmidt/provider-google'

const dataGoogleClientConfigConfig: DataGoogleClientConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/client_config#id DataGoogleClientConfig#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleClientConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleClientConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleClientConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleClientConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleClientConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleClientConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleClientConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleClientConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/client_config#id DataGoogleClientConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleClientOpenidUserinfoConfig <a name="DataGoogleClientOpenidUserinfoConfig" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.Initializer"></a>

```typescript
import { DataGoogleClientOpenidUserinfoConfig } from '@dschmidt/provider-google'

const dataGoogleClientOpenidUserinfoConfig: DataGoogleClientOpenidUserinfoConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/client_openid_userinfo#id DataGoogleClientOpenidUserinfo#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleClientOpenidUserinfoConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/client_openid_userinfo#id DataGoogleClientOpenidUserinfo#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleCloudfunctionsFunctionConfig <a name="DataGoogleCloudfunctionsFunctionConfig" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.Initializer"></a>

```typescript
import { DataGoogleCloudfunctionsFunctionConfig } from '@dschmidt/provider-google'

const dataGoogleCloudfunctionsFunctionConfig: DataGoogleCloudfunctionsFunctionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.name">name</a></code> | <code>string</code> | A user-defined name of the function. Function names must be unique globally. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloudfunctions_function#id DataGoogleCloudfunctionsFunction#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.project">project</a></code> | <code>string</code> | Project of the function. If it is not provided, the provider project is used. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.region">region</a></code> | <code>string</code> | Region of function. If it is not provided, the provider region is used. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A user-defined name of the function. Function names must be unique globally.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloudfunctions_function#name DataGoogleCloudfunctionsFunction#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloudfunctions_function#id DataGoogleCloudfunctionsFunction#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Project of the function. If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloudfunctions_function#project DataGoogleCloudfunctionsFunction#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region of function. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloudfunctions_function#region DataGoogleCloudfunctionsFunction#region}

---

### DataGoogleCloudfunctionsFunctionEventTrigger <a name="DataGoogleCloudfunctionsFunctionEventTrigger" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionEventTrigger"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionEventTrigger.Initializer"></a>

```typescript
import { DataGoogleCloudfunctionsFunctionEventTrigger } from '@dschmidt/provider-google'

const dataGoogleCloudfunctionsFunctionEventTrigger: DataGoogleCloudfunctionsFunctionEventTrigger = { ... }
```


### DataGoogleCloudfunctionsFunctionEventTriggerFailurePolicy <a name="DataGoogleCloudfunctionsFunctionEventTriggerFailurePolicy" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionEventTriggerFailurePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionEventTriggerFailurePolicy.Initializer"></a>

```typescript
import { DataGoogleCloudfunctionsFunctionEventTriggerFailurePolicy } from '@dschmidt/provider-google'

const dataGoogleCloudfunctionsFunctionEventTriggerFailurePolicy: DataGoogleCloudfunctionsFunctionEventTriggerFailurePolicy = { ... }
```


### DataGoogleCloudfunctionsFunctionSecretEnvironmentVariables <a name="DataGoogleCloudfunctionsFunctionSecretEnvironmentVariables" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretEnvironmentVariables"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretEnvironmentVariables.Initializer"></a>

```typescript
import { DataGoogleCloudfunctionsFunctionSecretEnvironmentVariables } from '@dschmidt/provider-google'

const dataGoogleCloudfunctionsFunctionSecretEnvironmentVariables: DataGoogleCloudfunctionsFunctionSecretEnvironmentVariables = { ... }
```


### DataGoogleCloudfunctionsFunctionSecretVolumes <a name="DataGoogleCloudfunctionsFunctionSecretVolumes" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretVolumes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretVolumes.Initializer"></a>

```typescript
import { DataGoogleCloudfunctionsFunctionSecretVolumes } from '@dschmidt/provider-google'

const dataGoogleCloudfunctionsFunctionSecretVolumes: DataGoogleCloudfunctionsFunctionSecretVolumes = { ... }
```


### DataGoogleCloudfunctionsFunctionSecretVolumesVersions <a name="DataGoogleCloudfunctionsFunctionSecretVolumesVersions" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretVolumesVersions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSecretVolumesVersions.Initializer"></a>

```typescript
import { DataGoogleCloudfunctionsFunctionSecretVolumesVersions } from '@dschmidt/provider-google'

const dataGoogleCloudfunctionsFunctionSecretVolumesVersions: DataGoogleCloudfunctionsFunctionSecretVolumesVersions = { ... }
```


### DataGoogleCloudfunctionsFunctionSourceRepository <a name="DataGoogleCloudfunctionsFunctionSourceRepository" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSourceRepository"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudfunctionsFunctionSourceRepository.Initializer"></a>

```typescript
import { DataGoogleCloudfunctionsFunctionSourceRepository } from '@dschmidt/provider-google'

const dataGoogleCloudfunctionsFunctionSourceRepository: DataGoogleCloudfunctionsFunctionSourceRepository = { ... }
```


### DataGoogleCloudIdentityGroupMembershipsConfig <a name="DataGoogleCloudIdentityGroupMembershipsConfig" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.Initializer"></a>

```typescript
import { DataGoogleCloudIdentityGroupMembershipsConfig } from '@dschmidt/provider-google'

const dataGoogleCloudIdentityGroupMembershipsConfig: DataGoogleCloudIdentityGroupMembershipsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.group">group</a></code> | <code>string</code> | The name of the Group to get memberships from. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_identity_group_memberships#id DataGoogleCloudIdentityGroupMemberships#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `group`<sup>Required</sup> <a name="group" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.group"></a>

```typescript
public readonly group: string;
```

- *Type:* string

The name of the Group to get memberships from.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_identity_group_memberships#group DataGoogleCloudIdentityGroupMemberships#group}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_identity_group_memberships#id DataGoogleCloudIdentityGroupMemberships#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleCloudIdentityGroupMembershipsMemberships <a name="DataGoogleCloudIdentityGroupMembershipsMemberships" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsMemberships"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsMemberships.Initializer"></a>

```typescript
import { DataGoogleCloudIdentityGroupMembershipsMemberships } from '@dschmidt/provider-google'

const dataGoogleCloudIdentityGroupMembershipsMemberships: DataGoogleCloudIdentityGroupMembershipsMemberships = { ... }
```


### DataGoogleCloudIdentityGroupMembershipsMembershipsPreferredMemberKey <a name="DataGoogleCloudIdentityGroupMembershipsMembershipsPreferredMemberKey" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsMembershipsPreferredMemberKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsMembershipsPreferredMemberKey.Initializer"></a>

```typescript
import { DataGoogleCloudIdentityGroupMembershipsMembershipsPreferredMemberKey } from '@dschmidt/provider-google'

const dataGoogleCloudIdentityGroupMembershipsMembershipsPreferredMemberKey: DataGoogleCloudIdentityGroupMembershipsMembershipsPreferredMemberKey = { ... }
```


### DataGoogleCloudIdentityGroupMembershipsMembershipsRoles <a name="DataGoogleCloudIdentityGroupMembershipsMembershipsRoles" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsMembershipsRoles"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupMembershipsMembershipsRoles.Initializer"></a>

```typescript
import { DataGoogleCloudIdentityGroupMembershipsMembershipsRoles } from '@dschmidt/provider-google'

const dataGoogleCloudIdentityGroupMembershipsMembershipsRoles: DataGoogleCloudIdentityGroupMembershipsMembershipsRoles = { ... }
```


### DataGoogleCloudIdentityGroupsConfig <a name="DataGoogleCloudIdentityGroupsConfig" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.Initializer"></a>

```typescript
import { DataGoogleCloudIdentityGroupsConfig } from '@dschmidt/provider-google'

const dataGoogleCloudIdentityGroupsConfig: DataGoogleCloudIdentityGroupsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.parent">parent</a></code> | <code>string</code> | The resource name of the entity under which this Group resides in the Cloud Identity resource hierarchy. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_identity_groups#id DataGoogleCloudIdentityGroups#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The resource name of the entity under which this Group resides in the Cloud Identity resource hierarchy.

Must be of the form identitysources/{identity_source_id} for external-identity-mapped
groups or customers/{customer_id} for Google Groups.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_identity_groups#parent DataGoogleCloudIdentityGroups#parent}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_identity_groups#id DataGoogleCloudIdentityGroups#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleCloudIdentityGroupsGroups <a name="DataGoogleCloudIdentityGroupsGroups" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsGroups"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsGroups.Initializer"></a>

```typescript
import { DataGoogleCloudIdentityGroupsGroups } from '@dschmidt/provider-google'

const dataGoogleCloudIdentityGroupsGroups: DataGoogleCloudIdentityGroupsGroups = { ... }
```


### DataGoogleCloudIdentityGroupsGroupsGroupKey <a name="DataGoogleCloudIdentityGroupsGroupsGroupKey" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsGroupsGroupKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudIdentityGroupsGroupsGroupKey.Initializer"></a>

```typescript
import { DataGoogleCloudIdentityGroupsGroupsGroupKey } from '@dschmidt/provider-google'

const dataGoogleCloudIdentityGroupsGroupsGroupKey: DataGoogleCloudIdentityGroupsGroupsGroupKey = { ... }
```


### DataGoogleCloudRunLocationsConfig <a name="DataGoogleCloudRunLocationsConfig" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.Initializer"></a>

```typescript
import { DataGoogleCloudRunLocationsConfig } from '@dschmidt/provider-google'

const dataGoogleCloudRunLocationsConfig: DataGoogleCloudRunLocationsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_locations#id DataGoogleCloudRunLocations#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_locations#project DataGoogleCloudRunLocations#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_locations#id DataGoogleCloudRunLocations#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleCloudRunLocationsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_locations#project DataGoogleCloudRunLocations#project}.

---

### DataGoogleCloudRunServiceConfig <a name="DataGoogleCloudRunServiceConfig" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceConfig } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceConfig: DataGoogleCloudRunServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.location">location</a></code> | <code>string</code> | The location of the cloud run instance. eg us-central1. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.name">name</a></code> | <code>string</code> | Name must be unique within a namespace, within a Cloud Run region. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_service#id DataGoogleCloudRunService#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_service#project DataGoogleCloudRunService#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the cloud run instance. eg us-central1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_service#location DataGoogleCloudRunService#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name must be unique within a namespace, within a Cloud Run region.

Is required when creating resources. Name is primarily intended
for creation idempotence and configuration definition. Cannot be updated.
More info: http://kubernetes.io/docs/user-guide/identifiers#names

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_service#name DataGoogleCloudRunService#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_service#id DataGoogleCloudRunService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleCloudRunServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/cloud_run_service#project DataGoogleCloudRunService#project}.

---

### DataGoogleCloudRunServiceMetadata <a name="DataGoogleCloudRunServiceMetadata" id="@dschmidt/provider-google.DataGoogleCloudRunServiceMetadata"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceMetadata.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceMetadata } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceMetadata: DataGoogleCloudRunServiceMetadata = { ... }
```


### DataGoogleCloudRunServiceStatus <a name="DataGoogleCloudRunServiceStatus" id="@dschmidt/provider-google.DataGoogleCloudRunServiceStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceStatus.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceStatus } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceStatus: DataGoogleCloudRunServiceStatus = { ... }
```


### DataGoogleCloudRunServiceStatusConditions <a name="DataGoogleCloudRunServiceStatusConditions" id="@dschmidt/provider-google.DataGoogleCloudRunServiceStatusConditions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceStatusConditions.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceStatusConditions } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceStatusConditions: DataGoogleCloudRunServiceStatusConditions = { ... }
```


### DataGoogleCloudRunServiceTemplate <a name="DataGoogleCloudRunServiceTemplate" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplate.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplate } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplate: DataGoogleCloudRunServiceTemplate = { ... }
```


### DataGoogleCloudRunServiceTemplateMetadata <a name="DataGoogleCloudRunServiceTemplateMetadata" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateMetadata"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateMetadata.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateMetadata } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateMetadata: DataGoogleCloudRunServiceTemplateMetadata = { ... }
```


### DataGoogleCloudRunServiceTemplateSpec <a name="DataGoogleCloudRunServiceTemplateSpec" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpec.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpec } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpec: DataGoogleCloudRunServiceTemplateSpec = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainers <a name="DataGoogleCloudRunServiceTemplateSpecContainers" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainers.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainers } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainers: DataGoogleCloudRunServiceTemplateSpecContainers = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersEnv <a name="DataGoogleCloudRunServiceTemplateSpecContainersEnv" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnv"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnv.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersEnv } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersEnv: DataGoogleCloudRunServiceTemplateSpecContainersEnv = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersEnvFrom <a name="DataGoogleCloudRunServiceTemplateSpecContainersEnvFrom" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFrom.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersEnvFrom } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersEnvFrom: DataGoogleCloudRunServiceTemplateSpecContainersEnvFrom = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRef <a name="DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRef" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRef"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRef.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRef } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRef: DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRef = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference <a name="DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference: DataGoogleCloudRunServiceTemplateSpecContainersEnvFromConfigMapRefLocalObjectReference = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRef <a name="DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRef" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRef"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRef.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRef } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRef: DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRef = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference <a name="DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference: DataGoogleCloudRunServiceTemplateSpecContainersEnvFromSecretRefLocalObjectReference = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFrom <a name="DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFrom" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFrom"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFrom.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFrom } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersEnvValueFrom: DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFrom = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef <a name="DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef: DataGoogleCloudRunServiceTemplateSpecContainersEnvValueFromSecretKeyRef = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersPorts <a name="DataGoogleCloudRunServiceTemplateSpecContainersPorts" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersPorts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersPorts.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersPorts } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersPorts: DataGoogleCloudRunServiceTemplateSpecContainersPorts = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersResources <a name="DataGoogleCloudRunServiceTemplateSpecContainersResources" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersResources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersResources.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersResources } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersResources: DataGoogleCloudRunServiceTemplateSpecContainersResources = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecContainersVolumeMounts <a name="DataGoogleCloudRunServiceTemplateSpecContainersVolumeMounts" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersVolumeMounts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecContainersVolumeMounts.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecContainersVolumeMounts } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecContainersVolumeMounts: DataGoogleCloudRunServiceTemplateSpecContainersVolumeMounts = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecVolumes <a name="DataGoogleCloudRunServiceTemplateSpecVolumes" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecVolumes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecVolumes.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecVolumes } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecVolumes: DataGoogleCloudRunServiceTemplateSpecVolumes = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecVolumesSecret <a name="DataGoogleCloudRunServiceTemplateSpecVolumesSecret" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecVolumesSecret"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecVolumesSecret.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecVolumesSecret } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecVolumesSecret: DataGoogleCloudRunServiceTemplateSpecVolumesSecret = { ... }
```


### DataGoogleCloudRunServiceTemplateSpecVolumesSecretItems <a name="DataGoogleCloudRunServiceTemplateSpecVolumesSecretItems" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecVolumesSecretItems"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTemplateSpecVolumesSecretItems.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTemplateSpecVolumesSecretItems } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTemplateSpecVolumesSecretItems: DataGoogleCloudRunServiceTemplateSpecVolumesSecretItems = { ... }
```


### DataGoogleCloudRunServiceTraffic <a name="DataGoogleCloudRunServiceTraffic" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTraffic"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleCloudRunServiceTraffic.Initializer"></a>

```typescript
import { DataGoogleCloudRunServiceTraffic } from '@dschmidt/provider-google'

const dataGoogleCloudRunServiceTraffic: DataGoogleCloudRunServiceTraffic = { ... }
```


### DataGoogleComposerEnvironmentConfig <a name="DataGoogleComposerEnvironmentConfig" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfig } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfig: DataGoogleComposerEnvironmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.name">name</a></code> | <code>string</code> | Name of the environment. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_environment#id DataGoogleComposerEnvironment#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.region">region</a></code> | <code>string</code> | The location or Compute Engine region for the environment. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_environment#name DataGoogleComposerEnvironment#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_environment#id DataGoogleComposerEnvironment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_environment#project DataGoogleComposerEnvironment#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The location or Compute Engine region for the environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_environment#region DataGoogleComposerEnvironment#region}

---

### DataGoogleComposerEnvironmentConfigA <a name="DataGoogleComposerEnvironmentConfigA" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigA.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigA } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigA: DataGoogleComposerEnvironmentConfigA = { ... }
```


### DataGoogleComposerEnvironmentConfigDatabaseConfig <a name="DataGoogleComposerEnvironmentConfigDatabaseConfig" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigDatabaseConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigDatabaseConfig.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigDatabaseConfig } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigDatabaseConfig: DataGoogleComposerEnvironmentConfigDatabaseConfig = { ... }
```


### DataGoogleComposerEnvironmentConfigEncryptionConfig <a name="DataGoogleComposerEnvironmentConfigEncryptionConfig" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigEncryptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigEncryptionConfig.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigEncryptionConfig } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigEncryptionConfig: DataGoogleComposerEnvironmentConfigEncryptionConfig = { ... }
```


### DataGoogleComposerEnvironmentConfigMaintenanceWindow <a name="DataGoogleComposerEnvironmentConfigMaintenanceWindow" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigMaintenanceWindow.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigMaintenanceWindow } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigMaintenanceWindow: DataGoogleComposerEnvironmentConfigMaintenanceWindow = { ... }
```


### DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfig <a name="DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfig" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfig.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfig } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfig: DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfig = { ... }
```


### DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks <a name="DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks: DataGoogleComposerEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlocks = { ... }
```


### DataGoogleComposerEnvironmentConfigNodeConfig <a name="DataGoogleComposerEnvironmentConfigNodeConfig" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigNodeConfig.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigNodeConfig } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigNodeConfig: DataGoogleComposerEnvironmentConfigNodeConfig = { ... }
```


### DataGoogleComposerEnvironmentConfigNodeConfigIpAllocationPolicy <a name="DataGoogleComposerEnvironmentConfigNodeConfigIpAllocationPolicy" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigNodeConfigIpAllocationPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigNodeConfigIpAllocationPolicy.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigNodeConfigIpAllocationPolicy } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigNodeConfigIpAllocationPolicy: DataGoogleComposerEnvironmentConfigNodeConfigIpAllocationPolicy = { ... }
```


### DataGoogleComposerEnvironmentConfigPrivateEnvironmentConfig <a name="DataGoogleComposerEnvironmentConfigPrivateEnvironmentConfig" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigPrivateEnvironmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigPrivateEnvironmentConfig.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigPrivateEnvironmentConfig } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigPrivateEnvironmentConfig: DataGoogleComposerEnvironmentConfigPrivateEnvironmentConfig = { ... }
```


### DataGoogleComposerEnvironmentConfigSoftwareConfig <a name="DataGoogleComposerEnvironmentConfigSoftwareConfig" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigSoftwareConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigSoftwareConfig.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigSoftwareConfig } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigSoftwareConfig: DataGoogleComposerEnvironmentConfigSoftwareConfig = { ... }
```


### DataGoogleComposerEnvironmentConfigWebServerConfig <a name="DataGoogleComposerEnvironmentConfigWebServerConfig" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWebServerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWebServerConfig.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigWebServerConfig } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigWebServerConfig: DataGoogleComposerEnvironmentConfigWebServerConfig = { ... }
```


### DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControl <a name="DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControl" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControl"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControl.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControl } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigWebServerNetworkAccessControl: DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControl = { ... }
```


### DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange <a name="DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange: DataGoogleComposerEnvironmentConfigWebServerNetworkAccessControlAllowedIpRange = { ... }
```


### DataGoogleComposerEnvironmentConfigWorkloadsConfig <a name="DataGoogleComposerEnvironmentConfigWorkloadsConfig" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWorkloadsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWorkloadsConfig.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigWorkloadsConfig } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigWorkloadsConfig: DataGoogleComposerEnvironmentConfigWorkloadsConfig = { ... }
```


### DataGoogleComposerEnvironmentConfigWorkloadsConfigScheduler <a name="DataGoogleComposerEnvironmentConfigWorkloadsConfigScheduler" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWorkloadsConfigScheduler"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWorkloadsConfigScheduler.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigWorkloadsConfigScheduler } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigWorkloadsConfigScheduler: DataGoogleComposerEnvironmentConfigWorkloadsConfigScheduler = { ... }
```


### DataGoogleComposerEnvironmentConfigWorkloadsConfigWebServer <a name="DataGoogleComposerEnvironmentConfigWorkloadsConfigWebServer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWorkloadsConfigWebServer"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWorkloadsConfigWebServer.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigWorkloadsConfigWebServer } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigWorkloadsConfigWebServer: DataGoogleComposerEnvironmentConfigWorkloadsConfigWebServer = { ... }
```


### DataGoogleComposerEnvironmentConfigWorkloadsConfigWorker <a name="DataGoogleComposerEnvironmentConfigWorkloadsConfigWorker" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWorkloadsConfigWorker"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerEnvironmentConfigWorkloadsConfigWorker.Initializer"></a>

```typescript
import { DataGoogleComposerEnvironmentConfigWorkloadsConfigWorker } from '@dschmidt/provider-google'

const dataGoogleComposerEnvironmentConfigWorkloadsConfigWorker: DataGoogleComposerEnvironmentConfigWorkloadsConfigWorker = { ... }
```


### DataGoogleComposerImageVersionsConfig <a name="DataGoogleComposerImageVersionsConfig" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.Initializer"></a>

```typescript
import { DataGoogleComposerImageVersionsConfig } from '@dschmidt/provider-google'

const dataGoogleComposerImageVersionsConfig: DataGoogleComposerImageVersionsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_image_versions#id DataGoogleComposerImageVersions#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_image_versions#project DataGoogleComposerImageVersions#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_image_versions#region DataGoogleComposerImageVersions#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_image_versions#id DataGoogleComposerImageVersions#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_image_versions#project DataGoogleComposerImageVersions#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/composer_image_versions#region DataGoogleComposerImageVersions#region}.

---

### DataGoogleComposerImageVersionsImageVersions <a name="DataGoogleComposerImageVersionsImageVersions" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsImageVersions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComposerImageVersionsImageVersions.Initializer"></a>

```typescript
import { DataGoogleComposerImageVersionsImageVersions } from '@dschmidt/provider-google'

const dataGoogleComposerImageVersionsImageVersions: DataGoogleComposerImageVersionsImageVersions = { ... }
```


### DataGoogleComputeAddressConfig <a name="DataGoogleComputeAddressConfig" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.Initializer"></a>

```typescript
import { DataGoogleComputeAddressConfig } from '@dschmidt/provider-google'

const dataGoogleComputeAddressConfig: DataGoogleComputeAddressConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_address#name DataGoogleComputeAddress#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_address#id DataGoogleComputeAddress#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_address#project DataGoogleComputeAddress#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_address#region DataGoogleComputeAddress#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_address#name DataGoogleComputeAddress#name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_address#id DataGoogleComputeAddress#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_address#project DataGoogleComputeAddress#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeAddressConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_address#region DataGoogleComputeAddress#region}.

---

### DataGoogleComputeBackendBucketCdnPolicy <a name="DataGoogleComputeBackendBucketCdnPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicy.Initializer"></a>

```typescript
import { DataGoogleComputeBackendBucketCdnPolicy } from '@dschmidt/provider-google'

const dataGoogleComputeBackendBucketCdnPolicy: DataGoogleComputeBackendBucketCdnPolicy = { ... }
```


### DataGoogleComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders <a name="DataGoogleComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders.Initializer"></a>

```typescript
import { DataGoogleComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders } from '@dschmidt/provider-google'

const dataGoogleComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders: DataGoogleComputeBackendBucketCdnPolicyBypassCacheOnRequestHeaders = { ... }
```


### DataGoogleComputeBackendBucketCdnPolicyCacheKeyPolicy <a name="DataGoogleComputeBackendBucketCdnPolicyCacheKeyPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicyCacheKeyPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicyCacheKeyPolicy.Initializer"></a>

```typescript
import { DataGoogleComputeBackendBucketCdnPolicyCacheKeyPolicy } from '@dschmidt/provider-google'

const dataGoogleComputeBackendBucketCdnPolicyCacheKeyPolicy: DataGoogleComputeBackendBucketCdnPolicyCacheKeyPolicy = { ... }
```


### DataGoogleComputeBackendBucketCdnPolicyNegativeCachingPolicy <a name="DataGoogleComputeBackendBucketCdnPolicyNegativeCachingPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicyNegativeCachingPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketCdnPolicyNegativeCachingPolicy.Initializer"></a>

```typescript
import { DataGoogleComputeBackendBucketCdnPolicyNegativeCachingPolicy } from '@dschmidt/provider-google'

const dataGoogleComputeBackendBucketCdnPolicyNegativeCachingPolicy: DataGoogleComputeBackendBucketCdnPolicyNegativeCachingPolicy = { ... }
```


### DataGoogleComputeBackendBucketConfig <a name="DataGoogleComputeBackendBucketConfig" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.Initializer"></a>

```typescript
import { DataGoogleComputeBackendBucketConfig } from '@dschmidt/provider-google'

const dataGoogleComputeBackendBucketConfig: DataGoogleComputeBackendBucketConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_bucket#id DataGoogleComputeBackendBucket#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_bucket#project DataGoogleComputeBackendBucket#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the
last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_bucket#name DataGoogleComputeBackendBucket#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_bucket#id DataGoogleComputeBackendBucket#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeBackendBucketConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_bucket#project DataGoogleComputeBackendBucket#project}.

---

### DataGoogleComputeBackendServiceBackend <a name="DataGoogleComputeBackendServiceBackend" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceBackend"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceBackend.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceBackend } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceBackend: DataGoogleComputeBackendServiceBackend = { ... }
```


### DataGoogleComputeBackendServiceCdnPolicy <a name="DataGoogleComputeBackendServiceCdnPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceCdnPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceCdnPolicy.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceCdnPolicy } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceCdnPolicy: DataGoogleComputeBackendServiceCdnPolicy = { ... }
```


### DataGoogleComputeBackendServiceCdnPolicyCacheKeyPolicy <a name="DataGoogleComputeBackendServiceCdnPolicyCacheKeyPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceCdnPolicyCacheKeyPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceCdnPolicyCacheKeyPolicy.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceCdnPolicyCacheKeyPolicy } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceCdnPolicyCacheKeyPolicy: DataGoogleComputeBackendServiceCdnPolicyCacheKeyPolicy = { ... }
```


### DataGoogleComputeBackendServiceCdnPolicyNegativeCachingPolicy <a name="DataGoogleComputeBackendServiceCdnPolicyNegativeCachingPolicy" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceCdnPolicyNegativeCachingPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceCdnPolicyNegativeCachingPolicy.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceCdnPolicyNegativeCachingPolicy } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceCdnPolicyNegativeCachingPolicy: DataGoogleComputeBackendServiceCdnPolicyNegativeCachingPolicy = { ... }
```


### DataGoogleComputeBackendServiceCircuitBreakers <a name="DataGoogleComputeBackendServiceCircuitBreakers" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceCircuitBreakers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceCircuitBreakers.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceCircuitBreakers } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceCircuitBreakers: DataGoogleComputeBackendServiceCircuitBreakers = { ... }
```


### DataGoogleComputeBackendServiceConfig <a name="DataGoogleComputeBackendServiceConfig" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceConfig } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceConfig: DataGoogleComputeBackendServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_service#id DataGoogleComputeBackendService#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_service#project DataGoogleComputeBackendService#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_service#name DataGoogleComputeBackendService#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_service#id DataGoogleComputeBackendService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_backend_service#project DataGoogleComputeBackendService#project}.

---

### DataGoogleComputeBackendServiceConsistentHash <a name="DataGoogleComputeBackendServiceConsistentHash" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConsistentHash"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConsistentHash.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceConsistentHash } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceConsistentHash: DataGoogleComputeBackendServiceConsistentHash = { ... }
```


### DataGoogleComputeBackendServiceConsistentHashHttpCookie <a name="DataGoogleComputeBackendServiceConsistentHashHttpCookie" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConsistentHashHttpCookie"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConsistentHashHttpCookie.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceConsistentHashHttpCookie } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceConsistentHashHttpCookie: DataGoogleComputeBackendServiceConsistentHashHttpCookie = { ... }
```


### DataGoogleComputeBackendServiceConsistentHashHttpCookieTtl <a name="DataGoogleComputeBackendServiceConsistentHashHttpCookieTtl" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConsistentHashHttpCookieTtl"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceConsistentHashHttpCookieTtl.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceConsistentHashHttpCookieTtl } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceConsistentHashHttpCookieTtl: DataGoogleComputeBackendServiceConsistentHashHttpCookieTtl = { ... }
```


### DataGoogleComputeBackendServiceIap <a name="DataGoogleComputeBackendServiceIap" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceIap"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceIap.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceIap } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceIap: DataGoogleComputeBackendServiceIap = { ... }
```


### DataGoogleComputeBackendServiceLogConfig <a name="DataGoogleComputeBackendServiceLogConfig" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceLogConfig.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceLogConfig } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceLogConfig: DataGoogleComputeBackendServiceLogConfig = { ... }
```


### DataGoogleComputeBackendServiceOutlierDetection <a name="DataGoogleComputeBackendServiceOutlierDetection" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceOutlierDetection"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceOutlierDetection.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceOutlierDetection } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceOutlierDetection: DataGoogleComputeBackendServiceOutlierDetection = { ... }
```


### DataGoogleComputeBackendServiceOutlierDetectionBaseEjectionTime <a name="DataGoogleComputeBackendServiceOutlierDetectionBaseEjectionTime" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceOutlierDetectionBaseEjectionTime"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceOutlierDetectionBaseEjectionTime.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceOutlierDetectionBaseEjectionTime } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceOutlierDetectionBaseEjectionTime: DataGoogleComputeBackendServiceOutlierDetectionBaseEjectionTime = { ... }
```


### DataGoogleComputeBackendServiceOutlierDetectionInterval <a name="DataGoogleComputeBackendServiceOutlierDetectionInterval" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceOutlierDetectionInterval"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceOutlierDetectionInterval.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceOutlierDetectionInterval } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceOutlierDetectionInterval: DataGoogleComputeBackendServiceOutlierDetectionInterval = { ... }
```


### DataGoogleComputeBackendServiceSecuritySettings <a name="DataGoogleComputeBackendServiceSecuritySettings" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceSecuritySettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeBackendServiceSecuritySettings.Initializer"></a>

```typescript
import { DataGoogleComputeBackendServiceSecuritySettings } from '@dschmidt/provider-google'

const dataGoogleComputeBackendServiceSecuritySettings: DataGoogleComputeBackendServiceSecuritySettings = { ... }
```


### DataGoogleComputeDefaultServiceAccountConfig <a name="DataGoogleComputeDefaultServiceAccountConfig" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.Initializer"></a>

```typescript
import { DataGoogleComputeDefaultServiceAccountConfig } from '@dschmidt/provider-google'

const dataGoogleComputeDefaultServiceAccountConfig: DataGoogleComputeDefaultServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_default_service_account#id DataGoogleComputeDefaultServiceAccount#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_default_service_account#project DataGoogleComputeDefaultServiceAccount#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_default_service_account#id DataGoogleComputeDefaultServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeDefaultServiceAccountConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_default_service_account#project DataGoogleComputeDefaultServiceAccount#project}.

---

### DataGoogleComputeDiskConfig <a name="DataGoogleComputeDiskConfig" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.Initializer"></a>

```typescript
import { DataGoogleComputeDiskConfig } from '@dschmidt/provider-google'

const dataGoogleComputeDiskConfig: DataGoogleComputeDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_disk#id DataGoogleComputeDisk#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_disk#project DataGoogleComputeDisk#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.zone">zone</a></code> | <code>string</code> | A reference to the zone where the disk resides. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_disk#name DataGoogleComputeDisk#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_disk#id DataGoogleComputeDisk#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_disk#project DataGoogleComputeDisk#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeDiskConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

A reference to the zone where the disk resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_disk#zone DataGoogleComputeDisk#zone}

---

### DataGoogleComputeDiskDiskEncryptionKey <a name="DataGoogleComputeDiskDiskEncryptionKey" id="@dschmidt/provider-google.DataGoogleComputeDiskDiskEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeDiskDiskEncryptionKey.Initializer"></a>

```typescript
import { DataGoogleComputeDiskDiskEncryptionKey } from '@dschmidt/provider-google'

const dataGoogleComputeDiskDiskEncryptionKey: DataGoogleComputeDiskDiskEncryptionKey = { ... }
```


### DataGoogleComputeDiskSourceImageEncryptionKey <a name="DataGoogleComputeDiskSourceImageEncryptionKey" id="@dschmidt/provider-google.DataGoogleComputeDiskSourceImageEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeDiskSourceImageEncryptionKey.Initializer"></a>

```typescript
import { DataGoogleComputeDiskSourceImageEncryptionKey } from '@dschmidt/provider-google'

const dataGoogleComputeDiskSourceImageEncryptionKey: DataGoogleComputeDiskSourceImageEncryptionKey = { ... }
```


### DataGoogleComputeDiskSourceSnapshotEncryptionKey <a name="DataGoogleComputeDiskSourceSnapshotEncryptionKey" id="@dschmidt/provider-google.DataGoogleComputeDiskSourceSnapshotEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeDiskSourceSnapshotEncryptionKey.Initializer"></a>

```typescript
import { DataGoogleComputeDiskSourceSnapshotEncryptionKey } from '@dschmidt/provider-google'

const dataGoogleComputeDiskSourceSnapshotEncryptionKey: DataGoogleComputeDiskSourceSnapshotEncryptionKey = { ... }
```


### DataGoogleComputeForwardingRuleConfig <a name="DataGoogleComputeForwardingRuleConfig" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.Initializer"></a>

```typescript
import { DataGoogleComputeForwardingRuleConfig } from '@dschmidt/provider-google'

const dataGoogleComputeForwardingRuleConfig: DataGoogleComputeForwardingRuleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_forwarding_rule#id DataGoogleComputeForwardingRule#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.project">project</a></code> | <code>string</code> | The project this resource belongs in. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.region">region</a></code> | <code>string</code> | The location of this resource. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is created. The name must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_forwarding_rule#name DataGoogleComputeForwardingRule#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_forwarding_rule#id DataGoogleComputeForwardingRule#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project this resource belongs in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_forwarding_rule#project DataGoogleComputeForwardingRule#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The location of this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_forwarding_rule#region DataGoogleComputeForwardingRule#region}

---

### DataGoogleComputeForwardingRuleServiceDirectoryRegistrations <a name="DataGoogleComputeForwardingRuleServiceDirectoryRegistrations" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleServiceDirectoryRegistrations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeForwardingRuleServiceDirectoryRegistrations.Initializer"></a>

```typescript
import { DataGoogleComputeForwardingRuleServiceDirectoryRegistrations } from '@dschmidt/provider-google'

const dataGoogleComputeForwardingRuleServiceDirectoryRegistrations: DataGoogleComputeForwardingRuleServiceDirectoryRegistrations = { ... }
```


### DataGoogleComputeGlobalAddressConfig <a name="DataGoogleComputeGlobalAddressConfig" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.Initializer"></a>

```typescript
import { DataGoogleComputeGlobalAddressConfig } from '@dschmidt/provider-google'

const dataGoogleComputeGlobalAddressConfig: DataGoogleComputeGlobalAddressConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_address#name DataGoogleComputeGlobalAddress#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_address#id DataGoogleComputeGlobalAddress#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_address#project DataGoogleComputeGlobalAddress#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_address#name DataGoogleComputeGlobalAddress#name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_address#id DataGoogleComputeGlobalAddress#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeGlobalAddressConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_address#project DataGoogleComputeGlobalAddress#project}.

---

### DataGoogleComputeGlobalForwardingRuleConfig <a name="DataGoogleComputeGlobalForwardingRuleConfig" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.Initializer"></a>

```typescript
import { DataGoogleComputeGlobalForwardingRuleConfig } from '@dschmidt/provider-google'

const dataGoogleComputeGlobalForwardingRuleConfig: DataGoogleComputeGlobalForwardingRuleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_forwarding_rule#id DataGoogleComputeGlobalForwardingRule#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.project">project</a></code> | <code>string</code> | The project this resource belongs in. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is created. The name must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_forwarding_rule#name DataGoogleComputeGlobalForwardingRule#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_forwarding_rule#id DataGoogleComputeGlobalForwardingRule#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project this resource belongs in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_global_forwarding_rule#project DataGoogleComputeGlobalForwardingRule#project}

---

### DataGoogleComputeGlobalForwardingRuleMetadataFilters <a name="DataGoogleComputeGlobalForwardingRuleMetadataFilters" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleMetadataFilters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleMetadataFilters.Initializer"></a>

```typescript
import { DataGoogleComputeGlobalForwardingRuleMetadataFilters } from '@dschmidt/provider-google'

const dataGoogleComputeGlobalForwardingRuleMetadataFilters: DataGoogleComputeGlobalForwardingRuleMetadataFilters = { ... }
```


### DataGoogleComputeGlobalForwardingRuleMetadataFiltersFilterLabels <a name="DataGoogleComputeGlobalForwardingRuleMetadataFiltersFilterLabels" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleMetadataFiltersFilterLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeGlobalForwardingRuleMetadataFiltersFilterLabels.Initializer"></a>

```typescript
import { DataGoogleComputeGlobalForwardingRuleMetadataFiltersFilterLabels } from '@dschmidt/provider-google'

const dataGoogleComputeGlobalForwardingRuleMetadataFiltersFilterLabels: DataGoogleComputeGlobalForwardingRuleMetadataFiltersFilterLabels = { ... }
```


### DataGoogleComputeHaVpnGatewayConfig <a name="DataGoogleComputeHaVpnGatewayConfig" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.Initializer"></a>

```typescript
import { DataGoogleComputeHaVpnGatewayConfig } from '@dschmidt/provider-google'

const dataGoogleComputeHaVpnGatewayConfig: DataGoogleComputeHaVpnGatewayConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ha_vpn_gateway#id DataGoogleComputeHaVpnGateway#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ha_vpn_gateway#project DataGoogleComputeHaVpnGateway#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.region">region</a></code> | <code>string</code> | The region this gateway should sit in. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ha_vpn_gateway#name DataGoogleComputeHaVpnGateway#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ha_vpn_gateway#id DataGoogleComputeHaVpnGateway#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ha_vpn_gateway#project DataGoogleComputeHaVpnGateway#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region this gateway should sit in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ha_vpn_gateway#region DataGoogleComputeHaVpnGateway#region}

---

### DataGoogleComputeHaVpnGatewayVpnInterfaces <a name="DataGoogleComputeHaVpnGatewayVpnInterfaces" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayVpnInterfaces"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHaVpnGatewayVpnInterfaces.Initializer"></a>

```typescript
import { DataGoogleComputeHaVpnGatewayVpnInterfaces } from '@dschmidt/provider-google'

const dataGoogleComputeHaVpnGatewayVpnInterfaces: DataGoogleComputeHaVpnGatewayVpnInterfaces = { ... }
```


### DataGoogleComputeHealthCheckConfig <a name="DataGoogleComputeHealthCheckConfig" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.Initializer"></a>

```typescript
import { DataGoogleComputeHealthCheckConfig } from '@dschmidt/provider-google'

const dataGoogleComputeHealthCheckConfig: DataGoogleComputeHealthCheckConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_health_check#id DataGoogleComputeHealthCheck#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_health_check#project DataGoogleComputeHealthCheck#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035.  Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means
the first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the
last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_health_check#name DataGoogleComputeHealthCheck#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_health_check#id DataGoogleComputeHealthCheck#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_health_check#project DataGoogleComputeHealthCheck#project}.

---

### DataGoogleComputeHealthCheckGrpcHealthCheck <a name="DataGoogleComputeHealthCheckGrpcHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckGrpcHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckGrpcHealthCheck.Initializer"></a>

```typescript
import { DataGoogleComputeHealthCheckGrpcHealthCheck } from '@dschmidt/provider-google'

const dataGoogleComputeHealthCheckGrpcHealthCheck: DataGoogleComputeHealthCheckGrpcHealthCheck = { ... }
```


### DataGoogleComputeHealthCheckHttp2HealthCheck <a name="DataGoogleComputeHealthCheckHttp2HealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckHttp2HealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckHttp2HealthCheck.Initializer"></a>

```typescript
import { DataGoogleComputeHealthCheckHttp2HealthCheck } from '@dschmidt/provider-google'

const dataGoogleComputeHealthCheckHttp2HealthCheck: DataGoogleComputeHealthCheckHttp2HealthCheck = { ... }
```


### DataGoogleComputeHealthCheckHttpHealthCheck <a name="DataGoogleComputeHealthCheckHttpHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckHttpHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckHttpHealthCheck.Initializer"></a>

```typescript
import { DataGoogleComputeHealthCheckHttpHealthCheck } from '@dschmidt/provider-google'

const dataGoogleComputeHealthCheckHttpHealthCheck: DataGoogleComputeHealthCheckHttpHealthCheck = { ... }
```


### DataGoogleComputeHealthCheckHttpsHealthCheck <a name="DataGoogleComputeHealthCheckHttpsHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckHttpsHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckHttpsHealthCheck.Initializer"></a>

```typescript
import { DataGoogleComputeHealthCheckHttpsHealthCheck } from '@dschmidt/provider-google'

const dataGoogleComputeHealthCheckHttpsHealthCheck: DataGoogleComputeHealthCheckHttpsHealthCheck = { ... }
```


### DataGoogleComputeHealthCheckLogConfig <a name="DataGoogleComputeHealthCheckLogConfig" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckLogConfig.Initializer"></a>

```typescript
import { DataGoogleComputeHealthCheckLogConfig } from '@dschmidt/provider-google'

const dataGoogleComputeHealthCheckLogConfig: DataGoogleComputeHealthCheckLogConfig = { ... }
```


### DataGoogleComputeHealthCheckSslHealthCheck <a name="DataGoogleComputeHealthCheckSslHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckSslHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckSslHealthCheck.Initializer"></a>

```typescript
import { DataGoogleComputeHealthCheckSslHealthCheck } from '@dschmidt/provider-google'

const dataGoogleComputeHealthCheckSslHealthCheck: DataGoogleComputeHealthCheckSslHealthCheck = { ... }
```


### DataGoogleComputeHealthCheckTcpHealthCheck <a name="DataGoogleComputeHealthCheckTcpHealthCheck" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckTcpHealthCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeHealthCheckTcpHealthCheck.Initializer"></a>

```typescript
import { DataGoogleComputeHealthCheckTcpHealthCheck } from '@dschmidt/provider-google'

const dataGoogleComputeHealthCheckTcpHealthCheck: DataGoogleComputeHealthCheckTcpHealthCheck = { ... }
```


### DataGoogleComputeImageConfig <a name="DataGoogleComputeImageConfig" id="@dschmidt/provider-google.DataGoogleComputeImageConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.Initializer"></a>

```typescript
import { DataGoogleComputeImageConfig } from '@dschmidt/provider-google'

const dataGoogleComputeImageConfig: DataGoogleComputeImageConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.family">family</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#family DataGoogleComputeImage#family}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.filter">filter</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#filter DataGoogleComputeImage#filter}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#id DataGoogleComputeImage#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#name DataGoogleComputeImage#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeImageConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#project DataGoogleComputeImage#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `family`<sup>Optional</sup> <a name="family" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.family"></a>

```typescript
public readonly family: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#family DataGoogleComputeImage#family}.

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#filter DataGoogleComputeImage#filter}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#id DataGoogleComputeImage#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#name DataGoogleComputeImage#name}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeImageConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_image#project DataGoogleComputeImage#project}.

---

### DataGoogleComputeInstanceAdvancedMachineFeatures <a name="DataGoogleComputeInstanceAdvancedMachineFeatures" id="@dschmidt/provider-google.DataGoogleComputeInstanceAdvancedMachineFeatures"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceAdvancedMachineFeatures.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceAdvancedMachineFeatures } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceAdvancedMachineFeatures: DataGoogleComputeInstanceAdvancedMachineFeatures = { ... }
```


### DataGoogleComputeInstanceAttachedDisk <a name="DataGoogleComputeInstanceAttachedDisk" id="@dschmidt/provider-google.DataGoogleComputeInstanceAttachedDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceAttachedDisk.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceAttachedDisk } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceAttachedDisk: DataGoogleComputeInstanceAttachedDisk = { ... }
```


### DataGoogleComputeInstanceBootDisk <a name="DataGoogleComputeInstanceBootDisk" id="@dschmidt/provider-google.DataGoogleComputeInstanceBootDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceBootDisk.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceBootDisk } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceBootDisk: DataGoogleComputeInstanceBootDisk = { ... }
```


### DataGoogleComputeInstanceBootDiskInitializeParams <a name="DataGoogleComputeInstanceBootDiskInitializeParams" id="@dschmidt/provider-google.DataGoogleComputeInstanceBootDiskInitializeParams"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceBootDiskInitializeParams.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceBootDiskInitializeParams } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceBootDiskInitializeParams: DataGoogleComputeInstanceBootDiskInitializeParams = { ... }
```


### DataGoogleComputeInstanceConfidentialInstanceConfig <a name="DataGoogleComputeInstanceConfidentialInstanceConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfidentialInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfidentialInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceConfidentialInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceConfidentialInstanceConfig: DataGoogleComputeInstanceConfidentialInstanceConfig = { ... }
```


### DataGoogleComputeInstanceConfig <a name="DataGoogleComputeInstanceConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceConfig: DataGoogleComputeInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance#id DataGoogleComputeInstance#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.name">name</a></code> | <code>string</code> | The name of the instance. One of name or self_link must be provided. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.selfLink">selfLink</a></code> | <code>string</code> | The URI of the created resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.zone">zone</a></code> | <code>string</code> | The zone of the instance. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance#id DataGoogleComputeInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance. One of name or self_link must be provided.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance#name DataGoogleComputeInstance#name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance#project DataGoogleComputeInstance#project}

---

##### `selfLink`<sup>Optional</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

The URI of the created resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance#self_link DataGoogleComputeInstance#self_link}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeInstanceConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone of the instance.

If self_link is provided, this value is ignored. If neither self_link nor zone are provided, the provider zone is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance#zone DataGoogleComputeInstance#zone}

---

### DataGoogleComputeInstanceGroupConfig <a name="DataGoogleComputeInstanceGroupConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceGroupConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceGroupConfig: DataGoogleComputeInstanceGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#id DataGoogleComputeInstanceGroup#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#name DataGoogleComputeInstanceGroup#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#project DataGoogleComputeInstanceGroup#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.selfLink">selfLink</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#self_link DataGoogleComputeInstanceGroup#self_link}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#zone DataGoogleComputeInstanceGroup#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#id DataGoogleComputeInstanceGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#name DataGoogleComputeInstanceGroup#name}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#project DataGoogleComputeInstanceGroup#project}.

---

##### `selfLink`<sup>Optional</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#self_link DataGoogleComputeInstanceGroup#self_link}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_group#zone DataGoogleComputeInstanceGroup#zone}.

---

### DataGoogleComputeInstanceGroupNamedPort <a name="DataGoogleComputeInstanceGroupNamedPort" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupNamedPort"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceGroupNamedPort.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceGroupNamedPort } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceGroupNamedPort: DataGoogleComputeInstanceGroupNamedPort = { ... }
```


### DataGoogleComputeInstanceGuestAccelerator <a name="DataGoogleComputeInstanceGuestAccelerator" id="@dschmidt/provider-google.DataGoogleComputeInstanceGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceGuestAccelerator.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceGuestAccelerator } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceGuestAccelerator: DataGoogleComputeInstanceGuestAccelerator = { ... }
```


### DataGoogleComputeInstanceNetworkInterface <a name="DataGoogleComputeInstanceNetworkInterface" id="@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterface"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterface.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceNetworkInterface } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceNetworkInterface: DataGoogleComputeInstanceNetworkInterface = { ... }
```


### DataGoogleComputeInstanceNetworkInterfaceAccessConfig <a name="DataGoogleComputeInstanceNetworkInterfaceAccessConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterfaceAccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterfaceAccessConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceNetworkInterfaceAccessConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceNetworkInterfaceAccessConfig: DataGoogleComputeInstanceNetworkInterfaceAccessConfig = { ... }
```


### DataGoogleComputeInstanceNetworkInterfaceAliasIpRange <a name="DataGoogleComputeInstanceNetworkInterfaceAliasIpRange" id="@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterfaceAliasIpRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterfaceAliasIpRange.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceNetworkInterfaceAliasIpRange } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceNetworkInterfaceAliasIpRange: DataGoogleComputeInstanceNetworkInterfaceAliasIpRange = { ... }
```


### DataGoogleComputeInstanceNetworkInterfaceIpv6AccessConfig <a name="DataGoogleComputeInstanceNetworkInterfaceIpv6AccessConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterfaceIpv6AccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceNetworkInterfaceIpv6AccessConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceNetworkInterfaceIpv6AccessConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceNetworkInterfaceIpv6AccessConfig: DataGoogleComputeInstanceNetworkInterfaceIpv6AccessConfig = { ... }
```


### DataGoogleComputeInstanceReservationAffinity <a name="DataGoogleComputeInstanceReservationAffinity" id="@dschmidt/provider-google.DataGoogleComputeInstanceReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceReservationAffinity.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceReservationAffinity } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceReservationAffinity: DataGoogleComputeInstanceReservationAffinity = { ... }
```


### DataGoogleComputeInstanceReservationAffinitySpecificReservation <a name="DataGoogleComputeInstanceReservationAffinitySpecificReservation" id="@dschmidt/provider-google.DataGoogleComputeInstanceReservationAffinitySpecificReservation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceReservationAffinitySpecificReservation.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceReservationAffinitySpecificReservation } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceReservationAffinitySpecificReservation: DataGoogleComputeInstanceReservationAffinitySpecificReservation = { ... }
```


### DataGoogleComputeInstanceScheduling <a name="DataGoogleComputeInstanceScheduling" id="@dschmidt/provider-google.DataGoogleComputeInstanceScheduling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceScheduling.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceScheduling } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceScheduling: DataGoogleComputeInstanceScheduling = { ... }
```


### DataGoogleComputeInstanceSchedulingNodeAffinities <a name="DataGoogleComputeInstanceSchedulingNodeAffinities" id="@dschmidt/provider-google.DataGoogleComputeInstanceSchedulingNodeAffinities"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceSchedulingNodeAffinities.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceSchedulingNodeAffinities } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceSchedulingNodeAffinities: DataGoogleComputeInstanceSchedulingNodeAffinities = { ... }
```


### DataGoogleComputeInstanceScratchDisk <a name="DataGoogleComputeInstanceScratchDisk" id="@dschmidt/provider-google.DataGoogleComputeInstanceScratchDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceScratchDisk.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceScratchDisk } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceScratchDisk: DataGoogleComputeInstanceScratchDisk = { ... }
```


### DataGoogleComputeInstanceSerialPortConfig <a name="DataGoogleComputeInstanceSerialPortConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceSerialPortConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceSerialPortConfig: DataGoogleComputeInstanceSerialPortConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#instance DataGoogleComputeInstanceSerialPort#instance}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.port">port</a></code> | <code>number</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#port DataGoogleComputeInstanceSerialPort#port}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#id DataGoogleComputeInstanceSerialPort#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#project DataGoogleComputeInstanceSerialPort#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#zone DataGoogleComputeInstanceSerialPort#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#instance DataGoogleComputeInstanceSerialPort#instance}.

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#port DataGoogleComputeInstanceSerialPort#port}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#id DataGoogleComputeInstanceSerialPort#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#project DataGoogleComputeInstanceSerialPort#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeInstanceSerialPortConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_serial_port#zone DataGoogleComputeInstanceSerialPort#zone}.

---

### DataGoogleComputeInstanceServiceAccount <a name="DataGoogleComputeInstanceServiceAccount" id="@dschmidt/provider-google.DataGoogleComputeInstanceServiceAccount"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceServiceAccount.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceServiceAccount } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceServiceAccount: DataGoogleComputeInstanceServiceAccount = { ... }
```


### DataGoogleComputeInstanceShieldedInstanceConfig <a name="DataGoogleComputeInstanceShieldedInstanceConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceShieldedInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceShieldedInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceShieldedInstanceConfig: DataGoogleComputeInstanceShieldedInstanceConfig = { ... }
```


### DataGoogleComputeInstanceTemplateAdvancedMachineFeatures <a name="DataGoogleComputeInstanceTemplateAdvancedMachineFeatures" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateAdvancedMachineFeatures"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateAdvancedMachineFeatures.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateAdvancedMachineFeatures } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateAdvancedMachineFeatures: DataGoogleComputeInstanceTemplateAdvancedMachineFeatures = { ... }
```


### DataGoogleComputeInstanceTemplateConfidentialInstanceConfig <a name="DataGoogleComputeInstanceTemplateConfidentialInstanceConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfidentialInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfidentialInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateConfidentialInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateConfidentialInstanceConfig: DataGoogleComputeInstanceTemplateConfidentialInstanceConfig = { ... }
```


### DataGoogleComputeInstanceTemplateConfig <a name="DataGoogleComputeInstanceTemplateConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateConfig: DataGoogleComputeInstanceTemplateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.filter">filter</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_template#filter DataGoogleComputeInstanceTemplate#filter}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_template#id DataGoogleComputeInstanceTemplate#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.mostRecent">mostRecent</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_template#most_recent DataGoogleComputeInstanceTemplate#most_recent}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.name">name</a></code> | <code>string</code> | The name of the instance template. If you leave this blank, Terraform will auto-generate a unique name. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_template#filter DataGoogleComputeInstanceTemplate#filter}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_template#id DataGoogleComputeInstanceTemplate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `mostRecent`<sup>Optional</sup> <a name="mostRecent" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.mostRecent"></a>

```typescript
public readonly mostRecent: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_template#most_recent DataGoogleComputeInstanceTemplate#most_recent}.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance template. If you leave this blank, Terraform will auto-generate a unique name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_template#name DataGoogleComputeInstanceTemplate#name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_instance_template#project DataGoogleComputeInstanceTemplate#project}

---

### DataGoogleComputeInstanceTemplateDisk <a name="DataGoogleComputeInstanceTemplateDisk" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateDisk.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateDisk } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateDisk: DataGoogleComputeInstanceTemplateDisk = { ... }
```


### DataGoogleComputeInstanceTemplateDiskDiskEncryptionKey <a name="DataGoogleComputeInstanceTemplateDiskDiskEncryptionKey" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateDiskDiskEncryptionKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateDiskDiskEncryptionKey.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateDiskDiskEncryptionKey } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateDiskDiskEncryptionKey: DataGoogleComputeInstanceTemplateDiskDiskEncryptionKey = { ... }
```


### DataGoogleComputeInstanceTemplateGuestAccelerator <a name="DataGoogleComputeInstanceTemplateGuestAccelerator" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateGuestAccelerator.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateGuestAccelerator } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateGuestAccelerator: DataGoogleComputeInstanceTemplateGuestAccelerator = { ... }
```


### DataGoogleComputeInstanceTemplateNetworkInterface <a name="DataGoogleComputeInstanceTemplateNetworkInterface" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterface"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterface.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateNetworkInterface } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateNetworkInterface: DataGoogleComputeInstanceTemplateNetworkInterface = { ... }
```


### DataGoogleComputeInstanceTemplateNetworkInterfaceAccessConfig <a name="DataGoogleComputeInstanceTemplateNetworkInterfaceAccessConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterfaceAccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterfaceAccessConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateNetworkInterfaceAccessConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateNetworkInterfaceAccessConfig: DataGoogleComputeInstanceTemplateNetworkInterfaceAccessConfig = { ... }
```


### DataGoogleComputeInstanceTemplateNetworkInterfaceAliasIpRange <a name="DataGoogleComputeInstanceTemplateNetworkInterfaceAliasIpRange" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterfaceAliasIpRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterfaceAliasIpRange.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateNetworkInterfaceAliasIpRange } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateNetworkInterfaceAliasIpRange: DataGoogleComputeInstanceTemplateNetworkInterfaceAliasIpRange = { ... }
```


### DataGoogleComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig <a name="DataGoogleComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig: DataGoogleComputeInstanceTemplateNetworkInterfaceIpv6AccessConfig = { ... }
```


### DataGoogleComputeInstanceTemplateReservationAffinity <a name="DataGoogleComputeInstanceTemplateReservationAffinity" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateReservationAffinity.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateReservationAffinity } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateReservationAffinity: DataGoogleComputeInstanceTemplateReservationAffinity = { ... }
```


### DataGoogleComputeInstanceTemplateReservationAffinitySpecificReservation <a name="DataGoogleComputeInstanceTemplateReservationAffinitySpecificReservation" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateReservationAffinitySpecificReservation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateReservationAffinitySpecificReservation.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateReservationAffinitySpecificReservation } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateReservationAffinitySpecificReservation: DataGoogleComputeInstanceTemplateReservationAffinitySpecificReservation = { ... }
```


### DataGoogleComputeInstanceTemplateScheduling <a name="DataGoogleComputeInstanceTemplateScheduling" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateScheduling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateScheduling.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateScheduling } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateScheduling: DataGoogleComputeInstanceTemplateScheduling = { ... }
```


### DataGoogleComputeInstanceTemplateSchedulingNodeAffinities <a name="DataGoogleComputeInstanceTemplateSchedulingNodeAffinities" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateSchedulingNodeAffinities"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateSchedulingNodeAffinities.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateSchedulingNodeAffinities } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateSchedulingNodeAffinities: DataGoogleComputeInstanceTemplateSchedulingNodeAffinities = { ... }
```


### DataGoogleComputeInstanceTemplateServiceAccount <a name="DataGoogleComputeInstanceTemplateServiceAccount" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateServiceAccount"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateServiceAccount.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateServiceAccount } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateServiceAccount: DataGoogleComputeInstanceTemplateServiceAccount = { ... }
```


### DataGoogleComputeInstanceTemplateShieldedInstanceConfig <a name="DataGoogleComputeInstanceTemplateShieldedInstanceConfig" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeInstanceTemplateShieldedInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleComputeInstanceTemplateShieldedInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleComputeInstanceTemplateShieldedInstanceConfig: DataGoogleComputeInstanceTemplateShieldedInstanceConfig = { ... }
```


### DataGoogleComputeLbIpRangesConfig <a name="DataGoogleComputeLbIpRangesConfig" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.Initializer"></a>

```typescript
import { DataGoogleComputeLbIpRangesConfig } from '@dschmidt/provider-google'

const dataGoogleComputeLbIpRangesConfig: DataGoogleComputeLbIpRangesConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_lb_ip_ranges#id DataGoogleComputeLbIpRanges#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeLbIpRangesConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_lb_ip_ranges#id DataGoogleComputeLbIpRanges#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleComputeNetworkConfig <a name="DataGoogleComputeNetworkConfig" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.Initializer"></a>

```typescript
import { DataGoogleComputeNetworkConfig } from '@dschmidt/provider-google'

const dataGoogleComputeNetworkConfig: DataGoogleComputeNetworkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network#name DataGoogleComputeNetwork#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network#id DataGoogleComputeNetwork#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network#project DataGoogleComputeNetwork#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network#name DataGoogleComputeNetwork#name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network#id DataGoogleComputeNetwork#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeNetworkConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network#project DataGoogleComputeNetwork#project}.

---

### DataGoogleComputeNetworkEndpointGroupConfig <a name="DataGoogleComputeNetworkEndpointGroupConfig" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.Initializer"></a>

```typescript
import { DataGoogleComputeNetworkEndpointGroupConfig } from '@dschmidt/provider-google'

const dataGoogleComputeNetworkEndpointGroupConfig: DataGoogleComputeNetworkEndpointGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network_endpoint_group#id DataGoogleComputeNetworkEndpointGroup#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network_endpoint_group#project DataGoogleComputeNetworkEndpointGroup#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.selfLink">selfLink</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network_endpoint_group#self_link DataGoogleComputeNetworkEndpointGroup#self_link}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.zone">zone</a></code> | <code>string</code> | Zone where the network endpoint group is located. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network_endpoint_group#id DataGoogleComputeNetworkEndpointGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network_endpoint_group#name DataGoogleComputeNetworkEndpointGroup#name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network_endpoint_group#project DataGoogleComputeNetworkEndpointGroup#project}.

---

##### `selfLink`<sup>Optional</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network_endpoint_group#self_link DataGoogleComputeNetworkEndpointGroup#self_link}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeNetworkEndpointGroupConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Zone where the network endpoint group is located.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_network_endpoint_group#zone DataGoogleComputeNetworkEndpointGroup#zone}

---

### DataGoogleComputeNodeTypesConfig <a name="DataGoogleComputeNodeTypesConfig" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.Initializer"></a>

```typescript
import { DataGoogleComputeNodeTypesConfig } from '@dschmidt/provider-google'

const dataGoogleComputeNodeTypesConfig: DataGoogleComputeNodeTypesConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_node_types#id DataGoogleComputeNodeTypes#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_node_types#project DataGoogleComputeNodeTypes#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_node_types#zone DataGoogleComputeNodeTypes#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_node_types#id DataGoogleComputeNodeTypes#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_node_types#project DataGoogleComputeNodeTypes#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleComputeNodeTypesConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_node_types#zone DataGoogleComputeNodeTypes#zone}.

---

### DataGoogleComputeRegionInstanceGroupConfig <a name="DataGoogleComputeRegionInstanceGroupConfig" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.Initializer"></a>

```typescript
import { DataGoogleComputeRegionInstanceGroupConfig } from '@dschmidt/provider-google'

const dataGoogleComputeRegionInstanceGroupConfig: DataGoogleComputeRegionInstanceGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#id DataGoogleComputeRegionInstanceGroup#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#name DataGoogleComputeRegionInstanceGroup#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#project DataGoogleComputeRegionInstanceGroup#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#region DataGoogleComputeRegionInstanceGroup#region}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.selfLink">selfLink</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#self_link DataGoogleComputeRegionInstanceGroup#self_link}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#id DataGoogleComputeRegionInstanceGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#name DataGoogleComputeRegionInstanceGroup#name}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#project DataGoogleComputeRegionInstanceGroup#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#region DataGoogleComputeRegionInstanceGroup#region}.

---

##### `selfLink`<sup>Optional</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupConfig.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_instance_group#self_link DataGoogleComputeRegionInstanceGroup#self_link}.

---

### DataGoogleComputeRegionInstanceGroupInstances <a name="DataGoogleComputeRegionInstanceGroupInstances" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupInstances"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupInstances.Initializer"></a>

```typescript
import { DataGoogleComputeRegionInstanceGroupInstances } from '@dschmidt/provider-google'

const dataGoogleComputeRegionInstanceGroupInstances: DataGoogleComputeRegionInstanceGroupInstances = { ... }
```


### DataGoogleComputeRegionInstanceGroupInstancesNamedPorts <a name="DataGoogleComputeRegionInstanceGroupInstancesNamedPorts" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupInstancesNamedPorts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRegionInstanceGroupInstancesNamedPorts.Initializer"></a>

```typescript
import { DataGoogleComputeRegionInstanceGroupInstancesNamedPorts } from '@dschmidt/provider-google'

const dataGoogleComputeRegionInstanceGroupInstancesNamedPorts: DataGoogleComputeRegionInstanceGroupInstancesNamedPorts = { ... }
```


### DataGoogleComputeRegionsConfig <a name="DataGoogleComputeRegionsConfig" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.Initializer"></a>

```typescript
import { DataGoogleComputeRegionsConfig } from '@dschmidt/provider-google'

const dataGoogleComputeRegionsConfig: DataGoogleComputeRegionsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_regions#id DataGoogleComputeRegions#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_regions#project DataGoogleComputeRegions#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.status">status</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_regions#status DataGoogleComputeRegions#status}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_regions#id DataGoogleComputeRegions#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_regions#project DataGoogleComputeRegions#project}.

---

##### `status`<sup>Optional</sup> <a name="status" id="@dschmidt/provider-google.DataGoogleComputeRegionsConfig.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_regions#status DataGoogleComputeRegions#status}.

---

### DataGoogleComputeRegionSslCertificateConfig <a name="DataGoogleComputeRegionSslCertificateConfig" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.Initializer"></a>

```typescript
import { DataGoogleComputeRegionSslCertificateConfig } from '@dschmidt/provider-google'

const dataGoogleComputeRegionSslCertificateConfig: DataGoogleComputeRegionSslCertificateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_ssl_certificate#id DataGoogleComputeRegionSslCertificate#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_ssl_certificate#project DataGoogleComputeRegionSslCertificate#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.region">region</a></code> | <code>string</code> | The Region in which the created regional ssl certificate should reside. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.


These are in the same namespace as the managed SSL certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_ssl_certificate#name DataGoogleComputeRegionSslCertificate#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_ssl_certificate#id DataGoogleComputeRegionSslCertificate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_ssl_certificate#project DataGoogleComputeRegionSslCertificate#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeRegionSslCertificateConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the created regional ssl certificate should reside.

If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_region_ssl_certificate#region DataGoogleComputeRegionSslCertificate#region}

---

### DataGoogleComputeResourcePolicyConfig <a name="DataGoogleComputeResourcePolicyConfig" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicyConfig } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicyConfig: DataGoogleComputeResourcePolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.name">name</a></code> | <code>string</code> | The name of the resource, provided by the client when initially creating the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_resource_policy#id DataGoogleComputeResourcePolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_resource_policy#project DataGoogleComputeResourcePolicy#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.region">region</a></code> | <code>string</code> | Region where resource policy resides. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the resource, provided by the client when initially creating the resource.

The resource name must be 1-63 characters long, and comply
with RFC1035. Specifically, the name must be 1-63 characters long and
match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])'? which means the
first character must be a lowercase letter, and all following characters
must be a dash, lowercase letter, or digit, except the last character,
which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_resource_policy#name DataGoogleComputeResourcePolicy#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_resource_policy#id DataGoogleComputeResourcePolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_resource_policy#project DataGoogleComputeResourcePolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where resource policy resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_resource_policy#region DataGoogleComputeResourcePolicy#region}

---

### DataGoogleComputeResourcePolicyGroupPlacementPolicy <a name="DataGoogleComputeResourcePolicyGroupPlacementPolicy" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyGroupPlacementPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyGroupPlacementPolicy.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicyGroupPlacementPolicy } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicyGroupPlacementPolicy: DataGoogleComputeResourcePolicyGroupPlacementPolicy = { ... }
```


### DataGoogleComputeResourcePolicyInstanceSchedulePolicy <a name="DataGoogleComputeResourcePolicyInstanceSchedulePolicy" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyInstanceSchedulePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyInstanceSchedulePolicy.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicyInstanceSchedulePolicy } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicyInstanceSchedulePolicy: DataGoogleComputeResourcePolicyInstanceSchedulePolicy = { ... }
```


### DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule <a name="DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule: DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStartSchedule = { ... }
```


### DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule <a name="DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule: DataGoogleComputeResourcePolicyInstanceSchedulePolicyVmStopSchedule = { ... }
```


### DataGoogleComputeResourcePolicySnapshotSchedulePolicy <a name="DataGoogleComputeResourcePolicySnapshotSchedulePolicy" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicy.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicySnapshotSchedulePolicy } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicySnapshotSchedulePolicy: DataGoogleComputeResourcePolicySnapshotSchedulePolicy = { ... }
```


### DataGoogleComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy <a name="DataGoogleComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy: DataGoogleComputeResourcePolicySnapshotSchedulePolicyRetentionPolicy = { ... }
```


### DataGoogleComputeResourcePolicySnapshotSchedulePolicySchedule <a name="DataGoogleComputeResourcePolicySnapshotSchedulePolicySchedule" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicySchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicySchedule.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicySnapshotSchedulePolicySchedule } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicySnapshotSchedulePolicySchedule: DataGoogleComputeResourcePolicySnapshotSchedulePolicySchedule = { ... }
```


### DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule <a name="DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule: DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleDailySchedule = { ... }
```


### DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule <a name="DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule: DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleHourlySchedule = { ... }
```


### DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule <a name="DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule: DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule = { ... }
```


### DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks <a name="DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks: DataGoogleComputeResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeeks = { ... }
```


### DataGoogleComputeResourcePolicySnapshotSchedulePolicySnapshotProperties <a name="DataGoogleComputeResourcePolicySnapshotSchedulePolicySnapshotProperties" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicySnapshotProperties"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeResourcePolicySnapshotSchedulePolicySnapshotProperties.Initializer"></a>

```typescript
import { DataGoogleComputeResourcePolicySnapshotSchedulePolicySnapshotProperties } from '@dschmidt/provider-google'

const dataGoogleComputeResourcePolicySnapshotSchedulePolicySnapshotProperties: DataGoogleComputeResourcePolicySnapshotSchedulePolicySnapshotProperties = { ... }
```


### DataGoogleComputeRouterBgp <a name="DataGoogleComputeRouterBgp" id="@dschmidt/provider-google.DataGoogleComputeRouterBgp"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRouterBgp.Initializer"></a>

```typescript
import { DataGoogleComputeRouterBgp } from '@dschmidt/provider-google'

const dataGoogleComputeRouterBgp: DataGoogleComputeRouterBgp = { ... }
```


### DataGoogleComputeRouterBgpAdvertisedIpRanges <a name="DataGoogleComputeRouterBgpAdvertisedIpRanges" id="@dschmidt/provider-google.DataGoogleComputeRouterBgpAdvertisedIpRanges"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRouterBgpAdvertisedIpRanges.Initializer"></a>

```typescript
import { DataGoogleComputeRouterBgpAdvertisedIpRanges } from '@dschmidt/provider-google'

const dataGoogleComputeRouterBgpAdvertisedIpRanges: DataGoogleComputeRouterBgpAdvertisedIpRanges = { ... }
```


### DataGoogleComputeRouterConfig <a name="DataGoogleComputeRouterConfig" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.Initializer"></a>

```typescript
import { DataGoogleComputeRouterConfig } from '@dschmidt/provider-google'

const dataGoogleComputeRouterConfig: DataGoogleComputeRouterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.network">network</a></code> | <code>string</code> | A reference to the network to which this router belongs. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router#id DataGoogleComputeRouter#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router#project DataGoogleComputeRouter#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.region">region</a></code> | <code>string</code> | Region where the router resides. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

The name must be 1-63 characters long, and
comply with RFC1035. Specifically, the name must be 1-63 characters
long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?'
which means the first character must be a lowercase letter, and all
following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router#name DataGoogleComputeRouter#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

A reference to the network to which this router belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router#network DataGoogleComputeRouter#network}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router#id DataGoogleComputeRouter#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router#project DataGoogleComputeRouter#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeRouterConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where the router resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router#region DataGoogleComputeRouter#region}

---

### DataGoogleComputeRouterStatusBestRoutes <a name="DataGoogleComputeRouterStatusBestRoutes" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusBestRoutes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusBestRoutes.Initializer"></a>

```typescript
import { DataGoogleComputeRouterStatusBestRoutes } from '@dschmidt/provider-google'

const dataGoogleComputeRouterStatusBestRoutes: DataGoogleComputeRouterStatusBestRoutes = { ... }
```


### DataGoogleComputeRouterStatusBestRoutesForRouter <a name="DataGoogleComputeRouterStatusBestRoutesForRouter" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusBestRoutesForRouter"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusBestRoutesForRouter.Initializer"></a>

```typescript
import { DataGoogleComputeRouterStatusBestRoutesForRouter } from '@dschmidt/provider-google'

const dataGoogleComputeRouterStatusBestRoutesForRouter: DataGoogleComputeRouterStatusBestRoutesForRouter = { ... }
```


### DataGoogleComputeRouterStatusConfig <a name="DataGoogleComputeRouterStatusConfig" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.Initializer"></a>

```typescript
import { DataGoogleComputeRouterStatusConfig } from '@dschmidt/provider-google'

const dataGoogleComputeRouterStatusConfig: DataGoogleComputeRouterStatusConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.name">name</a></code> | <code>string</code> | Name of the router to query. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router_status#id DataGoogleComputeRouterStatus#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.project">project</a></code> | <code>string</code> | Project ID of the target router. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.region">region</a></code> | <code>string</code> | Region of the target router. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the router to query.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router_status#name DataGoogleComputeRouterStatus#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router_status#id DataGoogleComputeRouterStatus#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Project ID of the target router.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router_status#project DataGoogleComputeRouterStatus#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeRouterStatusConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region of the target router.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_router_status#region DataGoogleComputeRouterStatus#region}

---

### DataGoogleComputeSslCertificateConfig <a name="DataGoogleComputeSslCertificateConfig" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.Initializer"></a>

```typescript
import { DataGoogleComputeSslCertificateConfig } from '@dschmidt/provider-google'

const dataGoogleComputeSslCertificateConfig: DataGoogleComputeSslCertificateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_certificate#id DataGoogleComputeSslCertificate#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_certificate#project DataGoogleComputeSslCertificate#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.


These are in the same namespace as the managed SSL certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_certificate#name DataGoogleComputeSslCertificate#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_certificate#id DataGoogleComputeSslCertificate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeSslCertificateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_certificate#project DataGoogleComputeSslCertificate#project}.

---

### DataGoogleComputeSslPolicyConfig <a name="DataGoogleComputeSslPolicyConfig" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.Initializer"></a>

```typescript
import { DataGoogleComputeSslPolicyConfig } from '@dschmidt/provider-google'

const dataGoogleComputeSslPolicyConfig: DataGoogleComputeSslPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.name">name</a></code> | <code>string</code> | Name of the resource. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_policy#id DataGoogleComputeSslPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_policy#project DataGoogleComputeSslPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource.

Provided by the client when the resource is
created. The name must be 1-63 characters long, and comply with
RFC1035. Specifically, the name must be 1-63 characters long and match
the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
first character must be a lowercase letter, and all following
characters must be a dash, lowercase letter, or digit, except the last
character, which cannot be a dash.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_policy#name DataGoogleComputeSslPolicy#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_policy#id DataGoogleComputeSslPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeSslPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_ssl_policy#project DataGoogleComputeSslPolicy#project}.

---

### DataGoogleComputeSubnetworkConfig <a name="DataGoogleComputeSubnetworkConfig" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.Initializer"></a>

```typescript
import { DataGoogleComputeSubnetworkConfig } from '@dschmidt/provider-google'

const dataGoogleComputeSubnetworkConfig: DataGoogleComputeSubnetworkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#id DataGoogleComputeSubnetwork#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#name DataGoogleComputeSubnetwork#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#project DataGoogleComputeSubnetwork#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#region DataGoogleComputeSubnetwork#region}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.selfLink">selfLink</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#self_link DataGoogleComputeSubnetwork#self_link}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#id DataGoogleComputeSubnetwork#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#name DataGoogleComputeSubnetwork#name}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#project DataGoogleComputeSubnetwork#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#region DataGoogleComputeSubnetwork#region}.

---

##### `selfLink`<sup>Optional</sup> <a name="selfLink" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkConfig.property.selfLink"></a>

```typescript
public readonly selfLink: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_subnetwork#self_link DataGoogleComputeSubnetwork#self_link}.

---

### DataGoogleComputeSubnetworkSecondaryIpRange <a name="DataGoogleComputeSubnetworkSecondaryIpRange" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkSecondaryIpRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeSubnetworkSecondaryIpRange.Initializer"></a>

```typescript
import { DataGoogleComputeSubnetworkSecondaryIpRange } from '@dschmidt/provider-google'

const dataGoogleComputeSubnetworkSecondaryIpRange: DataGoogleComputeSubnetworkSecondaryIpRange = { ... }
```


### DataGoogleComputeVpnGatewayConfig <a name="DataGoogleComputeVpnGatewayConfig" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.Initializer"></a>

```typescript
import { DataGoogleComputeVpnGatewayConfig } from '@dschmidt/provider-google'

const dataGoogleComputeVpnGatewayConfig: DataGoogleComputeVpnGatewayConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_vpn_gateway#name DataGoogleComputeVpnGateway#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_vpn_gateway#id DataGoogleComputeVpnGateway#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_vpn_gateway#project DataGoogleComputeVpnGateway#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_vpn_gateway#region DataGoogleComputeVpnGateway#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_vpn_gateway#name DataGoogleComputeVpnGateway#name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_vpn_gateway#id DataGoogleComputeVpnGateway#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_vpn_gateway#project DataGoogleComputeVpnGateway#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeVpnGatewayConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_vpn_gateway#region DataGoogleComputeVpnGateway#region}.

---

### DataGoogleComputeZonesConfig <a name="DataGoogleComputeZonesConfig" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.Initializer"></a>

```typescript
import { DataGoogleComputeZonesConfig } from '@dschmidt/provider-google'

const dataGoogleComputeZonesConfig: DataGoogleComputeZonesConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_zones#id DataGoogleComputeZones#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_zones#project DataGoogleComputeZones#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_zones#region DataGoogleComputeZones#region}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.status">status</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_zones#status DataGoogleComputeZones#status}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_zones#id DataGoogleComputeZones#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_zones#project DataGoogleComputeZones#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_zones#region DataGoogleComputeZones#region}.

---

##### `status`<sup>Optional</sup> <a name="status" id="@dschmidt/provider-google.DataGoogleComputeZonesConfig.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/compute_zones#status DataGoogleComputeZones#status}.

---

### DataGoogleContainerAwsVersionsConfig <a name="DataGoogleContainerAwsVersionsConfig" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.Initializer"></a>

```typescript
import { DataGoogleContainerAwsVersionsConfig } from '@dschmidt/provider-google'

const dataGoogleContainerAwsVersionsConfig: DataGoogleContainerAwsVersionsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_aws_versions#id DataGoogleContainerAwsVersions#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_aws_versions#location DataGoogleContainerAwsVersions#location}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_aws_versions#project DataGoogleContainerAwsVersions#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_aws_versions#id DataGoogleContainerAwsVersions#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_aws_versions#location DataGoogleContainerAwsVersions#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerAwsVersionsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_aws_versions#project DataGoogleContainerAwsVersions#project}.

---

### DataGoogleContainerAzureVersionsConfig <a name="DataGoogleContainerAzureVersionsConfig" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.Initializer"></a>

```typescript
import { DataGoogleContainerAzureVersionsConfig } from '@dschmidt/provider-google'

const dataGoogleContainerAzureVersionsConfig: DataGoogleContainerAzureVersionsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_azure_versions#id DataGoogleContainerAzureVersions#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_azure_versions#location DataGoogleContainerAzureVersions#location}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_azure_versions#project DataGoogleContainerAzureVersions#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_azure_versions#id DataGoogleContainerAzureVersions#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_azure_versions#location DataGoogleContainerAzureVersions#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerAzureVersionsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_azure_versions#project DataGoogleContainerAzureVersions#project}.

---

### DataGoogleContainerClusterAddonsConfig <a name="DataGoogleContainerClusterAddonsConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterAddonsConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterAddonsConfig: DataGoogleContainerClusterAddonsConfig = { ... }
```


### DataGoogleContainerClusterAddonsConfigCloudrunConfig <a name="DataGoogleContainerClusterAddonsConfigCloudrunConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigCloudrunConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigCloudrunConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterAddonsConfigCloudrunConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterAddonsConfigCloudrunConfig: DataGoogleContainerClusterAddonsConfigCloudrunConfig = { ... }
```


### DataGoogleContainerClusterAddonsConfigDnsCacheConfig <a name="DataGoogleContainerClusterAddonsConfigDnsCacheConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigDnsCacheConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigDnsCacheConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterAddonsConfigDnsCacheConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterAddonsConfigDnsCacheConfig: DataGoogleContainerClusterAddonsConfigDnsCacheConfig = { ... }
```


### DataGoogleContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig <a name="DataGoogleContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig: DataGoogleContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig = { ... }
```


### DataGoogleContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig <a name="DataGoogleContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig: DataGoogleContainerClusterAddonsConfigGcpFilestoreCsiDriverConfig = { ... }
```


### DataGoogleContainerClusterAddonsConfigHorizontalPodAutoscaling <a name="DataGoogleContainerClusterAddonsConfigHorizontalPodAutoscaling" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigHorizontalPodAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigHorizontalPodAutoscaling.Initializer"></a>

```typescript
import { DataGoogleContainerClusterAddonsConfigHorizontalPodAutoscaling } from '@dschmidt/provider-google'

const dataGoogleContainerClusterAddonsConfigHorizontalPodAutoscaling: DataGoogleContainerClusterAddonsConfigHorizontalPodAutoscaling = { ... }
```


### DataGoogleContainerClusterAddonsConfigHttpLoadBalancing <a name="DataGoogleContainerClusterAddonsConfigHttpLoadBalancing" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigHttpLoadBalancing"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigHttpLoadBalancing.Initializer"></a>

```typescript
import { DataGoogleContainerClusterAddonsConfigHttpLoadBalancing } from '@dschmidt/provider-google'

const dataGoogleContainerClusterAddonsConfigHttpLoadBalancing: DataGoogleContainerClusterAddonsConfigHttpLoadBalancing = { ... }
```


### DataGoogleContainerClusterAddonsConfigNetworkPolicyConfig <a name="DataGoogleContainerClusterAddonsConfigNetworkPolicyConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigNetworkPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterAddonsConfigNetworkPolicyConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterAddonsConfigNetworkPolicyConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterAddonsConfigNetworkPolicyConfig: DataGoogleContainerClusterAddonsConfigNetworkPolicyConfig = { ... }
```


### DataGoogleContainerClusterAuthenticatorGroupsConfig <a name="DataGoogleContainerClusterAuthenticatorGroupsConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterAuthenticatorGroupsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterAuthenticatorGroupsConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterAuthenticatorGroupsConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterAuthenticatorGroupsConfig: DataGoogleContainerClusterAuthenticatorGroupsConfig = { ... }
```


### DataGoogleContainerClusterBinaryAuthorization <a name="DataGoogleContainerClusterBinaryAuthorization" id="@dschmidt/provider-google.DataGoogleContainerClusterBinaryAuthorization"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterBinaryAuthorization.Initializer"></a>

```typescript
import { DataGoogleContainerClusterBinaryAuthorization } from '@dschmidt/provider-google'

const dataGoogleContainerClusterBinaryAuthorization: DataGoogleContainerClusterBinaryAuthorization = { ... }
```


### DataGoogleContainerClusterClusterAutoscaling <a name="DataGoogleContainerClusterClusterAutoscaling" id="@dschmidt/provider-google.DataGoogleContainerClusterClusterAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterClusterAutoscaling.Initializer"></a>

```typescript
import { DataGoogleContainerClusterClusterAutoscaling } from '@dschmidt/provider-google'

const dataGoogleContainerClusterClusterAutoscaling: DataGoogleContainerClusterClusterAutoscaling = { ... }
```


### DataGoogleContainerClusterClusterAutoscalingAutoProvisioningDefaults <a name="DataGoogleContainerClusterClusterAutoscalingAutoProvisioningDefaults" id="@dschmidt/provider-google.DataGoogleContainerClusterClusterAutoscalingAutoProvisioningDefaults"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterClusterAutoscalingAutoProvisioningDefaults.Initializer"></a>

```typescript
import { DataGoogleContainerClusterClusterAutoscalingAutoProvisioningDefaults } from '@dschmidt/provider-google'

const dataGoogleContainerClusterClusterAutoscalingAutoProvisioningDefaults: DataGoogleContainerClusterClusterAutoscalingAutoProvisioningDefaults = { ... }
```


### DataGoogleContainerClusterClusterAutoscalingResourceLimits <a name="DataGoogleContainerClusterClusterAutoscalingResourceLimits" id="@dschmidt/provider-google.DataGoogleContainerClusterClusterAutoscalingResourceLimits"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterClusterAutoscalingResourceLimits.Initializer"></a>

```typescript
import { DataGoogleContainerClusterClusterAutoscalingResourceLimits } from '@dschmidt/provider-google'

const dataGoogleContainerClusterClusterAutoscalingResourceLimits: DataGoogleContainerClusterClusterAutoscalingResourceLimits = { ... }
```


### DataGoogleContainerClusterConfidentialNodes <a name="DataGoogleContainerClusterConfidentialNodes" id="@dschmidt/provider-google.DataGoogleContainerClusterConfidentialNodes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterConfidentialNodes.Initializer"></a>

```typescript
import { DataGoogleContainerClusterConfidentialNodes } from '@dschmidt/provider-google'

const dataGoogleContainerClusterConfidentialNodes: DataGoogleContainerClusterConfidentialNodes = { ... }
```


### DataGoogleContainerClusterConfig <a name="DataGoogleContainerClusterConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterConfig: DataGoogleContainerClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.name">name</a></code> | <code>string</code> | The name of the cluster, unique within the project and location. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_cluster#id DataGoogleContainerCluster#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.location">location</a></code> | <code>string</code> | The location (region or zone) in which the cluster master will be created, as well as the default node location. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the cluster, unique within the project and location.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_cluster#name DataGoogleContainerCluster#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_cluster#id DataGoogleContainerCluster#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location (region or zone) in which the cluster master will be created, as well as the default node location.

If you specify a zone (such as us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such as us-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_cluster#location DataGoogleContainerCluster#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerClusterConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_cluster#project DataGoogleContainerCluster#project}

---

### DataGoogleContainerClusterDatabaseEncryption <a name="DataGoogleContainerClusterDatabaseEncryption" id="@dschmidt/provider-google.DataGoogleContainerClusterDatabaseEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterDatabaseEncryption.Initializer"></a>

```typescript
import { DataGoogleContainerClusterDatabaseEncryption } from '@dschmidt/provider-google'

const dataGoogleContainerClusterDatabaseEncryption: DataGoogleContainerClusterDatabaseEncryption = { ... }
```


### DataGoogleContainerClusterDefaultSnatStatus <a name="DataGoogleContainerClusterDefaultSnatStatus" id="@dschmidt/provider-google.DataGoogleContainerClusterDefaultSnatStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterDefaultSnatStatus.Initializer"></a>

```typescript
import { DataGoogleContainerClusterDefaultSnatStatus } from '@dschmidt/provider-google'

const dataGoogleContainerClusterDefaultSnatStatus: DataGoogleContainerClusterDefaultSnatStatus = { ... }
```


### DataGoogleContainerClusterDnsConfig <a name="DataGoogleContainerClusterDnsConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterDnsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterDnsConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterDnsConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterDnsConfig: DataGoogleContainerClusterDnsConfig = { ... }
```


### DataGoogleContainerClusterIpAllocationPolicy <a name="DataGoogleContainerClusterIpAllocationPolicy" id="@dschmidt/provider-google.DataGoogleContainerClusterIpAllocationPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterIpAllocationPolicy.Initializer"></a>

```typescript
import { DataGoogleContainerClusterIpAllocationPolicy } from '@dschmidt/provider-google'

const dataGoogleContainerClusterIpAllocationPolicy: DataGoogleContainerClusterIpAllocationPolicy = { ... }
```


### DataGoogleContainerClusterLoggingConfig <a name="DataGoogleContainerClusterLoggingConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterLoggingConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterLoggingConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterLoggingConfig: DataGoogleContainerClusterLoggingConfig = { ... }
```


### DataGoogleContainerClusterMaintenancePolicy <a name="DataGoogleContainerClusterMaintenancePolicy" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicy.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMaintenancePolicy } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMaintenancePolicy: DataGoogleContainerClusterMaintenancePolicy = { ... }
```


### DataGoogleContainerClusterMaintenancePolicyDailyMaintenanceWindow <a name="DataGoogleContainerClusterMaintenancePolicyDailyMaintenanceWindow" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyDailyMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyDailyMaintenanceWindow.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMaintenancePolicyDailyMaintenanceWindow } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMaintenancePolicyDailyMaintenanceWindow: DataGoogleContainerClusterMaintenancePolicyDailyMaintenanceWindow = { ... }
```


### DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusion <a name="DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusion" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusion"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusion.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusion } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMaintenancePolicyMaintenanceExclusion: DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusion = { ... }
```


### DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions <a name="DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions: DataGoogleContainerClusterMaintenancePolicyMaintenanceExclusionExclusionOptions = { ... }
```


### DataGoogleContainerClusterMaintenancePolicyRecurringWindow <a name="DataGoogleContainerClusterMaintenancePolicyRecurringWindow" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyRecurringWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMaintenancePolicyRecurringWindow.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMaintenancePolicyRecurringWindow } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMaintenancePolicyRecurringWindow: DataGoogleContainerClusterMaintenancePolicyRecurringWindow = { ... }
```


### DataGoogleContainerClusterMasterAuth <a name="DataGoogleContainerClusterMasterAuth" id="@dschmidt/provider-google.DataGoogleContainerClusterMasterAuth"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMasterAuth.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMasterAuth } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMasterAuth: DataGoogleContainerClusterMasterAuth = { ... }
```


### DataGoogleContainerClusterMasterAuthClientCertificateConfig <a name="DataGoogleContainerClusterMasterAuthClientCertificateConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthClientCertificateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthClientCertificateConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMasterAuthClientCertificateConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMasterAuthClientCertificateConfig: DataGoogleContainerClusterMasterAuthClientCertificateConfig = { ... }
```


### DataGoogleContainerClusterMasterAuthorizedNetworksConfig <a name="DataGoogleContainerClusterMasterAuthorizedNetworksConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthorizedNetworksConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthorizedNetworksConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMasterAuthorizedNetworksConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMasterAuthorizedNetworksConfig: DataGoogleContainerClusterMasterAuthorizedNetworksConfig = { ... }
```


### DataGoogleContainerClusterMasterAuthorizedNetworksConfigCidrBlocks <a name="DataGoogleContainerClusterMasterAuthorizedNetworksConfigCidrBlocks" id="@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthorizedNetworksConfigCidrBlocks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMasterAuthorizedNetworksConfigCidrBlocks.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMasterAuthorizedNetworksConfigCidrBlocks } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMasterAuthorizedNetworksConfigCidrBlocks: DataGoogleContainerClusterMasterAuthorizedNetworksConfigCidrBlocks = { ... }
```


### DataGoogleContainerClusterMeshCertificates <a name="DataGoogleContainerClusterMeshCertificates" id="@dschmidt/provider-google.DataGoogleContainerClusterMeshCertificates"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMeshCertificates.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMeshCertificates } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMeshCertificates: DataGoogleContainerClusterMeshCertificates = { ... }
```


### DataGoogleContainerClusterMonitoringConfig <a name="DataGoogleContainerClusterMonitoringConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterMonitoringConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterMonitoringConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterMonitoringConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterMonitoringConfig: DataGoogleContainerClusterMonitoringConfig = { ... }
```


### DataGoogleContainerClusterNetworkPolicy <a name="DataGoogleContainerClusterNetworkPolicy" id="@dschmidt/provider-google.DataGoogleContainerClusterNetworkPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNetworkPolicy.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNetworkPolicy } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNetworkPolicy: DataGoogleContainerClusterNetworkPolicy = { ... }
```


### DataGoogleContainerClusterNodeConfig <a name="DataGoogleContainerClusterNodeConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodeConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodeConfig: DataGoogleContainerClusterNodeConfig = { ... }
```


### DataGoogleContainerClusterNodeConfigGcfsConfig <a name="DataGoogleContainerClusterNodeConfigGcfsConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigGcfsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigGcfsConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodeConfigGcfsConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodeConfigGcfsConfig: DataGoogleContainerClusterNodeConfigGcfsConfig = { ... }
```


### DataGoogleContainerClusterNodeConfigGuestAccelerator <a name="DataGoogleContainerClusterNodeConfigGuestAccelerator" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigGuestAccelerator.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodeConfigGuestAccelerator } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodeConfigGuestAccelerator: DataGoogleContainerClusterNodeConfigGuestAccelerator = { ... }
```


### DataGoogleContainerClusterNodeConfigGvnic <a name="DataGoogleContainerClusterNodeConfigGvnic" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigGvnic"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigGvnic.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodeConfigGvnic } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodeConfigGvnic: DataGoogleContainerClusterNodeConfigGvnic = { ... }
```


### DataGoogleContainerClusterNodeConfigReservationAffinity <a name="DataGoogleContainerClusterNodeConfigReservationAffinity" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigReservationAffinity.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodeConfigReservationAffinity } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodeConfigReservationAffinity: DataGoogleContainerClusterNodeConfigReservationAffinity = { ... }
```


### DataGoogleContainerClusterNodeConfigShieldedInstanceConfig <a name="DataGoogleContainerClusterNodeConfigShieldedInstanceConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigShieldedInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodeConfigShieldedInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodeConfigShieldedInstanceConfig: DataGoogleContainerClusterNodeConfigShieldedInstanceConfig = { ... }
```


### DataGoogleContainerClusterNodeConfigTaint <a name="DataGoogleContainerClusterNodeConfigTaint" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigTaint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigTaint.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodeConfigTaint } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodeConfigTaint: DataGoogleContainerClusterNodeConfigTaint = { ... }
```


### DataGoogleContainerClusterNodeConfigWorkloadMetadataConfig <a name="DataGoogleContainerClusterNodeConfigWorkloadMetadataConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigWorkloadMetadataConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodeConfigWorkloadMetadataConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodeConfigWorkloadMetadataConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodeConfigWorkloadMetadataConfig: DataGoogleContainerClusterNodeConfigWorkloadMetadataConfig = { ... }
```


### DataGoogleContainerClusterNodePool <a name="DataGoogleContainerClusterNodePool" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePool"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePool.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePool } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePool: DataGoogleContainerClusterNodePool = { ... }
```


### DataGoogleContainerClusterNodePoolAutoscaling <a name="DataGoogleContainerClusterNodePoolAutoscaling" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolAutoscaling.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolAutoscaling } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolAutoscaling: DataGoogleContainerClusterNodePoolAutoscaling = { ... }
```


### DataGoogleContainerClusterNodePoolManagement <a name="DataGoogleContainerClusterNodePoolManagement" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolManagement"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolManagement.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolManagement } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolManagement: DataGoogleContainerClusterNodePoolManagement = { ... }
```


### DataGoogleContainerClusterNodePoolNodeConfig <a name="DataGoogleContainerClusterNodePoolNodeConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolNodeConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolNodeConfig: DataGoogleContainerClusterNodePoolNodeConfig = { ... }
```


### DataGoogleContainerClusterNodePoolNodeConfigGcfsConfig <a name="DataGoogleContainerClusterNodePoolNodeConfigGcfsConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigGcfsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigGcfsConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolNodeConfigGcfsConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolNodeConfigGcfsConfig: DataGoogleContainerClusterNodePoolNodeConfigGcfsConfig = { ... }
```


### DataGoogleContainerClusterNodePoolNodeConfigGuestAccelerator <a name="DataGoogleContainerClusterNodePoolNodeConfigGuestAccelerator" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigGuestAccelerator"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigGuestAccelerator.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolNodeConfigGuestAccelerator } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolNodeConfigGuestAccelerator: DataGoogleContainerClusterNodePoolNodeConfigGuestAccelerator = { ... }
```


### DataGoogleContainerClusterNodePoolNodeConfigGvnic <a name="DataGoogleContainerClusterNodePoolNodeConfigGvnic" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigGvnic"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigGvnic.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolNodeConfigGvnic } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolNodeConfigGvnic: DataGoogleContainerClusterNodePoolNodeConfigGvnic = { ... }
```


### DataGoogleContainerClusterNodePoolNodeConfigReservationAffinity <a name="DataGoogleContainerClusterNodePoolNodeConfigReservationAffinity" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigReservationAffinity.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolNodeConfigReservationAffinity } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolNodeConfigReservationAffinity: DataGoogleContainerClusterNodePoolNodeConfigReservationAffinity = { ... }
```


### DataGoogleContainerClusterNodePoolNodeConfigShieldedInstanceConfig <a name="DataGoogleContainerClusterNodePoolNodeConfigShieldedInstanceConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigShieldedInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolNodeConfigShieldedInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolNodeConfigShieldedInstanceConfig: DataGoogleContainerClusterNodePoolNodeConfigShieldedInstanceConfig = { ... }
```


### DataGoogleContainerClusterNodePoolNodeConfigTaint <a name="DataGoogleContainerClusterNodePoolNodeConfigTaint" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigTaint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigTaint.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolNodeConfigTaint } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolNodeConfigTaint: DataGoogleContainerClusterNodePoolNodeConfigTaint = { ... }
```


### DataGoogleContainerClusterNodePoolNodeConfigWorkloadMetadataConfig <a name="DataGoogleContainerClusterNodePoolNodeConfigWorkloadMetadataConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigWorkloadMetadataConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolNodeConfigWorkloadMetadataConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolNodeConfigWorkloadMetadataConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolNodeConfigWorkloadMetadataConfig: DataGoogleContainerClusterNodePoolNodeConfigWorkloadMetadataConfig = { ... }
```


### DataGoogleContainerClusterNodePoolUpgradeSettings <a name="DataGoogleContainerClusterNodePoolUpgradeSettings" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolUpgradeSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNodePoolUpgradeSettings.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNodePoolUpgradeSettings } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNodePoolUpgradeSettings: DataGoogleContainerClusterNodePoolUpgradeSettings = { ... }
```


### DataGoogleContainerClusterNotificationConfig <a name="DataGoogleContainerClusterNotificationConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterNotificationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNotificationConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNotificationConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNotificationConfig: DataGoogleContainerClusterNotificationConfig = { ... }
```


### DataGoogleContainerClusterNotificationConfigPubsub <a name="DataGoogleContainerClusterNotificationConfigPubsub" id="@dschmidt/provider-google.DataGoogleContainerClusterNotificationConfigPubsub"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterNotificationConfigPubsub.Initializer"></a>

```typescript
import { DataGoogleContainerClusterNotificationConfigPubsub } from '@dschmidt/provider-google'

const dataGoogleContainerClusterNotificationConfigPubsub: DataGoogleContainerClusterNotificationConfigPubsub = { ... }
```


### DataGoogleContainerClusterPrivateClusterConfig <a name="DataGoogleContainerClusterPrivateClusterConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterPrivateClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterPrivateClusterConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterPrivateClusterConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterPrivateClusterConfig: DataGoogleContainerClusterPrivateClusterConfig = { ... }
```


### DataGoogleContainerClusterPrivateClusterConfigMasterGlobalAccessConfig <a name="DataGoogleContainerClusterPrivateClusterConfigMasterGlobalAccessConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterPrivateClusterConfigMasterGlobalAccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterPrivateClusterConfigMasterGlobalAccessConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterPrivateClusterConfigMasterGlobalAccessConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterPrivateClusterConfigMasterGlobalAccessConfig: DataGoogleContainerClusterPrivateClusterConfigMasterGlobalAccessConfig = { ... }
```


### DataGoogleContainerClusterReleaseChannel <a name="DataGoogleContainerClusterReleaseChannel" id="@dschmidt/provider-google.DataGoogleContainerClusterReleaseChannel"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterReleaseChannel.Initializer"></a>

```typescript
import { DataGoogleContainerClusterReleaseChannel } from '@dschmidt/provider-google'

const dataGoogleContainerClusterReleaseChannel: DataGoogleContainerClusterReleaseChannel = { ... }
```


### DataGoogleContainerClusterResourceUsageExportConfig <a name="DataGoogleContainerClusterResourceUsageExportConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterResourceUsageExportConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterResourceUsageExportConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterResourceUsageExportConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterResourceUsageExportConfig: DataGoogleContainerClusterResourceUsageExportConfig = { ... }
```


### DataGoogleContainerClusterResourceUsageExportConfigBigqueryDestination <a name="DataGoogleContainerClusterResourceUsageExportConfigBigqueryDestination" id="@dschmidt/provider-google.DataGoogleContainerClusterResourceUsageExportConfigBigqueryDestination"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterResourceUsageExportConfigBigqueryDestination.Initializer"></a>

```typescript
import { DataGoogleContainerClusterResourceUsageExportConfigBigqueryDestination } from '@dschmidt/provider-google'

const dataGoogleContainerClusterResourceUsageExportConfigBigqueryDestination: DataGoogleContainerClusterResourceUsageExportConfigBigqueryDestination = { ... }
```


### DataGoogleContainerClusterServiceExternalIpsConfig <a name="DataGoogleContainerClusterServiceExternalIpsConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterServiceExternalIpsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterServiceExternalIpsConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterServiceExternalIpsConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterServiceExternalIpsConfig: DataGoogleContainerClusterServiceExternalIpsConfig = { ... }
```


### DataGoogleContainerClusterVerticalPodAutoscaling <a name="DataGoogleContainerClusterVerticalPodAutoscaling" id="@dschmidt/provider-google.DataGoogleContainerClusterVerticalPodAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterVerticalPodAutoscaling.Initializer"></a>

```typescript
import { DataGoogleContainerClusterVerticalPodAutoscaling } from '@dschmidt/provider-google'

const dataGoogleContainerClusterVerticalPodAutoscaling: DataGoogleContainerClusterVerticalPodAutoscaling = { ... }
```


### DataGoogleContainerClusterWorkloadIdentityConfig <a name="DataGoogleContainerClusterWorkloadIdentityConfig" id="@dschmidt/provider-google.DataGoogleContainerClusterWorkloadIdentityConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerClusterWorkloadIdentityConfig.Initializer"></a>

```typescript
import { DataGoogleContainerClusterWorkloadIdentityConfig } from '@dschmidt/provider-google'

const dataGoogleContainerClusterWorkloadIdentityConfig: DataGoogleContainerClusterWorkloadIdentityConfig = { ... }
```


### DataGoogleContainerEngineVersionsConfig <a name="DataGoogleContainerEngineVersionsConfig" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.Initializer"></a>

```typescript
import { DataGoogleContainerEngineVersionsConfig } from '@dschmidt/provider-google'

const dataGoogleContainerEngineVersionsConfig: DataGoogleContainerEngineVersionsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_engine_versions#id DataGoogleContainerEngineVersions#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_engine_versions#location DataGoogleContainerEngineVersions#location}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_engine_versions#project DataGoogleContainerEngineVersions#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.versionPrefix">versionPrefix</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_engine_versions#version_prefix DataGoogleContainerEngineVersions#version_prefix}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_engine_versions#id DataGoogleContainerEngineVersions#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_engine_versions#location DataGoogleContainerEngineVersions#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_engine_versions#project DataGoogleContainerEngineVersions#project}.

---

##### `versionPrefix`<sup>Optional</sup> <a name="versionPrefix" id="@dschmidt/provider-google.DataGoogleContainerEngineVersionsConfig.property.versionPrefix"></a>

```typescript
public readonly versionPrefix: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_engine_versions#version_prefix DataGoogleContainerEngineVersions#version_prefix}.

---

### DataGoogleContainerRegistryImageConfig <a name="DataGoogleContainerRegistryImageConfig" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.Initializer"></a>

```typescript
import { DataGoogleContainerRegistryImageConfig } from '@dschmidt/provider-google'

const dataGoogleContainerRegistryImageConfig: DataGoogleContainerRegistryImageConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#name DataGoogleContainerRegistryImage#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.digest">digest</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#digest DataGoogleContainerRegistryImage#digest}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#id DataGoogleContainerRegistryImage#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#project DataGoogleContainerRegistryImage#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#region DataGoogleContainerRegistryImage#region}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.tag">tag</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#tag DataGoogleContainerRegistryImage#tag}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#name DataGoogleContainerRegistryImage#name}.

---

##### `digest`<sup>Optional</sup> <a name="digest" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.digest"></a>

```typescript
public readonly digest: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#digest DataGoogleContainerRegistryImage#digest}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#id DataGoogleContainerRegistryImage#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#project DataGoogleContainerRegistryImage#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#region DataGoogleContainerRegistryImage#region}.

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.DataGoogleContainerRegistryImageConfig.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_image#tag DataGoogleContainerRegistryImage#tag}.

---

### DataGoogleContainerRegistryRepositoryConfig <a name="DataGoogleContainerRegistryRepositoryConfig" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.Initializer"></a>

```typescript
import { DataGoogleContainerRegistryRepositoryConfig } from '@dschmidt/provider-google'

const dataGoogleContainerRegistryRepositoryConfig: DataGoogleContainerRegistryRepositoryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_repository#id DataGoogleContainerRegistryRepository#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_repository#project DataGoogleContainerRegistryRepository#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_repository#region DataGoogleContainerRegistryRepository#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_repository#id DataGoogleContainerRegistryRepository#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_repository#project DataGoogleContainerRegistryRepository#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleContainerRegistryRepositoryConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/container_registry_repository#region DataGoogleContainerRegistryRepository#region}.

---

### DataGoogleDataprocMetastoreServiceConfig <a name="DataGoogleDataprocMetastoreServiceConfig" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.Initializer"></a>

```typescript
import { DataGoogleDataprocMetastoreServiceConfig } from '@dschmidt/provider-google'

const dataGoogleDataprocMetastoreServiceConfig: DataGoogleDataprocMetastoreServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.location">location</a></code> | <code>string</code> | The location where the metastore service should reside. The default value is 'global'. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.serviceId">serviceId</a></code> | <code>string</code> | The ID of the metastore service. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dataproc_metastore_service#id DataGoogleDataprocMetastoreService#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dataproc_metastore_service#project DataGoogleDataprocMetastoreService#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location where the metastore service should reside. The default value is 'global'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dataproc_metastore_service#location DataGoogleDataprocMetastoreService#location}

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

The ID of the metastore service.

The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_),
and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between
3 and 63 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dataproc_metastore_service#service_id DataGoogleDataprocMetastoreService#service_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dataproc_metastore_service#id DataGoogleDataprocMetastoreService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dataproc_metastore_service#project DataGoogleDataprocMetastoreService#project}.

---

### DataGoogleDataprocMetastoreServiceEncryptionConfig <a name="DataGoogleDataprocMetastoreServiceEncryptionConfig" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceEncryptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceEncryptionConfig.Initializer"></a>

```typescript
import { DataGoogleDataprocMetastoreServiceEncryptionConfig } from '@dschmidt/provider-google'

const dataGoogleDataprocMetastoreServiceEncryptionConfig: DataGoogleDataprocMetastoreServiceEncryptionConfig = { ... }
```


### DataGoogleDataprocMetastoreServiceHiveMetastoreConfig <a name="DataGoogleDataprocMetastoreServiceHiveMetastoreConfig" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceHiveMetastoreConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceHiveMetastoreConfig.Initializer"></a>

```typescript
import { DataGoogleDataprocMetastoreServiceHiveMetastoreConfig } from '@dschmidt/provider-google'

const dataGoogleDataprocMetastoreServiceHiveMetastoreConfig: DataGoogleDataprocMetastoreServiceHiveMetastoreConfig = { ... }
```


### DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfig <a name="DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfig" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfig.Initializer"></a>

```typescript
import { DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfig } from '@dschmidt/provider-google'

const dataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfig: DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfig = { ... }
```


### DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab <a name="DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab.Initializer"></a>

```typescript
import { DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab } from '@dschmidt/provider-google'

const dataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab: DataGoogleDataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab = { ... }
```


### DataGoogleDataprocMetastoreServiceMaintenanceWindow <a name="DataGoogleDataprocMetastoreServiceMaintenanceWindow" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDataprocMetastoreServiceMaintenanceWindow.Initializer"></a>

```typescript
import { DataGoogleDataprocMetastoreServiceMaintenanceWindow } from '@dschmidt/provider-google'

const dataGoogleDataprocMetastoreServiceMaintenanceWindow: DataGoogleDataprocMetastoreServiceMaintenanceWindow = { ... }
```


### DataGoogleDnsKeysConfig <a name="DataGoogleDnsKeysConfig" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.Initializer"></a>

```typescript
import { DataGoogleDnsKeysConfig } from '@dschmidt/provider-google'

const dataGoogleDnsKeysConfig: DataGoogleDnsKeysConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.managedZone">managedZone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_keys#managed_zone DataGoogleDnsKeys#managed_zone}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_keys#id DataGoogleDnsKeys#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_keys#project DataGoogleDnsKeys#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `managedZone`<sup>Required</sup> <a name="managedZone" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.managedZone"></a>

```typescript
public readonly managedZone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_keys#managed_zone DataGoogleDnsKeys#managed_zone}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_keys#id DataGoogleDnsKeys#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleDnsKeysConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_keys#project DataGoogleDnsKeys#project}.

---

### DataGoogleDnsKeysKeySigningKeys <a name="DataGoogleDnsKeysKeySigningKeys" id="@dschmidt/provider-google.DataGoogleDnsKeysKeySigningKeys"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDnsKeysKeySigningKeys.Initializer"></a>

```typescript
import { DataGoogleDnsKeysKeySigningKeys } from '@dschmidt/provider-google'

const dataGoogleDnsKeysKeySigningKeys: DataGoogleDnsKeysKeySigningKeys = { ... }
```


### DataGoogleDnsKeysKeySigningKeysDigests <a name="DataGoogleDnsKeysKeySigningKeysDigests" id="@dschmidt/provider-google.DataGoogleDnsKeysKeySigningKeysDigests"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDnsKeysKeySigningKeysDigests.Initializer"></a>

```typescript
import { DataGoogleDnsKeysKeySigningKeysDigests } from '@dschmidt/provider-google'

const dataGoogleDnsKeysKeySigningKeysDigests: DataGoogleDnsKeysKeySigningKeysDigests = { ... }
```


### DataGoogleDnsKeysZoneSigningKeys <a name="DataGoogleDnsKeysZoneSigningKeys" id="@dschmidt/provider-google.DataGoogleDnsKeysZoneSigningKeys"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDnsKeysZoneSigningKeys.Initializer"></a>

```typescript
import { DataGoogleDnsKeysZoneSigningKeys } from '@dschmidt/provider-google'

const dataGoogleDnsKeysZoneSigningKeys: DataGoogleDnsKeysZoneSigningKeys = { ... }
```


### DataGoogleDnsKeysZoneSigningKeysDigests <a name="DataGoogleDnsKeysZoneSigningKeysDigests" id="@dschmidt/provider-google.DataGoogleDnsKeysZoneSigningKeysDigests"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDnsKeysZoneSigningKeysDigests.Initializer"></a>

```typescript
import { DataGoogleDnsKeysZoneSigningKeysDigests } from '@dschmidt/provider-google'

const dataGoogleDnsKeysZoneSigningKeysDigests: DataGoogleDnsKeysZoneSigningKeysDigests = { ... }
```


### DataGoogleDnsManagedZoneConfig <a name="DataGoogleDnsManagedZoneConfig" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.Initializer"></a>

```typescript
import { DataGoogleDnsManagedZoneConfig } from '@dschmidt/provider-google'

const dataGoogleDnsManagedZoneConfig: DataGoogleDnsManagedZoneConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_managed_zone#name DataGoogleDnsManagedZone#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_managed_zone#id DataGoogleDnsManagedZone#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_managed_zone#project DataGoogleDnsManagedZone#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_managed_zone#name DataGoogleDnsManagedZone#name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_managed_zone#id DataGoogleDnsManagedZone#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleDnsManagedZoneConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_managed_zone#project DataGoogleDnsManagedZone#project}.

---

### DataGoogleDnsRecordSetConfig <a name="DataGoogleDnsRecordSetConfig" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.Initializer"></a>

```typescript
import { DataGoogleDnsRecordSetConfig } from '@dschmidt/provider-google'

const dataGoogleDnsRecordSetConfig: DataGoogleDnsRecordSetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.managedZone">managedZone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#managed_zone DataGoogleDnsRecordSet#managed_zone}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#name DataGoogleDnsRecordSet#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.type">type</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#type DataGoogleDnsRecordSet#type}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#id DataGoogleDnsRecordSet#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#project DataGoogleDnsRecordSet#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `managedZone`<sup>Required</sup> <a name="managedZone" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.managedZone"></a>

```typescript
public readonly managedZone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#managed_zone DataGoogleDnsRecordSet#managed_zone}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#name DataGoogleDnsRecordSet#name}.

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#type DataGoogleDnsRecordSet#type}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#id DataGoogleDnsRecordSet#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleDnsRecordSetConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/dns_record_set#project DataGoogleDnsRecordSet#project}.

---

### DataGoogleFolderConfig <a name="DataGoogleFolderConfig" id="@dschmidt/provider-google.DataGoogleFolderConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleFolderConfig.Initializer"></a>

```typescript
import { DataGoogleFolderConfig } from '@dschmidt/provider-google'

const dataGoogleFolderConfig: DataGoogleFolderConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.folder">folder</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder#folder DataGoogleFolder#folder}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder#id DataGoogleFolder#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderConfig.property.lookupOrganization">lookupOrganization</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder#lookup_organization DataGoogleFolder#lookup_organization}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder#folder DataGoogleFolder#folder}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder#id DataGoogleFolder#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `lookupOrganization`<sup>Optional</sup> <a name="lookupOrganization" id="@dschmidt/provider-google.DataGoogleFolderConfig.property.lookupOrganization"></a>

```typescript
public readonly lookupOrganization: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder#lookup_organization DataGoogleFolder#lookup_organization}.

---

### DataGoogleFolderOrganizationPolicyBooleanPolicy <a name="DataGoogleFolderOrganizationPolicyBooleanPolicy" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyBooleanPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyBooleanPolicy.Initializer"></a>

```typescript
import { DataGoogleFolderOrganizationPolicyBooleanPolicy } from '@dschmidt/provider-google'

const dataGoogleFolderOrganizationPolicyBooleanPolicy: DataGoogleFolderOrganizationPolicyBooleanPolicy = { ... }
```


### DataGoogleFolderOrganizationPolicyConfig <a name="DataGoogleFolderOrganizationPolicyConfig" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.Initializer"></a>

```typescript
import { DataGoogleFolderOrganizationPolicyConfig } from '@dschmidt/provider-google'

const dataGoogleFolderOrganizationPolicyConfig: DataGoogleFolderOrganizationPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.constraint">constraint</a></code> | <code>string</code> | The name of the Constraint the Policy is configuring, for example, serviceuser.services. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.folder">folder</a></code> | <code>string</code> | The resource name of the folder to set the policy for. Its format is folders/{folder_id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder_organization_policy#id DataGoogleFolderOrganizationPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

The name of the Constraint the Policy is configuring, for example, serviceuser.services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder_organization_policy#constraint DataGoogleFolderOrganizationPolicy#constraint}

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

The resource name of the folder to set the policy for. Its format is folders/{folder_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder_organization_policy#folder DataGoogleFolderOrganizationPolicy#folder}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folder_organization_policy#id DataGoogleFolderOrganizationPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleFolderOrganizationPolicyListPolicy <a name="DataGoogleFolderOrganizationPolicyListPolicy" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyListPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyListPolicy.Initializer"></a>

```typescript
import { DataGoogleFolderOrganizationPolicyListPolicy } from '@dschmidt/provider-google'

const dataGoogleFolderOrganizationPolicyListPolicy: DataGoogleFolderOrganizationPolicyListPolicy = { ... }
```


### DataGoogleFolderOrganizationPolicyListPolicyAllow <a name="DataGoogleFolderOrganizationPolicyListPolicyAllow" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyListPolicyAllow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyListPolicyAllow.Initializer"></a>

```typescript
import { DataGoogleFolderOrganizationPolicyListPolicyAllow } from '@dschmidt/provider-google'

const dataGoogleFolderOrganizationPolicyListPolicyAllow: DataGoogleFolderOrganizationPolicyListPolicyAllow = { ... }
```


### DataGoogleFolderOrganizationPolicyListPolicyDeny <a name="DataGoogleFolderOrganizationPolicyListPolicyDeny" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyListPolicyDeny"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyListPolicyDeny.Initializer"></a>

```typescript
import { DataGoogleFolderOrganizationPolicyListPolicyDeny } from '@dschmidt/provider-google'

const dataGoogleFolderOrganizationPolicyListPolicyDeny: DataGoogleFolderOrganizationPolicyListPolicyDeny = { ... }
```


### DataGoogleFolderOrganizationPolicyRestorePolicy <a name="DataGoogleFolderOrganizationPolicyRestorePolicy" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyRestorePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleFolderOrganizationPolicyRestorePolicy.Initializer"></a>

```typescript
import { DataGoogleFolderOrganizationPolicyRestorePolicy } from '@dschmidt/provider-google'

const dataGoogleFolderOrganizationPolicyRestorePolicy: DataGoogleFolderOrganizationPolicyRestorePolicy = { ... }
```


### DataGoogleFoldersConfig <a name="DataGoogleFoldersConfig" id="@dschmidt/provider-google.DataGoogleFoldersConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleFoldersConfig.Initializer"></a>

```typescript
import { DataGoogleFoldersConfig } from '@dschmidt/provider-google'

const dataGoogleFoldersConfig: DataGoogleFoldersConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig.property.parentId">parentId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folders#parent_id DataGoogleFolders#parent_id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleFoldersConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folders#id DataGoogleFolders#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleFoldersConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleFoldersConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleFoldersConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleFoldersConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleFoldersConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleFoldersConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleFoldersConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parentId`<sup>Required</sup> <a name="parentId" id="@dschmidt/provider-google.DataGoogleFoldersConfig.property.parentId"></a>

```typescript
public readonly parentId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folders#parent_id DataGoogleFolders#parent_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleFoldersConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/folders#id DataGoogleFolders#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleFoldersFolders <a name="DataGoogleFoldersFolders" id="@dschmidt/provider-google.DataGoogleFoldersFolders"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleFoldersFolders.Initializer"></a>

```typescript
import { DataGoogleFoldersFolders } from '@dschmidt/provider-google'

const dataGoogleFoldersFolders: DataGoogleFoldersFolders = { ... }
```


### DataGoogleGameServicesGameServerDeploymentRolloutConfig <a name="DataGoogleGameServicesGameServerDeploymentRolloutConfig" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.Initializer"></a>

```typescript
import { DataGoogleGameServicesGameServerDeploymentRolloutConfig } from '@dschmidt/provider-google'

const dataGoogleGameServicesGameServerDeploymentRolloutConfig: DataGoogleGameServicesGameServerDeploymentRolloutConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.deploymentId">deploymentId</a></code> | <code>string</code> | The deployment to rollout the new config to. Only 1 rollout must be associated with each deployment. |
| <code><a href="#@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/game_services_game_server_deployment_rollout#id DataGoogleGameServicesGameServerDeploymentRollout#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `deploymentId`<sup>Required</sup> <a name="deploymentId" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.deploymentId"></a>

```typescript
public readonly deploymentId: string;
```

- *Type:* string

The deployment to rollout the new config to. Only 1 rollout must be associated with each deployment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/game_services_game_server_deployment_rollout#deployment_id DataGoogleGameServicesGameServerDeploymentRollout#deployment_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/game_services_game_server_deployment_rollout#id DataGoogleGameServicesGameServerDeploymentRollout#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverrides <a name="DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverrides" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverrides"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverrides.Initializer"></a>

```typescript
import { DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverrides } from '@dschmidt/provider-google'

const dataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverrides: DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverrides = { ... }
```


### DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector <a name="DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector.Initializer"></a>

```typescript
import { DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector } from '@dschmidt/provider-google'

const dataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector: DataGoogleGameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector = { ... }
```


### DataGoogleIamPolicyAuditConfig <a name="DataGoogleIamPolicyAuditConfig" id="@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig.Initializer"></a>

```typescript
import { DataGoogleIamPolicyAuditConfig } from '@dschmidt/provider-google'

const dataGoogleIamPolicyAuditConfig: DataGoogleIamPolicyAuditConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig.property.auditLogConfigs">auditLogConfigs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigAuditLogConfigs">DataGoogleIamPolicyAuditConfigAuditLogConfigs</a>[]</code> | audit_log_configs block. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#service DataGoogleIamPolicy#service}. |

---

##### `auditLogConfigs`<sup>Required</sup> <a name="auditLogConfigs" id="@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig.property.auditLogConfigs"></a>

```typescript
public readonly auditLogConfigs: IResolvable | DataGoogleIamPolicyAuditConfigAuditLogConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigAuditLogConfigs">DataGoogleIamPolicyAuditConfigAuditLogConfigs</a>[]

audit_log_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#audit_log_configs DataGoogleIamPolicy#audit_log_configs}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#service DataGoogleIamPolicy#service}.

---

### DataGoogleIamPolicyAuditConfigAuditLogConfigs <a name="DataGoogleIamPolicyAuditConfigAuditLogConfigs" id="@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigAuditLogConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigAuditLogConfigs.Initializer"></a>

```typescript
import { DataGoogleIamPolicyAuditConfigAuditLogConfigs } from '@dschmidt/provider-google'

const dataGoogleIamPolicyAuditConfigAuditLogConfigs: DataGoogleIamPolicyAuditConfigAuditLogConfigs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigAuditLogConfigs.property.logType">logType</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#log_type DataGoogleIamPolicy#log_type}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigAuditLogConfigs.property.exemptedMembers">exemptedMembers</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#exempted_members DataGoogleIamPolicy#exempted_members}. |

---

##### `logType`<sup>Required</sup> <a name="logType" id="@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigAuditLogConfigs.property.logType"></a>

```typescript
public readonly logType: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#log_type DataGoogleIamPolicy#log_type}.

---

##### `exemptedMembers`<sup>Optional</sup> <a name="exemptedMembers" id="@dschmidt/provider-google.DataGoogleIamPolicyAuditConfigAuditLogConfigs.property.exemptedMembers"></a>

```typescript
public readonly exemptedMembers: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#exempted_members DataGoogleIamPolicy#exempted_members}.

---

### DataGoogleIamPolicyBinding <a name="DataGoogleIamPolicyBinding" id="@dschmidt/provider-google.DataGoogleIamPolicyBinding"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleIamPolicyBinding.Initializer"></a>

```typescript
import { DataGoogleIamPolicyBinding } from '@dschmidt/provider-google'

const dataGoogleIamPolicyBinding: DataGoogleIamPolicyBinding = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyBinding.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#members DataGoogleIamPolicy#members}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyBinding.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#role DataGoogleIamPolicy#role}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyBinding.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition">DataGoogleIamPolicyBindingCondition</a></code> | condition block. |

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataGoogleIamPolicyBinding.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#members DataGoogleIamPolicy#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataGoogleIamPolicyBinding.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#role DataGoogleIamPolicy#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataGoogleIamPolicyBinding.property.condition"></a>

```typescript
public readonly condition: DataGoogleIamPolicyBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition">DataGoogleIamPolicyBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#condition DataGoogleIamPolicy#condition}

---

### DataGoogleIamPolicyBindingCondition <a name="DataGoogleIamPolicyBindingCondition" id="@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition.Initializer"></a>

```typescript
import { DataGoogleIamPolicyBindingCondition } from '@dschmidt/provider-google'

const dataGoogleIamPolicyBindingCondition: DataGoogleIamPolicyBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#expression DataGoogleIamPolicy#expression}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#title DataGoogleIamPolicy#title}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#description DataGoogleIamPolicy#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#expression DataGoogleIamPolicy#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#title DataGoogleIamPolicy#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataGoogleIamPolicyBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#description DataGoogleIamPolicy#description}.

---

### DataGoogleIamPolicyConfig <a name="DataGoogleIamPolicyConfig" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.Initializer"></a>

```typescript
import { DataGoogleIamPolicyConfig } from '@dschmidt/provider-google'

const dataGoogleIamPolicyConfig: DataGoogleIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.auditConfig">auditConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig">DataGoogleIamPolicyAuditConfig</a>[]</code> | audit_config block. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.binding">binding</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataGoogleIamPolicyBinding">DataGoogleIamPolicyBinding</a>[]</code> | binding block. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#id DataGoogleIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `auditConfig`<sup>Optional</sup> <a name="auditConfig" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.auditConfig"></a>

```typescript
public readonly auditConfig: IResolvable | DataGoogleIamPolicyAuditConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataGoogleIamPolicyAuditConfig">DataGoogleIamPolicyAuditConfig</a>[]

audit_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#audit_config DataGoogleIamPolicy#audit_config}

---

##### `binding`<sup>Optional</sup> <a name="binding" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.binding"></a>

```typescript
public readonly binding: IResolvable | DataGoogleIamPolicyBinding[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataGoogleIamPolicyBinding">DataGoogleIamPolicyBinding</a>[]

binding block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#binding DataGoogleIamPolicy#binding}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_policy#id DataGoogleIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleIamRoleConfig <a name="DataGoogleIamRoleConfig" id="@dschmidt/provider-google.DataGoogleIamRoleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.Initializer"></a>

```typescript
import { DataGoogleIamRoleConfig } from '@dschmidt/provider-google'

const dataGoogleIamRoleConfig: DataGoogleIamRoleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_role#name DataGoogleIamRole#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamRoleConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_role#id DataGoogleIamRole#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_role#name DataGoogleIamRole#name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIamRoleConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_role#id DataGoogleIamRole#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleIamTestablePermissionsConfig <a name="DataGoogleIamTestablePermissionsConfig" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.Initializer"></a>

```typescript
import { DataGoogleIamTestablePermissionsConfig } from '@dschmidt/provider-google'

const dataGoogleIamTestablePermissionsConfig: DataGoogleIamTestablePermissionsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.fullResourceName">fullResourceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_testable_permissions#full_resource_name DataGoogleIamTestablePermissions#full_resource_name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.customSupportLevel">customSupportLevel</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_testable_permissions#custom_support_level DataGoogleIamTestablePermissions#custom_support_level}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_testable_permissions#id DataGoogleIamTestablePermissions#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.stages">stages</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_testable_permissions#stages DataGoogleIamTestablePermissions#stages}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fullResourceName`<sup>Required</sup> <a name="fullResourceName" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.fullResourceName"></a>

```typescript
public readonly fullResourceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_testable_permissions#full_resource_name DataGoogleIamTestablePermissions#full_resource_name}.

---

##### `customSupportLevel`<sup>Optional</sup> <a name="customSupportLevel" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.customSupportLevel"></a>

```typescript
public readonly customSupportLevel: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_testable_permissions#custom_support_level DataGoogleIamTestablePermissions#custom_support_level}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_testable_permissions#id DataGoogleIamTestablePermissions#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `stages`<sup>Optional</sup> <a name="stages" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsConfig.property.stages"></a>

```typescript
public readonly stages: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iam_testable_permissions#stages DataGoogleIamTestablePermissions#stages}.

---

### DataGoogleIamTestablePermissionsPermissions <a name="DataGoogleIamTestablePermissionsPermissions" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsPermissions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleIamTestablePermissionsPermissions.Initializer"></a>

```typescript
import { DataGoogleIamTestablePermissionsPermissions } from '@dschmidt/provider-google'

const dataGoogleIamTestablePermissionsPermissions: DataGoogleIamTestablePermissionsPermissions = { ... }
```


### DataGoogleIapClientConfig <a name="DataGoogleIapClientConfig" id="@dschmidt/provider-google.DataGoogleIapClientConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleIapClientConfig.Initializer"></a>

```typescript
import { DataGoogleIapClientConfig } from '@dschmidt/provider-google'

const dataGoogleIapClientConfig: DataGoogleIapClientConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.brand">brand</a></code> | <code>string</code> | Identifier of the brand to which this client is attached to. The format is 'projects/{project_number}/brands/{brand_id}/identityAwareProxyClients/{client_id}'. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.clientId">clientId</a></code> | <code>string</code> | Output only. Unique identifier of the OAuth client. |
| <code><a href="#@dschmidt/provider-google.DataGoogleIapClientConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iap_client#id DataGoogleIapClient#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `brand`<sup>Required</sup> <a name="brand" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.brand"></a>

```typescript
public readonly brand: string;
```

- *Type:* string

Identifier of the brand to which this client is attached to. The format is 'projects/{project_number}/brands/{brand_id}/identityAwareProxyClients/{client_id}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iap_client#brand DataGoogleIapClient#brand}

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

Output only. Unique identifier of the OAuth client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iap_client#client_id DataGoogleIapClient#client_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleIapClientConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/iap_client#id DataGoogleIapClient#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleKmsCryptoKeyConfig <a name="DataGoogleKmsCryptoKeyConfig" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.Initializer"></a>

```typescript
import { DataGoogleKmsCryptoKeyConfig } from '@dschmidt/provider-google'

const dataGoogleKmsCryptoKeyConfig: DataGoogleKmsCryptoKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.keyRing">keyRing</a></code> | <code>string</code> | The KeyRing that this key belongs to. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.name">name</a></code> | <code>string</code> | The resource name for the CryptoKey. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key#id DataGoogleKmsCryptoKey#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `keyRing`<sup>Required</sup> <a name="keyRing" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.keyRing"></a>

```typescript
public readonly keyRing: string;
```

- *Type:* string

The KeyRing that this key belongs to. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key#key_ring DataGoogleKmsCryptoKey#key_ring}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name for the CryptoKey.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key#name DataGoogleKmsCryptoKey#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key#id DataGoogleKmsCryptoKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleKmsCryptoKeyVersionConfig <a name="DataGoogleKmsCryptoKeyVersionConfig" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.Initializer"></a>

```typescript
import { DataGoogleKmsCryptoKeyVersionConfig } from '@dschmidt/provider-google'

const dataGoogleKmsCryptoKeyVersionConfig: DataGoogleKmsCryptoKeyVersionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.cryptoKey">cryptoKey</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key_version#crypto_key DataGoogleKmsCryptoKeyVersion#crypto_key}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key_version#id DataGoogleKmsCryptoKeyVersion#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.version">version</a></code> | <code>number</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key_version#version DataGoogleKmsCryptoKeyVersion#version}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cryptoKey`<sup>Required</sup> <a name="cryptoKey" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key_version#crypto_key DataGoogleKmsCryptoKeyVersion#crypto_key}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key_version#id DataGoogleKmsCryptoKeyVersion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionConfig.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_crypto_key_version#version DataGoogleKmsCryptoKeyVersion#version}.

---

### DataGoogleKmsCryptoKeyVersionPublicKey <a name="DataGoogleKmsCryptoKeyVersionPublicKey" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionPublicKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionPublicKey.Initializer"></a>

```typescript
import { DataGoogleKmsCryptoKeyVersionPublicKey } from '@dschmidt/provider-google'

const dataGoogleKmsCryptoKeyVersionPublicKey: DataGoogleKmsCryptoKeyVersionPublicKey = { ... }
```


### DataGoogleKmsCryptoKeyVersionTemplate <a name="DataGoogleKmsCryptoKeyVersionTemplate" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionTemplate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleKmsCryptoKeyVersionTemplate.Initializer"></a>

```typescript
import { DataGoogleKmsCryptoKeyVersionTemplate } from '@dschmidt/provider-google'

const dataGoogleKmsCryptoKeyVersionTemplate: DataGoogleKmsCryptoKeyVersionTemplate = { ... }
```


### DataGoogleKmsKeyRingConfig <a name="DataGoogleKmsKeyRingConfig" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.Initializer"></a>

```typescript
import { DataGoogleKmsKeyRingConfig } from '@dschmidt/provider-google'

const dataGoogleKmsKeyRingConfig: DataGoogleKmsKeyRingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.location">location</a></code> | <code>string</code> | The location for the KeyRing. A full list of valid locations can be found by running 'gcloud kms locations list'. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.name">name</a></code> | <code>string</code> | The resource name for the KeyRing. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_key_ring#id DataGoogleKmsKeyRing#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_key_ring#project DataGoogleKmsKeyRing#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the KeyRing. A full list of valid locations can be found by running 'gcloud kms locations list'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_key_ring#location DataGoogleKmsKeyRing#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name for the KeyRing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_key_ring#name DataGoogleKmsKeyRing#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_key_ring#id DataGoogleKmsKeyRing#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleKmsKeyRingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_key_ring#project DataGoogleKmsKeyRing#project}.

---

### DataGoogleKmsSecretCiphertextConfig <a name="DataGoogleKmsSecretCiphertextConfig" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.Initializer"></a>

```typescript
import { DataGoogleKmsSecretCiphertextConfig } from '@dschmidt/provider-google'

const dataGoogleKmsSecretCiphertextConfig: DataGoogleKmsSecretCiphertextConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.cryptoKey">cryptoKey</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret_ciphertext#crypto_key DataGoogleKmsSecretCiphertext#crypto_key}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.plaintext">plaintext</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret_ciphertext#plaintext DataGoogleKmsSecretCiphertext#plaintext}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret_ciphertext#id DataGoogleKmsSecretCiphertext#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cryptoKey`<sup>Required</sup> <a name="cryptoKey" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret_ciphertext#crypto_key DataGoogleKmsSecretCiphertext#crypto_key}.

---

##### `plaintext`<sup>Required</sup> <a name="plaintext" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.plaintext"></a>

```typescript
public readonly plaintext: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret_ciphertext#plaintext DataGoogleKmsSecretCiphertext#plaintext}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsSecretCiphertextConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret_ciphertext#id DataGoogleKmsSecretCiphertext#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleKmsSecretConfig <a name="DataGoogleKmsSecretConfig" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.Initializer"></a>

```typescript
import { DataGoogleKmsSecretConfig } from '@dschmidt/provider-google'

const dataGoogleKmsSecretConfig: DataGoogleKmsSecretConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.ciphertext">ciphertext</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret#ciphertext DataGoogleKmsSecret#ciphertext}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.cryptoKey">cryptoKey</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret#crypto_key DataGoogleKmsSecret#crypto_key}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.additionalAuthenticatedData">additionalAuthenticatedData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret#additional_authenticated_data DataGoogleKmsSecret#additional_authenticated_data}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret#id DataGoogleKmsSecret#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `ciphertext`<sup>Required</sup> <a name="ciphertext" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.ciphertext"></a>

```typescript
public readonly ciphertext: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret#ciphertext DataGoogleKmsSecret#ciphertext}.

---

##### `cryptoKey`<sup>Required</sup> <a name="cryptoKey" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret#crypto_key DataGoogleKmsSecret#crypto_key}.

---

##### `additionalAuthenticatedData`<sup>Optional</sup> <a name="additionalAuthenticatedData" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.additionalAuthenticatedData"></a>

```typescript
public readonly additionalAuthenticatedData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret#additional_authenticated_data DataGoogleKmsSecret#additional_authenticated_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleKmsSecretConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/kms_secret#id DataGoogleKmsSecret#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleMonitoringAppEngineServiceConfig <a name="DataGoogleMonitoringAppEngineServiceConfig" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.Initializer"></a>

```typescript
import { DataGoogleMonitoringAppEngineServiceConfig } from '@dschmidt/provider-google'

const dataGoogleMonitoringAppEngineServiceConfig: DataGoogleMonitoringAppEngineServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.moduleId">moduleId</a></code> | <code>string</code> | The ID of the App Engine module underlying this service. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_app_engine_service#id DataGoogleMonitoringAppEngineService#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_app_engine_service#project DataGoogleMonitoringAppEngineService#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `moduleId`<sup>Required</sup> <a name="moduleId" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.moduleId"></a>

```typescript
public readonly moduleId: string;
```

- *Type:* string

The ID of the App Engine module underlying this service.

Corresponds to the 'moduleId' resource label for a 'gae_app'
monitored resource(see https://cloud.google.com/monitoring/api/resources#tag_gae_app)

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_app_engine_service#module_id DataGoogleMonitoringAppEngineService#module_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_app_engine_service#id DataGoogleMonitoringAppEngineService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_app_engine_service#project DataGoogleMonitoringAppEngineService#project}.

---

### DataGoogleMonitoringAppEngineServiceTelemetry <a name="DataGoogleMonitoringAppEngineServiceTelemetry" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceTelemetry"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringAppEngineServiceTelemetry.Initializer"></a>

```typescript
import { DataGoogleMonitoringAppEngineServiceTelemetry } from '@dschmidt/provider-google'

const dataGoogleMonitoringAppEngineServiceTelemetry: DataGoogleMonitoringAppEngineServiceTelemetry = { ... }
```


### DataGoogleMonitoringClusterIstioServiceConfig <a name="DataGoogleMonitoringClusterIstioServiceConfig" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.Initializer"></a>

```typescript
import { DataGoogleMonitoringClusterIstioServiceConfig } from '@dschmidt/provider-google'

const dataGoogleMonitoringClusterIstioServiceConfig: DataGoogleMonitoringClusterIstioServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.clusterName">clusterName</a></code> | <code>string</code> | The name of the Kubernetes cluster in which this Istio service is defined. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.location">location</a></code> | <code>string</code> | The location of the Kubernetes cluster in which this Istio service is defined. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the Istio service underlying this service. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.serviceNamespace">serviceNamespace</a></code> | <code>string</code> | The namespace of the Istio service underlying this service. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_cluster_istio_service#id DataGoogleMonitoringClusterIstioService#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_cluster_istio_service#project DataGoogleMonitoringClusterIstioService#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `clusterName`<sup>Required</sup> <a name="clusterName" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.clusterName"></a>

```typescript
public readonly clusterName: string;
```

- *Type:* string

The name of the Kubernetes cluster in which this Istio service is defined.

Corresponds to the clusterName resource label in k8s_cluster resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_cluster_istio_service#cluster_name DataGoogleMonitoringClusterIstioService#cluster_name}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the Kubernetes cluster in which this Istio service is defined.

Corresponds to the location resource label in k8s_cluster resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_cluster_istio_service#location DataGoogleMonitoringClusterIstioService#location}

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the Istio service underlying this service.

Corresponds to the destination_service_name metric label in Istio metrics.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_cluster_istio_service#service_name DataGoogleMonitoringClusterIstioService#service_name}

---

##### `serviceNamespace`<sup>Required</sup> <a name="serviceNamespace" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.serviceNamespace"></a>

```typescript
public readonly serviceNamespace: string;
```

- *Type:* string

The namespace of the Istio service underlying this service.

Corresponds to the destination_service_namespace metric label in Istio metrics.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_cluster_istio_service#service_namespace DataGoogleMonitoringClusterIstioService#service_namespace}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_cluster_istio_service#id DataGoogleMonitoringClusterIstioService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_cluster_istio_service#project DataGoogleMonitoringClusterIstioService#project}.

---

### DataGoogleMonitoringClusterIstioServiceTelemetry <a name="DataGoogleMonitoringClusterIstioServiceTelemetry" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceTelemetry"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringClusterIstioServiceTelemetry.Initializer"></a>

```typescript
import { DataGoogleMonitoringClusterIstioServiceTelemetry } from '@dschmidt/provider-google'

const dataGoogleMonitoringClusterIstioServiceTelemetry: DataGoogleMonitoringClusterIstioServiceTelemetry = { ... }
```


### DataGoogleMonitoringIstioCanonicalServiceConfig <a name="DataGoogleMonitoringIstioCanonicalServiceConfig" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.Initializer"></a>

```typescript
import { DataGoogleMonitoringIstioCanonicalServiceConfig } from '@dschmidt/provider-google'

const dataGoogleMonitoringIstioCanonicalServiceConfig: DataGoogleMonitoringIstioCanonicalServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.canonicalService">canonicalService</a></code> | <code>string</code> | The name of the canonical service underlying this service..                       Corresponds to the destination_service_name metric label in Istio metrics. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.canonicalServiceNamespace">canonicalServiceNamespace</a></code> | <code>string</code> | The namespace of the canonical service underlying this service. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.meshUid">meshUid</a></code> | <code>string</code> | Identifier for the Istio mesh in which this canonical service is defined. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_istio_canonical_service#id DataGoogleMonitoringIstioCanonicalService#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_istio_canonical_service#project DataGoogleMonitoringIstioCanonicalService#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `canonicalService`<sup>Required</sup> <a name="canonicalService" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.canonicalService"></a>

```typescript
public readonly canonicalService: string;
```

- *Type:* string

The name of the canonical service underlying this service..                       Corresponds to the destination_service_name metric label in Istio metrics.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_istio_canonical_service#canonical_service DataGoogleMonitoringIstioCanonicalService#canonical_service}

---

##### `canonicalServiceNamespace`<sup>Required</sup> <a name="canonicalServiceNamespace" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.canonicalServiceNamespace"></a>

```typescript
public readonly canonicalServiceNamespace: string;
```

- *Type:* string

The namespace of the canonical service underlying this service.

Corresponds to the destination_service_namespace metric label in Istio metrics.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_istio_canonical_service#canonical_service_namespace DataGoogleMonitoringIstioCanonicalService#canonical_service_namespace}

---

##### `meshUid`<sup>Required</sup> <a name="meshUid" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.meshUid"></a>

```typescript
public readonly meshUid: string;
```

- *Type:* string

Identifier for the Istio mesh in which this canonical service is defined.

Corresponds to the meshUid metric label in Istio metrics.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_istio_canonical_service#mesh_uid DataGoogleMonitoringIstioCanonicalService#mesh_uid}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_istio_canonical_service#id DataGoogleMonitoringIstioCanonicalService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_istio_canonical_service#project DataGoogleMonitoringIstioCanonicalService#project}.

---

### DataGoogleMonitoringIstioCanonicalServiceTelemetry <a name="DataGoogleMonitoringIstioCanonicalServiceTelemetry" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceTelemetry"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringIstioCanonicalServiceTelemetry.Initializer"></a>

```typescript
import { DataGoogleMonitoringIstioCanonicalServiceTelemetry } from '@dschmidt/provider-google'

const dataGoogleMonitoringIstioCanonicalServiceTelemetry: DataGoogleMonitoringIstioCanonicalServiceTelemetry = { ... }
```


### DataGoogleMonitoringMeshIstioServiceConfig <a name="DataGoogleMonitoringMeshIstioServiceConfig" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.Initializer"></a>

```typescript
import { DataGoogleMonitoringMeshIstioServiceConfig } from '@dschmidt/provider-google'

const dataGoogleMonitoringMeshIstioServiceConfig: DataGoogleMonitoringMeshIstioServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.meshUid">meshUid</a></code> | <code>string</code> | Identifier for the mesh in which this Istio service is defined. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the Istio service underlying this service. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.serviceNamespace">serviceNamespace</a></code> | <code>string</code> | The namespace of the Istio service underlying this service. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_mesh_istio_service#id DataGoogleMonitoringMeshIstioService#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_mesh_istio_service#project DataGoogleMonitoringMeshIstioService#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `meshUid`<sup>Required</sup> <a name="meshUid" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.meshUid"></a>

```typescript
public readonly meshUid: string;
```

- *Type:* string

Identifier for the mesh in which this Istio service is defined.

Corresponds to the meshUid metric label in Istio metrics.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_mesh_istio_service#mesh_uid DataGoogleMonitoringMeshIstioService#mesh_uid}

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the Istio service underlying this service.

Corresponds to the destination_service_name metric label in Istio metrics.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_mesh_istio_service#service_name DataGoogleMonitoringMeshIstioService#service_name}

---

##### `serviceNamespace`<sup>Required</sup> <a name="serviceNamespace" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.serviceNamespace"></a>

```typescript
public readonly serviceNamespace: string;
```

- *Type:* string

The namespace of the Istio service underlying this service.

Corresponds to the destination_service_namespace metric label in Istio metrics.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_mesh_istio_service#service_namespace DataGoogleMonitoringMeshIstioService#service_namespace}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_mesh_istio_service#id DataGoogleMonitoringMeshIstioService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_mesh_istio_service#project DataGoogleMonitoringMeshIstioService#project}.

---

### DataGoogleMonitoringMeshIstioServiceTelemetry <a name="DataGoogleMonitoringMeshIstioServiceTelemetry" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceTelemetry"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringMeshIstioServiceTelemetry.Initializer"></a>

```typescript
import { DataGoogleMonitoringMeshIstioServiceTelemetry } from '@dschmidt/provider-google'

const dataGoogleMonitoringMeshIstioServiceTelemetry: DataGoogleMonitoringMeshIstioServiceTelemetry = { ... }
```


### DataGoogleMonitoringNotificationChannelConfig <a name="DataGoogleMonitoringNotificationChannelConfig" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.Initializer"></a>

```typescript
import { DataGoogleMonitoringNotificationChannelConfig } from '@dschmidt/provider-google'

const dataGoogleMonitoringNotificationChannelConfig: DataGoogleMonitoringNotificationChannelConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.displayName">displayName</a></code> | <code>string</code> | An optional human-readable name for this notification channel. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_notification_channel#id DataGoogleMonitoringNotificationChannel#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Configuration fields that define the channel and its behavior. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_notification_channel#project DataGoogleMonitoringNotificationChannel#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.type">type</a></code> | <code>string</code> | The type of the notification channel. |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

An optional human-readable name for this notification channel.

It is recommended that you specify a non-empty and unique name in order to make it easier to identify the channels in your project, though this is not enforced. The display name is limited to 512 Unicode characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_notification_channel#display_name DataGoogleMonitoringNotificationChannel#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_notification_channel#id DataGoogleMonitoringNotificationChannel#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Configuration fields that define the channel and its behavior.

The
permissible and required labels are specified in the
NotificationChannelDescriptor corresponding to the type field.

Labels with sensitive data are obfuscated by the API and therefore Terraform cannot
determine if there are upstream changes to these fields. They can also be configured via
the sensitive_labels block, but cannot be configured in both places.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_notification_channel#labels DataGoogleMonitoringNotificationChannel#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_notification_channel#project DataGoogleMonitoringNotificationChannel#project}.

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of the notification channel.

This field matches the value of the NotificationChannelDescriptor.type field. See https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.notificationChannelDescriptors/list to get the list of valid values such as "email", "slack", etc...

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_notification_channel#type DataGoogleMonitoringNotificationChannel#type}

---

##### `userLabels`<sup>Optional</sup> <a name="userLabels" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelConfig.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field.

This field is intended to be used for organizing and identifying the NotificationChannel objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_notification_channel#user_labels DataGoogleMonitoringNotificationChannel#user_labels}

---

### DataGoogleMonitoringNotificationChannelSensitiveLabels <a name="DataGoogleMonitoringNotificationChannelSensitiveLabels" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelSensitiveLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringNotificationChannelSensitiveLabels.Initializer"></a>

```typescript
import { DataGoogleMonitoringNotificationChannelSensitiveLabels } from '@dschmidt/provider-google'

const dataGoogleMonitoringNotificationChannelSensitiveLabels: DataGoogleMonitoringNotificationChannelSensitiveLabels = { ... }
```


### DataGoogleMonitoringUptimeCheckIpsConfig <a name="DataGoogleMonitoringUptimeCheckIpsConfig" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.Initializer"></a>

```typescript
import { DataGoogleMonitoringUptimeCheckIpsConfig } from '@dschmidt/provider-google'

const dataGoogleMonitoringUptimeCheckIpsConfig: DataGoogleMonitoringUptimeCheckIpsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_uptime_check_ips#id DataGoogleMonitoringUptimeCheckIps#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/monitoring_uptime_check_ips#id DataGoogleMonitoringUptimeCheckIps#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleMonitoringUptimeCheckIpsUptimeCheckIps <a name="DataGoogleMonitoringUptimeCheckIpsUptimeCheckIps" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsUptimeCheckIps"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleMonitoringUptimeCheckIpsUptimeCheckIps.Initializer"></a>

```typescript
import { DataGoogleMonitoringUptimeCheckIpsUptimeCheckIps } from '@dschmidt/provider-google'

const dataGoogleMonitoringUptimeCheckIpsUptimeCheckIps: DataGoogleMonitoringUptimeCheckIpsUptimeCheckIps = { ... }
```


### DataGoogleNetblockIpRangesConfig <a name="DataGoogleNetblockIpRangesConfig" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.Initializer"></a>

```typescript
import { DataGoogleNetblockIpRangesConfig } from '@dschmidt/provider-google'

const dataGoogleNetblockIpRangesConfig: DataGoogleNetblockIpRangesConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/netblock_ip_ranges#id DataGoogleNetblockIpRanges#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.rangeType">rangeType</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/netblock_ip_ranges#range_type DataGoogleNetblockIpRanges#range_type}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/netblock_ip_ranges#id DataGoogleNetblockIpRanges#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `rangeType`<sup>Optional</sup> <a name="rangeType" id="@dschmidt/provider-google.DataGoogleNetblockIpRangesConfig.property.rangeType"></a>

```typescript
public readonly rangeType: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/netblock_ip_ranges#range_type DataGoogleNetblockIpRanges#range_type}.

---

### DataGoogleOrganizationConfig <a name="DataGoogleOrganizationConfig" id="@dschmidt/provider-google.DataGoogleOrganizationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.Initializer"></a>

```typescript
import { DataGoogleOrganizationConfig } from '@dschmidt/provider-google'

const dataGoogleOrganizationConfig: DataGoogleOrganizationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.domain">domain</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/organization#domain DataGoogleOrganization#domain}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/organization#id DataGoogleOrganization#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleOrganizationConfig.property.organization">organization</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/organization#organization DataGoogleOrganization#organization}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `domain`<sup>Optional</sup> <a name="domain" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/organization#domain DataGoogleOrganization#domain}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/organization#id DataGoogleOrganization#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `organization`<sup>Optional</sup> <a name="organization" id="@dschmidt/provider-google.DataGoogleOrganizationConfig.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/organization#organization DataGoogleOrganization#organization}.

---

### DataGooglePrivatecaCertificateAuthorityAccessUrls <a name="DataGooglePrivatecaCertificateAuthorityAccessUrls" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityAccessUrls"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityAccessUrls.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityAccessUrls } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityAccessUrls: DataGooglePrivatecaCertificateAuthorityAccessUrls = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfig <a name="DataGooglePrivatecaCertificateAuthorityConfig" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfig } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfig: DataGooglePrivatecaCertificateAuthorityConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.certificateAuthorityId">certificateAuthorityId</a></code> | <code>string</code> | The user provided Resource ID for this Certificate Authority. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/privateca_certificate_authority#id DataGooglePrivatecaCertificateAuthority#id}. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.location">location</a></code> | <code>string</code> | Location of the CertificateAuthority. A full list of valid locations can be found by running 'gcloud privateca locations list'. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.pool">pool</a></code> | <code>string</code> | The name of the CaPool this Certificate Authority belongs to. |
| <code><a href="#@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/privateca_certificate_authority#project DataGooglePrivatecaCertificateAuthority#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificateAuthorityId`<sup>Optional</sup> <a name="certificateAuthorityId" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.certificateAuthorityId"></a>

```typescript
public readonly certificateAuthorityId: string;
```

- *Type:* string

The user provided Resource ID for this Certificate Authority.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/privateca_certificate_authority#certificate_authority_id DataGooglePrivatecaCertificateAuthority#certificate_authority_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/privateca_certificate_authority#id DataGooglePrivatecaCertificateAuthority#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the CertificateAuthority. A full list of valid locations can be found by running 'gcloud privateca locations list'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/privateca_certificate_authority#location DataGooglePrivatecaCertificateAuthority#location}

---

##### `pool`<sup>Optional</sup> <a name="pool" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.pool"></a>

```typescript
public readonly pool: string;
```

- *Type:* string

The name of the CaPool this Certificate Authority belongs to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/privateca_certificate_authority#pool DataGooglePrivatecaCertificateAuthority#pool}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/privateca_certificate_authority#project DataGooglePrivatecaCertificateAuthority#project}.

---

### DataGooglePrivatecaCertificateAuthorityConfigA <a name="DataGooglePrivatecaCertificateAuthorityConfigA" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigA.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigA } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigA: DataGooglePrivatecaCertificateAuthorityConfigA = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigSubjectConfig <a name="DataGooglePrivatecaCertificateAuthorityConfigSubjectConfig" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigSubjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigSubjectConfig.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigSubjectConfig } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigSubjectConfig: DataGooglePrivatecaCertificateAuthorityConfigSubjectConfig = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubject <a name="DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubject" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubject"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubject.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubject } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubject: DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubject = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName <a name="DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName: DataGooglePrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigX509Config <a name="DataGooglePrivatecaCertificateAuthorityConfigX509Config" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509Config"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509Config.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigX509Config } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigX509Config: DataGooglePrivatecaCertificateAuthorityConfigX509Config = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions <a name="DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions: DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId <a name="DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId: DataGooglePrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigX509ConfigCaOptions <a name="DataGooglePrivatecaCertificateAuthorityConfigX509ConfigCaOptions" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigCaOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigCaOptions.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigX509ConfigCaOptions } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigX509ConfigCaOptions: DataGooglePrivatecaCertificateAuthorityConfigX509ConfigCaOptions = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsage <a name="DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsage" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsage.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsage } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsage: DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsage = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage <a name="DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage: DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage <a name="DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage: DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages <a name="DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages: DataGooglePrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages = { ... }
```


### DataGooglePrivatecaCertificateAuthorityConfigX509ConfigPolicyIds <a name="DataGooglePrivatecaCertificateAuthorityConfigX509ConfigPolicyIds" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigPolicyIds"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityConfigX509ConfigPolicyIds.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityConfigX509ConfigPolicyIds } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityConfigX509ConfigPolicyIds: DataGooglePrivatecaCertificateAuthorityConfigX509ConfigPolicyIds = { ... }
```


### DataGooglePrivatecaCertificateAuthorityKeySpec <a name="DataGooglePrivatecaCertificateAuthorityKeySpec" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityKeySpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthorityKeySpec.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthorityKeySpec } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthorityKeySpec: DataGooglePrivatecaCertificateAuthorityKeySpec = { ... }
```


### DataGooglePrivatecaCertificateAuthoritySubordinateConfig <a name="DataGooglePrivatecaCertificateAuthoritySubordinateConfig" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthoritySubordinateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthoritySubordinateConfig.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthoritySubordinateConfig } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthoritySubordinateConfig: DataGooglePrivatecaCertificateAuthoritySubordinateConfig = { ... }
```


### DataGooglePrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain <a name="DataGooglePrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain.Initializer"></a>

```typescript
import { DataGooglePrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain } from '@dschmidt/provider-google'

const dataGooglePrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain: DataGooglePrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain = { ... }
```


### DataGoogleProjectConfig <a name="DataGoogleProjectConfig" id="@dschmidt/provider-google.DataGoogleProjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleProjectConfig.Initializer"></a>

```typescript
import { DataGoogleProjectConfig } from '@dschmidt/provider-google'

const dataGoogleProjectConfig: DataGoogleProjectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/project#id DataGoogleProject#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectConfig.property.projectId">projectId</a></code> | <code>string</code> | The project ID. Changing this forces a new project to be created. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleProjectConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleProjectConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleProjectConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleProjectConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleProjectConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleProjectConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleProjectConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleProjectConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/project#id DataGoogleProject#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.DataGoogleProjectConfig.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The project ID. Changing this forces a new project to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/project#project_id DataGoogleProject#project_id}

---

### DataGoogleProjectOrganizationPolicyBooleanPolicy <a name="DataGoogleProjectOrganizationPolicyBooleanPolicy" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyBooleanPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyBooleanPolicy.Initializer"></a>

```typescript
import { DataGoogleProjectOrganizationPolicyBooleanPolicy } from '@dschmidt/provider-google'

const dataGoogleProjectOrganizationPolicyBooleanPolicy: DataGoogleProjectOrganizationPolicyBooleanPolicy = { ... }
```


### DataGoogleProjectOrganizationPolicyConfig <a name="DataGoogleProjectOrganizationPolicyConfig" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.Initializer"></a>

```typescript
import { DataGoogleProjectOrganizationPolicyConfig } from '@dschmidt/provider-google'

const dataGoogleProjectOrganizationPolicyConfig: DataGoogleProjectOrganizationPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.constraint">constraint</a></code> | <code>string</code> | The name of the Constraint the Policy is configuring, for example, serviceuser.services. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.project">project</a></code> | <code>string</code> | The project ID. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/project_organization_policy#id DataGoogleProjectOrganizationPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

The name of the Constraint the Policy is configuring, for example, serviceuser.services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/project_organization_policy#constraint DataGoogleProjectOrganizationPolicy#constraint}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/project_organization_policy#project DataGoogleProjectOrganizationPolicy#project}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/project_organization_policy#id DataGoogleProjectOrganizationPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleProjectOrganizationPolicyListPolicy <a name="DataGoogleProjectOrganizationPolicyListPolicy" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyListPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyListPolicy.Initializer"></a>

```typescript
import { DataGoogleProjectOrganizationPolicyListPolicy } from '@dschmidt/provider-google'

const dataGoogleProjectOrganizationPolicyListPolicy: DataGoogleProjectOrganizationPolicyListPolicy = { ... }
```


### DataGoogleProjectOrganizationPolicyListPolicyAllow <a name="DataGoogleProjectOrganizationPolicyListPolicyAllow" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyListPolicyAllow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyListPolicyAllow.Initializer"></a>

```typescript
import { DataGoogleProjectOrganizationPolicyListPolicyAllow } from '@dschmidt/provider-google'

const dataGoogleProjectOrganizationPolicyListPolicyAllow: DataGoogleProjectOrganizationPolicyListPolicyAllow = { ... }
```


### DataGoogleProjectOrganizationPolicyListPolicyDeny <a name="DataGoogleProjectOrganizationPolicyListPolicyDeny" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyListPolicyDeny"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyListPolicyDeny.Initializer"></a>

```typescript
import { DataGoogleProjectOrganizationPolicyListPolicyDeny } from '@dschmidt/provider-google'

const dataGoogleProjectOrganizationPolicyListPolicyDeny: DataGoogleProjectOrganizationPolicyListPolicyDeny = { ... }
```


### DataGoogleProjectOrganizationPolicyRestorePolicy <a name="DataGoogleProjectOrganizationPolicyRestorePolicy" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyRestorePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleProjectOrganizationPolicyRestorePolicy.Initializer"></a>

```typescript
import { DataGoogleProjectOrganizationPolicyRestorePolicy } from '@dschmidt/provider-google'

const dataGoogleProjectOrganizationPolicyRestorePolicy: DataGoogleProjectOrganizationPolicyRestorePolicy = { ... }
```


### DataGoogleProjectsConfig <a name="DataGoogleProjectsConfig" id="@dschmidt/provider-google.DataGoogleProjectsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleProjectsConfig.Initializer"></a>

```typescript
import { DataGoogleProjectsConfig } from '@dschmidt/provider-google'

const dataGoogleProjectsConfig: DataGoogleProjectsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig.property.filter">filter</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/projects#filter DataGoogleProjects#filter}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleProjectsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/projects#id DataGoogleProjects#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleProjectsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleProjectsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleProjectsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleProjectsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleProjectsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleProjectsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleProjectsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.DataGoogleProjectsConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/projects#filter DataGoogleProjects#filter}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleProjectsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/projects#id DataGoogleProjects#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleProjectsProjects <a name="DataGoogleProjectsProjects" id="@dschmidt/provider-google.DataGoogleProjectsProjects"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleProjectsProjects.Initializer"></a>

```typescript
import { DataGoogleProjectsProjects } from '@dschmidt/provider-google'

const dataGoogleProjectsProjects: DataGoogleProjectsProjects = { ... }
```


### DataGooglePubsubTopicConfig <a name="DataGooglePubsubTopicConfig" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.Initializer"></a>

```typescript
import { DataGooglePubsubTopicConfig } from '@dschmidt/provider-google'

const dataGooglePubsubTopicConfig: DataGooglePubsubTopicConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.name">name</a></code> | <code>string</code> | Name of the topic. |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/pubsub_topic#id DataGooglePubsubTopic#id}. |
| <code><a href="#@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/pubsub_topic#project DataGooglePubsubTopic#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/pubsub_topic#name DataGooglePubsubTopic#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/pubsub_topic#id DataGooglePubsubTopic#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGooglePubsubTopicConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/pubsub_topic#project DataGooglePubsubTopic#project}.

---

### DataGooglePubsubTopicMessageStoragePolicy <a name="DataGooglePubsubTopicMessageStoragePolicy" id="@dschmidt/provider-google.DataGooglePubsubTopicMessageStoragePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePubsubTopicMessageStoragePolicy.Initializer"></a>

```typescript
import { DataGooglePubsubTopicMessageStoragePolicy } from '@dschmidt/provider-google'

const dataGooglePubsubTopicMessageStoragePolicy: DataGooglePubsubTopicMessageStoragePolicy = { ... }
```


### DataGooglePubsubTopicSchemaSettings <a name="DataGooglePubsubTopicSchemaSettings" id="@dschmidt/provider-google.DataGooglePubsubTopicSchemaSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGooglePubsubTopicSchemaSettings.Initializer"></a>

```typescript
import { DataGooglePubsubTopicSchemaSettings } from '@dschmidt/provider-google'

const dataGooglePubsubTopicSchemaSettings: DataGooglePubsubTopicSchemaSettings = { ... }
```


### DataGoogleRedisInstanceConfig <a name="DataGoogleRedisInstanceConfig" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleRedisInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleRedisInstanceConfig: DataGoogleRedisInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.name">name</a></code> | <code>string</code> | The ID of the instance or a fully qualified identifier for the instance. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/redis_instance#id DataGoogleRedisInstance#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/redis_instance#project DataGoogleRedisInstance#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.region">region</a></code> | <code>string</code> | The name of the Redis region of the instance. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The ID of the instance or a fully qualified identifier for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/redis_instance#name DataGoogleRedisInstance#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/redis_instance#id DataGoogleRedisInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/redis_instance#project DataGoogleRedisInstance#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataGoogleRedisInstanceConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The name of the Redis region of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/redis_instance#region DataGoogleRedisInstance#region}

---

### DataGoogleRedisInstanceMaintenancePolicy <a name="DataGoogleRedisInstanceMaintenancePolicy" id="@dschmidt/provider-google.DataGoogleRedisInstanceMaintenancePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleRedisInstanceMaintenancePolicy.Initializer"></a>

```typescript
import { DataGoogleRedisInstanceMaintenancePolicy } from '@dschmidt/provider-google'

const dataGoogleRedisInstanceMaintenancePolicy: DataGoogleRedisInstanceMaintenancePolicy = { ... }
```


### DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindow <a name="DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindow" id="@dschmidt/provider-google.DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindow.Initializer"></a>

```typescript
import { DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindow } from '@dschmidt/provider-google'

const dataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindow: DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindow = { ... }
```


### DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime <a name="DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime" id="@dschmidt/provider-google.DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.Initializer"></a>

```typescript
import { DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime } from '@dschmidt/provider-google'

const dataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime: DataGoogleRedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime = { ... }
```


### DataGoogleRedisInstanceMaintenanceSchedule <a name="DataGoogleRedisInstanceMaintenanceSchedule" id="@dschmidt/provider-google.DataGoogleRedisInstanceMaintenanceSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleRedisInstanceMaintenanceSchedule.Initializer"></a>

```typescript
import { DataGoogleRedisInstanceMaintenanceSchedule } from '@dschmidt/provider-google'

const dataGoogleRedisInstanceMaintenanceSchedule: DataGoogleRedisInstanceMaintenanceSchedule = { ... }
```


### DataGoogleRedisInstanceNodes <a name="DataGoogleRedisInstanceNodes" id="@dschmidt/provider-google.DataGoogleRedisInstanceNodes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleRedisInstanceNodes.Initializer"></a>

```typescript
import { DataGoogleRedisInstanceNodes } from '@dschmidt/provider-google'

const dataGoogleRedisInstanceNodes: DataGoogleRedisInstanceNodes = { ... }
```


### DataGoogleRedisInstanceServerCaCerts <a name="DataGoogleRedisInstanceServerCaCerts" id="@dschmidt/provider-google.DataGoogleRedisInstanceServerCaCerts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleRedisInstanceServerCaCerts.Initializer"></a>

```typescript
import { DataGoogleRedisInstanceServerCaCerts } from '@dschmidt/provider-google'

const dataGoogleRedisInstanceServerCaCerts: DataGoogleRedisInstanceServerCaCerts = { ... }
```


### DataGoogleSecretManagerSecretConfig <a name="DataGoogleSecretManagerSecretConfig" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecretConfig } from '@dschmidt/provider-google'

const dataGoogleSecretManagerSecretConfig: DataGoogleSecretManagerSecretConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.secretId">secretId</a></code> | <code>string</code> | This must be unique within the project. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret#id DataGoogleSecretManagerSecret#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret#project DataGoogleSecretManagerSecret#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

This must be unique within the project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret#secret_id DataGoogleSecretManagerSecret#secret_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret#id DataGoogleSecretManagerSecret#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret#project DataGoogleSecretManagerSecret#project}.

---

### DataGoogleSecretManagerSecretReplication <a name="DataGoogleSecretManagerSecretReplication" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretReplication"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretReplication.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecretReplication } from '@dschmidt/provider-google'

const dataGoogleSecretManagerSecretReplication: DataGoogleSecretManagerSecretReplication = { ... }
```


### DataGoogleSecretManagerSecretReplicationUserManaged <a name="DataGoogleSecretManagerSecretReplicationUserManaged" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretReplicationUserManaged"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretReplicationUserManaged.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecretReplicationUserManaged } from '@dschmidt/provider-google'

const dataGoogleSecretManagerSecretReplicationUserManaged: DataGoogleSecretManagerSecretReplicationUserManaged = { ... }
```


### DataGoogleSecretManagerSecretReplicationUserManagedReplicas <a name="DataGoogleSecretManagerSecretReplicationUserManagedReplicas" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretReplicationUserManagedReplicas"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretReplicationUserManagedReplicas.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecretReplicationUserManagedReplicas } from '@dschmidt/provider-google'

const dataGoogleSecretManagerSecretReplicationUserManagedReplicas: DataGoogleSecretManagerSecretReplicationUserManagedReplicas = { ... }
```


### DataGoogleSecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption <a name="DataGoogleSecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption } from '@dschmidt/provider-google'

const dataGoogleSecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption: DataGoogleSecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption = { ... }
```


### DataGoogleSecretManagerSecretRotation <a name="DataGoogleSecretManagerSecretRotation" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretRotation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretRotation.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecretRotation } from '@dschmidt/provider-google'

const dataGoogleSecretManagerSecretRotation: DataGoogleSecretManagerSecretRotation = { ... }
```


### DataGoogleSecretManagerSecretTopics <a name="DataGoogleSecretManagerSecretTopics" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretTopics"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretTopics.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecretTopics } from '@dschmidt/provider-google'

const dataGoogleSecretManagerSecretTopics: DataGoogleSecretManagerSecretTopics = { ... }
```


### DataGoogleSecretManagerSecretVersionConfig <a name="DataGoogleSecretManagerSecretVersionConfig" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.Initializer"></a>

```typescript
import { DataGoogleSecretManagerSecretVersionConfig } from '@dschmidt/provider-google'

const dataGoogleSecretManagerSecretVersionConfig: DataGoogleSecretManagerSecretVersionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.secret">secret</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret_version#secret DataGoogleSecretManagerSecretVersion#secret}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret_version#id DataGoogleSecretManagerSecretVersion#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret_version#project DataGoogleSecretManagerSecretVersion#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.version">version</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret_version#version DataGoogleSecretManagerSecretVersion#version}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret_version#secret DataGoogleSecretManagerSecretVersion#secret}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret_version#id DataGoogleSecretManagerSecretVersion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret_version#project DataGoogleSecretManagerSecretVersion#project}.

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.DataGoogleSecretManagerSecretVersionConfig.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/secret_manager_secret_version#version DataGoogleSecretManagerSecretVersion#version}.

---

### DataGoogleServiceAccountAccessTokenConfig <a name="DataGoogleServiceAccountAccessTokenConfig" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.Initializer"></a>

```typescript
import { DataGoogleServiceAccountAccessTokenConfig } from '@dschmidt/provider-google'

const dataGoogleServiceAccountAccessTokenConfig: DataGoogleServiceAccountAccessTokenConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.scopes">scopes</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#scopes DataGoogleServiceAccountAccessToken#scopes}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.targetServiceAccount">targetServiceAccount</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#target_service_account DataGoogleServiceAccountAccessToken#target_service_account}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.delegates">delegates</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#delegates DataGoogleServiceAccountAccessToken#delegates}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#id DataGoogleServiceAccountAccessToken#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.lifetime">lifetime</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#lifetime DataGoogleServiceAccountAccessToken#lifetime}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `scopes`<sup>Required</sup> <a name="scopes" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.scopes"></a>

```typescript
public readonly scopes: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#scopes DataGoogleServiceAccountAccessToken#scopes}.

---

##### `targetServiceAccount`<sup>Required</sup> <a name="targetServiceAccount" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.targetServiceAccount"></a>

```typescript
public readonly targetServiceAccount: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#target_service_account DataGoogleServiceAccountAccessToken#target_service_account}.

---

##### `delegates`<sup>Optional</sup> <a name="delegates" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.delegates"></a>

```typescript
public readonly delegates: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#delegates DataGoogleServiceAccountAccessToken#delegates}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#id DataGoogleServiceAccountAccessToken#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `lifetime`<sup>Optional</sup> <a name="lifetime" id="@dschmidt/provider-google.DataGoogleServiceAccountAccessTokenConfig.property.lifetime"></a>

```typescript
public readonly lifetime: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_access_token#lifetime DataGoogleServiceAccountAccessToken#lifetime}.

---

### DataGoogleServiceAccountConfig <a name="DataGoogleServiceAccountConfig" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.Initializer"></a>

```typescript
import { DataGoogleServiceAccountConfig } from '@dschmidt/provider-google'

const dataGoogleServiceAccountConfig: DataGoogleServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.accountId">accountId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account#account_id DataGoogleServiceAccount#account_id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account#id DataGoogleServiceAccount#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account#project DataGoogleServiceAccount#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `accountId`<sup>Required</sup> <a name="accountId" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.accountId"></a>

```typescript
public readonly accountId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account#account_id DataGoogleServiceAccount#account_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account#id DataGoogleServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleServiceAccountConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account#project DataGoogleServiceAccount#project}.

---

### DataGoogleServiceAccountIdTokenConfig <a name="DataGoogleServiceAccountIdTokenConfig" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.Initializer"></a>

```typescript
import { DataGoogleServiceAccountIdTokenConfig } from '@dschmidt/provider-google'

const dataGoogleServiceAccountIdTokenConfig: DataGoogleServiceAccountIdTokenConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.targetAudience">targetAudience</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#target_audience DataGoogleServiceAccountIdToken#target_audience}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.delegates">delegates</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#delegates DataGoogleServiceAccountIdToken#delegates}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#id DataGoogleServiceAccountIdToken#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.includeEmail">includeEmail</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#include_email DataGoogleServiceAccountIdToken#include_email}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.targetServiceAccount">targetServiceAccount</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#target_service_account DataGoogleServiceAccountIdToken#target_service_account}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `targetAudience`<sup>Required</sup> <a name="targetAudience" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.targetAudience"></a>

```typescript
public readonly targetAudience: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#target_audience DataGoogleServiceAccountIdToken#target_audience}.

---

##### `delegates`<sup>Optional</sup> <a name="delegates" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.delegates"></a>

```typescript
public readonly delegates: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#delegates DataGoogleServiceAccountIdToken#delegates}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#id DataGoogleServiceAccountIdToken#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `includeEmail`<sup>Optional</sup> <a name="includeEmail" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.includeEmail"></a>

```typescript
public readonly includeEmail: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#include_email DataGoogleServiceAccountIdToken#include_email}.

---

##### `targetServiceAccount`<sup>Optional</sup> <a name="targetServiceAccount" id="@dschmidt/provider-google.DataGoogleServiceAccountIdTokenConfig.property.targetServiceAccount"></a>

```typescript
public readonly targetServiceAccount: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_id_token#target_service_account DataGoogleServiceAccountIdToken#target_service_account}.

---

### DataGoogleServiceAccountJwtConfig <a name="DataGoogleServiceAccountJwtConfig" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.Initializer"></a>

```typescript
import { DataGoogleServiceAccountJwtConfig } from '@dschmidt/provider-google'

const dataGoogleServiceAccountJwtConfig: DataGoogleServiceAccountJwtConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.payload">payload</a></code> | <code>string</code> | A JSON-encoded JWT claims set that will be included in the signed JWT. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.targetServiceAccount">targetServiceAccount</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_jwt#target_service_account DataGoogleServiceAccountJwt#target_service_account}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.delegates">delegates</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_jwt#delegates DataGoogleServiceAccountJwt#delegates}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_jwt#id DataGoogleServiceAccountJwt#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `payload`<sup>Required</sup> <a name="payload" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.payload"></a>

```typescript
public readonly payload: string;
```

- *Type:* string

A JSON-encoded JWT claims set that will be included in the signed JWT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_jwt#payload DataGoogleServiceAccountJwt#payload}

---

##### `targetServiceAccount`<sup>Required</sup> <a name="targetServiceAccount" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.targetServiceAccount"></a>

```typescript
public readonly targetServiceAccount: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_jwt#target_service_account DataGoogleServiceAccountJwt#target_service_account}.

---

##### `delegates`<sup>Optional</sup> <a name="delegates" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.delegates"></a>

```typescript
public readonly delegates: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_jwt#delegates DataGoogleServiceAccountJwt#delegates}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountJwtConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_jwt#id DataGoogleServiceAccountJwt#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleServiceAccountKeyConfig <a name="DataGoogleServiceAccountKeyConfig" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.Initializer"></a>

```typescript
import { DataGoogleServiceAccountKeyConfig } from '@dschmidt/provider-google'

const dataGoogleServiceAccountKeyConfig: DataGoogleServiceAccountKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_key#name DataGoogleServiceAccountKey#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_key#id DataGoogleServiceAccountKey#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_key#project DataGoogleServiceAccountKey#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.publicKeyType">publicKeyType</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_key#public_key_type DataGoogleServiceAccountKey#public_key_type}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_key#name DataGoogleServiceAccountKey#name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_key#id DataGoogleServiceAccountKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_key#project DataGoogleServiceAccountKey#project}.

---

##### `publicKeyType`<sup>Optional</sup> <a name="publicKeyType" id="@dschmidt/provider-google.DataGoogleServiceAccountKeyConfig.property.publicKeyType"></a>

```typescript
public readonly publicKeyType: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_account_key#public_key_type DataGoogleServiceAccountKey#public_key_type}.

---

### DataGoogleServiceNetworkingPeeredDnsDomainConfig <a name="DataGoogleServiceNetworkingPeeredDnsDomainConfig" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.Initializer"></a>

```typescript
import { DataGoogleServiceNetworkingPeeredDnsDomainConfig } from '@dschmidt/provider-google'

const dataGoogleServiceNetworkingPeeredDnsDomainConfig: DataGoogleServiceNetworkingPeeredDnsDomainConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#name DataGoogleServiceNetworkingPeeredDnsDomain#name}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.network">network</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#network DataGoogleServiceNetworkingPeeredDnsDomain#network}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#project DataGoogleServiceNetworkingPeeredDnsDomain#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#service DataGoogleServiceNetworkingPeeredDnsDomain#service}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#id DataGoogleServiceNetworkingPeeredDnsDomain#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#name DataGoogleServiceNetworkingPeeredDnsDomain#name}.

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#network DataGoogleServiceNetworkingPeeredDnsDomain#network}.

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#project DataGoogleServiceNetworkingPeeredDnsDomain#project}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#service DataGoogleServiceNetworkingPeeredDnsDomain#service}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleServiceNetworkingPeeredDnsDomainConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/service_networking_peered_dns_domain#id DataGoogleServiceNetworkingPeeredDnsDomain#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleSourcerepoRepositoryConfig <a name="DataGoogleSourcerepoRepositoryConfig" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.Initializer"></a>

```typescript
import { DataGoogleSourcerepoRepositoryConfig } from '@dschmidt/provider-google'

const dataGoogleSourcerepoRepositoryConfig: DataGoogleSourcerepoRepositoryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.name">name</a></code> | <code>string</code> | Resource name of the repository, of the form '{{repo}}'. The repo name may contain slashes. eg, 'name/with/slash'. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sourcerepo_repository#id DataGoogleSourcerepoRepository#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sourcerepo_repository#project DataGoogleSourcerepoRepository#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Resource name of the repository, of the form '{{repo}}'. The repo name may contain slashes. eg, 'name/with/slash'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sourcerepo_repository#name DataGoogleSourcerepoRepository#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sourcerepo_repository#id DataGoogleSourcerepoRepository#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sourcerepo_repository#project DataGoogleSourcerepoRepository#project}.

---

### DataGoogleSourcerepoRepositoryPubsubConfigs <a name="DataGoogleSourcerepoRepositoryPubsubConfigs" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryPubsubConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSourcerepoRepositoryPubsubConfigs.Initializer"></a>

```typescript
import { DataGoogleSourcerepoRepositoryPubsubConfigs } from '@dschmidt/provider-google'

const dataGoogleSourcerepoRepositoryPubsubConfigs: DataGoogleSourcerepoRepositoryPubsubConfigs = { ... }
```


### DataGoogleSpannerInstanceConfig <a name="DataGoogleSpannerInstanceConfig" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleSpannerInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleSpannerInstanceConfig: DataGoogleSpannerInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.name">name</a></code> | <code>string</code> | A unique identifier for the instance, which cannot be changed after the instance is created. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.config">config</a></code> | <code>string</code> | The name of the instance's configuration (similar but not quite the same as a region) which defines the geographic placement and replication of your databases in this instance. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.displayName">displayName</a></code> | <code>string</code> | The descriptive name for this instance as it appears in UIs. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/spanner_instance#id DataGoogleSpannerInstance#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/spanner_instance#project DataGoogleSpannerInstance#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A unique identifier for the instance, which cannot be changed after the instance is created.

The name must be between 6 and 30 characters
in length.


If not provided, a random string starting with 'tf-' will be selected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/spanner_instance#name DataGoogleSpannerInstance#name}

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.config"></a>

```typescript
public readonly config: string;
```

- *Type:* string

The name of the instance's configuration (similar but not quite the same as a region) which defines the geographic placement and replication of your databases in this instance.

It determines where your data
is stored. Values are typically of the form 'regional-europe-west1' , 'us-central' etc.
In order to obtain a valid list please consult the
[Configuration section of the docs](https://cloud.google.com/spanner/docs/instances).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/spanner_instance#config DataGoogleSpannerInstance#config}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The descriptive name for this instance as it appears in UIs.

Must be
unique per project and between 4 and 30 characters in length.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/spanner_instance#display_name DataGoogleSpannerInstance#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/spanner_instance#id DataGoogleSpannerInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSpannerInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/spanner_instance#project DataGoogleSpannerInstance#project}.

---

### DataGoogleSqlBackupRunConfig <a name="DataGoogleSqlBackupRunConfig" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.Initializer"></a>

```typescript
import { DataGoogleSqlBackupRunConfig } from '@dschmidt/provider-google'

const dataGoogleSqlBackupRunConfig: DataGoogleSqlBackupRunConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.instance">instance</a></code> | <code>string</code> | Name of the database instance. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.backupId">backupId</a></code> | <code>number</code> | The identifier for this backup run. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_backup_run#id DataGoogleSqlBackupRun#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.mostRecent">mostRecent</a></code> | <code>boolean \| cdktf.IResolvable</code> | Toggles use of the most recent backup run if multiple backups exist for a Cloud SQL instance. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.project">project</a></code> | <code>string</code> | Project ID of the project that contains the instance. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Name of the database instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_backup_run#instance DataGoogleSqlBackupRun#instance}

---

##### `backupId`<sup>Optional</sup> <a name="backupId" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.backupId"></a>

```typescript
public readonly backupId: number;
```

- *Type:* number

The identifier for this backup run.

Unique only for a specific Cloud SQL instance. If left empty and multiple backups exist for the instance, most_recent must be set to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_backup_run#backup_id DataGoogleSqlBackupRun#backup_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_backup_run#id DataGoogleSqlBackupRun#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `mostRecent`<sup>Optional</sup> <a name="mostRecent" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.mostRecent"></a>

```typescript
public readonly mostRecent: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Toggles use of the most recent backup run if multiple backups exist for a Cloud SQL instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_backup_run#most_recent DataGoogleSqlBackupRun#most_recent}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSqlBackupRunConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Project ID of the project that contains the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_backup_run#project DataGoogleSqlBackupRun#project}

---

### DataGoogleSqlCaCertsCerts <a name="DataGoogleSqlCaCertsCerts" id="@dschmidt/provider-google.DataGoogleSqlCaCertsCerts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlCaCertsCerts.Initializer"></a>

```typescript
import { DataGoogleSqlCaCertsCerts } from '@dschmidt/provider-google'

const dataGoogleSqlCaCertsCerts: DataGoogleSqlCaCertsCerts = { ... }
```


### DataGoogleSqlCaCertsConfig <a name="DataGoogleSqlCaCertsConfig" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.Initializer"></a>

```typescript
import { DataGoogleSqlCaCertsConfig } from '@dschmidt/provider-google'

const dataGoogleSqlCaCertsConfig: DataGoogleSqlCaCertsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_ca_certs#instance DataGoogleSqlCaCerts#instance}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_ca_certs#id DataGoogleSqlCaCerts#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_ca_certs#project DataGoogleSqlCaCerts#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_ca_certs#instance DataGoogleSqlCaCerts#instance}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_ca_certs#id DataGoogleSqlCaCerts#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSqlCaCertsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_ca_certs#project DataGoogleSqlCaCerts#project}.

---

### DataGoogleSqlDatabaseInstanceClone <a name="DataGoogleSqlDatabaseInstanceClone" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceClone"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceClone.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceClone } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceClone: DataGoogleSqlDatabaseInstanceClone = { ... }
```


### DataGoogleSqlDatabaseInstanceConfig <a name="DataGoogleSqlDatabaseInstanceConfig" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceConfig } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceConfig: DataGoogleSqlDatabaseInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.name">name</a></code> | <code>string</code> | The name of the instance. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_database_instance#id DataGoogleSqlDatabaseInstance#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance.

If the name is left blank, Terraform will randomly generate one when the instance is first created. This is done because after a name is used, it cannot be reused for up to one week.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_database_instance#name DataGoogleSqlDatabaseInstance#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_database_instance#id DataGoogleSqlDatabaseInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/sql_database_instance#project DataGoogleSqlDatabaseInstance#project}

---

### DataGoogleSqlDatabaseInstanceIpAddress <a name="DataGoogleSqlDatabaseInstanceIpAddress" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceIpAddress"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceIpAddress.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceIpAddress } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceIpAddress: DataGoogleSqlDatabaseInstanceIpAddress = { ... }
```


### DataGoogleSqlDatabaseInstanceReplicaConfiguration <a name="DataGoogleSqlDatabaseInstanceReplicaConfiguration" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceReplicaConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceReplicaConfiguration.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceReplicaConfiguration } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceReplicaConfiguration: DataGoogleSqlDatabaseInstanceReplicaConfiguration = { ... }
```


### DataGoogleSqlDatabaseInstanceRestoreBackupContext <a name="DataGoogleSqlDatabaseInstanceRestoreBackupContext" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceRestoreBackupContext"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceRestoreBackupContext.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceRestoreBackupContext } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceRestoreBackupContext: DataGoogleSqlDatabaseInstanceRestoreBackupContext = { ... }
```


### DataGoogleSqlDatabaseInstanceServerCaCert <a name="DataGoogleSqlDatabaseInstanceServerCaCert" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceServerCaCert"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceServerCaCert.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceServerCaCert } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceServerCaCert: DataGoogleSqlDatabaseInstanceServerCaCert = { ... }
```


### DataGoogleSqlDatabaseInstanceSettings <a name="DataGoogleSqlDatabaseInstanceSettings" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettings.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettings } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettings: DataGoogleSqlDatabaseInstanceSettings = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsActiveDirectoryConfig <a name="DataGoogleSqlDatabaseInstanceSettingsActiveDirectoryConfig" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsActiveDirectoryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsActiveDirectoryConfig.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsActiveDirectoryConfig } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsActiveDirectoryConfig: DataGoogleSqlDatabaseInstanceSettingsActiveDirectoryConfig = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsBackupConfiguration <a name="DataGoogleSqlDatabaseInstanceSettingsBackupConfiguration" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsBackupConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsBackupConfiguration.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsBackupConfiguration } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsBackupConfiguration: DataGoogleSqlDatabaseInstanceSettingsBackupConfiguration = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings <a name="DataGoogleSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings: DataGoogleSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsDatabaseFlags <a name="DataGoogleSqlDatabaseInstanceSettingsDatabaseFlags" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsDatabaseFlags"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsDatabaseFlags.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsDatabaseFlags } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsDatabaseFlags: DataGoogleSqlDatabaseInstanceSettingsDatabaseFlags = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsInsightsConfig <a name="DataGoogleSqlDatabaseInstanceSettingsInsightsConfig" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsInsightsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsInsightsConfig.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsInsightsConfig } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsInsightsConfig: DataGoogleSqlDatabaseInstanceSettingsInsightsConfig = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsIpConfiguration <a name="DataGoogleSqlDatabaseInstanceSettingsIpConfiguration" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsIpConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsIpConfiguration.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsIpConfiguration } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsIpConfiguration: DataGoogleSqlDatabaseInstanceSettingsIpConfiguration = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks <a name="DataGoogleSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks: DataGoogleSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsLocationPreference <a name="DataGoogleSqlDatabaseInstanceSettingsLocationPreference" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsLocationPreference"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsLocationPreference.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsLocationPreference } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsLocationPreference: DataGoogleSqlDatabaseInstanceSettingsLocationPreference = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsMaintenanceWindow <a name="DataGoogleSqlDatabaseInstanceSettingsMaintenanceWindow" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsMaintenanceWindow.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsMaintenanceWindow } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsMaintenanceWindow: DataGoogleSqlDatabaseInstanceSettingsMaintenanceWindow = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsPasswordValidationPolicy <a name="DataGoogleSqlDatabaseInstanceSettingsPasswordValidationPolicy" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsPasswordValidationPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsPasswordValidationPolicy.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsPasswordValidationPolicy } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsPasswordValidationPolicy: DataGoogleSqlDatabaseInstanceSettingsPasswordValidationPolicy = { ... }
```


### DataGoogleSqlDatabaseInstanceSettingsSqlServerAuditConfig <a name="DataGoogleSqlDatabaseInstanceSettingsSqlServerAuditConfig" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsSqlServerAuditConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleSqlDatabaseInstanceSettingsSqlServerAuditConfig.Initializer"></a>

```typescript
import { DataGoogleSqlDatabaseInstanceSettingsSqlServerAuditConfig } from '@dschmidt/provider-google'

const dataGoogleSqlDatabaseInstanceSettingsSqlServerAuditConfig: DataGoogleSqlDatabaseInstanceSettingsSqlServerAuditConfig = { ... }
```


### DataGoogleStorageBucketConfig <a name="DataGoogleStorageBucketConfig" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.Initializer"></a>

```typescript
import { DataGoogleStorageBucketConfig } from '@dschmidt/provider-google'

const dataGoogleStorageBucketConfig: DataGoogleStorageBucketConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.name">name</a></code> | <code>string</code> | The name of the bucket. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket#id DataGoogleStorageBucket#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket#name DataGoogleStorageBucket#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageBucketConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket#id DataGoogleStorageBucket#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleStorageBucketCors <a name="DataGoogleStorageBucketCors" id="@dschmidt/provider-google.DataGoogleStorageBucketCors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketCors.Initializer"></a>

```typescript
import { DataGoogleStorageBucketCors } from '@dschmidt/provider-google'

const dataGoogleStorageBucketCors: DataGoogleStorageBucketCors = { ... }
```


### DataGoogleStorageBucketEncryption <a name="DataGoogleStorageBucketEncryption" id="@dschmidt/provider-google.DataGoogleStorageBucketEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketEncryption.Initializer"></a>

```typescript
import { DataGoogleStorageBucketEncryption } from '@dschmidt/provider-google'

const dataGoogleStorageBucketEncryption: DataGoogleStorageBucketEncryption = { ... }
```


### DataGoogleStorageBucketLifecycleRule <a name="DataGoogleStorageBucketLifecycleRule" id="@dschmidt/provider-google.DataGoogleStorageBucketLifecycleRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketLifecycleRule.Initializer"></a>

```typescript
import { DataGoogleStorageBucketLifecycleRule } from '@dschmidt/provider-google'

const dataGoogleStorageBucketLifecycleRule: DataGoogleStorageBucketLifecycleRule = { ... }
```


### DataGoogleStorageBucketLifecycleRuleAction <a name="DataGoogleStorageBucketLifecycleRuleAction" id="@dschmidt/provider-google.DataGoogleStorageBucketLifecycleRuleAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketLifecycleRuleAction.Initializer"></a>

```typescript
import { DataGoogleStorageBucketLifecycleRuleAction } from '@dschmidt/provider-google'

const dataGoogleStorageBucketLifecycleRuleAction: DataGoogleStorageBucketLifecycleRuleAction = { ... }
```


### DataGoogleStorageBucketLifecycleRuleCondition <a name="DataGoogleStorageBucketLifecycleRuleCondition" id="@dschmidt/provider-google.DataGoogleStorageBucketLifecycleRuleCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketLifecycleRuleCondition.Initializer"></a>

```typescript
import { DataGoogleStorageBucketLifecycleRuleCondition } from '@dschmidt/provider-google'

const dataGoogleStorageBucketLifecycleRuleCondition: DataGoogleStorageBucketLifecycleRuleCondition = { ... }
```


### DataGoogleStorageBucketLogging <a name="DataGoogleStorageBucketLogging" id="@dschmidt/provider-google.DataGoogleStorageBucketLogging"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketLogging.Initializer"></a>

```typescript
import { DataGoogleStorageBucketLogging } from '@dschmidt/provider-google'

const dataGoogleStorageBucketLogging: DataGoogleStorageBucketLogging = { ... }
```


### DataGoogleStorageBucketObjectConfig <a name="DataGoogleStorageBucketObjectConfig" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.Initializer"></a>

```typescript
import { DataGoogleStorageBucketObjectConfig } from '@dschmidt/provider-google'

const dataGoogleStorageBucketObjectConfig: DataGoogleStorageBucketObjectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.bucket">bucket</a></code> | <code>string</code> | The name of the containing bucket. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object#id DataGoogleStorageBucketObject#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.name">name</a></code> | <code>string</code> | The name of the object. If you're interpolating the name of this object, see output_name instead. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Optional</sup> <a name="bucket" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The name of the containing bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object#bucket DataGoogleStorageBucketObject#bucket}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object#id DataGoogleStorageBucketObject#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the object. If you're interpolating the name of this object, see output_name instead.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object#name DataGoogleStorageBucketObject#name}

---

### DataGoogleStorageBucketObjectContentConfig <a name="DataGoogleStorageBucketObjectContentConfig" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.Initializer"></a>

```typescript
import { DataGoogleStorageBucketObjectContentConfig } from '@dschmidt/provider-google'

const dataGoogleStorageBucketObjectContentConfig: DataGoogleStorageBucketObjectContentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.bucket">bucket</a></code> | <code>string</code> | The name of the containing bucket. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.name">name</a></code> | <code>string</code> | The name of the object. If you're interpolating the name of this object, see output_name instead. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.content">content</a></code> | <code>string</code> | Data as string to be uploaded. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object_content#id DataGoogleStorageBucketObjectContent#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The name of the containing bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object_content#bucket DataGoogleStorageBucketObjectContent#bucket}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the object. If you're interpolating the name of this object, see output_name instead.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object_content#name DataGoogleStorageBucketObjectContent#name}

---

##### `content`<sup>Optional</sup> <a name="content" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

Data as string to be uploaded.

Must be defined if source is not. Note: The content field is marked as sensitive. To view the raw contents of the object, please define an output.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object_content#content DataGoogleStorageBucketObjectContent#content}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_bucket_object_content#id DataGoogleStorageBucketObjectContent#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleStorageBucketObjectContentCustomerEncryption <a name="DataGoogleStorageBucketObjectContentCustomerEncryption" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentCustomerEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectContentCustomerEncryption.Initializer"></a>

```typescript
import { DataGoogleStorageBucketObjectContentCustomerEncryption } from '@dschmidt/provider-google'

const dataGoogleStorageBucketObjectContentCustomerEncryption: DataGoogleStorageBucketObjectContentCustomerEncryption = { ... }
```


### DataGoogleStorageBucketObjectCustomerEncryption <a name="DataGoogleStorageBucketObjectCustomerEncryption" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectCustomerEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketObjectCustomerEncryption.Initializer"></a>

```typescript
import { DataGoogleStorageBucketObjectCustomerEncryption } from '@dschmidt/provider-google'

const dataGoogleStorageBucketObjectCustomerEncryption: DataGoogleStorageBucketObjectCustomerEncryption = { ... }
```


### DataGoogleStorageBucketRetentionPolicy <a name="DataGoogleStorageBucketRetentionPolicy" id="@dschmidt/provider-google.DataGoogleStorageBucketRetentionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketRetentionPolicy.Initializer"></a>

```typescript
import { DataGoogleStorageBucketRetentionPolicy } from '@dschmidt/provider-google'

const dataGoogleStorageBucketRetentionPolicy: DataGoogleStorageBucketRetentionPolicy = { ... }
```


### DataGoogleStorageBucketVersioning <a name="DataGoogleStorageBucketVersioning" id="@dschmidt/provider-google.DataGoogleStorageBucketVersioning"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketVersioning.Initializer"></a>

```typescript
import { DataGoogleStorageBucketVersioning } from '@dschmidt/provider-google'

const dataGoogleStorageBucketVersioning: DataGoogleStorageBucketVersioning = { ... }
```


### DataGoogleStorageBucketWebsite <a name="DataGoogleStorageBucketWebsite" id="@dschmidt/provider-google.DataGoogleStorageBucketWebsite"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageBucketWebsite.Initializer"></a>

```typescript
import { DataGoogleStorageBucketWebsite } from '@dschmidt/provider-google'

const dataGoogleStorageBucketWebsite: DataGoogleStorageBucketWebsite = { ... }
```


### DataGoogleStorageObjectSignedUrlConfig <a name="DataGoogleStorageObjectSignedUrlConfig" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.Initializer"></a>

```typescript
import { DataGoogleStorageObjectSignedUrlConfig } from '@dschmidt/provider-google'

const dataGoogleStorageObjectSignedUrlConfig: DataGoogleStorageObjectSignedUrlConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.bucket">bucket</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#bucket DataGoogleStorageObjectSignedUrl#bucket}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.path">path</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#path DataGoogleStorageObjectSignedUrl#path}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.contentMd5">contentMd5</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#content_md5 DataGoogleStorageObjectSignedUrl#content_md5}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.contentType">contentType</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#content_type DataGoogleStorageObjectSignedUrl#content_type}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.credentials">credentials</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#credentials DataGoogleStorageObjectSignedUrl#credentials}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.duration">duration</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#duration DataGoogleStorageObjectSignedUrl#duration}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.extensionHeaders">extensionHeaders</a></code> | <code>{[ key: string ]: string}</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#extension_headers DataGoogleStorageObjectSignedUrl#extension_headers}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.httpMethod">httpMethod</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#http_method DataGoogleStorageObjectSignedUrl#http_method}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#id DataGoogleStorageObjectSignedUrl#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#bucket DataGoogleStorageObjectSignedUrl#bucket}.

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#path DataGoogleStorageObjectSignedUrl#path}.

---

##### `contentMd5`<sup>Optional</sup> <a name="contentMd5" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.contentMd5"></a>

```typescript
public readonly contentMd5: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#content_md5 DataGoogleStorageObjectSignedUrl#content_md5}.

---

##### `contentType`<sup>Optional</sup> <a name="contentType" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#content_type DataGoogleStorageObjectSignedUrl#content_type}.

---

##### `credentials`<sup>Optional</sup> <a name="credentials" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.credentials"></a>

```typescript
public readonly credentials: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#credentials DataGoogleStorageObjectSignedUrl#credentials}.

---

##### `duration`<sup>Optional</sup> <a name="duration" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.duration"></a>

```typescript
public readonly duration: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#duration DataGoogleStorageObjectSignedUrl#duration}.

---

##### `extensionHeaders`<sup>Optional</sup> <a name="extensionHeaders" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.extensionHeaders"></a>

```typescript
public readonly extensionHeaders: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#extension_headers DataGoogleStorageObjectSignedUrl#extension_headers}.

---

##### `httpMethod`<sup>Optional</sup> <a name="httpMethod" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.httpMethod"></a>

```typescript
public readonly httpMethod: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#http_method DataGoogleStorageObjectSignedUrl#http_method}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageObjectSignedUrlConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_object_signed_url#id DataGoogleStorageObjectSignedUrl#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### DataGoogleStorageProjectServiceAccountConfig <a name="DataGoogleStorageProjectServiceAccountConfig" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.Initializer"></a>

```typescript
import { DataGoogleStorageProjectServiceAccountConfig } from '@dschmidt/provider-google'

const dataGoogleStorageProjectServiceAccountConfig: DataGoogleStorageProjectServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_project_service_account#id DataGoogleStorageProjectServiceAccount#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_project_service_account#project DataGoogleStorageProjectServiceAccount#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.userProject">userProject</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_project_service_account#user_project DataGoogleStorageProjectServiceAccount#user_project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_project_service_account#id DataGoogleStorageProjectServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_project_service_account#project DataGoogleStorageProjectServiceAccount#project}.

---

##### `userProject`<sup>Optional</sup> <a name="userProject" id="@dschmidt/provider-google.DataGoogleStorageProjectServiceAccountConfig.property.userProject"></a>

```typescript
public readonly userProject: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_project_service_account#user_project DataGoogleStorageProjectServiceAccount#user_project}.

---

### DataGoogleStorageTransferProjectServiceAccountConfig <a name="DataGoogleStorageTransferProjectServiceAccountConfig" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.Initializer"></a>

```typescript
import { DataGoogleStorageTransferProjectServiceAccountConfig } from '@dschmidt/provider-google'

const dataGoogleStorageTransferProjectServiceAccountConfig: DataGoogleStorageTransferProjectServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_transfer_project_service_account#id DataGoogleStorageTransferProjectServiceAccount#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_transfer_project_service_account#project DataGoogleStorageTransferProjectServiceAccount#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_transfer_project_service_account#id DataGoogleStorageTransferProjectServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleStorageTransferProjectServiceAccountConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/storage_transfer_project_service_account#project DataGoogleStorageTransferProjectServiceAccount#project}.

---

### DataGoogleTagsTagKeyConfig <a name="DataGoogleTagsTagKeyConfig" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.Initializer"></a>

```typescript
import { DataGoogleTagsTagKeyConfig } from '@dschmidt/provider-google'

const dataGoogleTagsTagKeyConfig: DataGoogleTagsTagKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.parent">parent</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tags_tag_key#parent DataGoogleTagsTagKey#parent}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.shortName">shortName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tags_tag_key#short_name DataGoogleTagsTagKey#short_name}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tags_tag_key#parent DataGoogleTagsTagKey#parent}.

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.DataGoogleTagsTagKeyConfig.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tags_tag_key#short_name DataGoogleTagsTagKey#short_name}.

---

### DataGoogleTagsTagValueConfig <a name="DataGoogleTagsTagValueConfig" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.Initializer"></a>

```typescript
import { DataGoogleTagsTagValueConfig } from '@dschmidt/provider-google'

const dataGoogleTagsTagValueConfig: DataGoogleTagsTagValueConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.parent">parent</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tags_tag_value#parent DataGoogleTagsTagValue#parent}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.shortName">shortName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tags_tag_value#short_name DataGoogleTagsTagValue#short_name}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tags_tag_value#parent DataGoogleTagsTagValue#parent}.

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.DataGoogleTagsTagValueConfig.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tags_tag_value#short_name DataGoogleTagsTagValue#short_name}.

---

### DataGoogleTpuTensorflowVersionsConfig <a name="DataGoogleTpuTensorflowVersionsConfig" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.Initializer"></a>

```typescript
import { DataGoogleTpuTensorflowVersionsConfig } from '@dschmidt/provider-google'

const dataGoogleTpuTensorflowVersionsConfig: DataGoogleTpuTensorflowVersionsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tpu_tensorflow_versions#id DataGoogleTpuTensorflowVersions#id}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tpu_tensorflow_versions#project DataGoogleTpuTensorflowVersions#project}. |
| <code><a href="#@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tpu_tensorflow_versions#zone DataGoogleTpuTensorflowVersions#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tpu_tensorflow_versions#id DataGoogleTpuTensorflowVersions#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tpu_tensorflow_versions#project DataGoogleTpuTensorflowVersions#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataGoogleTpuTensorflowVersionsConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/d/tpu_tensorflow_versions#zone DataGoogleTpuTensorflowVersions#zone}.

---

### DataLossPreventionDeidentifyTemplateConfig <a name="DataLossPreventionDeidentifyTemplateConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateConfig } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateConfig: DataLossPreventionDeidentifyTemplateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.deidentifyConfig">deidentifyConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfig</a></code> | deidentify_config block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.parent">parent</a></code> | <code>string</code> | The parent of the template in any of the following formats:. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.description">description</a></code> | <code>string</code> | A description of the template. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.displayName">displayName</a></code> | <code>string</code> | User set display name of the template. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#id DataLossPreventionDeidentifyTemplate#id}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts">DataLossPreventionDeidentifyTemplateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `deidentifyConfig`<sup>Required</sup> <a name="deidentifyConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.deidentifyConfig"></a>

```typescript
public readonly deidentifyConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfig</a>

deidentify_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#deidentify_config DataLossPreventionDeidentifyTemplate#deidentify_config}

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The parent of the template in any of the following formats:.

'projects/{{project}}'
'projects/{{project}}/locations/{{location}}'
'organizations/{{organization_id}}'
'organizations/{{organization_id}}/locations/{{location}}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#parent DataLossPreventionDeidentifyTemplate#parent}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of the template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#description DataLossPreventionDeidentifyTemplate#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

User set display name of the template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#display_name DataLossPreventionDeidentifyTemplate#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#id DataLossPreventionDeidentifyTemplate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataLossPreventionDeidentifyTemplateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts">DataLossPreventionDeidentifyTemplateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#timeouts DataLossPreventionDeidentifyTemplate#timeouts}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfig <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfig.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfig } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfig.property.infoTypeTransformations">infoTypeTransformations</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations</a></code> | info_type_transformations block. |

---

##### `infoTypeTransformations`<sup>Required</sup> <a name="infoTypeTransformations" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfig.property.infoTypeTransformations"></a>

```typescript
public readonly infoTypeTransformations: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations</a>

info_type_transformations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#info_type_transformations DataLossPreventionDeidentifyTemplate#info_type_transformations}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations.property.transformations">transformations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations</a>[]</code> | transformations block. |

---

##### `transformations`<sup>Required</sup> <a name="transformations" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations.property.transformations"></a>

```typescript
public readonly transformations: IResolvable | DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations</a>[]

transformations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#transformations DataLossPreventionDeidentifyTemplate#transformations}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations.property.primitiveTransformation">primitiveTransformation</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation</a></code> | primitive_transformation block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations.property.infoTypes">infoTypes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes</a>[]</code> | info_types block. |

---

##### `primitiveTransformation`<sup>Required</sup> <a name="primitiveTransformation" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations.property.primitiveTransformation"></a>

```typescript
public readonly primitiveTransformation: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation</a>

primitive_transformation block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#primitive_transformation DataLossPreventionDeidentifyTemplate#primitive_transformation}

---

##### `infoTypes`<sup>Optional</sup> <a name="infoTypes" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations.property.infoTypes"></a>

```typescript
public readonly infoTypes: IResolvable | DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes</a>[]

info_types block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#info_types DataLossPreventionDeidentifyTemplate#info_types}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes.property.name">name</a></code> | <code>string</code> | Name of the information type. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the information type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#name DataLossPreventionDeidentifyTemplate#name}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.characterMaskConfig">characterMaskConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig</a></code> | character_mask_config block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.cryptoDeterministicConfig">cryptoDeterministicConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig</a></code> | crypto_deterministic_config block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.cryptoReplaceFfxFpeConfig">cryptoReplaceFfxFpeConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig</a></code> | crypto_replace_ffx_fpe_config block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.replaceConfig">replaceConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig</a></code> | replace_config block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.replaceWithInfoTypeConfig">replaceWithInfoTypeConfig</a></code> | <code>boolean \| cdktf.IResolvable</code> | Replace each matching finding with the name of the info type. |

---

##### `characterMaskConfig`<sup>Optional</sup> <a name="characterMaskConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.characterMaskConfig"></a>

```typescript
public readonly characterMaskConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig</a>

character_mask_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#character_mask_config DataLossPreventionDeidentifyTemplate#character_mask_config}

---

##### `cryptoDeterministicConfig`<sup>Optional</sup> <a name="cryptoDeterministicConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.cryptoDeterministicConfig"></a>

```typescript
public readonly cryptoDeterministicConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig</a>

crypto_deterministic_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#crypto_deterministic_config DataLossPreventionDeidentifyTemplate#crypto_deterministic_config}

---

##### `cryptoReplaceFfxFpeConfig`<sup>Optional</sup> <a name="cryptoReplaceFfxFpeConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.cryptoReplaceFfxFpeConfig"></a>

```typescript
public readonly cryptoReplaceFfxFpeConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig</a>

crypto_replace_ffx_fpe_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#crypto_replace_ffx_fpe_config DataLossPreventionDeidentifyTemplate#crypto_replace_ffx_fpe_config}

---

##### `replaceConfig`<sup>Optional</sup> <a name="replaceConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.replaceConfig"></a>

```typescript
public readonly replaceConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig</a>

replace_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#replace_config DataLossPreventionDeidentifyTemplate#replace_config}

---

##### `replaceWithInfoTypeConfig`<sup>Optional</sup> <a name="replaceWithInfoTypeConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation.property.replaceWithInfoTypeConfig"></a>

```typescript
public readonly replaceWithInfoTypeConfig: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Replace each matching finding with the name of the info type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#replace_with_info_type_config DataLossPreventionDeidentifyTemplate#replace_with_info_type_config}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig.property.charactersToIgnore">charactersToIgnore</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore</a>[]</code> | characters_to_ignore block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig.property.maskingCharacter">maskingCharacter</a></code> | <code>string</code> | Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig.property.numberToMask">numberToMask</a></code> | <code>number</code> | Number of characters to mask. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig.property.reverseOrder">reverseOrder</a></code> | <code>boolean \| cdktf.IResolvable</code> | Mask characters in reverse order. |

---

##### `charactersToIgnore`<sup>Optional</sup> <a name="charactersToIgnore" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig.property.charactersToIgnore"></a>

```typescript
public readonly charactersToIgnore: IResolvable | DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore</a>[]

characters_to_ignore block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#characters_to_ignore DataLossPreventionDeidentifyTemplate#characters_to_ignore}

---

##### `maskingCharacter`<sup>Optional</sup> <a name="maskingCharacter" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig.property.maskingCharacter"></a>

```typescript
public readonly maskingCharacter: string;
```

- *Type:* string

Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number.

This string must have a length of 1. If not supplied, this value defaults to * for
strings, and 0 for digits.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#masking_character DataLossPreventionDeidentifyTemplate#masking_character}

---

##### `numberToMask`<sup>Optional</sup> <a name="numberToMask" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig.property.numberToMask"></a>

```typescript
public readonly numberToMask: number;
```

- *Type:* number

Number of characters to mask.

If not set, all matching chars will be masked. Skipped characters do not count towards this tally.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#number_to_mask DataLossPreventionDeidentifyTemplate#number_to_mask}

---

##### `reverseOrder`<sup>Optional</sup> <a name="reverseOrder" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig.property.reverseOrder"></a>

```typescript
public readonly reverseOrder: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Mask characters in reverse order.

For example, if masking_character is 0, number_to_mask is 14, and reverse_order is 'false', then the
input string '1234-5678-9012-3456' is masked as '00000000000000-3456'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#reverse_order DataLossPreventionDeidentifyTemplate#reverse_order}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore.property.charactersToSkip">charactersToSkip</a></code> | <code>string</code> | Characters to not transform when masking. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore.property.commonCharactersToIgnore">commonCharactersToIgnore</a></code> | <code>string</code> | Common characters to not transform when masking. Useful to avoid removing punctuation. Possible values: ["NUMERIC", "ALPHA_UPPER_CASE", "ALPHA_LOWER_CASE", "PUNCTUATION", "WHITESPACE"]. |

---

##### `charactersToSkip`<sup>Optional</sup> <a name="charactersToSkip" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore.property.charactersToSkip"></a>

```typescript
public readonly charactersToSkip: string;
```

- *Type:* string

Characters to not transform when masking.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#characters_to_skip DataLossPreventionDeidentifyTemplate#characters_to_skip}

---

##### `commonCharactersToIgnore`<sup>Optional</sup> <a name="commonCharactersToIgnore" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore.property.commonCharactersToIgnore"></a>

```typescript
public readonly commonCharactersToIgnore: string;
```

- *Type:* string

Common characters to not transform when masking. Useful to avoid removing punctuation. Possible values: ["NUMERIC", "ALPHA_UPPER_CASE", "ALPHA_LOWER_CASE", "PUNCTUATION", "WHITESPACE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#common_characters_to_ignore DataLossPreventionDeidentifyTemplate#common_characters_to_ignore}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig.property.context">context</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext</a></code> | context block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig.property.cryptoKey">cryptoKey</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey</a></code> | crypto_key block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig.property.surrogateInfoType">surrogateInfoType</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType</a></code> | surrogate_info_type block. |

---

##### `context`<sup>Optional</sup> <a name="context" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig.property.context"></a>

```typescript
public readonly context: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext</a>

context block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#context DataLossPreventionDeidentifyTemplate#context}

---

##### `cryptoKey`<sup>Optional</sup> <a name="cryptoKey" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey</a>

crypto_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#crypto_key DataLossPreventionDeidentifyTemplate#crypto_key}

---

##### `surrogateInfoType`<sup>Optional</sup> <a name="surrogateInfoType" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig.property.surrogateInfoType"></a>

```typescript
public readonly surrogateInfoType: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType</a>

surrogate_info_type block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#surrogate_info_type DataLossPreventionDeidentifyTemplate#surrogate_info_type}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext.property.name">name</a></code> | <code>string</code> | Name describing the field. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name describing the field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#name DataLossPreventionDeidentifyTemplate#name}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey.property.kmsWrapped">kmsWrapped</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped</a></code> | kms_wrapped block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey.property.transient">transient</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient</a></code> | transient block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey.property.unwrapped">unwrapped</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped</a></code> | unwrapped block. |

---

##### `kmsWrapped`<sup>Optional</sup> <a name="kmsWrapped" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey.property.kmsWrapped"></a>

```typescript
public readonly kmsWrapped: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped</a>

kms_wrapped block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#kms_wrapped DataLossPreventionDeidentifyTemplate#kms_wrapped}

---

##### `transient`<sup>Optional</sup> <a name="transient" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey.property.transient"></a>

```typescript
public readonly transient: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient</a>

transient block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#transient DataLossPreventionDeidentifyTemplate#transient}

---

##### `unwrapped`<sup>Optional</sup> <a name="unwrapped" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey.property.unwrapped"></a>

```typescript
public readonly unwrapped: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped</a>

unwrapped block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#unwrapped DataLossPreventionDeidentifyTemplate#unwrapped}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped.property.cryptoKeyName">cryptoKeyName</a></code> | <code>string</code> | The resource name of the KMS CryptoKey to use for unwrapping. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped.property.wrappedKey">wrappedKey</a></code> | <code>string</code> | The wrapped data crypto key. |

---

##### `cryptoKeyName`<sup>Required</sup> <a name="cryptoKeyName" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped.property.cryptoKeyName"></a>

```typescript
public readonly cryptoKeyName: string;
```

- *Type:* string

The resource name of the KMS CryptoKey to use for unwrapping.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#crypto_key_name DataLossPreventionDeidentifyTemplate#crypto_key_name}

---

##### `wrappedKey`<sup>Required</sup> <a name="wrappedKey" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped.property.wrappedKey"></a>

```typescript
public readonly wrappedKey: string;
```

- *Type:* string

The wrapped data crypto key.

A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#wrapped_key DataLossPreventionDeidentifyTemplate#wrapped_key}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient.property.name">name</a></code> | <code>string</code> | Name of the key. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the key.

This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate 'TransientCryptoKey' protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#name DataLossPreventionDeidentifyTemplate#name}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped.property.key">key</a></code> | <code>string</code> | A 128/192/256 bit key. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

A 128/192/256 bit key.

A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#key DataLossPreventionDeidentifyTemplate#key}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType.property.name">name</a></code> | <code>string</code> | Name of the information type. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the information type.

Either a name of your choosing when creating a CustomInfoType, or one of the names listed at [https://cloud.google.com/dlp/docs/infotypes-reference](https://cloud.google.com/dlp/docs/infotypes-reference) when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern '[A-Za-z0-9$-_]{1,64}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#name DataLossPreventionDeidentifyTemplate#name}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.commonAlphabet">commonAlphabet</a></code> | <code>string</code> | Common alphabets. Possible values: ["FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED", "NUMERIC", "HEXADECIMAL", "UPPER_CASE_ALPHA_NUMERIC", "ALPHA_NUMERIC"]. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.context">context</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext</a></code> | context block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.cryptoKey">cryptoKey</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey</a></code> | crypto_key block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.customAlphabet">customAlphabet</a></code> | <code>string</code> | This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.radix">radix</a></code> | <code>number</code> | The native way to select the alphabet. Must be in the range \[2, 95\]. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.surrogateInfoType">surrogateInfoType</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType</a></code> | surrogate_info_type block. |

---

##### `commonAlphabet`<sup>Optional</sup> <a name="commonAlphabet" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.commonAlphabet"></a>

```typescript
public readonly commonAlphabet: string;
```

- *Type:* string

Common alphabets. Possible values: ["FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED", "NUMERIC", "HEXADECIMAL", "UPPER_CASE_ALPHA_NUMERIC", "ALPHA_NUMERIC"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#common_alphabet DataLossPreventionDeidentifyTemplate#common_alphabet}

---

##### `context`<sup>Optional</sup> <a name="context" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.context"></a>

```typescript
public readonly context: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext</a>

context block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#context DataLossPreventionDeidentifyTemplate#context}

---

##### `cryptoKey`<sup>Optional</sup> <a name="cryptoKey" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey</a>

crypto_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#crypto_key DataLossPreventionDeidentifyTemplate#crypto_key}

---

##### `customAlphabet`<sup>Optional</sup> <a name="customAlphabet" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.customAlphabet"></a>

```typescript
public readonly customAlphabet: string;
```

- *Type:* string

This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports.

This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range \[2, 95\]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is:

''0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~'!@#$%^&*()_-+={[}]|:;"'<,>.?/''

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#custom_alphabet DataLossPreventionDeidentifyTemplate#custom_alphabet}

---

##### `radix`<sup>Optional</sup> <a name="radix" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.radix"></a>

```typescript
public readonly radix: number;
```

- *Type:* number

The native way to select the alphabet. Must be in the range \[2, 95\].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#radix DataLossPreventionDeidentifyTemplate#radix}

---

##### `surrogateInfoType`<sup>Optional</sup> <a name="surrogateInfoType" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig.property.surrogateInfoType"></a>

```typescript
public readonly surrogateInfoType: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType</a>

surrogate_info_type block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#surrogate_info_type DataLossPreventionDeidentifyTemplate#surrogate_info_type}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext.property.name">name</a></code> | <code>string</code> | Name describing the field. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name describing the field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#name DataLossPreventionDeidentifyTemplate#name}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey.property.kmsWrapped">kmsWrapped</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped</a></code> | kms_wrapped block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey.property.transient">transient</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient</a></code> | transient block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey.property.unwrapped">unwrapped</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped</a></code> | unwrapped block. |

---

##### `kmsWrapped`<sup>Optional</sup> <a name="kmsWrapped" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey.property.kmsWrapped"></a>

```typescript
public readonly kmsWrapped: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped</a>

kms_wrapped block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#kms_wrapped DataLossPreventionDeidentifyTemplate#kms_wrapped}

---

##### `transient`<sup>Optional</sup> <a name="transient" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey.property.transient"></a>

```typescript
public readonly transient: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient</a>

transient block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#transient DataLossPreventionDeidentifyTemplate#transient}

---

##### `unwrapped`<sup>Optional</sup> <a name="unwrapped" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey.property.unwrapped"></a>

```typescript
public readonly unwrapped: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped</a>

unwrapped block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#unwrapped DataLossPreventionDeidentifyTemplate#unwrapped}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped.property.cryptoKeyName">cryptoKeyName</a></code> | <code>string</code> | The resource name of the KMS CryptoKey to use for unwrapping. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped.property.wrappedKey">wrappedKey</a></code> | <code>string</code> | The wrapped data crypto key. |

---

##### `cryptoKeyName`<sup>Required</sup> <a name="cryptoKeyName" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped.property.cryptoKeyName"></a>

```typescript
public readonly cryptoKeyName: string;
```

- *Type:* string

The resource name of the KMS CryptoKey to use for unwrapping.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#crypto_key_name DataLossPreventionDeidentifyTemplate#crypto_key_name}

---

##### `wrappedKey`<sup>Required</sup> <a name="wrappedKey" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped.property.wrappedKey"></a>

```typescript
public readonly wrappedKey: string;
```

- *Type:* string

The wrapped data crypto key.

A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#wrapped_key DataLossPreventionDeidentifyTemplate#wrapped_key}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient.property.name">name</a></code> | <code>string</code> | Name of the key. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the key.

This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate 'TransientCryptoKey' protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#name DataLossPreventionDeidentifyTemplate#name}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped.property.key">key</a></code> | <code>string</code> | A 128/192/256 bit key. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

A 128/192/256 bit key.

A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#key DataLossPreventionDeidentifyTemplate#key}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType.property.name">name</a></code> | <code>string</code> | Name of the information type. |

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the information type.

Either a name of your choosing when creating a CustomInfoType, or one of the names listed at [https://cloud.google.com/dlp/docs/infotypes-reference](https://cloud.google.com/dlp/docs/infotypes-reference) when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern '[A-Za-z0-9$-_]{1,64}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#name DataLossPreventionDeidentifyTemplate#name}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig.property.newValue">newValue</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue</a></code> | new_value block. |

---

##### `newValue`<sup>Required</sup> <a name="newValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig.property.newValue"></a>

```typescript
public readonly newValue: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue</a>

new_value block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#new_value DataLossPreventionDeidentifyTemplate#new_value}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.booleanValue">booleanValue</a></code> | <code>boolean \| cdktf.IResolvable</code> | A boolean value. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.dateValue">dateValue</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue</a></code> | date_value block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.dayOfWeekValue">dayOfWeekValue</a></code> | <code>string</code> | Represents a day of the week. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.floatValue">floatValue</a></code> | <code>number</code> | A float value. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.integerValue">integerValue</a></code> | <code>number</code> | An integer value. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.stringValue">stringValue</a></code> | <code>string</code> | A string value. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.timestampValue">timestampValue</a></code> | <code>string</code> | A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.timeValue">timeValue</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue</a></code> | time_value block. |

---

##### `booleanValue`<sup>Optional</sup> <a name="booleanValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.booleanValue"></a>

```typescript
public readonly booleanValue: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

A boolean value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#boolean_value DataLossPreventionDeidentifyTemplate#boolean_value}

---

##### `dateValue`<sup>Optional</sup> <a name="dateValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.dateValue"></a>

```typescript
public readonly dateValue: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue</a>

date_value block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#date_value DataLossPreventionDeidentifyTemplate#date_value}

---

##### `dayOfWeekValue`<sup>Optional</sup> <a name="dayOfWeekValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.dayOfWeekValue"></a>

```typescript
public readonly dayOfWeekValue: string;
```

- *Type:* string

Represents a day of the week. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#day_of_week_value DataLossPreventionDeidentifyTemplate#day_of_week_value}

---

##### `floatValue`<sup>Optional</sup> <a name="floatValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.floatValue"></a>

```typescript
public readonly floatValue: number;
```

- *Type:* number

A float value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#float_value DataLossPreventionDeidentifyTemplate#float_value}

---

##### `integerValue`<sup>Optional</sup> <a name="integerValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.integerValue"></a>

```typescript
public readonly integerValue: number;
```

- *Type:* number

An integer value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#integer_value DataLossPreventionDeidentifyTemplate#integer_value}

---

##### `stringValue`<sup>Optional</sup> <a name="stringValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.stringValue"></a>

```typescript
public readonly stringValue: string;
```

- *Type:* string

A string value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#string_value DataLossPreventionDeidentifyTemplate#string_value}

---

##### `timestampValue`<sup>Optional</sup> <a name="timestampValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.timestampValue"></a>

```typescript
public readonly timestampValue: string;
```

- *Type:* string

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#timestamp_value DataLossPreventionDeidentifyTemplate#timestamp_value}

---

##### `timeValue`<sup>Optional</sup> <a name="timeValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue.property.timeValue"></a>

```typescript
public readonly timeValue: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue">DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue</a>

time_value block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#time_value DataLossPreventionDeidentifyTemplate#time_value}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue.property.day">day</a></code> | <code>number</code> | Day of month. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue.property.month">month</a></code> | <code>number</code> | Month of year. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue.property.year">year</a></code> | <code>number</code> | Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year. |

---

##### `day`<sup>Optional</sup> <a name="day" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue.property.day"></a>

```typescript
public readonly day: number;
```

- *Type:* number

Day of month.

Must be from 1 to 31 and valid for the year and month, or 0 if specifying a
year by itself or a year and month where the day is not significant.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#day DataLossPreventionDeidentifyTemplate#day}

---

##### `month`<sup>Optional</sup> <a name="month" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue.property.month"></a>

```typescript
public readonly month: number;
```

- *Type:* number

Month of year.

Must be from 1 to 12, or 0 if specifying a year without a month and day.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#month DataLossPreventionDeidentifyTemplate#month}

---

##### `year`<sup>Optional</sup> <a name="year" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue.property.year"></a>

```typescript
public readonly year: number;
```

- *Type:* number

Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#year DataLossPreventionDeidentifyTemplate#year}

---

### DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue <a name="DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue: DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue.property.hours">hours</a></code> | <code>number</code> | Hours of day in 24 hour format. Should be from 0 to 23. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue.property.minutes">minutes</a></code> | <code>number</code> | Minutes of hour of day. Must be from 0 to 59. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue.property.nanos">nanos</a></code> | <code>number</code> | Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue.property.seconds">seconds</a></code> | <code>number</code> | Seconds of minutes of the time. Must normally be from 0 to 59. |

---

##### `hours`<sup>Optional</sup> <a name="hours" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue.property.hours"></a>

```typescript
public readonly hours: number;
```

- *Type:* number

Hours of day in 24 hour format. Should be from 0 to 23.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#hours DataLossPreventionDeidentifyTemplate#hours}

---

##### `minutes`<sup>Optional</sup> <a name="minutes" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue.property.minutes"></a>

```typescript
public readonly minutes: number;
```

- *Type:* number

Minutes of hour of day. Must be from 0 to 59.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#minutes DataLossPreventionDeidentifyTemplate#minutes}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#nanos DataLossPreventionDeidentifyTemplate#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Seconds of minutes of the time. Must normally be from 0 to 59.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#seconds DataLossPreventionDeidentifyTemplate#seconds}

---

### DataLossPreventionDeidentifyTemplateTimeouts <a name="DataLossPreventionDeidentifyTemplateTimeouts" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts.Initializer"></a>

```typescript
import { DataLossPreventionDeidentifyTemplateTimeouts } from '@dschmidt/provider-google'

const dataLossPreventionDeidentifyTemplateTimeouts: DataLossPreventionDeidentifyTemplateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#create DataLossPreventionDeidentifyTemplate#create}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#delete DataLossPreventionDeidentifyTemplate#delete}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#update DataLossPreventionDeidentifyTemplate#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#create DataLossPreventionDeidentifyTemplate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#delete DataLossPreventionDeidentifyTemplate#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataLossPreventionDeidentifyTemplateTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_deidentify_template#update DataLossPreventionDeidentifyTemplate#update}.

---

### DataLossPreventionInspectTemplateConfig <a name="DataLossPreventionInspectTemplateConfig" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateConfig } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateConfig: DataLossPreventionInspectTemplateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.parent">parent</a></code> | <code>string</code> | The parent of the inspect template in any of the following formats:. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.description">description</a></code> | <code>string</code> | A description of the inspect template. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.displayName">displayName</a></code> | <code>string</code> | User set display name of the inspect template. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#id DataLossPreventionInspectTemplate#id}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.inspectConfig">inspectConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig">DataLossPreventionInspectTemplateInspectConfig</a></code> | inspect_config block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts">DataLossPreventionInspectTemplateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The parent of the inspect template in any of the following formats:.

'projects/{{project}}'
'projects/{{project}}/locations/{{location}}'
'organizations/{{organization_id}}'
'organizations/{{organization_id}}/locations/{{location}}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#parent DataLossPreventionInspectTemplate#parent}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of the inspect template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#description DataLossPreventionInspectTemplate#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

User set display name of the inspect template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#display_name DataLossPreventionInspectTemplate#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#id DataLossPreventionInspectTemplate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `inspectConfig`<sup>Optional</sup> <a name="inspectConfig" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.inspectConfig"></a>

```typescript
public readonly inspectConfig: DataLossPreventionInspectTemplateInspectConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig">DataLossPreventionInspectTemplateInspectConfig</a>

inspect_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#inspect_config DataLossPreventionInspectTemplate#inspect_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataLossPreventionInspectTemplateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts">DataLossPreventionInspectTemplateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#timeouts DataLossPreventionInspectTemplate#timeouts}

---

### DataLossPreventionInspectTemplateInspectConfig <a name="DataLossPreventionInspectTemplateInspectConfig" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfig } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfig: DataLossPreventionInspectTemplateInspectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.contentOptions">contentOptions</a></code> | <code>string[]</code> | List of options defining data content to scan. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.customInfoTypes">customInfoTypes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes</a>[]</code> | custom_info_types block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.excludeInfoTypes">excludeInfoTypes</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, excludes type information of the findings. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.includeQuote">includeQuote</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, a contextual quote from the data that triggered a finding is included in the response. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.infoTypes">infoTypes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigInfoTypes">DataLossPreventionInspectTemplateInspectConfigInfoTypes</a>[]</code> | info_types block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.limits">limits</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits">DataLossPreventionInspectTemplateInspectConfigLimits</a></code> | limits block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.minLikelihood">minLikelihood</a></code> | <code>string</code> | Only returns findings equal or above this threshold. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.ruleSet">ruleSet</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSet">DataLossPreventionInspectTemplateInspectConfigRuleSet</a>[]</code> | rule_set block. |

---

##### `contentOptions`<sup>Optional</sup> <a name="contentOptions" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.contentOptions"></a>

```typescript
public readonly contentOptions: string[];
```

- *Type:* string[]

List of options defining data content to scan.

If empty, text, images, and other content will be included. Possible values: ["CONTENT_TEXT", "CONTENT_IMAGE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#content_options DataLossPreventionInspectTemplate#content_options}

---

##### `customInfoTypes`<sup>Optional</sup> <a name="customInfoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.customInfoTypes"></a>

```typescript
public readonly customInfoTypes: IResolvable | DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes</a>[]

custom_info_types block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#custom_info_types DataLossPreventionInspectTemplate#custom_info_types}

---

##### `excludeInfoTypes`<sup>Optional</sup> <a name="excludeInfoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.excludeInfoTypes"></a>

```typescript
public readonly excludeInfoTypes: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, excludes type information of the findings.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#exclude_info_types DataLossPreventionInspectTemplate#exclude_info_types}

---

##### `includeQuote`<sup>Optional</sup> <a name="includeQuote" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.includeQuote"></a>

```typescript
public readonly includeQuote: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, a contextual quote from the data that triggered a finding is included in the response.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#include_quote DataLossPreventionInspectTemplate#include_quote}

---

##### `infoTypes`<sup>Optional</sup> <a name="infoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.infoTypes"></a>

```typescript
public readonly infoTypes: IResolvable | DataLossPreventionInspectTemplateInspectConfigInfoTypes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigInfoTypes">DataLossPreventionInspectTemplateInspectConfigInfoTypes</a>[]

info_types block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#info_types DataLossPreventionInspectTemplate#info_types}

---

##### `limits`<sup>Optional</sup> <a name="limits" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.limits"></a>

```typescript
public readonly limits: DataLossPreventionInspectTemplateInspectConfigLimits;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits">DataLossPreventionInspectTemplateInspectConfigLimits</a>

limits block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#limits DataLossPreventionInspectTemplate#limits}

---

##### `minLikelihood`<sup>Optional</sup> <a name="minLikelihood" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.minLikelihood"></a>

```typescript
public readonly minLikelihood: string;
```

- *Type:* string

Only returns findings equal or above this threshold.

See https://cloud.google.com/dlp/docs/likelihood for more info Default value: "POSSIBLE" Possible values: ["VERY_UNLIKELY", "UNLIKELY", "POSSIBLE", "LIKELY", "VERY_LIKELY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#min_likelihood DataLossPreventionInspectTemplate#min_likelihood}

---

##### `ruleSet`<sup>Optional</sup> <a name="ruleSet" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfig.property.ruleSet"></a>

```typescript
public readonly ruleSet: IResolvable | DataLossPreventionInspectTemplateInspectConfigRuleSet[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSet">DataLossPreventionInspectTemplateInspectConfigRuleSet</a>[]

rule_set block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#rule_set DataLossPreventionInspectTemplate#rule_set}

---

### DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes <a name="DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigCustomInfoTypes: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.infoType">infoType</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType</a></code> | info_type block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.dictionary">dictionary</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary</a></code> | dictionary block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.exclusionType">exclusionType</a></code> | <code>string</code> | If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.likelihood">likelihood</a></code> | <code>string</code> | Likelihood to return for this CustomInfoType. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.regex">regex</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex</a></code> | regex block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.storedType">storedType</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType</a></code> | stored_type block. |

---

##### `infoType`<sup>Required</sup> <a name="infoType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.infoType"></a>

```typescript
public readonly infoType: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType</a>

info_type block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#info_type DataLossPreventionInspectTemplate#info_type}

---

##### `dictionary`<sup>Optional</sup> <a name="dictionary" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.dictionary"></a>

```typescript
public readonly dictionary: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary</a>

dictionary block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#dictionary DataLossPreventionInspectTemplate#dictionary}

---

##### `exclusionType`<sup>Optional</sup> <a name="exclusionType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.exclusionType"></a>

```typescript
public readonly exclusionType: string;
```

- *Type:* string

If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned.

It still can be used for rules matching. Possible values: ["EXCLUSION_TYPE_EXCLUDE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#exclusion_type DataLossPreventionInspectTemplate#exclusion_type}

---

##### `likelihood`<sup>Optional</sup> <a name="likelihood" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.likelihood"></a>

```typescript
public readonly likelihood: string;
```

- *Type:* string

Likelihood to return for this CustomInfoType.

This base value can be altered by a detection rule if the finding meets the criteria
specified by the rule. Default value: "VERY_LIKELY" Possible values: ["VERY_UNLIKELY", "UNLIKELY", "POSSIBLE", "LIKELY", "VERY_LIKELY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#likelihood DataLossPreventionInspectTemplate#likelihood}

---

##### `regex`<sup>Optional</sup> <a name="regex" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.regex"></a>

```typescript
public readonly regex: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex</a>

regex block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#regex DataLossPreventionInspectTemplate#regex}

---

##### `storedType`<sup>Optional</sup> <a name="storedType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypes.property.storedType"></a>

```typescript
public readonly storedType: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType</a>

stored_type block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#stored_type DataLossPreventionInspectTemplate#stored_type}

---

### DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary <a name="DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary.property.cloudStoragePath">cloudStoragePath</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath</a></code> | cloud_storage_path block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary.property.wordList">wordList</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList</a></code> | word_list block. |

---

##### `cloudStoragePath`<sup>Optional</sup> <a name="cloudStoragePath" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary.property.cloudStoragePath"></a>

```typescript
public readonly cloudStoragePath: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath</a>

cloud_storage_path block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#cloud_storage_path DataLossPreventionInspectTemplate#cloud_storage_path}

---

##### `wordList`<sup>Optional</sup> <a name="wordList" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionary.property.wordList"></a>

```typescript
public readonly wordList: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList">DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList</a>

word_list block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#word_list DataLossPreventionInspectTemplate#word_list}

---

### DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath <a name="DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath.property.path">path</a></code> | <code>string</code> | A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt'. |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#path DataLossPreventionInspectTemplate#path}

---

### DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList <a name="DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList.property.words">words</a></code> | <code>string[]</code> | Words or phrases defining the dictionary. |

---

##### `words`<sup>Required</sup> <a name="words" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList.property.words"></a>

```typescript
public readonly words: string[];
```

- *Type:* string[]

Words or phrases defining the dictionary.

The dictionary must contain at least one
phrase and every phrase must contain at least 2 characters that are letters or digits.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#words DataLossPreventionInspectTemplate#words}

---

### DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType <a name="DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType.property.name">name</a></code> | <code>string</code> | Name of the information type. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesInfoType.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the information type.

Either a name of your choosing when creating a CustomInfoType, or one of the names
listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#name DataLossPreventionInspectTemplate#name}

---

### DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex <a name="DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex.property.pattern">pattern</a></code> | <code>string</code> | Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex.property.groupIndexes">groupIndexes</a></code> | <code>number[]</code> | The index of the submatch to extract as findings. |

---

##### `pattern`<sup>Required</sup> <a name="pattern" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex.property.pattern"></a>

```typescript
public readonly pattern: string;
```

- *Type:* string

Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#pattern DataLossPreventionInspectTemplate#pattern}

---

##### `groupIndexes`<sup>Optional</sup> <a name="groupIndexes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesRegex.property.groupIndexes"></a>

```typescript
public readonly groupIndexes: number[];
```

- *Type:* number[]

The index of the submatch to extract as findings.

When not specified, the entire match is returned. No more than 3 may be included.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#group_indexes DataLossPreventionInspectTemplate#group_indexes}

---

### DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType <a name="DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType: DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType.property.name">name</a></code> | <code>string</code> | Resource name of the requested StoredInfoType, for example 'organizations/433245324/storedInfoTypes/432452342' or 'projects/project-id/storedInfoTypes/432452342'. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigCustomInfoTypesStoredType.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Resource name of the requested StoredInfoType, for example 'organizations/433245324/storedInfoTypes/432452342' or 'projects/project-id/storedInfoTypes/432452342'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#name DataLossPreventionInspectTemplate#name}

---

### DataLossPreventionInspectTemplateInspectConfigInfoTypes <a name="DataLossPreventionInspectTemplateInspectConfigInfoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigInfoTypes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigInfoTypes.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigInfoTypes } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigInfoTypes: DataLossPreventionInspectTemplateInspectConfigInfoTypes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigInfoTypes.property.name">name</a></code> | <code>string</code> | Name of the information type. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigInfoTypes.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the information type.

Either a name of your choosing when creating a CustomInfoType, or one of the names listed
at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#name DataLossPreventionInspectTemplate#name}

---

### DataLossPreventionInspectTemplateInspectConfigLimits <a name="DataLossPreventionInspectTemplateInspectConfigLimits" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigLimits } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigLimits: DataLossPreventionInspectTemplateInspectConfigLimits = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits.property.maxFindingsPerItem">maxFindingsPerItem</a></code> | <code>number</code> | Max number of findings that will be returned for each item scanned. The maximum returned is 2000. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits.property.maxFindingsPerRequest">maxFindingsPerRequest</a></code> | <code>number</code> | Max number of findings that will be returned per request/job. The maximum returned is 2000. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits.property.maxFindingsPerInfoType">maxFindingsPerInfoType</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType">DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType</a>[]</code> | max_findings_per_info_type block. |

---

##### `maxFindingsPerItem`<sup>Required</sup> <a name="maxFindingsPerItem" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits.property.maxFindingsPerItem"></a>

```typescript
public readonly maxFindingsPerItem: number;
```

- *Type:* number

Max number of findings that will be returned for each item scanned. The maximum returned is 2000.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#max_findings_per_item DataLossPreventionInspectTemplate#max_findings_per_item}

---

##### `maxFindingsPerRequest`<sup>Required</sup> <a name="maxFindingsPerRequest" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits.property.maxFindingsPerRequest"></a>

```typescript
public readonly maxFindingsPerRequest: number;
```

- *Type:* number

Max number of findings that will be returned per request/job. The maximum returned is 2000.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#max_findings_per_request DataLossPreventionInspectTemplate#max_findings_per_request}

---

##### `maxFindingsPerInfoType`<sup>Optional</sup> <a name="maxFindingsPerInfoType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimits.property.maxFindingsPerInfoType"></a>

```typescript
public readonly maxFindingsPerInfoType: IResolvable | DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType">DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType</a>[]

max_findings_per_info_type block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#max_findings_per_info_type DataLossPreventionInspectTemplate#max_findings_per_info_type}

---

### DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType <a name="DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType: DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType.property.infoType">infoType</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType">DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType</a></code> | info_type block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType.property.maxFindings">maxFindings</a></code> | <code>number</code> | Max findings limit for the given infoType. |

---

##### `infoType`<sup>Required</sup> <a name="infoType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType.property.infoType"></a>

```typescript
public readonly infoType: DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType">DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType</a>

info_type block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#info_type DataLossPreventionInspectTemplate#info_type}

---

##### `maxFindings`<sup>Required</sup> <a name="maxFindings" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType.property.maxFindings"></a>

```typescript
public readonly maxFindings: number;
```

- *Type:* number

Max findings limit for the given infoType.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#max_findings DataLossPreventionInspectTemplate#max_findings}

---

### DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType <a name="DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType: DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType.property.name">name</a></code> | <code>string</code> | Name of the information type. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the information type.

Either a name of your choosing when creating a CustomInfoType, or one of the names listed
at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#name DataLossPreventionInspectTemplate#name}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSet <a name="DataLossPreventionInspectTemplateInspectConfigRuleSet" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSet"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSet.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSet } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSet: DataLossPreventionInspectTemplateInspectConfigRuleSet = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSet.property.infoTypes">infoTypes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes">DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes</a>[]</code> | info_types block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSet.property.rules">rules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRules">DataLossPreventionInspectTemplateInspectConfigRuleSetRules</a>[]</code> | rules block. |

---

##### `infoTypes`<sup>Required</sup> <a name="infoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSet.property.infoTypes"></a>

```typescript
public readonly infoTypes: IResolvable | DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes">DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes</a>[]

info_types block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#info_types DataLossPreventionInspectTemplate#info_types}

---

##### `rules`<sup>Required</sup> <a name="rules" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSet.property.rules"></a>

```typescript
public readonly rules: IResolvable | DataLossPreventionInspectTemplateInspectConfigRuleSetRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRules">DataLossPreventionInspectTemplateInspectConfigRuleSetRules</a>[]

rules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#rules DataLossPreventionInspectTemplate#rules}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes: DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes.property.name">name</a></code> | <code>string</code> | Name of the information type. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetInfoTypes.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the information type.

Either a name of your choosing when creating a CustomInfoType, or one of the names listed
at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#name DataLossPreventionInspectTemplate#name}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRules <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRules" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRules.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRules } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRules: DataLossPreventionInspectTemplateInspectConfigRuleSetRules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRules.property.exclusionRule">exclusionRule</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule</a></code> | exclusion_rule block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRules.property.hotwordRule">hotwordRule</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule</a></code> | hotword_rule block. |

---

##### `exclusionRule`<sup>Optional</sup> <a name="exclusionRule" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRules.property.exclusionRule"></a>

```typescript
public readonly exclusionRule: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule</a>

exclusion_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#exclusion_rule DataLossPreventionInspectTemplate#exclusion_rule}

---

##### `hotwordRule`<sup>Optional</sup> <a name="hotwordRule" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRules.property.hotwordRule"></a>

```typescript
public readonly hotwordRule: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule</a>

hotword_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#hotword_rule DataLossPreventionInspectTemplate#hotword_rule}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule.property.matchingType">matchingType</a></code> | <code>string</code> | How the rule is applied. See the documentation for more information: https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#MatchingType Possible values: ["MATCHING_TYPE_FULL_MATCH", "MATCHING_TYPE_PARTIAL_MATCH", "MATCHING_TYPE_INVERSE_MATCH"]. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule.property.dictionary">dictionary</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary</a></code> | dictionary block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule.property.excludeInfoTypes">excludeInfoTypes</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes</a></code> | exclude_info_types block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule.property.regex">regex</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex</a></code> | regex block. |

---

##### `matchingType`<sup>Required</sup> <a name="matchingType" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule.property.matchingType"></a>

```typescript
public readonly matchingType: string;
```

- *Type:* string

How the rule is applied. See the documentation for more information: https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#MatchingType Possible values: ["MATCHING_TYPE_FULL_MATCH", "MATCHING_TYPE_PARTIAL_MATCH", "MATCHING_TYPE_INVERSE_MATCH"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#matching_type DataLossPreventionInspectTemplate#matching_type}

---

##### `dictionary`<sup>Optional</sup> <a name="dictionary" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule.property.dictionary"></a>

```typescript
public readonly dictionary: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary</a>

dictionary block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#dictionary DataLossPreventionInspectTemplate#dictionary}

---

##### `excludeInfoTypes`<sup>Optional</sup> <a name="excludeInfoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule.property.excludeInfoTypes"></a>

```typescript
public readonly excludeInfoTypes: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes</a>

exclude_info_types block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#exclude_info_types DataLossPreventionInspectTemplate#exclude_info_types}

---

##### `regex`<sup>Optional</sup> <a name="regex" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRule.property.regex"></a>

```typescript
public readonly regex: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex</a>

regex block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#regex DataLossPreventionInspectTemplate#regex}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary.property.cloudStoragePath">cloudStoragePath</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath</a></code> | cloud_storage_path block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary.property.wordList">wordList</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList</a></code> | word_list block. |

---

##### `cloudStoragePath`<sup>Optional</sup> <a name="cloudStoragePath" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary.property.cloudStoragePath"></a>

```typescript
public readonly cloudStoragePath: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath</a>

cloud_storage_path block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#cloud_storage_path DataLossPreventionInspectTemplate#cloud_storage_path}

---

##### `wordList`<sup>Optional</sup> <a name="wordList" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary.property.wordList"></a>

```typescript
public readonly wordList: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList</a>

word_list block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#word_list DataLossPreventionInspectTemplate#word_list}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath.property.path">path</a></code> | <code>string</code> | A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt'. |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#path DataLossPreventionInspectTemplate#path}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList.property.words">words</a></code> | <code>string[]</code> | Words or phrases defining the dictionary. |

---

##### `words`<sup>Required</sup> <a name="words" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList.property.words"></a>

```typescript
public readonly words: string[];
```

- *Type:* string[]

Words or phrases defining the dictionary.

The dictionary must contain at least one
phrase and every phrase must contain at least 2 characters that are letters or digits.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#words DataLossPreventionInspectTemplate#words}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes.property.infoTypes">infoTypes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes</a>[]</code> | info_types block. |

---

##### `infoTypes`<sup>Required</sup> <a name="infoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes.property.infoTypes"></a>

```typescript
public readonly infoTypes: IResolvable | DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes</a>[]

info_types block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#info_types DataLossPreventionInspectTemplate#info_types}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes.property.name">name</a></code> | <code>string</code> | Name of the information type. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the information type.

Either a name of your choosing when creating a CustomInfoType, or one of the names listed
at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#name DataLossPreventionInspectTemplate#name}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex.property.pattern">pattern</a></code> | <code>string</code> | Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex.property.groupIndexes">groupIndexes</a></code> | <code>number[]</code> | The index of the submatch to extract as findings. |

---

##### `pattern`<sup>Required</sup> <a name="pattern" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex.property.pattern"></a>

```typescript
public readonly pattern: string;
```

- *Type:* string

Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#pattern DataLossPreventionInspectTemplate#pattern}

---

##### `groupIndexes`<sup>Optional</sup> <a name="groupIndexes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex.property.groupIndexes"></a>

```typescript
public readonly groupIndexes: number[];
```

- *Type:* number[]

The index of the submatch to extract as findings.

When not specified, the entire match is returned. No more than 3 may be included.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#group_indexes DataLossPreventionInspectTemplate#group_indexes}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule.property.hotwordRegex">hotwordRegex</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex</a></code> | hotword_regex block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule.property.likelihoodAdjustment">likelihoodAdjustment</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment</a></code> | likelihood_adjustment block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule.property.proximity">proximity</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity</a></code> | proximity block. |

---

##### `hotwordRegex`<sup>Required</sup> <a name="hotwordRegex" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule.property.hotwordRegex"></a>

```typescript
public readonly hotwordRegex: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex</a>

hotword_regex block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#hotword_regex DataLossPreventionInspectTemplate#hotword_regex}

---

##### `likelihoodAdjustment`<sup>Required</sup> <a name="likelihoodAdjustment" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule.property.likelihoodAdjustment"></a>

```typescript
public readonly likelihoodAdjustment: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment</a>

likelihood_adjustment block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#likelihood_adjustment DataLossPreventionInspectTemplate#likelihood_adjustment}

---

##### `proximity`<sup>Required</sup> <a name="proximity" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRule.property.proximity"></a>

```typescript
public readonly proximity: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity">DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity</a>

proximity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#proximity DataLossPreventionInspectTemplate#proximity}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex.property.pattern">pattern</a></code> | <code>string</code> | Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex.property.groupIndexes">groupIndexes</a></code> | <code>number[]</code> | The index of the submatch to extract as findings. |

---

##### `pattern`<sup>Required</sup> <a name="pattern" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex.property.pattern"></a>

```typescript
public readonly pattern: string;
```

- *Type:* string

Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#pattern DataLossPreventionInspectTemplate#pattern}

---

##### `groupIndexes`<sup>Optional</sup> <a name="groupIndexes" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex.property.groupIndexes"></a>

```typescript
public readonly groupIndexes: number[];
```

- *Type:* number[]

The index of the submatch to extract as findings.

When not specified,
the entire match is returned. No more than 3 may be included.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#group_indexes DataLossPreventionInspectTemplate#group_indexes}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment.property.fixedLikelihood">fixedLikelihood</a></code> | <code>string</code> | Set the likelihood of a finding to a fixed value. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment.property.relativeLikelihood">relativeLikelihood</a></code> | <code>number</code> | Increase or decrease the likelihood by the specified number of levels. |

---

##### `fixedLikelihood`<sup>Optional</sup> <a name="fixedLikelihood" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment.property.fixedLikelihood"></a>

```typescript
public readonly fixedLikelihood: string;
```

- *Type:* string

Set the likelihood of a finding to a fixed value.

Either this or relative_likelihood can be set. Possible values: ["VERY_UNLIKELY", "UNLIKELY", "POSSIBLE", "LIKELY", "VERY_LIKELY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#fixed_likelihood DataLossPreventionInspectTemplate#fixed_likelihood}

---

##### `relativeLikelihood`<sup>Optional</sup> <a name="relativeLikelihood" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment.property.relativeLikelihood"></a>

```typescript
public readonly relativeLikelihood: number;
```

- *Type:* number

Increase or decrease the likelihood by the specified number of levels.

For example,
if a finding would be POSSIBLE without the detection rule and relativeLikelihood is 1,
then it is upgraded to LIKELY, while a value of -1 would downgrade it to UNLIKELY.
Likelihood may never drop below VERY_UNLIKELY or exceed VERY_LIKELY, so applying an
adjustment of 1 followed by an adjustment of -1 when base likelihood is VERY_LIKELY
will result in a final likelihood of LIKELY. Either this or fixed_likelihood can be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#relative_likelihood DataLossPreventionInspectTemplate#relative_likelihood}

---

### DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity <a name="DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity: DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity.property.windowAfter">windowAfter</a></code> | <code>number</code> | Number of characters after the finding to consider. Either this or window_before must be specified. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity.property.windowBefore">windowBefore</a></code> | <code>number</code> | Number of characters before the finding to consider. Either this or window_after must be specified. |

---

##### `windowAfter`<sup>Optional</sup> <a name="windowAfter" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity.property.windowAfter"></a>

```typescript
public readonly windowAfter: number;
```

- *Type:* number

Number of characters after the finding to consider. Either this or window_before must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#window_after DataLossPreventionInspectTemplate#window_after}

---

##### `windowBefore`<sup>Optional</sup> <a name="windowBefore" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity.property.windowBefore"></a>

```typescript
public readonly windowBefore: number;
```

- *Type:* number

Number of characters before the finding to consider. Either this or window_after must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#window_before DataLossPreventionInspectTemplate#window_before}

---

### DataLossPreventionInspectTemplateTimeouts <a name="DataLossPreventionInspectTemplateTimeouts" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts.Initializer"></a>

```typescript
import { DataLossPreventionInspectTemplateTimeouts } from '@dschmidt/provider-google'

const dataLossPreventionInspectTemplateTimeouts: DataLossPreventionInspectTemplateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#create DataLossPreventionInspectTemplate#create}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#delete DataLossPreventionInspectTemplate#delete}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#update DataLossPreventionInspectTemplate#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#create DataLossPreventionInspectTemplate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#delete DataLossPreventionInspectTemplate#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataLossPreventionInspectTemplateTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_inspect_template#update DataLossPreventionInspectTemplate#update}.

---

### DataLossPreventionJobTriggerConfig <a name="DataLossPreventionJobTriggerConfig" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerConfig } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerConfig: DataLossPreventionJobTriggerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.parent">parent</a></code> | <code>string</code> | The parent of the trigger, either in the format 'projects/{{project}}' or 'projects/{{project}}/locations/{{location}}'. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.triggers">triggers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggers">DataLossPreventionJobTriggerTriggers</a>[]</code> | triggers block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.description">description</a></code> | <code>string</code> | A description of the job trigger. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.displayName">displayName</a></code> | <code>string</code> | User set display name of the job trigger. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#id DataLossPreventionJobTrigger#id}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.inspectJob">inspectJob</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob">DataLossPreventionJobTriggerInspectJob</a></code> | inspect_job block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.status">status</a></code> | <code>string</code> | Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts">DataLossPreventionJobTriggerTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The parent of the trigger, either in the format 'projects/{{project}}' or 'projects/{{project}}/locations/{{location}}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#parent DataLossPreventionJobTrigger#parent}

---

##### `triggers`<sup>Required</sup> <a name="triggers" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.triggers"></a>

```typescript
public readonly triggers: IResolvable | DataLossPreventionJobTriggerTriggers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggers">DataLossPreventionJobTriggerTriggers</a>[]

triggers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#triggers DataLossPreventionJobTrigger#triggers}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of the job trigger.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#description DataLossPreventionJobTrigger#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

User set display name of the job trigger.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#display_name DataLossPreventionJobTrigger#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#id DataLossPreventionJobTrigger#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `inspectJob`<sup>Optional</sup> <a name="inspectJob" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.inspectJob"></a>

```typescript
public readonly inspectJob: DataLossPreventionJobTriggerInspectJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob">DataLossPreventionJobTriggerInspectJob</a>

inspect_job block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#inspect_job DataLossPreventionJobTrigger#inspect_job}

---

##### `status`<sup>Optional</sup> <a name="status" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#status DataLossPreventionJobTrigger#status}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataLossPreventionJobTriggerConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataLossPreventionJobTriggerTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts">DataLossPreventionJobTriggerTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#timeouts DataLossPreventionJobTrigger#timeouts}

---

### DataLossPreventionJobTriggerInspectJob <a name="DataLossPreventionJobTriggerInspectJob" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJob } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJob: DataLossPreventionJobTriggerInspectJob = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob.property.actions">actions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActions">DataLossPreventionJobTriggerInspectJobActions</a>[]</code> | actions block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob.property.inspectTemplateName">inspectTemplateName</a></code> | <code>string</code> | The name of the template to run when this job is triggered. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob.property.storageConfig">storageConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig">DataLossPreventionJobTriggerInspectJobStorageConfig</a></code> | storage_config block. |

---

##### `actions`<sup>Required</sup> <a name="actions" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob.property.actions"></a>

```typescript
public readonly actions: IResolvable | DataLossPreventionJobTriggerInspectJobActions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActions">DataLossPreventionJobTriggerInspectJobActions</a>[]

actions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#actions DataLossPreventionJobTrigger#actions}

---

##### `inspectTemplateName`<sup>Required</sup> <a name="inspectTemplateName" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob.property.inspectTemplateName"></a>

```typescript
public readonly inspectTemplateName: string;
```

- *Type:* string

The name of the template to run when this job is triggered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#inspect_template_name DataLossPreventionJobTrigger#inspect_template_name}

---

##### `storageConfig`<sup>Required</sup> <a name="storageConfig" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJob.property.storageConfig"></a>

```typescript
public readonly storageConfig: DataLossPreventionJobTriggerInspectJobStorageConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig">DataLossPreventionJobTriggerInspectJobStorageConfig</a>

storage_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#storage_config DataLossPreventionJobTrigger#storage_config}

---

### DataLossPreventionJobTriggerInspectJobActions <a name="DataLossPreventionJobTriggerInspectJobActions" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActions.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobActions } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobActions: DataLossPreventionJobTriggerInspectJobActions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActions.property.saveFindings">saveFindings</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindings">DataLossPreventionJobTriggerInspectJobActionsSaveFindings</a></code> | save_findings block. |

---

##### `saveFindings`<sup>Required</sup> <a name="saveFindings" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActions.property.saveFindings"></a>

```typescript
public readonly saveFindings: DataLossPreventionJobTriggerInspectJobActionsSaveFindings;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindings">DataLossPreventionJobTriggerInspectJobActionsSaveFindings</a>

save_findings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#save_findings DataLossPreventionJobTrigger#save_findings}

---

### DataLossPreventionJobTriggerInspectJobActionsSaveFindings <a name="DataLossPreventionJobTriggerInspectJobActionsSaveFindings" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindings.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobActionsSaveFindings } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobActionsSaveFindings: DataLossPreventionJobTriggerInspectJobActionsSaveFindings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindings.property.outputConfig">outputConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig">DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig</a></code> | output_config block. |

---

##### `outputConfig`<sup>Required</sup> <a name="outputConfig" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindings.property.outputConfig"></a>

```typescript
public readonly outputConfig: DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig">DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig</a>

output_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#output_config DataLossPreventionJobTrigger#output_config}

---

### DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig <a name="DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig: DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig.property.table">table</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable">DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable</a></code> | table block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig.property.outputSchema">outputSchema</a></code> | <code>string</code> | Schema used for writing the findings for Inspect jobs. |

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig.property.table"></a>

```typescript
public readonly table: DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable">DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable</a>

table block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#table DataLossPreventionJobTrigger#table}

---

##### `outputSchema`<sup>Optional</sup> <a name="outputSchema" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfig.property.outputSchema"></a>

```typescript
public readonly outputSchema: string;
```

- *Type:* string

Schema used for writing the findings for Inspect jobs.

This field is only used for
Inspect and must be unspecified for Risk jobs. Columns are derived from the Finding
object. If appending to an existing table, any columns from the predefined schema
that are missing will be added. No columns in the existing table will be deleted.

If unspecified, then all available columns will be used for a new table or an (existing)
table with no schema, and no changes will be made to an existing table that has a schema.
Only for use with external storage. Possible values: ["BASIC_COLUMNS", "GCS_COLUMNS", "DATASTORE_COLUMNS", "BIG_QUERY_COLUMNS", "ALL_COLUMNS"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#output_schema DataLossPreventionJobTrigger#output_schema}

---

### DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable <a name="DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable: DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable.property.datasetId">datasetId</a></code> | <code>string</code> | Dataset ID of the table. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable.property.projectId">projectId</a></code> | <code>string</code> | The Google Cloud Platform project ID of the project containing the table. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable.property.tableId">tableId</a></code> | <code>string</code> | Name of the table. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Dataset ID of the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#dataset_id DataLossPreventionJobTrigger#dataset_id}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The Google Cloud Platform project ID of the project containing the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#project_id DataLossPreventionJobTrigger#project_id}

---

##### `tableId`<sup>Optional</sup> <a name="tableId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobActionsSaveFindingsOutputConfigTable.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

Name of the table.

If is not set a new one will be generated for you with the following format:
'dlp_googleapis_yyyy_mm_dd_[dlp_job_id]'. Pacific timezone will be used for generating the date details.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#table_id DataLossPreventionJobTrigger#table_id}

---

### DataLossPreventionJobTriggerInspectJobStorageConfig <a name="DataLossPreventionJobTriggerInspectJobStorageConfig" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfig } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfig: DataLossPreventionJobTriggerInspectJobStorageConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig.property.bigQueryOptions">bigQueryOptions</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions">DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions</a></code> | big_query_options block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig.property.cloudStorageOptions">cloudStorageOptions</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions">DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions</a></code> | cloud_storage_options block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig.property.datastoreOptions">datastoreOptions</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions">DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions</a></code> | datastore_options block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig.property.timespanConfig">timespanConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig">DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig</a></code> | timespan_config block. |

---

##### `bigQueryOptions`<sup>Optional</sup> <a name="bigQueryOptions" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig.property.bigQueryOptions"></a>

```typescript
public readonly bigQueryOptions: DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions">DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions</a>

big_query_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#big_query_options DataLossPreventionJobTrigger#big_query_options}

---

##### `cloudStorageOptions`<sup>Optional</sup> <a name="cloudStorageOptions" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig.property.cloudStorageOptions"></a>

```typescript
public readonly cloudStorageOptions: DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions">DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions</a>

cloud_storage_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#cloud_storage_options DataLossPreventionJobTrigger#cloud_storage_options}

---

##### `datastoreOptions`<sup>Optional</sup> <a name="datastoreOptions" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig.property.datastoreOptions"></a>

```typescript
public readonly datastoreOptions: DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions">DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions</a>

datastore_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#datastore_options DataLossPreventionJobTrigger#datastore_options}

---

##### `timespanConfig`<sup>Optional</sup> <a name="timespanConfig" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfig.property.timespanConfig"></a>

```typescript
public readonly timespanConfig: DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig">DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig</a>

timespan_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#timespan_config DataLossPreventionJobTrigger#timespan_config}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions <a name="DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions: DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions.property.tableReference">tableReference</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference">DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference</a></code> | table_reference block. |

---

##### `tableReference`<sup>Required</sup> <a name="tableReference" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptions.property.tableReference"></a>

```typescript
public readonly tableReference: DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference">DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference</a>

table_reference block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#table_reference DataLossPreventionJobTrigger#table_reference}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference <a name="DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference: DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference.property.datasetId">datasetId</a></code> | <code>string</code> | The dataset ID of the table. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference.property.projectId">projectId</a></code> | <code>string</code> | The Google Cloud Platform project ID of the project containing the table. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference.property.tableId">tableId</a></code> | <code>string</code> | The name of the table. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The dataset ID of the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#dataset_id DataLossPreventionJobTrigger#dataset_id}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The Google Cloud Platform project ID of the project containing the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#project_id DataLossPreventionJobTrigger#project_id}

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReference.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

The name of the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#table_id DataLossPreventionJobTrigger#table_id}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions <a name="DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions: DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.fileSet">fileSet</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet">DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet</a></code> | file_set block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.bytesLimitPerFile">bytesLimitPerFile</a></code> | <code>number</code> | Max number of bytes to scan from a file. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.bytesLimitPerFilePercent">bytesLimitPerFilePercent</a></code> | <code>number</code> | Max percentage of bytes to scan from a file. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.filesLimitPercent">filesLimitPercent</a></code> | <code>number</code> | Limits the number of files to scan to this percentage of the input FileSet. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.fileTypes">fileTypes</a></code> | <code>string[]</code> | List of file type groups to include in the scan. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.sampleMethod">sampleMethod</a></code> | <code>string</code> | How to sample bytes if not all bytes are scanned. |

---

##### `fileSet`<sup>Required</sup> <a name="fileSet" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.fileSet"></a>

```typescript
public readonly fileSet: DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet">DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet</a>

file_set block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#file_set DataLossPreventionJobTrigger#file_set}

---

##### `bytesLimitPerFile`<sup>Optional</sup> <a name="bytesLimitPerFile" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.bytesLimitPerFile"></a>

```typescript
public readonly bytesLimitPerFile: number;
```

- *Type:* number

Max number of bytes to scan from a file.

If a scanned file's size is bigger than this value
then the rest of the bytes are omitted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#bytes_limit_per_file DataLossPreventionJobTrigger#bytes_limit_per_file}

---

##### `bytesLimitPerFilePercent`<sup>Optional</sup> <a name="bytesLimitPerFilePercent" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.bytesLimitPerFilePercent"></a>

```typescript
public readonly bytesLimitPerFilePercent: number;
```

- *Type:* number

Max percentage of bytes to scan from a file.

The rest are omitted. The number of bytes scanned is rounded down.
Must be between 0 and 100, inclusively. Both 0 and 100 means no limit.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#bytes_limit_per_file_percent DataLossPreventionJobTrigger#bytes_limit_per_file_percent}

---

##### `filesLimitPercent`<sup>Optional</sup> <a name="filesLimitPercent" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.filesLimitPercent"></a>

```typescript
public readonly filesLimitPercent: number;
```

- *Type:* number

Limits the number of files to scan to this percentage of the input FileSet.

Number of files scanned is rounded down.
Must be between 0 and 100, inclusively. Both 0 and 100 means no limit.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#files_limit_percent DataLossPreventionJobTrigger#files_limit_percent}

---

##### `fileTypes`<sup>Optional</sup> <a name="fileTypes" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.fileTypes"></a>

```typescript
public readonly fileTypes: string[];
```

- *Type:* string[]

List of file type groups to include in the scan.

If empty, all files are scanned and available data
format processors are applied. In addition, the binary content of the selected files is always scanned as well.
Images are scanned only as binary if the specified region does not support image inspection and no fileTypes were specified. Possible values: ["BINARY_FILE", "TEXT_FILE", "IMAGE", "WORD", "PDF", "AVRO", "CSV", "TSV"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#file_types DataLossPreventionJobTrigger#file_types}

---

##### `sampleMethod`<sup>Optional</sup> <a name="sampleMethod" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptions.property.sampleMethod"></a>

```typescript
public readonly sampleMethod: string;
```

- *Type:* string

How to sample bytes if not all bytes are scanned.

Meaningful only when used in conjunction with bytesLimitPerFile.
If not specified, scanning would start from the top. Possible values: ["TOP", "RANDOM_START"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#sample_method DataLossPreventionJobTrigger#sample_method}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet <a name="DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet: DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet.property.regexFileSet">regexFileSet</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet">DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet</a></code> | regex_file_set block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet.property.url">url</a></code> | <code>string</code> | The Cloud Storage url of the file(s) to scan, in the format 'gs://<bucket>/<path>'. Trailing wildcard in the path is allowed. |

---

##### `regexFileSet`<sup>Optional</sup> <a name="regexFileSet" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet.property.regexFileSet"></a>

```typescript
public readonly regexFileSet: DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet">DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet</a>

regex_file_set block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#regex_file_set DataLossPreventionJobTrigger#regex_file_set}

---

##### `url`<sup>Optional</sup> <a name="url" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSet.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

The Cloud Storage url of the file(s) to scan, in the format 'gs://<bucket>/<path>'. Trailing wildcard in the path is allowed.

If the url ends in a trailing slash, the bucket or directory represented by the url will be scanned
non-recursively (content in sub-directories will not be scanned). This means that 'gs://mybucket/' is
equivalent to 'gs://mybucket/*', and 'gs://mybucket/directory/' is equivalent to 'gs://mybucket/directory/*'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#url DataLossPreventionJobTrigger#url}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet <a name="DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet: DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet.property.bucketName">bucketName</a></code> | <code>string</code> | The name of a Cloud Storage bucket. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet.property.excludeRegex">excludeRegex</a></code> | <code>string[]</code> | A list of regular expressions matching file paths to exclude. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet.property.includeRegex">includeRegex</a></code> | <code>string[]</code> | A list of regular expressions matching file paths to include. |

---

##### `bucketName`<sup>Required</sup> <a name="bucketName" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet.property.bucketName"></a>

```typescript
public readonly bucketName: string;
```

- *Type:* string

The name of a Cloud Storage bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#bucket_name DataLossPreventionJobTrigger#bucket_name}

---

##### `excludeRegex`<sup>Optional</sup> <a name="excludeRegex" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet.property.excludeRegex"></a>

```typescript
public readonly excludeRegex: string[];
```

- *Type:* string[]

A list of regular expressions matching file paths to exclude.

All files in the bucket that match at
least one of these regular expressions will be excluded from the scan.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#exclude_regex DataLossPreventionJobTrigger#exclude_regex}

---

##### `includeRegex`<sup>Optional</sup> <a name="includeRegex" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSet.property.includeRegex"></a>

```typescript
public readonly includeRegex: string[];
```

- *Type:* string[]

A list of regular expressions matching file paths to include.

All files in the bucket
that match at least one of these regular expressions will be included in the set of files,
except for those that also match an item in excludeRegex. Leaving this field empty will
match all files by default (this is equivalent to including .* in the list)

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#include_regex DataLossPreventionJobTrigger#include_regex}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions <a name="DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions: DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions.property.kind">kind</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind">DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind</a></code> | kind block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions.property.partitionId">partitionId</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId">DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId</a></code> | partition_id block. |

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions.property.kind"></a>

```typescript
public readonly kind: DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind">DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind</a>

kind block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#kind DataLossPreventionJobTrigger#kind}

---

##### `partitionId`<sup>Required</sup> <a name="partitionId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptions.property.partitionId"></a>

```typescript
public readonly partitionId: DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId">DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId</a>

partition_id block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#partition_id DataLossPreventionJobTrigger#partition_id}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind <a name="DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind: DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind.property.name">name</a></code> | <code>string</code> | The name of the Datastore kind. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKind.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the Datastore kind.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#name DataLossPreventionJobTrigger#name}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId <a name="DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId: DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId.property.projectId">projectId</a></code> | <code>string</code> | The ID of the project to which the entities belong. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId.property.namespaceId">namespaceId</a></code> | <code>string</code> | If not empty, the ID of the namespace to which the entities belong. |

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The ID of the project to which the entities belong.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#project_id DataLossPreventionJobTrigger#project_id}

---

##### `namespaceId`<sup>Optional</sup> <a name="namespaceId" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionId.property.namespaceId"></a>

```typescript
public readonly namespaceId: string;
```

- *Type:* string

If not empty, the ID of the namespace to which the entities belong.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#namespace_id DataLossPreventionJobTrigger#namespace_id}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig <a name="DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig: DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig.property.timestampField">timestampField</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField">DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField</a></code> | timestamp_field block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig.property.enableAutoPopulationOfTimespanConfig">enableAutoPopulationOfTimespanConfig</a></code> | <code>boolean \| cdktf.IResolvable</code> | When the job is started by a JobTrigger we will automatically figure out a valid startTime to avoid scanning files that have not been modified since the last time the JobTrigger executed. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig.property.endTime">endTime</a></code> | <code>string</code> | Exclude files or rows newer than this value. If set to zero, no upper time limit is applied. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig.property.startTime">startTime</a></code> | <code>string</code> | Exclude files or rows older than this value. |

---

##### `timestampField`<sup>Required</sup> <a name="timestampField" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig.property.timestampField"></a>

```typescript
public readonly timestampField: DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField">DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField</a>

timestamp_field block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#timestamp_field DataLossPreventionJobTrigger#timestamp_field}

---

##### `enableAutoPopulationOfTimespanConfig`<sup>Optional</sup> <a name="enableAutoPopulationOfTimespanConfig" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig.property.enableAutoPopulationOfTimespanConfig"></a>

```typescript
public readonly enableAutoPopulationOfTimespanConfig: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When the job is started by a JobTrigger we will automatically figure out a valid startTime to avoid scanning files that have not been modified since the last time the JobTrigger executed.

This will
be based on the time of the execution of the last run of the JobTrigger.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#enable_auto_population_of_timespan_config DataLossPreventionJobTrigger#enable_auto_population_of_timespan_config}

---

##### `endTime`<sup>Optional</sup> <a name="endTime" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig.property.endTime"></a>

```typescript
public readonly endTime: string;
```

- *Type:* string

Exclude files or rows newer than this value. If set to zero, no upper time limit is applied.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#end_time DataLossPreventionJobTrigger#end_time}

---

##### `startTime`<sup>Optional</sup> <a name="startTime" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfig.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

Exclude files or rows older than this value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#start_time DataLossPreventionJobTrigger#start_time}

---

### DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField <a name="DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField: DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField.property.name">name</a></code> | <code>string</code> | Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampField.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery.

For BigQuery: Required to filter out rows based on the given start and end times. If not specified and the table was
modified between the given start and end times, the entire table will be scanned. The valid data types of the timestamp
field are: INTEGER, DATE, TIMESTAMP, or DATETIME BigQuery column.

For Datastore. Valid data types of the timestamp field are: TIMESTAMP. Datastore entity will be scanned if the
timestamp property does not exist or its value is empty or invalid.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#name DataLossPreventionJobTrigger#name}

---

### DataLossPreventionJobTriggerTimeouts <a name="DataLossPreventionJobTriggerTimeouts" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerTimeouts } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerTimeouts: DataLossPreventionJobTriggerTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#create DataLossPreventionJobTrigger#create}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#delete DataLossPreventionJobTrigger#delete}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#update DataLossPreventionJobTrigger#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#create DataLossPreventionJobTrigger#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#delete DataLossPreventionJobTrigger#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#update DataLossPreventionJobTrigger#update}.

---

### DataLossPreventionJobTriggerTriggers <a name="DataLossPreventionJobTriggerTriggers" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTriggers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTriggers.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerTriggers } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerTriggers: DataLossPreventionJobTriggerTriggers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggers.property.schedule">schedule</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggersSchedule">DataLossPreventionJobTriggerTriggersSchedule</a></code> | schedule block. |

---

##### `schedule`<sup>Optional</sup> <a name="schedule" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTriggers.property.schedule"></a>

```typescript
public readonly schedule: DataLossPreventionJobTriggerTriggersSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggersSchedule">DataLossPreventionJobTriggerTriggersSchedule</a>

schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#schedule DataLossPreventionJobTrigger#schedule}

---

### DataLossPreventionJobTriggerTriggersSchedule <a name="DataLossPreventionJobTriggerTriggersSchedule" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTriggersSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTriggersSchedule.Initializer"></a>

```typescript
import { DataLossPreventionJobTriggerTriggersSchedule } from '@dschmidt/provider-google'

const dataLossPreventionJobTriggerTriggersSchedule: DataLossPreventionJobTriggerTriggersSchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionJobTriggerTriggersSchedule.property.recurrencePeriodDuration">recurrencePeriodDuration</a></code> | <code>string</code> | With this option a job is started a regular periodic basis. For example: every day (86400 seconds). |

---

##### `recurrencePeriodDuration`<sup>Optional</sup> <a name="recurrencePeriodDuration" id="@dschmidt/provider-google.DataLossPreventionJobTriggerTriggersSchedule.property.recurrencePeriodDuration"></a>

```typescript
public readonly recurrencePeriodDuration: string;
```

- *Type:* string

With this option a job is started a regular periodic basis. For example: every day (86400 seconds).

A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs.

This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_job_trigger#recurrence_period_duration DataLossPreventionJobTrigger#recurrence_period_duration}

---

### DataLossPreventionStoredInfoTypeConfig <a name="DataLossPreventionStoredInfoTypeConfig" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeConfig } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeConfig: DataLossPreventionStoredInfoTypeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.parent">parent</a></code> | <code>string</code> | The parent of the info type in any of the following formats:. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.description">description</a></code> | <code>string</code> | A description of the info type. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.dictionary">dictionary</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary">DataLossPreventionStoredInfoTypeDictionary</a></code> | dictionary block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.displayName">displayName</a></code> | <code>string</code> | User set display name of the info type. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#id DataLossPreventionStoredInfoType#id}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.largeCustomDictionary">largeCustomDictionary</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary">DataLossPreventionStoredInfoTypeLargeCustomDictionary</a></code> | large_custom_dictionary block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.regex">regex</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex">DataLossPreventionStoredInfoTypeRegex</a></code> | regex block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts">DataLossPreventionStoredInfoTypeTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The parent of the info type in any of the following formats:.

'projects/{{project}}'
'projects/{{project}}/locations/{{location}}'
'organizations/{{organization_id}}'
'organizations/{{organization_id}}/locations/{{location}}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#parent DataLossPreventionStoredInfoType#parent}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of the info type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#description DataLossPreventionStoredInfoType#description}

---

##### `dictionary`<sup>Optional</sup> <a name="dictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.dictionary"></a>

```typescript
public readonly dictionary: DataLossPreventionStoredInfoTypeDictionary;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary">DataLossPreventionStoredInfoTypeDictionary</a>

dictionary block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#dictionary DataLossPreventionStoredInfoType#dictionary}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

User set display name of the info type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#display_name DataLossPreventionStoredInfoType#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#id DataLossPreventionStoredInfoType#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `largeCustomDictionary`<sup>Optional</sup> <a name="largeCustomDictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.largeCustomDictionary"></a>

```typescript
public readonly largeCustomDictionary: DataLossPreventionStoredInfoTypeLargeCustomDictionary;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary">DataLossPreventionStoredInfoTypeLargeCustomDictionary</a>

large_custom_dictionary block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#large_custom_dictionary DataLossPreventionStoredInfoType#large_custom_dictionary}

---

##### `regex`<sup>Optional</sup> <a name="regex" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.regex"></a>

```typescript
public readonly regex: DataLossPreventionStoredInfoTypeRegex;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex">DataLossPreventionStoredInfoTypeRegex</a>

regex block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#regex DataLossPreventionStoredInfoType#regex}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataLossPreventionStoredInfoTypeTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts">DataLossPreventionStoredInfoTypeTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#timeouts DataLossPreventionStoredInfoType#timeouts}

---

### DataLossPreventionStoredInfoTypeDictionary <a name="DataLossPreventionStoredInfoTypeDictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeDictionary } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeDictionary: DataLossPreventionStoredInfoTypeDictionary = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary.property.cloudStoragePath">cloudStoragePath</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath">DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath</a></code> | cloud_storage_path block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary.property.wordList">wordList</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryWordList">DataLossPreventionStoredInfoTypeDictionaryWordList</a></code> | word_list block. |

---

##### `cloudStoragePath`<sup>Optional</sup> <a name="cloudStoragePath" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary.property.cloudStoragePath"></a>

```typescript
public readonly cloudStoragePath: DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath">DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath</a>

cloud_storage_path block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#cloud_storage_path DataLossPreventionStoredInfoType#cloud_storage_path}

---

##### `wordList`<sup>Optional</sup> <a name="wordList" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionary.property.wordList"></a>

```typescript
public readonly wordList: DataLossPreventionStoredInfoTypeDictionaryWordList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryWordList">DataLossPreventionStoredInfoTypeDictionaryWordList</a>

word_list block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#word_list DataLossPreventionStoredInfoType#word_list}

---

### DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath <a name="DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeDictionaryCloudStoragePath: DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath.property.path">path</a></code> | <code>string</code> | A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt'. |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryCloudStoragePath.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#path DataLossPreventionStoredInfoType#path}

---

### DataLossPreventionStoredInfoTypeDictionaryWordList <a name="DataLossPreventionStoredInfoTypeDictionaryWordList" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryWordList"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryWordList.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeDictionaryWordList } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeDictionaryWordList: DataLossPreventionStoredInfoTypeDictionaryWordList = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryWordList.property.words">words</a></code> | <code>string[]</code> | Words or phrases defining the dictionary. |

---

##### `words`<sup>Required</sup> <a name="words" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeDictionaryWordList.property.words"></a>

```typescript
public readonly words: string[];
```

- *Type:* string[]

Words or phrases defining the dictionary.

The dictionary must contain at least one
phrase and every phrase must contain at least 2 characters that are letters or digits.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#words DataLossPreventionStoredInfoType#words}

---

### DataLossPreventionStoredInfoTypeLargeCustomDictionary <a name="DataLossPreventionStoredInfoTypeLargeCustomDictionary" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeLargeCustomDictionary } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeLargeCustomDictionary: DataLossPreventionStoredInfoTypeLargeCustomDictionary = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary.property.outputPath">outputPath</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath">DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath</a></code> | output_path block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary.property.bigQueryField">bigQueryField</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField">DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField</a></code> | big_query_field block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary.property.cloudStorageFileSet">cloudStorageFileSet</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet">DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet</a></code> | cloud_storage_file_set block. |

---

##### `outputPath`<sup>Required</sup> <a name="outputPath" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary.property.outputPath"></a>

```typescript
public readonly outputPath: DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath">DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath</a>

output_path block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#output_path DataLossPreventionStoredInfoType#output_path}

---

##### `bigQueryField`<sup>Optional</sup> <a name="bigQueryField" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary.property.bigQueryField"></a>

```typescript
public readonly bigQueryField: DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField">DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField</a>

big_query_field block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#big_query_field DataLossPreventionStoredInfoType#big_query_field}

---

##### `cloudStorageFileSet`<sup>Optional</sup> <a name="cloudStorageFileSet" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionary.property.cloudStorageFileSet"></a>

```typescript
public readonly cloudStorageFileSet: DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet">DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet</a>

cloud_storage_file_set block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#cloud_storage_file_set DataLossPreventionStoredInfoType#cloud_storage_file_set}

---

### DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField <a name="DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField: DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField.property.field">field</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField">DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField</a></code> | field block. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField.property.table">table</a></code> | <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable">DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable</a></code> | table block. |

---

##### `field`<sup>Required</sup> <a name="field" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField.property.field"></a>

```typescript
public readonly field: DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField">DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField</a>

field block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#field DataLossPreventionStoredInfoType#field}

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryField.property.table"></a>

```typescript
public readonly table: DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable;
```

- *Type:* <a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable">DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable</a>

table block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#table DataLossPreventionStoredInfoType#table}

---

### DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField <a name="DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField: DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField.property.name">name</a></code> | <code>string</code> | Name describing the field. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldField.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name describing the field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#name DataLossPreventionStoredInfoType#name}

---

### DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable <a name="DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable: DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable.property.datasetId">datasetId</a></code> | <code>string</code> | The dataset ID of the table. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable.property.projectId">projectId</a></code> | <code>string</code> | The Google Cloud Platform project ID of the project containing the table. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable.property.tableId">tableId</a></code> | <code>string</code> | The name of the table. |

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

The dataset ID of the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#dataset_id DataLossPreventionStoredInfoType#dataset_id}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The Google Cloud Platform project ID of the project containing the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#project_id DataLossPreventionStoredInfoType#project_id}

---

##### `tableId`<sup>Required</sup> <a name="tableId" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryBigQueryFieldTable.property.tableId"></a>

```typescript
public readonly tableId: string;
```

- *Type:* string

The name of the table.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#table_id DataLossPreventionStoredInfoType#table_id}

---

### DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet <a name="DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet: DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet.property.url">url</a></code> | <code>string</code> | The url, in the format 'gs://<bucket>/<path>'. Trailing wildcard in the path is allowed. |

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryCloudStorageFileSet.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

The url, in the format 'gs://<bucket>/<path>'. Trailing wildcard in the path is allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#url DataLossPreventionStoredInfoType#url}

---

### DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath <a name="DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath: DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath.property.path">path</a></code> | <code>string</code> | A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt'. |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeLargeCustomDictionaryOutputPath.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#path DataLossPreventionStoredInfoType#path}

---

### DataLossPreventionStoredInfoTypeRegex <a name="DataLossPreventionStoredInfoTypeRegex" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeRegex } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeRegex: DataLossPreventionStoredInfoTypeRegex = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex.property.pattern">pattern</a></code> | <code>string</code> | Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex.property.groupIndexes">groupIndexes</a></code> | <code>number[]</code> | The index of the submatch to extract as findings. |

---

##### `pattern`<sup>Required</sup> <a name="pattern" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex.property.pattern"></a>

```typescript
public readonly pattern: string;
```

- *Type:* string

Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#pattern DataLossPreventionStoredInfoType#pattern}

---

##### `groupIndexes`<sup>Optional</sup> <a name="groupIndexes" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeRegex.property.groupIndexes"></a>

```typescript
public readonly groupIndexes: number[];
```

- *Type:* number[]

The index of the submatch to extract as findings.

When not specified, the entire match is returned. No more than 3 may be included.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#group_indexes DataLossPreventionStoredInfoType#group_indexes}

---

### DataLossPreventionStoredInfoTypeTimeouts <a name="DataLossPreventionStoredInfoTypeTimeouts" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts.Initializer"></a>

```typescript
import { DataLossPreventionStoredInfoTypeTimeouts } from '@dschmidt/provider-google'

const dataLossPreventionStoredInfoTypeTimeouts: DataLossPreventionStoredInfoTypeTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#create DataLossPreventionStoredInfoType#create}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#delete DataLossPreventionStoredInfoType#delete}. |
| <code><a href="#@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#update DataLossPreventionStoredInfoType#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#create DataLossPreventionStoredInfoType#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#delete DataLossPreventionStoredInfoType#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataLossPreventionStoredInfoTypeTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/data_loss_prevention_stored_info_type#update DataLossPreventionStoredInfoType#update}.

---

### DataplexAssetConfig <a name="DataplexAssetConfig" id="@dschmidt/provider-google.DataplexAssetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetConfig.Initializer"></a>

```typescript
import { DataplexAssetConfig } from '@dschmidt/provider-google'

const dataplexAssetConfig: DataplexAssetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.dataplexZone">dataplexZone</a></code> | <code>string</code> | The zone for the resource. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.discoverySpec">discoverySpec</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec">DataplexAssetDiscoverySpec</a></code> | discovery_spec block. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.lake">lake</a></code> | <code>string</code> | The lake for the resource. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.name">name</a></code> | <code>string</code> | The name of the asset. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.resourceSpec">resourceSpec</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetResourceSpec">DataplexAssetResourceSpec</a></code> | resource_spec block. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.description">description</a></code> | <code>string</code> | Optional. Description of the asset. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.displayName">displayName</a></code> | <code>string</code> | Optional. User friendly display name. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#id DataplexAsset#id}. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. User defined labels for the asset. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetTimeouts">DataplexAssetTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataplexAssetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataplexAssetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataplexAssetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataplexAssetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataplexAssetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataplexAssetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataplexAssetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dataplexZone`<sup>Required</sup> <a name="dataplexZone" id="@dschmidt/provider-google.DataplexAssetConfig.property.dataplexZone"></a>

```typescript
public readonly dataplexZone: string;
```

- *Type:* string

The zone for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#dataplex_zone DataplexAsset#dataplex_zone}

---

##### `discoverySpec`<sup>Required</sup> <a name="discoverySpec" id="@dschmidt/provider-google.DataplexAssetConfig.property.discoverySpec"></a>

```typescript
public readonly discoverySpec: DataplexAssetDiscoverySpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec">DataplexAssetDiscoverySpec</a>

discovery_spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#discovery_spec DataplexAsset#discovery_spec}

---

##### `lake`<sup>Required</sup> <a name="lake" id="@dschmidt/provider-google.DataplexAssetConfig.property.lake"></a>

```typescript
public readonly lake: string;
```

- *Type:* string

The lake for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#lake DataplexAsset#lake}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataplexAssetConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#location DataplexAsset#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataplexAssetConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the asset.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#name DataplexAsset#name}

---

##### `resourceSpec`<sup>Required</sup> <a name="resourceSpec" id="@dschmidt/provider-google.DataplexAssetConfig.property.resourceSpec"></a>

```typescript
public readonly resourceSpec: DataplexAssetResourceSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetResourceSpec">DataplexAssetResourceSpec</a>

resource_spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#resource_spec DataplexAsset#resource_spec}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataplexAssetConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. Description of the asset.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#description DataplexAsset#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataplexAssetConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Optional. User friendly display name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#display_name DataplexAsset#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataplexAssetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#id DataplexAsset#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataplexAssetConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. User defined labels for the asset.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#labels DataplexAsset#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataplexAssetConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#project DataplexAsset#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataplexAssetConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataplexAssetTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetTimeouts">DataplexAssetTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#timeouts DataplexAsset#timeouts}

---

### DataplexAssetDiscoverySpec <a name="DataplexAssetDiscoverySpec" id="@dschmidt/provider-google.DataplexAssetDiscoverySpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetDiscoverySpec.Initializer"></a>

```typescript
import { DataplexAssetDiscoverySpec } from '@dschmidt/provider-google'

const dataplexAssetDiscoverySpec: DataplexAssetDiscoverySpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Required. Whether discovery is enabled. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.csvOptions">csvOptions</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions">DataplexAssetDiscoverySpecCsvOptions</a></code> | csv_options block. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.excludePatterns">excludePatterns</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.includePatterns">includePatterns</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.jsonOptions">jsonOptions</a></code> | <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecJsonOptions">DataplexAssetDiscoverySpecJsonOptions</a></code> | json_options block. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.schedule">schedule</a></code> | <code>string</code> | Optional. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Required. Whether discovery is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#enabled DataplexAsset#enabled}

---

##### `csvOptions`<sup>Optional</sup> <a name="csvOptions" id="@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.csvOptions"></a>

```typescript
public readonly csvOptions: DataplexAssetDiscoverySpecCsvOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions">DataplexAssetDiscoverySpecCsvOptions</a>

csv_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#csv_options DataplexAsset#csv_options}

---

##### `excludePatterns`<sup>Optional</sup> <a name="excludePatterns" id="@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.excludePatterns"></a>

```typescript
public readonly excludePatterns: string[];
```

- *Type:* string[]

Optional.

The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#exclude_patterns DataplexAsset#exclude_patterns}

---

##### `includePatterns`<sup>Optional</sup> <a name="includePatterns" id="@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.includePatterns"></a>

```typescript
public readonly includePatterns: string[];
```

- *Type:* string[]

Optional.

The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#include_patterns DataplexAsset#include_patterns}

---

##### `jsonOptions`<sup>Optional</sup> <a name="jsonOptions" id="@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.jsonOptions"></a>

```typescript
public readonly jsonOptions: DataplexAssetDiscoverySpecJsonOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecJsonOptions">DataplexAssetDiscoverySpecJsonOptions</a>

json_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#json_options DataplexAsset#json_options}

---

##### `schedule`<sup>Optional</sup> <a name="schedule" id="@dschmidt/provider-google.DataplexAssetDiscoverySpec.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

Optional.

Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#schedule DataplexAsset#schedule}

---

### DataplexAssetDiscoverySpecCsvOptions <a name="DataplexAssetDiscoverySpecCsvOptions" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions.Initializer"></a>

```typescript
import { DataplexAssetDiscoverySpecCsvOptions } from '@dschmidt/provider-google'

const dataplexAssetDiscoverySpecCsvOptions: DataplexAssetDiscoverySpecCsvOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions.property.delimiter">delimiter</a></code> | <code>string</code> | Optional. The delimiter being used to separate values. This defaults to ','. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions.property.disableTypeInference">disableTypeInference</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions.property.encoding">encoding</a></code> | <code>string</code> | Optional. The character encoding of the data. The default is UTF-8. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions.property.headerRows">headerRows</a></code> | <code>number</code> | Optional. The number of rows to interpret as header rows that should be skipped when reading data rows. |

---

##### `delimiter`<sup>Optional</sup> <a name="delimiter" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions.property.delimiter"></a>

```typescript
public readonly delimiter: string;
```

- *Type:* string

Optional. The delimiter being used to separate values. This defaults to ','.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#delimiter DataplexAsset#delimiter}

---

##### `disableTypeInference`<sup>Optional</sup> <a name="disableTypeInference" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions.property.disableTypeInference"></a>

```typescript
public readonly disableTypeInference: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#disable_type_inference DataplexAsset#disable_type_inference}

---

##### `encoding`<sup>Optional</sup> <a name="encoding" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions.property.encoding"></a>

```typescript
public readonly encoding: string;
```

- *Type:* string

Optional. The character encoding of the data. The default is UTF-8.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#encoding DataplexAsset#encoding}

---

##### `headerRows`<sup>Optional</sup> <a name="headerRows" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecCsvOptions.property.headerRows"></a>

```typescript
public readonly headerRows: number;
```

- *Type:* number

Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#header_rows DataplexAsset#header_rows}

---

### DataplexAssetDiscoverySpecJsonOptions <a name="DataplexAssetDiscoverySpecJsonOptions" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecJsonOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecJsonOptions.Initializer"></a>

```typescript
import { DataplexAssetDiscoverySpecJsonOptions } from '@dschmidt/provider-google'

const dataplexAssetDiscoverySpecJsonOptions: DataplexAssetDiscoverySpecJsonOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecJsonOptions.property.disableTypeInference">disableTypeInference</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetDiscoverySpecJsonOptions.property.encoding">encoding</a></code> | <code>string</code> | Optional. The character encoding of the data. The default is UTF-8. |

---

##### `disableTypeInference`<sup>Optional</sup> <a name="disableTypeInference" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecJsonOptions.property.disableTypeInference"></a>

```typescript
public readonly disableTypeInference: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#disable_type_inference DataplexAsset#disable_type_inference}

---

##### `encoding`<sup>Optional</sup> <a name="encoding" id="@dschmidt/provider-google.DataplexAssetDiscoverySpecJsonOptions.property.encoding"></a>

```typescript
public readonly encoding: string;
```

- *Type:* string

Optional. The character encoding of the data. The default is UTF-8.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#encoding DataplexAsset#encoding}

---

### DataplexAssetDiscoveryStatus <a name="DataplexAssetDiscoveryStatus" id="@dschmidt/provider-google.DataplexAssetDiscoveryStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetDiscoveryStatus.Initializer"></a>

```typescript
import { DataplexAssetDiscoveryStatus } from '@dschmidt/provider-google'

const dataplexAssetDiscoveryStatus: DataplexAssetDiscoveryStatus = { ... }
```


### DataplexAssetDiscoveryStatusStats <a name="DataplexAssetDiscoveryStatusStats" id="@dschmidt/provider-google.DataplexAssetDiscoveryStatusStats"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetDiscoveryStatusStats.Initializer"></a>

```typescript
import { DataplexAssetDiscoveryStatusStats } from '@dschmidt/provider-google'

const dataplexAssetDiscoveryStatusStats: DataplexAssetDiscoveryStatusStats = { ... }
```


### DataplexAssetResourceSpec <a name="DataplexAssetResourceSpec" id="@dschmidt/provider-google.DataplexAssetResourceSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetResourceSpec.Initializer"></a>

```typescript
import { DataplexAssetResourceSpec } from '@dschmidt/provider-google'

const dataplexAssetResourceSpec: DataplexAssetResourceSpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAssetResourceSpec.property.type">type</a></code> | <code>string</code> | Required. Immutable. Type of resource. Possible values: STORAGE_BUCKET, BIGQUERY_DATASET. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetResourceSpec.property.name">name</a></code> | <code>string</code> | Immutable. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataplexAssetResourceSpec.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Required. Immutable. Type of resource. Possible values: STORAGE_BUCKET, BIGQUERY_DATASET.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#type DataplexAsset#type}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DataplexAssetResourceSpec.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Immutable.

Relative name of the cloud resource that contains the data that is being managed within a lake. For example: `projects/{project_number}/buckets/{bucket_id}` `projects/{project_number}/datasets/{dataset_id}`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#name DataplexAsset#name}

---

### DataplexAssetResourceStatus <a name="DataplexAssetResourceStatus" id="@dschmidt/provider-google.DataplexAssetResourceStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetResourceStatus.Initializer"></a>

```typescript
import { DataplexAssetResourceStatus } from '@dschmidt/provider-google'

const dataplexAssetResourceStatus: DataplexAssetResourceStatus = { ... }
```


### DataplexAssetSecurityStatus <a name="DataplexAssetSecurityStatus" id="@dschmidt/provider-google.DataplexAssetSecurityStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetSecurityStatus.Initializer"></a>

```typescript
import { DataplexAssetSecurityStatus } from '@dschmidt/provider-google'

const dataplexAssetSecurityStatus: DataplexAssetSecurityStatus = { ... }
```


### DataplexAssetTimeouts <a name="DataplexAssetTimeouts" id="@dschmidt/provider-google.DataplexAssetTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexAssetTimeouts.Initializer"></a>

```typescript
import { DataplexAssetTimeouts } from '@dschmidt/provider-google'

const dataplexAssetTimeouts: DataplexAssetTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexAssetTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#create DataplexAsset#create}. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#delete DataplexAsset#delete}. |
| <code><a href="#@dschmidt/provider-google.DataplexAssetTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#update DataplexAsset#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataplexAssetTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#create DataplexAsset#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataplexAssetTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#delete DataplexAsset#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataplexAssetTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_asset#update DataplexAsset#update}.

---

### DataplexLakeAssetStatus <a name="DataplexLakeAssetStatus" id="@dschmidt/provider-google.DataplexLakeAssetStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexLakeAssetStatus.Initializer"></a>

```typescript
import { DataplexLakeAssetStatus } from '@dschmidt/provider-google'

const dataplexLakeAssetStatus: DataplexLakeAssetStatus = { ... }
```


### DataplexLakeConfig <a name="DataplexLakeConfig" id="@dschmidt/provider-google.DataplexLakeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexLakeConfig.Initializer"></a>

```typescript
import { DataplexLakeConfig } from '@dschmidt/provider-google'

const dataplexLakeConfig: DataplexLakeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.name">name</a></code> | <code>string</code> | The name of the lake. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.description">description</a></code> | <code>string</code> | Optional. Description of the lake. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.displayName">displayName</a></code> | <code>string</code> | Optional. User friendly display name. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#id DataplexLake#id}. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. User-defined labels for the lake. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.metastore">metastore</a></code> | <code><a href="#@dschmidt/provider-google.DataplexLakeMetastore">DataplexLakeMetastore</a></code> | metastore block. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataplexLakeTimeouts">DataplexLakeTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataplexLakeConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataplexLakeConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataplexLakeConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataplexLakeConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataplexLakeConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataplexLakeConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataplexLakeConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataplexLakeConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#location DataplexLake#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataplexLakeConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the lake.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#name DataplexLake#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataplexLakeConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. Description of the lake.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#description DataplexLake#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataplexLakeConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Optional. User friendly display name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#display_name DataplexLake#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataplexLakeConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#id DataplexLake#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataplexLakeConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. User-defined labels for the lake.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#labels DataplexLake#labels}

---

##### `metastore`<sup>Optional</sup> <a name="metastore" id="@dschmidt/provider-google.DataplexLakeConfig.property.metastore"></a>

```typescript
public readonly metastore: DataplexLakeMetastore;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeMetastore">DataplexLakeMetastore</a>

metastore block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#metastore DataplexLake#metastore}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataplexLakeConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#project DataplexLake#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataplexLakeConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataplexLakeTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexLakeTimeouts">DataplexLakeTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#timeouts DataplexLake#timeouts}

---

### DataplexLakeMetastore <a name="DataplexLakeMetastore" id="@dschmidt/provider-google.DataplexLakeMetastore"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexLakeMetastore.Initializer"></a>

```typescript
import { DataplexLakeMetastore } from '@dschmidt/provider-google'

const dataplexLakeMetastore: DataplexLakeMetastore = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexLakeMetastore.property.service">service</a></code> | <code>string</code> | Optional. A relative reference to the Dataproc Metastore (https://cloud.google.com/dataproc-metastore/docs) service associated with the lake: `projects/{project_id}/locations/{location_id}/services/{service_id}`. |

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.DataplexLakeMetastore.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Optional. A relative reference to the Dataproc Metastore (https://cloud.google.com/dataproc-metastore/docs) service associated with the lake: `projects/{project_id}/locations/{location_id}/services/{service_id}`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#service DataplexLake#service}

---

### DataplexLakeMetastoreStatus <a name="DataplexLakeMetastoreStatus" id="@dschmidt/provider-google.DataplexLakeMetastoreStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexLakeMetastoreStatus.Initializer"></a>

```typescript
import { DataplexLakeMetastoreStatus } from '@dschmidt/provider-google'

const dataplexLakeMetastoreStatus: DataplexLakeMetastoreStatus = { ... }
```


### DataplexLakeTimeouts <a name="DataplexLakeTimeouts" id="@dschmidt/provider-google.DataplexLakeTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexLakeTimeouts.Initializer"></a>

```typescript
import { DataplexLakeTimeouts } from '@dschmidt/provider-google'

const dataplexLakeTimeouts: DataplexLakeTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexLakeTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#create DataplexLake#create}. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#delete DataplexLake#delete}. |
| <code><a href="#@dschmidt/provider-google.DataplexLakeTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#update DataplexLake#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataplexLakeTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#create DataplexLake#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataplexLakeTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#delete DataplexLake#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataplexLakeTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_lake#update DataplexLake#update}.

---

### DataplexZoneAssetStatus <a name="DataplexZoneAssetStatus" id="@dschmidt/provider-google.DataplexZoneAssetStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexZoneAssetStatus.Initializer"></a>

```typescript
import { DataplexZoneAssetStatus } from '@dschmidt/provider-google'

const dataplexZoneAssetStatus: DataplexZoneAssetStatus = { ... }
```


### DataplexZoneConfig <a name="DataplexZoneConfig" id="@dschmidt/provider-google.DataplexZoneConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexZoneConfig.Initializer"></a>

```typescript
import { DataplexZoneConfig } from '@dschmidt/provider-google'

const dataplexZoneConfig: DataplexZoneConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.discoverySpec">discoverySpec</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec">DataplexZoneDiscoverySpec</a></code> | discovery_spec block. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.lake">lake</a></code> | <code>string</code> | The lake for the resource. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.name">name</a></code> | <code>string</code> | The name of the zone. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.resourceSpec">resourceSpec</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneResourceSpec">DataplexZoneResourceSpec</a></code> | resource_spec block. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.type">type</a></code> | <code>string</code> | Required. Immutable. The type of the zone. Possible values: TYPE_UNSPECIFIED, RAW, CURATED. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.description">description</a></code> | <code>string</code> | Optional. Description of the zone. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.displayName">displayName</a></code> | <code>string</code> | Optional. User friendly display name. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#id DataplexZone#id}. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. User defined labels for the zone. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneTimeouts">DataplexZoneTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataplexZoneConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataplexZoneConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataplexZoneConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataplexZoneConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataplexZoneConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataplexZoneConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataplexZoneConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `discoverySpec`<sup>Required</sup> <a name="discoverySpec" id="@dschmidt/provider-google.DataplexZoneConfig.property.discoverySpec"></a>

```typescript
public readonly discoverySpec: DataplexZoneDiscoverySpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec">DataplexZoneDiscoverySpec</a>

discovery_spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#discovery_spec DataplexZone#discovery_spec}

---

##### `lake`<sup>Required</sup> <a name="lake" id="@dschmidt/provider-google.DataplexZoneConfig.property.lake"></a>

```typescript
public readonly lake: string;
```

- *Type:* string

The lake for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#lake DataplexZone#lake}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataplexZoneConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#location DataplexZone#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataplexZoneConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the zone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#name DataplexZone#name}

---

##### `resourceSpec`<sup>Required</sup> <a name="resourceSpec" id="@dschmidt/provider-google.DataplexZoneConfig.property.resourceSpec"></a>

```typescript
public readonly resourceSpec: DataplexZoneResourceSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneResourceSpec">DataplexZoneResourceSpec</a>

resource_spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#resource_spec DataplexZone#resource_spec}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DataplexZoneConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Required. Immutable. The type of the zone. Possible values: TYPE_UNSPECIFIED, RAW, CURATED.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#type DataplexZone#type}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataplexZoneConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. Description of the zone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#description DataplexZone#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DataplexZoneConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Optional. User friendly display name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#display_name DataplexZone#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataplexZoneConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#id DataplexZone#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataplexZoneConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. User defined labels for the zone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#labels DataplexZone#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataplexZoneConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#project DataplexZone#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataplexZoneConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataplexZoneTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneTimeouts">DataplexZoneTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#timeouts DataplexZone#timeouts}

---

### DataplexZoneDiscoverySpec <a name="DataplexZoneDiscoverySpec" id="@dschmidt/provider-google.DataplexZoneDiscoverySpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexZoneDiscoverySpec.Initializer"></a>

```typescript
import { DataplexZoneDiscoverySpec } from '@dschmidt/provider-google'

const dataplexZoneDiscoverySpec: DataplexZoneDiscoverySpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Required. Whether discovery is enabled. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.csvOptions">csvOptions</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions">DataplexZoneDiscoverySpecCsvOptions</a></code> | csv_options block. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.excludePatterns">excludePatterns</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.includePatterns">includePatterns</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.jsonOptions">jsonOptions</a></code> | <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecJsonOptions">DataplexZoneDiscoverySpecJsonOptions</a></code> | json_options block. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.schedule">schedule</a></code> | <code>string</code> | Optional. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Required. Whether discovery is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#enabled DataplexZone#enabled}

---

##### `csvOptions`<sup>Optional</sup> <a name="csvOptions" id="@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.csvOptions"></a>

```typescript
public readonly csvOptions: DataplexZoneDiscoverySpecCsvOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions">DataplexZoneDiscoverySpecCsvOptions</a>

csv_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#csv_options DataplexZone#csv_options}

---

##### `excludePatterns`<sup>Optional</sup> <a name="excludePatterns" id="@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.excludePatterns"></a>

```typescript
public readonly excludePatterns: string[];
```

- *Type:* string[]

Optional.

The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#exclude_patterns DataplexZone#exclude_patterns}

---

##### `includePatterns`<sup>Optional</sup> <a name="includePatterns" id="@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.includePatterns"></a>

```typescript
public readonly includePatterns: string[];
```

- *Type:* string[]

Optional.

The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#include_patterns DataplexZone#include_patterns}

---

##### `jsonOptions`<sup>Optional</sup> <a name="jsonOptions" id="@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.jsonOptions"></a>

```typescript
public readonly jsonOptions: DataplexZoneDiscoverySpecJsonOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecJsonOptions">DataplexZoneDiscoverySpecJsonOptions</a>

json_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#json_options DataplexZone#json_options}

---

##### `schedule`<sup>Optional</sup> <a name="schedule" id="@dschmidt/provider-google.DataplexZoneDiscoverySpec.property.schedule"></a>

```typescript
public readonly schedule: string;
```

- *Type:* string

Optional.

Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#schedule DataplexZone#schedule}

---

### DataplexZoneDiscoverySpecCsvOptions <a name="DataplexZoneDiscoverySpecCsvOptions" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions.Initializer"></a>

```typescript
import { DataplexZoneDiscoverySpecCsvOptions } from '@dschmidt/provider-google'

const dataplexZoneDiscoverySpecCsvOptions: DataplexZoneDiscoverySpecCsvOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions.property.delimiter">delimiter</a></code> | <code>string</code> | Optional. The delimiter being used to separate values. This defaults to ','. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions.property.disableTypeInference">disableTypeInference</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions.property.encoding">encoding</a></code> | <code>string</code> | Optional. The character encoding of the data. The default is UTF-8. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions.property.headerRows">headerRows</a></code> | <code>number</code> | Optional. The number of rows to interpret as header rows that should be skipped when reading data rows. |

---

##### `delimiter`<sup>Optional</sup> <a name="delimiter" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions.property.delimiter"></a>

```typescript
public readonly delimiter: string;
```

- *Type:* string

Optional. The delimiter being used to separate values. This defaults to ','.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#delimiter DataplexZone#delimiter}

---

##### `disableTypeInference`<sup>Optional</sup> <a name="disableTypeInference" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions.property.disableTypeInference"></a>

```typescript
public readonly disableTypeInference: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#disable_type_inference DataplexZone#disable_type_inference}

---

##### `encoding`<sup>Optional</sup> <a name="encoding" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions.property.encoding"></a>

```typescript
public readonly encoding: string;
```

- *Type:* string

Optional. The character encoding of the data. The default is UTF-8.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#encoding DataplexZone#encoding}

---

##### `headerRows`<sup>Optional</sup> <a name="headerRows" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecCsvOptions.property.headerRows"></a>

```typescript
public readonly headerRows: number;
```

- *Type:* number

Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#header_rows DataplexZone#header_rows}

---

### DataplexZoneDiscoverySpecJsonOptions <a name="DataplexZoneDiscoverySpecJsonOptions" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecJsonOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecJsonOptions.Initializer"></a>

```typescript
import { DataplexZoneDiscoverySpecJsonOptions } from '@dschmidt/provider-google'

const dataplexZoneDiscoverySpecJsonOptions: DataplexZoneDiscoverySpecJsonOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecJsonOptions.property.disableTypeInference">disableTypeInference</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneDiscoverySpecJsonOptions.property.encoding">encoding</a></code> | <code>string</code> | Optional. The character encoding of the data. The default is UTF-8. |

---

##### `disableTypeInference`<sup>Optional</sup> <a name="disableTypeInference" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecJsonOptions.property.disableTypeInference"></a>

```typescript
public readonly disableTypeInference: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#disable_type_inference DataplexZone#disable_type_inference}

---

##### `encoding`<sup>Optional</sup> <a name="encoding" id="@dschmidt/provider-google.DataplexZoneDiscoverySpecJsonOptions.property.encoding"></a>

```typescript
public readonly encoding: string;
```

- *Type:* string

Optional. The character encoding of the data. The default is UTF-8.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#encoding DataplexZone#encoding}

---

### DataplexZoneResourceSpec <a name="DataplexZoneResourceSpec" id="@dschmidt/provider-google.DataplexZoneResourceSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexZoneResourceSpec.Initializer"></a>

```typescript
import { DataplexZoneResourceSpec } from '@dschmidt/provider-google'

const dataplexZoneResourceSpec: DataplexZoneResourceSpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZoneResourceSpec.property.locationType">locationType</a></code> | <code>string</code> | Required. |

---

##### `locationType`<sup>Required</sup> <a name="locationType" id="@dschmidt/provider-google.DataplexZoneResourceSpec.property.locationType"></a>

```typescript
public readonly locationType: string;
```

- *Type:* string

Required.

Immutable. The location type of the resources that are allowed to be attached to the assets within this zone. Possible values: LOCATION_TYPE_UNSPECIFIED, SINGLE_REGION, MULTI_REGION

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#location_type DataplexZone#location_type}

---

### DataplexZoneTimeouts <a name="DataplexZoneTimeouts" id="@dschmidt/provider-google.DataplexZoneTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataplexZoneTimeouts.Initializer"></a>

```typescript
import { DataplexZoneTimeouts } from '@dschmidt/provider-google'

const dataplexZoneTimeouts: DataplexZoneTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataplexZoneTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#create DataplexZone#create}. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#delete DataplexZone#delete}. |
| <code><a href="#@dschmidt/provider-google.DataplexZoneTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#update DataplexZone#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataplexZoneTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#create DataplexZone#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataplexZoneTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#delete DataplexZone#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataplexZoneTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataplex_zone#update DataplexZone#update}.

---

### DataprocAutoscalingPolicyBasicAlgorithm <a name="DataprocAutoscalingPolicyBasicAlgorithm" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyBasicAlgorithm } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyBasicAlgorithm: DataprocAutoscalingPolicyBasicAlgorithm = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm.property.yarnConfig">yarnConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig">DataprocAutoscalingPolicyBasicAlgorithmYarnConfig</a></code> | yarn_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm.property.cooldownPeriod">cooldownPeriod</a></code> | <code>string</code> | Duration between scaling events. A scaling period starts after the update operation from the previous event has completed. |

---

##### `yarnConfig`<sup>Required</sup> <a name="yarnConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm.property.yarnConfig"></a>

```typescript
public readonly yarnConfig: DataprocAutoscalingPolicyBasicAlgorithmYarnConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig">DataprocAutoscalingPolicyBasicAlgorithmYarnConfig</a>

yarn_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#yarn_config DataprocAutoscalingPolicy#yarn_config}

---

##### `cooldownPeriod`<sup>Optional</sup> <a name="cooldownPeriod" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm.property.cooldownPeriod"></a>

```typescript
public readonly cooldownPeriod: string;
```

- *Type:* string

Duration between scaling events. A scaling period starts after the update operation from the previous event has completed.

Bounds: [2m, 1d]. Default: 2m.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#cooldown_period DataprocAutoscalingPolicy#cooldown_period}

---

### DataprocAutoscalingPolicyBasicAlgorithmYarnConfig <a name="DataprocAutoscalingPolicyBasicAlgorithmYarnConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyBasicAlgorithmYarnConfig } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyBasicAlgorithmYarnConfig: DataprocAutoscalingPolicyBasicAlgorithmYarnConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.gracefulDecommissionTimeout">gracefulDecommissionTimeout</a></code> | <code>string</code> | Timeout for YARN graceful decommissioning of Node Managers. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.scaleDownFactor">scaleDownFactor</a></code> | <code>number</code> | Fraction of average pending memory in the last cooldown period for which to remove workers. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.scaleUpFactor">scaleUpFactor</a></code> | <code>number</code> | Fraction of average pending memory in the last cooldown period for which to add workers. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.scaleDownMinWorkerFraction">scaleDownMinWorkerFraction</a></code> | <code>number</code> | Minimum scale-down threshold as a fraction of total cluster size before scaling occurs. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.scaleUpMinWorkerFraction">scaleUpMinWorkerFraction</a></code> | <code>number</code> | Minimum scale-up threshold as a fraction of total cluster size before scaling occurs. |

---

##### `gracefulDecommissionTimeout`<sup>Required</sup> <a name="gracefulDecommissionTimeout" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.gracefulDecommissionTimeout"></a>

```typescript
public readonly gracefulDecommissionTimeout: string;
```

- *Type:* string

Timeout for YARN graceful decommissioning of Node Managers.

Specifies the
duration to wait for jobs to complete before forcefully removing workers
(and potentially interrupting jobs). Only applicable to downscaling operations.

Bounds: [0s, 1d].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#graceful_decommission_timeout DataprocAutoscalingPolicy#graceful_decommission_timeout}

---

##### `scaleDownFactor`<sup>Required</sup> <a name="scaleDownFactor" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.scaleDownFactor"></a>

```typescript
public readonly scaleDownFactor: number;
```

- *Type:* number

Fraction of average pending memory in the last cooldown period for which to remove workers.

A scale-down factor of 1 will result in scaling down so that there
is no available memory remaining after the update (more aggressive scaling).
A scale-down factor of 0 disables removing workers, which can be beneficial for
autoscaling a single job.

Bounds: [0.0, 1.0].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#scale_down_factor DataprocAutoscalingPolicy#scale_down_factor}

---

##### `scaleUpFactor`<sup>Required</sup> <a name="scaleUpFactor" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.scaleUpFactor"></a>

```typescript
public readonly scaleUpFactor: number;
```

- *Type:* number

Fraction of average pending memory in the last cooldown period for which to add workers.

A scale-up factor of 1.0 will result in scaling up so that there
is no pending memory remaining after the update (more aggressive scaling).
A scale-up factor closer to 0 will result in a smaller magnitude of scaling up
(less aggressive scaling).

Bounds: [0.0, 1.0].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#scale_up_factor DataprocAutoscalingPolicy#scale_up_factor}

---

##### `scaleDownMinWorkerFraction`<sup>Optional</sup> <a name="scaleDownMinWorkerFraction" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.scaleDownMinWorkerFraction"></a>

```typescript
public readonly scaleDownMinWorkerFraction: number;
```

- *Type:* number

Minimum scale-down threshold as a fraction of total cluster size before scaling occurs.

For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler must
recommend at least a 2 worker scale-down for the cluster to scale. A threshold of 0
means the autoscaler will scale down on any recommended change.

Bounds: [0.0, 1.0]. Default: 0.0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#scale_down_min_worker_fraction DataprocAutoscalingPolicy#scale_down_min_worker_fraction}

---

##### `scaleUpMinWorkerFraction`<sup>Optional</sup> <a name="scaleUpMinWorkerFraction" id="@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithmYarnConfig.property.scaleUpMinWorkerFraction"></a>

```typescript
public readonly scaleUpMinWorkerFraction: number;
```

- *Type:* number

Minimum scale-up threshold as a fraction of total cluster size before scaling occurs.

For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler
must recommend at least a 2-worker scale-up for the cluster to scale. A threshold of
0 means the autoscaler will scale up on any recommended change.

Bounds: [0.0, 1.0]. Default: 0.0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#scale_up_min_worker_fraction DataprocAutoscalingPolicy#scale_up_min_worker_fraction}

---

### DataprocAutoscalingPolicyConfig <a name="DataprocAutoscalingPolicyConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyConfig } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyConfig: DataprocAutoscalingPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.policyId">policyId</a></code> | <code>string</code> | The policy id. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.basicAlgorithm">basicAlgorithm</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm">DataprocAutoscalingPolicyBasicAlgorithm</a></code> | basic_algorithm block. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#id DataprocAutoscalingPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.location">location</a></code> | <code>string</code> | The  location where the autoscaling policy should reside. The default value is 'global'. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#project DataprocAutoscalingPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.secondaryWorkerConfig">secondaryWorkerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig">DataprocAutoscalingPolicySecondaryWorkerConfig</a></code> | secondary_worker_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts">DataprocAutoscalingPolicyTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.workerConfig">workerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig">DataprocAutoscalingPolicyWorkerConfig</a></code> | worker_config block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyId`<sup>Required</sup> <a name="policyId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.policyId"></a>

```typescript
public readonly policyId: string;
```

- *Type:* string

The policy id.

The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_),
and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between
3 and 50 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#policy_id DataprocAutoscalingPolicy#policy_id}

---

##### `basicAlgorithm`<sup>Optional</sup> <a name="basicAlgorithm" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.basicAlgorithm"></a>

```typescript
public readonly basicAlgorithm: DataprocAutoscalingPolicyBasicAlgorithm;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyBasicAlgorithm">DataprocAutoscalingPolicyBasicAlgorithm</a>

basic_algorithm block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#basic_algorithm DataprocAutoscalingPolicy#basic_algorithm}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#id DataprocAutoscalingPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The  location where the autoscaling policy should reside. The default value is 'global'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#location DataprocAutoscalingPolicy#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#project DataprocAutoscalingPolicy#project}.

---

##### `secondaryWorkerConfig`<sup>Optional</sup> <a name="secondaryWorkerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.secondaryWorkerConfig"></a>

```typescript
public readonly secondaryWorkerConfig: DataprocAutoscalingPolicySecondaryWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig">DataprocAutoscalingPolicySecondaryWorkerConfig</a>

secondary_worker_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#secondary_worker_config DataprocAutoscalingPolicy#secondary_worker_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocAutoscalingPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts">DataprocAutoscalingPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#timeouts DataprocAutoscalingPolicy#timeouts}

---

##### `workerConfig`<sup>Optional</sup> <a name="workerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicyConfig.property.workerConfig"></a>

```typescript
public readonly workerConfig: DataprocAutoscalingPolicyWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig">DataprocAutoscalingPolicyWorkerConfig</a>

worker_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#worker_config DataprocAutoscalingPolicy#worker_config}

---

### DataprocAutoscalingPolicyIamBindingCondition <a name="DataprocAutoscalingPolicyIamBindingCondition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyIamBindingCondition } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyIamBindingCondition: DataprocAutoscalingPolicyIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#expression DataprocAutoscalingPolicyIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#title DataprocAutoscalingPolicyIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#description DataprocAutoscalingPolicyIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#expression DataprocAutoscalingPolicyIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#title DataprocAutoscalingPolicyIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#description DataprocAutoscalingPolicyIamBinding#description}.

---

### DataprocAutoscalingPolicyIamBindingConfig <a name="DataprocAutoscalingPolicyIamBindingConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyIamBindingConfig } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyIamBindingConfig: DataprocAutoscalingPolicyIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#members DataprocAutoscalingPolicyIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.policyId">policyId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#policy_id DataprocAutoscalingPolicyIamBinding#policy_id}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#role DataprocAutoscalingPolicyIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition">DataprocAutoscalingPolicyIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#id DataprocAutoscalingPolicyIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#location DataprocAutoscalingPolicyIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#project DataprocAutoscalingPolicyIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#members DataprocAutoscalingPolicyIamBinding#members}.

---

##### `policyId`<sup>Required</sup> <a name="policyId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.policyId"></a>

```typescript
public readonly policyId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#policy_id DataprocAutoscalingPolicyIamBinding#policy_id}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#role DataprocAutoscalingPolicyIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: DataprocAutoscalingPolicyIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingCondition">DataprocAutoscalingPolicyIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#condition DataprocAutoscalingPolicyIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#id DataprocAutoscalingPolicyIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#location DataprocAutoscalingPolicyIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_binding#project DataprocAutoscalingPolicyIamBinding#project}.

---

### DataprocAutoscalingPolicyIamMemberCondition <a name="DataprocAutoscalingPolicyIamMemberCondition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyIamMemberCondition } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyIamMemberCondition: DataprocAutoscalingPolicyIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#expression DataprocAutoscalingPolicyIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#title DataprocAutoscalingPolicyIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#description DataprocAutoscalingPolicyIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#expression DataprocAutoscalingPolicyIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#title DataprocAutoscalingPolicyIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#description DataprocAutoscalingPolicyIamMember#description}.

---

### DataprocAutoscalingPolicyIamMemberConfig <a name="DataprocAutoscalingPolicyIamMemberConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyIamMemberConfig } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyIamMemberConfig: DataprocAutoscalingPolicyIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#member DataprocAutoscalingPolicyIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.policyId">policyId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#policy_id DataprocAutoscalingPolicyIamMember#policy_id}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#role DataprocAutoscalingPolicyIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition">DataprocAutoscalingPolicyIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#id DataprocAutoscalingPolicyIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#location DataprocAutoscalingPolicyIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#project DataprocAutoscalingPolicyIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#member DataprocAutoscalingPolicyIamMember#member}.

---

##### `policyId`<sup>Required</sup> <a name="policyId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.policyId"></a>

```typescript
public readonly policyId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#policy_id DataprocAutoscalingPolicyIamMember#policy_id}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#role DataprocAutoscalingPolicyIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: DataprocAutoscalingPolicyIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberCondition">DataprocAutoscalingPolicyIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#condition DataprocAutoscalingPolicyIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#id DataprocAutoscalingPolicyIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#location DataprocAutoscalingPolicyIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_member#project DataprocAutoscalingPolicyIamMember#project}.

---

### DataprocAutoscalingPolicyIamPolicyConfig <a name="DataprocAutoscalingPolicyIamPolicyConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyIamPolicyConfig } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyIamPolicyConfig: DataprocAutoscalingPolicyIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#policy_data DataprocAutoscalingPolicyIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.policyId">policyId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#policy_id DataprocAutoscalingPolicyIamPolicy#policy_id}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#id DataprocAutoscalingPolicyIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#location DataprocAutoscalingPolicyIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#project DataprocAutoscalingPolicyIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#policy_data DataprocAutoscalingPolicyIamPolicy#policy_data}.

---

##### `policyId`<sup>Required</sup> <a name="policyId" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.policyId"></a>

```typescript
public readonly policyId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#policy_id DataprocAutoscalingPolicyIamPolicy#policy_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#id DataprocAutoscalingPolicyIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#location DataprocAutoscalingPolicyIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocAutoscalingPolicyIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy_iam_policy#project DataprocAutoscalingPolicyIamPolicy#project}.

---

### DataprocAutoscalingPolicySecondaryWorkerConfig <a name="DataprocAutoscalingPolicySecondaryWorkerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicySecondaryWorkerConfig } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicySecondaryWorkerConfig: DataprocAutoscalingPolicySecondaryWorkerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig.property.maxInstances">maxInstances</a></code> | <code>number</code> | Maximum number of instances for this group. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig.property.minInstances">minInstances</a></code> | <code>number</code> | Minimum number of instances for this group. Bounds: [0, maxInstances]. Defaults to 0. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig.property.weight">weight</a></code> | <code>number</code> | Weight for the instance group, which is used to determine the fraction of total workers in the cluster from this instance group. |

---

##### `maxInstances`<sup>Optional</sup> <a name="maxInstances" id="@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig.property.maxInstances"></a>

```typescript
public readonly maxInstances: number;
```

- *Type:* number

Maximum number of instances for this group.

Note that by default, clusters will not use
secondary workers. Required for secondary workers if the minimum secondary instances is set.
Bounds: [minInstances, ). Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#max_instances DataprocAutoscalingPolicy#max_instances}

---

##### `minInstances`<sup>Optional</sup> <a name="minInstances" id="@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig.property.minInstances"></a>

```typescript
public readonly minInstances: number;
```

- *Type:* number

Minimum number of instances for this group. Bounds: [0, maxInstances]. Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#min_instances DataprocAutoscalingPolicy#min_instances}

---

##### `weight`<sup>Optional</sup> <a name="weight" id="@dschmidt/provider-google.DataprocAutoscalingPolicySecondaryWorkerConfig.property.weight"></a>

```typescript
public readonly weight: number;
```

- *Type:* number

Weight for the instance group, which is used to determine the fraction of total workers in the cluster from this instance group.

For example, if primary workers have weight 2,
and secondary workers have weight 1, the cluster will have approximately 2 primary workers
for each secondary worker.

The cluster may not reach the specified balance if constrained by min/max bounds or other
autoscaling settings. For example, if maxInstances for secondary workers is 0, then only
primary workers will be added. The cluster can also be out of balance when created.

If weight is not set on any instance group, the cluster will default to equal weight for
all groups: the cluster will attempt to maintain an equal number of workers in each group
within the configured size bounds for each group. If weight is set for one group only,
the cluster will default to zero weight on the unset group. For example if weight is set
only on primary workers, the cluster will use primary workers only and no secondary workers.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#weight DataprocAutoscalingPolicy#weight}

---

### DataprocAutoscalingPolicyTimeouts <a name="DataprocAutoscalingPolicyTimeouts" id="@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyTimeouts } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyTimeouts: DataprocAutoscalingPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#create DataprocAutoscalingPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#delete DataprocAutoscalingPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#update DataprocAutoscalingPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#create DataprocAutoscalingPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#delete DataprocAutoscalingPolicy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataprocAutoscalingPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#update DataprocAutoscalingPolicy#update}.

---

### DataprocAutoscalingPolicyWorkerConfig <a name="DataprocAutoscalingPolicyWorkerConfig" id="@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig.Initializer"></a>

```typescript
import { DataprocAutoscalingPolicyWorkerConfig } from '@dschmidt/provider-google'

const dataprocAutoscalingPolicyWorkerConfig: DataprocAutoscalingPolicyWorkerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig.property.maxInstances">maxInstances</a></code> | <code>number</code> | Maximum number of instances for this group. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig.property.minInstances">minInstances</a></code> | <code>number</code> | Minimum number of instances for this group. Bounds: [2, maxInstances]. Defaults to 2. |
| <code><a href="#@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig.property.weight">weight</a></code> | <code>number</code> | Weight for the instance group, which is used to determine the fraction of total workers in the cluster from this instance group. |

---

##### `maxInstances`<sup>Required</sup> <a name="maxInstances" id="@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig.property.maxInstances"></a>

```typescript
public readonly maxInstances: number;
```

- *Type:* number

Maximum number of instances for this group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#max_instances DataprocAutoscalingPolicy#max_instances}

---

##### `minInstances`<sup>Optional</sup> <a name="minInstances" id="@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig.property.minInstances"></a>

```typescript
public readonly minInstances: number;
```

- *Type:* number

Minimum number of instances for this group. Bounds: [2, maxInstances]. Defaults to 2.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#min_instances DataprocAutoscalingPolicy#min_instances}

---

##### `weight`<sup>Optional</sup> <a name="weight" id="@dschmidt/provider-google.DataprocAutoscalingPolicyWorkerConfig.property.weight"></a>

```typescript
public readonly weight: number;
```

- *Type:* number

Weight for the instance group, which is used to determine the fraction of total workers in the cluster from this instance group.

For example, if primary workers have weight 2,
and secondary workers have weight 1, the cluster will have approximately 2 primary workers
for each secondary worker.

The cluster may not reach the specified balance if constrained by min/max bounds or other
autoscaling settings. For example, if maxInstances for secondary workers is 0, then only
primary workers will be added. The cluster can also be out of balance when created.

If weight is not set on any instance group, the cluster will default to equal weight for
all groups: the cluster will attempt to maintain an equal number of workers in each group
within the configured size bounds for each group. If weight is set for one group only,
the cluster will default to zero weight on the unset group. For example if weight is set
only on primary workers, the cluster will use primary workers only and no secondary workers.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_autoscaling_policy#weight DataprocAutoscalingPolicy#weight}

---

### DataprocClusterClusterConfig <a name="DataprocClusterClusterConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfig: DataprocClusterClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.autoscalingConfig">autoscalingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigAutoscalingConfig">DataprocClusterClusterConfigAutoscalingConfig</a></code> | autoscaling_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.encryptionConfig">encryptionConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigEncryptionConfig">DataprocClusterClusterConfigEncryptionConfig</a></code> | encryption_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.endpointConfig">endpointConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigEndpointConfig">DataprocClusterClusterConfigEndpointConfig</a></code> | endpoint_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.gceClusterConfig">gceClusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig">DataprocClusterClusterConfigGceClusterConfig</a></code> | gce_cluster_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.initializationAction">initializationAction</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigInitializationAction">DataprocClusterClusterConfigInitializationAction</a>[]</code> | initialization_action block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.lifecycleConfig">lifecycleConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigLifecycleConfig">DataprocClusterClusterConfigLifecycleConfig</a></code> | lifecycle_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.masterConfig">masterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig">DataprocClusterClusterConfigMasterConfig</a></code> | master_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.metastoreConfig">metastoreConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMetastoreConfig">DataprocClusterClusterConfigMetastoreConfig</a></code> | metastore_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.preemptibleWorkerConfig">preemptibleWorkerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig">DataprocClusterClusterConfigPreemptibleWorkerConfig</a></code> | preemptible_worker_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.securityConfig">securityConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfig">DataprocClusterClusterConfigSecurityConfig</a></code> | security_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.softwareConfig">softwareConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig">DataprocClusterClusterConfigSoftwareConfig</a></code> | software_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.stagingBucket">stagingBucket</a></code> | <code>string</code> | The Cloud Storage staging bucket used to stage files, such as Hadoop jars, between client machines and the cluster. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.tempBucket">tempBucket</a></code> | <code>string</code> | The Cloud Storage temp bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig.property.workerConfig">workerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig">DataprocClusterClusterConfigWorkerConfig</a></code> | worker_config block. |

---

##### `autoscalingConfig`<sup>Optional</sup> <a name="autoscalingConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.autoscalingConfig"></a>

```typescript
public readonly autoscalingConfig: DataprocClusterClusterConfigAutoscalingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigAutoscalingConfig">DataprocClusterClusterConfigAutoscalingConfig</a>

autoscaling_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#autoscaling_config DataprocCluster#autoscaling_config}

---

##### `encryptionConfig`<sup>Optional</sup> <a name="encryptionConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.encryptionConfig"></a>

```typescript
public readonly encryptionConfig: DataprocClusterClusterConfigEncryptionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigEncryptionConfig">DataprocClusterClusterConfigEncryptionConfig</a>

encryption_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#encryption_config DataprocCluster#encryption_config}

---

##### `endpointConfig`<sup>Optional</sup> <a name="endpointConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.endpointConfig"></a>

```typescript
public readonly endpointConfig: DataprocClusterClusterConfigEndpointConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigEndpointConfig">DataprocClusterClusterConfigEndpointConfig</a>

endpoint_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#endpoint_config DataprocCluster#endpoint_config}

---

##### `gceClusterConfig`<sup>Optional</sup> <a name="gceClusterConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.gceClusterConfig"></a>

```typescript
public readonly gceClusterConfig: DataprocClusterClusterConfigGceClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig">DataprocClusterClusterConfigGceClusterConfig</a>

gce_cluster_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#gce_cluster_config DataprocCluster#gce_cluster_config}

---

##### `initializationAction`<sup>Optional</sup> <a name="initializationAction" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.initializationAction"></a>

```typescript
public readonly initializationAction: IResolvable | DataprocClusterClusterConfigInitializationAction[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigInitializationAction">DataprocClusterClusterConfigInitializationAction</a>[]

initialization_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#initialization_action DataprocCluster#initialization_action}

---

##### `lifecycleConfig`<sup>Optional</sup> <a name="lifecycleConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.lifecycleConfig"></a>

```typescript
public readonly lifecycleConfig: DataprocClusterClusterConfigLifecycleConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigLifecycleConfig">DataprocClusterClusterConfigLifecycleConfig</a>

lifecycle_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#lifecycle_config DataprocCluster#lifecycle_config}

---

##### `masterConfig`<sup>Optional</sup> <a name="masterConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.masterConfig"></a>

```typescript
public readonly masterConfig: DataprocClusterClusterConfigMasterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig">DataprocClusterClusterConfigMasterConfig</a>

master_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#master_config DataprocCluster#master_config}

---

##### `metastoreConfig`<sup>Optional</sup> <a name="metastoreConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.metastoreConfig"></a>

```typescript
public readonly metastoreConfig: DataprocClusterClusterConfigMetastoreConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMetastoreConfig">DataprocClusterClusterConfigMetastoreConfig</a>

metastore_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#metastore_config DataprocCluster#metastore_config}

---

##### `preemptibleWorkerConfig`<sup>Optional</sup> <a name="preemptibleWorkerConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.preemptibleWorkerConfig"></a>

```typescript
public readonly preemptibleWorkerConfig: DataprocClusterClusterConfigPreemptibleWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig">DataprocClusterClusterConfigPreemptibleWorkerConfig</a>

preemptible_worker_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#preemptible_worker_config DataprocCluster#preemptible_worker_config}

---

##### `securityConfig`<sup>Optional</sup> <a name="securityConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.securityConfig"></a>

```typescript
public readonly securityConfig: DataprocClusterClusterConfigSecurityConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfig">DataprocClusterClusterConfigSecurityConfig</a>

security_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#security_config DataprocCluster#security_config}

---

##### `softwareConfig`<sup>Optional</sup> <a name="softwareConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.softwareConfig"></a>

```typescript
public readonly softwareConfig: DataprocClusterClusterConfigSoftwareConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig">DataprocClusterClusterConfigSoftwareConfig</a>

software_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#software_config DataprocCluster#software_config}

---

##### `stagingBucket`<sup>Optional</sup> <a name="stagingBucket" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.stagingBucket"></a>

```typescript
public readonly stagingBucket: string;
```

- *Type:* string

The Cloud Storage staging bucket used to stage files, such as Hadoop jars, between client machines and the cluster.

Note: If you don't explicitly specify a staging_bucket then GCP will auto create / assign one for you. However, you are not guaranteed an auto generated bucket which is solely dedicated to your cluster; it may be shared with other clusters in the same region/zone also choosing to use the auto generation option.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#staging_bucket DataprocCluster#staging_bucket}

---

##### `tempBucket`<sup>Optional</sup> <a name="tempBucket" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.tempBucket"></a>

```typescript
public readonly tempBucket: string;
```

- *Type:* string

The Cloud Storage temp bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files.

Note: If you don't explicitly specify a temp_bucket then GCP will auto create / assign one for you.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#temp_bucket DataprocCluster#temp_bucket}

---

##### `workerConfig`<sup>Optional</sup> <a name="workerConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfig.property.workerConfig"></a>

```typescript
public readonly workerConfig: DataprocClusterClusterConfigWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig">DataprocClusterClusterConfigWorkerConfig</a>

worker_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#worker_config DataprocCluster#worker_config}

---

### DataprocClusterClusterConfigAutoscalingConfig <a name="DataprocClusterClusterConfigAutoscalingConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigAutoscalingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigAutoscalingConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigAutoscalingConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigAutoscalingConfig: DataprocClusterClusterConfigAutoscalingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigAutoscalingConfig.property.policyUri">policyUri</a></code> | <code>string</code> | The autoscaling policy used by the cluster. |

---

##### `policyUri`<sup>Required</sup> <a name="policyUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigAutoscalingConfig.property.policyUri"></a>

```typescript
public readonly policyUri: string;
```

- *Type:* string

The autoscaling policy used by the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#policy_uri DataprocCluster#policy_uri}

---

### DataprocClusterClusterConfigEncryptionConfig <a name="DataprocClusterClusterConfigEncryptionConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigEncryptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigEncryptionConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigEncryptionConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigEncryptionConfig: DataprocClusterClusterConfigEncryptionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigEncryptionConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | The Cloud KMS key name to use for PD disk encryption for all instances in the cluster. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.DataprocClusterClusterConfigEncryptionConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#kms_key_name DataprocCluster#kms_key_name}

---

### DataprocClusterClusterConfigEndpointConfig <a name="DataprocClusterClusterConfigEndpointConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigEndpointConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigEndpointConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigEndpointConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigEndpointConfig: DataprocClusterClusterConfigEndpointConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigEndpointConfig.property.enableHttpPortAccess">enableHttpPortAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | The flag to enable http access to specific ports on the cluster from external sources (aka Component Gateway). |

---

##### `enableHttpPortAccess`<sup>Required</sup> <a name="enableHttpPortAccess" id="@dschmidt/provider-google.DataprocClusterClusterConfigEndpointConfig.property.enableHttpPortAccess"></a>

```typescript
public readonly enableHttpPortAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The flag to enable http access to specific ports on the cluster from external sources (aka Component Gateway).

Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#enable_http_port_access DataprocCluster#enable_http_port_access}

---

### DataprocClusterClusterConfigGceClusterConfig <a name="DataprocClusterClusterConfigGceClusterConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigGceClusterConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigGceClusterConfig: DataprocClusterClusterConfigGceClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.internalIpOnly">internalIpOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | A map of the Compute Engine metadata entries to add to all instances. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.network">network</a></code> | <code>string</code> | The name or self_link of the Google Compute Engine network to the cluster will be part of. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | The service account to be used by the Node VMs. If not specified, the "default" service account is used. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.serviceAccountScopes">serviceAccountScopes</a></code> | <code>string[]</code> | The set of Google API scopes to be made available on all of the node VMs under the service_account specified. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig">DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig</a></code> | shielded_instance_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | The name or self_link of the Google Compute Engine subnetwork the cluster will be part of. Conflicts with network. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.tags">tags</a></code> | <code>string[]</code> | The list of instance tags applied to instances in the cluster. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.zone">zone</a></code> | <code>string</code> | The GCP zone where your data is stored and used (i.e. where the master and the worker nodes will be created in). If region is set to 'global' (default) then zone is mandatory, otherwise GCP is able to make use of Auto Zone Placement to determine this automatically for you. Note: This setting additionally determines and restricts which computing resources are available for use with other configs such as cluster_config.master_config.machine_type and cluster_config.worker_config.machine_type. |

---

##### `internalIpOnly`<sup>Optional</sup> <a name="internalIpOnly" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.internalIpOnly"></a>

```typescript
public readonly internalIpOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance.

If set to true, all instances in the cluster will only have internal IP addresses. Note: Private Google Access (also known as privateIpGoogleAccess) must be enabled on the subnetwork that the cluster will be launched in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#internal_ip_only DataprocCluster#internal_ip_only}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A map of the Compute Engine metadata entries to add to all instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#metadata DataprocCluster#metadata}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name or self_link of the Google Compute Engine network to the cluster will be part of.

Conflicts with subnetwork. If neither is specified, this defaults to the "default" network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#network DataprocCluster#network}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

The service account to be used by the Node VMs. If not specified, the "default" service account is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#service_account DataprocCluster#service_account}

---

##### `serviceAccountScopes`<sup>Optional</sup> <a name="serviceAccountScopes" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.serviceAccountScopes"></a>

```typescript
public readonly serviceAccountScopes: string[];
```

- *Type:* string[]

The set of Google API scopes to be made available on all of the node VMs under the service_account specified.

These can be either FQDNs, or scope aliases.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#service_account_scopes DataprocCluster#service_account_scopes}

---

##### `shieldedInstanceConfig`<sup>Optional</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig">DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig</a>

shielded_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#shielded_instance_config DataprocCluster#shielded_instance_config}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

The name or self_link of the Google Compute Engine subnetwork the cluster will be part of. Conflicts with network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#subnetwork DataprocCluster#subnetwork}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The list of instance tags applied to instances in the cluster.

Tags are used to identify valid sources or targets for network firewalls.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#tags DataprocCluster#tags}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The GCP zone where your data is stored and used (i.e. where the master and the worker nodes will be created in). If region is set to 'global' (default) then zone is mandatory, otherwise GCP is able to make use of Auto Zone Placement to determine this automatically for you. Note: This setting additionally determines and restricts which computing resources are available for use with other configs such as cluster_config.master_config.machine_type and cluster_config.worker_config.machine_type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#zone DataprocCluster#zone}

---

### DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig <a name="DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig: DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig.property.enableIntegrityMonitoring">enableIntegrityMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether instances have integrity monitoring enabled. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig.property.enableSecureBoot">enableSecureBoot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether instances have Secure Boot enabled. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig.property.enableVtpm">enableVtpm</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether instances have the vTPM enabled. |

---

##### `enableIntegrityMonitoring`<sup>Optional</sup> <a name="enableIntegrityMonitoring" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig.property.enableIntegrityMonitoring"></a>

```typescript
public readonly enableIntegrityMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether instances have integrity monitoring enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#enable_integrity_monitoring DataprocCluster#enable_integrity_monitoring}

---

##### `enableSecureBoot`<sup>Optional</sup> <a name="enableSecureBoot" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig.property.enableSecureBoot"></a>

```typescript
public readonly enableSecureBoot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether instances have Secure Boot enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#enable_secure_boot DataprocCluster#enable_secure_boot}

---

##### `enableVtpm`<sup>Optional</sup> <a name="enableVtpm" id="@dschmidt/provider-google.DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig.property.enableVtpm"></a>

```typescript
public readonly enableVtpm: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether instances have the vTPM enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#enable_vtpm DataprocCluster#enable_vtpm}

---

### DataprocClusterClusterConfigInitializationAction <a name="DataprocClusterClusterConfigInitializationAction" id="@dschmidt/provider-google.DataprocClusterClusterConfigInitializationAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigInitializationAction.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigInitializationAction } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigInitializationAction: DataprocClusterClusterConfigInitializationAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigInitializationAction.property.script">script</a></code> | <code>string</code> | The script to be executed during initialization of the cluster. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigInitializationAction.property.timeoutSec">timeoutSec</a></code> | <code>number</code> | The maximum duration (in seconds) which script is allowed to take to execute its action. |

---

##### `script`<sup>Required</sup> <a name="script" id="@dschmidt/provider-google.DataprocClusterClusterConfigInitializationAction.property.script"></a>

```typescript
public readonly script: string;
```

- *Type:* string

The script to be executed during initialization of the cluster.

The script must be a GCS file with a gs:// prefix.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#script DataprocCluster#script}

---

##### `timeoutSec`<sup>Optional</sup> <a name="timeoutSec" id="@dschmidt/provider-google.DataprocClusterClusterConfigInitializationAction.property.timeoutSec"></a>

```typescript
public readonly timeoutSec: number;
```

- *Type:* number

The maximum duration (in seconds) which script is allowed to take to execute its action.

GCP will default to a predetermined computed value if not set (currently 300).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#timeout_sec DataprocCluster#timeout_sec}

---

### DataprocClusterClusterConfigLifecycleConfig <a name="DataprocClusterClusterConfigLifecycleConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigLifecycleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigLifecycleConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigLifecycleConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigLifecycleConfig: DataprocClusterClusterConfigLifecycleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigLifecycleConfig.property.autoDeleteTime">autoDeleteTime</a></code> | <code>string</code> | The time when cluster will be auto-deleted. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigLifecycleConfig.property.idleDeleteTtl">idleDeleteTtl</a></code> | <code>string</code> | The duration to keep the cluster alive while idling (no jobs running). |

---

##### `autoDeleteTime`<sup>Optional</sup> <a name="autoDeleteTime" id="@dschmidt/provider-google.DataprocClusterClusterConfigLifecycleConfig.property.autoDeleteTime"></a>

```typescript
public readonly autoDeleteTime: string;
```

- *Type:* string

The time when cluster will be auto-deleted. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#auto_delete_time DataprocCluster#auto_delete_time}

---

##### `idleDeleteTtl`<sup>Optional</sup> <a name="idleDeleteTtl" id="@dschmidt/provider-google.DataprocClusterClusterConfigLifecycleConfig.property.idleDeleteTtl"></a>

```typescript
public readonly idleDeleteTtl: string;
```

- *Type:* string

The duration to keep the cluster alive while idling (no jobs running).

After this TTL, the cluster will be deleted. Valid range: [10m, 14d].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#idle_delete_ttl DataprocCluster#idle_delete_ttl}

---

### DataprocClusterClusterConfigMasterConfig <a name="DataprocClusterClusterConfigMasterConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigMasterConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigMasterConfig: DataprocClusterClusterConfigMasterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.accelerators">accelerators</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigAccelerators">DataprocClusterClusterConfigMasterConfigAccelerators</a>[]</code> | accelerators block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.diskConfig">diskConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig">DataprocClusterClusterConfigMasterConfigDiskConfig</a></code> | disk_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.imageUri">imageUri</a></code> | <code>string</code> | The URI for the image to use for this master/worker. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.machineType">machineType</a></code> | <code>string</code> | The name of a Google Compute Engine machine type to create for the master/worker. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | The name of a minimum generation of CPU family for the master/worker. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.numInstances">numInstances</a></code> | <code>number</code> | Specifies the number of master/worker nodes to create. If not specified, GCP will default to a predetermined computed value. |

---

##### `accelerators`<sup>Optional</sup> <a name="accelerators" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.accelerators"></a>

```typescript
public readonly accelerators: IResolvable | DataprocClusterClusterConfigMasterConfigAccelerators[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigAccelerators">DataprocClusterClusterConfigMasterConfigAccelerators</a>[]

accelerators block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#accelerators DataprocCluster#accelerators}

---

##### `diskConfig`<sup>Optional</sup> <a name="diskConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.diskConfig"></a>

```typescript
public readonly diskConfig: DataprocClusterClusterConfigMasterConfigDiskConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig">DataprocClusterClusterConfigMasterConfigDiskConfig</a>

disk_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#disk_config DataprocCluster#disk_config}

---

##### `imageUri`<sup>Optional</sup> <a name="imageUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.imageUri"></a>

```typescript
public readonly imageUri: string;
```

- *Type:* string

The URI for the image to use for this master/worker.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#image_uri DataprocCluster#image_uri}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The name of a Google Compute Engine machine type to create for the master/worker.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#machine_type DataprocCluster#machine_type}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

The name of a minimum generation of CPU family for the master/worker.

If not specified, GCP will default to a predetermined computed value for each zone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#min_cpu_platform DataprocCluster#min_cpu_platform}

---

##### `numInstances`<sup>Optional</sup> <a name="numInstances" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfig.property.numInstances"></a>

```typescript
public readonly numInstances: number;
```

- *Type:* number

Specifies the number of master/worker nodes to create. If not specified, GCP will default to a predetermined computed value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#num_instances DataprocCluster#num_instances}

---

### DataprocClusterClusterConfigMasterConfigAccelerators <a name="DataprocClusterClusterConfigMasterConfigAccelerators" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigAccelerators"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigAccelerators.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigMasterConfigAccelerators } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigMasterConfigAccelerators: DataprocClusterClusterConfigMasterConfigAccelerators = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigAccelerators.property.acceleratorCount">acceleratorCount</a></code> | <code>number</code> | The number of the accelerator cards of this type exposed to this instance. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigAccelerators.property.acceleratorType">acceleratorType</a></code> | <code>string</code> | The short name of the accelerator type to expose to this instance. For example, nvidia-tesla-k80. |

---

##### `acceleratorCount`<sup>Required</sup> <a name="acceleratorCount" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigAccelerators.property.acceleratorCount"></a>

```typescript
public readonly acceleratorCount: number;
```

- *Type:* number

The number of the accelerator cards of this type exposed to this instance.

Often restricted to one of 1, 2, 4, or 8.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#accelerator_count DataprocCluster#accelerator_count}

---

##### `acceleratorType`<sup>Required</sup> <a name="acceleratorType" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigAccelerators.property.acceleratorType"></a>

```typescript
public readonly acceleratorType: string;
```

- *Type:* string

The short name of the accelerator type to expose to this instance. For example, nvidia-tesla-k80.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#accelerator_type DataprocCluster#accelerator_type}

---

### DataprocClusterClusterConfigMasterConfigDiskConfig <a name="DataprocClusterClusterConfigMasterConfigDiskConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigMasterConfigDiskConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigMasterConfigDiskConfig: DataprocClusterClusterConfigMasterConfigDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig.property.bootDiskSizeGb">bootDiskSizeGb</a></code> | <code>number</code> | Size of the primary disk attached to each node, specified in GB. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig.property.bootDiskType">bootDiskType</a></code> | <code>string</code> | The disk type of the primary disk attached to each node. Such as "pd-ssd" or "pd-standard". Defaults to "pd-standard". |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig.property.numLocalSsds">numLocalSsds</a></code> | <code>number</code> | The amount of local SSD disks that will be attached to each master cluster node. Defaults to 0. |

---

##### `bootDiskSizeGb`<sup>Optional</sup> <a name="bootDiskSizeGb" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig.property.bootDiskSizeGb"></a>

```typescript
public readonly bootDiskSizeGb: number;
```

- *Type:* number

Size of the primary disk attached to each node, specified in GB.

The primary disk contains the boot volume and system libraries, and the smallest allowed disk size is 10GB. GCP will default to a predetermined computed value if not set (currently 500GB). Note: If SSDs are not attached, it also contains the HDFS data blocks and Hadoop working directories.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#boot_disk_size_gb DataprocCluster#boot_disk_size_gb}

---

##### `bootDiskType`<sup>Optional</sup> <a name="bootDiskType" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig.property.bootDiskType"></a>

```typescript
public readonly bootDiskType: string;
```

- *Type:* string

The disk type of the primary disk attached to each node. Such as "pd-ssd" or "pd-standard". Defaults to "pd-standard".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#boot_disk_type DataprocCluster#boot_disk_type}

---

##### `numLocalSsds`<sup>Optional</sup> <a name="numLocalSsds" id="@dschmidt/provider-google.DataprocClusterClusterConfigMasterConfigDiskConfig.property.numLocalSsds"></a>

```typescript
public readonly numLocalSsds: number;
```

- *Type:* number

The amount of local SSD disks that will be attached to each master cluster node. Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#num_local_ssds DataprocCluster#num_local_ssds}

---

### DataprocClusterClusterConfigMetastoreConfig <a name="DataprocClusterClusterConfigMetastoreConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigMetastoreConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigMetastoreConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigMetastoreConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigMetastoreConfig: DataprocClusterClusterConfigMetastoreConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigMetastoreConfig.property.dataprocMetastoreService">dataprocMetastoreService</a></code> | <code>string</code> | Resource name of an existing Dataproc Metastore service. |

---

##### `dataprocMetastoreService`<sup>Required</sup> <a name="dataprocMetastoreService" id="@dschmidt/provider-google.DataprocClusterClusterConfigMetastoreConfig.property.dataprocMetastoreService"></a>

```typescript
public readonly dataprocMetastoreService: string;
```

- *Type:* string

Resource name of an existing Dataproc Metastore service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#dataproc_metastore_service DataprocCluster#dataproc_metastore_service}

---

### DataprocClusterClusterConfigPreemptibleWorkerConfig <a name="DataprocClusterClusterConfigPreemptibleWorkerConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigPreemptibleWorkerConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigPreemptibleWorkerConfig: DataprocClusterClusterConfigPreemptibleWorkerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig.property.diskConfig">diskConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig">DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig</a></code> | disk_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig.property.numInstances">numInstances</a></code> | <code>number</code> | Specifies the number of preemptible nodes to create. Defaults to 0. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig.property.preemptibility">preemptibility</a></code> | <code>string</code> | Specifies the preemptibility of the secondary nodes. Defaults to PREEMPTIBLE. |

---

##### `diskConfig`<sup>Optional</sup> <a name="diskConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig.property.diskConfig"></a>

```typescript
public readonly diskConfig: DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig">DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig</a>

disk_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#disk_config DataprocCluster#disk_config}

---

##### `numInstances`<sup>Optional</sup> <a name="numInstances" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig.property.numInstances"></a>

```typescript
public readonly numInstances: number;
```

- *Type:* number

Specifies the number of preemptible nodes to create. Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#num_instances DataprocCluster#num_instances}

---

##### `preemptibility`<sup>Optional</sup> <a name="preemptibility" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfig.property.preemptibility"></a>

```typescript
public readonly preemptibility: string;
```

- *Type:* string

Specifies the preemptibility of the secondary nodes. Defaults to PREEMPTIBLE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#preemptibility DataprocCluster#preemptibility}

---

### DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig <a name="DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig: DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig.property.bootDiskSizeGb">bootDiskSizeGb</a></code> | <code>number</code> | Size of the primary disk attached to each preemptible worker node, specified in GB. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig.property.bootDiskType">bootDiskType</a></code> | <code>string</code> | The disk type of the primary disk attached to each preemptible worker node. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig.property.numLocalSsds">numLocalSsds</a></code> | <code>number</code> | The amount of local SSD disks that will be attached to each preemptible worker node. Defaults to 0. |

---

##### `bootDiskSizeGb`<sup>Optional</sup> <a name="bootDiskSizeGb" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig.property.bootDiskSizeGb"></a>

```typescript
public readonly bootDiskSizeGb: number;
```

- *Type:* number

Size of the primary disk attached to each preemptible worker node, specified in GB.

The smallest allowed disk size is 10GB. GCP will default to a predetermined computed value if not set (currently 500GB). Note: If SSDs are not attached, it also contains the HDFS data blocks and Hadoop working directories.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#boot_disk_size_gb DataprocCluster#boot_disk_size_gb}

---

##### `bootDiskType`<sup>Optional</sup> <a name="bootDiskType" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig.property.bootDiskType"></a>

```typescript
public readonly bootDiskType: string;
```

- *Type:* string

The disk type of the primary disk attached to each preemptible worker node.

Such as "pd-ssd" or "pd-standard". Defaults to "pd-standard".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#boot_disk_type DataprocCluster#boot_disk_type}

---

##### `numLocalSsds`<sup>Optional</sup> <a name="numLocalSsds" id="@dschmidt/provider-google.DataprocClusterClusterConfigPreemptibleWorkerConfigDiskConfig.property.numLocalSsds"></a>

```typescript
public readonly numLocalSsds: number;
```

- *Type:* number

The amount of local SSD disks that will be attached to each preemptible worker node. Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#num_local_ssds DataprocCluster#num_local_ssds}

---

### DataprocClusterClusterConfigSecurityConfig <a name="DataprocClusterClusterConfigSecurityConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigSecurityConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigSecurityConfig: DataprocClusterClusterConfigSecurityConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfig.property.kerberosConfig">kerberosConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig">DataprocClusterClusterConfigSecurityConfigKerberosConfig</a></code> | kerberos_config block. |

---

##### `kerberosConfig`<sup>Required</sup> <a name="kerberosConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfig.property.kerberosConfig"></a>

```typescript
public readonly kerberosConfig: DataprocClusterClusterConfigSecurityConfigKerberosConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig">DataprocClusterClusterConfigSecurityConfigKerberosConfig</a>

kerberos_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#kerberos_config DataprocCluster#kerberos_config}

---

### DataprocClusterClusterConfigSecurityConfigKerberosConfig <a name="DataprocClusterClusterConfigSecurityConfigKerberosConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigSecurityConfigKerberosConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigSecurityConfigKerberosConfig: DataprocClusterClusterConfigSecurityConfigKerberosConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.kmsKeyUri">kmsKeyUri</a></code> | <code>string</code> | The uri of the KMS key used to encrypt various sensitive files. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.rootPrincipalPasswordUri">rootPrincipalPasswordUri</a></code> | <code>string</code> | The cloud Storage URI of a KMS encrypted file containing the root principal password. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustAdminServer">crossRealmTrustAdminServer</a></code> | <code>string</code> | The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustKdc">crossRealmTrustKdc</a></code> | <code>string</code> | The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustRealm">crossRealmTrustRealm</a></code> | <code>string</code> | The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustSharedPasswordUri">crossRealmTrustSharedPasswordUri</a></code> | <code>string</code> | The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.enableKerberos">enableKerberos</a></code> | <code>boolean \| cdktf.IResolvable</code> | Flag to indicate whether to Kerberize the cluster. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.kdcDbKeyUri">kdcDbKeyUri</a></code> | <code>string</code> | The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.keyPasswordUri">keyPasswordUri</a></code> | <code>string</code> | The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.keystorePasswordUri">keystorePasswordUri</a></code> | <code>string</code> | The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.keystoreUri">keystoreUri</a></code> | <code>string</code> | The Cloud Storage URI of the keystore file used for SSL encryption. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.realm">realm</a></code> | <code>string</code> | The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.tgtLifetimeHours">tgtLifetimeHours</a></code> | <code>number</code> | The lifetime of the ticket granting ticket, in hours. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.truststorePasswordUri">truststorePasswordUri</a></code> | <code>string</code> | The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.truststoreUri">truststoreUri</a></code> | <code>string</code> | The Cloud Storage URI of the truststore file used for SSL encryption. |

---

##### `kmsKeyUri`<sup>Required</sup> <a name="kmsKeyUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.kmsKeyUri"></a>

```typescript
public readonly kmsKeyUri: string;
```

- *Type:* string

The uri of the KMS key used to encrypt various sensitive files.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#kms_key_uri DataprocCluster#kms_key_uri}

---

##### `rootPrincipalPasswordUri`<sup>Required</sup> <a name="rootPrincipalPasswordUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.rootPrincipalPasswordUri"></a>

```typescript
public readonly rootPrincipalPasswordUri: string;
```

- *Type:* string

The cloud Storage URI of a KMS encrypted file containing the root principal password.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#root_principal_password_uri DataprocCluster#root_principal_password_uri}

---

##### `crossRealmTrustAdminServer`<sup>Optional</sup> <a name="crossRealmTrustAdminServer" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustAdminServer"></a>

```typescript
public readonly crossRealmTrustAdminServer: string;
```

- *Type:* string

The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#cross_realm_trust_admin_server DataprocCluster#cross_realm_trust_admin_server}

---

##### `crossRealmTrustKdc`<sup>Optional</sup> <a name="crossRealmTrustKdc" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustKdc"></a>

```typescript
public readonly crossRealmTrustKdc: string;
```

- *Type:* string

The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#cross_realm_trust_kdc DataprocCluster#cross_realm_trust_kdc}

---

##### `crossRealmTrustRealm`<sup>Optional</sup> <a name="crossRealmTrustRealm" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustRealm"></a>

```typescript
public readonly crossRealmTrustRealm: string;
```

- *Type:* string

The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#cross_realm_trust_realm DataprocCluster#cross_realm_trust_realm}

---

##### `crossRealmTrustSharedPasswordUri`<sup>Optional</sup> <a name="crossRealmTrustSharedPasswordUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustSharedPasswordUri"></a>

```typescript
public readonly crossRealmTrustSharedPasswordUri: string;
```

- *Type:* string

The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#cross_realm_trust_shared_password_uri DataprocCluster#cross_realm_trust_shared_password_uri}

---

##### `enableKerberos`<sup>Optional</sup> <a name="enableKerberos" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.enableKerberos"></a>

```typescript
public readonly enableKerberos: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Flag to indicate whether to Kerberize the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#enable_kerberos DataprocCluster#enable_kerberos}

---

##### `kdcDbKeyUri`<sup>Optional</sup> <a name="kdcDbKeyUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.kdcDbKeyUri"></a>

```typescript
public readonly kdcDbKeyUri: string;
```

- *Type:* string

The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#kdc_db_key_uri DataprocCluster#kdc_db_key_uri}

---

##### `keyPasswordUri`<sup>Optional</sup> <a name="keyPasswordUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.keyPasswordUri"></a>

```typescript
public readonly keyPasswordUri: string;
```

- *Type:* string

The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key.

For the self-signed certificate, this password is generated by Dataproc.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#key_password_uri DataprocCluster#key_password_uri}

---

##### `keystorePasswordUri`<sup>Optional</sup> <a name="keystorePasswordUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.keystorePasswordUri"></a>

```typescript
public readonly keystorePasswordUri: string;
```

- *Type:* string

The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore.

For the self-signed certificate, this password is generated
by Dataproc

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#keystore_password_uri DataprocCluster#keystore_password_uri}

---

##### `keystoreUri`<sup>Optional</sup> <a name="keystoreUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.keystoreUri"></a>

```typescript
public readonly keystoreUri: string;
```

- *Type:* string

The Cloud Storage URI of the keystore file used for SSL encryption.

If not provided, Dataproc will provide a self-signed certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#keystore_uri DataprocCluster#keystore_uri}

---

##### `realm`<sup>Optional</sup> <a name="realm" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.realm"></a>

```typescript
public readonly realm: string;
```

- *Type:* string

The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#realm DataprocCluster#realm}

---

##### `tgtLifetimeHours`<sup>Optional</sup> <a name="tgtLifetimeHours" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.tgtLifetimeHours"></a>

```typescript
public readonly tgtLifetimeHours: number;
```

- *Type:* number

The lifetime of the ticket granting ticket, in hours.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#tgt_lifetime_hours DataprocCluster#tgt_lifetime_hours}

---

##### `truststorePasswordUri`<sup>Optional</sup> <a name="truststorePasswordUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.truststorePasswordUri"></a>

```typescript
public readonly truststorePasswordUri: string;
```

- *Type:* string

The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore.

For the self-signed certificate, this password is generated by Dataproc.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#truststore_password_uri DataprocCluster#truststore_password_uri}

---

##### `truststoreUri`<sup>Optional</sup> <a name="truststoreUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigSecurityConfigKerberosConfig.property.truststoreUri"></a>

```typescript
public readonly truststoreUri: string;
```

- *Type:* string

The Cloud Storage URI of the truststore file used for SSL encryption.

If not provided, Dataproc will provide a self-signed certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#truststore_uri DataprocCluster#truststore_uri}

---

### DataprocClusterClusterConfigSoftwareConfig <a name="DataprocClusterClusterConfigSoftwareConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigSoftwareConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigSoftwareConfig: DataprocClusterClusterConfigSoftwareConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig.property.imageVersion">imageVersion</a></code> | <code>string</code> | The Cloud Dataproc image version to use for the cluster - this controls the sets of software versions installed onto the nodes when you create clusters. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig.property.optionalComponents">optionalComponents</a></code> | <code>string[]</code> | The set of optional components to activate on the cluster. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig.property.overrideProperties">overrideProperties</a></code> | <code>{[ key: string ]: string}</code> | A list of override and additional properties (key/value pairs) used to modify various aspects of the common configuration files used when creating a cluster. |

---

##### `imageVersion`<sup>Optional</sup> <a name="imageVersion" id="@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig.property.imageVersion"></a>

```typescript
public readonly imageVersion: string;
```

- *Type:* string

The Cloud Dataproc image version to use for the cluster - this controls the sets of software versions installed onto the nodes when you create clusters.

If not specified, defaults to the latest version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#image_version DataprocCluster#image_version}

---

##### `optionalComponents`<sup>Optional</sup> <a name="optionalComponents" id="@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig.property.optionalComponents"></a>

```typescript
public readonly optionalComponents: string[];
```

- *Type:* string[]

The set of optional components to activate on the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#optional_components DataprocCluster#optional_components}

---

##### `overrideProperties`<sup>Optional</sup> <a name="overrideProperties" id="@dschmidt/provider-google.DataprocClusterClusterConfigSoftwareConfig.property.overrideProperties"></a>

```typescript
public readonly overrideProperties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A list of override and additional properties (key/value pairs) used to modify various aspects of the common configuration files used when creating a cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#override_properties DataprocCluster#override_properties}

---

### DataprocClusterClusterConfigWorkerConfig <a name="DataprocClusterClusterConfigWorkerConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigWorkerConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigWorkerConfig: DataprocClusterClusterConfigWorkerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.accelerators">accelerators</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigAccelerators">DataprocClusterClusterConfigWorkerConfigAccelerators</a>[]</code> | accelerators block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.diskConfig">diskConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig">DataprocClusterClusterConfigWorkerConfigDiskConfig</a></code> | disk_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.imageUri">imageUri</a></code> | <code>string</code> | The URI for the image to use for this master/worker. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.machineType">machineType</a></code> | <code>string</code> | The name of a Google Compute Engine machine type to create for the master/worker. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | The name of a minimum generation of CPU family for the master/worker. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.numInstances">numInstances</a></code> | <code>number</code> | Specifies the number of master/worker nodes to create. If not specified, GCP will default to a predetermined computed value. |

---

##### `accelerators`<sup>Optional</sup> <a name="accelerators" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.accelerators"></a>

```typescript
public readonly accelerators: IResolvable | DataprocClusterClusterConfigWorkerConfigAccelerators[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigAccelerators">DataprocClusterClusterConfigWorkerConfigAccelerators</a>[]

accelerators block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#accelerators DataprocCluster#accelerators}

---

##### `diskConfig`<sup>Optional</sup> <a name="diskConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.diskConfig"></a>

```typescript
public readonly diskConfig: DataprocClusterClusterConfigWorkerConfigDiskConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig">DataprocClusterClusterConfigWorkerConfigDiskConfig</a>

disk_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#disk_config DataprocCluster#disk_config}

---

##### `imageUri`<sup>Optional</sup> <a name="imageUri" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.imageUri"></a>

```typescript
public readonly imageUri: string;
```

- *Type:* string

The URI for the image to use for this master/worker.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#image_uri DataprocCluster#image_uri}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The name of a Google Compute Engine machine type to create for the master/worker.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#machine_type DataprocCluster#machine_type}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

The name of a minimum generation of CPU family for the master/worker.

If not specified, GCP will default to a predetermined computed value for each zone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#min_cpu_platform DataprocCluster#min_cpu_platform}

---

##### `numInstances`<sup>Optional</sup> <a name="numInstances" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfig.property.numInstances"></a>

```typescript
public readonly numInstances: number;
```

- *Type:* number

Specifies the number of master/worker nodes to create. If not specified, GCP will default to a predetermined computed value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#num_instances DataprocCluster#num_instances}

---

### DataprocClusterClusterConfigWorkerConfigAccelerators <a name="DataprocClusterClusterConfigWorkerConfigAccelerators" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigAccelerators"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigAccelerators.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigWorkerConfigAccelerators } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigWorkerConfigAccelerators: DataprocClusterClusterConfigWorkerConfigAccelerators = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigAccelerators.property.acceleratorCount">acceleratorCount</a></code> | <code>number</code> | The number of the accelerator cards of this type exposed to this instance. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigAccelerators.property.acceleratorType">acceleratorType</a></code> | <code>string</code> | The short name of the accelerator type to expose to this instance. For example, nvidia-tesla-k80. |

---

##### `acceleratorCount`<sup>Required</sup> <a name="acceleratorCount" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigAccelerators.property.acceleratorCount"></a>

```typescript
public readonly acceleratorCount: number;
```

- *Type:* number

The number of the accelerator cards of this type exposed to this instance.

Often restricted to one of 1, 2, 4, or 8.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#accelerator_count DataprocCluster#accelerator_count}

---

##### `acceleratorType`<sup>Required</sup> <a name="acceleratorType" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigAccelerators.property.acceleratorType"></a>

```typescript
public readonly acceleratorType: string;
```

- *Type:* string

The short name of the accelerator type to expose to this instance. For example, nvidia-tesla-k80.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#accelerator_type DataprocCluster#accelerator_type}

---

### DataprocClusterClusterConfigWorkerConfigDiskConfig <a name="DataprocClusterClusterConfigWorkerConfigDiskConfig" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig.Initializer"></a>

```typescript
import { DataprocClusterClusterConfigWorkerConfigDiskConfig } from '@dschmidt/provider-google'

const dataprocClusterClusterConfigWorkerConfigDiskConfig: DataprocClusterClusterConfigWorkerConfigDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig.property.bootDiskSizeGb">bootDiskSizeGb</a></code> | <code>number</code> | Size of the primary disk attached to each node, specified in GB. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig.property.bootDiskType">bootDiskType</a></code> | <code>string</code> | The disk type of the primary disk attached to each node. Such as "pd-ssd" or "pd-standard". Defaults to "pd-standard". |
| <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig.property.numLocalSsds">numLocalSsds</a></code> | <code>number</code> | The amount of local SSD disks that will be attached to each master cluster node. Defaults to 0. |

---

##### `bootDiskSizeGb`<sup>Optional</sup> <a name="bootDiskSizeGb" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig.property.bootDiskSizeGb"></a>

```typescript
public readonly bootDiskSizeGb: number;
```

- *Type:* number

Size of the primary disk attached to each node, specified in GB.

The primary disk contains the boot volume and system libraries, and the smallest allowed disk size is 10GB. GCP will default to a predetermined computed value if not set (currently 500GB). Note: If SSDs are not attached, it also contains the HDFS data blocks and Hadoop working directories.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#boot_disk_size_gb DataprocCluster#boot_disk_size_gb}

---

##### `bootDiskType`<sup>Optional</sup> <a name="bootDiskType" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig.property.bootDiskType"></a>

```typescript
public readonly bootDiskType: string;
```

- *Type:* string

The disk type of the primary disk attached to each node. Such as "pd-ssd" or "pd-standard". Defaults to "pd-standard".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#boot_disk_type DataprocCluster#boot_disk_type}

---

##### `numLocalSsds`<sup>Optional</sup> <a name="numLocalSsds" id="@dschmidt/provider-google.DataprocClusterClusterConfigWorkerConfigDiskConfig.property.numLocalSsds"></a>

```typescript
public readonly numLocalSsds: number;
```

- *Type:* number

The amount of local SSD disks that will be attached to each master cluster node. Defaults to 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#num_local_ssds DataprocCluster#num_local_ssds}

---

### DataprocClusterConfig <a name="DataprocClusterConfig" id="@dschmidt/provider-google.DataprocClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterConfig.Initializer"></a>

```typescript
import { DataprocClusterConfig } from '@dschmidt/provider-google'

const dataprocClusterConfig: DataprocClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.name">name</a></code> | <code>string</code> | The name of the cluster, unique within the project and zone. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.clusterConfig">clusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterClusterConfig">DataprocClusterClusterConfig</a></code> | cluster_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.gracefulDecommissionTimeout">gracefulDecommissionTimeout</a></code> | <code>string</code> | The timeout duration which allows graceful decomissioning when you change the number of worker nodes directly through a terraform apply. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#id DataprocCluster#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The list of labels (key/value pairs) to be applied to instances in the cluster. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the cluster will exist. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.region">region</a></code> | <code>string</code> | The region in which the cluster and associated nodes will be created in. Defaults to global. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterTimeouts">DataprocClusterTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterConfig.property.virtualClusterConfig">virtualClusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfig">DataprocClusterVirtualClusterConfig</a></code> | virtual_cluster_config block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocClusterConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocClusterConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocClusterConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocClusterConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocClusterConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocClusterConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocClusterConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataprocClusterConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the cluster, unique within the project and zone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#name DataprocCluster#name}

---

##### `clusterConfig`<sup>Optional</sup> <a name="clusterConfig" id="@dschmidt/provider-google.DataprocClusterConfig.property.clusterConfig"></a>

```typescript
public readonly clusterConfig: DataprocClusterClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterClusterConfig">DataprocClusterClusterConfig</a>

cluster_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#cluster_config DataprocCluster#cluster_config}

---

##### `gracefulDecommissionTimeout`<sup>Optional</sup> <a name="gracefulDecommissionTimeout" id="@dschmidt/provider-google.DataprocClusterConfig.property.gracefulDecommissionTimeout"></a>

```typescript
public readonly gracefulDecommissionTimeout: string;
```

- *Type:* string

The timeout duration which allows graceful decomissioning when you change the number of worker nodes directly through a terraform apply.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#graceful_decommission_timeout DataprocCluster#graceful_decommission_timeout}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#id DataprocCluster#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataprocClusterConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The list of labels (key/value pairs) to be applied to instances in the cluster.

GCP generates some itself including goog-dataproc-cluster-name which is the name of the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#labels DataprocCluster#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocClusterConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the cluster will exist.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#project DataprocCluster#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataprocClusterConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region in which the cluster and associated nodes will be created in. Defaults to global.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#region DataprocCluster#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocClusterConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocClusterTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterTimeouts">DataprocClusterTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#timeouts DataprocCluster#timeouts}

---

##### `virtualClusterConfig`<sup>Optional</sup> <a name="virtualClusterConfig" id="@dschmidt/provider-google.DataprocClusterConfig.property.virtualClusterConfig"></a>

```typescript
public readonly virtualClusterConfig: DataprocClusterVirtualClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfig">DataprocClusterVirtualClusterConfig</a>

virtual_cluster_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#virtual_cluster_config DataprocCluster#virtual_cluster_config}

---

### DataprocClusterIamBindingCondition <a name="DataprocClusterIamBindingCondition" id="@dschmidt/provider-google.DataprocClusterIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterIamBindingCondition.Initializer"></a>

```typescript
import { DataprocClusterIamBindingCondition } from '@dschmidt/provider-google'

const dataprocClusterIamBindingCondition: DataprocClusterIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#expression DataprocClusterIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#title DataprocClusterIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#description DataprocClusterIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataprocClusterIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#expression DataprocClusterIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataprocClusterIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#title DataprocClusterIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataprocClusterIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#description DataprocClusterIamBinding#description}.

---

### DataprocClusterIamBindingConfig <a name="DataprocClusterIamBindingConfig" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.Initializer"></a>

```typescript
import { DataprocClusterIamBindingConfig } from '@dschmidt/provider-google'

const dataprocClusterIamBindingConfig: DataprocClusterIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.cluster">cluster</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#cluster DataprocClusterIamBinding#cluster}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#members DataprocClusterIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#role DataprocClusterIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingCondition">DataprocClusterIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#id DataprocClusterIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#project DataprocClusterIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#region DataprocClusterIamBinding#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#cluster DataprocClusterIamBinding#cluster}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#members DataprocClusterIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#role DataprocClusterIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: DataprocClusterIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamBindingCondition">DataprocClusterIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#condition DataprocClusterIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#id DataprocClusterIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#project DataprocClusterIamBinding#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataprocClusterIamBindingConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_binding#region DataprocClusterIamBinding#region}.

---

### DataprocClusterIamMemberCondition <a name="DataprocClusterIamMemberCondition" id="@dschmidt/provider-google.DataprocClusterIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterIamMemberCondition.Initializer"></a>

```typescript
import { DataprocClusterIamMemberCondition } from '@dschmidt/provider-google'

const dataprocClusterIamMemberCondition: DataprocClusterIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#expression DataprocClusterIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#title DataprocClusterIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#description DataprocClusterIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataprocClusterIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#expression DataprocClusterIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataprocClusterIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#title DataprocClusterIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataprocClusterIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#description DataprocClusterIamMember#description}.

---

### DataprocClusterIamMemberConfig <a name="DataprocClusterIamMemberConfig" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.Initializer"></a>

```typescript
import { DataprocClusterIamMemberConfig } from '@dschmidt/provider-google'

const dataprocClusterIamMemberConfig: DataprocClusterIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.cluster">cluster</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#cluster DataprocClusterIamMember#cluster}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#member DataprocClusterIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#role DataprocClusterIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberCondition">DataprocClusterIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#id DataprocClusterIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#project DataprocClusterIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#region DataprocClusterIamMember#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#cluster DataprocClusterIamMember#cluster}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#member DataprocClusterIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#role DataprocClusterIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: DataprocClusterIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterIamMemberCondition">DataprocClusterIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#condition DataprocClusterIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#id DataprocClusterIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#project DataprocClusterIamMember#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataprocClusterIamMemberConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_member#region DataprocClusterIamMember#region}.

---

### DataprocClusterIamPolicyConfig <a name="DataprocClusterIamPolicyConfig" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.Initializer"></a>

```typescript
import { DataprocClusterIamPolicyConfig } from '@dschmidt/provider-google'

const dataprocClusterIamPolicyConfig: DataprocClusterIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.cluster">cluster</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#cluster DataprocClusterIamPolicy#cluster}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#policy_data DataprocClusterIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#id DataprocClusterIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#project DataprocClusterIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#region DataprocClusterIamPolicy#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#cluster DataprocClusterIamPolicy#cluster}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#policy_data DataprocClusterIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#id DataprocClusterIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#project DataprocClusterIamPolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataprocClusterIamPolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster_iam_policy#region DataprocClusterIamPolicy#region}.

---

### DataprocClusterTimeouts <a name="DataprocClusterTimeouts" id="@dschmidt/provider-google.DataprocClusterTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterTimeouts.Initializer"></a>

```typescript
import { DataprocClusterTimeouts } from '@dschmidt/provider-google'

const dataprocClusterTimeouts: DataprocClusterTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#create DataprocCluster#create}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#delete DataprocCluster#delete}. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#update DataprocCluster#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataprocClusterTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#create DataprocCluster#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataprocClusterTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#delete DataprocCluster#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataprocClusterTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#update DataprocCluster#update}.

---

### DataprocClusterVirtualClusterConfig <a name="DataprocClusterVirtualClusterConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfig.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfig } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfig: DataprocClusterVirtualClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfig.property.auxiliaryServicesConfig">auxiliaryServicesConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig">DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig</a></code> | auxiliary_services_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfig.property.kubernetesClusterConfig">kubernetesClusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfig</a></code> | kubernetes_cluster_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfig.property.stagingBucket">stagingBucket</a></code> | <code>string</code> | A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. |

---

##### `auxiliaryServicesConfig`<sup>Optional</sup> <a name="auxiliaryServicesConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfig.property.auxiliaryServicesConfig"></a>

```typescript
public readonly auxiliaryServicesConfig: DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig">DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig</a>

auxiliary_services_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#auxiliary_services_config DataprocCluster#auxiliary_services_config}

---

##### `kubernetesClusterConfig`<sup>Optional</sup> <a name="kubernetesClusterConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfig.property.kubernetesClusterConfig"></a>

```typescript
public readonly kubernetesClusterConfig: DataprocClusterVirtualClusterConfigKubernetesClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfig</a>

kubernetes_cluster_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#kubernetes_cluster_config DataprocCluster#kubernetes_cluster_config}

---

##### `stagingBucket`<sup>Optional</sup> <a name="stagingBucket" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfig.property.stagingBucket"></a>

```typescript
public readonly stagingBucket: string;
```

- *Type:* string

A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output.

If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#staging_bucket DataprocCluster#staging_bucket}

---

### DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig <a name="DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigAuxiliaryServicesConfig: DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig.property.metastoreConfig">metastoreConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig">DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig</a></code> | metastore_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig.property.sparkHistoryServerConfig">sparkHistoryServerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig">DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig</a></code> | spark_history_server_config block. |

---

##### `metastoreConfig`<sup>Optional</sup> <a name="metastoreConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig.property.metastoreConfig"></a>

```typescript
public readonly metastoreConfig: DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig">DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig</a>

metastore_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#metastore_config DataprocCluster#metastore_config}

---

##### `sparkHistoryServerConfig`<sup>Optional</sup> <a name="sparkHistoryServerConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig.property.sparkHistoryServerConfig"></a>

```typescript
public readonly sparkHistoryServerConfig: DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig">DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig</a>

spark_history_server_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#spark_history_server_config DataprocCluster#spark_history_server_config}

---

### DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig <a name="DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig: DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig.property.dataprocMetastoreService">dataprocMetastoreService</a></code> | <code>string</code> | The Hive Metastore configuration for this workload. |

---

##### `dataprocMetastoreService`<sup>Optional</sup> <a name="dataprocMetastoreService" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig.property.dataprocMetastoreService"></a>

```typescript
public readonly dataprocMetastoreService: string;
```

- *Type:* string

The Hive Metastore configuration for this workload.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#dataproc_metastore_service DataprocCluster#dataproc_metastore_service}

---

### DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig <a name="DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig: DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig.property.dataprocCluster">dataprocCluster</a></code> | <code>string</code> | Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload. |

---

##### `dataprocCluster`<sup>Optional</sup> <a name="dataprocCluster" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig.property.dataprocCluster"></a>

```typescript
public readonly dataprocCluster: string;
```

- *Type:* string

Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#dataproc_cluster DataprocCluster#dataproc_cluster}

---

### DataprocClusterVirtualClusterConfigKubernetesClusterConfig <a name="DataprocClusterVirtualClusterConfigKubernetesClusterConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigKubernetesClusterConfig } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigKubernetesClusterConfig: DataprocClusterVirtualClusterConfigKubernetesClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig.property.gkeClusterConfig">gkeClusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig</a></code> | gke_cluster_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig.property.kubernetesSoftwareConfig">kubernetesSoftwareConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig</a></code> | kubernetes_software_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig.property.kubernetesNamespace">kubernetesNamespace</a></code> | <code>string</code> | A namespace within the Kubernetes cluster to deploy into. |

---

##### `gkeClusterConfig`<sup>Required</sup> <a name="gkeClusterConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig.property.gkeClusterConfig"></a>

```typescript
public readonly gkeClusterConfig: DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig</a>

gke_cluster_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#gke_cluster_config DataprocCluster#gke_cluster_config}

---

##### `kubernetesSoftwareConfig`<sup>Required</sup> <a name="kubernetesSoftwareConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig.property.kubernetesSoftwareConfig"></a>

```typescript
public readonly kubernetesSoftwareConfig: DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig</a>

kubernetes_software_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#kubernetes_software_config DataprocCluster#kubernetes_software_config}

---

##### `kubernetesNamespace`<sup>Optional</sup> <a name="kubernetesNamespace" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfig.property.kubernetesNamespace"></a>

```typescript
public readonly kubernetesNamespace: string;
```

- *Type:* string

A namespace within the Kubernetes cluster to deploy into.

If this namespace does not exist, it is created. If it exists, Dataproc verifies that another Dataproc VirtualCluster is not installed into it. If not specified, the name of the Dataproc Cluster is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#kubernetes_namespace DataprocCluster#kubernetes_namespace}

---

### DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig <a name="DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig: DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.property.gkeClusterTarget">gkeClusterTarget</a></code> | <code>string</code> | A target GKE cluster to deploy to. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.property.nodePoolTarget">nodePoolTarget</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget</a>[]</code> | node_pool_target block. |

---

##### `gkeClusterTarget`<sup>Optional</sup> <a name="gkeClusterTarget" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.property.gkeClusterTarget"></a>

```typescript
public readonly gkeClusterTarget: string;
```

- *Type:* string

A target GKE cluster to deploy to.

It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#gke_cluster_target DataprocCluster#gke_cluster_target}

---

##### `nodePoolTarget`<sup>Optional</sup> <a name="nodePoolTarget" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.property.nodePoolTarget"></a>

```typescript
public readonly nodePoolTarget: IResolvable | DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget</a>[]

node_pool_target block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#node_pool_target DataprocCluster#node_pool_target}

---

### DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget <a name="DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget: DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget.property.nodePool">nodePool</a></code> | <code>string</code> | The target GKE node pool. Format: 'projects/{project}/locations/{location}/clusters/{cluster}/nodePools/{nodePool}'. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget.property.roles">roles</a></code> | <code>string[]</code> | The roles associated with the GKE node pool. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget.property.nodePoolConfig">nodePoolConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig</a></code> | node_pool_config block. |

---

##### `nodePool`<sup>Required</sup> <a name="nodePool" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget.property.nodePool"></a>

```typescript
public readonly nodePool: string;
```

- *Type:* string

The target GKE node pool. Format: 'projects/{project}/locations/{location}/clusters/{cluster}/nodePools/{nodePool}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#node_pool DataprocCluster#node_pool}

---

##### `roles`<sup>Required</sup> <a name="roles" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget.property.roles"></a>

```typescript
public readonly roles: string[];
```

- *Type:* string[]

The roles associated with the GKE node pool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#roles DataprocCluster#roles}

---

##### `nodePoolConfig`<sup>Optional</sup> <a name="nodePoolConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget.property.nodePoolConfig"></a>

```typescript
public readonly nodePoolConfig: DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig</a>

node_pool_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#node_pool_config DataprocCluster#node_pool_config}

---

### DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig <a name="DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig: DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.property.locations">locations</a></code> | <code>string[]</code> | The list of Compute Engine zones where node pool nodes associated with a Dataproc on GKE virtual cluster will be located. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.property.autoscaling">autoscaling</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling</a></code> | autoscaling block. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig</a></code> | config block. |

---

##### `locations`<sup>Required</sup> <a name="locations" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.property.locations"></a>

```typescript
public readonly locations: string[];
```

- *Type:* string[]

The list of Compute Engine zones where node pool nodes associated with a Dataproc on GKE virtual cluster will be located.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#locations DataprocCluster#locations}

---

##### `autoscaling`<sup>Optional</sup> <a name="autoscaling" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.property.autoscaling"></a>

```typescript
public readonly autoscaling: DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling</a>

autoscaling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#autoscaling DataprocCluster#autoscaling}

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.property.config"></a>

```typescript
public readonly config: DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig">DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig</a>

config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#config DataprocCluster#config}

---

### DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling <a name="DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling: DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.property.maxNodeCount">maxNodeCount</a></code> | <code>number</code> | The maximum number of nodes in the node pool. Must be >= minNodeCount, and must be > 0. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.property.minNodeCount">minNodeCount</a></code> | <code>number</code> | The minimum number of nodes in the node pool. Must be >= 0 and <= maxNodeCount. |

---

##### `maxNodeCount`<sup>Optional</sup> <a name="maxNodeCount" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.property.maxNodeCount"></a>

```typescript
public readonly maxNodeCount: number;
```

- *Type:* number

The maximum number of nodes in the node pool. Must be >= minNodeCount, and must be > 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#max_node_count DataprocCluster#max_node_count}

---

##### `minNodeCount`<sup>Optional</sup> <a name="minNodeCount" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.property.minNodeCount"></a>

```typescript
public readonly minNodeCount: number;
```

- *Type:* number

The minimum number of nodes in the node pool. Must be >= 0 and <= maxNodeCount.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#min_node_count DataprocCluster#min_node_count}

---

### DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig <a name="DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig: DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.localSsdCount">localSsdCount</a></code> | <code>number</code> | The minimum number of nodes in the node pool. Must be >= 0 and <= maxNodeCount. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.machineType">machineType</a></code> | <code>string</code> | The name of a Compute Engine machine type. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | Minimum CPU platform to be used by this instance. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.preemptible">preemptible</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the nodes are created as preemptible VM instances. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.spot">spot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Spot flag for enabling Spot VM, which is a rebrand of the existing preemptible flag. |

---

##### `localSsdCount`<sup>Optional</sup> <a name="localSsdCount" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.localSsdCount"></a>

```typescript
public readonly localSsdCount: number;
```

- *Type:* number

The minimum number of nodes in the node pool. Must be >= 0 and <= maxNodeCount.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#local_ssd_count DataprocCluster#local_ssd_count}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The name of a Compute Engine machine type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#machine_type DataprocCluster#machine_type}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

Minimum CPU platform to be used by this instance.

The instance may be scheduled on the specified or a newer CPU platform. Specify the friendly names of CPU platforms, such as "Intel Haswell" or "Intel Sandy Bridge".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#min_cpu_platform DataprocCluster#min_cpu_platform}

---

##### `preemptible`<sup>Optional</sup> <a name="preemptible" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.preemptible"></a>

```typescript
public readonly preemptible: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the nodes are created as preemptible VM instances.

Preemptible nodes cannot be used in a node pool with the CONTROLLER role or in the DEFAULT node pool if the CONTROLLER role is not assigned (the DEFAULT node pool will assume the CONTROLLER role).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#preemptible DataprocCluster#preemptible}

---

##### `spot`<sup>Optional</sup> <a name="spot" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.property.spot"></a>

```typescript
public readonly spot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Spot flag for enabling Spot VM, which is a rebrand of the existing preemptible flag.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#spot DataprocCluster#spot}

---

### DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig <a name="DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.Initializer"></a>

```typescript
import { DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig } from '@dschmidt/provider-google'

const dataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig: DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.property.componentVersion">componentVersion</a></code> | <code>{[ key: string ]: string}</code> | The components that should be installed in this Dataproc cluster. |
| <code><a href="#@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | The properties to set on daemon config files. Property keys are specified in prefix:property format, for example spark:spark.kubernetes.container.image. |

---

##### `componentVersion`<sup>Required</sup> <a name="componentVersion" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.property.componentVersion"></a>

```typescript
public readonly componentVersion: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The components that should be installed in this Dataproc cluster.

The key must be a string from the KubernetesComponent enumeration. The value is the version of the software to be installed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#component_version DataprocCluster#component_version}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The properties to set on daemon config files. Property keys are specified in prefix:property format, for example spark:spark.kubernetes.container.image.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_cluster#properties DataprocCluster#properties}

---

### DataprocJobConfig <a name="DataprocJobConfig" id="@dschmidt/provider-google.DataprocJobConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobConfig.Initializer"></a>

```typescript
import { DataprocJobConfig } from '@dschmidt/provider-google'

const dataprocJobConfig: DataprocJobConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.placement">placement</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPlacement">DataprocJobPlacement</a></code> | placement block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.forceDelete">forceDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | By default, you can only delete inactive jobs within Dataproc. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.hadoopConfig">hadoopConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig">DataprocJobHadoopConfig</a></code> | hadoop_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.hiveConfig">hiveConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobHiveConfig">DataprocJobHiveConfig</a></code> | hive_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#id DataprocJob#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. The labels to associate with this job. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.pigConfig">pigConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPigConfig">DataprocJobPigConfig</a></code> | pig_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.prestoConfig">prestoConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfig">DataprocJobPrestoConfig</a></code> | presto_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.project">project</a></code> | <code>string</code> | The project in which the cluster can be found and jobs subsequently run against. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.pysparkConfig">pysparkConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig">DataprocJobPysparkConfig</a></code> | pyspark_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.reference">reference</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobReference">DataprocJobReference</a></code> | reference block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.region">region</a></code> | <code>string</code> | The Cloud Dataproc region. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobScheduling">DataprocJobScheduling</a></code> | scheduling block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.sparkConfig">sparkConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig">DataprocJobSparkConfig</a></code> | spark_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.sparksqlConfig">sparksqlConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig">DataprocJobSparksqlConfig</a></code> | sparksql_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobTimeouts">DataprocJobTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocJobConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocJobConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocJobConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocJobConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocJobConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocJobConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocJobConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `placement`<sup>Required</sup> <a name="placement" id="@dschmidt/provider-google.DataprocJobConfig.property.placement"></a>

```typescript
public readonly placement: DataprocJobPlacement;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPlacement">DataprocJobPlacement</a>

placement block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#placement DataprocJob#placement}

---

##### `forceDelete`<sup>Optional</sup> <a name="forceDelete" id="@dschmidt/provider-google.DataprocJobConfig.property.forceDelete"></a>

```typescript
public readonly forceDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

By default, you can only delete inactive jobs within Dataproc.

Setting this to true, and calling destroy, will ensure that the job is first cancelled before issuing the delete.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#force_delete DataprocJob#force_delete}

---

##### `hadoopConfig`<sup>Optional</sup> <a name="hadoopConfig" id="@dschmidt/provider-google.DataprocJobConfig.property.hadoopConfig"></a>

```typescript
public readonly hadoopConfig: DataprocJobHadoopConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobHadoopConfig">DataprocJobHadoopConfig</a>

hadoop_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#hadoop_config DataprocJob#hadoop_config}

---

##### `hiveConfig`<sup>Optional</sup> <a name="hiveConfig" id="@dschmidt/provider-google.DataprocJobConfig.property.hiveConfig"></a>

```typescript
public readonly hiveConfig: DataprocJobHiveConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobHiveConfig">DataprocJobHiveConfig</a>

hive_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#hive_config DataprocJob#hive_config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#id DataprocJob#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataprocJobConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. The labels to associate with this job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#labels DataprocJob#labels}

---

##### `pigConfig`<sup>Optional</sup> <a name="pigConfig" id="@dschmidt/provider-google.DataprocJobConfig.property.pigConfig"></a>

```typescript
public readonly pigConfig: DataprocJobPigConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPigConfig">DataprocJobPigConfig</a>

pig_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#pig_config DataprocJob#pig_config}

---

##### `prestoConfig`<sup>Optional</sup> <a name="prestoConfig" id="@dschmidt/provider-google.DataprocJobConfig.property.prestoConfig"></a>

```typescript
public readonly prestoConfig: DataprocJobPrestoConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPrestoConfig">DataprocJobPrestoConfig</a>

presto_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#presto_config DataprocJob#presto_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocJobConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project in which the cluster can be found and jobs subsequently run against.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#project DataprocJob#project}

---

##### `pysparkConfig`<sup>Optional</sup> <a name="pysparkConfig" id="@dschmidt/provider-google.DataprocJobConfig.property.pysparkConfig"></a>

```typescript
public readonly pysparkConfig: DataprocJobPysparkConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPysparkConfig">DataprocJobPysparkConfig</a>

pyspark_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#pyspark_config DataprocJob#pyspark_config}

---

##### `reference`<sup>Optional</sup> <a name="reference" id="@dschmidt/provider-google.DataprocJobConfig.property.reference"></a>

```typescript
public readonly reference: DataprocJobReference;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobReference">DataprocJobReference</a>

reference block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#reference DataprocJob#reference}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataprocJobConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Cloud Dataproc region.

This essentially determines which clusters are available for this job to be submitted to. If not specified, defaults to global.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#region DataprocJob#region}

---

##### `scheduling`<sup>Optional</sup> <a name="scheduling" id="@dschmidt/provider-google.DataprocJobConfig.property.scheduling"></a>

```typescript
public readonly scheduling: DataprocJobScheduling;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobScheduling">DataprocJobScheduling</a>

scheduling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#scheduling DataprocJob#scheduling}

---

##### `sparkConfig`<sup>Optional</sup> <a name="sparkConfig" id="@dschmidt/provider-google.DataprocJobConfig.property.sparkConfig"></a>

```typescript
public readonly sparkConfig: DataprocJobSparkConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparkConfig">DataprocJobSparkConfig</a>

spark_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#spark_config DataprocJob#spark_config}

---

##### `sparksqlConfig`<sup>Optional</sup> <a name="sparksqlConfig" id="@dschmidt/provider-google.DataprocJobConfig.property.sparksqlConfig"></a>

```typescript
public readonly sparksqlConfig: DataprocJobSparksqlConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig">DataprocJobSparksqlConfig</a>

sparksql_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#sparksql_config DataprocJob#sparksql_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocJobConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocJobTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobTimeouts">DataprocJobTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#timeouts DataprocJob#timeouts}

---

### DataprocJobHadoopConfig <a name="DataprocJobHadoopConfig" id="@dschmidt/provider-google.DataprocJobHadoopConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobHadoopConfig.Initializer"></a>

```typescript
import { DataprocJobHadoopConfig } from '@dschmidt/provider-google'

const dataprocJobHadoopConfig: DataprocJobHadoopConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig.property.archiveUris">archiveUris</a></code> | <code>string[]</code> | HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig.property.args">args</a></code> | <code>string[]</code> | The arguments to pass to the driver. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig.property.fileUris">fileUris</a></code> | <code>string[]</code> | HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfigLoggingConfig">DataprocJobHadoopConfigLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig.property.mainClass">mainClass</a></code> | <code>string</code> | The class containing the main method of the driver. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig.property.mainJarFileUri">mainJarFileUri</a></code> | <code>string</code> | The HCFS URI of jar file containing the driver jar. Conflicts with main_class. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfig.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | A mapping of property names to values, used to configure Spark. |

---

##### `archiveUris`<sup>Optional</sup> <a name="archiveUris" id="@dschmidt/provider-google.DataprocJobHadoopConfig.property.archiveUris"></a>

```typescript
public readonly archiveUris: string[];
```

- *Type:* string[]

HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#archive_uris DataprocJob#archive_uris}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.DataprocJobHadoopConfig.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

The arguments to pass to the driver.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#args DataprocJob#args}

---

##### `fileUris`<sup>Optional</sup> <a name="fileUris" id="@dschmidt/provider-google.DataprocJobHadoopConfig.property.fileUris"></a>

```typescript
public readonly fileUris: string[];
```

- *Type:* string[]

HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks.

Useful for naively parallel tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#file_uris DataprocJob#file_uris}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocJobHadoopConfig.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#jar_file_uris DataprocJob#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocJobHadoopConfig.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocJobHadoopConfigLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobHadoopConfigLoggingConfig">DataprocJobHadoopConfigLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#logging_config DataprocJob#logging_config}

---

##### `mainClass`<sup>Optional</sup> <a name="mainClass" id="@dschmidt/provider-google.DataprocJobHadoopConfig.property.mainClass"></a>

```typescript
public readonly mainClass: string;
```

- *Type:* string

The class containing the main method of the driver.

Must be in a provided jar or jar that is already on the classpath. Conflicts with main_jar_file_uri

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#main_class DataprocJob#main_class}

---

##### `mainJarFileUri`<sup>Optional</sup> <a name="mainJarFileUri" id="@dschmidt/provider-google.DataprocJobHadoopConfig.property.mainJarFileUri"></a>

```typescript
public readonly mainJarFileUri: string;
```

- *Type:* string

The HCFS URI of jar file containing the driver jar. Conflicts with main_class.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#main_jar_file_uri DataprocJob#main_jar_file_uri}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocJobHadoopConfig.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A mapping of property names to values, used to configure Spark.

Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#properties DataprocJob#properties}

---

### DataprocJobHadoopConfigLoggingConfig <a name="DataprocJobHadoopConfigLoggingConfig" id="@dschmidt/provider-google.DataprocJobHadoopConfigLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobHadoopConfigLoggingConfig.Initializer"></a>

```typescript
import { DataprocJobHadoopConfigLoggingConfig } from '@dschmidt/provider-google'

const dataprocJobHadoopConfigLoggingConfig: DataprocJobHadoopConfigLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobHadoopConfigLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `driverLogLevels`<sup>Required</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocJobHadoopConfigLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#driver_log_levels DataprocJob#driver_log_levels}

---

### DataprocJobHiveConfig <a name="DataprocJobHiveConfig" id="@dschmidt/provider-google.DataprocJobHiveConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobHiveConfig.Initializer"></a>

```typescript
import { DataprocJobHiveConfig } from '@dschmidt/provider-google'

const dataprocJobHiveConfig: DataprocJobHiveConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobHiveConfig.property.continueOnFailure">continueOnFailure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to continue executing queries if a query fails. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHiveConfig.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | HCFS URIs of jar files to add to the CLASSPATH of the Hive server and Hadoop MapReduce (MR) tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHiveConfig.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | A mapping of property names and values, used to configure Hive. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHiveConfig.property.queryFileUri">queryFileUri</a></code> | <code>string</code> | HCFS URI of file containing Hive script to execute as the job. Conflicts with query_list. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHiveConfig.property.queryList">queryList</a></code> | <code>string[]</code> | The list of Hive queries or statements to execute as part of the job. Conflicts with query_file_uri. |
| <code><a href="#@dschmidt/provider-google.DataprocJobHiveConfig.property.scriptVariables">scriptVariables</a></code> | <code>{[ key: string ]: string}</code> | Mapping of query variable names to values (equivalent to the Hive command: SET name="value";). |

---

##### `continueOnFailure`<sup>Optional</sup> <a name="continueOnFailure" id="@dschmidt/provider-google.DataprocJobHiveConfig.property.continueOnFailure"></a>

```typescript
public readonly continueOnFailure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to continue executing queries if a query fails.

The default value is false. Setting to true can be useful when executing independent parallel queries. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#continue_on_failure DataprocJob#continue_on_failure}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocJobHiveConfig.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

HCFS URIs of jar files to add to the CLASSPATH of the Hive server and Hadoop MapReduce (MR) tasks.

Can contain Hive SerDes and UDFs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#jar_file_uris DataprocJob#jar_file_uris}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocJobHiveConfig.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A mapping of property names and values, used to configure Hive.

Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#properties DataprocJob#properties}

---

##### `queryFileUri`<sup>Optional</sup> <a name="queryFileUri" id="@dschmidt/provider-google.DataprocJobHiveConfig.property.queryFileUri"></a>

```typescript
public readonly queryFileUri: string;
```

- *Type:* string

HCFS URI of file containing Hive script to execute as the job. Conflicts with query_list.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#query_file_uri DataprocJob#query_file_uri}

---

##### `queryList`<sup>Optional</sup> <a name="queryList" id="@dschmidt/provider-google.DataprocJobHiveConfig.property.queryList"></a>

```typescript
public readonly queryList: string[];
```

- *Type:* string[]

The list of Hive queries or statements to execute as part of the job. Conflicts with query_file_uri.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#query_list DataprocJob#query_list}

---

##### `scriptVariables`<sup>Optional</sup> <a name="scriptVariables" id="@dschmidt/provider-google.DataprocJobHiveConfig.property.scriptVariables"></a>

```typescript
public readonly scriptVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Mapping of query variable names to values (equivalent to the Hive command: SET name="value";).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#script_variables DataprocJob#script_variables}

---

### DataprocJobIamBindingCondition <a name="DataprocJobIamBindingCondition" id="@dschmidt/provider-google.DataprocJobIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobIamBindingCondition.Initializer"></a>

```typescript
import { DataprocJobIamBindingCondition } from '@dschmidt/provider-google'

const dataprocJobIamBindingCondition: DataprocJobIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#expression DataprocJobIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#title DataprocJobIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#description DataprocJobIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataprocJobIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#expression DataprocJobIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataprocJobIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#title DataprocJobIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataprocJobIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#description DataprocJobIamBinding#description}.

---

### DataprocJobIamBindingConfig <a name="DataprocJobIamBindingConfig" id="@dschmidt/provider-google.DataprocJobIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.Initializer"></a>

```typescript
import { DataprocJobIamBindingConfig } from '@dschmidt/provider-google'

const dataprocJobIamBindingConfig: DataprocJobIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.jobId">jobId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#job_id DataprocJobIamBinding#job_id}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#members DataprocJobIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#role DataprocJobIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingCondition">DataprocJobIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#id DataprocJobIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#project DataprocJobIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamBindingConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#region DataprocJobIamBinding#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `jobId`<sup>Required</sup> <a name="jobId" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#job_id DataprocJobIamBinding#job_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#members DataprocJobIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#role DataprocJobIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: DataprocJobIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamBindingCondition">DataprocJobIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#condition DataprocJobIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#id DataprocJobIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#project DataprocJobIamBinding#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataprocJobIamBindingConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_binding#region DataprocJobIamBinding#region}.

---

### DataprocJobIamMemberCondition <a name="DataprocJobIamMemberCondition" id="@dschmidt/provider-google.DataprocJobIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobIamMemberCondition.Initializer"></a>

```typescript
import { DataprocJobIamMemberCondition } from '@dschmidt/provider-google'

const dataprocJobIamMemberCondition: DataprocJobIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#expression DataprocJobIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#title DataprocJobIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#description DataprocJobIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataprocJobIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#expression DataprocJobIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataprocJobIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#title DataprocJobIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataprocJobIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#description DataprocJobIamMember#description}.

---

### DataprocJobIamMemberConfig <a name="DataprocJobIamMemberConfig" id="@dschmidt/provider-google.DataprocJobIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.Initializer"></a>

```typescript
import { DataprocJobIamMemberConfig } from '@dschmidt/provider-google'

const dataprocJobIamMemberConfig: DataprocJobIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.jobId">jobId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#job_id DataprocJobIamMember#job_id}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#member DataprocJobIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#role DataprocJobIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberCondition">DataprocJobIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#id DataprocJobIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#project DataprocJobIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamMemberConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#region DataprocJobIamMember#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `jobId`<sup>Required</sup> <a name="jobId" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#job_id DataprocJobIamMember#job_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#member DataprocJobIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#role DataprocJobIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: DataprocJobIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobIamMemberCondition">DataprocJobIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#condition DataprocJobIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#id DataprocJobIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#project DataprocJobIamMember#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataprocJobIamMemberConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_member#region DataprocJobIamMember#region}.

---

### DataprocJobIamPolicyConfig <a name="DataprocJobIamPolicyConfig" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.Initializer"></a>

```typescript
import { DataprocJobIamPolicyConfig } from '@dschmidt/provider-google'

const dataprocJobIamPolicyConfig: DataprocJobIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.jobId">jobId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#job_id DataprocJobIamPolicy#job_id}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#policy_data DataprocJobIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#id DataprocJobIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#project DataprocJobIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#region DataprocJobIamPolicy#region}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `jobId`<sup>Required</sup> <a name="jobId" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#job_id DataprocJobIamPolicy#job_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#policy_data DataprocJobIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#id DataprocJobIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#project DataprocJobIamPolicy#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.DataprocJobIamPolicyConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job_iam_policy#region DataprocJobIamPolicy#region}.

---

### DataprocJobPigConfig <a name="DataprocJobPigConfig" id="@dschmidt/provider-google.DataprocJobPigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobPigConfig.Initializer"></a>

```typescript
import { DataprocJobPigConfig } from '@dschmidt/provider-google'

const dataprocJobPigConfig: DataprocJobPigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobPigConfig.property.continueOnFailure">continueOnFailure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to continue executing queries if a query fails. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPigConfig.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | HCFS URIs of jar files to add to the CLASSPATH of the Pig Client and Hadoop MapReduce (MR) tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPigConfig.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPigConfigLoggingConfig">DataprocJobPigConfigLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPigConfig.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | A mapping of property names to values, used to configure Pig. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPigConfig.property.queryFileUri">queryFileUri</a></code> | <code>string</code> | HCFS URI of file containing Hive script to execute as the job. Conflicts with query_list. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPigConfig.property.queryList">queryList</a></code> | <code>string[]</code> | The list of Hive queries or statements to execute as part of the job. Conflicts with query_file_uri. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPigConfig.property.scriptVariables">scriptVariables</a></code> | <code>{[ key: string ]: string}</code> | Mapping of query variable names to values (equivalent to the Pig command: name=[value]). |

---

##### `continueOnFailure`<sup>Optional</sup> <a name="continueOnFailure" id="@dschmidt/provider-google.DataprocJobPigConfig.property.continueOnFailure"></a>

```typescript
public readonly continueOnFailure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to continue executing queries if a query fails.

The default value is false. Setting to true can be useful when executing independent parallel queries. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#continue_on_failure DataprocJob#continue_on_failure}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocJobPigConfig.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

HCFS URIs of jar files to add to the CLASSPATH of the Pig Client and Hadoop MapReduce (MR) tasks.

Can contain Pig UDFs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#jar_file_uris DataprocJob#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocJobPigConfig.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocJobPigConfigLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPigConfigLoggingConfig">DataprocJobPigConfigLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#logging_config DataprocJob#logging_config}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocJobPigConfig.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A mapping of property names to values, used to configure Pig.

Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#properties DataprocJob#properties}

---

##### `queryFileUri`<sup>Optional</sup> <a name="queryFileUri" id="@dschmidt/provider-google.DataprocJobPigConfig.property.queryFileUri"></a>

```typescript
public readonly queryFileUri: string;
```

- *Type:* string

HCFS URI of file containing Hive script to execute as the job. Conflicts with query_list.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#query_file_uri DataprocJob#query_file_uri}

---

##### `queryList`<sup>Optional</sup> <a name="queryList" id="@dschmidt/provider-google.DataprocJobPigConfig.property.queryList"></a>

```typescript
public readonly queryList: string[];
```

- *Type:* string[]

The list of Hive queries or statements to execute as part of the job. Conflicts with query_file_uri.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#query_list DataprocJob#query_list}

---

##### `scriptVariables`<sup>Optional</sup> <a name="scriptVariables" id="@dschmidt/provider-google.DataprocJobPigConfig.property.scriptVariables"></a>

```typescript
public readonly scriptVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Mapping of query variable names to values (equivalent to the Pig command: name=[value]).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#script_variables DataprocJob#script_variables}

---

### DataprocJobPigConfigLoggingConfig <a name="DataprocJobPigConfigLoggingConfig" id="@dschmidt/provider-google.DataprocJobPigConfigLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobPigConfigLoggingConfig.Initializer"></a>

```typescript
import { DataprocJobPigConfigLoggingConfig } from '@dschmidt/provider-google'

const dataprocJobPigConfigLoggingConfig: DataprocJobPigConfigLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobPigConfigLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `driverLogLevels`<sup>Required</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocJobPigConfigLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#driver_log_levels DataprocJob#driver_log_levels}

---

### DataprocJobPlacement <a name="DataprocJobPlacement" id="@dschmidt/provider-google.DataprocJobPlacement"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobPlacement.Initializer"></a>

```typescript
import { DataprocJobPlacement } from '@dschmidt/provider-google'

const dataprocJobPlacement: DataprocJobPlacement = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobPlacement.property.clusterName">clusterName</a></code> | <code>string</code> | The name of the cluster where the job will be submitted. |

---

##### `clusterName`<sup>Required</sup> <a name="clusterName" id="@dschmidt/provider-google.DataprocJobPlacement.property.clusterName"></a>

```typescript
public readonly clusterName: string;
```

- *Type:* string

The name of the cluster where the job will be submitted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#cluster_name DataprocJob#cluster_name}

---

### DataprocJobPrestoConfig <a name="DataprocJobPrestoConfig" id="@dschmidt/provider-google.DataprocJobPrestoConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobPrestoConfig.Initializer"></a>

```typescript
import { DataprocJobPrestoConfig } from '@dschmidt/provider-google'

const dataprocJobPrestoConfig: DataprocJobPrestoConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfig.property.clientTags">clientTags</a></code> | <code>string[]</code> | Presto client tags to attach to this query. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfig.property.continueOnFailure">continueOnFailure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to continue executing queries if a query fails. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfig.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfigLoggingConfig">DataprocJobPrestoConfigLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfig.property.outputFormat">outputFormat</a></code> | <code>string</code> | The format in which query output will be displayed. See the Presto documentation for supported output formats. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfig.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | A mapping of property names to values. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfig.property.queryFileUri">queryFileUri</a></code> | <code>string</code> | The HCFS URI of the script that contains SQL queries. Conflicts with query_list. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfig.property.queryList">queryList</a></code> | <code>string[]</code> | The list of SQL queries or statements to execute as part of the job. Conflicts with query_file_uri. |

---

##### `clientTags`<sup>Optional</sup> <a name="clientTags" id="@dschmidt/provider-google.DataprocJobPrestoConfig.property.clientTags"></a>

```typescript
public readonly clientTags: string[];
```

- *Type:* string[]

Presto client tags to attach to this query.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#client_tags DataprocJob#client_tags}

---

##### `continueOnFailure`<sup>Optional</sup> <a name="continueOnFailure" id="@dschmidt/provider-google.DataprocJobPrestoConfig.property.continueOnFailure"></a>

```typescript
public readonly continueOnFailure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to continue executing queries if a query fails.

Setting to true can be useful when executing independent parallel queries. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#continue_on_failure DataprocJob#continue_on_failure}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocJobPrestoConfig.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocJobPrestoConfigLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPrestoConfigLoggingConfig">DataprocJobPrestoConfigLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#logging_config DataprocJob#logging_config}

---

##### `outputFormat`<sup>Optional</sup> <a name="outputFormat" id="@dschmidt/provider-google.DataprocJobPrestoConfig.property.outputFormat"></a>

```typescript
public readonly outputFormat: string;
```

- *Type:* string

The format in which query output will be displayed. See the Presto documentation for supported output formats.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#output_format DataprocJob#output_format}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocJobPrestoConfig.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A mapping of property names to values.

Used to set Presto session properties Equivalent to using the --session flag in the Presto CLI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#properties DataprocJob#properties}

---

##### `queryFileUri`<sup>Optional</sup> <a name="queryFileUri" id="@dschmidt/provider-google.DataprocJobPrestoConfig.property.queryFileUri"></a>

```typescript
public readonly queryFileUri: string;
```

- *Type:* string

The HCFS URI of the script that contains SQL queries. Conflicts with query_list.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#query_file_uri DataprocJob#query_file_uri}

---

##### `queryList`<sup>Optional</sup> <a name="queryList" id="@dschmidt/provider-google.DataprocJobPrestoConfig.property.queryList"></a>

```typescript
public readonly queryList: string[];
```

- *Type:* string[]

The list of SQL queries or statements to execute as part of the job. Conflicts with query_file_uri.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#query_list DataprocJob#query_list}

---

### DataprocJobPrestoConfigLoggingConfig <a name="DataprocJobPrestoConfigLoggingConfig" id="@dschmidt/provider-google.DataprocJobPrestoConfigLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobPrestoConfigLoggingConfig.Initializer"></a>

```typescript
import { DataprocJobPrestoConfigLoggingConfig } from '@dschmidt/provider-google'

const dataprocJobPrestoConfigLoggingConfig: DataprocJobPrestoConfigLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobPrestoConfigLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `driverLogLevels`<sup>Required</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocJobPrestoConfigLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#driver_log_levels DataprocJob#driver_log_levels}

---

### DataprocJobPysparkConfig <a name="DataprocJobPysparkConfig" id="@dschmidt/provider-google.DataprocJobPysparkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobPysparkConfig.Initializer"></a>

```typescript
import { DataprocJobPysparkConfig } from '@dschmidt/provider-google'

const dataprocJobPysparkConfig: DataprocJobPysparkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig.property.mainPythonFileUri">mainPythonFileUri</a></code> | <code>string</code> | Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig.property.archiveUris">archiveUris</a></code> | <code>string[]</code> | Optional. HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig.property.args">args</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig.property.fileUris">fileUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver and tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfigLoggingConfig">DataprocJobPysparkConfigLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfig.property.pythonFileUris">pythonFileUris</a></code> | <code>string[]</code> | Optional. |

---

##### `mainPythonFileUri`<sup>Required</sup> <a name="mainPythonFileUri" id="@dschmidt/provider-google.DataprocJobPysparkConfig.property.mainPythonFileUri"></a>

```typescript
public readonly mainPythonFileUri: string;
```

- *Type:* string

Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#main_python_file_uri DataprocJob#main_python_file_uri}

---

##### `archiveUris`<sup>Optional</sup> <a name="archiveUris" id="@dschmidt/provider-google.DataprocJobPysparkConfig.property.archiveUris"></a>

```typescript
public readonly archiveUris: string[];
```

- *Type:* string[]

Optional. HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#archive_uris DataprocJob#archive_uris}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.DataprocJobPysparkConfig.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

Optional.

The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#args DataprocJob#args}

---

##### `fileUris`<sup>Optional</sup> <a name="fileUris" id="@dschmidt/provider-google.DataprocJobPysparkConfig.property.fileUris"></a>

```typescript
public readonly fileUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of files to be copied to the working directory of Python drivers and distributed tasks. Useful for naively parallel tasks

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#file_uris DataprocJob#file_uris}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocJobPysparkConfig.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver and tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#jar_file_uris DataprocJob#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocJobPysparkConfig.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocJobPysparkConfigLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobPysparkConfigLoggingConfig">DataprocJobPysparkConfigLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#logging_config DataprocJob#logging_config}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocJobPysparkConfig.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#properties DataprocJob#properties}

---

##### `pythonFileUris`<sup>Optional</sup> <a name="pythonFileUris" id="@dschmidt/provider-google.DataprocJobPysparkConfig.property.pythonFileUris"></a>

```typescript
public readonly pythonFileUris: string[];
```

- *Type:* string[]

Optional.

HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#python_file_uris DataprocJob#python_file_uris}

---

### DataprocJobPysparkConfigLoggingConfig <a name="DataprocJobPysparkConfigLoggingConfig" id="@dschmidt/provider-google.DataprocJobPysparkConfigLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobPysparkConfigLoggingConfig.Initializer"></a>

```typescript
import { DataprocJobPysparkConfigLoggingConfig } from '@dschmidt/provider-google'

const dataprocJobPysparkConfigLoggingConfig: DataprocJobPysparkConfigLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobPysparkConfigLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `driverLogLevels`<sup>Required</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocJobPysparkConfigLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#driver_log_levels DataprocJob#driver_log_levels}

---

### DataprocJobReference <a name="DataprocJobReference" id="@dschmidt/provider-google.DataprocJobReference"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobReference.Initializer"></a>

```typescript
import { DataprocJobReference } from '@dschmidt/provider-google'

const dataprocJobReference: DataprocJobReference = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobReference.property.jobId">jobId</a></code> | <code>string</code> | The job ID, which must be unique within the project. |

---

##### `jobId`<sup>Optional</sup> <a name="jobId" id="@dschmidt/provider-google.DataprocJobReference.property.jobId"></a>

```typescript
public readonly jobId: string;
```

- *Type:* string

The job ID, which must be unique within the project.

The job ID is generated by the server upon job submission or provided by the user as a means to perform retries without creating duplicate jobs

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#job_id DataprocJob#job_id}

---

### DataprocJobScheduling <a name="DataprocJobScheduling" id="@dschmidt/provider-google.DataprocJobScheduling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobScheduling.Initializer"></a>

```typescript
import { DataprocJobScheduling } from '@dschmidt/provider-google'

const dataprocJobScheduling: DataprocJobScheduling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobScheduling.property.maxFailuresPerHour">maxFailuresPerHour</a></code> | <code>number</code> | Maximum number of times per hour a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed. |
| <code><a href="#@dschmidt/provider-google.DataprocJobScheduling.property.maxFailuresTotal">maxFailuresTotal</a></code> | <code>number</code> | Maximum number of times in total a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed. |

---

##### `maxFailuresPerHour`<sup>Required</sup> <a name="maxFailuresPerHour" id="@dschmidt/provider-google.DataprocJobScheduling.property.maxFailuresPerHour"></a>

```typescript
public readonly maxFailuresPerHour: number;
```

- *Type:* number

Maximum number of times per hour a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#max_failures_per_hour DataprocJob#max_failures_per_hour}

---

##### `maxFailuresTotal`<sup>Required</sup> <a name="maxFailuresTotal" id="@dschmidt/provider-google.DataprocJobScheduling.property.maxFailuresTotal"></a>

```typescript
public readonly maxFailuresTotal: number;
```

- *Type:* number

Maximum number of times in total a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#max_failures_total DataprocJob#max_failures_total}

---

### DataprocJobSparkConfig <a name="DataprocJobSparkConfig" id="@dschmidt/provider-google.DataprocJobSparkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobSparkConfig.Initializer"></a>

```typescript
import { DataprocJobSparkConfig } from '@dschmidt/provider-google'

const dataprocJobSparkConfig: DataprocJobSparkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig.property.archiveUris">archiveUris</a></code> | <code>string[]</code> | HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig.property.args">args</a></code> | <code>string[]</code> | The arguments to pass to the driver. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig.property.fileUris">fileUris</a></code> | <code>string[]</code> | HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfigLoggingConfig">DataprocJobSparkConfigLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig.property.mainClass">mainClass</a></code> | <code>string</code> | The class containing the main method of the driver. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig.property.mainJarFileUri">mainJarFileUri</a></code> | <code>string</code> | The HCFS URI of jar file containing the driver jar. Conflicts with main_class. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfig.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | A mapping of property names to values, used to configure Spark. |

---

##### `archiveUris`<sup>Optional</sup> <a name="archiveUris" id="@dschmidt/provider-google.DataprocJobSparkConfig.property.archiveUris"></a>

```typescript
public readonly archiveUris: string[];
```

- *Type:* string[]

HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#archive_uris DataprocJob#archive_uris}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.DataprocJobSparkConfig.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

The arguments to pass to the driver.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#args DataprocJob#args}

---

##### `fileUris`<sup>Optional</sup> <a name="fileUris" id="@dschmidt/provider-google.DataprocJobSparkConfig.property.fileUris"></a>

```typescript
public readonly fileUris: string[];
```

- *Type:* string[]

HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks.

Useful for naively parallel tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#file_uris DataprocJob#file_uris}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocJobSparkConfig.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#jar_file_uris DataprocJob#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocJobSparkConfig.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocJobSparkConfigLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparkConfigLoggingConfig">DataprocJobSparkConfigLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#logging_config DataprocJob#logging_config}

---

##### `mainClass`<sup>Optional</sup> <a name="mainClass" id="@dschmidt/provider-google.DataprocJobSparkConfig.property.mainClass"></a>

```typescript
public readonly mainClass: string;
```

- *Type:* string

The class containing the main method of the driver.

Must be in a provided jar or jar that is already on the classpath. Conflicts with main_jar_file_uri

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#main_class DataprocJob#main_class}

---

##### `mainJarFileUri`<sup>Optional</sup> <a name="mainJarFileUri" id="@dschmidt/provider-google.DataprocJobSparkConfig.property.mainJarFileUri"></a>

```typescript
public readonly mainJarFileUri: string;
```

- *Type:* string

The HCFS URI of jar file containing the driver jar. Conflicts with main_class.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#main_jar_file_uri DataprocJob#main_jar_file_uri}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocJobSparkConfig.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A mapping of property names to values, used to configure Spark.

Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#properties DataprocJob#properties}

---

### DataprocJobSparkConfigLoggingConfig <a name="DataprocJobSparkConfigLoggingConfig" id="@dschmidt/provider-google.DataprocJobSparkConfigLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobSparkConfigLoggingConfig.Initializer"></a>

```typescript
import { DataprocJobSparkConfigLoggingConfig } from '@dschmidt/provider-google'

const dataprocJobSparkConfigLoggingConfig: DataprocJobSparkConfigLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparkConfigLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `driverLogLevels`<sup>Required</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocJobSparkConfigLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#driver_log_levels DataprocJob#driver_log_levels}

---

### DataprocJobSparksqlConfig <a name="DataprocJobSparksqlConfig" id="@dschmidt/provider-google.DataprocJobSparksqlConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobSparksqlConfig.Initializer"></a>

```typescript
import { DataprocJobSparksqlConfig } from '@dschmidt/provider-google'

const dataprocJobSparksqlConfig: DataprocJobSparksqlConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | HCFS URIs of jar files to be added to the Spark CLASSPATH. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfigLoggingConfig">DataprocJobSparksqlConfigLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | A mapping of property names to values, used to configure Spark SQL's SparkConf. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig.property.queryFileUri">queryFileUri</a></code> | <code>string</code> | The HCFS URI of the script that contains SQL queries. Conflicts with query_list. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig.property.queryList">queryList</a></code> | <code>string[]</code> | The list of SQL queries or statements to execute as part of the job. Conflicts with query_file_uri. |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfig.property.scriptVariables">scriptVariables</a></code> | <code>{[ key: string ]: string}</code> | Mapping of query variable names to values (equivalent to the Spark SQL command: SET name="value";). |

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocJobSparksqlConfig.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

HCFS URIs of jar files to be added to the Spark CLASSPATH.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#jar_file_uris DataprocJob#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocJobSparksqlConfig.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocJobSparksqlConfigLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocJobSparksqlConfigLoggingConfig">DataprocJobSparksqlConfigLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#logging_config DataprocJob#logging_config}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocJobSparksqlConfig.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A mapping of property names to values, used to configure Spark SQL's SparkConf.

Properties that conflict with values set by the Cloud Dataproc API may be overwritten.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#properties DataprocJob#properties}

---

##### `queryFileUri`<sup>Optional</sup> <a name="queryFileUri" id="@dschmidt/provider-google.DataprocJobSparksqlConfig.property.queryFileUri"></a>

```typescript
public readonly queryFileUri: string;
```

- *Type:* string

The HCFS URI of the script that contains SQL queries. Conflicts with query_list.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#query_file_uri DataprocJob#query_file_uri}

---

##### `queryList`<sup>Optional</sup> <a name="queryList" id="@dschmidt/provider-google.DataprocJobSparksqlConfig.property.queryList"></a>

```typescript
public readonly queryList: string[];
```

- *Type:* string[]

The list of SQL queries or statements to execute as part of the job. Conflicts with query_file_uri.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#query_list DataprocJob#query_list}

---

##### `scriptVariables`<sup>Optional</sup> <a name="scriptVariables" id="@dschmidt/provider-google.DataprocJobSparksqlConfig.property.scriptVariables"></a>

```typescript
public readonly scriptVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Mapping of query variable names to values (equivalent to the Spark SQL command: SET name="value";).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#script_variables DataprocJob#script_variables}

---

### DataprocJobSparksqlConfigLoggingConfig <a name="DataprocJobSparksqlConfigLoggingConfig" id="@dschmidt/provider-google.DataprocJobSparksqlConfigLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobSparksqlConfigLoggingConfig.Initializer"></a>

```typescript
import { DataprocJobSparksqlConfigLoggingConfig } from '@dschmidt/provider-google'

const dataprocJobSparksqlConfigLoggingConfig: DataprocJobSparksqlConfigLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobSparksqlConfigLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `driverLogLevels`<sup>Required</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocJobSparksqlConfigLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#driver_log_levels DataprocJob#driver_log_levels}

---

### DataprocJobStatus <a name="DataprocJobStatus" id="@dschmidt/provider-google.DataprocJobStatus"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobStatus.Initializer"></a>

```typescript
import { DataprocJobStatus } from '@dschmidt/provider-google'

const dataprocJobStatus: DataprocJobStatus = { ... }
```


### DataprocJobTimeouts <a name="DataprocJobTimeouts" id="@dschmidt/provider-google.DataprocJobTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocJobTimeouts.Initializer"></a>

```typescript
import { DataprocJobTimeouts } from '@dschmidt/provider-google'

const dataprocJobTimeouts: DataprocJobTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocJobTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#create DataprocJob#create}. |
| <code><a href="#@dschmidt/provider-google.DataprocJobTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#delete DataprocJob#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataprocJobTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#create DataprocJob#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataprocJobTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_job#delete DataprocJob#delete}.

---

### DataprocMetastoreServiceConfig <a name="DataprocMetastoreServiceConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.Initializer"></a>

```typescript
import { DataprocMetastoreServiceConfig } from '@dschmidt/provider-google'

const dataprocMetastoreServiceConfig: DataprocMetastoreServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.serviceId">serviceId</a></code> | <code>string</code> | The ID of the metastore service. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.databaseType">databaseType</a></code> | <code>string</code> | The database type that the Metastore service stores its data. Default value: "MYSQL" Possible values: ["MYSQL", "SPANNER"]. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.encryptionConfig">encryptionConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfig">DataprocMetastoreServiceEncryptionConfig</a></code> | encryption_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.hiveMetastoreConfig">hiveMetastoreConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig">DataprocMetastoreServiceHiveMetastoreConfig</a></code> | hive_metastore_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#id DataprocMetastoreService#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | User-defined labels for the metastore service. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.location">location</a></code> | <code>string</code> | The location where the metastore service should reside. The default value is 'global'. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.maintenanceWindow">maintenanceWindow</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow">DataprocMetastoreServiceMaintenanceWindow</a></code> | maintenance_window block. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.network">network</a></code> | <code>string</code> | The relative resource name of the VPC network on which the instance can be accessed. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.port">port</a></code> | <code>number</code> | The TCP port at which the metastore service is reached. Default: 9083. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#project DataprocMetastoreService#project}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.releaseChannel">releaseChannel</a></code> | <code>string</code> | The release channel of the service. If unspecified, defaults to 'STABLE'. Default value: "STABLE" Possible values: ["CANARY", "STABLE"]. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.tier">tier</a></code> | <code>string</code> | The tier of the service. Possible values: ["DEVELOPER", "ENTERPRISE"]. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeouts">DataprocMetastoreServiceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

The ID of the metastore service.

The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_),
and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between
3 and 63 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#service_id DataprocMetastoreService#service_id}

---

##### `databaseType`<sup>Optional</sup> <a name="databaseType" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.databaseType"></a>

```typescript
public readonly databaseType: string;
```

- *Type:* string

The database type that the Metastore service stores its data. Default value: "MYSQL" Possible values: ["MYSQL", "SPANNER"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#database_type DataprocMetastoreService#database_type}

---

##### `encryptionConfig`<sup>Optional</sup> <a name="encryptionConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.encryptionConfig"></a>

```typescript
public readonly encryptionConfig: DataprocMetastoreServiceEncryptionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfig">DataprocMetastoreServiceEncryptionConfig</a>

encryption_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#encryption_config DataprocMetastoreService#encryption_config}

---

##### `hiveMetastoreConfig`<sup>Optional</sup> <a name="hiveMetastoreConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.hiveMetastoreConfig"></a>

```typescript
public readonly hiveMetastoreConfig: DataprocMetastoreServiceHiveMetastoreConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig">DataprocMetastoreServiceHiveMetastoreConfig</a>

hive_metastore_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#hive_metastore_config DataprocMetastoreService#hive_metastore_config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#id DataprocMetastoreService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-defined labels for the metastore service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#labels DataprocMetastoreService#labels}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location where the metastore service should reside. The default value is 'global'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#location DataprocMetastoreService#location}

---

##### `maintenanceWindow`<sup>Optional</sup> <a name="maintenanceWindow" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.maintenanceWindow"></a>

```typescript
public readonly maintenanceWindow: DataprocMetastoreServiceMaintenanceWindow;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow">DataprocMetastoreServiceMaintenanceWindow</a>

maintenance_window block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#maintenance_window DataprocMetastoreService#maintenance_window}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The relative resource name of the VPC network on which the instance can be accessed.

It is specified in the following form:

"projects/{projectNumber}/global/networks/{network_id}".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#network DataprocMetastoreService#network}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The TCP port at which the metastore service is reached. Default: 9083.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#port DataprocMetastoreService#port}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#project DataprocMetastoreService#project}.

---

##### `releaseChannel`<sup>Optional</sup> <a name="releaseChannel" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.releaseChannel"></a>

```typescript
public readonly releaseChannel: string;
```

- *Type:* string

The release channel of the service. If unspecified, defaults to 'STABLE'. Default value: "STABLE" Possible values: ["CANARY", "STABLE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#release_channel DataprocMetastoreService#release_channel}

---

##### `tier`<sup>Optional</sup> <a name="tier" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

The tier of the service. Possible values: ["DEVELOPER", "ENTERPRISE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#tier DataprocMetastoreService#tier}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocMetastoreServiceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocMetastoreServiceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeouts">DataprocMetastoreServiceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#timeouts DataprocMetastoreService#timeouts}

---

### DataprocMetastoreServiceEncryptionConfig <a name="DataprocMetastoreServiceEncryptionConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfig.Initializer"></a>

```typescript
import { DataprocMetastoreServiceEncryptionConfig } from '@dschmidt/provider-google'

const dataprocMetastoreServiceEncryptionConfig: DataprocMetastoreServiceEncryptionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfig.property.kmsKey">kmsKey</a></code> | <code>string</code> | The fully qualified customer provided Cloud KMS key name to use for customer data encryption. Use the following format: 'projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)'. |

---

##### `kmsKey`<sup>Required</sup> <a name="kmsKey" id="@dschmidt/provider-google.DataprocMetastoreServiceEncryptionConfig.property.kmsKey"></a>

```typescript
public readonly kmsKey: string;
```

- *Type:* string

The fully qualified customer provided Cloud KMS key name to use for customer data encryption. Use the following format: 'projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#kms_key DataprocMetastoreService#kms_key}

---

### DataprocMetastoreServiceHiveMetastoreConfig <a name="DataprocMetastoreServiceHiveMetastoreConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig.Initializer"></a>

```typescript
import { DataprocMetastoreServiceHiveMetastoreConfig } from '@dschmidt/provider-google'

const dataprocMetastoreServiceHiveMetastoreConfig: DataprocMetastoreServiceHiveMetastoreConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig.property.version">version</a></code> | <code>string</code> | The Hive metastore schema version. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig.property.configOverrides">configOverrides</a></code> | <code>{[ key: string ]: string}</code> | A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig.property.kerberosConfig">kerberosConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig">DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig</a></code> | kerberos_config block. |

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The Hive metastore schema version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#version DataprocMetastoreService#version}

---

##### `configOverrides`<sup>Optional</sup> <a name="configOverrides" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig.property.configOverrides"></a>

```typescript
public readonly configOverrides: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#config_overrides DataprocMetastoreService#config_overrides}

---

##### `kerberosConfig`<sup>Optional</sup> <a name="kerberosConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfig.property.kerberosConfig"></a>

```typescript
public readonly kerberosConfig: DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig">DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig</a>

kerberos_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#kerberos_config DataprocMetastoreService#kerberos_config}

---

### DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig <a name="DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig.Initializer"></a>

```typescript
import { DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig } from '@dschmidt/provider-google'

const dataprocMetastoreServiceHiveMetastoreConfigKerberosConfig: DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig.property.keytab">keytab</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab">DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab</a></code> | keytab block. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig.property.krb5ConfigGcsUri">krb5ConfigGcsUri</a></code> | <code>string</code> | A Cloud Storage URI that specifies the path to a krb5.conf file. It is of the form gs://{bucket_name}/path/to/krb5.conf, although the file does not need to be named krb5.conf explicitly. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig.property.principal">principal</a></code> | <code>string</code> | A Kerberos principal that exists in the both the keytab the KDC to authenticate as. |

---

##### `keytab`<sup>Required</sup> <a name="keytab" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig.property.keytab"></a>

```typescript
public readonly keytab: DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab">DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab</a>

keytab block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#keytab DataprocMetastoreService#keytab}

---

##### `krb5ConfigGcsUri`<sup>Required</sup> <a name="krb5ConfigGcsUri" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig.property.krb5ConfigGcsUri"></a>

```typescript
public readonly krb5ConfigGcsUri: string;
```

- *Type:* string

A Cloud Storage URI that specifies the path to a krb5.conf file. It is of the form gs://{bucket_name}/path/to/krb5.conf, although the file does not need to be named krb5.conf explicitly.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#krb5_config_gcs_uri DataprocMetastoreService#krb5_config_gcs_uri}

---

##### `principal`<sup>Required</sup> <a name="principal" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfig.property.principal"></a>

```typescript
public readonly principal: string;
```

- *Type:* string

A Kerberos principal that exists in the both the keytab the KDC to authenticate as.

A typical principal is of the form "primary/instance@REALM", but there is no exact format.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#principal DataprocMetastoreService#principal}

---

### DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab <a name="DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab.Initializer"></a>

```typescript
import { DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab } from '@dschmidt/provider-google'

const dataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab: DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab.property.cloudSecret">cloudSecret</a></code> | <code>string</code> | The relative resource name of a Secret Manager secret version, in the following form:. |

---

##### `cloudSecret`<sup>Required</sup> <a name="cloudSecret" id="@dschmidt/provider-google.DataprocMetastoreServiceHiveMetastoreConfigKerberosConfigKeytab.property.cloudSecret"></a>

```typescript
public readonly cloudSecret: string;
```

- *Type:* string

The relative resource name of a Secret Manager secret version, in the following form:.

"projects/{projectNumber}/secrets/{secret_id}/versions/{version_id}".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#cloud_secret DataprocMetastoreService#cloud_secret}

---

### DataprocMetastoreServiceIamBindingCondition <a name="DataprocMetastoreServiceIamBindingCondition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition.Initializer"></a>

```typescript
import { DataprocMetastoreServiceIamBindingCondition } from '@dschmidt/provider-google'

const dataprocMetastoreServiceIamBindingCondition: DataprocMetastoreServiceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#expression DataprocMetastoreServiceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#title DataprocMetastoreServiceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#description DataprocMetastoreServiceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#expression DataprocMetastoreServiceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#title DataprocMetastoreServiceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#description DataprocMetastoreServiceIamBinding#description}.

---

### DataprocMetastoreServiceIamBindingConfig <a name="DataprocMetastoreServiceIamBindingConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.Initializer"></a>

```typescript
import { DataprocMetastoreServiceIamBindingConfig } from '@dschmidt/provider-google'

const dataprocMetastoreServiceIamBindingConfig: DataprocMetastoreServiceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#members DataprocMetastoreServiceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#role DataprocMetastoreServiceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.serviceId">serviceId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#service_id DataprocMetastoreServiceIamBinding#service_id}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition">DataprocMetastoreServiceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#id DataprocMetastoreServiceIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#location DataprocMetastoreServiceIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#project DataprocMetastoreServiceIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#members DataprocMetastoreServiceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#role DataprocMetastoreServiceIamBinding#role}.

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#service_id DataprocMetastoreServiceIamBinding#service_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: DataprocMetastoreServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamBindingCondition">DataprocMetastoreServiceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#condition DataprocMetastoreServiceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#id DataprocMetastoreServiceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#location DataprocMetastoreServiceIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocMetastoreServiceIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_binding#project DataprocMetastoreServiceIamBinding#project}.

---

### DataprocMetastoreServiceIamMemberCondition <a name="DataprocMetastoreServiceIamMemberCondition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition.Initializer"></a>

```typescript
import { DataprocMetastoreServiceIamMemberCondition } from '@dschmidt/provider-google'

const dataprocMetastoreServiceIamMemberCondition: DataprocMetastoreServiceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#expression DataprocMetastoreServiceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#title DataprocMetastoreServiceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#description DataprocMetastoreServiceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#expression DataprocMetastoreServiceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#title DataprocMetastoreServiceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#description DataprocMetastoreServiceIamMember#description}.

---

### DataprocMetastoreServiceIamMemberConfig <a name="DataprocMetastoreServiceIamMemberConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.Initializer"></a>

```typescript
import { DataprocMetastoreServiceIamMemberConfig } from '@dschmidt/provider-google'

const dataprocMetastoreServiceIamMemberConfig: DataprocMetastoreServiceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#member DataprocMetastoreServiceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#role DataprocMetastoreServiceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.serviceId">serviceId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#service_id DataprocMetastoreServiceIamMember#service_id}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition">DataprocMetastoreServiceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#id DataprocMetastoreServiceIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#location DataprocMetastoreServiceIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#project DataprocMetastoreServiceIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#member DataprocMetastoreServiceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#role DataprocMetastoreServiceIamMember#role}.

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#service_id DataprocMetastoreServiceIamMember#service_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: DataprocMetastoreServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamMemberCondition">DataprocMetastoreServiceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#condition DataprocMetastoreServiceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#id DataprocMetastoreServiceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#location DataprocMetastoreServiceIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocMetastoreServiceIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_member#project DataprocMetastoreServiceIamMember#project}.

---

### DataprocMetastoreServiceIamPolicyConfig <a name="DataprocMetastoreServiceIamPolicyConfig" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.Initializer"></a>

```typescript
import { DataprocMetastoreServiceIamPolicyConfig } from '@dschmidt/provider-google'

const dataprocMetastoreServiceIamPolicyConfig: DataprocMetastoreServiceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#policy_data DataprocMetastoreServiceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.serviceId">serviceId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#service_id DataprocMetastoreServiceIamPolicy#service_id}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#id DataprocMetastoreServiceIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#location DataprocMetastoreServiceIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#project DataprocMetastoreServiceIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#policy_data DataprocMetastoreServiceIamPolicy#policy_data}.

---

##### `serviceId`<sup>Required</sup> <a name="serviceId" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#service_id DataprocMetastoreServiceIamPolicy#service_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#id DataprocMetastoreServiceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#location DataprocMetastoreServiceIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocMetastoreServiceIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service_iam_policy#project DataprocMetastoreServiceIamPolicy#project}.

---

### DataprocMetastoreServiceMaintenanceWindow <a name="DataprocMetastoreServiceMaintenanceWindow" id="@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow.Initializer"></a>

```typescript
import { DataprocMetastoreServiceMaintenanceWindow } from '@dschmidt/provider-google'

const dataprocMetastoreServiceMaintenanceWindow: DataprocMetastoreServiceMaintenanceWindow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow.property.dayOfWeek">dayOfWeek</a></code> | <code>string</code> | The day of week, when the window starts. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow.property.hourOfDay">hourOfDay</a></code> | <code>number</code> | The hour of day (0-23) when the window starts. |

---

##### `dayOfWeek`<sup>Required</sup> <a name="dayOfWeek" id="@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow.property.dayOfWeek"></a>

```typescript
public readonly dayOfWeek: string;
```

- *Type:* string

The day of week, when the window starts. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#day_of_week DataprocMetastoreService#day_of_week}

---

##### `hourOfDay`<sup>Required</sup> <a name="hourOfDay" id="@dschmidt/provider-google.DataprocMetastoreServiceMaintenanceWindow.property.hourOfDay"></a>

```typescript
public readonly hourOfDay: number;
```

- *Type:* number

The hour of day (0-23) when the window starts.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#hour_of_day DataprocMetastoreService#hour_of_day}

---

### DataprocMetastoreServiceTimeouts <a name="DataprocMetastoreServiceTimeouts" id="@dschmidt/provider-google.DataprocMetastoreServiceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocMetastoreServiceTimeouts.Initializer"></a>

```typescript
import { DataprocMetastoreServiceTimeouts } from '@dschmidt/provider-google'

const dataprocMetastoreServiceTimeouts: DataprocMetastoreServiceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#create DataprocMetastoreService#create}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#delete DataprocMetastoreService#delete}. |
| <code><a href="#@dschmidt/provider-google.DataprocMetastoreServiceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#update DataprocMetastoreService#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataprocMetastoreServiceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#create DataprocMetastoreService#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataprocMetastoreServiceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#delete DataprocMetastoreService#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DataprocMetastoreServiceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_metastore_service#update DataprocMetastoreService#update}.

---

### DataprocWorkflowTemplateConfig <a name="DataprocWorkflowTemplateConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateConfig: DataprocWorkflowTemplateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.jobs">jobs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs">DataprocWorkflowTemplateJobs</a>[]</code> | jobs block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.name">name</a></code> | <code>string</code> | Output only. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.placement">placement</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacement">DataprocWorkflowTemplatePlacement</a></code> | placement block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.dagTimeout">dagTimeout</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#id DataprocWorkflowTemplate#id}. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.parameters">parameters</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParameters">DataprocWorkflowTemplateParameters</a>[]</code> | parameters block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts">DataprocWorkflowTemplateTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.version">version</a></code> | <code>number</code> | Output only. The current version of this workflow template. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `jobs`<sup>Required</sup> <a name="jobs" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.jobs"></a>

```typescript
public readonly jobs: IResolvable | DataprocWorkflowTemplateJobs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs">DataprocWorkflowTemplateJobs</a>[]

jobs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#jobs DataprocWorkflowTemplate#jobs}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#location DataprocWorkflowTemplate#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Output only.

The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. * For `projects.regions.workflowTemplates`, the resource name of the template has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` * For `projects.locations.workflowTemplates`, the resource name of the template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#name DataprocWorkflowTemplate#name}

---

##### `placement`<sup>Required</sup> <a name="placement" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.placement"></a>

```typescript
public readonly placement: DataprocWorkflowTemplatePlacement;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacement">DataprocWorkflowTemplatePlacement</a>

placement block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#placement DataprocWorkflowTemplate#placement}

---

##### `dagTimeout`<sup>Optional</sup> <a name="dagTimeout" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.dagTimeout"></a>

```typescript
public readonly dagTimeout: string;
```

- *Type:* string

Optional.

Timeout duration for the DAG of jobs, expressed in seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). The timeout duration must be from 10 minutes ("600s") to 24 hours ("86400s"). The timer begins when the first job is submitted. If the workflow is running at the end of the timeout period, any remaining jobs are cancelled, the workflow is ended, and if the workflow was running on a [managed cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster), the cluster is deleted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#dag_timeout DataprocWorkflowTemplate#dag_timeout}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#id DataprocWorkflowTemplate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#labels DataprocWorkflowTemplate#labels}

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.parameters"></a>

```typescript
public readonly parameters: IResolvable | DataprocWorkflowTemplateParameters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParameters">DataprocWorkflowTemplateParameters</a>[]

parameters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#parameters DataprocWorkflowTemplate#parameters}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#project DataprocWorkflowTemplate#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DataprocWorkflowTemplateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts">DataprocWorkflowTemplateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#timeouts DataprocWorkflowTemplate#timeouts}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.DataprocWorkflowTemplateConfig.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

Output only. The current version of this workflow template.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#version DataprocWorkflowTemplate#version}

---

### DataprocWorkflowTemplateJobs <a name="DataprocWorkflowTemplateJobs" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobs } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobs: DataprocWorkflowTemplateJobs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.stepId">stepId</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.hadoopJob">hadoopJob</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob">DataprocWorkflowTemplateJobsHadoopJob</a></code> | hadoop_job block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.hiveJob">hiveJob</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob">DataprocWorkflowTemplateJobsHiveJob</a></code> | hive_job block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.pigJob">pigJob</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob">DataprocWorkflowTemplateJobsPigJob</a></code> | pig_job block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.prerequisiteStepIds">prerequisiteStepIds</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.prestoJob">prestoJob</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob">DataprocWorkflowTemplateJobsPrestoJob</a></code> | presto_job block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.pysparkJob">pysparkJob</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob">DataprocWorkflowTemplateJobsPysparkJob</a></code> | pyspark_job block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.scheduling">scheduling</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsScheduling">DataprocWorkflowTemplateJobsScheduling</a></code> | scheduling block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.sparkJob">sparkJob</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob">DataprocWorkflowTemplateJobsSparkJob</a></code> | spark_job block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.sparkRJob">sparkRJob</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob">DataprocWorkflowTemplateJobsSparkRJob</a></code> | spark_r_job block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.sparkSqlJob">sparkSqlJob</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob">DataprocWorkflowTemplateJobsSparkSqlJob</a></code> | spark_sql_job block. |

---

##### `stepId`<sup>Required</sup> <a name="stepId" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.stepId"></a>

```typescript
public readonly stepId: string;
```

- *Type:* string

Required.

The step id. The id must be unique among all jobs within the template. The step id is used as prefix for job id, as job `goog-dataproc-workflow-step-id` label, and in prerequisiteStepIds field from other steps. The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#step_id DataprocWorkflowTemplate#step_id}

---

##### `hadoopJob`<sup>Optional</sup> <a name="hadoopJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.hadoopJob"></a>

```typescript
public readonly hadoopJob: DataprocWorkflowTemplateJobsHadoopJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob">DataprocWorkflowTemplateJobsHadoopJob</a>

hadoop_job block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#hadoop_job DataprocWorkflowTemplate#hadoop_job}

---

##### `hiveJob`<sup>Optional</sup> <a name="hiveJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.hiveJob"></a>

```typescript
public readonly hiveJob: DataprocWorkflowTemplateJobsHiveJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob">DataprocWorkflowTemplateJobsHiveJob</a>

hive_job block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#hive_job DataprocWorkflowTemplate#hive_job}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The labels to associate with this job. Label keys must be between 1 and 63 characters long, and must conform to the following regular expression: p{Ll}p{Lo}{0,62} Label values must be between 1 and 63 characters long, and must conform to the following regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than 32 labels can be associated with a given job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#labels DataprocWorkflowTemplate#labels}

---

##### `pigJob`<sup>Optional</sup> <a name="pigJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.pigJob"></a>

```typescript
public readonly pigJob: DataprocWorkflowTemplateJobsPigJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob">DataprocWorkflowTemplateJobsPigJob</a>

pig_job block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#pig_job DataprocWorkflowTemplate#pig_job}

---

##### `prerequisiteStepIds`<sup>Optional</sup> <a name="prerequisiteStepIds" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.prerequisiteStepIds"></a>

```typescript
public readonly prerequisiteStepIds: string[];
```

- *Type:* string[]

Optional.

The optional list of prerequisite job step_ids. If not specified, the job will start at the beginning of workflow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#prerequisite_step_ids DataprocWorkflowTemplate#prerequisite_step_ids}

---

##### `prestoJob`<sup>Optional</sup> <a name="prestoJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.prestoJob"></a>

```typescript
public readonly prestoJob: DataprocWorkflowTemplateJobsPrestoJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob">DataprocWorkflowTemplateJobsPrestoJob</a>

presto_job block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#presto_job DataprocWorkflowTemplate#presto_job}

---

##### `pysparkJob`<sup>Optional</sup> <a name="pysparkJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.pysparkJob"></a>

```typescript
public readonly pysparkJob: DataprocWorkflowTemplateJobsPysparkJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob">DataprocWorkflowTemplateJobsPysparkJob</a>

pyspark_job block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#pyspark_job DataprocWorkflowTemplate#pyspark_job}

---

##### `scheduling`<sup>Optional</sup> <a name="scheduling" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.scheduling"></a>

```typescript
public readonly scheduling: DataprocWorkflowTemplateJobsScheduling;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsScheduling">DataprocWorkflowTemplateJobsScheduling</a>

scheduling block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#scheduling DataprocWorkflowTemplate#scheduling}

---

##### `sparkJob`<sup>Optional</sup> <a name="sparkJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.sparkJob"></a>

```typescript
public readonly sparkJob: DataprocWorkflowTemplateJobsSparkJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob">DataprocWorkflowTemplateJobsSparkJob</a>

spark_job block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#spark_job DataprocWorkflowTemplate#spark_job}

---

##### `sparkRJob`<sup>Optional</sup> <a name="sparkRJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.sparkRJob"></a>

```typescript
public readonly sparkRJob: DataprocWorkflowTemplateJobsSparkRJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob">DataprocWorkflowTemplateJobsSparkRJob</a>

spark_r_job block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#spark_r_job DataprocWorkflowTemplate#spark_r_job}

---

##### `sparkSqlJob`<sup>Optional</sup> <a name="sparkSqlJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobs.property.sparkSqlJob"></a>

```typescript
public readonly sparkSqlJob: DataprocWorkflowTemplateJobsSparkSqlJob;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob">DataprocWorkflowTemplateJobsSparkSqlJob</a>

spark_sql_job block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#spark_sql_job DataprocWorkflowTemplate#spark_sql_job}

---

### DataprocWorkflowTemplateJobsHadoopJob <a name="DataprocWorkflowTemplateJobsHadoopJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsHadoopJob } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsHadoopJob: DataprocWorkflowTemplateJobsHadoopJob = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.archiveUris">archiveUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.args">args</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.fileUris">fileUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJobLoggingConfig">DataprocWorkflowTemplateJobsHadoopJobLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.mainClass">mainClass</a></code> | <code>string</code> | The name of the driver's main class. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.mainJarFileUri">mainJarFileUri</a></code> | <code>string</code> | The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `archiveUris`<sup>Optional</sup> <a name="archiveUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.archiveUris"></a>

```typescript
public readonly archiveUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#archive_uris DataprocWorkflowTemplate#archive_uris}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

Optional.

The arguments to pass to the driver. Do not include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job properties, since a collision may occur that causes an incorrect job submission.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#args DataprocWorkflowTemplate#args}

---

##### `fileUris`<sup>Optional</sup> <a name="fileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.fileUris"></a>

```typescript
public readonly fileUris: string[];
```

- *Type:* string[]

Optional.

HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#file_uris DataprocWorkflowTemplate#file_uris}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#jar_file_uris DataprocWorkflowTemplate#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocWorkflowTemplateJobsHadoopJobLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJobLoggingConfig">DataprocWorkflowTemplateJobsHadoopJobLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#logging_config DataprocWorkflowTemplate#logging_config}

---

##### `mainClass`<sup>Optional</sup> <a name="mainClass" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.mainClass"></a>

```typescript
public readonly mainClass: string;
```

- *Type:* string

The name of the driver's main class.

The jar file containing the class must be in the default CLASSPATH or specified in `jar_file_uris`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#main_class DataprocWorkflowTemplate#main_class}

---

##### `mainJarFileUri`<sup>Optional</sup> <a name="mainJarFileUri" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.mainJarFileUri"></a>

```typescript
public readonly mainJarFileUri: string;
```

- *Type:* string

The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#main_jar_file_uri DataprocWorkflowTemplate#main_jar_file_uri}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJob.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#properties DataprocWorkflowTemplate#properties}

---

### DataprocWorkflowTemplateJobsHadoopJobLoggingConfig <a name="DataprocWorkflowTemplateJobsHadoopJobLoggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJobLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJobLoggingConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsHadoopJobLoggingConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsHadoopJobLoggingConfig: DataprocWorkflowTemplateJobsHadoopJobLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJobLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | The per-package log levels for the driver. |

---

##### `driverLogLevels`<sup>Optional</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHadoopJobLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The per-package log levels for the driver.

This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#driver_log_levels DataprocWorkflowTemplate#driver_log_levels}

---

### DataprocWorkflowTemplateJobsHiveJob <a name="DataprocWorkflowTemplateJobsHiveJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsHiveJob } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsHiveJob: DataprocWorkflowTemplateJobsHiveJob = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.continueOnFailure">continueOnFailure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.queryFileUri">queryFileUri</a></code> | <code>string</code> | The HCFS URI of the script that contains Hive queries. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.queryList">queryList</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJobQueryList">DataprocWorkflowTemplateJobsHiveJobQueryList</a></code> | query_list block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.scriptVariables">scriptVariables</a></code> | <code>{[ key: string ]: string}</code> | Optional. Mapping of query variable names to values (equivalent to the Hive command: `SET name="value";`). |

---

##### `continueOnFailure`<sup>Optional</sup> <a name="continueOnFailure" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.continueOnFailure"></a>

```typescript
public readonly continueOnFailure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Whether to continue executing queries if a query fails. The default value is `false`. Setting to `true` can be useful when executing independent parallel queries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#continue_on_failure DataprocWorkflowTemplate#continue_on_failure}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of jar files to add to the CLASSPATH of the Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#jar_file_uris DataprocWorkflowTemplate#jar_file_uris}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#properties DataprocWorkflowTemplate#properties}

---

##### `queryFileUri`<sup>Optional</sup> <a name="queryFileUri" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.queryFileUri"></a>

```typescript
public readonly queryFileUri: string;
```

- *Type:* string

The HCFS URI of the script that contains Hive queries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#query_file_uri DataprocWorkflowTemplate#query_file_uri}

---

##### `queryList`<sup>Optional</sup> <a name="queryList" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.queryList"></a>

```typescript
public readonly queryList: DataprocWorkflowTemplateJobsHiveJobQueryList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJobQueryList">DataprocWorkflowTemplateJobsHiveJobQueryList</a>

query_list block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#query_list DataprocWorkflowTemplate#query_list}

---

##### `scriptVariables`<sup>Optional</sup> <a name="scriptVariables" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJob.property.scriptVariables"></a>

```typescript
public readonly scriptVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. Mapping of query variable names to values (equivalent to the Hive command: `SET name="value";`).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#script_variables DataprocWorkflowTemplate#script_variables}

---

### DataprocWorkflowTemplateJobsHiveJobQueryList <a name="DataprocWorkflowTemplateJobsHiveJobQueryList" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJobQueryList"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJobQueryList.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsHiveJobQueryList } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsHiveJobQueryList: DataprocWorkflowTemplateJobsHiveJobQueryList = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJobQueryList.property.queries">queries</a></code> | <code>string[]</code> | Required. |

---

##### `queries`<sup>Required</sup> <a name="queries" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsHiveJobQueryList.property.queries"></a>

```typescript
public readonly queries: string[];
```

- *Type:* string[]

Required.

The queries to execute. You do not need to end a query expression with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of a Dataproc API snippet that uses a QueryList to specify a HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", "query2", "query3;query4", ] } }

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#queries DataprocWorkflowTemplate#queries}

---

### DataprocWorkflowTemplateJobsPigJob <a name="DataprocWorkflowTemplateJobsPigJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsPigJob } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsPigJob: DataprocWorkflowTemplateJobsPigJob = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.continueOnFailure">continueOnFailure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobLoggingConfig">DataprocWorkflowTemplateJobsPigJobLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.queryFileUri">queryFileUri</a></code> | <code>string</code> | The HCFS URI of the script that contains the Pig queries. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.queryList">queryList</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobQueryList">DataprocWorkflowTemplateJobsPigJobQueryList</a></code> | query_list block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.scriptVariables">scriptVariables</a></code> | <code>{[ key: string ]: string}</code> | Optional. Mapping of query variable names to values (equivalent to the Pig command: `name=[value]`). |

---

##### `continueOnFailure`<sup>Optional</sup> <a name="continueOnFailure" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.continueOnFailure"></a>

```typescript
public readonly continueOnFailure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Whether to continue executing queries if a query fails. The default value is `false`. Setting to `true` can be useful when executing independent parallel queries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#continue_on_failure DataprocWorkflowTemplate#continue_on_failure}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of jar files to add to the CLASSPATH of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#jar_file_uris DataprocWorkflowTemplate#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocWorkflowTemplateJobsPigJobLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobLoggingConfig">DataprocWorkflowTemplateJobsPigJobLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#logging_config DataprocWorkflowTemplate#logging_config}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A mapping of property names to values, used to configure Pig. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#properties DataprocWorkflowTemplate#properties}

---

##### `queryFileUri`<sup>Optional</sup> <a name="queryFileUri" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.queryFileUri"></a>

```typescript
public readonly queryFileUri: string;
```

- *Type:* string

The HCFS URI of the script that contains the Pig queries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#query_file_uri DataprocWorkflowTemplate#query_file_uri}

---

##### `queryList`<sup>Optional</sup> <a name="queryList" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.queryList"></a>

```typescript
public readonly queryList: DataprocWorkflowTemplateJobsPigJobQueryList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobQueryList">DataprocWorkflowTemplateJobsPigJobQueryList</a>

query_list block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#query_list DataprocWorkflowTemplate#query_list}

---

##### `scriptVariables`<sup>Optional</sup> <a name="scriptVariables" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJob.property.scriptVariables"></a>

```typescript
public readonly scriptVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. Mapping of query variable names to values (equivalent to the Pig command: `name=[value]`).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#script_variables DataprocWorkflowTemplate#script_variables}

---

### DataprocWorkflowTemplateJobsPigJobLoggingConfig <a name="DataprocWorkflowTemplateJobsPigJobLoggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobLoggingConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsPigJobLoggingConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsPigJobLoggingConfig: DataprocWorkflowTemplateJobsPigJobLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | The per-package log levels for the driver. |

---

##### `driverLogLevels`<sup>Optional</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The per-package log levels for the driver.

This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#driver_log_levels DataprocWorkflowTemplate#driver_log_levels}

---

### DataprocWorkflowTemplateJobsPigJobQueryList <a name="DataprocWorkflowTemplateJobsPigJobQueryList" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobQueryList"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobQueryList.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsPigJobQueryList } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsPigJobQueryList: DataprocWorkflowTemplateJobsPigJobQueryList = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobQueryList.property.queries">queries</a></code> | <code>string[]</code> | Required. |

---

##### `queries`<sup>Required</sup> <a name="queries" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPigJobQueryList.property.queries"></a>

```typescript
public readonly queries: string[];
```

- *Type:* string[]

Required.

The queries to execute. You do not need to end a query expression with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of a Dataproc API snippet that uses a QueryList to specify a HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", "query2", "query3;query4", ] } }

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#queries DataprocWorkflowTemplate#queries}

---

### DataprocWorkflowTemplateJobsPrestoJob <a name="DataprocWorkflowTemplateJobsPrestoJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsPrestoJob } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsPrestoJob: DataprocWorkflowTemplateJobsPrestoJob = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.clientTags">clientTags</a></code> | <code>string[]</code> | Optional. Presto client tags to attach to this query. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.continueOnFailure">continueOnFailure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobLoggingConfig">DataprocWorkflowTemplateJobsPrestoJobLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.outputFormat">outputFormat</a></code> | <code>string</code> | Optional. The format in which query output will be displayed. See the Presto documentation for supported output formats. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.queryFileUri">queryFileUri</a></code> | <code>string</code> | The HCFS URI of the script that contains SQL queries. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.queryList">queryList</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobQueryList">DataprocWorkflowTemplateJobsPrestoJobQueryList</a></code> | query_list block. |

---

##### `clientTags`<sup>Optional</sup> <a name="clientTags" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.clientTags"></a>

```typescript
public readonly clientTags: string[];
```

- *Type:* string[]

Optional. Presto client tags to attach to this query.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#client_tags DataprocWorkflowTemplate#client_tags}

---

##### `continueOnFailure`<sup>Optional</sup> <a name="continueOnFailure" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.continueOnFailure"></a>

```typescript
public readonly continueOnFailure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Whether to continue executing queries if a query fails. The default value is `false`. Setting to `true` can be useful when executing independent parallel queries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#continue_on_failure DataprocWorkflowTemplate#continue_on_failure}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocWorkflowTemplateJobsPrestoJobLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobLoggingConfig">DataprocWorkflowTemplateJobsPrestoJobLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#logging_config DataprocWorkflowTemplate#logging_config}

---

##### `outputFormat`<sup>Optional</sup> <a name="outputFormat" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.outputFormat"></a>

```typescript
public readonly outputFormat: string;
```

- *Type:* string

Optional. The format in which query output will be displayed. See the Presto documentation for supported output formats.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#output_format DataprocWorkflowTemplate#output_format}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A mapping of property names to values. Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Presto CLI

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#properties DataprocWorkflowTemplate#properties}

---

##### `queryFileUri`<sup>Optional</sup> <a name="queryFileUri" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.queryFileUri"></a>

```typescript
public readonly queryFileUri: string;
```

- *Type:* string

The HCFS URI of the script that contains SQL queries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#query_file_uri DataprocWorkflowTemplate#query_file_uri}

---

##### `queryList`<sup>Optional</sup> <a name="queryList" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJob.property.queryList"></a>

```typescript
public readonly queryList: DataprocWorkflowTemplateJobsPrestoJobQueryList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobQueryList">DataprocWorkflowTemplateJobsPrestoJobQueryList</a>

query_list block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#query_list DataprocWorkflowTemplate#query_list}

---

### DataprocWorkflowTemplateJobsPrestoJobLoggingConfig <a name="DataprocWorkflowTemplateJobsPrestoJobLoggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobLoggingConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsPrestoJobLoggingConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsPrestoJobLoggingConfig: DataprocWorkflowTemplateJobsPrestoJobLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | The per-package log levels for the driver. |

---

##### `driverLogLevels`<sup>Optional</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The per-package log levels for the driver.

This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#driver_log_levels DataprocWorkflowTemplate#driver_log_levels}

---

### DataprocWorkflowTemplateJobsPrestoJobQueryList <a name="DataprocWorkflowTemplateJobsPrestoJobQueryList" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobQueryList"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobQueryList.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsPrestoJobQueryList } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsPrestoJobQueryList: DataprocWorkflowTemplateJobsPrestoJobQueryList = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobQueryList.property.queries">queries</a></code> | <code>string[]</code> | Required. |

---

##### `queries`<sup>Required</sup> <a name="queries" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPrestoJobQueryList.property.queries"></a>

```typescript
public readonly queries: string[];
```

- *Type:* string[]

Required.

The queries to execute. You do not need to end a query expression with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of a Dataproc API snippet that uses a QueryList to specify a HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", "query2", "query3;query4", ] } }

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#queries DataprocWorkflowTemplate#queries}

---

### DataprocWorkflowTemplateJobsPysparkJob <a name="DataprocWorkflowTemplateJobsPysparkJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsPysparkJob } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsPysparkJob: DataprocWorkflowTemplateJobsPysparkJob = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.mainPythonFileUri">mainPythonFileUri</a></code> | <code>string</code> | Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.archiveUris">archiveUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.args">args</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.fileUris">fileUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver and tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJobLoggingConfig">DataprocWorkflowTemplateJobsPysparkJobLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.pythonFileUris">pythonFileUris</a></code> | <code>string[]</code> | Optional. |

---

##### `mainPythonFileUri`<sup>Required</sup> <a name="mainPythonFileUri" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.mainPythonFileUri"></a>

```typescript
public readonly mainPythonFileUri: string;
```

- *Type:* string

Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#main_python_file_uri DataprocWorkflowTemplate#main_python_file_uri}

---

##### `archiveUris`<sup>Optional</sup> <a name="archiveUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.archiveUris"></a>

```typescript
public readonly archiveUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#archive_uris DataprocWorkflowTemplate#archive_uris}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

Optional.

The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#args DataprocWorkflowTemplate#args}

---

##### `fileUris`<sup>Optional</sup> <a name="fileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.fileUris"></a>

```typescript
public readonly fileUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#file_uris DataprocWorkflowTemplate#file_uris}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver and tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#jar_file_uris DataprocWorkflowTemplate#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocWorkflowTemplateJobsPysparkJobLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJobLoggingConfig">DataprocWorkflowTemplateJobsPysparkJobLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#logging_config DataprocWorkflowTemplate#logging_config}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#properties DataprocWorkflowTemplate#properties}

---

##### `pythonFileUris`<sup>Optional</sup> <a name="pythonFileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJob.property.pythonFileUris"></a>

```typescript
public readonly pythonFileUris: string[];
```

- *Type:* string[]

Optional.

HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#python_file_uris DataprocWorkflowTemplate#python_file_uris}

---

### DataprocWorkflowTemplateJobsPysparkJobLoggingConfig <a name="DataprocWorkflowTemplateJobsPysparkJobLoggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJobLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJobLoggingConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsPysparkJobLoggingConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsPysparkJobLoggingConfig: DataprocWorkflowTemplateJobsPysparkJobLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJobLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | The per-package log levels for the driver. |

---

##### `driverLogLevels`<sup>Optional</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsPysparkJobLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The per-package log levels for the driver.

This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#driver_log_levels DataprocWorkflowTemplate#driver_log_levels}

---

### DataprocWorkflowTemplateJobsScheduling <a name="DataprocWorkflowTemplateJobsScheduling" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsScheduling"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsScheduling.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsScheduling } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsScheduling: DataprocWorkflowTemplateJobsScheduling = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsScheduling.property.maxFailuresPerHour">maxFailuresPerHour</a></code> | <code>number</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsScheduling.property.maxFailuresTotal">maxFailuresTotal</a></code> | <code>number</code> | Optional. |

---

##### `maxFailuresPerHour`<sup>Optional</sup> <a name="maxFailuresPerHour" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsScheduling.property.maxFailuresPerHour"></a>

```typescript
public readonly maxFailuresPerHour: number;
```

- *Type:* number

Optional.

Maximum number of times per hour a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed. A job may be reported as thrashing if driver exits with non-zero code 4 times within 10 minute window. Maximum value is 10.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#max_failures_per_hour DataprocWorkflowTemplate#max_failures_per_hour}

---

##### `maxFailuresTotal`<sup>Optional</sup> <a name="maxFailuresTotal" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsScheduling.property.maxFailuresTotal"></a>

```typescript
public readonly maxFailuresTotal: number;
```

- *Type:* number

Optional.

Maximum number of times in total a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed. Maximum value is 240.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#max_failures_total DataprocWorkflowTemplate#max_failures_total}

---

### DataprocWorkflowTemplateJobsSparkJob <a name="DataprocWorkflowTemplateJobsSparkJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsSparkJob } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsSparkJob: DataprocWorkflowTemplateJobsSparkJob = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.archiveUris">archiveUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.args">args</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.fileUris">fileUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJobLoggingConfig">DataprocWorkflowTemplateJobsSparkJobLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.mainClass">mainClass</a></code> | <code>string</code> | The name of the driver's main class. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.mainJarFileUri">mainJarFileUri</a></code> | <code>string</code> | The HCFS URI of the jar file that contains the main class. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `archiveUris`<sup>Optional</sup> <a name="archiveUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.archiveUris"></a>

```typescript
public readonly archiveUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#archive_uris DataprocWorkflowTemplate#archive_uris}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

Optional.

The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#args DataprocWorkflowTemplate#args}

---

##### `fileUris`<sup>Optional</sup> <a name="fileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.fileUris"></a>

```typescript
public readonly fileUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#file_uris DataprocWorkflowTemplate#file_uris}

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#jar_file_uris DataprocWorkflowTemplate#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocWorkflowTemplateJobsSparkJobLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJobLoggingConfig">DataprocWorkflowTemplateJobsSparkJobLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#logging_config DataprocWorkflowTemplate#logging_config}

---

##### `mainClass`<sup>Optional</sup> <a name="mainClass" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.mainClass"></a>

```typescript
public readonly mainClass: string;
```

- *Type:* string

The name of the driver's main class.

The jar file that contains the class must be in the default CLASSPATH or specified in `jar_file_uris`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#main_class DataprocWorkflowTemplate#main_class}

---

##### `mainJarFileUri`<sup>Optional</sup> <a name="mainJarFileUri" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.mainJarFileUri"></a>

```typescript
public readonly mainJarFileUri: string;
```

- *Type:* string

The HCFS URI of the jar file that contains the main class.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#main_jar_file_uri DataprocWorkflowTemplate#main_jar_file_uri}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJob.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#properties DataprocWorkflowTemplate#properties}

---

### DataprocWorkflowTemplateJobsSparkJobLoggingConfig <a name="DataprocWorkflowTemplateJobsSparkJobLoggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJobLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJobLoggingConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsSparkJobLoggingConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsSparkJobLoggingConfig: DataprocWorkflowTemplateJobsSparkJobLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJobLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | The per-package log levels for the driver. |

---

##### `driverLogLevels`<sup>Optional</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkJobLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The per-package log levels for the driver.

This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#driver_log_levels DataprocWorkflowTemplate#driver_log_levels}

---

### DataprocWorkflowTemplateJobsSparkRJob <a name="DataprocWorkflowTemplateJobsSparkRJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsSparkRJob } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsSparkRJob: DataprocWorkflowTemplateJobsSparkRJob = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.mainRFileUri">mainRFileUri</a></code> | <code>string</code> | Required. The HCFS URI of the main R file to use as the driver. Must be a .R file. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.archiveUris">archiveUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.args">args</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.fileUris">fileUris</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJobLoggingConfig">DataprocWorkflowTemplateJobsSparkRJobLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `mainRFileUri`<sup>Required</sup> <a name="mainRFileUri" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.mainRFileUri"></a>

```typescript
public readonly mainRFileUri: string;
```

- *Type:* string

Required. The HCFS URI of the main R file to use as the driver. Must be a .R file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#main_r_file_uri DataprocWorkflowTemplate#main_r_file_uri}

---

##### `archiveUris`<sup>Optional</sup> <a name="archiveUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.archiveUris"></a>

```typescript
public readonly archiveUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#archive_uris DataprocWorkflowTemplate#archive_uris}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

Optional.

The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#args DataprocWorkflowTemplate#args}

---

##### `fileUris`<sup>Optional</sup> <a name="fileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.fileUris"></a>

```typescript
public readonly fileUris: string[];
```

- *Type:* string[]

Optional.

HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#file_uris DataprocWorkflowTemplate#file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocWorkflowTemplateJobsSparkRJobLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJobLoggingConfig">DataprocWorkflowTemplateJobsSparkRJobLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#logging_config DataprocWorkflowTemplate#logging_config}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJob.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A mapping of property names to values, used to configure SparkR. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#properties DataprocWorkflowTemplate#properties}

---

### DataprocWorkflowTemplateJobsSparkRJobLoggingConfig <a name="DataprocWorkflowTemplateJobsSparkRJobLoggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJobLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJobLoggingConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsSparkRJobLoggingConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsSparkRJobLoggingConfig: DataprocWorkflowTemplateJobsSparkRJobLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJobLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | The per-package log levels for the driver. |

---

##### `driverLogLevels`<sup>Optional</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkRJobLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The per-package log levels for the driver.

This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#driver_log_levels DataprocWorkflowTemplate#driver_log_levels}

---

### DataprocWorkflowTemplateJobsSparkSqlJob <a name="DataprocWorkflowTemplateJobsSparkSqlJob" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsSparkSqlJob } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsSparkSqlJob: DataprocWorkflowTemplateJobsSparkSqlJob = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.jarFileUris">jarFileUris</a></code> | <code>string[]</code> | Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.loggingConfig">loggingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig">DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig</a></code> | logging_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.queryFileUri">queryFileUri</a></code> | <code>string</code> | The HCFS URI of the script that contains SQL queries. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.queryList">queryList</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobQueryList">DataprocWorkflowTemplateJobsSparkSqlJobQueryList</a></code> | query_list block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.scriptVariables">scriptVariables</a></code> | <code>{[ key: string ]: string}</code> | Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET `name="value";`). |

---

##### `jarFileUris`<sup>Optional</sup> <a name="jarFileUris" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.jarFileUris"></a>

```typescript
public readonly jarFileUris: string[];
```

- *Type:* string[]

Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#jar_file_uris DataprocWorkflowTemplate#jar_file_uris}

---

##### `loggingConfig`<sup>Optional</sup> <a name="loggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.loggingConfig"></a>

```typescript
public readonly loggingConfig: DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig">DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig</a>

logging_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#logging_config DataprocWorkflowTemplate#logging_config}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

A mapping of property names to values, used to configure Spark SQL's SparkConf. Properties that conflict with values set by the Dataproc API may be overwritten.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#properties DataprocWorkflowTemplate#properties}

---

##### `queryFileUri`<sup>Optional</sup> <a name="queryFileUri" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.queryFileUri"></a>

```typescript
public readonly queryFileUri: string;
```

- *Type:* string

The HCFS URI of the script that contains SQL queries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#query_file_uri DataprocWorkflowTemplate#query_file_uri}

---

##### `queryList`<sup>Optional</sup> <a name="queryList" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.queryList"></a>

```typescript
public readonly queryList: DataprocWorkflowTemplateJobsSparkSqlJobQueryList;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobQueryList">DataprocWorkflowTemplateJobsSparkSqlJobQueryList</a>

query_list block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#query_list DataprocWorkflowTemplate#query_list}

---

##### `scriptVariables`<sup>Optional</sup> <a name="scriptVariables" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJob.property.scriptVariables"></a>

```typescript
public readonly scriptVariables: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET `name="value";`).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#script_variables DataprocWorkflowTemplate#script_variables}

---

### DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig <a name="DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig: DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig.property.driverLogLevels">driverLogLevels</a></code> | <code>{[ key: string ]: string}</code> | The per-package log levels for the driver. |

---

##### `driverLogLevels`<sup>Optional</sup> <a name="driverLogLevels" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobLoggingConfig.property.driverLogLevels"></a>

```typescript
public readonly driverLogLevels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The per-package log levels for the driver.

This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#driver_log_levels DataprocWorkflowTemplate#driver_log_levels}

---

### DataprocWorkflowTemplateJobsSparkSqlJobQueryList <a name="DataprocWorkflowTemplateJobsSparkSqlJobQueryList" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobQueryList"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobQueryList.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateJobsSparkSqlJobQueryList } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateJobsSparkSqlJobQueryList: DataprocWorkflowTemplateJobsSparkSqlJobQueryList = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobQueryList.property.queries">queries</a></code> | <code>string[]</code> | Required. |

---

##### `queries`<sup>Required</sup> <a name="queries" id="@dschmidt/provider-google.DataprocWorkflowTemplateJobsSparkSqlJobQueryList.property.queries"></a>

```typescript
public readonly queries: string[];
```

- *Type:* string[]

Required.

The queries to execute. You do not need to end a query expression with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of a Dataproc API snippet that uses a QueryList to specify a HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", "query2", "query3;query4", ] } }

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#queries DataprocWorkflowTemplate#queries}

---

### DataprocWorkflowTemplateParameters <a name="DataprocWorkflowTemplateParameters" id="@dschmidt/provider-google.DataprocWorkflowTemplateParameters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateParameters.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateParameters } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateParameters: DataprocWorkflowTemplateParameters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParameters.property.fields">fields</a></code> | <code>string[]</code> | Required. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParameters.property.name">name</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParameters.property.description">description</a></code> | <code>string</code> | Optional. Brief description of the parameter. Must not exceed 1024 characters. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParameters.property.validation">validation</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidation">DataprocWorkflowTemplateParametersValidation</a></code> | validation block. |

---

##### `fields`<sup>Required</sup> <a name="fields" id="@dschmidt/provider-google.DataprocWorkflowTemplateParameters.property.fields"></a>

```typescript
public readonly fields: string[];
```

- *Type:* string[]

Required.

Paths to all fields that the parameter replaces. A field is allowed to appear in at most one parameter's list of field paths. A field path is similar in syntax to a google.protobuf.FieldMask. For example, a field path that references the zone field of a workflow template's cluster selector would be specified as `placement.clusterSelector.zone`. Also, field paths can reference fields using the following syntax: * Values in maps can be referenced by key: * labels['key'] * placement.clusterSelector.clusterLabels['key'] * placement.managedCluster.labels['key'] * placement.clusterSelector.clusterLabels['key'] * jobs['step-id'].labels['key'] * Jobs in the jobs list can be referenced by step-id: * jobs['step-id'].hadoopJob.mainJarFileUri * jobs['step-id'].hiveJob.queryFileUri * jobs['step-id'].pySparkJob.mainPythonFileUri * jobs['step-id'].hadoopJob.jarFileUris[0] * jobs['step-id'].hadoopJob.archiveUris[0] * jobs['step-id'].hadoopJob.fileUris[0] * jobs['step-id'].pySparkJob.pythonFileUris[0] * Items in repeated fields can be referenced by a zero-based index: * jobs['step-id'].sparkJob.args[0] * Other examples: * jobs['step-id'].hadoopJob.properties['key'] * jobs['step-id'].hadoopJob.args[0] * jobs['step-id'].hiveJob.scriptVariables['key'] * jobs['step-id'].hadoopJob.mainJarFileUri * placement.clusterSelector.zone It may not be possible to parameterize maps and repeated fields in their entirety since only individual map values and individual items in repeated fields can be referenced. For example, the following field paths are invalid: - placement.clusterSelector.clusterLabels - jobs['step-id'].sparkJob.args

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#fields DataprocWorkflowTemplate#fields}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DataprocWorkflowTemplateParameters.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Required.

Parameter name. The parameter name is used as the key, and paired with the parameter value, which are passed to the template when the template is instantiated. The name must contain only capital letters (A-Z), numbers (0-9), and underscores (_), and must not start with a number. The maximum length is 40 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#name DataprocWorkflowTemplate#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DataprocWorkflowTemplateParameters.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. Brief description of the parameter. Must not exceed 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#description DataprocWorkflowTemplate#description}

---

##### `validation`<sup>Optional</sup> <a name="validation" id="@dschmidt/provider-google.DataprocWorkflowTemplateParameters.property.validation"></a>

```typescript
public readonly validation: DataprocWorkflowTemplateParametersValidation;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidation">DataprocWorkflowTemplateParametersValidation</a>

validation block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#validation DataprocWorkflowTemplate#validation}

---

### DataprocWorkflowTemplateParametersValidation <a name="DataprocWorkflowTemplateParametersValidation" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidation.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateParametersValidation } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateParametersValidation: DataprocWorkflowTemplateParametersValidation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidation.property.regex">regex</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationRegex">DataprocWorkflowTemplateParametersValidationRegex</a></code> | regex block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidation.property.values">values</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationValues">DataprocWorkflowTemplateParametersValidationValues</a></code> | values block. |

---

##### `regex`<sup>Optional</sup> <a name="regex" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidation.property.regex"></a>

```typescript
public readonly regex: DataprocWorkflowTemplateParametersValidationRegex;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationRegex">DataprocWorkflowTemplateParametersValidationRegex</a>

regex block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#regex DataprocWorkflowTemplate#regex}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidation.property.values"></a>

```typescript
public readonly values: DataprocWorkflowTemplateParametersValidationValues;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationValues">DataprocWorkflowTemplateParametersValidationValues</a>

values block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#values DataprocWorkflowTemplate#values}

---

### DataprocWorkflowTemplateParametersValidationRegex <a name="DataprocWorkflowTemplateParametersValidationRegex" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationRegex"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationRegex.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateParametersValidationRegex } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateParametersValidationRegex: DataprocWorkflowTemplateParametersValidationRegex = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationRegex.property.regexes">regexes</a></code> | <code>string[]</code> | Required. |

---

##### `regexes`<sup>Required</sup> <a name="regexes" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationRegex.property.regexes"></a>

```typescript
public readonly regexes: string[];
```

- *Type:* string[]

Required.

RE2 regular expressions used to validate the parameter's value. The value must match the regex in its entirety (substring matches are not sufficient).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#regexes DataprocWorkflowTemplate#regexes}

---

### DataprocWorkflowTemplateParametersValidationValues <a name="DataprocWorkflowTemplateParametersValidationValues" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationValues"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationValues.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateParametersValidationValues } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateParametersValidationValues: DataprocWorkflowTemplateParametersValidationValues = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationValues.property.values">values</a></code> | <code>string[]</code> | Required. List of allowed values for the parameter. |

---

##### `values`<sup>Required</sup> <a name="values" id="@dschmidt/provider-google.DataprocWorkflowTemplateParametersValidationValues.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

Required. List of allowed values for the parameter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#values DataprocWorkflowTemplate#values}

---

### DataprocWorkflowTemplatePlacement <a name="DataprocWorkflowTemplatePlacement" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacement"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacement.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacement } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacement: DataprocWorkflowTemplatePlacement = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacement.property.clusterSelector">clusterSelector</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementClusterSelector">DataprocWorkflowTemplatePlacementClusterSelector</a></code> | cluster_selector block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacement.property.managedCluster">managedCluster</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster">DataprocWorkflowTemplatePlacementManagedCluster</a></code> | managed_cluster block. |

---

##### `clusterSelector`<sup>Optional</sup> <a name="clusterSelector" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacement.property.clusterSelector"></a>

```typescript
public readonly clusterSelector: DataprocWorkflowTemplatePlacementClusterSelector;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementClusterSelector">DataprocWorkflowTemplatePlacementClusterSelector</a>

cluster_selector block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#cluster_selector DataprocWorkflowTemplate#cluster_selector}

---

##### `managedCluster`<sup>Optional</sup> <a name="managedCluster" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacement.property.managedCluster"></a>

```typescript
public readonly managedCluster: DataprocWorkflowTemplatePlacementManagedCluster;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster">DataprocWorkflowTemplatePlacementManagedCluster</a>

managed_cluster block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#managed_cluster DataprocWorkflowTemplate#managed_cluster}

---

### DataprocWorkflowTemplatePlacementClusterSelector <a name="DataprocWorkflowTemplatePlacementClusterSelector" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementClusterSelector"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementClusterSelector.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementClusterSelector } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementClusterSelector: DataprocWorkflowTemplatePlacementClusterSelector = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementClusterSelector.property.clusterLabels">clusterLabels</a></code> | <code>{[ key: string ]: string}</code> | Required. The cluster labels. Cluster must have all labels to match. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementClusterSelector.property.zone">zone</a></code> | <code>string</code> | Optional. |

---

##### `clusterLabels`<sup>Required</sup> <a name="clusterLabels" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementClusterSelector.property.clusterLabels"></a>

```typescript
public readonly clusterLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Required. The cluster labels. Cluster must have all labels to match.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#cluster_labels DataprocWorkflowTemplate#cluster_labels}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementClusterSelector.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Optional.

The zone where workflow process executes. This parameter does not affect the selection of the cluster. If unspecified, the zone of the first cluster matching the selector is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#zone DataprocWorkflowTemplate#zone}

---

### DataprocWorkflowTemplatePlacementManagedCluster <a name="DataprocWorkflowTemplatePlacementManagedCluster" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedCluster } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedCluster: DataprocWorkflowTemplatePlacementManagedCluster = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster.property.clusterName">clusterName</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig">DataprocWorkflowTemplatePlacementManagedClusterConfig</a></code> | config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `clusterName`<sup>Required</sup> <a name="clusterName" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster.property.clusterName"></a>

```typescript
public readonly clusterName: string;
```

- *Type:* string

Required.

The cluster name prefix. A unique cluster name will be formed by appending a random suffix. The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#cluster_name DataprocWorkflowTemplate#cluster_name}

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster.property.config"></a>

```typescript
public readonly config: DataprocWorkflowTemplatePlacementManagedClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig">DataprocWorkflowTemplatePlacementManagedClusterConfig</a>

config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#config DataprocWorkflowTemplate#config}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedCluster.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The labels to associate with this cluster. Label keys must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: p{Ll}p{Lo}{0,62} Label values must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than 32 labels can be associated with a given cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#labels DataprocWorkflowTemplate#labels}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfig: DataprocWorkflowTemplatePlacementManagedClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.autoscalingConfig">autoscalingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig</a></code> | autoscaling_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.encryptionConfig">encryptionConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig</a></code> | encryption_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.endpointConfig">endpointConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig</a></code> | endpoint_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.gceClusterConfig">gceClusterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig</a></code> | gce_cluster_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.initializationActions">initializationActions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions">DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions</a>[]</code> | initialization_actions block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.lifecycleConfig">lifecycleConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig</a></code> | lifecycle_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.masterConfig">masterConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig</a></code> | master_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.secondaryWorkerConfig">secondaryWorkerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig</a></code> | secondary_worker_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.securityConfig">securityConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig</a></code> | security_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.softwareConfig">softwareConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig</a></code> | software_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.stagingBucket">stagingBucket</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.tempBucket">tempBucket</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.workerConfig">workerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig</a></code> | worker_config block. |

---

##### `autoscalingConfig`<sup>Optional</sup> <a name="autoscalingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.autoscalingConfig"></a>

```typescript
public readonly autoscalingConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig</a>

autoscaling_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#autoscaling_config DataprocWorkflowTemplate#autoscaling_config}

---

##### `encryptionConfig`<sup>Optional</sup> <a name="encryptionConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.encryptionConfig"></a>

```typescript
public readonly encryptionConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig</a>

encryption_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#encryption_config DataprocWorkflowTemplate#encryption_config}

---

##### `endpointConfig`<sup>Optional</sup> <a name="endpointConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.endpointConfig"></a>

```typescript
public readonly endpointConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig</a>

endpoint_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#endpoint_config DataprocWorkflowTemplate#endpoint_config}

---

##### `gceClusterConfig`<sup>Optional</sup> <a name="gceClusterConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.gceClusterConfig"></a>

```typescript
public readonly gceClusterConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig</a>

gce_cluster_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#gce_cluster_config DataprocWorkflowTemplate#gce_cluster_config}

---

##### `initializationActions`<sup>Optional</sup> <a name="initializationActions" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.initializationActions"></a>

```typescript
public readonly initializationActions: IResolvable | DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions">DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions</a>[]

initialization_actions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#initialization_actions DataprocWorkflowTemplate#initialization_actions}

---

##### `lifecycleConfig`<sup>Optional</sup> <a name="lifecycleConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.lifecycleConfig"></a>

```typescript
public readonly lifecycleConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig</a>

lifecycle_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#lifecycle_config DataprocWorkflowTemplate#lifecycle_config}

---

##### `masterConfig`<sup>Optional</sup> <a name="masterConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.masterConfig"></a>

```typescript
public readonly masterConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig</a>

master_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#master_config DataprocWorkflowTemplate#master_config}

---

##### `secondaryWorkerConfig`<sup>Optional</sup> <a name="secondaryWorkerConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.secondaryWorkerConfig"></a>

```typescript
public readonly secondaryWorkerConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig</a>

secondary_worker_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#secondary_worker_config DataprocWorkflowTemplate#secondary_worker_config}

---

##### `securityConfig`<sup>Optional</sup> <a name="securityConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.securityConfig"></a>

```typescript
public readonly securityConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig</a>

security_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#security_config DataprocWorkflowTemplate#security_config}

---

##### `softwareConfig`<sup>Optional</sup> <a name="softwareConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.softwareConfig"></a>

```typescript
public readonly softwareConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig</a>

software_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#software_config DataprocWorkflowTemplate#software_config}

---

##### `stagingBucket`<sup>Optional</sup> <a name="stagingBucket" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.stagingBucket"></a>

```typescript
public readonly stagingBucket: string;
```

- *Type:* string

Optional.

A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see [Dataproc staging bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). **This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.**

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#staging_bucket DataprocWorkflowTemplate#staging_bucket}

---

##### `tempBucket`<sup>Optional</sup> <a name="tempBucket" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.tempBucket"></a>

```typescript
public readonly tempBucket: string;
```

- *Type:* string

Optional.

A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. **This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.**

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#temp_bucket DataprocWorkflowTemplate#temp_bucket}

---

##### `workerConfig`<sup>Optional</sup> <a name="workerConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfig.property.workerConfig"></a>

```typescript
public readonly workerConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig</a>

worker_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#worker_config DataprocWorkflowTemplate#worker_config}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig.property.policy">policy</a></code> | <code>string</code> | Optional. |

---

##### `policy`<sup>Optional</sup> <a name="policy" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig.property.policy"></a>

```typescript
public readonly policy: string;
```

- *Type:* string

Optional.

The autoscaling policy used by the cluster. Only resource names including projectid and location (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]` * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]` Note that the policy must be in the same project and Dataproc region.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#policy DataprocWorkflowTemplate#policy}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig.property.gcePdKmsKeyName">gcePdKmsKeyName</a></code> | <code>string</code> | Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster. |

---

##### `gcePdKmsKeyName`<sup>Optional</sup> <a name="gcePdKmsKeyName" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig.property.gcePdKmsKeyName"></a>

```typescript
public readonly gcePdKmsKeyName: string;
```

- *Type:* string

Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#gce_pd_kms_key_name DataprocWorkflowTemplate#gce_pd_kms_key_name}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig.property.enableHttpPortAccess">enableHttpPortAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. If true, enable http access to specific ports on the cluster from external sources. Defaults to false. |

---

##### `enableHttpPortAccess`<sup>Optional</sup> <a name="enableHttpPortAccess" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigEndpointConfig.property.enableHttpPortAccess"></a>

```typescript
public readonly enableHttpPortAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional. If true, enable http access to specific ports on the cluster from external sources. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#enable_http_port_access DataprocWorkflowTemplate#enable_http_port_access}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.internalIpOnly">internalIpOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | The Compute Engine metadata entries to add to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.network">network</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.nodeGroupAffinity">nodeGroupAffinity</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity">DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity</a></code> | node_group_affinity block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.privateIpv6GoogleAccess">privateIpv6GoogleAccess</a></code> | <code>string</code> | Optional. The type of IPv6 access for a cluster. Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity">DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity</a></code> | reservation_affinity block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.serviceAccountScopes">serviceAccountScopes</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.subnetwork">subnetwork</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.tags">tags</a></code> | <code>string[]</code> | The Compute Engine tags to add to all instances (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)). |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.zone">zone</a></code> | <code>string</code> | Optional. |

---

##### `internalIpOnly`<sup>Optional</sup> <a name="internalIpOnly" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.internalIpOnly"></a>

```typescript
public readonly internalIpOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This `internal_ip_only` restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#internal_ip_only DataprocWorkflowTemplate#internal_ip_only}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The Compute Engine metadata entries to add to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#metadata DataprocWorkflowTemplate#metadata}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

Optional.

The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither `network_uri` nor `subnetwork_uri` is specified, the "default" network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks) for more information). A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/global/default` * `default`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#network DataprocWorkflowTemplate#network}

---

##### `nodeGroupAffinity`<sup>Optional</sup> <a name="nodeGroupAffinity" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.nodeGroupAffinity"></a>

```typescript
public readonly nodeGroupAffinity: DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity">DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity</a>

node_group_affinity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#node_group_affinity DataprocWorkflowTemplate#node_group_affinity}

---

##### `privateIpv6GoogleAccess`<sup>Optional</sup> <a name="privateIpv6GoogleAccess" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.privateIpv6GoogleAccess"></a>

```typescript
public readonly privateIpv6GoogleAccess: string;
```

- *Type:* string

Optional. The type of IPv6 access for a cluster. Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#private_ipv6_google_access DataprocWorkflowTemplate#private_ipv6_google_access}

---

##### `reservationAffinity`<sup>Optional</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity">DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity</a>

reservation_affinity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#reservation_affinity DataprocWorkflowTemplate#reservation_affinity}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

Optional.

The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#service_account DataprocWorkflowTemplate#service_account}

---

##### `serviceAccountScopes`<sup>Optional</sup> <a name="serviceAccountScopes" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.serviceAccountScopes"></a>

```typescript
public readonly serviceAccountScopes: string[];
```

- *Type:* string[]

Optional.

The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly * https://www.googleapis.com/auth/devstorage.read_write * https://www.googleapis.com/auth/logging.write If no scopes are specified, the following defaults are also provided: * https://www.googleapis.com/auth/bigquery * https://www.googleapis.com/auth/bigtable.admin.table * https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#service_account_scopes DataprocWorkflowTemplate#service_account_scopes}

---

##### `subnetwork`<sup>Optional</sup> <a name="subnetwork" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.subnetwork"></a>

```typescript
public readonly subnetwork: string;
```

- *Type:* string

Optional.

The Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0` * `projects/[project_id]/regions/us-east1/subnetworks/sub0` * `sub0`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#subnetwork DataprocWorkflowTemplate#subnetwork}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The Compute Engine tags to add to all instances (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#tags DataprocWorkflowTemplate#tags}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Optional.

The zone where the Compute Engine cluster will be located. On a create request, it is required in the "global" region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]` * `projects/[project_id]/zones/[zone]` * `us-central1-f`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#zone DataprocWorkflowTemplate#zone}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity: DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.property.nodeGroup">nodeGroup</a></code> | <code>string</code> | Required. |

---

##### `nodeGroup`<sup>Required</sup> <a name="nodeGroup" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.property.nodeGroup"></a>

```typescript
public readonly nodeGroup: string;
```

- *Type:* string

Required.

The URI of a sole-tenant [node group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on. A full URL, partial URI, or node group name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1` * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1` * `node-group-1`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#node_group DataprocWorkflowTemplate#node_group}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity: DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.property.consumeReservationType">consumeReservationType</a></code> | <code>string</code> | Optional. Type of reservation to consume Possible values: TYPE_UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION, SPECIFIC_RESERVATION. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.property.key">key</a></code> | <code>string</code> | Optional. Corresponds to the label key of reservation resource. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.property.values">values</a></code> | <code>string[]</code> | Optional. Corresponds to the label values of reservation resource. |

---

##### `consumeReservationType`<sup>Optional</sup> <a name="consumeReservationType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.property.consumeReservationType"></a>

```typescript
public readonly consumeReservationType: string;
```

- *Type:* string

Optional. Type of reservation to consume Possible values: TYPE_UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION, SPECIFIC_RESERVATION.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#consume_reservation_type DataprocWorkflowTemplate#consume_reservation_type}

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Optional. Corresponds to the label key of reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#key DataprocWorkflowTemplate#key}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

Optional. Corresponds to the label values of reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#values DataprocWorkflowTemplate#values}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions: DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions.property.executableFile">executableFile</a></code> | <code>string</code> | Required. Cloud Storage URI of executable file. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions.property.executionTimeout">executionTimeout</a></code> | <code>string</code> | Optional. |

---

##### `executableFile`<sup>Optional</sup> <a name="executableFile" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions.property.executableFile"></a>

```typescript
public readonly executableFile: string;
```

- *Type:* string

Required. Cloud Storage URI of executable file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#executable_file DataprocWorkflowTemplate#executable_file}

---

##### `executionTimeout`<sup>Optional</sup> <a name="executionTimeout" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigInitializationActions.property.executionTimeout"></a>

```typescript
public readonly executionTimeout: string;
```

- *Type:* string

Optional.

Amount of time executable has to complete. Default is 10 minutes (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). Cluster creation fails with an explanatory error message (the name of the executable that caused the error and the exceeded timeout period) if the executable is not completed at end of the timeout period.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#execution_timeout DataprocWorkflowTemplate#execution_timeout}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.property.autoDeleteTime">autoDeleteTime</a></code> | <code>string</code> | Optional. The time when cluster will be auto-deleted (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)). |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.property.autoDeleteTtl">autoDeleteTtl</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.property.idleDeleteTtl">idleDeleteTtl</a></code> | <code>string</code> | Optional. |

---

##### `autoDeleteTime`<sup>Optional</sup> <a name="autoDeleteTime" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.property.autoDeleteTime"></a>

```typescript
public readonly autoDeleteTime: string;
```

- *Type:* string

Optional. The time when cluster will be auto-deleted (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#auto_delete_time DataprocWorkflowTemplate#auto_delete_time}

---

##### `autoDeleteTtl`<sup>Optional</sup> <a name="autoDeleteTtl" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.property.autoDeleteTtl"></a>

```typescript
public readonly autoDeleteTtl: string;
```

- *Type:* string

Optional.

The lifetime duration of cluster. The cluster will be auto-deleted at the end of this period. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#auto_delete_ttl DataprocWorkflowTemplate#auto_delete_ttl}

---

##### `idleDeleteTtl`<sup>Optional</sup> <a name="idleDeleteTtl" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.property.idleDeleteTtl"></a>

```typescript
public readonly idleDeleteTtl: string;
```

- *Type:* string

Optional.

The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#idle_delete_ttl DataprocWorkflowTemplate#idle_delete_ttl}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.accelerators">accelerators</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators">DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators</a>[]</code> | accelerators block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.diskConfig">diskConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig</a></code> | disk_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.image">image</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.machineType">machineType</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | Optional. Specifies the minimum cpu platform for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.numInstances">numInstances</a></code> | <code>number</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.preemptibility">preemptibility</a></code> | <code>string</code> | Optional. |

---

##### `accelerators`<sup>Optional</sup> <a name="accelerators" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.accelerators"></a>

```typescript
public readonly accelerators: IResolvable | DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators">DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators</a>[]

accelerators block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#accelerators DataprocWorkflowTemplate#accelerators}

---

##### `diskConfig`<sup>Optional</sup> <a name="diskConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.diskConfig"></a>

```typescript
public readonly diskConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig</a>

disk_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#disk_config DataprocWorkflowTemplate#disk_config}

---

##### `image`<sup>Optional</sup> <a name="image" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

Optional.

The Compute Engine image resource used for cluster instances. The URI can represent an image or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]` * `projects/[project_id]/global/images/[image-id]` * `image-id` Image family examples. Dataproc will use the most recent image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]` * `projects/[project_id]/global/images/family/[custom-image-family-name]` If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version` or the system default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#image DataprocWorkflowTemplate#image}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

Optional.

The Compute Engine machine type used for cluster instances. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `n1-standard-2` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, `n1-standard-2`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#machine_type DataprocWorkflowTemplate#machine_type}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

Optional. Specifies the minimum cpu platform for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#min_cpu_platform DataprocWorkflowTemplate#min_cpu_platform}

---

##### `numInstances`<sup>Optional</sup> <a name="numInstances" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.numInstances"></a>

```typescript
public readonly numInstances: number;
```

- *Type:* number

Optional.

The number of VM instances in the instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) [master_config](#FIELDS.master_config) groups, **must be set to 3**. For standard cluster [master_config](#FIELDS.master_config) groups, **must be set to 1**.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#num_instances DataprocWorkflowTemplate#num_instances}

---

##### `preemptibility`<sup>Optional</sup> <a name="preemptibility" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig.property.preemptibility"></a>

```typescript
public readonly preemptibility: string;
```

- *Type:* string

Optional.

Specifies the preemptibility of the instance group. The default value for master and worker groups is `NON_PREEMPTIBLE`. This default cannot be changed. The default value for secondary instances is `PREEMPTIBLE`. Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE, PREEMPTIBLE

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#preemptibility DataprocWorkflowTemplate#preemptibility}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators.property.acceleratorCount">acceleratorCount</a></code> | <code>number</code> | The number of the accelerator cards of this type exposed to this instance. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators.property.acceleratorType">acceleratorType</a></code> | <code>string</code> | Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. |

---

##### `acceleratorCount`<sup>Optional</sup> <a name="acceleratorCount" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators.property.acceleratorCount"></a>

```typescript
public readonly acceleratorCount: number;
```

- *Type:* number

The number of the accelerator cards of this type exposed to this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#accelerator_count DataprocWorkflowTemplate#accelerator_count}

---

##### `acceleratorType`<sup>Optional</sup> <a name="acceleratorType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators.property.acceleratorType"></a>

```typescript
public readonly acceleratorType: string;
```

- *Type:* string

Full URL, partial URI, or short name of the accelerator type resource to expose to this instance.

See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `nvidia-tesla-k80` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, `nvidia-tesla-k80`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#accelerator_type DataprocWorkflowTemplate#accelerator_type}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.property.bootDiskSizeGb">bootDiskSizeGb</a></code> | <code>number</code> | Optional. Size in GB of the boot disk (default is 500GB). |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.property.bootDiskType">bootDiskType</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.property.numLocalSsds">numLocalSsds</a></code> | <code>number</code> | Optional. |

---

##### `bootDiskSizeGb`<sup>Optional</sup> <a name="bootDiskSizeGb" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.property.bootDiskSizeGb"></a>

```typescript
public readonly bootDiskSizeGb: number;
```

- *Type:* number

Optional. Size in GB of the boot disk (default is 500GB).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#boot_disk_size_gb DataprocWorkflowTemplate#boot_disk_size_gb}

---

##### `bootDiskType`<sup>Optional</sup> <a name="bootDiskType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.property.bootDiskType"></a>

```typescript
public readonly bootDiskType: string;
```

- *Type:* string

Optional.

Type of the boot disk (default is "pd-standard"). Valid values: "pd-balanced" (Persistent Disk Balanced Solid State Drive), "pd-ssd" (Persistent Disk Solid State Drive), or "pd-standard" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#boot_disk_type DataprocWorkflowTemplate#boot_disk_type}

---

##### `numLocalSsds`<sup>Optional</sup> <a name="numLocalSsds" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.property.numLocalSsds"></a>

```typescript
public readonly numLocalSsds: number;
```

- *Type:* number

Optional.

Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#num_local_ssds DataprocWorkflowTemplate#num_local_ssds}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig = { ... }
```


### DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.accelerators">accelerators</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators">DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators</a>[]</code> | accelerators block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.diskConfig">diskConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig</a></code> | disk_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.image">image</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.machineType">machineType</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | Optional. Specifies the minimum cpu platform for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.numInstances">numInstances</a></code> | <code>number</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.preemptibility">preemptibility</a></code> | <code>string</code> | Optional. |

---

##### `accelerators`<sup>Optional</sup> <a name="accelerators" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.accelerators"></a>

```typescript
public readonly accelerators: IResolvable | DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators">DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators</a>[]

accelerators block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#accelerators DataprocWorkflowTemplate#accelerators}

---

##### `diskConfig`<sup>Optional</sup> <a name="diskConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.diskConfig"></a>

```typescript
public readonly diskConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig</a>

disk_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#disk_config DataprocWorkflowTemplate#disk_config}

---

##### `image`<sup>Optional</sup> <a name="image" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

Optional.

The Compute Engine image resource used for cluster instances. The URI can represent an image or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]` * `projects/[project_id]/global/images/[image-id]` * `image-id` Image family examples. Dataproc will use the most recent image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]` * `projects/[project_id]/global/images/family/[custom-image-family-name]` If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version` or the system default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#image DataprocWorkflowTemplate#image}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

Optional.

The Compute Engine machine type used for cluster instances. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `n1-standard-2` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, `n1-standard-2`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#machine_type DataprocWorkflowTemplate#machine_type}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

Optional. Specifies the minimum cpu platform for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#min_cpu_platform DataprocWorkflowTemplate#min_cpu_platform}

---

##### `numInstances`<sup>Optional</sup> <a name="numInstances" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.numInstances"></a>

```typescript
public readonly numInstances: number;
```

- *Type:* number

Optional.

The number of VM instances in the instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) [master_config](#FIELDS.master_config) groups, **must be set to 3**. For standard cluster [master_config](#FIELDS.master_config) groups, **must be set to 1**.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#num_instances DataprocWorkflowTemplate#num_instances}

---

##### `preemptibility`<sup>Optional</sup> <a name="preemptibility" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.property.preemptibility"></a>

```typescript
public readonly preemptibility: string;
```

- *Type:* string

Optional.

Specifies the preemptibility of the instance group. The default value for master and worker groups is `NON_PREEMPTIBLE`. This default cannot be changed. The default value for secondary instances is `PREEMPTIBLE`. Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE, PREEMPTIBLE

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#preemptibility DataprocWorkflowTemplate#preemptibility}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators.property.acceleratorCount">acceleratorCount</a></code> | <code>number</code> | The number of the accelerator cards of this type exposed to this instance. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators.property.acceleratorType">acceleratorType</a></code> | <code>string</code> | Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. |

---

##### `acceleratorCount`<sup>Optional</sup> <a name="acceleratorCount" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators.property.acceleratorCount"></a>

```typescript
public readonly acceleratorCount: number;
```

- *Type:* number

The number of the accelerator cards of this type exposed to this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#accelerator_count DataprocWorkflowTemplate#accelerator_count}

---

##### `acceleratorType`<sup>Optional</sup> <a name="acceleratorType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators.property.acceleratorType"></a>

```typescript
public readonly acceleratorType: string;
```

- *Type:* string

Full URL, partial URI, or short name of the accelerator type resource to expose to this instance.

See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `nvidia-tesla-k80` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, `nvidia-tesla-k80`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#accelerator_type DataprocWorkflowTemplate#accelerator_type}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.property.bootDiskSizeGb">bootDiskSizeGb</a></code> | <code>number</code> | Optional. Size in GB of the boot disk (default is 500GB). |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.property.bootDiskType">bootDiskType</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.property.numLocalSsds">numLocalSsds</a></code> | <code>number</code> | Optional. |

---

##### `bootDiskSizeGb`<sup>Optional</sup> <a name="bootDiskSizeGb" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.property.bootDiskSizeGb"></a>

```typescript
public readonly bootDiskSizeGb: number;
```

- *Type:* number

Optional. Size in GB of the boot disk (default is 500GB).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#boot_disk_size_gb DataprocWorkflowTemplate#boot_disk_size_gb}

---

##### `bootDiskType`<sup>Optional</sup> <a name="bootDiskType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.property.bootDiskType"></a>

```typescript
public readonly bootDiskType: string;
```

- *Type:* string

Optional.

Type of the boot disk (default is "pd-standard"). Valid values: "pd-balanced" (Persistent Disk Balanced Solid State Drive), "pd-ssd" (Persistent Disk Solid State Drive), or "pd-standard" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#boot_disk_type DataprocWorkflowTemplate#boot_disk_type}

---

##### `numLocalSsds`<sup>Optional</sup> <a name="numLocalSsds" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.property.numLocalSsds"></a>

```typescript
public readonly numLocalSsds: number;
```

- *Type:* number

Optional.

Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#num_local_ssds DataprocWorkflowTemplate#num_local_ssds}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig = { ... }
```


### DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig.property.kerberosConfig">kerberosConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig</a></code> | kerberos_config block. |

---

##### `kerberosConfig`<sup>Optional</sup> <a name="kerberosConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig.property.kerberosConfig"></a>

```typescript
public readonly kerberosConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig</a>

kerberos_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#kerberos_config DataprocWorkflowTemplate#kerberos_config}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustAdminServer">crossRealmTrustAdminServer</a></code> | <code>string</code> | Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustKdc">crossRealmTrustKdc</a></code> | <code>string</code> | Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustRealm">crossRealmTrustRealm</a></code> | <code>string</code> | Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustSharedPassword">crossRealmTrustSharedPassword</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.enableKerberos">enableKerberos</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.kdcDbKey">kdcDbKey</a></code> | <code>string</code> | Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.keyPassword">keyPassword</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.keystore">keystore</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.keystorePassword">keystorePassword</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.kmsKey">kmsKey</a></code> | <code>string</code> | Optional. The uri of the KMS key used to encrypt various sensitive files. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.realm">realm</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.rootPrincipalPassword">rootPrincipalPassword</a></code> | <code>string</code> | Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.tgtLifetimeHours">tgtLifetimeHours</a></code> | <code>number</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.truststore">truststore</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.truststorePassword">truststorePassword</a></code> | <code>string</code> | Optional. |

---

##### `crossRealmTrustAdminServer`<sup>Optional</sup> <a name="crossRealmTrustAdminServer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustAdminServer"></a>

```typescript
public readonly crossRealmTrustAdminServer: string;
```

- *Type:* string

Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#cross_realm_trust_admin_server DataprocWorkflowTemplate#cross_realm_trust_admin_server}

---

##### `crossRealmTrustKdc`<sup>Optional</sup> <a name="crossRealmTrustKdc" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustKdc"></a>

```typescript
public readonly crossRealmTrustKdc: string;
```

- *Type:* string

Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#cross_realm_trust_kdc DataprocWorkflowTemplate#cross_realm_trust_kdc}

---

##### `crossRealmTrustRealm`<sup>Optional</sup> <a name="crossRealmTrustRealm" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustRealm"></a>

```typescript
public readonly crossRealmTrustRealm: string;
```

- *Type:* string

Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#cross_realm_trust_realm DataprocWorkflowTemplate#cross_realm_trust_realm}

---

##### `crossRealmTrustSharedPassword`<sup>Optional</sup> <a name="crossRealmTrustSharedPassword" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.crossRealmTrustSharedPassword"></a>

```typescript
public readonly crossRealmTrustSharedPassword: string;
```

- *Type:* string

Optional.

The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#cross_realm_trust_shared_password DataprocWorkflowTemplate#cross_realm_trust_shared_password}

---

##### `enableKerberos`<sup>Optional</sup> <a name="enableKerberos" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.enableKerberos"></a>

```typescript
public readonly enableKerberos: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#enable_kerberos DataprocWorkflowTemplate#enable_kerberos}

---

##### `kdcDbKey`<sup>Optional</sup> <a name="kdcDbKey" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.kdcDbKey"></a>

```typescript
public readonly kdcDbKey: string;
```

- *Type:* string

Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#kdc_db_key DataprocWorkflowTemplate#kdc_db_key}

---

##### `keyPassword`<sup>Optional</sup> <a name="keyPassword" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.keyPassword"></a>

```typescript
public readonly keyPassword: string;
```

- *Type:* string

Optional.

The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#key_password DataprocWorkflowTemplate#key_password}

---

##### `keystore`<sup>Optional</sup> <a name="keystore" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.keystore"></a>

```typescript
public readonly keystore: string;
```

- *Type:* string

Optional.

The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#keystore DataprocWorkflowTemplate#keystore}

---

##### `keystorePassword`<sup>Optional</sup> <a name="keystorePassword" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.keystorePassword"></a>

```typescript
public readonly keystorePassword: string;
```

- *Type:* string

Optional.

The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#keystore_password DataprocWorkflowTemplate#keystore_password}

---

##### `kmsKey`<sup>Optional</sup> <a name="kmsKey" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.kmsKey"></a>

```typescript
public readonly kmsKey: string;
```

- *Type:* string

Optional. The uri of the KMS key used to encrypt various sensitive files.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#kms_key DataprocWorkflowTemplate#kms_key}

---

##### `realm`<sup>Optional</sup> <a name="realm" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.realm"></a>

```typescript
public readonly realm: string;
```

- *Type:* string

Optional.

The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#realm DataprocWorkflowTemplate#realm}

---

##### `rootPrincipalPassword`<sup>Optional</sup> <a name="rootPrincipalPassword" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.rootPrincipalPassword"></a>

```typescript
public readonly rootPrincipalPassword: string;
```

- *Type:* string

Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#root_principal_password DataprocWorkflowTemplate#root_principal_password}

---

##### `tgtLifetimeHours`<sup>Optional</sup> <a name="tgtLifetimeHours" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.tgtLifetimeHours"></a>

```typescript
public readonly tgtLifetimeHours: number;
```

- *Type:* number

Optional.

The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#tgt_lifetime_hours DataprocWorkflowTemplate#tgt_lifetime_hours}

---

##### `truststore`<sup>Optional</sup> <a name="truststore" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.truststore"></a>

```typescript
public readonly truststore: string;
```

- *Type:* string

Optional.

The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#truststore DataprocWorkflowTemplate#truststore}

---

##### `truststorePassword`<sup>Optional</sup> <a name="truststorePassword" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.property.truststorePassword"></a>

```typescript
public readonly truststorePassword: string;
```

- *Type:* string

Optional.

The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#truststore_password DataprocWorkflowTemplate#truststore_password}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.property.imageVersion">imageVersion</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.property.optionalComponents">optionalComponents</a></code> | <code>string[]</code> | Optional. The set of components to activate on the cluster. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.property.properties">properties</a></code> | <code>{[ key: string ]: string}</code> | Optional. |

---

##### `imageVersion`<sup>Optional</sup> <a name="imageVersion" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.property.imageVersion"></a>

```typescript
public readonly imageVersion: string;
```

- *Type:* string

Optional.

The version of software inside the cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the ["preview" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#image_version DataprocWorkflowTemplate#image_version}

---

##### `optionalComponents`<sup>Optional</sup> <a name="optionalComponents" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.property.optionalComponents"></a>

```typescript
public readonly optionalComponents: string[];
```

- *Type:* string[]

Optional. The set of components to activate on the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#optional_components DataprocWorkflowTemplate#optional_components}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.property.properties"></a>

```typescript
public readonly properties: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional.

The properties to set on daemon config files. Property keys are specified in `prefix:property` format, for example `core:hadoop.tmp.dir`. The following are supported prefixes and their mappings: * capacity-scheduler: `capacity-scheduler.xml` * core: `core-site.xml` * distcp: `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml` * mapred: `mapred-site.xml` * pig: `pig.properties` * spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#properties DataprocWorkflowTemplate#properties}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.accelerators">accelerators</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators">DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators</a>[]</code> | accelerators block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.diskConfig">diskConfig</a></code> | <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig</a></code> | disk_config block. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.image">image</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.machineType">machineType</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.minCpuPlatform">minCpuPlatform</a></code> | <code>string</code> | Optional. Specifies the minimum cpu platform for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.numInstances">numInstances</a></code> | <code>number</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.preemptibility">preemptibility</a></code> | <code>string</code> | Optional. |

---

##### `accelerators`<sup>Optional</sup> <a name="accelerators" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.accelerators"></a>

```typescript
public readonly accelerators: IResolvable | DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators">DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators</a>[]

accelerators block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#accelerators DataprocWorkflowTemplate#accelerators}

---

##### `diskConfig`<sup>Optional</sup> <a name="diskConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.diskConfig"></a>

```typescript
public readonly diskConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig">DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig</a>

disk_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#disk_config DataprocWorkflowTemplate#disk_config}

---

##### `image`<sup>Optional</sup> <a name="image" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.image"></a>

```typescript
public readonly image: string;
```

- *Type:* string

Optional.

The Compute Engine image resource used for cluster instances. The URI can represent an image or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]` * `projects/[project_id]/global/images/[image-id]` * `image-id` Image family examples. Dataproc will use the most recent image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]` * `projects/[project_id]/global/images/family/[custom-image-family-name]` If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version` or the system default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#image DataprocWorkflowTemplate#image}

---

##### `machineType`<sup>Optional</sup> <a name="machineType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

Optional.

The Compute Engine machine type used for cluster instances. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `n1-standard-2` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, `n1-standard-2`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#machine_type DataprocWorkflowTemplate#machine_type}

---

##### `minCpuPlatform`<sup>Optional</sup> <a name="minCpuPlatform" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.minCpuPlatform"></a>

```typescript
public readonly minCpuPlatform: string;
```

- *Type:* string

Optional. Specifies the minimum cpu platform for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#min_cpu_platform DataprocWorkflowTemplate#min_cpu_platform}

---

##### `numInstances`<sup>Optional</sup> <a name="numInstances" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.numInstances"></a>

```typescript
public readonly numInstances: number;
```

- *Type:* number

Optional.

The number of VM instances in the instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) [master_config](#FIELDS.master_config) groups, **must be set to 3**. For standard cluster [master_config](#FIELDS.master_config) groups, **must be set to 1**.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#num_instances DataprocWorkflowTemplate#num_instances}

---

##### `preemptibility`<sup>Optional</sup> <a name="preemptibility" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig.property.preemptibility"></a>

```typescript
public readonly preemptibility: string;
```

- *Type:* string

Optional.

Specifies the preemptibility of the instance group. The default value for master and worker groups is `NON_PREEMPTIBLE`. This default cannot be changed. The default value for secondary instances is `PREEMPTIBLE`. Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE, PREEMPTIBLE

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#preemptibility DataprocWorkflowTemplate#preemptibility}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators.property.acceleratorCount">acceleratorCount</a></code> | <code>number</code> | The number of the accelerator cards of this type exposed to this instance. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators.property.acceleratorType">acceleratorType</a></code> | <code>string</code> | Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. |

---

##### `acceleratorCount`<sup>Optional</sup> <a name="acceleratorCount" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators.property.acceleratorCount"></a>

```typescript
public readonly acceleratorCount: number;
```

- *Type:* number

The number of the accelerator cards of this type exposed to this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#accelerator_count DataprocWorkflowTemplate#accelerator_count}

---

##### `acceleratorType`<sup>Optional</sup> <a name="acceleratorType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators.property.acceleratorType"></a>

```typescript
public readonly acceleratorType: string;
```

- *Type:* string

Full URL, partial URI, or short name of the accelerator type resource to expose to this instance.

See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `nvidia-tesla-k80` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, `nvidia-tesla-k80`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#accelerator_type DataprocWorkflowTemplate#accelerator_type}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.property.bootDiskSizeGb">bootDiskSizeGb</a></code> | <code>number</code> | Optional. Size in GB of the boot disk (default is 500GB). |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.property.bootDiskType">bootDiskType</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.property.numLocalSsds">numLocalSsds</a></code> | <code>number</code> | Optional. |

---

##### `bootDiskSizeGb`<sup>Optional</sup> <a name="bootDiskSizeGb" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.property.bootDiskSizeGb"></a>

```typescript
public readonly bootDiskSizeGb: number;
```

- *Type:* number

Optional. Size in GB of the boot disk (default is 500GB).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#boot_disk_size_gb DataprocWorkflowTemplate#boot_disk_size_gb}

---

##### `bootDiskType`<sup>Optional</sup> <a name="bootDiskType" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.property.bootDiskType"></a>

```typescript
public readonly bootDiskType: string;
```

- *Type:* string

Optional.

Type of the boot disk (default is "pd-standard"). Valid values: "pd-balanced" (Persistent Disk Balanced Solid State Drive), "pd-ssd" (Persistent Disk Solid State Drive), or "pd-standard" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#boot_disk_type DataprocWorkflowTemplate#boot_disk_type}

---

##### `numLocalSsds`<sup>Optional</sup> <a name="numLocalSsds" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.property.numLocalSsds"></a>

```typescript
public readonly numLocalSsds: number;
```

- *Type:* number

Optional.

Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#num_local_ssds DataprocWorkflowTemplate#num_local_ssds}

---

### DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig <a name="DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig.Initializer"></a>

```typescript
import { DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig } from '@dschmidt/provider-google'

const dataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig = { ... }
```


### DataprocWorkflowTemplateTimeouts <a name="DataprocWorkflowTemplateTimeouts" id="@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts.Initializer"></a>

```typescript
import { DataprocWorkflowTemplateTimeouts } from '@dschmidt/provider-google'

const dataprocWorkflowTemplateTimeouts: DataprocWorkflowTemplateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#create DataprocWorkflowTemplate#create}. |
| <code><a href="#@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#delete DataprocWorkflowTemplate#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#create DataprocWorkflowTemplate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DataprocWorkflowTemplateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dataproc_workflow_template#delete DataprocWorkflowTemplate#delete}.

---

### DatastoreIndexConfig <a name="DatastoreIndexConfig" id="@dschmidt/provider-google.DatastoreIndexConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DatastoreIndexConfig.Initializer"></a>

```typescript
import { DatastoreIndexConfig } from '@dschmidt/provider-google'

const datastoreIndexConfig: DatastoreIndexConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.kind">kind</a></code> | <code>string</code> | The entity kind which the index applies to. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.ancestor">ancestor</a></code> | <code>string</code> | Policy for including ancestors in the index. Default value: "NONE" Possible values: ["NONE", "ALL_ANCESTORS"]. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#id DatastoreIndex#id}. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#project DatastoreIndex#project}. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.properties">properties</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DatastoreIndexProperties">DatastoreIndexProperties</a>[]</code> | properties block. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DatastoreIndexTimeouts">DatastoreIndexTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DatastoreIndexConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DatastoreIndexConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DatastoreIndexConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DatastoreIndexConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DatastoreIndexConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DatastoreIndexConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DatastoreIndexConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.DatastoreIndexConfig.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

The entity kind which the index applies to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#kind DatastoreIndex#kind}

---

##### `ancestor`<sup>Optional</sup> <a name="ancestor" id="@dschmidt/provider-google.DatastoreIndexConfig.property.ancestor"></a>

```typescript
public readonly ancestor: string;
```

- *Type:* string

Policy for including ancestors in the index. Default value: "NONE" Possible values: ["NONE", "ALL_ANCESTORS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#ancestor DatastoreIndex#ancestor}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DatastoreIndexConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#id DatastoreIndex#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DatastoreIndexConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#project DatastoreIndex#project}.

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.DatastoreIndexConfig.property.properties"></a>

```typescript
public readonly properties: IResolvable | DatastoreIndexProperties[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DatastoreIndexProperties">DatastoreIndexProperties</a>[]

properties block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#properties DatastoreIndex#properties}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DatastoreIndexConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DatastoreIndexTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DatastoreIndexTimeouts">DatastoreIndexTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#timeouts DatastoreIndex#timeouts}

---

### DatastoreIndexProperties <a name="DatastoreIndexProperties" id="@dschmidt/provider-google.DatastoreIndexProperties"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DatastoreIndexProperties.Initializer"></a>

```typescript
import { DatastoreIndexProperties } from '@dschmidt/provider-google'

const datastoreIndexProperties: DatastoreIndexProperties = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexProperties.property.direction">direction</a></code> | <code>string</code> | The direction the index should optimize for sorting. Possible values: ["ASCENDING", "DESCENDING"]. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexProperties.property.name">name</a></code> | <code>string</code> | The property name to index. |

---

##### `direction`<sup>Required</sup> <a name="direction" id="@dschmidt/provider-google.DatastoreIndexProperties.property.direction"></a>

```typescript
public readonly direction: string;
```

- *Type:* string

The direction the index should optimize for sorting. Possible values: ["ASCENDING", "DESCENDING"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#direction DatastoreIndex#direction}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DatastoreIndexProperties.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The property name to index.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#name DatastoreIndex#name}

---

### DatastoreIndexTimeouts <a name="DatastoreIndexTimeouts" id="@dschmidt/provider-google.DatastoreIndexTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DatastoreIndexTimeouts.Initializer"></a>

```typescript
import { DatastoreIndexTimeouts } from '@dschmidt/provider-google'

const datastoreIndexTimeouts: DatastoreIndexTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#create DatastoreIndex#create}. |
| <code><a href="#@dschmidt/provider-google.DatastoreIndexTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#delete DatastoreIndex#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DatastoreIndexTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#create DatastoreIndex#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DatastoreIndexTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/datastore_index#delete DatastoreIndex#delete}.

---

### DeploymentManagerDeploymentConfig <a name="DeploymentManagerDeploymentConfig" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.Initializer"></a>

```typescript
import { DeploymentManagerDeploymentConfig } from '@dschmidt/provider-google'

const deploymentManagerDeploymentConfig: DeploymentManagerDeploymentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.name">name</a></code> | <code>string</code> | Unique name for the deployment. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.target">target</a></code> | <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTarget">DeploymentManagerDeploymentTarget</a></code> | target block. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.createPolicy">createPolicy</a></code> | <code>string</code> | Set the policy to use for creating new resources. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.deletePolicy">deletePolicy</a></code> | <code>string</code> | Set the policy to use for deleting new resources on update/delete. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.description">description</a></code> | <code>string</code> | Optional user-provided description of deployment. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#id DeploymentManagerDeployment#id}. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.labels">labels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentLabels">DeploymentManagerDeploymentLabels</a>[]</code> | labels block. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.preview">preview</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, a deployment is created with "shell" resources that are not actually instantiated. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#project DeploymentManagerDeployment#project}. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts">DeploymentManagerDeploymentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Unique name for the deployment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#name DeploymentManagerDeployment#name}

---

##### `target`<sup>Required</sup> <a name="target" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.target"></a>

```typescript
public readonly target: DeploymentManagerDeploymentTarget;
```

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTarget">DeploymentManagerDeploymentTarget</a>

target block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#target DeploymentManagerDeployment#target}

---

##### `createPolicy`<sup>Optional</sup> <a name="createPolicy" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.createPolicy"></a>

```typescript
public readonly createPolicy: string;
```

- *Type:* string

Set the policy to use for creating new resources.

Only used on
create and update. Valid values are 'CREATE_OR_ACQUIRE' (default) or
'ACQUIRE'. If set to 'ACQUIRE' and resources do not already exist,
the deployment will fail. Note that updating this field does not
actually affect the deployment, just how it is updated. Default value: "CREATE_OR_ACQUIRE" Possible values: ["ACQUIRE", "CREATE_OR_ACQUIRE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#create_policy DeploymentManagerDeployment#create_policy}

---

##### `deletePolicy`<sup>Optional</sup> <a name="deletePolicy" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.deletePolicy"></a>

```typescript
public readonly deletePolicy: string;
```

- *Type:* string

Set the policy to use for deleting new resources on update/delete.

Valid values are 'DELETE' (default) or 'ABANDON'. If 'DELETE',
resource is deleted after removal from Deployment Manager. If
'ABANDON', the resource is only removed from Deployment Manager
and is not actually deleted. Note that updating this field does not
actually change the deployment, just how it is updated. Default value: "DELETE" Possible values: ["ABANDON", "DELETE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#delete_policy DeploymentManagerDeployment#delete_policy}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional user-provided description of deployment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#description DeploymentManagerDeployment#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#id DeploymentManagerDeployment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.labels"></a>

```typescript
public readonly labels: IResolvable | DeploymentManagerDeploymentLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentLabels">DeploymentManagerDeploymentLabels</a>[]

labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#labels DeploymentManagerDeployment#labels}

---

##### `preview`<sup>Optional</sup> <a name="preview" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.preview"></a>

```typescript
public readonly preview: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, a deployment is created with "shell" resources that are not actually instantiated.

This allows you to preview a
deployment. It can be updated to false to actually deploy
with real resources.
~>**NOTE:** Deployment Manager does not allow update
of a deployment in preview (unless updating to preview=false). Thus,
Terraform will force-recreate deployments if either preview is updated
to true or if other fields are updated while preview is true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#preview DeploymentManagerDeployment#preview}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#project DeploymentManagerDeployment#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DeploymentManagerDeploymentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DeploymentManagerDeploymentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts">DeploymentManagerDeploymentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#timeouts DeploymentManagerDeployment#timeouts}

---

### DeploymentManagerDeploymentLabels <a name="DeploymentManagerDeploymentLabels" id="@dschmidt/provider-google.DeploymentManagerDeploymentLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DeploymentManagerDeploymentLabels.Initializer"></a>

```typescript
import { DeploymentManagerDeploymentLabels } from '@dschmidt/provider-google'

const deploymentManagerDeploymentLabels: DeploymentManagerDeploymentLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentLabels.property.key">key</a></code> | <code>string</code> | Key for label. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentLabels.property.value">value</a></code> | <code>string</code> | Value of label. |

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.DeploymentManagerDeploymentLabels.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Key for label.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#key DeploymentManagerDeployment#key}

---

##### `value`<sup>Optional</sup> <a name="value" id="@dschmidt/provider-google.DeploymentManagerDeploymentLabels.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Value of label.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#value DeploymentManagerDeployment#value}

---

### DeploymentManagerDeploymentTarget <a name="DeploymentManagerDeploymentTarget" id="@dschmidt/provider-google.DeploymentManagerDeploymentTarget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DeploymentManagerDeploymentTarget.Initializer"></a>

```typescript
import { DeploymentManagerDeploymentTarget } from '@dschmidt/provider-google'

const deploymentManagerDeploymentTarget: DeploymentManagerDeploymentTarget = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTarget.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTargetConfig">DeploymentManagerDeploymentTargetConfig</a></code> | config block. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTarget.property.imports">imports</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTargetImports">DeploymentManagerDeploymentTargetImports</a>[]</code> | imports block. |

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.DeploymentManagerDeploymentTarget.property.config"></a>

```typescript
public readonly config: DeploymentManagerDeploymentTargetConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTargetConfig">DeploymentManagerDeploymentTargetConfig</a>

config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#config DeploymentManagerDeployment#config}

---

##### `imports`<sup>Optional</sup> <a name="imports" id="@dschmidt/provider-google.DeploymentManagerDeploymentTarget.property.imports"></a>

```typescript
public readonly imports: IResolvable | DeploymentManagerDeploymentTargetImports[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTargetImports">DeploymentManagerDeploymentTargetImports</a>[]

imports block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#imports DeploymentManagerDeployment#imports}

---

### DeploymentManagerDeploymentTargetConfig <a name="DeploymentManagerDeploymentTargetConfig" id="@dschmidt/provider-google.DeploymentManagerDeploymentTargetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DeploymentManagerDeploymentTargetConfig.Initializer"></a>

```typescript
import { DeploymentManagerDeploymentTargetConfig } from '@dschmidt/provider-google'

const deploymentManagerDeploymentTargetConfig: DeploymentManagerDeploymentTargetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTargetConfig.property.content">content</a></code> | <code>string</code> | The full YAML contents of your configuration file. |

---

##### `content`<sup>Required</sup> <a name="content" id="@dschmidt/provider-google.DeploymentManagerDeploymentTargetConfig.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

The full YAML contents of your configuration file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#content DeploymentManagerDeployment#content}

---

### DeploymentManagerDeploymentTargetImports <a name="DeploymentManagerDeploymentTargetImports" id="@dschmidt/provider-google.DeploymentManagerDeploymentTargetImports"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DeploymentManagerDeploymentTargetImports.Initializer"></a>

```typescript
import { DeploymentManagerDeploymentTargetImports } from '@dschmidt/provider-google'

const deploymentManagerDeploymentTargetImports: DeploymentManagerDeploymentTargetImports = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTargetImports.property.content">content</a></code> | <code>string</code> | The full contents of the template that you want to import. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTargetImports.property.name">name</a></code> | <code>string</code> | The name of the template to import, as declared in the YAML configuration. |

---

##### `content`<sup>Optional</sup> <a name="content" id="@dschmidt/provider-google.DeploymentManagerDeploymentTargetImports.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

The full contents of the template that you want to import.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#content DeploymentManagerDeployment#content}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.DeploymentManagerDeploymentTargetImports.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the template to import, as declared in the YAML configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#name DeploymentManagerDeployment#name}

---

### DeploymentManagerDeploymentTimeouts <a name="DeploymentManagerDeploymentTimeouts" id="@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts.Initializer"></a>

```typescript
import { DeploymentManagerDeploymentTimeouts } from '@dschmidt/provider-google'

const deploymentManagerDeploymentTimeouts: DeploymentManagerDeploymentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#create DeploymentManagerDeployment#create}. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#delete DeploymentManagerDeployment#delete}. |
| <code><a href="#@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#update DeploymentManagerDeployment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#create DeploymentManagerDeployment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#delete DeploymentManagerDeployment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DeploymentManagerDeploymentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/deployment_manager_deployment#update DeploymentManagerDeployment#update}.

---

### DialogflowAgentConfig <a name="DialogflowAgentConfig" id="@dschmidt/provider-google.DialogflowAgentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowAgentConfig.Initializer"></a>

```typescript
import { DialogflowAgentConfig } from '@dschmidt/provider-google'

const dialogflowAgentConfig: DialogflowAgentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.defaultLanguageCode">defaultLanguageCode</a></code> | <code>string</code> | The default language of the agent as a language tag. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.displayName">displayName</a></code> | <code>string</code> | The name of this agent. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.timeZone">timeZone</a></code> | <code>string</code> | The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.apiVersion">apiVersion</a></code> | <code>string</code> | API version displayed in Dialogflow console. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.avatarUri">avatarUri</a></code> | <code>string</code> | The URI of the agent's avatar, which are used throughout the Dialogflow console. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.classificationThreshold">classificationThreshold</a></code> | <code>number</code> | To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.description">description</a></code> | <code>string</code> | The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.enableLogging">enableLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | Determines whether this agent should log conversation queries. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#id DialogflowAgent#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.matchMode">matchMode</a></code> | <code>string</code> | Determines how intents are detected from user queries. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#project DialogflowAgent#project}. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.supportedLanguageCodes">supportedLanguageCodes</a></code> | <code>string[]</code> | The list of all languages supported by this agent (except for the defaultLanguageCode). |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.tier">tier</a></code> | <code>string</code> | The agent tier. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowAgentTimeouts">DialogflowAgentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowAgentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowAgentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowAgentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowAgentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowAgentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowAgentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowAgentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `defaultLanguageCode`<sup>Required</sup> <a name="defaultLanguageCode" id="@dschmidt/provider-google.DialogflowAgentConfig.property.defaultLanguageCode"></a>

```typescript
public readonly defaultLanguageCode: string;
```

- *Type:* string

The default language of the agent as a language tag.

[See Language Support](https://cloud.google.com/dialogflow/docs/reference/language) 
for a list of the currently supported language codes. This field cannot be updated after creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#default_language_code DialogflowAgent#default_language_code}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowAgentConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The name of this agent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#display_name DialogflowAgent#display_name}

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.DialogflowAgentConfig.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#time_zone DialogflowAgent#time_zone}

---

##### `apiVersion`<sup>Optional</sup> <a name="apiVersion" id="@dschmidt/provider-google.DialogflowAgentConfig.property.apiVersion"></a>

```typescript
public readonly apiVersion: string;
```

- *Type:* string

API version displayed in Dialogflow console.

If not specified, V2 API is assumed. Clients are free to query
different service endpoints for different API versions. However, bots connectors and webhook calls will follow 
the specified API version.
API_VERSION_V1: Legacy V1 API.
API_VERSION_V2: V2 API.
API_VERSION_V2_BETA_1: V2beta1 API. Possible values: ["API_VERSION_V1", "API_VERSION_V2", "API_VERSION_V2_BETA_1"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#api_version DialogflowAgent#api_version}

---

##### `avatarUri`<sup>Optional</sup> <a name="avatarUri" id="@dschmidt/provider-google.DialogflowAgentConfig.property.avatarUri"></a>

```typescript
public readonly avatarUri: string;
```

- *Type:* string

The URI of the agent's avatar, which are used throughout the Dialogflow console.

When an image URL is entered
into this field, the Dialogflow will save the image in the backend. The address of the backend image returned
from the API will be shown in the [avatarUriBackend] field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#avatar_uri DialogflowAgent#avatar_uri}

---

##### `classificationThreshold`<sup>Optional</sup> <a name="classificationThreshold" id="@dschmidt/provider-google.DialogflowAgentConfig.property.classificationThreshold"></a>

```typescript
public readonly classificationThreshold: number;
```

- *Type:* number

To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold.

If the returned score value is less than the threshold
value, then a fallback intent will be triggered or, if there are no fallback intents defined, no intent will be 
triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the 
default of 0.3 is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#classification_threshold DialogflowAgent#classification_threshold}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DialogflowAgentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#description DialogflowAgent#description}

---

##### `enableLogging`<sup>Optional</sup> <a name="enableLogging" id="@dschmidt/provider-google.DialogflowAgentConfig.property.enableLogging"></a>

```typescript
public readonly enableLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Determines whether this agent should log conversation queries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#enable_logging DialogflowAgent#enable_logging}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowAgentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#id DialogflowAgent#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `matchMode`<sup>Optional</sup> <a name="matchMode" id="@dschmidt/provider-google.DialogflowAgentConfig.property.matchMode"></a>

```typescript
public readonly matchMode: string;
```

- *Type:* string

Determines how intents are detected from user queries.

MATCH_MODE_HYBRID: Best for agents with a small number of examples in intents and/or wide use of templates
syntax and composite entities.
MATCH_MODE_ML_ONLY: Can be used for agents with a large number of examples in intents, especially the ones
using @sys.any or very large developer entities. Possible values: ["MATCH_MODE_HYBRID", "MATCH_MODE_ML_ONLY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#match_mode DialogflowAgent#match_mode}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DialogflowAgentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#project DialogflowAgent#project}.

---

##### `supportedLanguageCodes`<sup>Optional</sup> <a name="supportedLanguageCodes" id="@dschmidt/provider-google.DialogflowAgentConfig.property.supportedLanguageCodes"></a>

```typescript
public readonly supportedLanguageCodes: string[];
```

- *Type:* string[]

The list of all languages supported by this agent (except for the defaultLanguageCode).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#supported_language_codes DialogflowAgent#supported_language_codes}

---

##### `tier`<sup>Optional</sup> <a name="tier" id="@dschmidt/provider-google.DialogflowAgentConfig.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

The agent tier.

If not specified, TIER_STANDARD is assumed.
TIER_STANDARD: Standard tier.
TIER_ENTERPRISE: Enterprise tier (Essentials).
TIER_ENTERPRISE_PLUS: Enterprise tier (Plus).
NOTE: Due to consistency issues, the provider will not read this field from the API. Drift is possible between 
the Terraform state and Dialogflow if the agent tier is changed outside of Terraform. Possible values: ["TIER_STANDARD", "TIER_ENTERPRISE", "TIER_ENTERPRISE_PLUS"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#tier DialogflowAgent#tier}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowAgentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowAgentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowAgentTimeouts">DialogflowAgentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#timeouts DialogflowAgent#timeouts}

---

### DialogflowAgentTimeouts <a name="DialogflowAgentTimeouts" id="@dschmidt/provider-google.DialogflowAgentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowAgentTimeouts.Initializer"></a>

```typescript
import { DialogflowAgentTimeouts } from '@dschmidt/provider-google'

const dialogflowAgentTimeouts: DialogflowAgentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#create DialogflowAgent#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#delete DialogflowAgent#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowAgentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#update DialogflowAgent#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowAgentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#create DialogflowAgent#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowAgentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#delete DialogflowAgent#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowAgentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_agent#update DialogflowAgent#update}.

---

### DialogflowCxAgentConfig <a name="DialogflowCxAgentConfig" id="@dschmidt/provider-google.DialogflowCxAgentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxAgentConfig.Initializer"></a>

```typescript
import { DialogflowCxAgentConfig } from '@dschmidt/provider-google'

const dialogflowCxAgentConfig: DialogflowCxAgentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.defaultLanguageCode">defaultLanguageCode</a></code> | <code>string</code> | The default language of the agent as a language tag. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.displayName">displayName</a></code> | <code>string</code> | The human-readable name of the agent, unique within the location. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.location">location</a></code> | <code>string</code> | The name of the location this agent is located in. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.timeZone">timeZone</a></code> | <code>string</code> | The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.avatarUri">avatarUri</a></code> | <code>string</code> | The URI of the agent's avatar. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.description">description</a></code> | <code>string</code> | The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.enableSpellCorrection">enableSpellCorrection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if automatic spell correction is enabled in detect intent requests. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.enableStackdriverLogging">enableStackdriverLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | Determines whether this agent should log conversation queries. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#id DialogflowCxAgent#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#project DialogflowCxAgent#project}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.securitySettings">securitySettings</a></code> | <code>string</code> | Name of the SecuritySettings reference for the agent. Format: projects/<Project ID>/locations/<Location ID>/securitySettings/<Security Settings ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.speechToTextSettings">speechToTextSettings</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettings">DialogflowCxAgentSpeechToTextSettings</a></code> | speech_to_text_settings block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.supportedLanguageCodes">supportedLanguageCodes</a></code> | <code>string[]</code> | The list of all languages supported by this agent (except for the default_language_code). |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxAgentTimeouts">DialogflowCxAgentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `defaultLanguageCode`<sup>Required</sup> <a name="defaultLanguageCode" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.defaultLanguageCode"></a>

```typescript
public readonly defaultLanguageCode: string;
```

- *Type:* string

The default language of the agent as a language tag.

[See Language Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) 
for a list of the currently supported language codes. This field cannot be updated after creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#default_language_code DialogflowCxAgent#default_language_code}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable name of the agent, unique within the location.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#display_name DialogflowCxAgent#display_name}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The name of the location this agent is located in.

~> **Note:** The first time you are deploying an Agent in your project you must configure location settings.
This is a one time step but at the moment you can only [configure location settings](https://cloud.google.com/dialogflow/cx/docs/concept/region#location-settings) via the Dialogflow CX console.
Another options is to use global location so you don't need to manually configure location settings.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#location DialogflowCxAgent#location}

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#time_zone DialogflowCxAgent#time_zone}

---

##### `avatarUri`<sup>Optional</sup> <a name="avatarUri" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.avatarUri"></a>

```typescript
public readonly avatarUri: string;
```

- *Type:* string

The URI of the agent's avatar.

Avatars are used throughout the Dialogflow console and in the self-hosted Web Demo integration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#avatar_uri DialogflowCxAgent#avatar_uri}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#description DialogflowCxAgent#description}

---

##### `enableSpellCorrection`<sup>Optional</sup> <a name="enableSpellCorrection" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.enableSpellCorrection"></a>

```typescript
public readonly enableSpellCorrection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if automatic spell correction is enabled in detect intent requests.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#enable_spell_correction DialogflowCxAgent#enable_spell_correction}

---

##### `enableStackdriverLogging`<sup>Optional</sup> <a name="enableStackdriverLogging" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.enableStackdriverLogging"></a>

```typescript
public readonly enableStackdriverLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Determines whether this agent should log conversation queries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#enable_stackdriver_logging DialogflowCxAgent#enable_stackdriver_logging}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#id DialogflowCxAgent#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#project DialogflowCxAgent#project}.

---

##### `securitySettings`<sup>Optional</sup> <a name="securitySettings" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.securitySettings"></a>

```typescript
public readonly securitySettings: string;
```

- *Type:* string

Name of the SecuritySettings reference for the agent. Format: projects/<Project ID>/locations/<Location ID>/securitySettings/<Security Settings ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#security_settings DialogflowCxAgent#security_settings}

---

##### `speechToTextSettings`<sup>Optional</sup> <a name="speechToTextSettings" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.speechToTextSettings"></a>

```typescript
public readonly speechToTextSettings: DialogflowCxAgentSpeechToTextSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettings">DialogflowCxAgentSpeechToTextSettings</a>

speech_to_text_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#speech_to_text_settings DialogflowCxAgent#speech_to_text_settings}

---

##### `supportedLanguageCodes`<sup>Optional</sup> <a name="supportedLanguageCodes" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.supportedLanguageCodes"></a>

```typescript
public readonly supportedLanguageCodes: string[];
```

- *Type:* string[]

The list of all languages supported by this agent (except for the default_language_code).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#supported_language_codes DialogflowCxAgent#supported_language_codes}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxAgentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxAgentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxAgentTimeouts">DialogflowCxAgentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#timeouts DialogflowCxAgent#timeouts}

---

### DialogflowCxAgentSpeechToTextSettings <a name="DialogflowCxAgentSpeechToTextSettings" id="@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettings.Initializer"></a>

```typescript
import { DialogflowCxAgentSpeechToTextSettings } from '@dschmidt/provider-google'

const dialogflowCxAgentSpeechToTextSettings: DialogflowCxAgentSpeechToTextSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettings.property.enableSpeechAdaptation">enableSpeechAdaptation</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to use speech adaptation for speech recognition. |

---

##### `enableSpeechAdaptation`<sup>Optional</sup> <a name="enableSpeechAdaptation" id="@dschmidt/provider-google.DialogflowCxAgentSpeechToTextSettings.property.enableSpeechAdaptation"></a>

```typescript
public readonly enableSpeechAdaptation: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to use speech adaptation for speech recognition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#enable_speech_adaptation DialogflowCxAgent#enable_speech_adaptation}

---

### DialogflowCxAgentTimeouts <a name="DialogflowCxAgentTimeouts" id="@dschmidt/provider-google.DialogflowCxAgentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxAgentTimeouts.Initializer"></a>

```typescript
import { DialogflowCxAgentTimeouts } from '@dschmidt/provider-google'

const dialogflowCxAgentTimeouts: DialogflowCxAgentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#create DialogflowCxAgent#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#delete DialogflowCxAgent#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxAgentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#update DialogflowCxAgent#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowCxAgentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#create DialogflowCxAgent#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowCxAgentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#delete DialogflowCxAgent#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowCxAgentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_agent#update DialogflowCxAgent#update}.

---

### DialogflowCxEntityTypeConfig <a name="DialogflowCxEntityTypeConfig" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.Initializer"></a>

```typescript
import { DialogflowCxEntityTypeConfig } from '@dschmidt/provider-google'

const dialogflowCxEntityTypeConfig: DialogflowCxEntityTypeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.displayName">displayName</a></code> | <code>string</code> | The human-readable name of the entity type, unique within the agent. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.entities">entities</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeEntities">DialogflowCxEntityTypeEntities</a>[]</code> | entities block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.kind">kind</a></code> | <code>string</code> | Indicates whether the entity type can be automatically expanded. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.autoExpansionMode">autoExpansionMode</a></code> | <code>string</code> | Represents kinds of entities. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.enableFuzzyExtraction">enableFuzzyExtraction</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enables fuzzy entity extraction during classification. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.excludedPhrases">excludedPhrases</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrases">DialogflowCxEntityTypeExcludedPhrases</a>[]</code> | excluded_phrases block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#id DialogflowCxEntityType#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.languageCode">languageCode</a></code> | <code>string</code> | The language of the following fields in entityType: EntityType.entities.value EntityType.entities.synonyms EntityType.excluded_phrases.value If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.parent">parent</a></code> | <code>string</code> | The agent to create a entity type for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.redact">redact</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether parameters of the entity type should be redacted in log. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts">DialogflowCxEntityTypeTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable name of the entity type, unique within the agent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#display_name DialogflowCxEntityType#display_name}

---

##### `entities`<sup>Required</sup> <a name="entities" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.entities"></a>

```typescript
public readonly entities: IResolvable | DialogflowCxEntityTypeEntities[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeEntities">DialogflowCxEntityTypeEntities</a>[]

entities block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#entities DialogflowCxEntityType#entities}

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

Indicates whether the entity type can be automatically expanded.

KIND_MAP: Map entity types allow mapping of a group of synonyms to a canonical value.
KIND_LIST: List entity types contain a set of entries that do not map to canonical values. However, list entity types can contain references to other entity types (with or without aliases).
KIND_REGEXP: Regexp entity types allow to specify regular expressions in entries values. Possible values: ["KIND_MAP", "KIND_LIST", "KIND_REGEXP"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#kind DialogflowCxEntityType#kind}

---

##### `autoExpansionMode`<sup>Optional</sup> <a name="autoExpansionMode" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.autoExpansionMode"></a>

```typescript
public readonly autoExpansionMode: string;
```

- *Type:* string

Represents kinds of entities.

AUTO_EXPANSION_MODE_UNSPECIFIED: Auto expansion disabled for the entity.
AUTO_EXPANSION_MODE_DEFAULT: Allows an agent to recognize values that have not been explicitly listed in the entity. Possible values: ["AUTO_EXPANSION_MODE_DEFAULT", "AUTO_EXPANSION_MODE_UNSPECIFIED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#auto_expansion_mode DialogflowCxEntityType#auto_expansion_mode}

---

##### `enableFuzzyExtraction`<sup>Optional</sup> <a name="enableFuzzyExtraction" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.enableFuzzyExtraction"></a>

```typescript
public readonly enableFuzzyExtraction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enables fuzzy entity extraction during classification.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#enable_fuzzy_extraction DialogflowCxEntityType#enable_fuzzy_extraction}

---

##### `excludedPhrases`<sup>Optional</sup> <a name="excludedPhrases" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.excludedPhrases"></a>

```typescript
public readonly excludedPhrases: IResolvable | DialogflowCxEntityTypeExcludedPhrases[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrases">DialogflowCxEntityTypeExcludedPhrases</a>[]

excluded_phrases block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#excluded_phrases DialogflowCxEntityType#excluded_phrases}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#id DialogflowCxEntityType#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `languageCode`<sup>Optional</sup> <a name="languageCode" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.languageCode"></a>

```typescript
public readonly languageCode: string;
```

- *Type:* string

The language of the following fields in entityType: EntityType.entities.value EntityType.entities.synonyms EntityType.excluded_phrases.value If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#language_code DialogflowCxEntityType#language_code}

---

##### `parent`<sup>Optional</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The agent to create a entity type for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#parent DialogflowCxEntityType#parent}

---

##### `redact`<sup>Optional</sup> <a name="redact" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.redact"></a>

```typescript
public readonly redact: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether parameters of the entity type should be redacted in log.

If redaction is enabled, page parameters and intent parameters referring to the entity type will be replaced by parameter name when logging.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#redact DialogflowCxEntityType#redact}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxEntityTypeConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxEntityTypeTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts">DialogflowCxEntityTypeTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#timeouts DialogflowCxEntityType#timeouts}

---

### DialogflowCxEntityTypeEntities <a name="DialogflowCxEntityTypeEntities" id="@dschmidt/provider-google.DialogflowCxEntityTypeEntities"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxEntityTypeEntities.Initializer"></a>

```typescript
import { DialogflowCxEntityTypeEntities } from '@dschmidt/provider-google'

const dialogflowCxEntityTypeEntities: DialogflowCxEntityTypeEntities = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeEntities.property.synonyms">synonyms</a></code> | <code>string[]</code> | A collection of value synonyms. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeEntities.property.value">value</a></code> | <code>string</code> | The primary value associated with this entity entry. |

---

##### `synonyms`<sup>Optional</sup> <a name="synonyms" id="@dschmidt/provider-google.DialogflowCxEntityTypeEntities.property.synonyms"></a>

```typescript
public readonly synonyms: string[];
```

- *Type:* string[]

A collection of value synonyms.

For example, if the entity type is vegetable, and value is scallions, a synonym could be green onions.
For KIND_LIST entity types: This collection must contain exactly one synonym equal to value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#synonyms DialogflowCxEntityType#synonyms}

---

##### `value`<sup>Optional</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxEntityTypeEntities.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The primary value associated with this entity entry.

For example, if the entity type is vegetable, the value could be scallions.
For KIND_MAP entity types: A canonical value to be used in place of synonyms.
For KIND_LIST entity types: A string that can contain references to other entity types (with or without aliases).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#value DialogflowCxEntityType#value}

---

### DialogflowCxEntityTypeExcludedPhrases <a name="DialogflowCxEntityTypeExcludedPhrases" id="@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrases"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrases.Initializer"></a>

```typescript
import { DialogflowCxEntityTypeExcludedPhrases } from '@dschmidt/provider-google'

const dialogflowCxEntityTypeExcludedPhrases: DialogflowCxEntityTypeExcludedPhrases = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrases.property.value">value</a></code> | <code>string</code> | The word or phrase to be excluded. |

---

##### `value`<sup>Optional</sup> <a name="value" id="@dschmidt/provider-google.DialogflowCxEntityTypeExcludedPhrases.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The word or phrase to be excluded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#value DialogflowCxEntityType#value}

---

### DialogflowCxEntityTypeTimeouts <a name="DialogflowCxEntityTypeTimeouts" id="@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts.Initializer"></a>

```typescript
import { DialogflowCxEntityTypeTimeouts } from '@dschmidt/provider-google'

const dialogflowCxEntityTypeTimeouts: DialogflowCxEntityTypeTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#create DialogflowCxEntityType#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#delete DialogflowCxEntityType#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#update DialogflowCxEntityType#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#create DialogflowCxEntityType#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#delete DialogflowCxEntityType#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowCxEntityTypeTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_entity_type#update DialogflowCxEntityType#update}.

---

### DialogflowCxEnvironmentConfig <a name="DialogflowCxEnvironmentConfig" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.Initializer"></a>

```typescript
import { DialogflowCxEnvironmentConfig } from '@dschmidt/provider-google'

const dialogflowCxEnvironmentConfig: DialogflowCxEnvironmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.displayName">displayName</a></code> | <code>string</code> | The human-readable name of the environment (unique in an agent). Limit of 64 characters. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.versionConfigs">versionConfigs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigs">DialogflowCxEnvironmentVersionConfigs</a>[]</code> | version_configs block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.description">description</a></code> | <code>string</code> | The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#id DialogflowCxEnvironment#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.parent">parent</a></code> | <code>string</code> | The Agent to create an Environment for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts">DialogflowCxEnvironmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable name of the environment (unique in an agent). Limit of 64 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#display_name DialogflowCxEnvironment#display_name}

---

##### `versionConfigs`<sup>Required</sup> <a name="versionConfigs" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.versionConfigs"></a>

```typescript
public readonly versionConfigs: IResolvable | DialogflowCxEnvironmentVersionConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigs">DialogflowCxEnvironmentVersionConfigs</a>[]

version_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#version_configs DialogflowCxEnvironment#version_configs}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#description DialogflowCxEnvironment#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#id DialogflowCxEnvironment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `parent`<sup>Optional</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The Agent to create an Environment for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#parent DialogflowCxEnvironment#parent}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxEnvironmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxEnvironmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts">DialogflowCxEnvironmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#timeouts DialogflowCxEnvironment#timeouts}

---

### DialogflowCxEnvironmentTimeouts <a name="DialogflowCxEnvironmentTimeouts" id="@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts.Initializer"></a>

```typescript
import { DialogflowCxEnvironmentTimeouts } from '@dschmidt/provider-google'

const dialogflowCxEnvironmentTimeouts: DialogflowCxEnvironmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#create DialogflowCxEnvironment#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#delete DialogflowCxEnvironment#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#update DialogflowCxEnvironment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#create DialogflowCxEnvironment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#delete DialogflowCxEnvironment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowCxEnvironmentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#update DialogflowCxEnvironment#update}.

---

### DialogflowCxEnvironmentVersionConfigs <a name="DialogflowCxEnvironmentVersionConfigs" id="@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigs.Initializer"></a>

```typescript
import { DialogflowCxEnvironmentVersionConfigs } from '@dschmidt/provider-google'

const dialogflowCxEnvironmentVersionConfigs: DialogflowCxEnvironmentVersionConfigs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigs.property.version">version</a></code> | <code>string</code> | Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}. |

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DialogflowCxEnvironmentVersionConfigs.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_environment#version DialogflowCxEnvironment#version}

---

### DialogflowCxFlowConfig <a name="DialogflowCxFlowConfig" id="@dschmidt/provider-google.DialogflowCxFlowConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowConfig.Initializer"></a>

```typescript
import { DialogflowCxFlowConfig } from '@dschmidt/provider-google'

const dialogflowCxFlowConfig: DialogflowCxFlowConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.displayName">displayName</a></code> | <code>string</code> | The human-readable name of the flow. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.description">description</a></code> | <code>string</code> | The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.eventHandlers">eventHandlers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlers">DialogflowCxFlowEventHandlers</a>[]</code> | event_handlers block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#id DialogflowCxFlow#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.languageCode">languageCode</a></code> | <code>string</code> | The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.nluSettings">nluSettings</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettings">DialogflowCxFlowNluSettings</a></code> | nlu_settings block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.parent">parent</a></code> | <code>string</code> | The agent to create a flow for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTimeouts">DialogflowCxFlowTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.transitionRouteGroups">transitionRouteGroups</a></code> | <code>string[]</code> | A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowConfig.property.transitionRoutes">transitionRoutes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes">DialogflowCxFlowTransitionRoutes</a>[]</code> | transition_routes block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable name of the flow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#display_name DialogflowCxFlow#display_name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#description DialogflowCxFlow#description}

---

##### `eventHandlers`<sup>Optional</sup> <a name="eventHandlers" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.eventHandlers"></a>

```typescript
public readonly eventHandlers: IResolvable | DialogflowCxFlowEventHandlers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlers">DialogflowCxFlowEventHandlers</a>[]

event_handlers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#event_handlers DialogflowCxFlow#event_handlers}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#id DialogflowCxFlow#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `languageCode`<sup>Optional</sup> <a name="languageCode" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.languageCode"></a>

```typescript
public readonly languageCode: string;
```

- *Type:* string

The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#language_code DialogflowCxFlow#language_code}

---

##### `nluSettings`<sup>Optional</sup> <a name="nluSettings" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.nluSettings"></a>

```typescript
public readonly nluSettings: DialogflowCxFlowNluSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettings">DialogflowCxFlowNluSettings</a>

nlu_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#nlu_settings DialogflowCxFlow#nlu_settings}

---

##### `parent`<sup>Optional</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The agent to create a flow for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#parent DialogflowCxFlow#parent}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxFlowTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowTimeouts">DialogflowCxFlowTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#timeouts DialogflowCxFlow#timeouts}

---

##### `transitionRouteGroups`<sup>Optional</sup> <a name="transitionRouteGroups" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.transitionRouteGroups"></a>

```typescript
public readonly transitionRouteGroups: string[];
```

- *Type:* string[]

A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow.

They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow.
Format:projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#transition_route_groups DialogflowCxFlow#transition_route_groups}

---

##### `transitionRoutes`<sup>Optional</sup> <a name="transitionRoutes" id="@dschmidt/provider-google.DialogflowCxFlowConfig.property.transitionRoutes"></a>

```typescript
public readonly transitionRoutes: IResolvable | DialogflowCxFlowTransitionRoutes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes">DialogflowCxFlowTransitionRoutes</a>[]

transition_routes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#transition_routes DialogflowCxFlow#transition_routes}

---

### DialogflowCxFlowEventHandlers <a name="DialogflowCxFlowEventHandlers" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlers.Initializer"></a>

```typescript
import { DialogflowCxFlowEventHandlers } from '@dschmidt/provider-google'

const dialogflowCxFlowEventHandlers: DialogflowCxFlowEventHandlers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlers.property.event">event</a></code> | <code>string</code> | The name of the event to handle. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlers.property.targetFlow">targetFlow</a></code> | <code>string</code> | The target flow to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlers.property.targetPage">targetPage</a></code> | <code>string</code> | The target page to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlers.property.triggerFulfillment">triggerFulfillment</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment">DialogflowCxFlowEventHandlersTriggerFulfillment</a></code> | trigger_fulfillment block. |

---

##### `event`<sup>Optional</sup> <a name="event" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlers.property.event"></a>

```typescript
public readonly event: string;
```

- *Type:* string

The name of the event to handle.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#event DialogflowCxFlow#event}

---

##### `targetFlow`<sup>Optional</sup> <a name="targetFlow" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlers.property.targetFlow"></a>

```typescript
public readonly targetFlow: string;
```

- *Type:* string

The target flow to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#target_flow DialogflowCxFlow#target_flow}

---

##### `targetPage`<sup>Optional</sup> <a name="targetPage" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlers.property.targetPage"></a>

```typescript
public readonly targetPage: string;
```

- *Type:* string

The target page to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#target_page DialogflowCxFlow#target_page}

---

##### `triggerFulfillment`<sup>Optional</sup> <a name="triggerFulfillment" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlers.property.triggerFulfillment"></a>

```typescript
public readonly triggerFulfillment: DialogflowCxFlowEventHandlersTriggerFulfillment;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment">DialogflowCxFlowEventHandlersTriggerFulfillment</a>

trigger_fulfillment block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#trigger_fulfillment DialogflowCxFlow#trigger_fulfillment}

---

### DialogflowCxFlowEventHandlersTriggerFulfillment <a name="DialogflowCxFlowEventHandlersTriggerFulfillment" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment.Initializer"></a>

```typescript
import { DialogflowCxFlowEventHandlersTriggerFulfillment } from '@dschmidt/provider-google'

const dialogflowCxFlowEventHandlersTriggerFulfillment: DialogflowCxFlowEventHandlersTriggerFulfillment = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment.property.messages">messages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessages">DialogflowCxFlowEventHandlersTriggerFulfillmentMessages</a>[]</code> | messages block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment.property.returnPartialResponses">returnPartialResponses</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment.property.tag">tag</a></code> | <code>string</code> | The tag used by the webhook to identify which fulfillment is being called. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment.property.webhook">webhook</a></code> | <code>string</code> | The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>. |

---

##### `messages`<sup>Optional</sup> <a name="messages" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment.property.messages"></a>

```typescript
public readonly messages: IResolvable | DialogflowCxFlowEventHandlersTriggerFulfillmentMessages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessages">DialogflowCxFlowEventHandlersTriggerFulfillmentMessages</a>[]

messages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#messages DialogflowCxFlow#messages}

---

##### `returnPartialResponses`<sup>Optional</sup> <a name="returnPartialResponses" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment.property.returnPartialResponses"></a>

```typescript
public readonly returnPartialResponses: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs.

If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#return_partial_responses DialogflowCxFlow#return_partial_responses}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag used by the webhook to identify which fulfillment is being called.

This field is required if webhook is specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#tag DialogflowCxFlow#tag}

---

##### `webhook`<sup>Optional</sup> <a name="webhook" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillment.property.webhook"></a>

```typescript
public readonly webhook: string;
```

- *Type:* string

The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#webhook DialogflowCxFlow#webhook}

---

### DialogflowCxFlowEventHandlersTriggerFulfillmentMessages <a name="DialogflowCxFlowEventHandlersTriggerFulfillmentMessages" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessages.Initializer"></a>

```typescript
import { DialogflowCxFlowEventHandlersTriggerFulfillmentMessages } from '@dschmidt/provider-google'

const dialogflowCxFlowEventHandlersTriggerFulfillmentMessages: DialogflowCxFlowEventHandlersTriggerFulfillmentMessages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessages.property.text">text</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText">DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText</a></code> | text block. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessages.property.text"></a>

```typescript
public readonly text: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText">DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText</a>

text block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#text DialogflowCxFlow#text}

---

### DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText <a name="DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText.Initializer"></a>

```typescript
import { DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText } from '@dschmidt/provider-google'

const dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText.property.text">text</a></code> | <code>string[]</code> | A collection of text responses. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText.property.text"></a>

```typescript
public readonly text: string[];
```

- *Type:* string[]

A collection of text responses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#text DialogflowCxFlow#text}

---

### DialogflowCxFlowNluSettings <a name="DialogflowCxFlowNluSettings" id="@dschmidt/provider-google.DialogflowCxFlowNluSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowNluSettings.Initializer"></a>

```typescript
import { DialogflowCxFlowNluSettings } from '@dschmidt/provider-google'

const dialogflowCxFlowNluSettings: DialogflowCxFlowNluSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettings.property.classificationThreshold">classificationThreshold</a></code> | <code>number</code> | To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettings.property.modelTrainingMode">modelTrainingMode</a></code> | <code>string</code> | Indicates NLU model training mode. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowNluSettings.property.modelType">modelType</a></code> | <code>string</code> | Indicates the type of NLU model. MODEL_TYPE_STANDARD: Use standard NLU model. MODEL_TYPE_ADVANCED: Use advanced NLU model. Possible values: ["MODEL_TYPE_STANDARD", "MODEL_TYPE_ADVANCED"]. |

---

##### `classificationThreshold`<sup>Optional</sup> <a name="classificationThreshold" id="@dschmidt/provider-google.DialogflowCxFlowNluSettings.property.classificationThreshold"></a>

```typescript
public readonly classificationThreshold: number;
```

- *Type:* number

To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold.

If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#classification_threshold DialogflowCxFlow#classification_threshold}

---

##### `modelTrainingMode`<sup>Optional</sup> <a name="modelTrainingMode" id="@dschmidt/provider-google.DialogflowCxFlowNluSettings.property.modelTrainingMode"></a>

```typescript
public readonly modelTrainingMode: string;
```

- *Type:* string

Indicates NLU model training mode.

MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.
MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train. Possible values: ["MODEL_TRAINING_MODE_AUTOMATIC", "MODEL_TRAINING_MODE_MANUAL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#model_training_mode DialogflowCxFlow#model_training_mode}

---

##### `modelType`<sup>Optional</sup> <a name="modelType" id="@dschmidt/provider-google.DialogflowCxFlowNluSettings.property.modelType"></a>

```typescript
public readonly modelType: string;
```

- *Type:* string

Indicates the type of NLU model. MODEL_TYPE_STANDARD: Use standard NLU model. MODEL_TYPE_ADVANCED: Use advanced NLU model. Possible values: ["MODEL_TYPE_STANDARD", "MODEL_TYPE_ADVANCED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#model_type DialogflowCxFlow#model_type}

---

### DialogflowCxFlowTimeouts <a name="DialogflowCxFlowTimeouts" id="@dschmidt/provider-google.DialogflowCxFlowTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowTimeouts.Initializer"></a>

```typescript
import { DialogflowCxFlowTimeouts } from '@dschmidt/provider-google'

const dialogflowCxFlowTimeouts: DialogflowCxFlowTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#create DialogflowCxFlow#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#delete DialogflowCxFlow#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#update DialogflowCxFlow#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowCxFlowTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#create DialogflowCxFlow#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowCxFlowTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#delete DialogflowCxFlow#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowCxFlowTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#update DialogflowCxFlow#update}.

---

### DialogflowCxFlowTransitionRoutes <a name="DialogflowCxFlowTransitionRoutes" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.Initializer"></a>

```typescript
import { DialogflowCxFlowTransitionRoutes } from '@dschmidt/provider-google'

const dialogflowCxFlowTransitionRoutes: DialogflowCxFlowTransitionRoutes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.condition">condition</a></code> | <code>string</code> | The condition to evaluate against form parameters or session parameters. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.intent">intent</a></code> | <code>string</code> | The unique identifier of an Intent. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.targetFlow">targetFlow</a></code> | <code>string</code> | The target flow to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.targetPage">targetPage</a></code> | <code>string</code> | The target page to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.triggerFulfillment">triggerFulfillment</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment">DialogflowCxFlowTransitionRoutesTriggerFulfillment</a></code> | trigger_fulfillment block. |

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.condition"></a>

```typescript
public readonly condition: string;
```

- *Type:* string

The condition to evaluate against form parameters or session parameters.

At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#condition DialogflowCxFlow#condition}

---

##### `intent`<sup>Optional</sup> <a name="intent" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.intent"></a>

```typescript
public readonly intent: string;
```

- *Type:* string

The unique identifier of an Intent.

Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/intents/<Intent ID>. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#intent DialogflowCxFlow#intent}

---

##### `targetFlow`<sup>Optional</sup> <a name="targetFlow" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.targetFlow"></a>

```typescript
public readonly targetFlow: string;
```

- *Type:* string

The target flow to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#target_flow DialogflowCxFlow#target_flow}

---

##### `targetPage`<sup>Optional</sup> <a name="targetPage" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.targetPage"></a>

```typescript
public readonly targetPage: string;
```

- *Type:* string

The target page to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#target_page DialogflowCxFlow#target_page}

---

##### `triggerFulfillment`<sup>Optional</sup> <a name="triggerFulfillment" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutes.property.triggerFulfillment"></a>

```typescript
public readonly triggerFulfillment: DialogflowCxFlowTransitionRoutesTriggerFulfillment;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment">DialogflowCxFlowTransitionRoutesTriggerFulfillment</a>

trigger_fulfillment block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#trigger_fulfillment DialogflowCxFlow#trigger_fulfillment}

---

### DialogflowCxFlowTransitionRoutesTriggerFulfillment <a name="DialogflowCxFlowTransitionRoutesTriggerFulfillment" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment.Initializer"></a>

```typescript
import { DialogflowCxFlowTransitionRoutesTriggerFulfillment } from '@dschmidt/provider-google'

const dialogflowCxFlowTransitionRoutesTriggerFulfillment: DialogflowCxFlowTransitionRoutesTriggerFulfillment = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment.property.messages">messages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages">DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages</a>[]</code> | messages block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment.property.returnPartialResponses">returnPartialResponses</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment.property.tag">tag</a></code> | <code>string</code> | The tag used by the webhook to identify which fulfillment is being called. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment.property.webhook">webhook</a></code> | <code>string</code> | The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>. |

---

##### `messages`<sup>Optional</sup> <a name="messages" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment.property.messages"></a>

```typescript
public readonly messages: IResolvable | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages">DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages</a>[]

messages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#messages DialogflowCxFlow#messages}

---

##### `returnPartialResponses`<sup>Optional</sup> <a name="returnPartialResponses" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment.property.returnPartialResponses"></a>

```typescript
public readonly returnPartialResponses: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs.

If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#return_partial_responses DialogflowCxFlow#return_partial_responses}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag used by the webhook to identify which fulfillment is being called.

This field is required if webhook is specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#tag DialogflowCxFlow#tag}

---

##### `webhook`<sup>Optional</sup> <a name="webhook" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillment.property.webhook"></a>

```typescript
public readonly webhook: string;
```

- *Type:* string

The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#webhook DialogflowCxFlow#webhook}

---

### DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages <a name="DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages.Initializer"></a>

```typescript
import { DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages } from '@dschmidt/provider-google'

const dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages.property.text">text</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText">DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText</a></code> | text block. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages.property.text"></a>

```typescript
public readonly text: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText">DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText</a>

text block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#text DialogflowCxFlow#text}

---

### DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText <a name="DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText.Initializer"></a>

```typescript
import { DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText } from '@dschmidt/provider-google'

const dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText.property.text">text</a></code> | <code>string[]</code> | A collection of text responses. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText.property.text"></a>

```typescript
public readonly text: string[];
```

- *Type:* string[]

A collection of text responses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_flow#text DialogflowCxFlow#text}

---

### DialogflowCxIntentConfig <a name="DialogflowCxIntentConfig" id="@dschmidt/provider-google.DialogflowCxIntentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxIntentConfig.Initializer"></a>

```typescript
import { DialogflowCxIntentConfig } from '@dschmidt/provider-google'

const dialogflowCxIntentConfig: DialogflowCxIntentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.displayName">displayName</a></code> | <code>string</code> | The human-readable name of the intent, unique within the agent. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.description">description</a></code> | <code>string</code> | Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#id DialogflowCxIntent#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.isFallback">isFallback</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether this is a fallback intent. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The key/value metadata to label an intent. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.languageCode">languageCode</a></code> | <code>string</code> | The language of the following fields in intent: Intent.training_phrases.parts.text If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.parameters">parameters</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxIntentParameters">DialogflowCxIntentParameters</a>[]</code> | parameters block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.parent">parent</a></code> | <code>string</code> | The agent to create an intent for. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.priority">priority</a></code> | <code>number</code> | The priority of this intent. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTimeouts">DialogflowCxIntentTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentConfig.property.trainingPhrases">trainingPhrases</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases">DialogflowCxIntentTrainingPhrases</a>[]</code> | training_phrases block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable name of the intent, unique within the agent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#display_name DialogflowCxIntent#display_name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#description DialogflowCxIntent#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#id DialogflowCxIntent#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `isFallback`<sup>Optional</sup> <a name="isFallback" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.isFallback"></a>

```typescript
public readonly isFallback: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether this is a fallback intent.

Currently only default fallback intent is allowed in the agent, which is added upon agent creation. 
Adding training phrases to fallback intent is useful in the case of requests that are mistakenly matched, since training phrases assigned to fallback intents act as negative examples that triggers no-match event.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#is_fallback DialogflowCxIntent#is_fallback}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The key/value metadata to label an intent.

Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes.
Prefix "sys-" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. "sys-head" means the intent is a head intent. "sys.contextual" means the intent is a contextual intent.
An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#labels DialogflowCxIntent#labels}

---

##### `languageCode`<sup>Optional</sup> <a name="languageCode" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.languageCode"></a>

```typescript
public readonly languageCode: string;
```

- *Type:* string

The language of the following fields in intent: Intent.training_phrases.parts.text If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#language_code DialogflowCxIntent#language_code}

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.parameters"></a>

```typescript
public readonly parameters: IResolvable | DialogflowCxIntentParameters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxIntentParameters">DialogflowCxIntentParameters</a>[]

parameters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#parameters DialogflowCxIntent#parameters}

---

##### `parent`<sup>Optional</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The agent to create an intent for. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#parent DialogflowCxIntent#parent}

---

##### `priority`<sup>Optional</sup> <a name="priority" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

The priority of this intent.

Higher numbers represent higher priorities.
If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the Normal priority in the console.
If the supplied value is negative, the intent is ignored in runtime detect intent requests.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#priority DialogflowCxIntent#priority}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxIntentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxIntentTimeouts">DialogflowCxIntentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#timeouts DialogflowCxIntent#timeouts}

---

##### `trainingPhrases`<sup>Optional</sup> <a name="trainingPhrases" id="@dschmidt/provider-google.DialogflowCxIntentConfig.property.trainingPhrases"></a>

```typescript
public readonly trainingPhrases: IResolvable | DialogflowCxIntentTrainingPhrases[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases">DialogflowCxIntentTrainingPhrases</a>[]

training_phrases block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#training_phrases DialogflowCxIntent#training_phrases}

---

### DialogflowCxIntentParameters <a name="DialogflowCxIntentParameters" id="@dschmidt/provider-google.DialogflowCxIntentParameters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxIntentParameters.Initializer"></a>

```typescript
import { DialogflowCxIntentParameters } from '@dschmidt/provider-google'

const dialogflowCxIntentParameters: DialogflowCxIntentParameters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentParameters.property.entityType">entityType</a></code> | <code>string</code> | The entity type of the parameter. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentParameters.property.id">id</a></code> | <code>string</code> | The unique identifier of the parameter. This field is used by training phrases to annotate their parts. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentParameters.property.isList">isList</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether the parameter represents a list of values. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentParameters.property.redact">redact</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether the parameter content should be redacted in log. |

---

##### `entityType`<sup>Required</sup> <a name="entityType" id="@dschmidt/provider-google.DialogflowCxIntentParameters.property.entityType"></a>

```typescript
public readonly entityType: string;
```

- *Type:* string

The entity type of the parameter.

Format: projects/-/locations/-/agents/-/entityTypes/<System Entity Type ID> for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/entityTypes/<Entity Type ID> for developer entity types.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#entity_type DialogflowCxIntent#entity_type}

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxIntentParameters.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

The unique identifier of the parameter. This field is used by training phrases to annotate their parts.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#id DialogflowCxIntent#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `isList`<sup>Optional</sup> <a name="isList" id="@dschmidt/provider-google.DialogflowCxIntentParameters.property.isList"></a>

```typescript
public readonly isList: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether the parameter represents a list of values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#is_list DialogflowCxIntent#is_list}

---

##### `redact`<sup>Optional</sup> <a name="redact" id="@dschmidt/provider-google.DialogflowCxIntentParameters.property.redact"></a>

```typescript
public readonly redact: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether the parameter content should be redacted in log.

If redaction is enabled, the parameter content will be replaced by parameter name during logging. 
Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#redact DialogflowCxIntent#redact}

---

### DialogflowCxIntentTimeouts <a name="DialogflowCxIntentTimeouts" id="@dschmidt/provider-google.DialogflowCxIntentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxIntentTimeouts.Initializer"></a>

```typescript
import { DialogflowCxIntentTimeouts } from '@dschmidt/provider-google'

const dialogflowCxIntentTimeouts: DialogflowCxIntentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#create DialogflowCxIntent#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#delete DialogflowCxIntent#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#update DialogflowCxIntent#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowCxIntentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#create DialogflowCxIntent#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowCxIntentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#delete DialogflowCxIntent#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowCxIntentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#update DialogflowCxIntent#update}.

---

### DialogflowCxIntentTrainingPhrases <a name="DialogflowCxIntentTrainingPhrases" id="@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases.Initializer"></a>

```typescript
import { DialogflowCxIntentTrainingPhrases } from '@dschmidt/provider-google'

const dialogflowCxIntentTrainingPhrases: DialogflowCxIntentTrainingPhrases = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases.property.parts">parts</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesParts">DialogflowCxIntentTrainingPhrasesParts</a>[]</code> | parts block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases.property.repeatCount">repeatCount</a></code> | <code>number</code> | Indicates how many times this example was added to the intent. |

---

##### `parts`<sup>Required</sup> <a name="parts" id="@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases.property.parts"></a>

```typescript
public readonly parts: IResolvable | DialogflowCxIntentTrainingPhrasesParts[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesParts">DialogflowCxIntentTrainingPhrasesParts</a>[]

parts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#parts DialogflowCxIntent#parts}

---

##### `repeatCount`<sup>Optional</sup> <a name="repeatCount" id="@dschmidt/provider-google.DialogflowCxIntentTrainingPhrases.property.repeatCount"></a>

```typescript
public readonly repeatCount: number;
```

- *Type:* number

Indicates how many times this example was added to the intent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#repeat_count DialogflowCxIntent#repeat_count}

---

### DialogflowCxIntentTrainingPhrasesParts <a name="DialogflowCxIntentTrainingPhrasesParts" id="@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesParts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesParts.Initializer"></a>

```typescript
import { DialogflowCxIntentTrainingPhrasesParts } from '@dschmidt/provider-google'

const dialogflowCxIntentTrainingPhrasesParts: DialogflowCxIntentTrainingPhrasesParts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesParts.property.text">text</a></code> | <code>string</code> | The text for this part. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesParts.property.parameterId">parameterId</a></code> | <code>string</code> | The parameter used to annotate this part of the training phrase. |

---

##### `text`<sup>Required</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesParts.property.text"></a>

```typescript
public readonly text: string;
```

- *Type:* string

The text for this part.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#text DialogflowCxIntent#text}

---

##### `parameterId`<sup>Optional</sup> <a name="parameterId" id="@dschmidt/provider-google.DialogflowCxIntentTrainingPhrasesParts.property.parameterId"></a>

```typescript
public readonly parameterId: string;
```

- *Type:* string

The parameter used to annotate this part of the training phrase.

This field is required for annotated parts of the training phrase.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_intent#parameter_id DialogflowCxIntent#parameter_id}

---

### DialogflowCxPageConfig <a name="DialogflowCxPageConfig" id="@dschmidt/provider-google.DialogflowCxPageConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageConfig.Initializer"></a>

```typescript
import { DialogflowCxPageConfig } from '@dschmidt/provider-google'

const dialogflowCxPageConfig: DialogflowCxPageConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.displayName">displayName</a></code> | <code>string</code> | The human-readable name of the page, unique within the agent. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.entryFulfillment">entryFulfillment</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillment">DialogflowCxPageEntryFulfillment</a></code> | entry_fulfillment block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.eventHandlers">eventHandlers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlers">DialogflowCxPageEventHandlers</a>[]</code> | event_handlers block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.form">form</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageForm">DialogflowCxPageForm</a></code> | form block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#id DialogflowCxPage#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.languageCode">languageCode</a></code> | <code>string</code> | The language of the following fields in page:. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.parent">parent</a></code> | <code>string</code> | The flow to create a page for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageTimeouts">DialogflowCxPageTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.transitionRouteGroups">transitionRouteGroups</a></code> | <code>string[]</code> | Ordered list of TransitionRouteGroups associated with the page. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageConfig.property.transitionRoutes">transitionRoutes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes">DialogflowCxPageTransitionRoutes</a>[]</code> | transition_routes block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable name of the page, unique within the agent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#display_name DialogflowCxPage#display_name}

---

##### `entryFulfillment`<sup>Optional</sup> <a name="entryFulfillment" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.entryFulfillment"></a>

```typescript
public readonly entryFulfillment: DialogflowCxPageEntryFulfillment;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillment">DialogflowCxPageEntryFulfillment</a>

entry_fulfillment block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#entry_fulfillment DialogflowCxPage#entry_fulfillment}

---

##### `eventHandlers`<sup>Optional</sup> <a name="eventHandlers" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.eventHandlers"></a>

```typescript
public readonly eventHandlers: IResolvable | DialogflowCxPageEventHandlers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlers">DialogflowCxPageEventHandlers</a>[]

event_handlers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#event_handlers DialogflowCxPage#event_handlers}

---

##### `form`<sup>Optional</sup> <a name="form" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.form"></a>

```typescript
public readonly form: DialogflowCxPageForm;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageForm">DialogflowCxPageForm</a>

form block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#form DialogflowCxPage#form}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#id DialogflowCxPage#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `languageCode`<sup>Optional</sup> <a name="languageCode" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.languageCode"></a>

```typescript
public readonly languageCode: string;
```

- *Type:* string

The language of the following fields in page:.

Page.entry_fulfillment.messages
Page.entry_fulfillment.conditional_cases
Page.event_handlers.trigger_fulfillment.messages
Page.event_handlers.trigger_fulfillment.conditional_cases
Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages
Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases
Page.form.parameters.fill_behavior.reprompt_event_handlers.messages
Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases
Page.transition_routes.trigger_fulfillment.messages
Page.transition_routes.trigger_fulfillment.conditional_cases
If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#language_code DialogflowCxPage#language_code}

---

##### `parent`<sup>Optional</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The flow to create a page for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#parent DialogflowCxPage#parent}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxPageTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageTimeouts">DialogflowCxPageTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#timeouts DialogflowCxPage#timeouts}

---

##### `transitionRouteGroups`<sup>Optional</sup> <a name="transitionRouteGroups" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.transitionRouteGroups"></a>

```typescript
public readonly transitionRouteGroups: string[];
```

- *Type:* string[]

Ordered list of TransitionRouteGroups associated with the page.

Transition route groups must be unique within a page.
If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route -> page's transition route group -> flow's transition routes.
If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence.
Format:projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#transition_route_groups DialogflowCxPage#transition_route_groups}

---

##### `transitionRoutes`<sup>Optional</sup> <a name="transitionRoutes" id="@dschmidt/provider-google.DialogflowCxPageConfig.property.transitionRoutes"></a>

```typescript
public readonly transitionRoutes: IResolvable | DialogflowCxPageTransitionRoutes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes">DialogflowCxPageTransitionRoutes</a>[]

transition_routes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#transition_routes DialogflowCxPage#transition_routes}

---

### DialogflowCxPageEntryFulfillment <a name="DialogflowCxPageEntryFulfillment" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillment"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillment.Initializer"></a>

```typescript
import { DialogflowCxPageEntryFulfillment } from '@dschmidt/provider-google'

const dialogflowCxPageEntryFulfillment: DialogflowCxPageEntryFulfillment = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillment.property.messages">messages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessages">DialogflowCxPageEntryFulfillmentMessages</a>[]</code> | messages block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillment.property.returnPartialResponses">returnPartialResponses</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillment.property.tag">tag</a></code> | <code>string</code> | The tag used by the webhook to identify which fulfillment is being called. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillment.property.webhook">webhook</a></code> | <code>string</code> | The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>. |

---

##### `messages`<sup>Optional</sup> <a name="messages" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillment.property.messages"></a>

```typescript
public readonly messages: IResolvable | DialogflowCxPageEntryFulfillmentMessages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessages">DialogflowCxPageEntryFulfillmentMessages</a>[]

messages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#messages DialogflowCxPage#messages}

---

##### `returnPartialResponses`<sup>Optional</sup> <a name="returnPartialResponses" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillment.property.returnPartialResponses"></a>

```typescript
public readonly returnPartialResponses: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs.

If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#return_partial_responses DialogflowCxPage#return_partial_responses}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillment.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag used by the webhook to identify which fulfillment is being called.

This field is required if webhook is specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#tag DialogflowCxPage#tag}

---

##### `webhook`<sup>Optional</sup> <a name="webhook" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillment.property.webhook"></a>

```typescript
public readonly webhook: string;
```

- *Type:* string

The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#webhook DialogflowCxPage#webhook}

---

### DialogflowCxPageEntryFulfillmentMessages <a name="DialogflowCxPageEntryFulfillmentMessages" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessages.Initializer"></a>

```typescript
import { DialogflowCxPageEntryFulfillmentMessages } from '@dschmidt/provider-google'

const dialogflowCxPageEntryFulfillmentMessages: DialogflowCxPageEntryFulfillmentMessages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessages.property.text">text</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessagesText">DialogflowCxPageEntryFulfillmentMessagesText</a></code> | text block. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessages.property.text"></a>

```typescript
public readonly text: DialogflowCxPageEntryFulfillmentMessagesText;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessagesText">DialogflowCxPageEntryFulfillmentMessagesText</a>

text block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#text DialogflowCxPage#text}

---

### DialogflowCxPageEntryFulfillmentMessagesText <a name="DialogflowCxPageEntryFulfillmentMessagesText" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessagesText"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessagesText.Initializer"></a>

```typescript
import { DialogflowCxPageEntryFulfillmentMessagesText } from '@dschmidt/provider-google'

const dialogflowCxPageEntryFulfillmentMessagesText: DialogflowCxPageEntryFulfillmentMessagesText = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessagesText.property.text">text</a></code> | <code>string[]</code> | A collection of text responses. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxPageEntryFulfillmentMessagesText.property.text"></a>

```typescript
public readonly text: string[];
```

- *Type:* string[]

A collection of text responses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#text DialogflowCxPage#text}

---

### DialogflowCxPageEventHandlers <a name="DialogflowCxPageEventHandlers" id="@dschmidt/provider-google.DialogflowCxPageEventHandlers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageEventHandlers.Initializer"></a>

```typescript
import { DialogflowCxPageEventHandlers } from '@dschmidt/provider-google'

const dialogflowCxPageEventHandlers: DialogflowCxPageEventHandlers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlers.property.event">event</a></code> | <code>string</code> | The name of the event to handle. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlers.property.targetFlow">targetFlow</a></code> | <code>string</code> | The target flow to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlers.property.targetPage">targetPage</a></code> | <code>string</code> | The target page to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlers.property.triggerFulfillment">triggerFulfillment</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment">DialogflowCxPageEventHandlersTriggerFulfillment</a></code> | trigger_fulfillment block. |

---

##### `event`<sup>Optional</sup> <a name="event" id="@dschmidt/provider-google.DialogflowCxPageEventHandlers.property.event"></a>

```typescript
public readonly event: string;
```

- *Type:* string

The name of the event to handle.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#event DialogflowCxPage#event}

---

##### `targetFlow`<sup>Optional</sup> <a name="targetFlow" id="@dschmidt/provider-google.DialogflowCxPageEventHandlers.property.targetFlow"></a>

```typescript
public readonly targetFlow: string;
```

- *Type:* string

The target flow to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#target_flow DialogflowCxPage#target_flow}

---

##### `targetPage`<sup>Optional</sup> <a name="targetPage" id="@dschmidt/provider-google.DialogflowCxPageEventHandlers.property.targetPage"></a>

```typescript
public readonly targetPage: string;
```

- *Type:* string

The target page to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#target_page DialogflowCxPage#target_page}

---

##### `triggerFulfillment`<sup>Optional</sup> <a name="triggerFulfillment" id="@dschmidt/provider-google.DialogflowCxPageEventHandlers.property.triggerFulfillment"></a>

```typescript
public readonly triggerFulfillment: DialogflowCxPageEventHandlersTriggerFulfillment;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment">DialogflowCxPageEventHandlersTriggerFulfillment</a>

trigger_fulfillment block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#trigger_fulfillment DialogflowCxPage#trigger_fulfillment}

---

### DialogflowCxPageEventHandlersTriggerFulfillment <a name="DialogflowCxPageEventHandlersTriggerFulfillment" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment.Initializer"></a>

```typescript
import { DialogflowCxPageEventHandlersTriggerFulfillment } from '@dschmidt/provider-google'

const dialogflowCxPageEventHandlersTriggerFulfillment: DialogflowCxPageEventHandlersTriggerFulfillment = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment.property.messages">messages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessages">DialogflowCxPageEventHandlersTriggerFulfillmentMessages</a>[]</code> | messages block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment.property.returnPartialResponses">returnPartialResponses</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment.property.tag">tag</a></code> | <code>string</code> | The tag used by the webhook to identify which fulfillment is being called. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment.property.webhook">webhook</a></code> | <code>string</code> | The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>. |

---

##### `messages`<sup>Optional</sup> <a name="messages" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment.property.messages"></a>

```typescript
public readonly messages: IResolvable | DialogflowCxPageEventHandlersTriggerFulfillmentMessages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessages">DialogflowCxPageEventHandlersTriggerFulfillmentMessages</a>[]

messages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#messages DialogflowCxPage#messages}

---

##### `returnPartialResponses`<sup>Optional</sup> <a name="returnPartialResponses" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment.property.returnPartialResponses"></a>

```typescript
public readonly returnPartialResponses: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs.

If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#return_partial_responses DialogflowCxPage#return_partial_responses}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag used by the webhook to identify which fulfillment is being called.

This field is required if webhook is specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#tag DialogflowCxPage#tag}

---

##### `webhook`<sup>Optional</sup> <a name="webhook" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillment.property.webhook"></a>

```typescript
public readonly webhook: string;
```

- *Type:* string

The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#webhook DialogflowCxPage#webhook}

---

### DialogflowCxPageEventHandlersTriggerFulfillmentMessages <a name="DialogflowCxPageEventHandlersTriggerFulfillmentMessages" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessages.Initializer"></a>

```typescript
import { DialogflowCxPageEventHandlersTriggerFulfillmentMessages } from '@dschmidt/provider-google'

const dialogflowCxPageEventHandlersTriggerFulfillmentMessages: DialogflowCxPageEventHandlersTriggerFulfillmentMessages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessages.property.text">text</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText">DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText</a></code> | text block. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessages.property.text"></a>

```typescript
public readonly text: DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText">DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText</a>

text block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#text DialogflowCxPage#text}

---

### DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText <a name="DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText.Initializer"></a>

```typescript
import { DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText } from '@dschmidt/provider-google'

const dialogflowCxPageEventHandlersTriggerFulfillmentMessagesText: DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText.property.text">text</a></code> | <code>string[]</code> | A collection of text responses. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxPageEventHandlersTriggerFulfillmentMessagesText.property.text"></a>

```typescript
public readonly text: string[];
```

- *Type:* string[]

A collection of text responses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#text DialogflowCxPage#text}

---

### DialogflowCxPageForm <a name="DialogflowCxPageForm" id="@dschmidt/provider-google.DialogflowCxPageForm"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageForm.Initializer"></a>

```typescript
import { DialogflowCxPageForm } from '@dschmidt/provider-google'

const dialogflowCxPageForm: DialogflowCxPageForm = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageForm.property.parameters">parameters</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageFormParameters">DialogflowCxPageFormParameters</a>[]</code> | parameters block. |

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@dschmidt/provider-google.DialogflowCxPageForm.property.parameters"></a>

```typescript
public readonly parameters: IResolvable | DialogflowCxPageFormParameters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageFormParameters">DialogflowCxPageFormParameters</a>[]

parameters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#parameters DialogflowCxPage#parameters}

---

### DialogflowCxPageFormParameters <a name="DialogflowCxPageFormParameters" id="@dschmidt/provider-google.DialogflowCxPageFormParameters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageFormParameters.Initializer"></a>

```typescript
import { DialogflowCxPageFormParameters } from '@dschmidt/provider-google'

const dialogflowCxPageFormParameters: DialogflowCxPageFormParameters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParameters.property.displayName">displayName</a></code> | <code>string</code> | The human-readable name of the parameter, unique within the form. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParameters.property.entityType">entityType</a></code> | <code>string</code> | The entity type of the parameter. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParameters.property.fillBehavior">fillBehavior</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehavior">DialogflowCxPageFormParametersFillBehavior</a></code> | fill_behavior block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParameters.property.isList">isList</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether the parameter represents a list of values. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParameters.property.redact">redact</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether the parameter content should be redacted in log. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParameters.property.required">required</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether the parameter is required. |

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxPageFormParameters.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable name of the parameter, unique within the form.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#display_name DialogflowCxPage#display_name}

---

##### `entityType`<sup>Optional</sup> <a name="entityType" id="@dschmidt/provider-google.DialogflowCxPageFormParameters.property.entityType"></a>

```typescript
public readonly entityType: string;
```

- *Type:* string

The entity type of the parameter.

Format: projects/-/locations/-/agents/-/entityTypes/<System Entity Type ID> for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/entityTypes/<Entity Type ID> for developer entity types.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#entity_type DialogflowCxPage#entity_type}

---

##### `fillBehavior`<sup>Optional</sup> <a name="fillBehavior" id="@dschmidt/provider-google.DialogflowCxPageFormParameters.property.fillBehavior"></a>

```typescript
public readonly fillBehavior: DialogflowCxPageFormParametersFillBehavior;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehavior">DialogflowCxPageFormParametersFillBehavior</a>

fill_behavior block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#fill_behavior DialogflowCxPage#fill_behavior}

---

##### `isList`<sup>Optional</sup> <a name="isList" id="@dschmidt/provider-google.DialogflowCxPageFormParameters.property.isList"></a>

```typescript
public readonly isList: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether the parameter represents a list of values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#is_list DialogflowCxPage#is_list}

---

##### `redact`<sup>Optional</sup> <a name="redact" id="@dschmidt/provider-google.DialogflowCxPageFormParameters.property.redact"></a>

```typescript
public readonly redact: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether the parameter content should be redacted in log.

If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#redact DialogflowCxPage#redact}

---

##### `required`<sup>Optional</sup> <a name="required" id="@dschmidt/provider-google.DialogflowCxPageFormParameters.property.required"></a>

```typescript
public readonly required: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether the parameter is required.

Optional parameters will not trigger prompts; however, they are filled if the user specifies them. 
Required parameters must be filled before form filling concludes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#required DialogflowCxPage#required}

---

### DialogflowCxPageFormParametersFillBehavior <a name="DialogflowCxPageFormParametersFillBehavior" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehavior"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehavior.Initializer"></a>

```typescript
import { DialogflowCxPageFormParametersFillBehavior } from '@dschmidt/provider-google'

const dialogflowCxPageFormParametersFillBehavior: DialogflowCxPageFormParametersFillBehavior = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehavior.property.initialPromptFulfillment">initialPromptFulfillment</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment">DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment</a></code> | initial_prompt_fulfillment block. |

---

##### `initialPromptFulfillment`<sup>Optional</sup> <a name="initialPromptFulfillment" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehavior.property.initialPromptFulfillment"></a>

```typescript
public readonly initialPromptFulfillment: DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment">DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment</a>

initial_prompt_fulfillment block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#initial_prompt_fulfillment DialogflowCxPage#initial_prompt_fulfillment}

---

### DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment <a name="DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment.Initializer"></a>

```typescript
import { DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment } from '@dschmidt/provider-google'

const dialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment: DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment.property.messages">messages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages">DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages</a>[]</code> | messages block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment.property.returnPartialResponses">returnPartialResponses</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment.property.tag">tag</a></code> | <code>string</code> | The tag used by the webhook to identify which fulfillment is being called. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment.property.webhook">webhook</a></code> | <code>string</code> | The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>. |

---

##### `messages`<sup>Optional</sup> <a name="messages" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment.property.messages"></a>

```typescript
public readonly messages: IResolvable | DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages">DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages</a>[]

messages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#messages DialogflowCxPage#messages}

---

##### `returnPartialResponses`<sup>Optional</sup> <a name="returnPartialResponses" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment.property.returnPartialResponses"></a>

```typescript
public readonly returnPartialResponses: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs.

If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#return_partial_responses DialogflowCxPage#return_partial_responses}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag used by the webhook to identify which fulfillment is being called.

This field is required if webhook is specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#tag DialogflowCxPage#tag}

---

##### `webhook`<sup>Optional</sup> <a name="webhook" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillment.property.webhook"></a>

```typescript
public readonly webhook: string;
```

- *Type:* string

The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#webhook DialogflowCxPage#webhook}

---

### DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages <a name="DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages.Initializer"></a>

```typescript
import { DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages } from '@dschmidt/provider-google'

const dialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages: DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages.property.text">text</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText">DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText</a></code> | text block. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessages.property.text"></a>

```typescript
public readonly text: DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText">DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText</a>

text block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#text DialogflowCxPage#text}

---

### DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText <a name="DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText.Initializer"></a>

```typescript
import { DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText } from '@dschmidt/provider-google'

const dialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText: DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText.property.text">text</a></code> | <code>string[]</code> | A collection of text responses. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxPageFormParametersFillBehaviorInitialPromptFulfillmentMessagesText.property.text"></a>

```typescript
public readonly text: string[];
```

- *Type:* string[]

A collection of text responses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#text DialogflowCxPage#text}

---

### DialogflowCxPageTimeouts <a name="DialogflowCxPageTimeouts" id="@dschmidt/provider-google.DialogflowCxPageTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageTimeouts.Initializer"></a>

```typescript
import { DialogflowCxPageTimeouts } from '@dschmidt/provider-google'

const dialogflowCxPageTimeouts: DialogflowCxPageTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#create DialogflowCxPage#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#delete DialogflowCxPage#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#update DialogflowCxPage#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowCxPageTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#create DialogflowCxPage#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowCxPageTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#delete DialogflowCxPage#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowCxPageTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#update DialogflowCxPage#update}.

---

### DialogflowCxPageTransitionRoutes <a name="DialogflowCxPageTransitionRoutes" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.Initializer"></a>

```typescript
import { DialogflowCxPageTransitionRoutes } from '@dschmidt/provider-google'

const dialogflowCxPageTransitionRoutes: DialogflowCxPageTransitionRoutes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.condition">condition</a></code> | <code>string</code> | The condition to evaluate against form parameters or session parameters. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.intent">intent</a></code> | <code>string</code> | The unique identifier of an Intent. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.targetFlow">targetFlow</a></code> | <code>string</code> | The target flow to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.targetPage">targetPage</a></code> | <code>string</code> | The target page to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.triggerFulfillment">triggerFulfillment</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment">DialogflowCxPageTransitionRoutesTriggerFulfillment</a></code> | trigger_fulfillment block. |

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.condition"></a>

```typescript
public readonly condition: string;
```

- *Type:* string

The condition to evaluate against form parameters or session parameters.

At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#condition DialogflowCxPage#condition}

---

##### `intent`<sup>Optional</sup> <a name="intent" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.intent"></a>

```typescript
public readonly intent: string;
```

- *Type:* string

The unique identifier of an Intent.

Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/intents/<Intent ID>. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#intent DialogflowCxPage#intent}

---

##### `targetFlow`<sup>Optional</sup> <a name="targetFlow" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.targetFlow"></a>

```typescript
public readonly targetFlow: string;
```

- *Type:* string

The target flow to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#target_flow DialogflowCxPage#target_flow}

---

##### `targetPage`<sup>Optional</sup> <a name="targetPage" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.targetPage"></a>

```typescript
public readonly targetPage: string;
```

- *Type:* string

The target page to transition to.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#target_page DialogflowCxPage#target_page}

---

##### `triggerFulfillment`<sup>Optional</sup> <a name="triggerFulfillment" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutes.property.triggerFulfillment"></a>

```typescript
public readonly triggerFulfillment: DialogflowCxPageTransitionRoutesTriggerFulfillment;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment">DialogflowCxPageTransitionRoutesTriggerFulfillment</a>

trigger_fulfillment block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#trigger_fulfillment DialogflowCxPage#trigger_fulfillment}

---

### DialogflowCxPageTransitionRoutesTriggerFulfillment <a name="DialogflowCxPageTransitionRoutesTriggerFulfillment" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment.Initializer"></a>

```typescript
import { DialogflowCxPageTransitionRoutesTriggerFulfillment } from '@dschmidt/provider-google'

const dialogflowCxPageTransitionRoutesTriggerFulfillment: DialogflowCxPageTransitionRoutesTriggerFulfillment = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment.property.messages">messages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages">DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages</a>[]</code> | messages block. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment.property.returnPartialResponses">returnPartialResponses</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment.property.tag">tag</a></code> | <code>string</code> | The tag used by the webhook to identify which fulfillment is being called. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment.property.webhook">webhook</a></code> | <code>string</code> | The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>. |

---

##### `messages`<sup>Optional</sup> <a name="messages" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment.property.messages"></a>

```typescript
public readonly messages: IResolvable | DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages">DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages</a>[]

messages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#messages DialogflowCxPage#messages}

---

##### `returnPartialResponses`<sup>Optional</sup> <a name="returnPartialResponses" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment.property.returnPartialResponses"></a>

```typescript
public readonly returnPartialResponses: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs.

If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#return_partial_responses DialogflowCxPage#return_partial_responses}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag used by the webhook to identify which fulfillment is being called.

This field is required if webhook is specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#tag DialogflowCxPage#tag}

---

##### `webhook`<sup>Optional</sup> <a name="webhook" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillment.property.webhook"></a>

```typescript
public readonly webhook: string;
```

- *Type:* string

The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#webhook DialogflowCxPage#webhook}

---

### DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages <a name="DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages.Initializer"></a>

```typescript
import { DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages } from '@dschmidt/provider-google'

const dialogflowCxPageTransitionRoutesTriggerFulfillmentMessages: DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages.property.text">text</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText">DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText</a></code> | text block. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessages.property.text"></a>

```typescript
public readonly text: DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText">DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText</a>

text block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#text DialogflowCxPage#text}

---

### DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText <a name="DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText.Initializer"></a>

```typescript
import { DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText } from '@dschmidt/provider-google'

const dialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText: DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText.property.text">text</a></code> | <code>string[]</code> | A collection of text responses. |

---

##### `text`<sup>Optional</sup> <a name="text" id="@dschmidt/provider-google.DialogflowCxPageTransitionRoutesTriggerFulfillmentMessagesText.property.text"></a>

```typescript
public readonly text: string[];
```

- *Type:* string[]

A collection of text responses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_page#text DialogflowCxPage#text}

---

### DialogflowCxVersionConfig <a name="DialogflowCxVersionConfig" id="@dschmidt/provider-google.DialogflowCxVersionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxVersionConfig.Initializer"></a>

```typescript
import { DialogflowCxVersionConfig } from '@dschmidt/provider-google'

const dialogflowCxVersionConfig: DialogflowCxVersionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.displayName">displayName</a></code> | <code>string</code> | The human-readable name of the version. Limit of 64 characters. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.description">description</a></code> | <code>string</code> | The description of the version. The maximum length is 500 characters. If exceeded, the request is rejected. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#id DialogflowCxVersion#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.parent">parent</a></code> | <code>string</code> | The Flow to create an Version for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowCxVersionTimeouts">DialogflowCxVersionTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable name of the version. Limit of 64 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#display_name DialogflowCxVersion#display_name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The description of the version. The maximum length is 500 characters. If exceeded, the request is rejected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#description DialogflowCxVersion#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#id DialogflowCxVersion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `parent`<sup>Optional</sup> <a name="parent" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The Flow to create an Version for.  Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#parent DialogflowCxVersion#parent}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowCxVersionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowCxVersionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowCxVersionTimeouts">DialogflowCxVersionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#timeouts DialogflowCxVersion#timeouts}

---

### DialogflowCxVersionNluSettings <a name="DialogflowCxVersionNluSettings" id="@dschmidt/provider-google.DialogflowCxVersionNluSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxVersionNluSettings.Initializer"></a>

```typescript
import { DialogflowCxVersionNluSettings } from '@dschmidt/provider-google'

const dialogflowCxVersionNluSettings: DialogflowCxVersionNluSettings = { ... }
```


### DialogflowCxVersionTimeouts <a name="DialogflowCxVersionTimeouts" id="@dschmidt/provider-google.DialogflowCxVersionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowCxVersionTimeouts.Initializer"></a>

```typescript
import { DialogflowCxVersionTimeouts } from '@dschmidt/provider-google'

const dialogflowCxVersionTimeouts: DialogflowCxVersionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#create DialogflowCxVersion#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#delete DialogflowCxVersion#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowCxVersionTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#update DialogflowCxVersion#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowCxVersionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#create DialogflowCxVersion#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowCxVersionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#delete DialogflowCxVersion#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowCxVersionTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_cx_version#update DialogflowCxVersion#update}.

---

### DialogflowEntityTypeConfig <a name="DialogflowEntityTypeConfig" id="@dschmidt/provider-google.DialogflowEntityTypeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.Initializer"></a>

```typescript
import { DialogflowEntityTypeConfig } from '@dschmidt/provider-google'

const dialogflowEntityTypeConfig: DialogflowEntityTypeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.displayName">displayName</a></code> | <code>string</code> | The name of this entity type to be displayed on the console. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.kind">kind</a></code> | <code>string</code> | Indicates the kind of entity type. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.enableFuzzyExtraction">enableFuzzyExtraction</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enables fuzzy entity extraction during classification. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.entities">entities</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowEntityTypeEntities">DialogflowEntityTypeEntities</a>[]</code> | entities block. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#id DialogflowEntityType#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#project DialogflowEntityType#project}. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeouts">DialogflowEntityTypeTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The name of this entity type to be displayed on the console.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#display_name DialogflowEntityType#display_name}

---

##### `kind`<sup>Required</sup> <a name="kind" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

Indicates the kind of entity type.

KIND_MAP: Map entity types allow mapping of a group of synonyms to a reference value.
KIND_LIST: List entity types contain a set of entries that do not map to reference values. However, list entity
types can contain references to other entity types (with or without aliases).
KIND_REGEXP: Regexp entity types allow to specify regular expressions in entries values. Possible values: ["KIND_MAP", "KIND_LIST", "KIND_REGEXP"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#kind DialogflowEntityType#kind}

---

##### `enableFuzzyExtraction`<sup>Optional</sup> <a name="enableFuzzyExtraction" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.enableFuzzyExtraction"></a>

```typescript
public readonly enableFuzzyExtraction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enables fuzzy entity extraction during classification.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#enable_fuzzy_extraction DialogflowEntityType#enable_fuzzy_extraction}

---

##### `entities`<sup>Optional</sup> <a name="entities" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.entities"></a>

```typescript
public readonly entities: IResolvable | DialogflowEntityTypeEntities[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowEntityTypeEntities">DialogflowEntityTypeEntities</a>[]

entities block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#entities DialogflowEntityType#entities}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#id DialogflowEntityType#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#project DialogflowEntityType#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowEntityTypeConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowEntityTypeTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeouts">DialogflowEntityTypeTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#timeouts DialogflowEntityType#timeouts}

---

### DialogflowEntityTypeEntities <a name="DialogflowEntityTypeEntities" id="@dschmidt/provider-google.DialogflowEntityTypeEntities"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowEntityTypeEntities.Initializer"></a>

```typescript
import { DialogflowEntityTypeEntities } from '@dschmidt/provider-google'

const dialogflowEntityTypeEntities: DialogflowEntityTypeEntities = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeEntities.property.synonyms">synonyms</a></code> | <code>string[]</code> | A collection of value synonyms. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeEntities.property.value">value</a></code> | <code>string</code> | The primary value associated with this entity entry. |

---

##### `synonyms`<sup>Required</sup> <a name="synonyms" id="@dschmidt/provider-google.DialogflowEntityTypeEntities.property.synonyms"></a>

```typescript
public readonly synonyms: string[];
```

- *Type:* string[]

A collection of value synonyms.

For example, if the entity type is vegetable, and value is scallions, a synonym
could be green onions.
For KIND_LIST entity types:
This collection must contain exactly one synonym equal to value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#synonyms DialogflowEntityType#synonyms}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.DialogflowEntityTypeEntities.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The primary value associated with this entity entry.

For example, if the entity type is vegetable, the value
could be scallions.
For KIND_MAP entity types:
A reference value to be used in place of synonyms.
For KIND_LIST entity types:
A string that can contain references to other entity types (with or without aliases).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#value DialogflowEntityType#value}

---

### DialogflowEntityTypeTimeouts <a name="DialogflowEntityTypeTimeouts" id="@dschmidt/provider-google.DialogflowEntityTypeTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowEntityTypeTimeouts.Initializer"></a>

```typescript
import { DialogflowEntityTypeTimeouts } from '@dschmidt/provider-google'

const dialogflowEntityTypeTimeouts: DialogflowEntityTypeTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#create DialogflowEntityType#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#delete DialogflowEntityType#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowEntityTypeTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#update DialogflowEntityType#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowEntityTypeTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#create DialogflowEntityType#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowEntityTypeTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#delete DialogflowEntityType#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowEntityTypeTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_entity_type#update DialogflowEntityType#update}.

---

### DialogflowFulfillmentConfig <a name="DialogflowFulfillmentConfig" id="@dschmidt/provider-google.DialogflowFulfillmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.Initializer"></a>

```typescript
import { DialogflowFulfillmentConfig } from '@dschmidt/provider-google'

const dialogflowFulfillmentConfig: DialogflowFulfillmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.displayName">displayName</a></code> | <code>string</code> | The human-readable name of the fulfillment, unique within the agent. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether fulfillment is enabled. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.features">features</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DialogflowFulfillmentFeatures">DialogflowFulfillmentFeatures</a>[]</code> | features block. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.genericWebService">genericWebService</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebService">DialogflowFulfillmentGenericWebService</a></code> | generic_web_service block. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#id DialogflowFulfillment#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#project DialogflowFulfillment#project}. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeouts">DialogflowFulfillmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human-readable name of the fulfillment, unique within the agent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#display_name DialogflowFulfillment#display_name}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether fulfillment is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#enabled DialogflowFulfillment#enabled}

---

##### `features`<sup>Optional</sup> <a name="features" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.features"></a>

```typescript
public readonly features: IResolvable | DialogflowFulfillmentFeatures[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DialogflowFulfillmentFeatures">DialogflowFulfillmentFeatures</a>[]

features block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#features DialogflowFulfillment#features}

---

##### `genericWebService`<sup>Optional</sup> <a name="genericWebService" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.genericWebService"></a>

```typescript
public readonly genericWebService: DialogflowFulfillmentGenericWebService;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebService">DialogflowFulfillmentGenericWebService</a>

generic_web_service block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#generic_web_service DialogflowFulfillment#generic_web_service}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#id DialogflowFulfillment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#project DialogflowFulfillment#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowFulfillmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowFulfillmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeouts">DialogflowFulfillmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#timeouts DialogflowFulfillment#timeouts}

---

### DialogflowFulfillmentFeatures <a name="DialogflowFulfillmentFeatures" id="@dschmidt/provider-google.DialogflowFulfillmentFeatures"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowFulfillmentFeatures.Initializer"></a>

```typescript
import { DialogflowFulfillmentFeatures } from '@dschmidt/provider-google'

const dialogflowFulfillmentFeatures: DialogflowFulfillmentFeatures = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentFeatures.property.type">type</a></code> | <code>string</code> | The type of the feature that enabled for fulfillment. SMALLTALK: Fulfillment is enabled for SmallTalk. Possible values: ["SMALLTALK"]. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DialogflowFulfillmentFeatures.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of the feature that enabled for fulfillment. SMALLTALK: Fulfillment is enabled for SmallTalk. Possible values: ["SMALLTALK"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#type DialogflowFulfillment#type}

---

### DialogflowFulfillmentGenericWebService <a name="DialogflowFulfillmentGenericWebService" id="@dschmidt/provider-google.DialogflowFulfillmentGenericWebService"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowFulfillmentGenericWebService.Initializer"></a>

```typescript
import { DialogflowFulfillmentGenericWebService } from '@dschmidt/provider-google'

const dialogflowFulfillmentGenericWebService: DialogflowFulfillmentGenericWebService = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebService.property.uri">uri</a></code> | <code>string</code> | The fulfillment URI for receiving POST requests. It must use https protocol. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebService.property.password">password</a></code> | <code>string</code> | The password for HTTP Basic authentication. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebService.property.requestHeaders">requestHeaders</a></code> | <code>{[ key: string ]: string}</code> | The HTTP request headers to send together with fulfillment requests. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentGenericWebService.property.username">username</a></code> | <code>string</code> | The user name for HTTP Basic authentication. |

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.DialogflowFulfillmentGenericWebService.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

The fulfillment URI for receiving POST requests. It must use https protocol.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#uri DialogflowFulfillment#uri}

---

##### `password`<sup>Optional</sup> <a name="password" id="@dschmidt/provider-google.DialogflowFulfillmentGenericWebService.property.password"></a>

```typescript
public readonly password: string;
```

- *Type:* string

The password for HTTP Basic authentication.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#password DialogflowFulfillment#password}

---

##### `requestHeaders`<sup>Optional</sup> <a name="requestHeaders" id="@dschmidt/provider-google.DialogflowFulfillmentGenericWebService.property.requestHeaders"></a>

```typescript
public readonly requestHeaders: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The HTTP request headers to send together with fulfillment requests.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#request_headers DialogflowFulfillment#request_headers}

---

##### `username`<sup>Optional</sup> <a name="username" id="@dschmidt/provider-google.DialogflowFulfillmentGenericWebService.property.username"></a>

```typescript
public readonly username: string;
```

- *Type:* string

The user name for HTTP Basic authentication.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#username DialogflowFulfillment#username}

---

### DialogflowFulfillmentTimeouts <a name="DialogflowFulfillmentTimeouts" id="@dschmidt/provider-google.DialogflowFulfillmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowFulfillmentTimeouts.Initializer"></a>

```typescript
import { DialogflowFulfillmentTimeouts } from '@dschmidt/provider-google'

const dialogflowFulfillmentTimeouts: DialogflowFulfillmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#create DialogflowFulfillment#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#delete DialogflowFulfillment#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowFulfillmentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#update DialogflowFulfillment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowFulfillmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#create DialogflowFulfillment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowFulfillmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#delete DialogflowFulfillment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowFulfillmentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_fulfillment#update DialogflowFulfillment#update}.

---

### DialogflowIntentConfig <a name="DialogflowIntentConfig" id="@dschmidt/provider-google.DialogflowIntentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowIntentConfig.Initializer"></a>

```typescript
import { DialogflowIntentConfig } from '@dschmidt/provider-google'

const dialogflowIntentConfig: DialogflowIntentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.displayName">displayName</a></code> | <code>string</code> | The name of this intent to be displayed on the console. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.action">action</a></code> | <code>string</code> | The name of the action associated with the intent. Note: The action name must not contain whitespaces. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.defaultResponsePlatforms">defaultResponsePlatforms</a></code> | <code>string[]</code> | The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform). Possible values: ["FACEBOOK", "SLACK", "TELEGRAM", "KIK", "SKYPE", "LINE", "VIBER", "ACTIONS_ON_GOOGLE", "GOOGLE_HANGOUTS"]. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.events">events</a></code> | <code>string[]</code> | The collection of event names that trigger the intent. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#id DialogflowIntent#id}. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.inputContextNames">inputContextNames</a></code> | <code>string[]</code> | The list of context names required for this intent to be triggered. Format: projects/<Project ID>/agent/sessions/-/contexts/<Context ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.isFallback">isFallback</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether this is a fallback intent. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.mlDisabled">mlDisabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether Machine Learning is disabled for the intent. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.parentFollowupIntentName">parentFollowupIntentName</a></code> | <code>string</code> | The unique identifier of the parent intent in the chain of followup intents. Format: projects/<Project ID>/agent/intents/<Intent ID>. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.priority">priority</a></code> | <code>number</code> | The priority of this intent. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#project DialogflowIntent#project}. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.resetContexts">resetContexts</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether to delete all contexts in the current session when this intent is matched. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DialogflowIntentTimeouts">DialogflowIntentTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentConfig.property.webhookState">webhookState</a></code> | <code>string</code> | Indicates whether webhooks are enabled for the intent. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DialogflowIntentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DialogflowIntentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DialogflowIntentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DialogflowIntentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DialogflowIntentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DialogflowIntentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DialogflowIntentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DialogflowIntentConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The name of this intent to be displayed on the console.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#display_name DialogflowIntent#display_name}

---

##### `action`<sup>Optional</sup> <a name="action" id="@dschmidt/provider-google.DialogflowIntentConfig.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

The name of the action associated with the intent. Note: The action name must not contain whitespaces.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#action DialogflowIntent#action}

---

##### `defaultResponsePlatforms`<sup>Optional</sup> <a name="defaultResponsePlatforms" id="@dschmidt/provider-google.DialogflowIntentConfig.property.defaultResponsePlatforms"></a>

```typescript
public readonly defaultResponsePlatforms: string[];
```

- *Type:* string[]

The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform). Possible values: ["FACEBOOK", "SLACK", "TELEGRAM", "KIK", "SKYPE", "LINE", "VIBER", "ACTIONS_ON_GOOGLE", "GOOGLE_HANGOUTS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#default_response_platforms DialogflowIntent#default_response_platforms}

---

##### `events`<sup>Optional</sup> <a name="events" id="@dschmidt/provider-google.DialogflowIntentConfig.property.events"></a>

```typescript
public readonly events: string[];
```

- *Type:* string[]

The collection of event names that trigger the intent.

If the collection of input contexts is not empty, all of
the contexts must be present in the active user session for an event to trigger this intent. See the 
[events reference](https://cloud.google.com/dialogflow/docs/events-overview) for more details.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#events DialogflowIntent#events}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DialogflowIntentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#id DialogflowIntent#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `inputContextNames`<sup>Optional</sup> <a name="inputContextNames" id="@dschmidt/provider-google.DialogflowIntentConfig.property.inputContextNames"></a>

```typescript
public readonly inputContextNames: string[];
```

- *Type:* string[]

The list of context names required for this intent to be triggered. Format: projects/<Project ID>/agent/sessions/-/contexts/<Context ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#input_context_names DialogflowIntent#input_context_names}

---

##### `isFallback`<sup>Optional</sup> <a name="isFallback" id="@dschmidt/provider-google.DialogflowIntentConfig.property.isFallback"></a>

```typescript
public readonly isFallback: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether this is a fallback intent.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#is_fallback DialogflowIntent#is_fallback}

---

##### `mlDisabled`<sup>Optional</sup> <a name="mlDisabled" id="@dschmidt/provider-google.DialogflowIntentConfig.property.mlDisabled"></a>

```typescript
public readonly mlDisabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether Machine Learning is disabled for the intent.

Note: If mlDisabled setting is set to true, then this intent is not taken into account during inference in ML
ONLY match mode. Also, auto-markup in the UI is turned off.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#ml_disabled DialogflowIntent#ml_disabled}

---

##### `parentFollowupIntentName`<sup>Optional</sup> <a name="parentFollowupIntentName" id="@dschmidt/provider-google.DialogflowIntentConfig.property.parentFollowupIntentName"></a>

```typescript
public readonly parentFollowupIntentName: string;
```

- *Type:* string

The unique identifier of the parent intent in the chain of followup intents. Format: projects/<Project ID>/agent/intents/<Intent ID>.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#parent_followup_intent_name DialogflowIntent#parent_followup_intent_name}

---

##### `priority`<sup>Optional</sup> <a name="priority" id="@dschmidt/provider-google.DialogflowIntentConfig.property.priority"></a>

```typescript
public readonly priority: number;
```

- *Type:* number

The priority of this intent.

Higher numbers represent higher priorities.
- If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds
to the Normal priority in the console.
- If the supplied value is negative, the intent is ignored in runtime detect intent requests.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#priority DialogflowIntent#priority}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DialogflowIntentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#project DialogflowIntent#project}.

---

##### `resetContexts`<sup>Optional</sup> <a name="resetContexts" id="@dschmidt/provider-google.DialogflowIntentConfig.property.resetContexts"></a>

```typescript
public readonly resetContexts: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether to delete all contexts in the current session when this intent is matched.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#reset_contexts DialogflowIntent#reset_contexts}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DialogflowIntentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DialogflowIntentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DialogflowIntentTimeouts">DialogflowIntentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#timeouts DialogflowIntent#timeouts}

---

##### `webhookState`<sup>Optional</sup> <a name="webhookState" id="@dschmidt/provider-google.DialogflowIntentConfig.property.webhookState"></a>

```typescript
public readonly webhookState: string;
```

- *Type:* string

Indicates whether webhooks are enabled for the intent.

WEBHOOK_STATE_ENABLED: Webhook is enabled in the agent and in the intent.
WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING: Webhook is enabled in the agent and in the intent. Also, each slot
filling prompt is forwarded to the webhook. Possible values: ["WEBHOOK_STATE_ENABLED", "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#webhook_state DialogflowIntent#webhook_state}

---

### DialogflowIntentFollowupIntentInfo <a name="DialogflowIntentFollowupIntentInfo" id="@dschmidt/provider-google.DialogflowIntentFollowupIntentInfo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowIntentFollowupIntentInfo.Initializer"></a>

```typescript
import { DialogflowIntentFollowupIntentInfo } from '@dschmidt/provider-google'

const dialogflowIntentFollowupIntentInfo: DialogflowIntentFollowupIntentInfo = { ... }
```


### DialogflowIntentTimeouts <a name="DialogflowIntentTimeouts" id="@dschmidt/provider-google.DialogflowIntentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DialogflowIntentTimeouts.Initializer"></a>

```typescript
import { DialogflowIntentTimeouts } from '@dschmidt/provider-google'

const dialogflowIntentTimeouts: DialogflowIntentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#create DialogflowIntent#create}. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#delete DialogflowIntent#delete}. |
| <code><a href="#@dschmidt/provider-google.DialogflowIntentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#update DialogflowIntent#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DialogflowIntentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#create DialogflowIntent#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DialogflowIntentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#delete DialogflowIntent#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DialogflowIntentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dialogflow_intent#update DialogflowIntent#update}.

---

### DnsManagedZoneConfig <a name="DnsManagedZoneConfig" id="@dschmidt/provider-google.DnsManagedZoneConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZoneConfig.Initializer"></a>

```typescript
import { DnsManagedZoneConfig } from '@dschmidt/provider-google'

const dnsManagedZoneConfig: DnsManagedZoneConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.dnsName">dnsName</a></code> | <code>string</code> | The DNS name of this managed zone, for instance "example.com.". |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.name">name</a></code> | <code>string</code> | User assigned name for this resource. Must be unique within the project. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.description">description</a></code> | <code>string</code> | A textual description field. Defaults to 'Managed by Terraform'. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.dnssecConfig">dnssecConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfig">DnsManagedZoneDnssecConfig</a></code> | dnssec_config block. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.forceDestroy">forceDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#force_destroy DnsManagedZone#force_destroy}. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.forwardingConfig">forwardingConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfig">DnsManagedZoneForwardingConfig</a></code> | forwarding_config block. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#id DnsManagedZone#id}. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to this ManagedZone. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.peeringConfig">peeringConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfig">DnsManagedZonePeeringConfig</a></code> | peering_config block. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.privateVisibilityConfig">privateVisibilityConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfig">DnsManagedZonePrivateVisibilityConfig</a></code> | private_visibility_config block. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#project DnsManagedZone#project}. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZoneTimeouts">DnsManagedZoneTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneConfig.property.visibility">visibility</a></code> | <code>string</code> | The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dnsName`<sup>Required</sup> <a name="dnsName" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.dnsName"></a>

```typescript
public readonly dnsName: string;
```

- *Type:* string

The DNS name of this managed zone, for instance "example.com.".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#dns_name DnsManagedZone#dns_name}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

User assigned name for this resource. Must be unique within the project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#name DnsManagedZone#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A textual description field. Defaults to 'Managed by Terraform'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#description DnsManagedZone#description}

---

##### `dnssecConfig`<sup>Optional</sup> <a name="dnssecConfig" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.dnssecConfig"></a>

```typescript
public readonly dnssecConfig: DnsManagedZoneDnssecConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfig">DnsManagedZoneDnssecConfig</a>

dnssec_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#dnssec_config DnsManagedZone#dnssec_config}

---

##### `forceDestroy`<sup>Optional</sup> <a name="forceDestroy" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.forceDestroy"></a>

```typescript
public readonly forceDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#force_destroy DnsManagedZone#force_destroy}.

---

##### `forwardingConfig`<sup>Optional</sup> <a name="forwardingConfig" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.forwardingConfig"></a>

```typescript
public readonly forwardingConfig: DnsManagedZoneForwardingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfig">DnsManagedZoneForwardingConfig</a>

forwarding_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#forwarding_config DnsManagedZone#forwarding_config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#id DnsManagedZone#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to this ManagedZone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#labels DnsManagedZone#labels}

---

##### `peeringConfig`<sup>Optional</sup> <a name="peeringConfig" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.peeringConfig"></a>

```typescript
public readonly peeringConfig: DnsManagedZonePeeringConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfig">DnsManagedZonePeeringConfig</a>

peering_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#peering_config DnsManagedZone#peering_config}

---

##### `privateVisibilityConfig`<sup>Optional</sup> <a name="privateVisibilityConfig" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.privateVisibilityConfig"></a>

```typescript
public readonly privateVisibilityConfig: DnsManagedZonePrivateVisibilityConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfig">DnsManagedZonePrivateVisibilityConfig</a>

private_visibility_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#private_visibility_config DnsManagedZone#private_visibility_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#project DnsManagedZone#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DnsManagedZoneTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZoneTimeouts">DnsManagedZoneTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#timeouts DnsManagedZone#timeouts}

---

##### `visibility`<sup>Optional</sup> <a name="visibility" id="@dschmidt/provider-google.DnsManagedZoneConfig.property.visibility"></a>

```typescript
public readonly visibility: string;
```

- *Type:* string

The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.

Default value: "public" Possible values: ["private", "public"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#visibility DnsManagedZone#visibility}

---

### DnsManagedZoneDnssecConfig <a name="DnsManagedZoneDnssecConfig" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfig.Initializer"></a>

```typescript
import { DnsManagedZoneDnssecConfig } from '@dschmidt/provider-google'

const dnsManagedZoneDnssecConfig: DnsManagedZoneDnssecConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfig.property.defaultKeySpecs">defaultKeySpecs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs">DnsManagedZoneDnssecConfigDefaultKeySpecs</a>[]</code> | default_key_specs block. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfig.property.kind">kind</a></code> | <code>string</code> | Identifies what kind of resource this is. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfig.property.nonExistence">nonExistence</a></code> | <code>string</code> | Specifies the mechanism used to provide authenticated denial-of-existence responses. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfig.property.state">state</a></code> | <code>string</code> | Specifies whether DNSSEC is enabled, and what mode it is in Possible values: ["off", "on", "transfer"]. |

---

##### `defaultKeySpecs`<sup>Optional</sup> <a name="defaultKeySpecs" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfig.property.defaultKeySpecs"></a>

```typescript
public readonly defaultKeySpecs: IResolvable | DnsManagedZoneDnssecConfigDefaultKeySpecs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs">DnsManagedZoneDnssecConfigDefaultKeySpecs</a>[]

default_key_specs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#default_key_specs DnsManagedZone#default_key_specs}

---

##### `kind`<sup>Optional</sup> <a name="kind" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfig.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

Identifies what kind of resource this is.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#kind DnsManagedZone#kind}

---

##### `nonExistence`<sup>Optional</sup> <a name="nonExistence" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfig.property.nonExistence"></a>

```typescript
public readonly nonExistence: string;
```

- *Type:* string

Specifies the mechanism used to provide authenticated denial-of-existence responses.

non_existence can only be updated when the state is 'off'. Possible values: ["nsec", "nsec3"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#non_existence DnsManagedZone#non_existence}

---

##### `state`<sup>Optional</sup> <a name="state" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfig.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

Specifies whether DNSSEC is enabled, and what mode it is in Possible values: ["off", "on", "transfer"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#state DnsManagedZone#state}

---

### DnsManagedZoneDnssecConfigDefaultKeySpecs <a name="DnsManagedZoneDnssecConfigDefaultKeySpecs" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs.Initializer"></a>

```typescript
import { DnsManagedZoneDnssecConfigDefaultKeySpecs } from '@dschmidt/provider-google'

const dnsManagedZoneDnssecConfigDefaultKeySpecs: DnsManagedZoneDnssecConfigDefaultKeySpecs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs.property.algorithm">algorithm</a></code> | <code>string</code> | String mnemonic specifying the DNSSEC algorithm of this key Possible values: ["ecdsap256sha256", "ecdsap384sha384", "rsasha1", "rsasha256", "rsasha512"]. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs.property.keyLength">keyLength</a></code> | <code>number</code> | Length of the keys in bits. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs.property.keyType">keyType</a></code> | <code>string</code> | Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs.property.kind">kind</a></code> | <code>string</code> | Identifies what kind of resource this is. |

---

##### `algorithm`<sup>Optional</sup> <a name="algorithm" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs.property.algorithm"></a>

```typescript
public readonly algorithm: string;
```

- *Type:* string

String mnemonic specifying the DNSSEC algorithm of this key Possible values: ["ecdsap256sha256", "ecdsap384sha384", "rsasha1", "rsasha256", "rsasha512"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#algorithm DnsManagedZone#algorithm}

---

##### `keyLength`<sup>Optional</sup> <a name="keyLength" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs.property.keyLength"></a>

```typescript
public readonly keyLength: number;
```

- *Type:* number

Length of the keys in bits.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#key_length DnsManagedZone#key_length}

---

##### `keyType`<sup>Optional</sup> <a name="keyType" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs.property.keyType"></a>

```typescript
public readonly keyType: string;
```

- *Type:* string

Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK).

Key signing keys have the Secure Entry
Point flag set and, when active, will only be used to sign
resource record sets of type DNSKEY. Zone signing keys do
not have the Secure Entry Point flag set and will be used
to sign all other types of resource record sets. Possible values: ["keySigning", "zoneSigning"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#key_type DnsManagedZone#key_type}

---

##### `kind`<sup>Optional</sup> <a name="kind" id="@dschmidt/provider-google.DnsManagedZoneDnssecConfigDefaultKeySpecs.property.kind"></a>

```typescript
public readonly kind: string;
```

- *Type:* string

Identifies what kind of resource this is.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#kind DnsManagedZone#kind}

---

### DnsManagedZoneForwardingConfig <a name="DnsManagedZoneForwardingConfig" id="@dschmidt/provider-google.DnsManagedZoneForwardingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZoneForwardingConfig.Initializer"></a>

```typescript
import { DnsManagedZoneForwardingConfig } from '@dschmidt/provider-google'

const dnsManagedZoneForwardingConfig: DnsManagedZoneForwardingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfig.property.targetNameServers">targetNameServers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfigTargetNameServers">DnsManagedZoneForwardingConfigTargetNameServers</a>[]</code> | target_name_servers block. |

---

##### `targetNameServers`<sup>Required</sup> <a name="targetNameServers" id="@dschmidt/provider-google.DnsManagedZoneForwardingConfig.property.targetNameServers"></a>

```typescript
public readonly targetNameServers: IResolvable | DnsManagedZoneForwardingConfigTargetNameServers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfigTargetNameServers">DnsManagedZoneForwardingConfigTargetNameServers</a>[]

target_name_servers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#target_name_servers DnsManagedZone#target_name_servers}

---

### DnsManagedZoneForwardingConfigTargetNameServers <a name="DnsManagedZoneForwardingConfigTargetNameServers" id="@dschmidt/provider-google.DnsManagedZoneForwardingConfigTargetNameServers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZoneForwardingConfigTargetNameServers.Initializer"></a>

```typescript
import { DnsManagedZoneForwardingConfigTargetNameServers } from '@dschmidt/provider-google'

const dnsManagedZoneForwardingConfigTargetNameServers: DnsManagedZoneForwardingConfigTargetNameServers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfigTargetNameServers.property.ipv4Address">ipv4Address</a></code> | <code>string</code> | IPv4 address of a target name server. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneForwardingConfigTargetNameServers.property.forwardingPath">forwardingPath</a></code> | <code>string</code> | Forwarding path for this TargetNameServer. |

---

##### `ipv4Address`<sup>Required</sup> <a name="ipv4Address" id="@dschmidt/provider-google.DnsManagedZoneForwardingConfigTargetNameServers.property.ipv4Address"></a>

```typescript
public readonly ipv4Address: string;
```

- *Type:* string

IPv4 address of a target name server.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#ipv4_address DnsManagedZone#ipv4_address}

---

##### `forwardingPath`<sup>Optional</sup> <a name="forwardingPath" id="@dschmidt/provider-google.DnsManagedZoneForwardingConfigTargetNameServers.property.forwardingPath"></a>

```typescript
public readonly forwardingPath: string;
```

- *Type:* string

Forwarding path for this TargetNameServer.

If unset or 'default' Cloud DNS will make forwarding
decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go
to the Internet. When set to 'private', Cloud DNS will always send queries through VPC for this target Possible values: ["default", "private"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#forwarding_path DnsManagedZone#forwarding_path}

---

### DnsManagedZonePeeringConfig <a name="DnsManagedZonePeeringConfig" id="@dschmidt/provider-google.DnsManagedZonePeeringConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZonePeeringConfig.Initializer"></a>

```typescript
import { DnsManagedZonePeeringConfig } from '@dschmidt/provider-google'

const dnsManagedZonePeeringConfig: DnsManagedZonePeeringConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfig.property.targetNetwork">targetNetwork</a></code> | <code><a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfigTargetNetwork">DnsManagedZonePeeringConfigTargetNetwork</a></code> | target_network block. |

---

##### `targetNetwork`<sup>Required</sup> <a name="targetNetwork" id="@dschmidt/provider-google.DnsManagedZonePeeringConfig.property.targetNetwork"></a>

```typescript
public readonly targetNetwork: DnsManagedZonePeeringConfigTargetNetwork;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfigTargetNetwork">DnsManagedZonePeeringConfigTargetNetwork</a>

target_network block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#target_network DnsManagedZone#target_network}

---

### DnsManagedZonePeeringConfigTargetNetwork <a name="DnsManagedZonePeeringConfigTargetNetwork" id="@dschmidt/provider-google.DnsManagedZonePeeringConfigTargetNetwork"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZonePeeringConfigTargetNetwork.Initializer"></a>

```typescript
import { DnsManagedZonePeeringConfigTargetNetwork } from '@dschmidt/provider-google'

const dnsManagedZonePeeringConfigTargetNetwork: DnsManagedZonePeeringConfigTargetNetwork = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZonePeeringConfigTargetNetwork.property.networkUrl">networkUrl</a></code> | <code>string</code> | The id or fully qualified URL of the VPC network to forward queries to. |

---

##### `networkUrl`<sup>Required</sup> <a name="networkUrl" id="@dschmidt/provider-google.DnsManagedZonePeeringConfigTargetNetwork.property.networkUrl"></a>

```typescript
public readonly networkUrl: string;
```

- *Type:* string

The id or fully qualified URL of the VPC network to forward queries to.

This should be formatted like 'projects/{project}/global/networks/{network}' or
'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#network_url DnsManagedZone#network_url}

---

### DnsManagedZonePrivateVisibilityConfig <a name="DnsManagedZonePrivateVisibilityConfig" id="@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfig.Initializer"></a>

```typescript
import { DnsManagedZonePrivateVisibilityConfig } from '@dschmidt/provider-google'

const dnsManagedZonePrivateVisibilityConfig: DnsManagedZonePrivateVisibilityConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfig.property.networks">networks</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfigNetworks">DnsManagedZonePrivateVisibilityConfigNetworks</a>[]</code> | networks block. |

---

##### `networks`<sup>Required</sup> <a name="networks" id="@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfig.property.networks"></a>

```typescript
public readonly networks: IResolvable | DnsManagedZonePrivateVisibilityConfigNetworks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfigNetworks">DnsManagedZonePrivateVisibilityConfigNetworks</a>[]

networks block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#networks DnsManagedZone#networks}

---

### DnsManagedZonePrivateVisibilityConfigNetworks <a name="DnsManagedZonePrivateVisibilityConfigNetworks" id="@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfigNetworks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfigNetworks.Initializer"></a>

```typescript
import { DnsManagedZonePrivateVisibilityConfigNetworks } from '@dschmidt/provider-google'

const dnsManagedZonePrivateVisibilityConfigNetworks: DnsManagedZonePrivateVisibilityConfigNetworks = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfigNetworks.property.networkUrl">networkUrl</a></code> | <code>string</code> | The id or fully qualified URL of the VPC network to bind to. This should be formatted like 'projects/{project}/global/networks/{network}' or 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}'. |

---

##### `networkUrl`<sup>Required</sup> <a name="networkUrl" id="@dschmidt/provider-google.DnsManagedZonePrivateVisibilityConfigNetworks.property.networkUrl"></a>

```typescript
public readonly networkUrl: string;
```

- *Type:* string

The id or fully qualified URL of the VPC network to bind to. This should be formatted like 'projects/{project}/global/networks/{network}' or 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#network_url DnsManagedZone#network_url}

---

### DnsManagedZoneTimeouts <a name="DnsManagedZoneTimeouts" id="@dschmidt/provider-google.DnsManagedZoneTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsManagedZoneTimeouts.Initializer"></a>

```typescript
import { DnsManagedZoneTimeouts } from '@dschmidt/provider-google'

const dnsManagedZoneTimeouts: DnsManagedZoneTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#create DnsManagedZone#create}. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#delete DnsManagedZone#delete}. |
| <code><a href="#@dschmidt/provider-google.DnsManagedZoneTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#update DnsManagedZone#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DnsManagedZoneTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#create DnsManagedZone#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DnsManagedZoneTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#delete DnsManagedZone#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DnsManagedZoneTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_managed_zone#update DnsManagedZone#update}.

---

### DnsPolicyAlternativeNameServerConfig <a name="DnsPolicyAlternativeNameServerConfig" id="@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfig.Initializer"></a>

```typescript
import { DnsPolicyAlternativeNameServerConfig } from '@dschmidt/provider-google'

const dnsPolicyAlternativeNameServerConfig: DnsPolicyAlternativeNameServerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfig.property.targetNameServers">targetNameServers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigTargetNameServers">DnsPolicyAlternativeNameServerConfigTargetNameServers</a>[]</code> | target_name_servers block. |

---

##### `targetNameServers`<sup>Required</sup> <a name="targetNameServers" id="@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfig.property.targetNameServers"></a>

```typescript
public readonly targetNameServers: IResolvable | DnsPolicyAlternativeNameServerConfigTargetNameServers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigTargetNameServers">DnsPolicyAlternativeNameServerConfigTargetNameServers</a>[]

target_name_servers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#target_name_servers DnsPolicy#target_name_servers}

---

### DnsPolicyAlternativeNameServerConfigTargetNameServers <a name="DnsPolicyAlternativeNameServerConfigTargetNameServers" id="@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigTargetNameServers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigTargetNameServers.Initializer"></a>

```typescript
import { DnsPolicyAlternativeNameServerConfigTargetNameServers } from '@dschmidt/provider-google'

const dnsPolicyAlternativeNameServerConfigTargetNameServers: DnsPolicyAlternativeNameServerConfigTargetNameServers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigTargetNameServers.property.ipv4Address">ipv4Address</a></code> | <code>string</code> | IPv4 address to forward to. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigTargetNameServers.property.forwardingPath">forwardingPath</a></code> | <code>string</code> | Forwarding path for this TargetNameServer. |

---

##### `ipv4Address`<sup>Required</sup> <a name="ipv4Address" id="@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigTargetNameServers.property.ipv4Address"></a>

```typescript
public readonly ipv4Address: string;
```

- *Type:* string

IPv4 address to forward to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#ipv4_address DnsPolicy#ipv4_address}

---

##### `forwardingPath`<sup>Optional</sup> <a name="forwardingPath" id="@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfigTargetNameServers.property.forwardingPath"></a>

```typescript
public readonly forwardingPath: string;
```

- *Type:* string

Forwarding path for this TargetNameServer.

If unset or 'default' Cloud DNS will make forwarding
decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go
to the Internet. When set to 'private', Cloud DNS will always send queries through VPC for this target Possible values: ["default", "private"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#forwarding_path DnsPolicy#forwarding_path}

---

### DnsPolicyConfig <a name="DnsPolicyConfig" id="@dschmidt/provider-google.DnsPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsPolicyConfig.Initializer"></a>

```typescript
import { DnsPolicyConfig } from '@dschmidt/provider-google'

const dnsPolicyConfig: DnsPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.name">name</a></code> | <code>string</code> | User assigned name for this policy. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.alternativeNameServerConfig">alternativeNameServerConfig</a></code> | <code><a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfig">DnsPolicyAlternativeNameServerConfig</a></code> | alternative_name_server_config block. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.description">description</a></code> | <code>string</code> | A textual description field. Defaults to 'Managed by Terraform'. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.enableInboundForwarding">enableInboundForwarding</a></code> | <code>boolean \| cdktf.IResolvable</code> | Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.enableLogging">enableLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | Controls whether logging is enabled for the networks bound to this policy. Defaults to no logging if not set. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#id DnsPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.networks">networks</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsPolicyNetworks">DnsPolicyNetworks</a>[]</code> | networks block. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#project DnsPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DnsPolicyTimeouts">DnsPolicyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DnsPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DnsPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DnsPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DnsPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DnsPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DnsPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DnsPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DnsPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

User assigned name for this policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#name DnsPolicy#name}

---

##### `alternativeNameServerConfig`<sup>Optional</sup> <a name="alternativeNameServerConfig" id="@dschmidt/provider-google.DnsPolicyConfig.property.alternativeNameServerConfig"></a>

```typescript
public readonly alternativeNameServerConfig: DnsPolicyAlternativeNameServerConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsPolicyAlternativeNameServerConfig">DnsPolicyAlternativeNameServerConfig</a>

alternative_name_server_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#alternative_name_server_config DnsPolicy#alternative_name_server_config}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.DnsPolicyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A textual description field. Defaults to 'Managed by Terraform'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#description DnsPolicy#description}

---

##### `enableInboundForwarding`<sup>Optional</sup> <a name="enableInboundForwarding" id="@dschmidt/provider-google.DnsPolicyConfig.property.enableInboundForwarding"></a>

```typescript
public readonly enableInboundForwarding: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections.

When enabled, a
virtual IP address will be allocated from each of the sub-networks
that are bound to this policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#enable_inbound_forwarding DnsPolicy#enable_inbound_forwarding}

---

##### `enableLogging`<sup>Optional</sup> <a name="enableLogging" id="@dschmidt/provider-google.DnsPolicyConfig.property.enableLogging"></a>

```typescript
public readonly enableLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Controls whether logging is enabled for the networks bound to this policy. Defaults to no logging if not set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#enable_logging DnsPolicy#enable_logging}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DnsPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#id DnsPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `networks`<sup>Optional</sup> <a name="networks" id="@dschmidt/provider-google.DnsPolicyConfig.property.networks"></a>

```typescript
public readonly networks: IResolvable | DnsPolicyNetworks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsPolicyNetworks">DnsPolicyNetworks</a>[]

networks block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#networks DnsPolicy#networks}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DnsPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#project DnsPolicy#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DnsPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DnsPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsPolicyTimeouts">DnsPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#timeouts DnsPolicy#timeouts}

---

### DnsPolicyNetworks <a name="DnsPolicyNetworks" id="@dschmidt/provider-google.DnsPolicyNetworks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsPolicyNetworks.Initializer"></a>

```typescript
import { DnsPolicyNetworks } from '@dschmidt/provider-google'

const dnsPolicyNetworks: DnsPolicyNetworks = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicyNetworks.property.networkUrl">networkUrl</a></code> | <code>string</code> | The id or fully qualified URL of the VPC network to forward queries to. |

---

##### `networkUrl`<sup>Required</sup> <a name="networkUrl" id="@dschmidt/provider-google.DnsPolicyNetworks.property.networkUrl"></a>

```typescript
public readonly networkUrl: string;
```

- *Type:* string

The id or fully qualified URL of the VPC network to forward queries to.

This should be formatted like 'projects/{project}/global/networks/{network}' or
'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#network_url DnsPolicy#network_url}

---

### DnsPolicyTimeouts <a name="DnsPolicyTimeouts" id="@dschmidt/provider-google.DnsPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsPolicyTimeouts.Initializer"></a>

```typescript
import { DnsPolicyTimeouts } from '@dschmidt/provider-google'

const dnsPolicyTimeouts: DnsPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#create DnsPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#delete DnsPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.DnsPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#update DnsPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DnsPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#create DnsPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DnsPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#delete DnsPolicy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.DnsPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_policy#update DnsPolicy#update}.

---

### DnsRecordSetConfig <a name="DnsRecordSetConfig" id="@dschmidt/provider-google.DnsRecordSetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsRecordSetConfig.Initializer"></a>

```typescript
import { DnsRecordSetConfig } from '@dschmidt/provider-google'

const dnsRecordSetConfig: DnsRecordSetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.managedZone">managedZone</a></code> | <code>string</code> | The name of the zone in which this record set will reside. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.name">name</a></code> | <code>string</code> | The DNS name this record set will apply to. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.type">type</a></code> | <code>string</code> | The DNS record set type. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#id DnsRecordSet#id}. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.routingPolicy">routingPolicy</a></code> | <code><a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicy">DnsRecordSetRoutingPolicy</a></code> | routing_policy block. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.rrdatas">rrdatas</a></code> | <code>string[]</code> | The string data for the records in this record set whose meaning depends on the DNS type. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetConfig.property.ttl">ttl</a></code> | <code>number</code> | The time-to-live of this record set (seconds). |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DnsRecordSetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DnsRecordSetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DnsRecordSetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DnsRecordSetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DnsRecordSetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DnsRecordSetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DnsRecordSetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `managedZone`<sup>Required</sup> <a name="managedZone" id="@dschmidt/provider-google.DnsRecordSetConfig.property.managedZone"></a>

```typescript
public readonly managedZone: string;
```

- *Type:* string

The name of the zone in which this record set will reside.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#managed_zone DnsRecordSet#managed_zone}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.DnsRecordSetConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The DNS name this record set will apply to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#name DnsRecordSet#name}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DnsRecordSetConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The DNS record set type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#type DnsRecordSet#type}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DnsRecordSetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#id DnsRecordSet#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DnsRecordSetConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#project DnsRecordSet#project}

---

##### `routingPolicy`<sup>Optional</sup> <a name="routingPolicy" id="@dschmidt/provider-google.DnsRecordSetConfig.property.routingPolicy"></a>

```typescript
public readonly routingPolicy: DnsRecordSetRoutingPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicy">DnsRecordSetRoutingPolicy</a>

routing_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#routing_policy DnsRecordSet#routing_policy}

---

##### `rrdatas`<sup>Optional</sup> <a name="rrdatas" id="@dschmidt/provider-google.DnsRecordSetConfig.property.rrdatas"></a>

```typescript
public readonly rrdatas: string[];
```

- *Type:* string[]

The string data for the records in this record set whose meaning depends on the DNS type.

For TXT record, if the string data contains spaces, add surrounding \" if you don't want your string to get split on spaces. To specify a single record value longer than 255 characters such as a TXT record for DKIM, add \"\" inside the Terraform configuration string (e.g. "first255characters\"\"morecharacters").

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#rrdatas DnsRecordSet#rrdatas}

---

##### `ttl`<sup>Optional</sup> <a name="ttl" id="@dschmidt/provider-google.DnsRecordSetConfig.property.ttl"></a>

```typescript
public readonly ttl: number;
```

- *Type:* number

The time-to-live of this record set (seconds).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#ttl DnsRecordSet#ttl}

---

### DnsRecordSetRoutingPolicy <a name="DnsRecordSetRoutingPolicy" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicy.Initializer"></a>

```typescript
import { DnsRecordSetRoutingPolicy } from '@dschmidt/provider-google'

const dnsRecordSetRoutingPolicy: DnsRecordSetRoutingPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicy.property.geo">geo</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyGeo">DnsRecordSetRoutingPolicyGeo</a>[]</code> | geo block. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicy.property.wrr">wrr</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyWrr">DnsRecordSetRoutingPolicyWrr</a>[]</code> | wrr block. |

---

##### `geo`<sup>Optional</sup> <a name="geo" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicy.property.geo"></a>

```typescript
public readonly geo: IResolvable | DnsRecordSetRoutingPolicyGeo[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyGeo">DnsRecordSetRoutingPolicyGeo</a>[]

geo block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#geo DnsRecordSet#geo}

---

##### `wrr`<sup>Optional</sup> <a name="wrr" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicy.property.wrr"></a>

```typescript
public readonly wrr: IResolvable | DnsRecordSetRoutingPolicyWrr[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyWrr">DnsRecordSetRoutingPolicyWrr</a>[]

wrr block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#wrr DnsRecordSet#wrr}

---

### DnsRecordSetRoutingPolicyGeo <a name="DnsRecordSetRoutingPolicyGeo" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicyGeo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicyGeo.Initializer"></a>

```typescript
import { DnsRecordSetRoutingPolicyGeo } from '@dschmidt/provider-google'

const dnsRecordSetRoutingPolicyGeo: DnsRecordSetRoutingPolicyGeo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyGeo.property.location">location</a></code> | <code>string</code> | The location name defined in Google Cloud. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyGeo.property.rrdatas">rrdatas</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#rrdatas DnsRecordSet#rrdatas}. |

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicyGeo.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location name defined in Google Cloud.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#location DnsRecordSet#location}

---

##### `rrdatas`<sup>Required</sup> <a name="rrdatas" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicyGeo.property.rrdatas"></a>

```typescript
public readonly rrdatas: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#rrdatas DnsRecordSet#rrdatas}.

---

### DnsRecordSetRoutingPolicyWrr <a name="DnsRecordSetRoutingPolicyWrr" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicyWrr"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicyWrr.Initializer"></a>

```typescript
import { DnsRecordSetRoutingPolicyWrr } from '@dschmidt/provider-google'

const dnsRecordSetRoutingPolicyWrr: DnsRecordSetRoutingPolicyWrr = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyWrr.property.rrdatas">rrdatas</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#rrdatas DnsRecordSet#rrdatas}. |
| <code><a href="#@dschmidt/provider-google.DnsRecordSetRoutingPolicyWrr.property.weight">weight</a></code> | <code>number</code> | The ratio of traffic routed to the target. |

---

##### `rrdatas`<sup>Required</sup> <a name="rrdatas" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicyWrr.property.rrdatas"></a>

```typescript
public readonly rrdatas: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#rrdatas DnsRecordSet#rrdatas}.

---

##### `weight`<sup>Required</sup> <a name="weight" id="@dschmidt/provider-google.DnsRecordSetRoutingPolicyWrr.property.weight"></a>

```typescript
public readonly weight: number;
```

- *Type:* number

The ratio of traffic routed to the target.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/dns_record_set#weight DnsRecordSet#weight}

---

### DocumentAiProcessorConfig <a name="DocumentAiProcessorConfig" id="@dschmidt/provider-google.DocumentAiProcessorConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DocumentAiProcessorConfig.Initializer"></a>

```typescript
import { DocumentAiProcessorConfig } from '@dschmidt/provider-google'

const documentAiProcessorConfig: DocumentAiProcessorConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.displayName">displayName</a></code> | <code>string</code> | The display name. Must be unique. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.location">location</a></code> | <code>string</code> | The location of the resource. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.type">type</a></code> | <code>string</code> | The type of processor. For possible types see the [official list](https://cloud.google.com/document-ai/docs/reference/rest/v1/projects.locations/fetchProcessorTypes#google.cloud.documentai.v1.DocumentProcessorService.FetchProcessorTypes). |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#id DocumentAiProcessor#id}. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | The KMS key used for encryption/decryption in CMEK scenarios. See https://cloud.google.com/security-key-management. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#project DocumentAiProcessor#project}. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DocumentAiProcessorTimeouts">DocumentAiProcessorTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The display name. Must be unique.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#display_name DocumentAiProcessor#display_name}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#location DocumentAiProcessor#location}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of processor. For possible types see the [official list](https://cloud.google.com/document-ai/docs/reference/rest/v1/projects.locations/fetchProcessorTypes#google.cloud.documentai.v1.DocumentProcessorService.FetchProcessorTypes).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#type DocumentAiProcessor#type}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#id DocumentAiProcessor#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

The KMS key used for encryption/decryption in CMEK scenarios. See https://cloud.google.com/security-key-management.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#kms_key_name DocumentAiProcessor#kms_key_name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#project DocumentAiProcessor#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DocumentAiProcessorConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DocumentAiProcessorTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DocumentAiProcessorTimeouts">DocumentAiProcessorTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#timeouts DocumentAiProcessor#timeouts}

---

### DocumentAiProcessorDefaultVersionConfig <a name="DocumentAiProcessorDefaultVersionConfig" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.Initializer"></a>

```typescript
import { DocumentAiProcessorDefaultVersionConfig } from '@dschmidt/provider-google'

const documentAiProcessorDefaultVersionConfig: DocumentAiProcessorDefaultVersionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.processor">processor</a></code> | <code>string</code> | The processor to set the version on. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.version">version</a></code> | <code>string</code> | The version to set. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version#id DocumentAiProcessorDefaultVersion#id}. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts">DocumentAiProcessorDefaultVersionTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `processor`<sup>Required</sup> <a name="processor" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.processor"></a>

```typescript
public readonly processor: string;
```

- *Type:* string

The processor to set the version on.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version#processor DocumentAiProcessorDefaultVersion#processor}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The version to set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version#version DocumentAiProcessorDefaultVersion#version}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version#id DocumentAiProcessorDefaultVersion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: DocumentAiProcessorDefaultVersionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts">DocumentAiProcessorDefaultVersionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version#timeouts DocumentAiProcessorDefaultVersion#timeouts}

---

### DocumentAiProcessorDefaultVersionTimeouts <a name="DocumentAiProcessorDefaultVersionTimeouts" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts.Initializer"></a>

```typescript
import { DocumentAiProcessorDefaultVersionTimeouts } from '@dschmidt/provider-google'

const documentAiProcessorDefaultVersionTimeouts: DocumentAiProcessorDefaultVersionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version#create DocumentAiProcessorDefaultVersion#create}. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version#delete DocumentAiProcessorDefaultVersion#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version#create DocumentAiProcessorDefaultVersion#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DocumentAiProcessorDefaultVersionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor_default_version#delete DocumentAiProcessorDefaultVersion#delete}.

---

### DocumentAiProcessorTimeouts <a name="DocumentAiProcessorTimeouts" id="@dschmidt/provider-google.DocumentAiProcessorTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.DocumentAiProcessorTimeouts.Initializer"></a>

```typescript
import { DocumentAiProcessorTimeouts } from '@dschmidt/provider-google'

const documentAiProcessorTimeouts: DocumentAiProcessorTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#create DocumentAiProcessor#create}. |
| <code><a href="#@dschmidt/provider-google.DocumentAiProcessorTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#delete DocumentAiProcessor#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.DocumentAiProcessorTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#create DocumentAiProcessor#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.DocumentAiProcessorTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/document_ai_processor#delete DocumentAiProcessor#delete}.

---

### EndpointsServiceApis <a name="EndpointsServiceApis" id="@dschmidt/provider-google.EndpointsServiceApis"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceApis.Initializer"></a>

```typescript
import { EndpointsServiceApis } from '@dschmidt/provider-google'

const endpointsServiceApis: EndpointsServiceApis = { ... }
```


### EndpointsServiceApisMethods <a name="EndpointsServiceApisMethods" id="@dschmidt/provider-google.EndpointsServiceApisMethods"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceApisMethods.Initializer"></a>

```typescript
import { EndpointsServiceApisMethods } from '@dschmidt/provider-google'

const endpointsServiceApisMethods: EndpointsServiceApisMethods = { ... }
```


### EndpointsServiceConfig <a name="EndpointsServiceConfig" id="@dschmidt/provider-google.EndpointsServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceConfig.Initializer"></a>

```typescript
import { EndpointsServiceConfig } from '@dschmidt/provider-google'

const endpointsServiceConfig: EndpointsServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the service. Usually of the form $apiname.endpoints.$projectid.cloud.goog. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.grpcConfig">grpcConfig</a></code> | <code>string</code> | The full text of the Service Config YAML file (Example located here). |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#id EndpointsService#id}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.openapiConfig">openapiConfig</a></code> | <code>string</code> | The full text of the OpenAPI YAML configuration as described here. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.project">project</a></code> | <code>string</code> | The project ID that the service belongs to. If not provided, provider project is used. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.protocOutputBase64">protocOutputBase64</a></code> | <code>string</code> | The full contents of the Service Descriptor File generated by protoc. This should be a compiled .pb file, base64-encoded. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceTimeouts">EndpointsServiceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceConfig.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

The name of the service. Usually of the form $apiname.endpoints.$projectid.cloud.goog.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#service_name EndpointsService#service_name}

---

##### `grpcConfig`<sup>Optional</sup> <a name="grpcConfig" id="@dschmidt/provider-google.EndpointsServiceConfig.property.grpcConfig"></a>

```typescript
public readonly grpcConfig: string;
```

- *Type:* string

The full text of the Service Config YAML file (Example located here).

If provided, must also provide protoc_output_base64. open_api config must not be provided.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#grpc_config EndpointsService#grpc_config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#id EndpointsService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `openapiConfig`<sup>Optional</sup> <a name="openapiConfig" id="@dschmidt/provider-google.EndpointsServiceConfig.property.openapiConfig"></a>

```typescript
public readonly openapiConfig: string;
```

- *Type:* string

The full text of the OpenAPI YAML configuration as described here.

Either this, or both of grpc_config and protoc_output_base64 must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#openapi_config EndpointsService#openapi_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.EndpointsServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project ID that the service belongs to. If not provided, provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#project EndpointsService#project}

---

##### `protocOutputBase64`<sup>Optional</sup> <a name="protocOutputBase64" id="@dschmidt/provider-google.EndpointsServiceConfig.property.protocOutputBase64"></a>

```typescript
public readonly protocOutputBase64: string;
```

- *Type:* string

The full contents of the Service Descriptor File generated by protoc. This should be a compiled .pb file, base64-encoded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#protoc_output_base64 EndpointsService#protoc_output_base64}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.EndpointsServiceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: EndpointsServiceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceTimeouts">EndpointsServiceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#timeouts EndpointsService#timeouts}

---

### EndpointsServiceConsumersIamBindingCondition <a name="EndpointsServiceConsumersIamBindingCondition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition.Initializer"></a>

```typescript
import { EndpointsServiceConsumersIamBindingCondition } from '@dschmidt/provider-google'

const endpointsServiceConsumersIamBindingCondition: EndpointsServiceConsumersIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#expression EndpointsServiceConsumersIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#title EndpointsServiceConsumersIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#description EndpointsServiceConsumersIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#expression EndpointsServiceConsumersIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#title EndpointsServiceConsumersIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#description EndpointsServiceConsumersIamBinding#description}.

---

### EndpointsServiceConsumersIamBindingConfig <a name="EndpointsServiceConsumersIamBindingConfig" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.Initializer"></a>

```typescript
import { EndpointsServiceConsumersIamBindingConfig } from '@dschmidt/provider-google'

const endpointsServiceConsumersIamBindingConfig: EndpointsServiceConsumersIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.consumerProject">consumerProject</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#consumer_project EndpointsServiceConsumersIamBinding#consumer_project}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#members EndpointsServiceConsumersIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#role EndpointsServiceConsumersIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.serviceName">serviceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#service_name EndpointsServiceConsumersIamBinding#service_name}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition">EndpointsServiceConsumersIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#id EndpointsServiceConsumersIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `consumerProject`<sup>Required</sup> <a name="consumerProject" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.consumerProject"></a>

```typescript
public readonly consumerProject: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#consumer_project EndpointsServiceConsumersIamBinding#consumer_project}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#members EndpointsServiceConsumersIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#role EndpointsServiceConsumersIamBinding#role}.

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#service_name EndpointsServiceConsumersIamBinding#service_name}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: EndpointsServiceConsumersIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamBindingCondition">EndpointsServiceConsumersIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#condition EndpointsServiceConsumersIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConsumersIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_binding#id EndpointsServiceConsumersIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### EndpointsServiceConsumersIamMemberCondition <a name="EndpointsServiceConsumersIamMemberCondition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition.Initializer"></a>

```typescript
import { EndpointsServiceConsumersIamMemberCondition } from '@dschmidt/provider-google'

const endpointsServiceConsumersIamMemberCondition: EndpointsServiceConsumersIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#expression EndpointsServiceConsumersIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#title EndpointsServiceConsumersIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#description EndpointsServiceConsumersIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#expression EndpointsServiceConsumersIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#title EndpointsServiceConsumersIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#description EndpointsServiceConsumersIamMember#description}.

---

### EndpointsServiceConsumersIamMemberConfig <a name="EndpointsServiceConsumersIamMemberConfig" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.Initializer"></a>

```typescript
import { EndpointsServiceConsumersIamMemberConfig } from '@dschmidt/provider-google'

const endpointsServiceConsumersIamMemberConfig: EndpointsServiceConsumersIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.consumerProject">consumerProject</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#consumer_project EndpointsServiceConsumersIamMember#consumer_project}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#member EndpointsServiceConsumersIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#role EndpointsServiceConsumersIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.serviceName">serviceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#service_name EndpointsServiceConsumersIamMember#service_name}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition">EndpointsServiceConsumersIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#id EndpointsServiceConsumersIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `consumerProject`<sup>Required</sup> <a name="consumerProject" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.consumerProject"></a>

```typescript
public readonly consumerProject: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#consumer_project EndpointsServiceConsumersIamMember#consumer_project}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#member EndpointsServiceConsumersIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#role EndpointsServiceConsumersIamMember#role}.

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#service_name EndpointsServiceConsumersIamMember#service_name}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: EndpointsServiceConsumersIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamMemberCondition">EndpointsServiceConsumersIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#condition EndpointsServiceConsumersIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConsumersIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_member#id EndpointsServiceConsumersIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### EndpointsServiceConsumersIamPolicyConfig <a name="EndpointsServiceConsumersIamPolicyConfig" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.Initializer"></a>

```typescript
import { EndpointsServiceConsumersIamPolicyConfig } from '@dschmidt/provider-google'

const endpointsServiceConsumersIamPolicyConfig: EndpointsServiceConsumersIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.consumerProject">consumerProject</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_policy#consumer_project EndpointsServiceConsumersIamPolicy#consumer_project}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_policy#policy_data EndpointsServiceConsumersIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.serviceName">serviceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_policy#service_name EndpointsServiceConsumersIamPolicy#service_name}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_policy#id EndpointsServiceConsumersIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `consumerProject`<sup>Required</sup> <a name="consumerProject" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.consumerProject"></a>

```typescript
public readonly consumerProject: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_policy#consumer_project EndpointsServiceConsumersIamPolicy#consumer_project}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_policy#policy_data EndpointsServiceConsumersIamPolicy#policy_data}.

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_policy#service_name EndpointsServiceConsumersIamPolicy#service_name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceConsumersIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_consumers_iam_policy#id EndpointsServiceConsumersIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### EndpointsServiceEndpoints <a name="EndpointsServiceEndpoints" id="@dschmidt/provider-google.EndpointsServiceEndpoints"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceEndpoints.Initializer"></a>

```typescript
import { EndpointsServiceEndpoints } from '@dschmidt/provider-google'

const endpointsServiceEndpoints: EndpointsServiceEndpoints = { ... }
```


### EndpointsServiceIamBindingCondition <a name="EndpointsServiceIamBindingCondition" id="@dschmidt/provider-google.EndpointsServiceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceIamBindingCondition.Initializer"></a>

```typescript
import { EndpointsServiceIamBindingCondition } from '@dschmidt/provider-google'

const endpointsServiceIamBindingCondition: EndpointsServiceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#expression EndpointsServiceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#title EndpointsServiceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#description EndpointsServiceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.EndpointsServiceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#expression EndpointsServiceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.EndpointsServiceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#title EndpointsServiceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.EndpointsServiceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#description EndpointsServiceIamBinding#description}.

---

### EndpointsServiceIamBindingConfig <a name="EndpointsServiceIamBindingConfig" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.Initializer"></a>

```typescript
import { EndpointsServiceIamBindingConfig } from '@dschmidt/provider-google'

const endpointsServiceIamBindingConfig: EndpointsServiceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#members EndpointsServiceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#role EndpointsServiceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.serviceName">serviceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#service_name EndpointsServiceIamBinding#service_name}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingCondition">EndpointsServiceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#id EndpointsServiceIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#members EndpointsServiceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#role EndpointsServiceIamBinding#role}.

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#service_name EndpointsServiceIamBinding#service_name}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: EndpointsServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamBindingCondition">EndpointsServiceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#condition EndpointsServiceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_binding#id EndpointsServiceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### EndpointsServiceIamMemberCondition <a name="EndpointsServiceIamMemberCondition" id="@dschmidt/provider-google.EndpointsServiceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceIamMemberCondition.Initializer"></a>

```typescript
import { EndpointsServiceIamMemberCondition } from '@dschmidt/provider-google'

const endpointsServiceIamMemberCondition: EndpointsServiceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#expression EndpointsServiceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#title EndpointsServiceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#description EndpointsServiceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.EndpointsServiceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#expression EndpointsServiceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.EndpointsServiceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#title EndpointsServiceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.EndpointsServiceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#description EndpointsServiceIamMember#description}.

---

### EndpointsServiceIamMemberConfig <a name="EndpointsServiceIamMemberConfig" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.Initializer"></a>

```typescript
import { EndpointsServiceIamMemberConfig } from '@dschmidt/provider-google'

const endpointsServiceIamMemberConfig: EndpointsServiceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#member EndpointsServiceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#role EndpointsServiceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.serviceName">serviceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#service_name EndpointsServiceIamMember#service_name}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberCondition">EndpointsServiceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#id EndpointsServiceIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#member EndpointsServiceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#role EndpointsServiceIamMember#role}.

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#service_name EndpointsServiceIamMember#service_name}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: EndpointsServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.EndpointsServiceIamMemberCondition">EndpointsServiceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#condition EndpointsServiceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_member#id EndpointsServiceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### EndpointsServiceIamPolicyConfig <a name="EndpointsServiceIamPolicyConfig" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.Initializer"></a>

```typescript
import { EndpointsServiceIamPolicyConfig } from '@dschmidt/provider-google'

const endpointsServiceIamPolicyConfig: EndpointsServiceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_policy#policy_data EndpointsServiceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.serviceName">serviceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_policy#service_name EndpointsServiceIamPolicy#service_name}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_policy#id EndpointsServiceIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_policy#policy_data EndpointsServiceIamPolicy#policy_data}.

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_policy#service_name EndpointsServiceIamPolicy#service_name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.EndpointsServiceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service_iam_policy#id EndpointsServiceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### EndpointsServiceTimeouts <a name="EndpointsServiceTimeouts" id="@dschmidt/provider-google.EndpointsServiceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EndpointsServiceTimeouts.Initializer"></a>

```typescript
import { EndpointsServiceTimeouts } from '@dschmidt/provider-google'

const endpointsServiceTimeouts: EndpointsServiceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#create EndpointsService#create}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#delete EndpointsService#delete}. |
| <code><a href="#@dschmidt/provider-google.EndpointsServiceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#update EndpointsService#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.EndpointsServiceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#create EndpointsService#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.EndpointsServiceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#delete EndpointsService#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.EndpointsServiceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/endpoints_service#update EndpointsService#update}.

---

### EssentialContactsContactConfig <a name="EssentialContactsContactConfig" id="@dschmidt/provider-google.EssentialContactsContactConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EssentialContactsContactConfig.Initializer"></a>

```typescript
import { EssentialContactsContactConfig } from '@dschmidt/provider-google'

const essentialContactsContactConfig: EssentialContactsContactConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.email">email</a></code> | <code>string</code> | The email address to send notifications to. This does not need to be a Google account. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.languageTag">languageTag</a></code> | <code>string</code> | The preferred language for notifications, as a ISO 639-1 language code. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.notificationCategorySubscriptions">notificationCategorySubscriptions</a></code> | <code>string[]</code> | The categories of notifications that the contact will receive communications for. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.parent">parent</a></code> | <code>string</code> | The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#id EssentialContactsContact#id}. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.EssentialContactsContactTimeouts">EssentialContactsContactTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `email`<sup>Required</sup> <a name="email" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.email"></a>

```typescript
public readonly email: string;
```

- *Type:* string

The email address to send notifications to. This does not need to be a Google account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#email EssentialContactsContact#email}

---

##### `languageTag`<sup>Required</sup> <a name="languageTag" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.languageTag"></a>

```typescript
public readonly languageTag: string;
```

- *Type:* string

The preferred language for notifications, as a ISO 639-1 language code.

See Supported languages for a list of supported languages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#language_tag EssentialContactsContact#language_tag}

---

##### `notificationCategorySubscriptions`<sup>Required</sup> <a name="notificationCategorySubscriptions" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.notificationCategorySubscriptions"></a>

```typescript
public readonly notificationCategorySubscriptions: string[];
```

- *Type:* string[]

The categories of notifications that the contact will receive communications for.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#notification_category_subscriptions EssentialContactsContact#notification_category_subscriptions}

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#parent EssentialContactsContact#parent}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#id EssentialContactsContact#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.EssentialContactsContactConfig.property.timeouts"></a>

```typescript
public readonly timeouts: EssentialContactsContactTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.EssentialContactsContactTimeouts">EssentialContactsContactTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#timeouts EssentialContactsContact#timeouts}

---

### EssentialContactsContactTimeouts <a name="EssentialContactsContactTimeouts" id="@dschmidt/provider-google.EssentialContactsContactTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EssentialContactsContactTimeouts.Initializer"></a>

```typescript
import { EssentialContactsContactTimeouts } from '@dschmidt/provider-google'

const essentialContactsContactTimeouts: EssentialContactsContactTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#create EssentialContactsContact#create}. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#delete EssentialContactsContact#delete}. |
| <code><a href="#@dschmidt/provider-google.EssentialContactsContactTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#update EssentialContactsContact#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.EssentialContactsContactTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#create EssentialContactsContact#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.EssentialContactsContactTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#delete EssentialContactsContact#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.EssentialContactsContactTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/essential_contacts_contact#update EssentialContactsContact#update}.

---

### EventarcTriggerConfig <a name="EventarcTriggerConfig" id="@dschmidt/provider-google.EventarcTriggerConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EventarcTriggerConfig.Initializer"></a>

```typescript
import { EventarcTriggerConfig } from '@dschmidt/provider-google'

const eventarcTriggerConfig: EventarcTriggerConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.destination">destination</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerDestination">EventarcTriggerDestination</a></code> | destination block. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.matchingCriteria">matchingCriteria</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteria">EventarcTriggerMatchingCriteria</a>[]</code> | matching_criteria block. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.name">name</a></code> | <code>string</code> | Required. The resource name of the trigger. Must be unique within the location on the project. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#id EventarcTrigger#id}. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. User labels attached to the triggers that can be used to group resources. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerTimeouts">EventarcTriggerTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerConfig.property.transport">transport</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerTransport">EventarcTriggerTransport</a></code> | transport block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.EventarcTriggerConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.EventarcTriggerConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.EventarcTriggerConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.EventarcTriggerConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.EventarcTriggerConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.EventarcTriggerConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.EventarcTriggerConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.EventarcTriggerConfig.property.destination"></a>

```typescript
public readonly destination: EventarcTriggerDestination;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerDestination">EventarcTriggerDestination</a>

destination block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#destination EventarcTrigger#destination}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.EventarcTriggerConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#location EventarcTrigger#location}

---

##### `matchingCriteria`<sup>Required</sup> <a name="matchingCriteria" id="@dschmidt/provider-google.EventarcTriggerConfig.property.matchingCriteria"></a>

```typescript
public readonly matchingCriteria: IResolvable | EventarcTriggerMatchingCriteria[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteria">EventarcTriggerMatchingCriteria</a>[]

matching_criteria block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#matching_criteria EventarcTrigger#matching_criteria}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.EventarcTriggerConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Required. The resource name of the trigger. Must be unique within the location on the project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#name EventarcTrigger#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.EventarcTriggerConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#id EventarcTrigger#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.EventarcTriggerConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. User labels attached to the triggers that can be used to group resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#labels EventarcTrigger#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.EventarcTriggerConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#project EventarcTrigger#project}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.EventarcTriggerConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

Optional.

The IAM service account email associated with the trigger. The service account represents the identity of the trigger. The principal who calls this API must have `iam.serviceAccounts.actAs` permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts#sa_common for more information. For Cloud Run destinations, this service account is used to generate identity tokens when invoking the service. See https://cloud.google.com/run/docs/triggering/pubsub-push#create-service-account for information on how to invoke authenticated Cloud Run services. In order to create Audit Log triggers, the service account should also have `roles/eventarc.eventReceiver` IAM role.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#service_account EventarcTrigger#service_account}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.EventarcTriggerConfig.property.timeouts"></a>

```typescript
public readonly timeouts: EventarcTriggerTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerTimeouts">EventarcTriggerTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#timeouts EventarcTrigger#timeouts}

---

##### `transport`<sup>Optional</sup> <a name="transport" id="@dschmidt/provider-google.EventarcTriggerConfig.property.transport"></a>

```typescript
public readonly transport: EventarcTriggerTransport;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerTransport">EventarcTriggerTransport</a>

transport block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#transport EventarcTrigger#transport}

---

### EventarcTriggerDestination <a name="EventarcTriggerDestination" id="@dschmidt/provider-google.EventarcTriggerDestination"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EventarcTriggerDestination.Initializer"></a>

```typescript
import { EventarcTriggerDestination } from '@dschmidt/provider-google'

const eventarcTriggerDestination: EventarcTriggerDestination = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestination.property.cloudFunction">cloudFunction</a></code> | <code>string</code> | [WARNING] Configuring a Cloud Function in Trigger is not supported as of today. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestination.property.cloudRunService">cloudRunService</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService">EventarcTriggerDestinationCloudRunService</a></code> | cloud_run_service block. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestination.property.gke">gke</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationGke">EventarcTriggerDestinationGke</a></code> | gke block. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestination.property.workflow">workflow</a></code> | <code>string</code> | The resource name of the Workflow whose Executions are triggered by the events. |

---

##### `cloudFunction`<sup>Optional</sup> <a name="cloudFunction" id="@dschmidt/provider-google.EventarcTriggerDestination.property.cloudFunction"></a>

```typescript
public readonly cloudFunction: string;
```

- *Type:* string

[WARNING] Configuring a Cloud Function in Trigger is not supported as of today.

The Cloud Function resource name. Format: projects/{project}/locations/{location}/functions/{function}

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#cloud_function EventarcTrigger#cloud_function}

---

##### `cloudRunService`<sup>Optional</sup> <a name="cloudRunService" id="@dschmidt/provider-google.EventarcTriggerDestination.property.cloudRunService"></a>

```typescript
public readonly cloudRunService: EventarcTriggerDestinationCloudRunService;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService">EventarcTriggerDestinationCloudRunService</a>

cloud_run_service block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#cloud_run_service EventarcTrigger#cloud_run_service}

---

##### `gke`<sup>Optional</sup> <a name="gke" id="@dschmidt/provider-google.EventarcTriggerDestination.property.gke"></a>

```typescript
public readonly gke: EventarcTriggerDestinationGke;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerDestinationGke">EventarcTriggerDestinationGke</a>

gke block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#gke EventarcTrigger#gke}

---

##### `workflow`<sup>Optional</sup> <a name="workflow" id="@dschmidt/provider-google.EventarcTriggerDestination.property.workflow"></a>

```typescript
public readonly workflow: string;
```

- *Type:* string

The resource name of the Workflow whose Executions are triggered by the events.

The Workflow resource should be deployed in the same project as the trigger. Format: `projects/{project}/locations/{location}/workflows/{workflow}`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#workflow EventarcTrigger#workflow}

---

### EventarcTriggerDestinationCloudRunService <a name="EventarcTriggerDestinationCloudRunService" id="@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService.Initializer"></a>

```typescript
import { EventarcTriggerDestinationCloudRunService } from '@dschmidt/provider-google'

const eventarcTriggerDestinationCloudRunService: EventarcTriggerDestinationCloudRunService = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService.property.service">service</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService.property.path">path</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService.property.region">region</a></code> | <code>string</code> | Required. The region the Cloud Run service is deployed in. |

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Required.

The name of the Cloud Run service being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services. Only services located in the same project of the trigger object can be addressed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#service EventarcTrigger#service}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Optional.

The relative path on the Cloud Run service the events should be sent to. The value must conform to the definition of URI path segment (section 3.3 of RFC2396). Examples: "/route", "route", "route/subroute".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#path EventarcTrigger#path}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.EventarcTriggerDestinationCloudRunService.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Required. The region the Cloud Run service is deployed in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#region EventarcTrigger#region}

---

### EventarcTriggerDestinationGke <a name="EventarcTriggerDestinationGke" id="@dschmidt/provider-google.EventarcTriggerDestinationGke"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EventarcTriggerDestinationGke.Initializer"></a>

```typescript
import { EventarcTriggerDestinationGke } from '@dschmidt/provider-google'

const eventarcTriggerDestinationGke: EventarcTriggerDestinationGke = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationGke.property.cluster">cluster</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationGke.property.location">location</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationGke.property.namespace">namespace</a></code> | <code>string</code> | Required. The namespace the GKE service is running in. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationGke.property.service">service</a></code> | <code>string</code> | Required. Name of the GKE service. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerDestinationGke.property.path">path</a></code> | <code>string</code> | Optional. |

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.EventarcTriggerDestinationGke.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

Required.

The name of the cluster the GKE service is running in. The cluster must be running in the same project as the trigger being created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#cluster EventarcTrigger#cluster}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.EventarcTriggerDestinationGke.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Required.

The name of the Google Compute Engine in which the cluster resides, which can either be compute zone (for example, us-central1-a) for the zonal clusters or region (for example, us-central1) for regional clusters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#location EventarcTrigger#location}

---

##### `namespace`<sup>Required</sup> <a name="namespace" id="@dschmidt/provider-google.EventarcTriggerDestinationGke.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

Required. The namespace the GKE service is running in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#namespace EventarcTrigger#namespace}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.EventarcTriggerDestinationGke.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Required. Name of the GKE service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#service EventarcTrigger#service}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.EventarcTriggerDestinationGke.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Optional.

The relative path on the GKE service the events should be sent to. The value must conform to the definition of a URI path segment (section 3.3 of RFC2396). Examples: "/route", "route", "route/subroute".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#path EventarcTrigger#path}

---

### EventarcTriggerMatchingCriteria <a name="EventarcTriggerMatchingCriteria" id="@dschmidt/provider-google.EventarcTriggerMatchingCriteria"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EventarcTriggerMatchingCriteria.Initializer"></a>

```typescript
import { EventarcTriggerMatchingCriteria } from '@dschmidt/provider-google'

const eventarcTriggerMatchingCriteria: EventarcTriggerMatchingCriteria = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteria.property.attribute">attribute</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteria.property.value">value</a></code> | <code>string</code> | Required. The value for the attribute. See https://cloud.google.com/eventarc/docs/creating-triggers#trigger-gcloud for available values. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerMatchingCriteria.property.operator">operator</a></code> | <code>string</code> | Optional. |

---

##### `attribute`<sup>Required</sup> <a name="attribute" id="@dschmidt/provider-google.EventarcTriggerMatchingCriteria.property.attribute"></a>

```typescript
public readonly attribute: string;
```

- *Type:* string

Required.

The name of a CloudEvents attribute. Currently, only a subset of attributes are supported for filtering. All triggers MUST provide a filter for the 'type' attribute.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#attribute EventarcTrigger#attribute}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.EventarcTriggerMatchingCriteria.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Required. The value for the attribute. See https://cloud.google.com/eventarc/docs/creating-triggers#trigger-gcloud for available values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#value EventarcTrigger#value}

---

##### `operator`<sup>Optional</sup> <a name="operator" id="@dschmidt/provider-google.EventarcTriggerMatchingCriteria.property.operator"></a>

```typescript
public readonly operator: string;
```

- *Type:* string

Optional.

The operator used for matching the events with the value of the filter. If not specified, only events that have an exact key-value pair specified in the filter are matched. The only allowed value is `match-path-pattern`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#operator EventarcTrigger#operator}

---

### EventarcTriggerTimeouts <a name="EventarcTriggerTimeouts" id="@dschmidt/provider-google.EventarcTriggerTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EventarcTriggerTimeouts.Initializer"></a>

```typescript
import { EventarcTriggerTimeouts } from '@dschmidt/provider-google'

const eventarcTriggerTimeouts: EventarcTriggerTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#create EventarcTrigger#create}. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#delete EventarcTrigger#delete}. |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#update EventarcTrigger#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.EventarcTriggerTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#create EventarcTrigger#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.EventarcTriggerTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#delete EventarcTrigger#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.EventarcTriggerTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#update EventarcTrigger#update}.

---

### EventarcTriggerTransport <a name="EventarcTriggerTransport" id="@dschmidt/provider-google.EventarcTriggerTransport"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EventarcTriggerTransport.Initializer"></a>

```typescript
import { EventarcTriggerTransport } from '@dschmidt/provider-google'

const eventarcTriggerTransport: EventarcTriggerTransport = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerTransport.property.pubsub">pubsub</a></code> | <code><a href="#@dschmidt/provider-google.EventarcTriggerTransportPubsub">EventarcTriggerTransportPubsub</a></code> | pubsub block. |

---

##### `pubsub`<sup>Optional</sup> <a name="pubsub" id="@dschmidt/provider-google.EventarcTriggerTransport.property.pubsub"></a>

```typescript
public readonly pubsub: EventarcTriggerTransportPubsub;
```

- *Type:* <a href="#@dschmidt/provider-google.EventarcTriggerTransportPubsub">EventarcTriggerTransportPubsub</a>

pubsub block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#pubsub EventarcTrigger#pubsub}

---

### EventarcTriggerTransportPubsub <a name="EventarcTriggerTransportPubsub" id="@dschmidt/provider-google.EventarcTriggerTransportPubsub"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.EventarcTriggerTransportPubsub.Initializer"></a>

```typescript
import { EventarcTriggerTransportPubsub } from '@dschmidt/provider-google'

const eventarcTriggerTransportPubsub: EventarcTriggerTransportPubsub = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.EventarcTriggerTransportPubsub.property.topic">topic</a></code> | <code>string</code> | Optional. |

---

##### `topic`<sup>Optional</sup> <a name="topic" id="@dschmidt/provider-google.EventarcTriggerTransportPubsub.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

Optional.

The name of the Pub/Sub topic created and managed by Eventarc system as a transport for the event delivery. Format: `projects/{PROJECT_ID}/topics/{TOPIC_NAME}. You may set an existing topic for triggers of the type google.cloud.pubsub.topic.v1.messagePublished` only. The topic you provide here will not be deleted by Eventarc at trigger deletion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/eventarc_trigger#topic EventarcTrigger#topic}

---

### FilestoreInstanceConfig <a name="FilestoreInstanceConfig" id="@dschmidt/provider-google.FilestoreInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FilestoreInstanceConfig.Initializer"></a>

```typescript
import { FilestoreInstanceConfig } from '@dschmidt/provider-google'

const filestoreInstanceConfig: FilestoreInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.fileShares">fileShares</a></code> | <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileShares">FilestoreInstanceFileShares</a></code> | file_shares block. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.name">name</a></code> | <code>string</code> | The resource name of the instance. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.networks">networks</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FilestoreInstanceNetworks">FilestoreInstanceNetworks</a>[]</code> | networks block. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.tier">tier</a></code> | <code>string</code> | The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD and ENTERPRISE. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.description">description</a></code> | <code>string</code> | A description of the instance. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#id FilestoreInstance#id}. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | KMS key name used for data encryption. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Resource labels to represent user-provided metadata. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.location">location</a></code> | <code>string</code> | The name of the location of the instance. This can be a region for ENTERPRISE tier instances. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#project FilestoreInstance#project}. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FilestoreInstanceTimeouts">FilestoreInstanceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceConfig.property.zone">zone</a></code> | <code>string</code> | The name of the Filestore zone of the instance. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fileShares`<sup>Required</sup> <a name="fileShares" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.fileShares"></a>

```typescript
public readonly fileShares: FilestoreInstanceFileShares;
```

- *Type:* <a href="#@dschmidt/provider-google.FilestoreInstanceFileShares">FilestoreInstanceFileShares</a>

file_shares block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#file_shares FilestoreInstance#file_shares}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#name FilestoreInstance#name}

---

##### `networks`<sup>Required</sup> <a name="networks" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.networks"></a>

```typescript
public readonly networks: IResolvable | FilestoreInstanceNetworks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FilestoreInstanceNetworks">FilestoreInstanceNetworks</a>[]

networks block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#networks FilestoreInstance#networks}

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD and ENTERPRISE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#tier FilestoreInstance#tier}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#description FilestoreInstance#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#id FilestoreInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

KMS key name used for data encryption.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#kms_key_name FilestoreInstance#kms_key_name}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Resource labels to represent user-provided metadata.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#labels FilestoreInstance#labels}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The name of the location of the instance. This can be a region for ENTERPRISE tier instances.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#location FilestoreInstance#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#project FilestoreInstance#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: FilestoreInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.FilestoreInstanceTimeouts">FilestoreInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#timeouts FilestoreInstance#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.FilestoreInstanceConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The name of the Filestore zone of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#zone FilestoreInstance#zone}

---

### FilestoreInstanceFileShares <a name="FilestoreInstanceFileShares" id="@dschmidt/provider-google.FilestoreInstanceFileShares"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FilestoreInstanceFileShares.Initializer"></a>

```typescript
import { FilestoreInstanceFileShares } from '@dschmidt/provider-google'

const filestoreInstanceFileShares: FilestoreInstanceFileShares = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileShares.property.capacityGb">capacityGb</a></code> | <code>number</code> | File share capacity in GiB. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileShares.property.name">name</a></code> | <code>string</code> | The name of the fileshare (16 characters or less). |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileShares.property.nfsExportOptions">nfsExportOptions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions">FilestoreInstanceFileSharesNfsExportOptions</a>[]</code> | nfs_export_options block. |

---

##### `capacityGb`<sup>Required</sup> <a name="capacityGb" id="@dschmidt/provider-google.FilestoreInstanceFileShares.property.capacityGb"></a>

```typescript
public readonly capacityGb: number;
```

- *Type:* number

File share capacity in GiB.

This must be at least 1024 GiB
for the standard tier, or 2560 GiB for the premium tier.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#capacity_gb FilestoreInstance#capacity_gb}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FilestoreInstanceFileShares.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the fileshare (16 characters or less).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#name FilestoreInstance#name}

---

##### `nfsExportOptions`<sup>Optional</sup> <a name="nfsExportOptions" id="@dschmidt/provider-google.FilestoreInstanceFileShares.property.nfsExportOptions"></a>

```typescript
public readonly nfsExportOptions: IResolvable | FilestoreInstanceFileSharesNfsExportOptions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions">FilestoreInstanceFileSharesNfsExportOptions</a>[]

nfs_export_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#nfs_export_options FilestoreInstance#nfs_export_options}

---

### FilestoreInstanceFileSharesNfsExportOptions <a name="FilestoreInstanceFileSharesNfsExportOptions" id="@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.Initializer"></a>

```typescript
import { FilestoreInstanceFileSharesNfsExportOptions } from '@dschmidt/provider-google'

const filestoreInstanceFileSharesNfsExportOptions: FilestoreInstanceFileSharesNfsExportOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.accessMode">accessMode</a></code> | <code>string</code> | Either READ_ONLY, for allowing only read requests on the exported directory, or READ_WRITE, for allowing both read and write requests. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.anonGid">anonGid</a></code> | <code>number</code> | An integer representing the anonymous group id with a default value of 65534. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.anonUid">anonUid</a></code> | <code>number</code> | An integer representing the anonymous user id with a default value of 65534. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.ipRanges">ipRanges</a></code> | <code>string[]</code> | List of either IPv4 addresses, or ranges in CIDR notation which may mount the file share. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.squashMode">squashMode</a></code> | <code>string</code> | Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH, for not allowing root access. |

---

##### `accessMode`<sup>Optional</sup> <a name="accessMode" id="@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.accessMode"></a>

```typescript
public readonly accessMode: string;
```

- *Type:* string

Either READ_ONLY, for allowing only read requests on the exported directory, or READ_WRITE, for allowing both read and write requests.

The default is READ_WRITE. Default value: "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#access_mode FilestoreInstance#access_mode}

---

##### `anonGid`<sup>Optional</sup> <a name="anonGid" id="@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.anonGid"></a>

```typescript
public readonly anonGid: number;
```

- *Type:* number

An integer representing the anonymous group id with a default value of 65534.

Anon_gid may only be set with squashMode of ROOT_SQUASH. An error will be returned
if this field is specified for other squashMode settings.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#anon_gid FilestoreInstance#anon_gid}

---

##### `anonUid`<sup>Optional</sup> <a name="anonUid" id="@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.anonUid"></a>

```typescript
public readonly anonUid: number;
```

- *Type:* number

An integer representing the anonymous user id with a default value of 65534.

Anon_uid may only be set with squashMode of ROOT_SQUASH. An error will be returned
if this field is specified for other squashMode settings.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#anon_uid FilestoreInstance#anon_uid}

---

##### `ipRanges`<sup>Optional</sup> <a name="ipRanges" id="@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.ipRanges"></a>

```typescript
public readonly ipRanges: string[];
```

- *Type:* string[]

List of either IPv4 addresses, or ranges in CIDR notation which may mount the file share.

Overlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned.
The limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#ip_ranges FilestoreInstance#ip_ranges}

---

##### `squashMode`<sup>Optional</sup> <a name="squashMode" id="@dschmidt/provider-google.FilestoreInstanceFileSharesNfsExportOptions.property.squashMode"></a>

```typescript
public readonly squashMode: string;
```

- *Type:* string

Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH, for not allowing root access.

The default is NO_ROOT_SQUASH. Default value: "NO_ROOT_SQUASH" Possible values: ["NO_ROOT_SQUASH", "ROOT_SQUASH"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#squash_mode FilestoreInstance#squash_mode}

---

### FilestoreInstanceNetworks <a name="FilestoreInstanceNetworks" id="@dschmidt/provider-google.FilestoreInstanceNetworks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FilestoreInstanceNetworks.Initializer"></a>

```typescript
import { FilestoreInstanceNetworks } from '@dschmidt/provider-google'

const filestoreInstanceNetworks: FilestoreInstanceNetworks = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceNetworks.property.modes">modes</a></code> | <code>string[]</code> | IP versions for which the instance has IP addresses assigned. Possible values: ["ADDRESS_MODE_UNSPECIFIED", "MODE_IPV4", "MODE_IPV6"]. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceNetworks.property.network">network</a></code> | <code>string</code> | The name of the GCE VPC network to which the instance is connected. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceNetworks.property.connectMode">connectMode</a></code> | <code>string</code> | The network connect mode of the Filestore instance. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceNetworks.property.reservedIpRange">reservedIpRange</a></code> | <code>string</code> | A /29 CIDR block that identifies the range of IP addresses reserved for this instance. |

---

##### `modes`<sup>Required</sup> <a name="modes" id="@dschmidt/provider-google.FilestoreInstanceNetworks.property.modes"></a>

```typescript
public readonly modes: string[];
```

- *Type:* string[]

IP versions for which the instance has IP addresses assigned. Possible values: ["ADDRESS_MODE_UNSPECIFIED", "MODE_IPV4", "MODE_IPV6"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#modes FilestoreInstance#modes}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.FilestoreInstanceNetworks.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name of the GCE VPC network to which the instance is connected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#network FilestoreInstance#network}

---

##### `connectMode`<sup>Optional</sup> <a name="connectMode" id="@dschmidt/provider-google.FilestoreInstanceNetworks.property.connectMode"></a>

```typescript
public readonly connectMode: string;
```

- *Type:* string

The network connect mode of the Filestore instance.

If not provided, the connect mode defaults to
DIRECT_PEERING. Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", "PRIVATE_SERVICE_ACCESS"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#connect_mode FilestoreInstance#connect_mode}

---

##### `reservedIpRange`<sup>Optional</sup> <a name="reservedIpRange" id="@dschmidt/provider-google.FilestoreInstanceNetworks.property.reservedIpRange"></a>

```typescript
public readonly reservedIpRange: string;
```

- *Type:* string

A /29 CIDR block that identifies the range of IP addresses reserved for this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#reserved_ip_range FilestoreInstance#reserved_ip_range}

---

### FilestoreInstanceTimeouts <a name="FilestoreInstanceTimeouts" id="@dschmidt/provider-google.FilestoreInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FilestoreInstanceTimeouts.Initializer"></a>

```typescript
import { FilestoreInstanceTimeouts } from '@dschmidt/provider-google'

const filestoreInstanceTimeouts: FilestoreInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#create FilestoreInstance#create}. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#delete FilestoreInstance#delete}. |
| <code><a href="#@dschmidt/provider-google.FilestoreInstanceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#update FilestoreInstance#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.FilestoreInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#create FilestoreInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.FilestoreInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#delete FilestoreInstance#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.FilestoreInstanceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/filestore_instance#update FilestoreInstance#update}.

---

### FirebaserulesReleaseConfig <a name="FirebaserulesReleaseConfig" id="@dschmidt/provider-google.FirebaserulesReleaseConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.Initializer"></a>

```typescript
import { FirebaserulesReleaseConfig } from '@dschmidt/provider-google'

const firebaserulesReleaseConfig: FirebaserulesReleaseConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.name">name</a></code> | <code>string</code> | Format: `projects/{project_id}/releases/{release_id}`\Firestore Rules Releases will **always** have the name 'cloud.firestore'. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.rulesetName">rulesetName</a></code> | <code>string</code> | Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must exist for the `Release` to be created. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#id FirebaserulesRelease#id}. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeouts">FirebaserulesReleaseTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Format: `projects/{project_id}/releases/{release_id}`\Firestore Rules Releases will **always** have the name 'cloud.firestore'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#name FirebaserulesRelease#name}

---

##### `rulesetName`<sup>Required</sup> <a name="rulesetName" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.rulesetName"></a>

```typescript
public readonly rulesetName: string;
```

- *Type:* string

Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must exist for the `Release` to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#ruleset_name FirebaserulesRelease#ruleset_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#id FirebaserulesRelease#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#project FirebaserulesRelease#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.FirebaserulesReleaseConfig.property.timeouts"></a>

```typescript
public readonly timeouts: FirebaserulesReleaseTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeouts">FirebaserulesReleaseTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#timeouts FirebaserulesRelease#timeouts}

---

### FirebaserulesReleaseTimeouts <a name="FirebaserulesReleaseTimeouts" id="@dschmidt/provider-google.FirebaserulesReleaseTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirebaserulesReleaseTimeouts.Initializer"></a>

```typescript
import { FirebaserulesReleaseTimeouts } from '@dschmidt/provider-google'

const firebaserulesReleaseTimeouts: FirebaserulesReleaseTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#create FirebaserulesRelease#create}. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#delete FirebaserulesRelease#delete}. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesReleaseTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#update FirebaserulesRelease#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.FirebaserulesReleaseTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#create FirebaserulesRelease#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.FirebaserulesReleaseTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#delete FirebaserulesRelease#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.FirebaserulesReleaseTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_release#update FirebaserulesRelease#update}.

---

### FirebaserulesRulesetConfig <a name="FirebaserulesRulesetConfig" id="@dschmidt/provider-google.FirebaserulesRulesetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.Initializer"></a>

```typescript
import { FirebaserulesRulesetConfig } from '@dschmidt/provider-google'

const firebaserulesRulesetConfig: FirebaserulesRulesetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.source">source</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetSource">FirebaserulesRulesetSource</a></code> | source block. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#id FirebaserulesRuleset#id}. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetTimeouts">FirebaserulesRulesetTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.source"></a>

```typescript
public readonly source: FirebaserulesRulesetSource;
```

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesRulesetSource">FirebaserulesRulesetSource</a>

source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#source FirebaserulesRuleset#source}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#id FirebaserulesRuleset#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#project FirebaserulesRuleset#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.FirebaserulesRulesetConfig.property.timeouts"></a>

```typescript
public readonly timeouts: FirebaserulesRulesetTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.FirebaserulesRulesetTimeouts">FirebaserulesRulesetTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#timeouts FirebaserulesRuleset#timeouts}

---

### FirebaserulesRulesetMetadata <a name="FirebaserulesRulesetMetadata" id="@dschmidt/provider-google.FirebaserulesRulesetMetadata"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirebaserulesRulesetMetadata.Initializer"></a>

```typescript
import { FirebaserulesRulesetMetadata } from '@dschmidt/provider-google'

const firebaserulesRulesetMetadata: FirebaserulesRulesetMetadata = { ... }
```


### FirebaserulesRulesetSource <a name="FirebaserulesRulesetSource" id="@dschmidt/provider-google.FirebaserulesRulesetSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirebaserulesRulesetSource.Initializer"></a>

```typescript
import { FirebaserulesRulesetSource } from '@dschmidt/provider-google'

const firebaserulesRulesetSource: FirebaserulesRulesetSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetSource.property.files">files</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FirebaserulesRulesetSourceFiles">FirebaserulesRulesetSourceFiles</a>[]</code> | files block. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetSource.property.language">language</a></code> | <code>string</code> | `Language` of the `Source` bundle. If unspecified, the language will default to `FIREBASE_RULES`. Possible values: LANGUAGE_UNSPECIFIED, FIREBASE_RULES, EVENT_FLOW_TRIGGERS. |

---

##### `files`<sup>Required</sup> <a name="files" id="@dschmidt/provider-google.FirebaserulesRulesetSource.property.files"></a>

```typescript
public readonly files: IResolvable | FirebaserulesRulesetSourceFiles[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FirebaserulesRulesetSourceFiles">FirebaserulesRulesetSourceFiles</a>[]

files block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#files FirebaserulesRuleset#files}

---

##### `language`<sup>Optional</sup> <a name="language" id="@dschmidt/provider-google.FirebaserulesRulesetSource.property.language"></a>

```typescript
public readonly language: string;
```

- *Type:* string

`Language` of the `Source` bundle. If unspecified, the language will default to `FIREBASE_RULES`. Possible values: LANGUAGE_UNSPECIFIED, FIREBASE_RULES, EVENT_FLOW_TRIGGERS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#language FirebaserulesRuleset#language}

---

### FirebaserulesRulesetSourceFiles <a name="FirebaserulesRulesetSourceFiles" id="@dschmidt/provider-google.FirebaserulesRulesetSourceFiles"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirebaserulesRulesetSourceFiles.Initializer"></a>

```typescript
import { FirebaserulesRulesetSourceFiles } from '@dschmidt/provider-google'

const firebaserulesRulesetSourceFiles: FirebaserulesRulesetSourceFiles = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetSourceFiles.property.content">content</a></code> | <code>string</code> | Textual Content. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetSourceFiles.property.name">name</a></code> | <code>string</code> | File name. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetSourceFiles.property.fingerprint">fingerprint</a></code> | <code>string</code> | Fingerprint (e.g. github sha) associated with the `File`. |

---

##### `content`<sup>Required</sup> <a name="content" id="@dschmidt/provider-google.FirebaserulesRulesetSourceFiles.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

Textual Content.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#content FirebaserulesRuleset#content}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.FirebaserulesRulesetSourceFiles.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

File name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#name FirebaserulesRuleset#name}

---

##### `fingerprint`<sup>Optional</sup> <a name="fingerprint" id="@dschmidt/provider-google.FirebaserulesRulesetSourceFiles.property.fingerprint"></a>

```typescript
public readonly fingerprint: string;
```

- *Type:* string

Fingerprint (e.g. github sha) associated with the `File`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#fingerprint FirebaserulesRuleset#fingerprint}

---

### FirebaserulesRulesetTimeouts <a name="FirebaserulesRulesetTimeouts" id="@dschmidt/provider-google.FirebaserulesRulesetTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirebaserulesRulesetTimeouts.Initializer"></a>

```typescript
import { FirebaserulesRulesetTimeouts } from '@dschmidt/provider-google'

const firebaserulesRulesetTimeouts: FirebaserulesRulesetTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#create FirebaserulesRuleset#create}. |
| <code><a href="#@dschmidt/provider-google.FirebaserulesRulesetTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#delete FirebaserulesRuleset#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.FirebaserulesRulesetTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#create FirebaserulesRuleset#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.FirebaserulesRulesetTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firebaserules_ruleset#delete FirebaserulesRuleset#delete}.

---

### FirestoreDocumentConfig <a name="FirestoreDocumentConfig" id="@dschmidt/provider-google.FirestoreDocumentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirestoreDocumentConfig.Initializer"></a>

```typescript
import { FirestoreDocumentConfig } from '@dschmidt/provider-google'

const firestoreDocumentConfig: FirestoreDocumentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.collection">collection</a></code> | <code>string</code> | The collection ID, relative to database. For example: chatrooms or chatrooms/my-document/private-messages. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.documentId">documentId</a></code> | <code>string</code> | The client-assigned document ID to use for this document during creation. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.fields">fields</a></code> | <code>string</code> | The document's [fields](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents) formated as a json string. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.database">database</a></code> | <code>string</code> | The Firestore database id. Defaults to '"(default)"'. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#id FirestoreDocument#id}. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#project FirestoreDocument#project}. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FirestoreDocumentTimeouts">FirestoreDocumentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `collection`<sup>Required</sup> <a name="collection" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.collection"></a>

```typescript
public readonly collection: string;
```

- *Type:* string

The collection ID, relative to database. For example: chatrooms or chatrooms/my-document/private-messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#collection FirestoreDocument#collection}

---

##### `documentId`<sup>Required</sup> <a name="documentId" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.documentId"></a>

```typescript
public readonly documentId: string;
```

- *Type:* string

The client-assigned document ID to use for this document during creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#document_id FirestoreDocument#document_id}

---

##### `fields`<sup>Required</sup> <a name="fields" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.fields"></a>

```typescript
public readonly fields: string;
```

- *Type:* string

The document's [fields](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents) formated as a json string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#fields FirestoreDocument#fields}

---

##### `database`<sup>Optional</sup> <a name="database" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

The Firestore database id. Defaults to '"(default)"'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#database FirestoreDocument#database}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#id FirestoreDocument#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#project FirestoreDocument#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.FirestoreDocumentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: FirestoreDocumentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.FirestoreDocumentTimeouts">FirestoreDocumentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#timeouts FirestoreDocument#timeouts}

---

### FirestoreDocumentTimeouts <a name="FirestoreDocumentTimeouts" id="@dschmidt/provider-google.FirestoreDocumentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirestoreDocumentTimeouts.Initializer"></a>

```typescript
import { FirestoreDocumentTimeouts } from '@dschmidt/provider-google'

const firestoreDocumentTimeouts: FirestoreDocumentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#create FirestoreDocument#create}. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#delete FirestoreDocument#delete}. |
| <code><a href="#@dschmidt/provider-google.FirestoreDocumentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#update FirestoreDocument#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.FirestoreDocumentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#create FirestoreDocument#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.FirestoreDocumentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#delete FirestoreDocument#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.FirestoreDocumentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_document#update FirestoreDocument#update}.

---

### FirestoreIndexConfig <a name="FirestoreIndexConfig" id="@dschmidt/provider-google.FirestoreIndexConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirestoreIndexConfig.Initializer"></a>

```typescript
import { FirestoreIndexConfig } from '@dschmidt/provider-google'

const firestoreIndexConfig: FirestoreIndexConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.collection">collection</a></code> | <code>string</code> | The collection being indexed. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.fields">fields</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FirestoreIndexFields">FirestoreIndexFields</a>[]</code> | fields block. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.database">database</a></code> | <code>string</code> | The Firestore database id. Defaults to '"(default)"'. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#id FirestoreIndex#id}. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#project FirestoreIndex#project}. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.queryScope">queryScope</a></code> | <code>string</code> | The scope at which a query is run. Default value: "COLLECTION" Possible values: ["COLLECTION", "COLLECTION_GROUP"]. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FirestoreIndexTimeouts">FirestoreIndexTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FirestoreIndexConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FirestoreIndexConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FirestoreIndexConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FirestoreIndexConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FirestoreIndexConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FirestoreIndexConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FirestoreIndexConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `collection`<sup>Required</sup> <a name="collection" id="@dschmidt/provider-google.FirestoreIndexConfig.property.collection"></a>

```typescript
public readonly collection: string;
```

- *Type:* string

The collection being indexed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#collection FirestoreIndex#collection}

---

##### `fields`<sup>Required</sup> <a name="fields" id="@dschmidt/provider-google.FirestoreIndexConfig.property.fields"></a>

```typescript
public readonly fields: IResolvable | FirestoreIndexFields[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FirestoreIndexFields">FirestoreIndexFields</a>[]

fields block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#fields FirestoreIndex#fields}

---

##### `database`<sup>Optional</sup> <a name="database" id="@dschmidt/provider-google.FirestoreIndexConfig.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

The Firestore database id. Defaults to '"(default)"'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#database FirestoreIndex#database}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FirestoreIndexConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#id FirestoreIndex#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.FirestoreIndexConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#project FirestoreIndex#project}.

---

##### `queryScope`<sup>Optional</sup> <a name="queryScope" id="@dschmidt/provider-google.FirestoreIndexConfig.property.queryScope"></a>

```typescript
public readonly queryScope: string;
```

- *Type:* string

The scope at which a query is run. Default value: "COLLECTION" Possible values: ["COLLECTION", "COLLECTION_GROUP"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#query_scope FirestoreIndex#query_scope}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.FirestoreIndexConfig.property.timeouts"></a>

```typescript
public readonly timeouts: FirestoreIndexTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.FirestoreIndexTimeouts">FirestoreIndexTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#timeouts FirestoreIndex#timeouts}

---

### FirestoreIndexFields <a name="FirestoreIndexFields" id="@dschmidt/provider-google.FirestoreIndexFields"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirestoreIndexFields.Initializer"></a>

```typescript
import { FirestoreIndexFields } from '@dschmidt/provider-google'

const firestoreIndexFields: FirestoreIndexFields = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexFields.property.arrayConfig">arrayConfig</a></code> | <code>string</code> | Indicates that this field supports operations on arrayValues. Only one of 'order' and 'arrayConfig' can be specified. Possible values: ["CONTAINS"]. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexFields.property.fieldPath">fieldPath</a></code> | <code>string</code> | Name of the field. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexFields.property.order">order</a></code> | <code>string</code> | Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=. |

---

##### `arrayConfig`<sup>Optional</sup> <a name="arrayConfig" id="@dschmidt/provider-google.FirestoreIndexFields.property.arrayConfig"></a>

```typescript
public readonly arrayConfig: string;
```

- *Type:* string

Indicates that this field supports operations on arrayValues. Only one of 'order' and 'arrayConfig' can be specified. Possible values: ["CONTAINS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#array_config FirestoreIndex#array_config}

---

##### `fieldPath`<sup>Optional</sup> <a name="fieldPath" id="@dschmidt/provider-google.FirestoreIndexFields.property.fieldPath"></a>

```typescript
public readonly fieldPath: string;
```

- *Type:* string

Name of the field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#field_path FirestoreIndex#field_path}

---

##### `order`<sup>Optional</sup> <a name="order" id="@dschmidt/provider-google.FirestoreIndexFields.property.order"></a>

```typescript
public readonly order: string;
```

- *Type:* string

Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.

Only one of 'order' and 'arrayConfig' can be specified. Possible values: ["ASCENDING", "DESCENDING"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#order FirestoreIndex#order}

---

### FirestoreIndexTimeouts <a name="FirestoreIndexTimeouts" id="@dschmidt/provider-google.FirestoreIndexTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FirestoreIndexTimeouts.Initializer"></a>

```typescript
import { FirestoreIndexTimeouts } from '@dschmidt/provider-google'

const firestoreIndexTimeouts: FirestoreIndexTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#create FirestoreIndex#create}. |
| <code><a href="#@dschmidt/provider-google.FirestoreIndexTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#delete FirestoreIndex#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.FirestoreIndexTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#create FirestoreIndex#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.FirestoreIndexTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/firestore_index#delete FirestoreIndex#delete}.

---

### FolderAccessApprovalSettingsConfig <a name="FolderAccessApprovalSettingsConfig" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.Initializer"></a>

```typescript
import { FolderAccessApprovalSettingsConfig } from '@dschmidt/provider-google'

const folderAccessApprovalSettingsConfig: FolderAccessApprovalSettingsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.enrolledServices">enrolledServices</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices">FolderAccessApprovalSettingsEnrolledServices</a>[]</code> | enrolled_services block. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.folderId">folderId</a></code> | <code>string</code> | ID of the folder of the access approval settings. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.activeKeyVersion">activeKeyVersion</a></code> | <code>string</code> | The asymmetric crypto key version to use for signing approval requests. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#id FolderAccessApprovalSettings#id}. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.notificationEmails">notificationEmails</a></code> | <code>string[]</code> | A list of email addresses to which notifications relating to approval requests should be sent. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts">FolderAccessApprovalSettingsTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `enrolledServices`<sup>Required</sup> <a name="enrolledServices" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.enrolledServices"></a>

```typescript
public readonly enrolledServices: IResolvable | FolderAccessApprovalSettingsEnrolledServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices">FolderAccessApprovalSettingsEnrolledServices</a>[]

enrolled_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#enrolled_services FolderAccessApprovalSettings#enrolled_services}

---

##### `folderId`<sup>Required</sup> <a name="folderId" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

ID of the folder of the access approval settings.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#folder_id FolderAccessApprovalSettings#folder_id}

---

##### `activeKeyVersion`<sup>Optional</sup> <a name="activeKeyVersion" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.activeKeyVersion"></a>

```typescript
public readonly activeKeyVersion: string;
```

- *Type:* string

The asymmetric crypto key version to use for signing approval requests.

Empty active_key_version indicates that a Google-managed key should be used for signing.
This property will be ignored if set by an ancestor of the resource, and new non-empty values may not be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#active_key_version FolderAccessApprovalSettings#active_key_version}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#id FolderAccessApprovalSettings#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `notificationEmails`<sup>Optional</sup> <a name="notificationEmails" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.notificationEmails"></a>

```typescript
public readonly notificationEmails: string[];
```

- *Type:* string[]

A list of email addresses to which notifications relating to approval requests should be sent.

Notifications relating to a resource will be sent to all emails in the settings of ancestor
resources of that resource. A maximum of 50 email addresses are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#notification_emails FolderAccessApprovalSettings#notification_emails}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.FolderAccessApprovalSettingsConfig.property.timeouts"></a>

```typescript
public readonly timeouts: FolderAccessApprovalSettingsTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts">FolderAccessApprovalSettingsTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#timeouts FolderAccessApprovalSettings#timeouts}

---

### FolderAccessApprovalSettingsEnrolledServices <a name="FolderAccessApprovalSettingsEnrolledServices" id="@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices.Initializer"></a>

```typescript
import { FolderAccessApprovalSettingsEnrolledServices } from '@dschmidt/provider-google'

const folderAccessApprovalSettingsEnrolledServices: FolderAccessApprovalSettingsEnrolledServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices.property.cloudProduct">cloudProduct</a></code> | <code>string</code> | The product for which Access Approval will be enrolled. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices.property.enrollmentLevel">enrollmentLevel</a></code> | <code>string</code> | The enrollment level of the service. Default value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"]. |

---

##### `cloudProduct`<sup>Required</sup> <a name="cloudProduct" id="@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices.property.cloudProduct"></a>

```typescript
public readonly cloudProduct: string;
```

- *Type:* string

The product for which Access Approval will be enrolled.

Allowed values are listed (case-sensitive):
all
App Engine
BigQuery
Cloud Bigtable
Cloud Key Management Service
Compute Engine
Cloud Dataflow
Cloud Identity and Access Management
Cloud Pub/Sub
Cloud Storage
Persistent Disk

Note: These values are supported as input, but considered a legacy format:
all
appengine.googleapis.com
bigquery.googleapis.com
bigtable.googleapis.com
cloudkms.googleapis.com
compute.googleapis.com
dataflow.googleapis.com
iam.googleapis.com
pubsub.googleapis.com
storage.googleapis.com

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#cloud_product FolderAccessApprovalSettings#cloud_product}

---

##### `enrollmentLevel`<sup>Optional</sup> <a name="enrollmentLevel" id="@dschmidt/provider-google.FolderAccessApprovalSettingsEnrolledServices.property.enrollmentLevel"></a>

```typescript
public readonly enrollmentLevel: string;
```

- *Type:* string

The enrollment level of the service. Default value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#enrollment_level FolderAccessApprovalSettings#enrollment_level}

---

### FolderAccessApprovalSettingsTimeouts <a name="FolderAccessApprovalSettingsTimeouts" id="@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts.Initializer"></a>

```typescript
import { FolderAccessApprovalSettingsTimeouts } from '@dschmidt/provider-google'

const folderAccessApprovalSettingsTimeouts: FolderAccessApprovalSettingsTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#create FolderAccessApprovalSettings#create}. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#delete FolderAccessApprovalSettings#delete}. |
| <code><a href="#@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#update FolderAccessApprovalSettings#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#create FolderAccessApprovalSettings#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#delete FolderAccessApprovalSettings#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.FolderAccessApprovalSettingsTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_access_approval_settings#update FolderAccessApprovalSettings#update}.

---

### FolderConfig <a name="FolderConfig" id="@dschmidt/provider-google.FolderConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderConfig.Initializer"></a>

```typescript
import { FolderConfig } from '@dschmidt/provider-google'

const folderConfig: FolderConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.displayName">displayName</a></code> | <code>string</code> | The folder's display name. |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.parent">parent</a></code> | <code>string</code> | The resource name of the parent Folder or Organization. Must be of the form folders/{folder_id} or organizations/{org_id}. |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#id Folder#id}. |
| <code><a href="#@dschmidt/provider-google.FolderConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FolderTimeouts">FolderTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.FolderConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The folder's display name.

A folder's display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#display_name Folder#display_name}

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.FolderConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The resource name of the parent Folder or Organization. Must be of the form folders/{folder_id} or organizations/{org_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#parent Folder#parent}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FolderConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#id Folder#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.FolderConfig.property.timeouts"></a>

```typescript
public readonly timeouts: FolderTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderTimeouts">FolderTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#timeouts Folder#timeouts}

---

### FolderIamAuditConfigAuditLogConfig <a name="FolderIamAuditConfigAuditLogConfig" id="@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig.Initializer"></a>

```typescript
import { FolderIamAuditConfigAuditLogConfig } from '@dschmidt/provider-google'

const folderIamAuditConfigAuditLogConfig: FolderIamAuditConfigAuditLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig.property.logType">logType</a></code> | <code>string</code> | Permission type for which logging is to be configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig.property.exemptedMembers">exemptedMembers</a></code> | <code>string[]</code> | Identities that do not cause logging for this type of permission. |

---

##### `logType`<sup>Required</sup> <a name="logType" id="@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig.property.logType"></a>

```typescript
public readonly logType: string;
```

- *Type:* string

Permission type for which logging is to be configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_audit_config#log_type FolderIamAuditConfig#log_type}

---

##### `exemptedMembers`<sup>Optional</sup> <a name="exemptedMembers" id="@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig.property.exemptedMembers"></a>

```typescript
public readonly exemptedMembers: string[];
```

- *Type:* string[]

Identities that do not cause logging for this type of permission.

Each entry can have one of the following values:user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_audit_config#exempted_members FolderIamAuditConfig#exempted_members}

---

### FolderIamAuditConfigConfig <a name="FolderIamAuditConfigConfig" id="@dschmidt/provider-google.FolderIamAuditConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.Initializer"></a>

```typescript
import { FolderIamAuditConfigConfig } from '@dschmidt/provider-google'

const folderIamAuditConfigConfig: FolderIamAuditConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.auditLogConfig">auditLogConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig">FolderIamAuditConfigAuditLogConfig</a>[]</code> | audit_log_config block. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.folder">folder</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_audit_config#folder FolderIamAuditConfig#folder}. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.service">service</a></code> | <code>string</code> | Service which will be enabled for audit logging. The special value allServices covers all services. |
| <code><a href="#@dschmidt/provider-google.FolderIamAuditConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_audit_config#id FolderIamAuditConfig#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `auditLogConfig`<sup>Required</sup> <a name="auditLogConfig" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.auditLogConfig"></a>

```typescript
public readonly auditLogConfig: IResolvable | FolderIamAuditConfigAuditLogConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.FolderIamAuditConfigAuditLogConfig">FolderIamAuditConfigAuditLogConfig</a>[]

audit_log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_audit_config#audit_log_config FolderIamAuditConfig#audit_log_config}

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_audit_config#folder FolderIamAuditConfig#folder}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Service which will be enabled for audit logging. The special value allServices covers all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_audit_config#service FolderIamAuditConfig#service}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FolderIamAuditConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_audit_config#id FolderIamAuditConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### FolderIamBindingCondition <a name="FolderIamBindingCondition" id="@dschmidt/provider-google.FolderIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderIamBindingCondition.Initializer"></a>

```typescript
import { FolderIamBindingCondition } from '@dschmidt/provider-google'

const folderIamBindingCondition: FolderIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#expression FolderIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#title FolderIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#description FolderIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.FolderIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#expression FolderIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.FolderIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#title FolderIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.FolderIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#description FolderIamBinding#description}.

---

### FolderIamBindingConfig <a name="FolderIamBindingConfig" id="@dschmidt/provider-google.FolderIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderIamBindingConfig.Initializer"></a>

```typescript
import { FolderIamBindingConfig } from '@dschmidt/provider-google'

const folderIamBindingConfig: FolderIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.folder">folder</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#folder FolderIamBinding#folder}. |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#members FolderIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#role FolderIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamBindingCondition">FolderIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.FolderIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#id FolderIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderIamBindingConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#folder FolderIamBinding#folder}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.FolderIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#members FolderIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.FolderIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#role FolderIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.FolderIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: FolderIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderIamBindingCondition">FolderIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#condition FolderIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FolderIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_binding#id FolderIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### FolderIamMemberCondition <a name="FolderIamMemberCondition" id="@dschmidt/provider-google.FolderIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderIamMemberCondition.Initializer"></a>

```typescript
import { FolderIamMemberCondition } from '@dschmidt/provider-google'

const folderIamMemberCondition: FolderIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#expression FolderIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#title FolderIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#description FolderIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.FolderIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#expression FolderIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.FolderIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#title FolderIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.FolderIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#description FolderIamMember#description}.

---

### FolderIamMemberConfig <a name="FolderIamMemberConfig" id="@dschmidt/provider-google.FolderIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderIamMemberConfig.Initializer"></a>

```typescript
import { FolderIamMemberConfig } from '@dschmidt/provider-google'

const folderIamMemberConfig: FolderIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.folder">folder</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#folder FolderIamMember#folder}. |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#member FolderIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#role FolderIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.FolderIamMemberCondition">FolderIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.FolderIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#id FolderIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderIamMemberConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#folder FolderIamMember#folder}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.FolderIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#member FolderIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.FolderIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#role FolderIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.FolderIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: FolderIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderIamMemberCondition">FolderIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#condition FolderIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FolderIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_member#id FolderIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### FolderIamPolicyConfig <a name="FolderIamPolicyConfig" id="@dschmidt/provider-google.FolderIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderIamPolicyConfig.Initializer"></a>

```typescript
import { FolderIamPolicyConfig } from '@dschmidt/provider-google'

const folderIamPolicyConfig: FolderIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.folder">folder</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_policy#folder FolderIamPolicy#folder}. |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_policy#policy_data FolderIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.FolderIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_policy#id FolderIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_policy#folder FolderIamPolicy#folder}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_policy#policy_data FolderIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FolderIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_iam_policy#id FolderIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### FolderOrganizationPolicyBooleanPolicy <a name="FolderOrganizationPolicyBooleanPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicy.Initializer"></a>

```typescript
import { FolderOrganizationPolicyBooleanPolicy } from '@dschmidt/provider-google'

const folderOrganizationPolicyBooleanPolicy: FolderOrganizationPolicyBooleanPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicy.property.enforced">enforced</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, then the Policy is enforced. If false, then any configuration is acceptable. |

---

##### `enforced`<sup>Required</sup> <a name="enforced" id="@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicy.property.enforced"></a>

```typescript
public readonly enforced: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, then the Policy is enforced. If false, then any configuration is acceptable.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#enforced FolderOrganizationPolicy#enforced}

---

### FolderOrganizationPolicyConfig <a name="FolderOrganizationPolicyConfig" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.Initializer"></a>

```typescript
import { FolderOrganizationPolicyConfig } from '@dschmidt/provider-google'

const folderOrganizationPolicyConfig: FolderOrganizationPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.constraint">constraint</a></code> | <code>string</code> | The name of the Constraint the Policy is configuring, for example, serviceuser.services. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.folder">folder</a></code> | <code>string</code> | The resource name of the folder to set the policy for. Its format is folders/{folder_id}. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.booleanPolicy">booleanPolicy</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicy">FolderOrganizationPolicyBooleanPolicy</a></code> | boolean_policy block. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#id FolderOrganizationPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.listPolicy">listPolicy</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicy">FolderOrganizationPolicyListPolicy</a></code> | list_policy block. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.restorePolicy">restorePolicy</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicy">FolderOrganizationPolicyRestorePolicy</a></code> | restore_policy block. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeouts">FolderOrganizationPolicyTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.version">version</a></code> | <code>number</code> | Version of the Policy. Default version is 0. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

The name of the Constraint the Policy is configuring, for example, serviceuser.services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#constraint FolderOrganizationPolicy#constraint}

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

The resource name of the folder to set the policy for. Its format is folders/{folder_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#folder FolderOrganizationPolicy#folder}

---

##### `booleanPolicy`<sup>Optional</sup> <a name="booleanPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.booleanPolicy"></a>

```typescript
public readonly booleanPolicy: FolderOrganizationPolicyBooleanPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyBooleanPolicy">FolderOrganizationPolicyBooleanPolicy</a>

boolean_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#boolean_policy FolderOrganizationPolicy#boolean_policy}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#id FolderOrganizationPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `listPolicy`<sup>Optional</sup> <a name="listPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.listPolicy"></a>

```typescript
public readonly listPolicy: FolderOrganizationPolicyListPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicy">FolderOrganizationPolicyListPolicy</a>

list_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#list_policy FolderOrganizationPolicy#list_policy}

---

##### `restorePolicy`<sup>Optional</sup> <a name="restorePolicy" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: FolderOrganizationPolicyRestorePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicy">FolderOrganizationPolicyRestorePolicy</a>

restore_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#restore_policy FolderOrganizationPolicy#restore_policy}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: FolderOrganizationPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeouts">FolderOrganizationPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#timeouts FolderOrganizationPolicy#timeouts}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.FolderOrganizationPolicyConfig.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

Version of the Policy. Default version is 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#version FolderOrganizationPolicy#version}

---

### FolderOrganizationPolicyListPolicy <a name="FolderOrganizationPolicyListPolicy" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicy.Initializer"></a>

```typescript
import { FolderOrganizationPolicyListPolicy } from '@dschmidt/provider-google'

const folderOrganizationPolicyListPolicy: FolderOrganizationPolicyListPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicy.property.allow">allow</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyAllow">FolderOrganizationPolicyListPolicyAllow</a></code> | allow block. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicy.property.deny">deny</a></code> | <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyDeny">FolderOrganizationPolicyListPolicyDeny</a></code> | deny block. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicy.property.inheritFromParent">inheritFromParent</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicy.property.suggestedValue">suggestedValue</a></code> | <code>string</code> | The Google Cloud Console will try to default to a configuration that matches the value specified in this field. |

---

##### `allow`<sup>Optional</sup> <a name="allow" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicy.property.allow"></a>

```typescript
public readonly allow: FolderOrganizationPolicyListPolicyAllow;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyAllow">FolderOrganizationPolicyListPolicyAllow</a>

allow block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#allow FolderOrganizationPolicy#allow}

---

##### `deny`<sup>Optional</sup> <a name="deny" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicy.property.deny"></a>

```typescript
public readonly deny: FolderOrganizationPolicyListPolicyDeny;
```

- *Type:* <a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyDeny">FolderOrganizationPolicyListPolicyDeny</a>

deny block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#deny FolderOrganizationPolicy#deny}

---

##### `inheritFromParent`<sup>Optional</sup> <a name="inheritFromParent" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicy.property.inheritFromParent"></a>

```typescript
public readonly inheritFromParent: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#inherit_from_parent FolderOrganizationPolicy#inherit_from_parent}

---

##### `suggestedValue`<sup>Optional</sup> <a name="suggestedValue" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicy.property.suggestedValue"></a>

```typescript
public readonly suggestedValue: string;
```

- *Type:* string

The Google Cloud Console will try to default to a configuration that matches the value specified in this field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#suggested_value FolderOrganizationPolicy#suggested_value}

---

### FolderOrganizationPolicyListPolicyAllow <a name="FolderOrganizationPolicyListPolicyAllow" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicyAllow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicyAllow.Initializer"></a>

```typescript
import { FolderOrganizationPolicyListPolicyAllow } from '@dschmidt/provider-google'

const folderOrganizationPolicyListPolicyAllow: FolderOrganizationPolicyListPolicyAllow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyAllow.property.all">all</a></code> | <code>boolean \| cdktf.IResolvable</code> | The policy allows or denies all values. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyAllow.property.values">values</a></code> | <code>string[]</code> | The policy can define specific values that are allowed or denied. |

---

##### `all`<sup>Optional</sup> <a name="all" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicyAllow.property.all"></a>

```typescript
public readonly all: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The policy allows or denies all values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#all FolderOrganizationPolicy#all}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicyAllow.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

The policy can define specific values that are allowed or denied.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#values FolderOrganizationPolicy#values}

---

### FolderOrganizationPolicyListPolicyDeny <a name="FolderOrganizationPolicyListPolicyDeny" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicyDeny"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicyDeny.Initializer"></a>

```typescript
import { FolderOrganizationPolicyListPolicyDeny } from '@dschmidt/provider-google'

const folderOrganizationPolicyListPolicyDeny: FolderOrganizationPolicyListPolicyDeny = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyDeny.property.all">all</a></code> | <code>boolean \| cdktf.IResolvable</code> | The policy allows or denies all values. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyListPolicyDeny.property.values">values</a></code> | <code>string[]</code> | The policy can define specific values that are allowed or denied. |

---

##### `all`<sup>Optional</sup> <a name="all" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicyDeny.property.all"></a>

```typescript
public readonly all: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The policy allows or denies all values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#all FolderOrganizationPolicy#all}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.FolderOrganizationPolicyListPolicyDeny.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

The policy can define specific values that are allowed or denied.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#values FolderOrganizationPolicy#values}

---

### FolderOrganizationPolicyRestorePolicy <a name="FolderOrganizationPolicyRestorePolicy" id="@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicy.Initializer"></a>

```typescript
import { FolderOrganizationPolicyRestorePolicy } from '@dschmidt/provider-google'

const folderOrganizationPolicyRestorePolicy: FolderOrganizationPolicyRestorePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicy.property.default">default</a></code> | <code>boolean \| cdktf.IResolvable</code> | May only be set to true. If set, then the default Policy is restored. |

---

##### `default`<sup>Required</sup> <a name="default" id="@dschmidt/provider-google.FolderOrganizationPolicyRestorePolicy.property.default"></a>

```typescript
public readonly default: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

May only be set to true. If set, then the default Policy is restored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#default FolderOrganizationPolicy#default}

---

### FolderOrganizationPolicyTimeouts <a name="FolderOrganizationPolicyTimeouts" id="@dschmidt/provider-google.FolderOrganizationPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderOrganizationPolicyTimeouts.Initializer"></a>

```typescript
import { FolderOrganizationPolicyTimeouts } from '@dschmidt/provider-google'

const folderOrganizationPolicyTimeouts: FolderOrganizationPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#create FolderOrganizationPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#delete FolderOrganizationPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#read FolderOrganizationPolicy#read}. |
| <code><a href="#@dschmidt/provider-google.FolderOrganizationPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#update FolderOrganizationPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.FolderOrganizationPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#create FolderOrganizationPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.FolderOrganizationPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#delete FolderOrganizationPolicy#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.FolderOrganizationPolicyTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#read FolderOrganizationPolicy#read}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.FolderOrganizationPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder_organization_policy#update FolderOrganizationPolicy#update}.

---

### FolderTimeouts <a name="FolderTimeouts" id="@dschmidt/provider-google.FolderTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.FolderTimeouts.Initializer"></a>

```typescript
import { FolderTimeouts } from '@dschmidt/provider-google'

const folderTimeouts: FolderTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.FolderTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#create Folder#create}. |
| <code><a href="#@dschmidt/provider-google.FolderTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#delete Folder#delete}. |
| <code><a href="#@dschmidt/provider-google.FolderTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#read Folder#read}. |
| <code><a href="#@dschmidt/provider-google.FolderTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#update Folder#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.FolderTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#create Folder#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.FolderTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#delete Folder#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.FolderTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#read Folder#read}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.FolderTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/folder#update Folder#update}.

---

### GameServicesGameServerClusterConfig <a name="GameServicesGameServerClusterConfig" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.Initializer"></a>

```typescript
import { GameServicesGameServerClusterConfig } from '@dschmidt/provider-google'

const gameServicesGameServerClusterConfig: GameServicesGameServerClusterConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.clusterId">clusterId</a></code> | <code>string</code> | Required. The resource name of the game server cluster. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.connectionInfo">connectionInfo</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo">GameServicesGameServerClusterConnectionInfo</a></code> | connection_info block. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.realmId">realmId</a></code> | <code>string</code> | The realm id of the game server realm. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.description">description</a></code> | <code>string</code> | Human readable description of the cluster. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#id GameServicesGameServerCluster#id}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The labels associated with this game server cluster. Each label is a key-value pair. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.location">location</a></code> | <code>string</code> | Location of the Cluster. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#project GameServicesGameServerCluster#project}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeouts">GameServicesGameServerClusterTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `clusterId`<sup>Required</sup> <a name="clusterId" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.clusterId"></a>

```typescript
public readonly clusterId: string;
```

- *Type:* string

Required. The resource name of the game server cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#cluster_id GameServicesGameServerCluster#cluster_id}

---

##### `connectionInfo`<sup>Required</sup> <a name="connectionInfo" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.connectionInfo"></a>

```typescript
public readonly connectionInfo: GameServicesGameServerClusterConnectionInfo;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo">GameServicesGameServerClusterConnectionInfo</a>

connection_info block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#connection_info GameServicesGameServerCluster#connection_info}

---

##### `realmId`<sup>Required</sup> <a name="realmId" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.realmId"></a>

```typescript
public readonly realmId: string;
```

- *Type:* string

The realm id of the game server realm.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#realm_id GameServicesGameServerCluster#realm_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Human readable description of the cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#description GameServicesGameServerCluster#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#id GameServicesGameServerCluster#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The labels associated with this game server cluster. Each label is a key-value pair.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#labels GameServicesGameServerCluster#labels}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the Cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#location GameServicesGameServerCluster#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#project GameServicesGameServerCluster#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesGameServerClusterConfig.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesGameServerClusterTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeouts">GameServicesGameServerClusterTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#timeouts GameServicesGameServerCluster#timeouts}

---

### GameServicesGameServerClusterConnectionInfo <a name="GameServicesGameServerClusterConnectionInfo" id="@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo.Initializer"></a>

```typescript
import { GameServicesGameServerClusterConnectionInfo } from '@dschmidt/provider-google'

const gameServicesGameServerClusterConnectionInfo: GameServicesGameServerClusterConnectionInfo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo.property.gkeClusterReference">gkeClusterReference</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfoGkeClusterReference">GameServicesGameServerClusterConnectionInfoGkeClusterReference</a></code> | gke_cluster_reference block. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo.property.namespace">namespace</a></code> | <code>string</code> | Namespace designated on the game server cluster where the game server instances will be created. |

---

##### `gkeClusterReference`<sup>Required</sup> <a name="gkeClusterReference" id="@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo.property.gkeClusterReference"></a>

```typescript
public readonly gkeClusterReference: GameServicesGameServerClusterConnectionInfoGkeClusterReference;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfoGkeClusterReference">GameServicesGameServerClusterConnectionInfoGkeClusterReference</a>

gke_cluster_reference block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#gke_cluster_reference GameServicesGameServerCluster#gke_cluster_reference}

---

##### `namespace`<sup>Required</sup> <a name="namespace" id="@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfo.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

Namespace designated on the game server cluster where the game server instances will be created.

The namespace existence will be validated
during creation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#namespace GameServicesGameServerCluster#namespace}

---

### GameServicesGameServerClusterConnectionInfoGkeClusterReference <a name="GameServicesGameServerClusterConnectionInfoGkeClusterReference" id="@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfoGkeClusterReference"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfoGkeClusterReference.Initializer"></a>

```typescript
import { GameServicesGameServerClusterConnectionInfoGkeClusterReference } from '@dschmidt/provider-google'

const gameServicesGameServerClusterConnectionInfoGkeClusterReference: GameServicesGameServerClusterConnectionInfoGkeClusterReference = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfoGkeClusterReference.property.cluster">cluster</a></code> | <code>string</code> | The full or partial name of a GKE cluster, using one of the following forms:. |

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="@dschmidt/provider-google.GameServicesGameServerClusterConnectionInfoGkeClusterReference.property.cluster"></a>

```typescript
public readonly cluster: string;
```

- *Type:* string

The full or partial name of a GKE cluster, using one of the following forms:.

'projects/{project_id}/locations/{location}/clusters/{cluster_id}'
'locations/{location}/clusters/{cluster_id}'
'{cluster_id}'

If project and location are not specified, the project and location of the
GameServerCluster resource are used to generate the full name of the
GKE cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#cluster GameServicesGameServerCluster#cluster}

---

### GameServicesGameServerClusterTimeouts <a name="GameServicesGameServerClusterTimeouts" id="@dschmidt/provider-google.GameServicesGameServerClusterTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerClusterTimeouts.Initializer"></a>

```typescript
import { GameServicesGameServerClusterTimeouts } from '@dschmidt/provider-google'

const gameServicesGameServerClusterTimeouts: GameServicesGameServerClusterTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#create GameServicesGameServerCluster#create}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#delete GameServicesGameServerCluster#delete}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerClusterTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#update GameServicesGameServerCluster#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.GameServicesGameServerClusterTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#create GameServicesGameServerCluster#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.GameServicesGameServerClusterTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#delete GameServicesGameServerCluster#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.GameServicesGameServerClusterTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_cluster#update GameServicesGameServerCluster#update}.

---

### GameServicesGameServerConfigConfig <a name="GameServicesGameServerConfigConfig" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.Initializer"></a>

```typescript
import { GameServicesGameServerConfigConfig } from '@dschmidt/provider-google'

const gameServicesGameServerConfigConfig: GameServicesGameServerConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.configId">configId</a></code> | <code>string</code> | A unique id for the deployment config. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.deploymentId">deploymentId</a></code> | <code>string</code> | A unique id for the deployment. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.fleetConfigs">fleetConfigs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs">GameServicesGameServerConfigFleetConfigs</a>[]</code> | fleet_configs block. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.description">description</a></code> | <code>string</code> | The description of the game server config. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#id GameServicesGameServerConfig#id}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The labels associated with this game server config. Each label is a key-value pair. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.location">location</a></code> | <code>string</code> | Location of the Deployment. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#project GameServicesGameServerConfig#project}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.scalingConfigs">scalingConfigs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs">GameServicesGameServerConfigScalingConfigs</a>[]</code> | scaling_configs block. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigTimeouts">GameServicesGameServerConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `configId`<sup>Required</sup> <a name="configId" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.configId"></a>

```typescript
public readonly configId: string;
```

- *Type:* string

A unique id for the deployment config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#config_id GameServicesGameServerConfig#config_id}

---

##### `deploymentId`<sup>Required</sup> <a name="deploymentId" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.deploymentId"></a>

```typescript
public readonly deploymentId: string;
```

- *Type:* string

A unique id for the deployment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#deployment_id GameServicesGameServerConfig#deployment_id}

---

##### `fleetConfigs`<sup>Required</sup> <a name="fleetConfigs" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.fleetConfigs"></a>

```typescript
public readonly fleetConfigs: IResolvable | GameServicesGameServerConfigFleetConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs">GameServicesGameServerConfigFleetConfigs</a>[]

fleet_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#fleet_configs GameServicesGameServerConfig#fleet_configs}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The description of the game server config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#description GameServicesGameServerConfig#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#id GameServicesGameServerConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The labels associated with this game server config. Each label is a key-value pair.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#labels GameServicesGameServerConfig#labels}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the Deployment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#location GameServicesGameServerConfig#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#project GameServicesGameServerConfig#project}.

---

##### `scalingConfigs`<sup>Optional</sup> <a name="scalingConfigs" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.scalingConfigs"></a>

```typescript
public readonly scalingConfigs: IResolvable | GameServicesGameServerConfigScalingConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs">GameServicesGameServerConfigScalingConfigs</a>[]

scaling_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#scaling_configs GameServicesGameServerConfig#scaling_configs}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesGameServerConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesGameServerConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerConfigTimeouts">GameServicesGameServerConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#timeouts GameServicesGameServerConfig#timeouts}

---

### GameServicesGameServerConfigFleetConfigs <a name="GameServicesGameServerConfigFleetConfigs" id="@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs.Initializer"></a>

```typescript
import { GameServicesGameServerConfigFleetConfigs } from '@dschmidt/provider-google'

const gameServicesGameServerConfigFleetConfigs: GameServicesGameServerConfigFleetConfigs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs.property.fleetSpec">fleetSpec</a></code> | <code>string</code> | The fleet spec, which is sent to Agones to configure fleet. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs.property.name">name</a></code> | <code>string</code> | The name of the FleetConfig. |

---

##### `fleetSpec`<sup>Required</sup> <a name="fleetSpec" id="@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs.property.fleetSpec"></a>

```typescript
public readonly fleetSpec: string;
```

- *Type:* string

The fleet spec, which is sent to Agones to configure fleet.

The spec can be passed as inline json but it is recommended to use a file reference
instead. File references can contain the json or yaml format of the fleet spec. Eg:

fleet_spec = jsonencode(yamldecode(file("fleet_configs.yaml")))
fleet_spec = file("fleet_configs.json")

The format of the spec can be found :
'https://agones.dev/site/docs/reference/fleet/'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#fleet_spec GameServicesGameServerConfig#fleet_spec}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.GameServicesGameServerConfigFleetConfigs.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the FleetConfig.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#name GameServicesGameServerConfig#name}

---

### GameServicesGameServerConfigScalingConfigs <a name="GameServicesGameServerConfigScalingConfigs" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs.Initializer"></a>

```typescript
import { GameServicesGameServerConfigScalingConfigs } from '@dschmidt/provider-google'

const gameServicesGameServerConfigScalingConfigs: GameServicesGameServerConfigScalingConfigs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs.property.fleetAutoscalerSpec">fleetAutoscalerSpec</a></code> | <code>string</code> | Fleet autoscaler spec, which is sent to Agones. Example spec can be found : https://agones.dev/site/docs/reference/fleetautoscaler/. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs.property.name">name</a></code> | <code>string</code> | The name of the ScalingConfig. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs.property.schedules">schedules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules">GameServicesGameServerConfigScalingConfigsSchedules</a>[]</code> | schedules block. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs.property.selectors">selectors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSelectors">GameServicesGameServerConfigScalingConfigsSelectors</a>[]</code> | selectors block. |

---

##### `fleetAutoscalerSpec`<sup>Required</sup> <a name="fleetAutoscalerSpec" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs.property.fleetAutoscalerSpec"></a>

```typescript
public readonly fleetAutoscalerSpec: string;
```

- *Type:* string

Fleet autoscaler spec, which is sent to Agones. Example spec can be found : https://agones.dev/site/docs/reference/fleetautoscaler/.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#fleet_autoscaler_spec GameServicesGameServerConfig#fleet_autoscaler_spec}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the ScalingConfig.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#name GameServicesGameServerConfig#name}

---

##### `schedules`<sup>Optional</sup> <a name="schedules" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs.property.schedules"></a>

```typescript
public readonly schedules: IResolvable | GameServicesGameServerConfigScalingConfigsSchedules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules">GameServicesGameServerConfigScalingConfigsSchedules</a>[]

schedules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#schedules GameServicesGameServerConfig#schedules}

---

##### `selectors`<sup>Optional</sup> <a name="selectors" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigs.property.selectors"></a>

```typescript
public readonly selectors: IResolvable | GameServicesGameServerConfigScalingConfigsSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSelectors">GameServicesGameServerConfigScalingConfigsSelectors</a>[]

selectors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#selectors GameServicesGameServerConfig#selectors}

---

### GameServicesGameServerConfigScalingConfigsSchedules <a name="GameServicesGameServerConfigScalingConfigsSchedules" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules.Initializer"></a>

```typescript
import { GameServicesGameServerConfigScalingConfigsSchedules } from '@dschmidt/provider-google'

const gameServicesGameServerConfigScalingConfigsSchedules: GameServicesGameServerConfigScalingConfigsSchedules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules.property.cronJobDuration">cronJobDuration</a></code> | <code>string</code> | The duration for the cron job event. The duration of the event is effective after the cron job's start time. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules.property.cronSpec">cronSpec</a></code> | <code>string</code> | The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules.property.endTime">endTime</a></code> | <code>string</code> | The end time of the event. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules.property.startTime">startTime</a></code> | <code>string</code> | The start time of the event. |

---

##### `cronJobDuration`<sup>Optional</sup> <a name="cronJobDuration" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules.property.cronJobDuration"></a>

```typescript
public readonly cronJobDuration: string;
```

- *Type:* string

The duration for the cron job event. The duration of the event is effective after the cron job's start time.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#cron_job_duration GameServicesGameServerConfig#cron_job_duration}

---

##### `cronSpec`<sup>Optional</sup> <a name="cronSpec" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules.property.cronSpec"></a>

```typescript
public readonly cronSpec: string;
```

- *Type:* string

The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#cron_spec GameServicesGameServerConfig#cron_spec}

---

##### `endTime`<sup>Optional</sup> <a name="endTime" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules.property.endTime"></a>

```typescript
public readonly endTime: string;
```

- *Type:* string

The end time of the event.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#end_time GameServicesGameServerConfig#end_time}

---

##### `startTime`<sup>Optional</sup> <a name="startTime" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSchedules.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

The start time of the event.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#start_time GameServicesGameServerConfig#start_time}

---

### GameServicesGameServerConfigScalingConfigsSelectors <a name="GameServicesGameServerConfigScalingConfigsSelectors" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSelectors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSelectors.Initializer"></a>

```typescript
import { GameServicesGameServerConfigScalingConfigsSelectors } from '@dschmidt/provider-google'

const gameServicesGameServerConfigScalingConfigsSelectors: GameServicesGameServerConfigScalingConfigsSelectors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSelectors.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Set of labels to group by. |

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.GameServicesGameServerConfigScalingConfigsSelectors.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Set of labels to group by.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#labels GameServicesGameServerConfig#labels}

---

### GameServicesGameServerConfigTimeouts <a name="GameServicesGameServerConfigTimeouts" id="@dschmidt/provider-google.GameServicesGameServerConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerConfigTimeouts.Initializer"></a>

```typescript
import { GameServicesGameServerConfigTimeouts } from '@dschmidt/provider-google'

const gameServicesGameServerConfigTimeouts: GameServicesGameServerConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#create GameServicesGameServerConfig#create}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#delete GameServicesGameServerConfig#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.GameServicesGameServerConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#create GameServicesGameServerConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.GameServicesGameServerConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_config#delete GameServicesGameServerConfig#delete}.

---

### GameServicesGameServerDeploymentConfig <a name="GameServicesGameServerDeploymentConfig" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.Initializer"></a>

```typescript
import { GameServicesGameServerDeploymentConfig } from '@dschmidt/provider-google'

const gameServicesGameServerDeploymentConfig: GameServicesGameServerDeploymentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.deploymentId">deploymentId</a></code> | <code>string</code> | A unique id for the deployment. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.description">description</a></code> | <code>string</code> | Human readable description of the game server deployment. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#id GameServicesGameServerDeployment#id}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The labels associated with this game server deployment. Each label is a key-value pair. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.location">location</a></code> | <code>string</code> | Location of the Deployment. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#project GameServicesGameServerDeployment#project}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts">GameServicesGameServerDeploymentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `deploymentId`<sup>Required</sup> <a name="deploymentId" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.deploymentId"></a>

```typescript
public readonly deploymentId: string;
```

- *Type:* string

A unique id for the deployment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#deployment_id GameServicesGameServerDeployment#deployment_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Human readable description of the game server deployment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#description GameServicesGameServerDeployment#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#id GameServicesGameServerDeployment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The labels associated with this game server deployment. Each label is a key-value pair.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#labels GameServicesGameServerDeployment#labels}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the Deployment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#location GameServicesGameServerDeployment#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#project GameServicesGameServerDeployment#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesGameServerDeploymentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesGameServerDeploymentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts">GameServicesGameServerDeploymentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#timeouts GameServicesGameServerDeployment#timeouts}

---

### GameServicesGameServerDeploymentRolloutConfig <a name="GameServicesGameServerDeploymentRolloutConfig" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.Initializer"></a>

```typescript
import { GameServicesGameServerDeploymentRolloutConfig } from '@dschmidt/provider-google'

const gameServicesGameServerDeploymentRolloutConfig: GameServicesGameServerDeploymentRolloutConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.defaultGameServerConfig">defaultGameServerConfig</a></code> | <code>string</code> | This field points to the game server config that is applied by default to all realms and clusters. For example,. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.deploymentId">deploymentId</a></code> | <code>string</code> | The deployment to rollout the new config to. Only 1 rollout must be associated with each deployment. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.gameServerConfigOverrides">gameServerConfigOverrides</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides">GameServicesGameServerDeploymentRolloutGameServerConfigOverrides</a>[]</code> | game_server_config_overrides block. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#id GameServicesGameServerDeploymentRollout#id}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#project GameServicesGameServerDeploymentRollout#project}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts">GameServicesGameServerDeploymentRolloutTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `defaultGameServerConfig`<sup>Required</sup> <a name="defaultGameServerConfig" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.defaultGameServerConfig"></a>

```typescript
public readonly defaultGameServerConfig: string;
```

- *Type:* string

This field points to the game server config that is applied by default to all realms and clusters. For example,.

'projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#default_game_server_config GameServicesGameServerDeploymentRollout#default_game_server_config}

---

##### `deploymentId`<sup>Required</sup> <a name="deploymentId" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.deploymentId"></a>

```typescript
public readonly deploymentId: string;
```

- *Type:* string

The deployment to rollout the new config to. Only 1 rollout must be associated with each deployment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#deployment_id GameServicesGameServerDeploymentRollout#deployment_id}

---

##### `gameServerConfigOverrides`<sup>Optional</sup> <a name="gameServerConfigOverrides" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.gameServerConfigOverrides"></a>

```typescript
public readonly gameServerConfigOverrides: IResolvable | GameServicesGameServerDeploymentRolloutGameServerConfigOverrides[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides">GameServicesGameServerDeploymentRolloutGameServerConfigOverrides</a>[]

game_server_config_overrides block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#game_server_config_overrides GameServicesGameServerDeploymentRollout#game_server_config_overrides}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#id GameServicesGameServerDeploymentRollout#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#project GameServicesGameServerDeploymentRollout#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutConfig.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesGameServerDeploymentRolloutTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts">GameServicesGameServerDeploymentRolloutTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#timeouts GameServicesGameServerDeploymentRollout#timeouts}

---

### GameServicesGameServerDeploymentRolloutGameServerConfigOverrides <a name="GameServicesGameServerDeploymentRolloutGameServerConfigOverrides" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides.Initializer"></a>

```typescript
import { GameServicesGameServerDeploymentRolloutGameServerConfigOverrides } from '@dschmidt/provider-google'

const gameServicesGameServerDeploymentRolloutGameServerConfigOverrides: GameServicesGameServerDeploymentRolloutGameServerConfigOverrides = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides.property.configVersion">configVersion</a></code> | <code>string</code> | Version of the configuration. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides.property.realmsSelector">realmsSelector</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector">GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector</a></code> | realms_selector block. |

---

##### `configVersion`<sup>Optional</sup> <a name="configVersion" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides.property.configVersion"></a>

```typescript
public readonly configVersion: string;
```

- *Type:* string

Version of the configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#config_version GameServicesGameServerDeploymentRollout#config_version}

---

##### `realmsSelector`<sup>Optional</sup> <a name="realmsSelector" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverrides.property.realmsSelector"></a>

```typescript
public readonly realmsSelector: GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector">GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector</a>

realms_selector block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#realms_selector GameServicesGameServerDeploymentRollout#realms_selector}

---

### GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector <a name="GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector.Initializer"></a>

```typescript
import { GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector } from '@dschmidt/provider-google'

const gameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector: GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector.property.realms">realms</a></code> | <code>string[]</code> | List of realms to match against. |

---

##### `realms`<sup>Optional</sup> <a name="realms" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutGameServerConfigOverridesRealmsSelector.property.realms"></a>

```typescript
public readonly realms: string[];
```

- *Type:* string[]

List of realms to match against.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#realms GameServicesGameServerDeploymentRollout#realms}

---

### GameServicesGameServerDeploymentRolloutTimeouts <a name="GameServicesGameServerDeploymentRolloutTimeouts" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts.Initializer"></a>

```typescript
import { GameServicesGameServerDeploymentRolloutTimeouts } from '@dschmidt/provider-google'

const gameServicesGameServerDeploymentRolloutTimeouts: GameServicesGameServerDeploymentRolloutTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#create GameServicesGameServerDeploymentRollout#create}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#delete GameServicesGameServerDeploymentRollout#delete}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#update GameServicesGameServerDeploymentRollout#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#create GameServicesGameServerDeploymentRollout#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#delete GameServicesGameServerDeploymentRollout#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.GameServicesGameServerDeploymentRolloutTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment_rollout#update GameServicesGameServerDeploymentRollout#update}.

---

### GameServicesGameServerDeploymentTimeouts <a name="GameServicesGameServerDeploymentTimeouts" id="@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts.Initializer"></a>

```typescript
import { GameServicesGameServerDeploymentTimeouts } from '@dschmidt/provider-google'

const gameServicesGameServerDeploymentTimeouts: GameServicesGameServerDeploymentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#create GameServicesGameServerDeployment#create}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#delete GameServicesGameServerDeployment#delete}. |
| <code><a href="#@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#update GameServicesGameServerDeployment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#create GameServicesGameServerDeployment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#delete GameServicesGameServerDeployment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.GameServicesGameServerDeploymentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_game_server_deployment#update GameServicesGameServerDeployment#update}.

---

### GameServicesRealmConfig <a name="GameServicesRealmConfig" id="@dschmidt/provider-google.GameServicesRealmConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesRealmConfig.Initializer"></a>

```typescript
import { GameServicesRealmConfig } from '@dschmidt/provider-google'

const gameServicesRealmConfig: GameServicesRealmConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.realmId">realmId</a></code> | <code>string</code> | GCP region of the Realm. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.timeZone">timeZone</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.description">description</a></code> | <code>string</code> | Human readable description of the realm. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#id GameServicesRealm#id}. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The labels associated with this realm. Each label is a key-value pair. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.location">location</a></code> | <code>string</code> | Location of the Realm. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#project GameServicesRealm#project}. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GameServicesRealmTimeouts">GameServicesRealmTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GameServicesRealmConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GameServicesRealmConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GameServicesRealmConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GameServicesRealmConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GameServicesRealmConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GameServicesRealmConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GameServicesRealmConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `realmId`<sup>Required</sup> <a name="realmId" id="@dschmidt/provider-google.GameServicesRealmConfig.property.realmId"></a>

```typescript
public readonly realmId: string;
```

- *Type:* string

GCP region of the Realm.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#realm_id GameServicesRealm#realm_id}

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.GameServicesRealmConfig.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

Required.

Time zone where all realm-specific policies are evaluated. The value of
this field must be from the IANA time zone database:
https://www.iana.org/time-zones.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#time_zone GameServicesRealm#time_zone}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.GameServicesRealmConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Human readable description of the realm.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#description GameServicesRealm#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.GameServicesRealmConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#id GameServicesRealm#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.GameServicesRealmConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The labels associated with this realm. Each label is a key-value pair.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#labels GameServicesRealm#labels}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.GameServicesRealmConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the Realm.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#location GameServicesRealm#location}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GameServicesRealmConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#project GameServicesRealm#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.GameServicesRealmConfig.property.timeouts"></a>

```typescript
public readonly timeouts: GameServicesRealmTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.GameServicesRealmTimeouts">GameServicesRealmTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#timeouts GameServicesRealm#timeouts}

---

### GameServicesRealmTimeouts <a name="GameServicesRealmTimeouts" id="@dschmidt/provider-google.GameServicesRealmTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GameServicesRealmTimeouts.Initializer"></a>

```typescript
import { GameServicesRealmTimeouts } from '@dschmidt/provider-google'

const gameServicesRealmTimeouts: GameServicesRealmTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#create GameServicesRealm#create}. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#delete GameServicesRealm#delete}. |
| <code><a href="#@dschmidt/provider-google.GameServicesRealmTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#update GameServicesRealm#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.GameServicesRealmTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#create GameServicesRealm#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.GameServicesRealmTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#delete GameServicesRealm#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.GameServicesRealmTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/game_services_realm#update GameServicesRealm#update}.

---

### GkeHubMembershipAuthority <a name="GkeHubMembershipAuthority" id="@dschmidt/provider-google.GkeHubMembershipAuthority"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipAuthority.Initializer"></a>

```typescript
import { GkeHubMembershipAuthority } from '@dschmidt/provider-google'

const gkeHubMembershipAuthority: GkeHubMembershipAuthority = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipAuthority.property.issuer">issuer</a></code> | <code>string</code> | A JSON Web Token (JWT) issuer URI. |

---

##### `issuer`<sup>Required</sup> <a name="issuer" id="@dschmidt/provider-google.GkeHubMembershipAuthority.property.issuer"></a>

```typescript
public readonly issuer: string;
```

- *Type:* string

A JSON Web Token (JWT) issuer URI.

'issuer' must start with 'https://' and // be a valid 
with length <2000 characters. For example: 'https://container.googleapis.com/v1/projects/my-project/locations/us-west1/clusters/my-cluster' (must be 'locations' rather than 'zones'). If the cluster is provisioned with Terraform, this is '"https://container.googleapis.com/v1/${google_container_cluster.my-cluster.id}"'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#issuer GkeHubMembership#issuer}

---

### GkeHubMembershipConfig <a name="GkeHubMembershipConfig" id="@dschmidt/provider-google.GkeHubMembershipConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipConfig.Initializer"></a>

```typescript
import { GkeHubMembershipConfig } from '@dschmidt/provider-google'

const gkeHubMembershipConfig: GkeHubMembershipConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.membershipId">membershipId</a></code> | <code>string</code> | The client-provided identifier of the membership. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.authority">authority</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipAuthority">GkeHubMembershipAuthority</a></code> | authority block. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.endpoint">endpoint</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipEndpoint">GkeHubMembershipEndpoint</a></code> | endpoint block. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#id GkeHubMembership#id}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels to apply to this membership. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#project GkeHubMembership#project}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipTimeouts">GkeHubMembershipTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `membershipId`<sup>Required</sup> <a name="membershipId" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.membershipId"></a>

```typescript
public readonly membershipId: string;
```

- *Type:* string

The client-provided identifier of the membership.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#membership_id GkeHubMembership#membership_id}

---

##### `authority`<sup>Optional</sup> <a name="authority" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.authority"></a>

```typescript
public readonly authority: GkeHubMembershipAuthority;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipAuthority">GkeHubMembershipAuthority</a>

authority block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#authority GkeHubMembership#authority}

---

##### `endpoint`<sup>Optional</sup> <a name="endpoint" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.endpoint"></a>

```typescript
public readonly endpoint: GkeHubMembershipEndpoint;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipEndpoint">GkeHubMembershipEndpoint</a>

endpoint block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#endpoint GkeHubMembership#endpoint}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#id GkeHubMembership#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to apply to this membership.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#labels GkeHubMembership#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#project GkeHubMembership#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.GkeHubMembershipConfig.property.timeouts"></a>

```typescript
public readonly timeouts: GkeHubMembershipTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipTimeouts">GkeHubMembershipTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#timeouts GkeHubMembership#timeouts}

---

### GkeHubMembershipEndpoint <a name="GkeHubMembershipEndpoint" id="@dschmidt/provider-google.GkeHubMembershipEndpoint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipEndpoint.Initializer"></a>

```typescript
import { GkeHubMembershipEndpoint } from '@dschmidt/provider-google'

const gkeHubMembershipEndpoint: GkeHubMembershipEndpoint = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipEndpoint.property.gkeCluster">gkeCluster</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipEndpointGkeCluster">GkeHubMembershipEndpointGkeCluster</a></code> | gke_cluster block. |

---

##### `gkeCluster`<sup>Optional</sup> <a name="gkeCluster" id="@dschmidt/provider-google.GkeHubMembershipEndpoint.property.gkeCluster"></a>

```typescript
public readonly gkeCluster: GkeHubMembershipEndpointGkeCluster;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipEndpointGkeCluster">GkeHubMembershipEndpointGkeCluster</a>

gke_cluster block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#gke_cluster GkeHubMembership#gke_cluster}

---

### GkeHubMembershipEndpointGkeCluster <a name="GkeHubMembershipEndpointGkeCluster" id="@dschmidt/provider-google.GkeHubMembershipEndpointGkeCluster"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipEndpointGkeCluster.Initializer"></a>

```typescript
import { GkeHubMembershipEndpointGkeCluster } from '@dschmidt/provider-google'

const gkeHubMembershipEndpointGkeCluster: GkeHubMembershipEndpointGkeCluster = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipEndpointGkeCluster.property.resourceLink">resourceLink</a></code> | <code>string</code> | Self-link of the GCP resource for the GKE cluster. |

---

##### `resourceLink`<sup>Required</sup> <a name="resourceLink" id="@dschmidt/provider-google.GkeHubMembershipEndpointGkeCluster.property.resourceLink"></a>

```typescript
public readonly resourceLink: string;
```

- *Type:* string

Self-link of the GCP resource for the GKE cluster.

For example: '//container.googleapis.com/projects/my-project/zones/us-west1-a/clusters/my-cluster'.
It can be at the most 1000 characters in length. If the cluster is provisioned with Terraform,
this can be '"//container.googleapis.com/${google_container_cluster.my-cluster.id}"' or
'google_container_cluster.my-cluster.id'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#resource_link GkeHubMembership#resource_link}

---

### GkeHubMembershipIamBindingCondition <a name="GkeHubMembershipIamBindingCondition" id="@dschmidt/provider-google.GkeHubMembershipIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipIamBindingCondition.Initializer"></a>

```typescript
import { GkeHubMembershipIamBindingCondition } from '@dschmidt/provider-google'

const gkeHubMembershipIamBindingCondition: GkeHubMembershipIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#expression GkeHubMembershipIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#title GkeHubMembershipIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#description GkeHubMembershipIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.GkeHubMembershipIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#expression GkeHubMembershipIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.GkeHubMembershipIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#title GkeHubMembershipIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.GkeHubMembershipIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#description GkeHubMembershipIamBinding#description}.

---

### GkeHubMembershipIamBindingConfig <a name="GkeHubMembershipIamBindingConfig" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.Initializer"></a>

```typescript
import { GkeHubMembershipIamBindingConfig } from '@dschmidt/provider-google'

const gkeHubMembershipIamBindingConfig: GkeHubMembershipIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#members GkeHubMembershipIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.membershipId">membershipId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#membership_id GkeHubMembershipIamBinding#membership_id}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#role GkeHubMembershipIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingCondition">GkeHubMembershipIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#id GkeHubMembershipIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#project GkeHubMembershipIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#members GkeHubMembershipIamBinding#members}.

---

##### `membershipId`<sup>Required</sup> <a name="membershipId" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.membershipId"></a>

```typescript
public readonly membershipId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#membership_id GkeHubMembershipIamBinding#membership_id}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#role GkeHubMembershipIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: GkeHubMembershipIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamBindingCondition">GkeHubMembershipIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#condition GkeHubMembershipIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#id GkeHubMembershipIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GkeHubMembershipIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_binding#project GkeHubMembershipIamBinding#project}.

---

### GkeHubMembershipIamMemberCondition <a name="GkeHubMembershipIamMemberCondition" id="@dschmidt/provider-google.GkeHubMembershipIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipIamMemberCondition.Initializer"></a>

```typescript
import { GkeHubMembershipIamMemberCondition } from '@dschmidt/provider-google'

const gkeHubMembershipIamMemberCondition: GkeHubMembershipIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#expression GkeHubMembershipIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#title GkeHubMembershipIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#description GkeHubMembershipIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.GkeHubMembershipIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#expression GkeHubMembershipIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.GkeHubMembershipIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#title GkeHubMembershipIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.GkeHubMembershipIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#description GkeHubMembershipIamMember#description}.

---

### GkeHubMembershipIamMemberConfig <a name="GkeHubMembershipIamMemberConfig" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.Initializer"></a>

```typescript
import { GkeHubMembershipIamMemberConfig } from '@dschmidt/provider-google'

const gkeHubMembershipIamMemberConfig: GkeHubMembershipIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#member GkeHubMembershipIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.membershipId">membershipId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#membership_id GkeHubMembershipIamMember#membership_id}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#role GkeHubMembershipIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberCondition">GkeHubMembershipIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#id GkeHubMembershipIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#project GkeHubMembershipIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#member GkeHubMembershipIamMember#member}.

---

##### `membershipId`<sup>Required</sup> <a name="membershipId" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.membershipId"></a>

```typescript
public readonly membershipId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#membership_id GkeHubMembershipIamMember#membership_id}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#role GkeHubMembershipIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: GkeHubMembershipIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.GkeHubMembershipIamMemberCondition">GkeHubMembershipIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#condition GkeHubMembershipIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#id GkeHubMembershipIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GkeHubMembershipIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_member#project GkeHubMembershipIamMember#project}.

---

### GkeHubMembershipIamPolicyConfig <a name="GkeHubMembershipIamPolicyConfig" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.Initializer"></a>

```typescript
import { GkeHubMembershipIamPolicyConfig } from '@dschmidt/provider-google'

const gkeHubMembershipIamPolicyConfig: GkeHubMembershipIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.membershipId">membershipId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_policy#membership_id GkeHubMembershipIamPolicy#membership_id}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_policy#policy_data GkeHubMembershipIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_policy#id GkeHubMembershipIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_policy#project GkeHubMembershipIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `membershipId`<sup>Required</sup> <a name="membershipId" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.membershipId"></a>

```typescript
public readonly membershipId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_policy#membership_id GkeHubMembershipIamPolicy#membership_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_policy#policy_data GkeHubMembershipIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_policy#id GkeHubMembershipIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GkeHubMembershipIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership_iam_policy#project GkeHubMembershipIamPolicy#project}.

---

### GkeHubMembershipTimeouts <a name="GkeHubMembershipTimeouts" id="@dschmidt/provider-google.GkeHubMembershipTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GkeHubMembershipTimeouts.Initializer"></a>

```typescript
import { GkeHubMembershipTimeouts } from '@dschmidt/provider-google'

const gkeHubMembershipTimeouts: GkeHubMembershipTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#create GkeHubMembership#create}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#delete GkeHubMembership#delete}. |
| <code><a href="#@dschmidt/provider-google.GkeHubMembershipTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#update GkeHubMembership#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.GkeHubMembershipTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#create GkeHubMembership#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.GkeHubMembershipTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#delete GkeHubMembership#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.GkeHubMembershipTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/gke_hub_membership#update GkeHubMembership#update}.

---

### GoogleProviderBatching <a name="GoogleProviderBatching" id="@dschmidt/provider-google.GoogleProviderBatching"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GoogleProviderBatching.Initializer"></a>

```typescript
import { GoogleProviderBatching } from '@dschmidt/provider-google'

const googleProviderBatching: GoogleProviderBatching = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GoogleProviderBatching.property.enableBatching">enableBatching</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#enable_batching GoogleProvider#enable_batching}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderBatching.property.sendAfter">sendAfter</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#send_after GoogleProvider#send_after}. |

---

##### `enableBatching`<sup>Optional</sup> <a name="enableBatching" id="@dschmidt/provider-google.GoogleProviderBatching.property.enableBatching"></a>

```typescript
public readonly enableBatching: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#enable_batching GoogleProvider#enable_batching}.

---

##### `sendAfter`<sup>Optional</sup> <a name="sendAfter" id="@dschmidt/provider-google.GoogleProviderBatching.property.sendAfter"></a>

```typescript
public readonly sendAfter: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#send_after GoogleProvider#send_after}.

---

### GoogleProviderConfig <a name="GoogleProviderConfig" id="@dschmidt/provider-google.GoogleProviderConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.GoogleProviderConfig.Initializer"></a>

```typescript
import { GoogleProviderConfig } from '@dschmidt/provider-google'

const googleProviderConfig: GoogleProviderConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.accessApprovalCustomEndpoint">accessApprovalCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#access_approval_custom_endpoint GoogleProvider#access_approval_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.accessContextManagerCustomEndpoint">accessContextManagerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#access_context_manager_custom_endpoint GoogleProvider#access_context_manager_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.accessToken">accessToken</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#access_token GoogleProvider#access_token}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.activeDirectoryCustomEndpoint">activeDirectoryCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#active_directory_custom_endpoint GoogleProvider#active_directory_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.alias">alias</a></code> | <code>string</code> | Alias name. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.apigeeCustomEndpoint">apigeeCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#apigee_custom_endpoint GoogleProvider#apigee_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.apikeysCustomEndpoint">apikeysCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#apikeys_custom_endpoint GoogleProvider#apikeys_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.appEngineCustomEndpoint">appEngineCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#app_engine_custom_endpoint GoogleProvider#app_engine_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.artifactRegistryCustomEndpoint">artifactRegistryCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#artifact_registry_custom_endpoint GoogleProvider#artifact_registry_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.assuredWorkloadsCustomEndpoint">assuredWorkloadsCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#assured_workloads_custom_endpoint GoogleProvider#assured_workloads_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.batching">batching</a></code> | <code><a href="#@dschmidt/provider-google.GoogleProviderBatching">GoogleProviderBatching</a></code> | batching block. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.bigqueryConnectionCustomEndpoint">bigqueryConnectionCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#bigquery_connection_custom_endpoint GoogleProvider#bigquery_connection_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.bigQueryCustomEndpoint">bigQueryCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#big_query_custom_endpoint GoogleProvider#big_query_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.bigqueryDataTransferCustomEndpoint">bigqueryDataTransferCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#bigquery_data_transfer_custom_endpoint GoogleProvider#bigquery_data_transfer_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.bigqueryReservationCustomEndpoint">bigqueryReservationCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#bigquery_reservation_custom_endpoint GoogleProvider#bigquery_reservation_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.bigtableCustomEndpoint">bigtableCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#bigtable_custom_endpoint GoogleProvider#bigtable_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.billingCustomEndpoint">billingCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#billing_custom_endpoint GoogleProvider#billing_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.billingProject">billingProject</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#billing_project GoogleProvider#billing_project}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.binaryAuthorizationCustomEndpoint">binaryAuthorizationCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#binary_authorization_custom_endpoint GoogleProvider#binary_authorization_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.certificateManagerCustomEndpoint">certificateManagerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#certificate_manager_custom_endpoint GoogleProvider#certificate_manager_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudAssetCustomEndpoint">cloudAssetCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_asset_custom_endpoint GoogleProvider#cloud_asset_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudBillingCustomEndpoint">cloudBillingCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_billing_custom_endpoint GoogleProvider#cloud_billing_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudBuildCustomEndpoint">cloudBuildCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_build_custom_endpoint GoogleProvider#cloud_build_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudBuildWorkerPoolCustomEndpoint">cloudBuildWorkerPoolCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_build_worker_pool_custom_endpoint GoogleProvider#cloud_build_worker_pool_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.clouddeployCustomEndpoint">clouddeployCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#clouddeploy_custom_endpoint GoogleProvider#clouddeploy_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudfunctions2CustomEndpoint">cloudfunctions2CustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloudfunctions2_custom_endpoint GoogleProvider#cloudfunctions2_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudFunctionsCustomEndpoint">cloudFunctionsCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_functions_custom_endpoint GoogleProvider#cloud_functions_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudIdentityCustomEndpoint">cloudIdentityCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_identity_custom_endpoint GoogleProvider#cloud_identity_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudIotCustomEndpoint">cloudIotCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_iot_custom_endpoint GoogleProvider#cloud_iot_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudResourceManagerCustomEndpoint">cloudResourceManagerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_resource_manager_custom_endpoint GoogleProvider#cloud_resource_manager_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudRunCustomEndpoint">cloudRunCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_run_custom_endpoint GoogleProvider#cloud_run_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudSchedulerCustomEndpoint">cloudSchedulerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_scheduler_custom_endpoint GoogleProvider#cloud_scheduler_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.cloudTasksCustomEndpoint">cloudTasksCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_tasks_custom_endpoint GoogleProvider#cloud_tasks_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.composerCustomEndpoint">composerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#composer_custom_endpoint GoogleProvider#composer_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.computeCustomEndpoint">computeCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#compute_custom_endpoint GoogleProvider#compute_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.containerAnalysisCustomEndpoint">containerAnalysisCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#container_analysis_custom_endpoint GoogleProvider#container_analysis_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.containerAwsCustomEndpoint">containerAwsCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#container_aws_custom_endpoint GoogleProvider#container_aws_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.containerAzureCustomEndpoint">containerAzureCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#container_azure_custom_endpoint GoogleProvider#container_azure_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.containerCustomEndpoint">containerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#container_custom_endpoint GoogleProvider#container_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.credentials">credentials</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#credentials GoogleProvider#credentials}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dataCatalogCustomEndpoint">dataCatalogCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#data_catalog_custom_endpoint GoogleProvider#data_catalog_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dataflowCustomEndpoint">dataflowCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dataflow_custom_endpoint GoogleProvider#dataflow_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dataFusionCustomEndpoint">dataFusionCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#data_fusion_custom_endpoint GoogleProvider#data_fusion_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dataLossPreventionCustomEndpoint">dataLossPreventionCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#data_loss_prevention_custom_endpoint GoogleProvider#data_loss_prevention_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dataplexCustomEndpoint">dataplexCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dataplex_custom_endpoint GoogleProvider#dataplex_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dataprocCustomEndpoint">dataprocCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dataproc_custom_endpoint GoogleProvider#dataproc_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dataprocMetastoreCustomEndpoint">dataprocMetastoreCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dataproc_metastore_custom_endpoint GoogleProvider#dataproc_metastore_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.datastoreCustomEndpoint">datastoreCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#datastore_custom_endpoint GoogleProvider#datastore_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.deploymentManagerCustomEndpoint">deploymentManagerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#deployment_manager_custom_endpoint GoogleProvider#deployment_manager_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dialogflowCustomEndpoint">dialogflowCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dialogflow_custom_endpoint GoogleProvider#dialogflow_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dialogflowCxCustomEndpoint">dialogflowCxCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dialogflow_cx_custom_endpoint GoogleProvider#dialogflow_cx_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.dnsCustomEndpoint">dnsCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dns_custom_endpoint GoogleProvider#dns_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.documentAiCustomEndpoint">documentAiCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#document_ai_custom_endpoint GoogleProvider#document_ai_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.essentialContactsCustomEndpoint">essentialContactsCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#essential_contacts_custom_endpoint GoogleProvider#essential_contacts_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.eventarcCustomEndpoint">eventarcCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#eventarc_custom_endpoint GoogleProvider#eventarc_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.filestoreCustomEndpoint">filestoreCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#filestore_custom_endpoint GoogleProvider#filestore_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.firebaserulesCustomEndpoint">firebaserulesCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#firebaserules_custom_endpoint GoogleProvider#firebaserules_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.firestoreCustomEndpoint">firestoreCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#firestore_custom_endpoint GoogleProvider#firestore_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.gameServicesCustomEndpoint">gameServicesCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#game_services_custom_endpoint GoogleProvider#game_services_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.gkeHubCustomEndpoint">gkeHubCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#gke_hub_custom_endpoint GoogleProvider#gke_hub_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.healthcareCustomEndpoint">healthcareCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#healthcare_custom_endpoint GoogleProvider#healthcare_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.iamBetaCustomEndpoint">iamBetaCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#iam_beta_custom_endpoint GoogleProvider#iam_beta_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.iamCredentialsCustomEndpoint">iamCredentialsCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#iam_credentials_custom_endpoint GoogleProvider#iam_credentials_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.iamCustomEndpoint">iamCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#iam_custom_endpoint GoogleProvider#iam_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.iapCustomEndpoint">iapCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#iap_custom_endpoint GoogleProvider#iap_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.identityPlatformCustomEndpoint">identityPlatformCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#identity_platform_custom_endpoint GoogleProvider#identity_platform_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.impersonateServiceAccount">impersonateServiceAccount</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#impersonate_service_account GoogleProvider#impersonate_service_account}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.impersonateServiceAccountDelegates">impersonateServiceAccountDelegates</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#impersonate_service_account_delegates GoogleProvider#impersonate_service_account_delegates}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.kmsCustomEndpoint">kmsCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#kms_custom_endpoint GoogleProvider#kms_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.loggingCustomEndpoint">loggingCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#logging_custom_endpoint GoogleProvider#logging_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.memcacheCustomEndpoint">memcacheCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#memcache_custom_endpoint GoogleProvider#memcache_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.mlEngineCustomEndpoint">mlEngineCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#ml_engine_custom_endpoint GoogleProvider#ml_engine_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.monitoringCustomEndpoint">monitoringCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#monitoring_custom_endpoint GoogleProvider#monitoring_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.networkConnectivityCustomEndpoint">networkConnectivityCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#network_connectivity_custom_endpoint GoogleProvider#network_connectivity_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.networkManagementCustomEndpoint">networkManagementCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#network_management_custom_endpoint GoogleProvider#network_management_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.networkServicesCustomEndpoint">networkServicesCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#network_services_custom_endpoint GoogleProvider#network_services_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.notebooksCustomEndpoint">notebooksCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#notebooks_custom_endpoint GoogleProvider#notebooks_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.orgPolicyCustomEndpoint">orgPolicyCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#org_policy_custom_endpoint GoogleProvider#org_policy_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.osConfigCustomEndpoint">osConfigCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#os_config_custom_endpoint GoogleProvider#os_config_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.osLoginCustomEndpoint">osLoginCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#os_login_custom_endpoint GoogleProvider#os_login_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.privatecaCustomEndpoint">privatecaCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#privateca_custom_endpoint GoogleProvider#privateca_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#project GoogleProvider#project}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.pubsubCustomEndpoint">pubsubCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#pubsub_custom_endpoint GoogleProvider#pubsub_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.pubsubLiteCustomEndpoint">pubsubLiteCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#pubsub_lite_custom_endpoint GoogleProvider#pubsub_lite_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.recaptchaEnterpriseCustomEndpoint">recaptchaEnterpriseCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#recaptcha_enterprise_custom_endpoint GoogleProvider#recaptcha_enterprise_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.redisCustomEndpoint">redisCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#redis_custom_endpoint GoogleProvider#redis_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.region">region</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#region GoogleProvider#region}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.requestReason">requestReason</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#request_reason GoogleProvider#request_reason}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.requestTimeout">requestTimeout</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#request_timeout GoogleProvider#request_timeout}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.resourceManagerCustomEndpoint">resourceManagerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#resource_manager_custom_endpoint GoogleProvider#resource_manager_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.resourceManagerV3CustomEndpoint">resourceManagerV3CustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#resource_manager_v3_custom_endpoint GoogleProvider#resource_manager_v3_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.scopes">scopes</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#scopes GoogleProvider#scopes}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.secretManagerCustomEndpoint">secretManagerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#secret_manager_custom_endpoint GoogleProvider#secret_manager_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.securityCenterCustomEndpoint">securityCenterCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#security_center_custom_endpoint GoogleProvider#security_center_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.serviceManagementCustomEndpoint">serviceManagementCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#service_management_custom_endpoint GoogleProvider#service_management_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.serviceNetworkingCustomEndpoint">serviceNetworkingCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#service_networking_custom_endpoint GoogleProvider#service_networking_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.serviceUsageCustomEndpoint">serviceUsageCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#service_usage_custom_endpoint GoogleProvider#service_usage_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.sourceRepoCustomEndpoint">sourceRepoCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#source_repo_custom_endpoint GoogleProvider#source_repo_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.spannerCustomEndpoint">spannerCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#spanner_custom_endpoint GoogleProvider#spanner_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.sqlCustomEndpoint">sqlCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#sql_custom_endpoint GoogleProvider#sql_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.storageCustomEndpoint">storageCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#storage_custom_endpoint GoogleProvider#storage_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.storageTransferCustomEndpoint">storageTransferCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#storage_transfer_custom_endpoint GoogleProvider#storage_transfer_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.tagsCustomEndpoint">tagsCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#tags_custom_endpoint GoogleProvider#tags_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.tpuCustomEndpoint">tpuCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#tpu_custom_endpoint GoogleProvider#tpu_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.userProjectOverride">userProjectOverride</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#user_project_override GoogleProvider#user_project_override}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.vertexAiCustomEndpoint">vertexAiCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#vertex_ai_custom_endpoint GoogleProvider#vertex_ai_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.vpcAccessCustomEndpoint">vpcAccessCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#vpc_access_custom_endpoint GoogleProvider#vpc_access_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.workflowsCustomEndpoint">workflowsCustomEndpoint</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#workflows_custom_endpoint GoogleProvider#workflows_custom_endpoint}. |
| <code><a href="#@dschmidt/provider-google.GoogleProviderConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#zone GoogleProvider#zone}. |

---

##### `accessApprovalCustomEndpoint`<sup>Optional</sup> <a name="accessApprovalCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.accessApprovalCustomEndpoint"></a>

```typescript
public readonly accessApprovalCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#access_approval_custom_endpoint GoogleProvider#access_approval_custom_endpoint}.

---

##### `accessContextManagerCustomEndpoint`<sup>Optional</sup> <a name="accessContextManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.accessContextManagerCustomEndpoint"></a>

```typescript
public readonly accessContextManagerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#access_context_manager_custom_endpoint GoogleProvider#access_context_manager_custom_endpoint}.

---

##### `accessToken`<sup>Optional</sup> <a name="accessToken" id="@dschmidt/provider-google.GoogleProviderConfig.property.accessToken"></a>

```typescript
public readonly accessToken: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#access_token GoogleProvider#access_token}.

---

##### `activeDirectoryCustomEndpoint`<sup>Optional</sup> <a name="activeDirectoryCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.activeDirectoryCustomEndpoint"></a>

```typescript
public readonly activeDirectoryCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#active_directory_custom_endpoint GoogleProvider#active_directory_custom_endpoint}.

---

##### `alias`<sup>Optional</sup> <a name="alias" id="@dschmidt/provider-google.GoogleProviderConfig.property.alias"></a>

```typescript
public readonly alias: string;
```

- *Type:* string

Alias name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#alias GoogleProvider#alias}

---

##### `apigeeCustomEndpoint`<sup>Optional</sup> <a name="apigeeCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.apigeeCustomEndpoint"></a>

```typescript
public readonly apigeeCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#apigee_custom_endpoint GoogleProvider#apigee_custom_endpoint}.

---

##### `apikeysCustomEndpoint`<sup>Optional</sup> <a name="apikeysCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.apikeysCustomEndpoint"></a>

```typescript
public readonly apikeysCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#apikeys_custom_endpoint GoogleProvider#apikeys_custom_endpoint}.

---

##### `appEngineCustomEndpoint`<sup>Optional</sup> <a name="appEngineCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.appEngineCustomEndpoint"></a>

```typescript
public readonly appEngineCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#app_engine_custom_endpoint GoogleProvider#app_engine_custom_endpoint}.

---

##### `artifactRegistryCustomEndpoint`<sup>Optional</sup> <a name="artifactRegistryCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.artifactRegistryCustomEndpoint"></a>

```typescript
public readonly artifactRegistryCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#artifact_registry_custom_endpoint GoogleProvider#artifact_registry_custom_endpoint}.

---

##### `assuredWorkloadsCustomEndpoint`<sup>Optional</sup> <a name="assuredWorkloadsCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.assuredWorkloadsCustomEndpoint"></a>

```typescript
public readonly assuredWorkloadsCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#assured_workloads_custom_endpoint GoogleProvider#assured_workloads_custom_endpoint}.

---

##### `batching`<sup>Optional</sup> <a name="batching" id="@dschmidt/provider-google.GoogleProviderConfig.property.batching"></a>

```typescript
public readonly batching: GoogleProviderBatching;
```

- *Type:* <a href="#@dschmidt/provider-google.GoogleProviderBatching">GoogleProviderBatching</a>

batching block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#batching GoogleProvider#batching}

---

##### `bigqueryConnectionCustomEndpoint`<sup>Optional</sup> <a name="bigqueryConnectionCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.bigqueryConnectionCustomEndpoint"></a>

```typescript
public readonly bigqueryConnectionCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#bigquery_connection_custom_endpoint GoogleProvider#bigquery_connection_custom_endpoint}.

---

##### `bigQueryCustomEndpoint`<sup>Optional</sup> <a name="bigQueryCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.bigQueryCustomEndpoint"></a>

```typescript
public readonly bigQueryCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#big_query_custom_endpoint GoogleProvider#big_query_custom_endpoint}.

---

##### `bigqueryDataTransferCustomEndpoint`<sup>Optional</sup> <a name="bigqueryDataTransferCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.bigqueryDataTransferCustomEndpoint"></a>

```typescript
public readonly bigqueryDataTransferCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#bigquery_data_transfer_custom_endpoint GoogleProvider#bigquery_data_transfer_custom_endpoint}.

---

##### `bigqueryReservationCustomEndpoint`<sup>Optional</sup> <a name="bigqueryReservationCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.bigqueryReservationCustomEndpoint"></a>

```typescript
public readonly bigqueryReservationCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#bigquery_reservation_custom_endpoint GoogleProvider#bigquery_reservation_custom_endpoint}.

---

##### `bigtableCustomEndpoint`<sup>Optional</sup> <a name="bigtableCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.bigtableCustomEndpoint"></a>

```typescript
public readonly bigtableCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#bigtable_custom_endpoint GoogleProvider#bigtable_custom_endpoint}.

---

##### `billingCustomEndpoint`<sup>Optional</sup> <a name="billingCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.billingCustomEndpoint"></a>

```typescript
public readonly billingCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#billing_custom_endpoint GoogleProvider#billing_custom_endpoint}.

---

##### `billingProject`<sup>Optional</sup> <a name="billingProject" id="@dschmidt/provider-google.GoogleProviderConfig.property.billingProject"></a>

```typescript
public readonly billingProject: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#billing_project GoogleProvider#billing_project}.

---

##### `binaryAuthorizationCustomEndpoint`<sup>Optional</sup> <a name="binaryAuthorizationCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.binaryAuthorizationCustomEndpoint"></a>

```typescript
public readonly binaryAuthorizationCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#binary_authorization_custom_endpoint GoogleProvider#binary_authorization_custom_endpoint}.

---

##### `certificateManagerCustomEndpoint`<sup>Optional</sup> <a name="certificateManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.certificateManagerCustomEndpoint"></a>

```typescript
public readonly certificateManagerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#certificate_manager_custom_endpoint GoogleProvider#certificate_manager_custom_endpoint}.

---

##### `cloudAssetCustomEndpoint`<sup>Optional</sup> <a name="cloudAssetCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudAssetCustomEndpoint"></a>

```typescript
public readonly cloudAssetCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_asset_custom_endpoint GoogleProvider#cloud_asset_custom_endpoint}.

---

##### `cloudBillingCustomEndpoint`<sup>Optional</sup> <a name="cloudBillingCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudBillingCustomEndpoint"></a>

```typescript
public readonly cloudBillingCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_billing_custom_endpoint GoogleProvider#cloud_billing_custom_endpoint}.

---

##### `cloudBuildCustomEndpoint`<sup>Optional</sup> <a name="cloudBuildCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudBuildCustomEndpoint"></a>

```typescript
public readonly cloudBuildCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_build_custom_endpoint GoogleProvider#cloud_build_custom_endpoint}.

---

##### `cloudBuildWorkerPoolCustomEndpoint`<sup>Optional</sup> <a name="cloudBuildWorkerPoolCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudBuildWorkerPoolCustomEndpoint"></a>

```typescript
public readonly cloudBuildWorkerPoolCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_build_worker_pool_custom_endpoint GoogleProvider#cloud_build_worker_pool_custom_endpoint}.

---

##### `clouddeployCustomEndpoint`<sup>Optional</sup> <a name="clouddeployCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.clouddeployCustomEndpoint"></a>

```typescript
public readonly clouddeployCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#clouddeploy_custom_endpoint GoogleProvider#clouddeploy_custom_endpoint}.

---

##### `cloudfunctions2CustomEndpoint`<sup>Optional</sup> <a name="cloudfunctions2CustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudfunctions2CustomEndpoint"></a>

```typescript
public readonly cloudfunctions2CustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloudfunctions2_custom_endpoint GoogleProvider#cloudfunctions2_custom_endpoint}.

---

##### `cloudFunctionsCustomEndpoint`<sup>Optional</sup> <a name="cloudFunctionsCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudFunctionsCustomEndpoint"></a>

```typescript
public readonly cloudFunctionsCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_functions_custom_endpoint GoogleProvider#cloud_functions_custom_endpoint}.

---

##### `cloudIdentityCustomEndpoint`<sup>Optional</sup> <a name="cloudIdentityCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudIdentityCustomEndpoint"></a>

```typescript
public readonly cloudIdentityCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_identity_custom_endpoint GoogleProvider#cloud_identity_custom_endpoint}.

---

##### `cloudIotCustomEndpoint`<sup>Optional</sup> <a name="cloudIotCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudIotCustomEndpoint"></a>

```typescript
public readonly cloudIotCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_iot_custom_endpoint GoogleProvider#cloud_iot_custom_endpoint}.

---

##### `cloudResourceManagerCustomEndpoint`<sup>Optional</sup> <a name="cloudResourceManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudResourceManagerCustomEndpoint"></a>

```typescript
public readonly cloudResourceManagerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_resource_manager_custom_endpoint GoogleProvider#cloud_resource_manager_custom_endpoint}.

---

##### `cloudRunCustomEndpoint`<sup>Optional</sup> <a name="cloudRunCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudRunCustomEndpoint"></a>

```typescript
public readonly cloudRunCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_run_custom_endpoint GoogleProvider#cloud_run_custom_endpoint}.

---

##### `cloudSchedulerCustomEndpoint`<sup>Optional</sup> <a name="cloudSchedulerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudSchedulerCustomEndpoint"></a>

```typescript
public readonly cloudSchedulerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_scheduler_custom_endpoint GoogleProvider#cloud_scheduler_custom_endpoint}.

---

##### `cloudTasksCustomEndpoint`<sup>Optional</sup> <a name="cloudTasksCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.cloudTasksCustomEndpoint"></a>

```typescript
public readonly cloudTasksCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#cloud_tasks_custom_endpoint GoogleProvider#cloud_tasks_custom_endpoint}.

---

##### `composerCustomEndpoint`<sup>Optional</sup> <a name="composerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.composerCustomEndpoint"></a>

```typescript
public readonly composerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#composer_custom_endpoint GoogleProvider#composer_custom_endpoint}.

---

##### `computeCustomEndpoint`<sup>Optional</sup> <a name="computeCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.computeCustomEndpoint"></a>

```typescript
public readonly computeCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#compute_custom_endpoint GoogleProvider#compute_custom_endpoint}.

---

##### `containerAnalysisCustomEndpoint`<sup>Optional</sup> <a name="containerAnalysisCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.containerAnalysisCustomEndpoint"></a>

```typescript
public readonly containerAnalysisCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#container_analysis_custom_endpoint GoogleProvider#container_analysis_custom_endpoint}.

---

##### `containerAwsCustomEndpoint`<sup>Optional</sup> <a name="containerAwsCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.containerAwsCustomEndpoint"></a>

```typescript
public readonly containerAwsCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#container_aws_custom_endpoint GoogleProvider#container_aws_custom_endpoint}.

---

##### `containerAzureCustomEndpoint`<sup>Optional</sup> <a name="containerAzureCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.containerAzureCustomEndpoint"></a>

```typescript
public readonly containerAzureCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#container_azure_custom_endpoint GoogleProvider#container_azure_custom_endpoint}.

---

##### `containerCustomEndpoint`<sup>Optional</sup> <a name="containerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.containerCustomEndpoint"></a>

```typescript
public readonly containerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#container_custom_endpoint GoogleProvider#container_custom_endpoint}.

---

##### `credentials`<sup>Optional</sup> <a name="credentials" id="@dschmidt/provider-google.GoogleProviderConfig.property.credentials"></a>

```typescript
public readonly credentials: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#credentials GoogleProvider#credentials}.

---

##### `dataCatalogCustomEndpoint`<sup>Optional</sup> <a name="dataCatalogCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dataCatalogCustomEndpoint"></a>

```typescript
public readonly dataCatalogCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#data_catalog_custom_endpoint GoogleProvider#data_catalog_custom_endpoint}.

---

##### `dataflowCustomEndpoint`<sup>Optional</sup> <a name="dataflowCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dataflowCustomEndpoint"></a>

```typescript
public readonly dataflowCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dataflow_custom_endpoint GoogleProvider#dataflow_custom_endpoint}.

---

##### `dataFusionCustomEndpoint`<sup>Optional</sup> <a name="dataFusionCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dataFusionCustomEndpoint"></a>

```typescript
public readonly dataFusionCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#data_fusion_custom_endpoint GoogleProvider#data_fusion_custom_endpoint}.

---

##### `dataLossPreventionCustomEndpoint`<sup>Optional</sup> <a name="dataLossPreventionCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dataLossPreventionCustomEndpoint"></a>

```typescript
public readonly dataLossPreventionCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#data_loss_prevention_custom_endpoint GoogleProvider#data_loss_prevention_custom_endpoint}.

---

##### `dataplexCustomEndpoint`<sup>Optional</sup> <a name="dataplexCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dataplexCustomEndpoint"></a>

```typescript
public readonly dataplexCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dataplex_custom_endpoint GoogleProvider#dataplex_custom_endpoint}.

---

##### `dataprocCustomEndpoint`<sup>Optional</sup> <a name="dataprocCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dataprocCustomEndpoint"></a>

```typescript
public readonly dataprocCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dataproc_custom_endpoint GoogleProvider#dataproc_custom_endpoint}.

---

##### `dataprocMetastoreCustomEndpoint`<sup>Optional</sup> <a name="dataprocMetastoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dataprocMetastoreCustomEndpoint"></a>

```typescript
public readonly dataprocMetastoreCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dataproc_metastore_custom_endpoint GoogleProvider#dataproc_metastore_custom_endpoint}.

---

##### `datastoreCustomEndpoint`<sup>Optional</sup> <a name="datastoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.datastoreCustomEndpoint"></a>

```typescript
public readonly datastoreCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#datastore_custom_endpoint GoogleProvider#datastore_custom_endpoint}.

---

##### `deploymentManagerCustomEndpoint`<sup>Optional</sup> <a name="deploymentManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.deploymentManagerCustomEndpoint"></a>

```typescript
public readonly deploymentManagerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#deployment_manager_custom_endpoint GoogleProvider#deployment_manager_custom_endpoint}.

---

##### `dialogflowCustomEndpoint`<sup>Optional</sup> <a name="dialogflowCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dialogflowCustomEndpoint"></a>

```typescript
public readonly dialogflowCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dialogflow_custom_endpoint GoogleProvider#dialogflow_custom_endpoint}.

---

##### `dialogflowCxCustomEndpoint`<sup>Optional</sup> <a name="dialogflowCxCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dialogflowCxCustomEndpoint"></a>

```typescript
public readonly dialogflowCxCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dialogflow_cx_custom_endpoint GoogleProvider#dialogflow_cx_custom_endpoint}.

---

##### `dnsCustomEndpoint`<sup>Optional</sup> <a name="dnsCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.dnsCustomEndpoint"></a>

```typescript
public readonly dnsCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#dns_custom_endpoint GoogleProvider#dns_custom_endpoint}.

---

##### `documentAiCustomEndpoint`<sup>Optional</sup> <a name="documentAiCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.documentAiCustomEndpoint"></a>

```typescript
public readonly documentAiCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#document_ai_custom_endpoint GoogleProvider#document_ai_custom_endpoint}.

---

##### `essentialContactsCustomEndpoint`<sup>Optional</sup> <a name="essentialContactsCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.essentialContactsCustomEndpoint"></a>

```typescript
public readonly essentialContactsCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#essential_contacts_custom_endpoint GoogleProvider#essential_contacts_custom_endpoint}.

---

##### `eventarcCustomEndpoint`<sup>Optional</sup> <a name="eventarcCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.eventarcCustomEndpoint"></a>

```typescript
public readonly eventarcCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#eventarc_custom_endpoint GoogleProvider#eventarc_custom_endpoint}.

---

##### `filestoreCustomEndpoint`<sup>Optional</sup> <a name="filestoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.filestoreCustomEndpoint"></a>

```typescript
public readonly filestoreCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#filestore_custom_endpoint GoogleProvider#filestore_custom_endpoint}.

---

##### `firebaserulesCustomEndpoint`<sup>Optional</sup> <a name="firebaserulesCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.firebaserulesCustomEndpoint"></a>

```typescript
public readonly firebaserulesCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#firebaserules_custom_endpoint GoogleProvider#firebaserules_custom_endpoint}.

---

##### `firestoreCustomEndpoint`<sup>Optional</sup> <a name="firestoreCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.firestoreCustomEndpoint"></a>

```typescript
public readonly firestoreCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#firestore_custom_endpoint GoogleProvider#firestore_custom_endpoint}.

---

##### `gameServicesCustomEndpoint`<sup>Optional</sup> <a name="gameServicesCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.gameServicesCustomEndpoint"></a>

```typescript
public readonly gameServicesCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#game_services_custom_endpoint GoogleProvider#game_services_custom_endpoint}.

---

##### `gkeHubCustomEndpoint`<sup>Optional</sup> <a name="gkeHubCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.gkeHubCustomEndpoint"></a>

```typescript
public readonly gkeHubCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#gke_hub_custom_endpoint GoogleProvider#gke_hub_custom_endpoint}.

---

##### `healthcareCustomEndpoint`<sup>Optional</sup> <a name="healthcareCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.healthcareCustomEndpoint"></a>

```typescript
public readonly healthcareCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#healthcare_custom_endpoint GoogleProvider#healthcare_custom_endpoint}.

---

##### `iamBetaCustomEndpoint`<sup>Optional</sup> <a name="iamBetaCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.iamBetaCustomEndpoint"></a>

```typescript
public readonly iamBetaCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#iam_beta_custom_endpoint GoogleProvider#iam_beta_custom_endpoint}.

---

##### `iamCredentialsCustomEndpoint`<sup>Optional</sup> <a name="iamCredentialsCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.iamCredentialsCustomEndpoint"></a>

```typescript
public readonly iamCredentialsCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#iam_credentials_custom_endpoint GoogleProvider#iam_credentials_custom_endpoint}.

---

##### `iamCustomEndpoint`<sup>Optional</sup> <a name="iamCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.iamCustomEndpoint"></a>

```typescript
public readonly iamCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#iam_custom_endpoint GoogleProvider#iam_custom_endpoint}.

---

##### `iapCustomEndpoint`<sup>Optional</sup> <a name="iapCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.iapCustomEndpoint"></a>

```typescript
public readonly iapCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#iap_custom_endpoint GoogleProvider#iap_custom_endpoint}.

---

##### `identityPlatformCustomEndpoint`<sup>Optional</sup> <a name="identityPlatformCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.identityPlatformCustomEndpoint"></a>

```typescript
public readonly identityPlatformCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#identity_platform_custom_endpoint GoogleProvider#identity_platform_custom_endpoint}.

---

##### `impersonateServiceAccount`<sup>Optional</sup> <a name="impersonateServiceAccount" id="@dschmidt/provider-google.GoogleProviderConfig.property.impersonateServiceAccount"></a>

```typescript
public readonly impersonateServiceAccount: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#impersonate_service_account GoogleProvider#impersonate_service_account}.

---

##### `impersonateServiceAccountDelegates`<sup>Optional</sup> <a name="impersonateServiceAccountDelegates" id="@dschmidt/provider-google.GoogleProviderConfig.property.impersonateServiceAccountDelegates"></a>

```typescript
public readonly impersonateServiceAccountDelegates: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#impersonate_service_account_delegates GoogleProvider#impersonate_service_account_delegates}.

---

##### `kmsCustomEndpoint`<sup>Optional</sup> <a name="kmsCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.kmsCustomEndpoint"></a>

```typescript
public readonly kmsCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#kms_custom_endpoint GoogleProvider#kms_custom_endpoint}.

---

##### `loggingCustomEndpoint`<sup>Optional</sup> <a name="loggingCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.loggingCustomEndpoint"></a>

```typescript
public readonly loggingCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#logging_custom_endpoint GoogleProvider#logging_custom_endpoint}.

---

##### `memcacheCustomEndpoint`<sup>Optional</sup> <a name="memcacheCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.memcacheCustomEndpoint"></a>

```typescript
public readonly memcacheCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#memcache_custom_endpoint GoogleProvider#memcache_custom_endpoint}.

---

##### `mlEngineCustomEndpoint`<sup>Optional</sup> <a name="mlEngineCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.mlEngineCustomEndpoint"></a>

```typescript
public readonly mlEngineCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#ml_engine_custom_endpoint GoogleProvider#ml_engine_custom_endpoint}.

---

##### `monitoringCustomEndpoint`<sup>Optional</sup> <a name="monitoringCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.monitoringCustomEndpoint"></a>

```typescript
public readonly monitoringCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#monitoring_custom_endpoint GoogleProvider#monitoring_custom_endpoint}.

---

##### `networkConnectivityCustomEndpoint`<sup>Optional</sup> <a name="networkConnectivityCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.networkConnectivityCustomEndpoint"></a>

```typescript
public readonly networkConnectivityCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#network_connectivity_custom_endpoint GoogleProvider#network_connectivity_custom_endpoint}.

---

##### `networkManagementCustomEndpoint`<sup>Optional</sup> <a name="networkManagementCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.networkManagementCustomEndpoint"></a>

```typescript
public readonly networkManagementCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#network_management_custom_endpoint GoogleProvider#network_management_custom_endpoint}.

---

##### `networkServicesCustomEndpoint`<sup>Optional</sup> <a name="networkServicesCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.networkServicesCustomEndpoint"></a>

```typescript
public readonly networkServicesCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#network_services_custom_endpoint GoogleProvider#network_services_custom_endpoint}.

---

##### `notebooksCustomEndpoint`<sup>Optional</sup> <a name="notebooksCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.notebooksCustomEndpoint"></a>

```typescript
public readonly notebooksCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#notebooks_custom_endpoint GoogleProvider#notebooks_custom_endpoint}.

---

##### `orgPolicyCustomEndpoint`<sup>Optional</sup> <a name="orgPolicyCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.orgPolicyCustomEndpoint"></a>

```typescript
public readonly orgPolicyCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#org_policy_custom_endpoint GoogleProvider#org_policy_custom_endpoint}.

---

##### `osConfigCustomEndpoint`<sup>Optional</sup> <a name="osConfigCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.osConfigCustomEndpoint"></a>

```typescript
public readonly osConfigCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#os_config_custom_endpoint GoogleProvider#os_config_custom_endpoint}.

---

##### `osLoginCustomEndpoint`<sup>Optional</sup> <a name="osLoginCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.osLoginCustomEndpoint"></a>

```typescript
public readonly osLoginCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#os_login_custom_endpoint GoogleProvider#os_login_custom_endpoint}.

---

##### `privatecaCustomEndpoint`<sup>Optional</sup> <a name="privatecaCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.privatecaCustomEndpoint"></a>

```typescript
public readonly privatecaCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#privateca_custom_endpoint GoogleProvider#privateca_custom_endpoint}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.GoogleProviderConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#project GoogleProvider#project}.

---

##### `pubsubCustomEndpoint`<sup>Optional</sup> <a name="pubsubCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.pubsubCustomEndpoint"></a>

```typescript
public readonly pubsubCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#pubsub_custom_endpoint GoogleProvider#pubsub_custom_endpoint}.

---

##### `pubsubLiteCustomEndpoint`<sup>Optional</sup> <a name="pubsubLiteCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.pubsubLiteCustomEndpoint"></a>

```typescript
public readonly pubsubLiteCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#pubsub_lite_custom_endpoint GoogleProvider#pubsub_lite_custom_endpoint}.

---

##### `recaptchaEnterpriseCustomEndpoint`<sup>Optional</sup> <a name="recaptchaEnterpriseCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.recaptchaEnterpriseCustomEndpoint"></a>

```typescript
public readonly recaptchaEnterpriseCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#recaptcha_enterprise_custom_endpoint GoogleProvider#recaptcha_enterprise_custom_endpoint}.

---

##### `redisCustomEndpoint`<sup>Optional</sup> <a name="redisCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.redisCustomEndpoint"></a>

```typescript
public readonly redisCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#redis_custom_endpoint GoogleProvider#redis_custom_endpoint}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.GoogleProviderConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#region GoogleProvider#region}.

---

##### `requestReason`<sup>Optional</sup> <a name="requestReason" id="@dschmidt/provider-google.GoogleProviderConfig.property.requestReason"></a>

```typescript
public readonly requestReason: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#request_reason GoogleProvider#request_reason}.

---

##### `requestTimeout`<sup>Optional</sup> <a name="requestTimeout" id="@dschmidt/provider-google.GoogleProviderConfig.property.requestTimeout"></a>

```typescript
public readonly requestTimeout: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#request_timeout GoogleProvider#request_timeout}.

---

##### `resourceManagerCustomEndpoint`<sup>Optional</sup> <a name="resourceManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.resourceManagerCustomEndpoint"></a>

```typescript
public readonly resourceManagerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#resource_manager_custom_endpoint GoogleProvider#resource_manager_custom_endpoint}.

---

##### `resourceManagerV3CustomEndpoint`<sup>Optional</sup> <a name="resourceManagerV3CustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.resourceManagerV3CustomEndpoint"></a>

```typescript
public readonly resourceManagerV3CustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#resource_manager_v3_custom_endpoint GoogleProvider#resource_manager_v3_custom_endpoint}.

---

##### `scopes`<sup>Optional</sup> <a name="scopes" id="@dschmidt/provider-google.GoogleProviderConfig.property.scopes"></a>

```typescript
public readonly scopes: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#scopes GoogleProvider#scopes}.

---

##### `secretManagerCustomEndpoint`<sup>Optional</sup> <a name="secretManagerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.secretManagerCustomEndpoint"></a>

```typescript
public readonly secretManagerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#secret_manager_custom_endpoint GoogleProvider#secret_manager_custom_endpoint}.

---

##### `securityCenterCustomEndpoint`<sup>Optional</sup> <a name="securityCenterCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.securityCenterCustomEndpoint"></a>

```typescript
public readonly securityCenterCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#security_center_custom_endpoint GoogleProvider#security_center_custom_endpoint}.

---

##### `serviceManagementCustomEndpoint`<sup>Optional</sup> <a name="serviceManagementCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.serviceManagementCustomEndpoint"></a>

```typescript
public readonly serviceManagementCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#service_management_custom_endpoint GoogleProvider#service_management_custom_endpoint}.

---

##### `serviceNetworkingCustomEndpoint`<sup>Optional</sup> <a name="serviceNetworkingCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.serviceNetworkingCustomEndpoint"></a>

```typescript
public readonly serviceNetworkingCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#service_networking_custom_endpoint GoogleProvider#service_networking_custom_endpoint}.

---

##### `serviceUsageCustomEndpoint`<sup>Optional</sup> <a name="serviceUsageCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.serviceUsageCustomEndpoint"></a>

```typescript
public readonly serviceUsageCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#service_usage_custom_endpoint GoogleProvider#service_usage_custom_endpoint}.

---

##### `sourceRepoCustomEndpoint`<sup>Optional</sup> <a name="sourceRepoCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.sourceRepoCustomEndpoint"></a>

```typescript
public readonly sourceRepoCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#source_repo_custom_endpoint GoogleProvider#source_repo_custom_endpoint}.

---

##### `spannerCustomEndpoint`<sup>Optional</sup> <a name="spannerCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.spannerCustomEndpoint"></a>

```typescript
public readonly spannerCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#spanner_custom_endpoint GoogleProvider#spanner_custom_endpoint}.

---

##### `sqlCustomEndpoint`<sup>Optional</sup> <a name="sqlCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.sqlCustomEndpoint"></a>

```typescript
public readonly sqlCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#sql_custom_endpoint GoogleProvider#sql_custom_endpoint}.

---

##### `storageCustomEndpoint`<sup>Optional</sup> <a name="storageCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.storageCustomEndpoint"></a>

```typescript
public readonly storageCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#storage_custom_endpoint GoogleProvider#storage_custom_endpoint}.

---

##### `storageTransferCustomEndpoint`<sup>Optional</sup> <a name="storageTransferCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.storageTransferCustomEndpoint"></a>

```typescript
public readonly storageTransferCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#storage_transfer_custom_endpoint GoogleProvider#storage_transfer_custom_endpoint}.

---

##### `tagsCustomEndpoint`<sup>Optional</sup> <a name="tagsCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.tagsCustomEndpoint"></a>

```typescript
public readonly tagsCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#tags_custom_endpoint GoogleProvider#tags_custom_endpoint}.

---

##### `tpuCustomEndpoint`<sup>Optional</sup> <a name="tpuCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.tpuCustomEndpoint"></a>

```typescript
public readonly tpuCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#tpu_custom_endpoint GoogleProvider#tpu_custom_endpoint}.

---

##### `userProjectOverride`<sup>Optional</sup> <a name="userProjectOverride" id="@dschmidt/provider-google.GoogleProviderConfig.property.userProjectOverride"></a>

```typescript
public readonly userProjectOverride: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#user_project_override GoogleProvider#user_project_override}.

---

##### `vertexAiCustomEndpoint`<sup>Optional</sup> <a name="vertexAiCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.vertexAiCustomEndpoint"></a>

```typescript
public readonly vertexAiCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#vertex_ai_custom_endpoint GoogleProvider#vertex_ai_custom_endpoint}.

---

##### `vpcAccessCustomEndpoint`<sup>Optional</sup> <a name="vpcAccessCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.vpcAccessCustomEndpoint"></a>

```typescript
public readonly vpcAccessCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#vpc_access_custom_endpoint GoogleProvider#vpc_access_custom_endpoint}.

---

##### `workflowsCustomEndpoint`<sup>Optional</sup> <a name="workflowsCustomEndpoint" id="@dschmidt/provider-google.GoogleProviderConfig.property.workflowsCustomEndpoint"></a>

```typescript
public readonly workflowsCustomEndpoint: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#workflows_custom_endpoint GoogleProvider#workflows_custom_endpoint}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.GoogleProviderConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google#zone GoogleProvider#zone}.

---

### HealthcareConsentStoreConfig <a name="HealthcareConsentStoreConfig" id="@dschmidt/provider-google.HealthcareConsentStoreConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.Initializer"></a>

```typescript
import { HealthcareConsentStoreConfig } from '@dschmidt/provider-google'

const healthcareConsentStoreConfig: HealthcareConsentStoreConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.dataset">dataset</a></code> | <code>string</code> | Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.name">name</a></code> | <code>string</code> | The name of this ConsentStore, for example: "consent1". |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.defaultConsentTtl">defaultConsentTtl</a></code> | <code>string</code> | Default time to live for consents in this store. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.enableConsentCreateOnUpdate">enableConsentCreateOnUpdate</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, [consents.patch] [google.cloud.healthcare.v1.consent.UpdateConsent] creates the consent if it does not already exist. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#id HealthcareConsentStore#id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | User-supplied key-value pairs used to organize Consent stores. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeouts">HealthcareConsentStoreTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#dataset HealthcareConsentStore#dataset}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of this ConsentStore, for example: "consent1".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#name HealthcareConsentStore#name}

---

##### `defaultConsentTtl`<sup>Optional</sup> <a name="defaultConsentTtl" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.defaultConsentTtl"></a>

```typescript
public readonly defaultConsentTtl: string;
```

- *Type:* string

Default time to live for consents in this store.

Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#default_consent_ttl HealthcareConsentStore#default_consent_ttl}

---

##### `enableConsentCreateOnUpdate`<sup>Optional</sup> <a name="enableConsentCreateOnUpdate" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.enableConsentCreateOnUpdate"></a>

```typescript
public readonly enableConsentCreateOnUpdate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, [consents.patch] [google.cloud.healthcare.v1.consent.UpdateConsent] creates the consent if it does not already exist.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#enable_consent_create_on_update HealthcareConsentStore#enable_consent_create_on_update}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#id HealthcareConsentStore#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-supplied key-value pairs used to organize Consent stores.

Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
conform to the following PCRE regular expression: '[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}'

Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
bytes, and must conform to the following PCRE regular expression: '[\p{Ll}\p{Lo}\p{N}_-]{0,63}'

No more than 64 labels can be associated with a given store.

An object containing a list of "key": value pairs.
Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#labels HealthcareConsentStore#labels}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareConsentStoreConfig.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareConsentStoreTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeouts">HealthcareConsentStoreTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#timeouts HealthcareConsentStore#timeouts}

---

### HealthcareConsentStoreIamBindingCondition <a name="HealthcareConsentStoreIamBindingCondition" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition.Initializer"></a>

```typescript
import { HealthcareConsentStoreIamBindingCondition } from '@dschmidt/provider-google'

const healthcareConsentStoreIamBindingCondition: HealthcareConsentStoreIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#expression HealthcareConsentStoreIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#title HealthcareConsentStoreIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#description HealthcareConsentStoreIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#expression HealthcareConsentStoreIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#title HealthcareConsentStoreIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#description HealthcareConsentStoreIamBinding#description}.

---

### HealthcareConsentStoreIamBindingConfig <a name="HealthcareConsentStoreIamBindingConfig" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.Initializer"></a>

```typescript
import { HealthcareConsentStoreIamBindingConfig } from '@dschmidt/provider-google'

const healthcareConsentStoreIamBindingConfig: HealthcareConsentStoreIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.consentStoreId">consentStoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#consent_store_id HealthcareConsentStoreIamBinding#consent_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.dataset">dataset</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#dataset HealthcareConsentStoreIamBinding#dataset}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#members HealthcareConsentStoreIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#role HealthcareConsentStoreIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition">HealthcareConsentStoreIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#id HealthcareConsentStoreIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `consentStoreId`<sup>Required</sup> <a name="consentStoreId" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.consentStoreId"></a>

```typescript
public readonly consentStoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#consent_store_id HealthcareConsentStoreIamBinding#consent_store_id}.

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#dataset HealthcareConsentStoreIamBinding#dataset}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#members HealthcareConsentStoreIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#role HealthcareConsentStoreIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareConsentStoreIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamBindingCondition">HealthcareConsentStoreIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#condition HealthcareConsentStoreIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_binding#id HealthcareConsentStoreIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareConsentStoreIamMemberCondition <a name="HealthcareConsentStoreIamMemberCondition" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition.Initializer"></a>

```typescript
import { HealthcareConsentStoreIamMemberCondition } from '@dschmidt/provider-google'

const healthcareConsentStoreIamMemberCondition: HealthcareConsentStoreIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#expression HealthcareConsentStoreIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#title HealthcareConsentStoreIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#description HealthcareConsentStoreIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#expression HealthcareConsentStoreIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#title HealthcareConsentStoreIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#description HealthcareConsentStoreIamMember#description}.

---

### HealthcareConsentStoreIamMemberConfig <a name="HealthcareConsentStoreIamMemberConfig" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.Initializer"></a>

```typescript
import { HealthcareConsentStoreIamMemberConfig } from '@dschmidt/provider-google'

const healthcareConsentStoreIamMemberConfig: HealthcareConsentStoreIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.consentStoreId">consentStoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#consent_store_id HealthcareConsentStoreIamMember#consent_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.dataset">dataset</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#dataset HealthcareConsentStoreIamMember#dataset}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#member HealthcareConsentStoreIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#role HealthcareConsentStoreIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition">HealthcareConsentStoreIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#id HealthcareConsentStoreIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `consentStoreId`<sup>Required</sup> <a name="consentStoreId" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.consentStoreId"></a>

```typescript
public readonly consentStoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#consent_store_id HealthcareConsentStoreIamMember#consent_store_id}.

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#dataset HealthcareConsentStoreIamMember#dataset}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#member HealthcareConsentStoreIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#role HealthcareConsentStoreIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareConsentStoreIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareConsentStoreIamMemberCondition">HealthcareConsentStoreIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#condition HealthcareConsentStoreIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_member#id HealthcareConsentStoreIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareConsentStoreIamPolicyConfig <a name="HealthcareConsentStoreIamPolicyConfig" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.Initializer"></a>

```typescript
import { HealthcareConsentStoreIamPolicyConfig } from '@dschmidt/provider-google'

const healthcareConsentStoreIamPolicyConfig: HealthcareConsentStoreIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.consentStoreId">consentStoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_policy#consent_store_id HealthcareConsentStoreIamPolicy#consent_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.dataset">dataset</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_policy#dataset HealthcareConsentStoreIamPolicy#dataset}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_policy#policy_data HealthcareConsentStoreIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_policy#id HealthcareConsentStoreIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `consentStoreId`<sup>Required</sup> <a name="consentStoreId" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.consentStoreId"></a>

```typescript
public readonly consentStoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_policy#consent_store_id HealthcareConsentStoreIamPolicy#consent_store_id}.

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_policy#dataset HealthcareConsentStoreIamPolicy#dataset}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_policy#policy_data HealthcareConsentStoreIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareConsentStoreIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store_iam_policy#id HealthcareConsentStoreIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareConsentStoreTimeouts <a name="HealthcareConsentStoreTimeouts" id="@dschmidt/provider-google.HealthcareConsentStoreTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareConsentStoreTimeouts.Initializer"></a>

```typescript
import { HealthcareConsentStoreTimeouts } from '@dschmidt/provider-google'

const healthcareConsentStoreTimeouts: HealthcareConsentStoreTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#create HealthcareConsentStore#create}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#delete HealthcareConsentStore#delete}. |
| <code><a href="#@dschmidt/provider-google.HealthcareConsentStoreTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#update HealthcareConsentStore#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.HealthcareConsentStoreTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#create HealthcareConsentStore#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.HealthcareConsentStoreTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#delete HealthcareConsentStore#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.HealthcareConsentStoreTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_consent_store#update HealthcareConsentStore#update}.

---

### HealthcareDatasetConfig <a name="HealthcareDatasetConfig" id="@dschmidt/provider-google.HealthcareDatasetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDatasetConfig.Initializer"></a>

```typescript
import { HealthcareDatasetConfig } from '@dschmidt/provider-google'

const healthcareDatasetConfig: HealthcareDatasetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.location">location</a></code> | <code>string</code> | The location for the Dataset. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.name">name</a></code> | <code>string</code> | The resource name for the Dataset. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#id HealthcareDataset#id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#project HealthcareDataset#project}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetTimeouts">HealthcareDatasetTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetConfig.property.timeZone">timeZone</a></code> | <code>string</code> | The default timezone used by this dataset. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the Dataset.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#location HealthcareDataset#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name for the Dataset.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#name HealthcareDataset#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#id HealthcareDataset#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#project HealthcareDataset#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareDatasetTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetTimeouts">HealthcareDatasetTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#timeouts HealthcareDataset#timeouts}

---

##### `timeZone`<sup>Optional</sup> <a name="timeZone" id="@dschmidt/provider-google.HealthcareDatasetConfig.property.timeZone"></a>

```typescript
public readonly timeZone: string;
```

- *Type:* string

The default timezone used by this dataset.

Must be a either a valid IANA time zone name such as
"America/New_York" or empty, which defaults to UTC. This is used for parsing times in resources
(e.g., HL7 messages) where no explicit timezone is specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#time_zone HealthcareDataset#time_zone}

---

### HealthcareDatasetIamBindingCondition <a name="HealthcareDatasetIamBindingCondition" id="@dschmidt/provider-google.HealthcareDatasetIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDatasetIamBindingCondition.Initializer"></a>

```typescript
import { HealthcareDatasetIamBindingCondition } from '@dschmidt/provider-google'

const healthcareDatasetIamBindingCondition: HealthcareDatasetIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#expression HealthcareDatasetIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#title HealthcareDatasetIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#description HealthcareDatasetIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareDatasetIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#expression HealthcareDatasetIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareDatasetIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#title HealthcareDatasetIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareDatasetIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#description HealthcareDatasetIamBinding#description}.

---

### HealthcareDatasetIamBindingConfig <a name="HealthcareDatasetIamBindingConfig" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.Initializer"></a>

```typescript
import { HealthcareDatasetIamBindingConfig } from '@dschmidt/provider-google'

const healthcareDatasetIamBindingConfig: HealthcareDatasetIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.datasetId">datasetId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#dataset_id HealthcareDatasetIamBinding#dataset_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#members HealthcareDatasetIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#role HealthcareDatasetIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingCondition">HealthcareDatasetIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#id HealthcareDatasetIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#dataset_id HealthcareDatasetIamBinding#dataset_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#members HealthcareDatasetIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#role HealthcareDatasetIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareDatasetIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamBindingCondition">HealthcareDatasetIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#condition HealthcareDatasetIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_binding#id HealthcareDatasetIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareDatasetIamMemberCondition <a name="HealthcareDatasetIamMemberCondition" id="@dschmidt/provider-google.HealthcareDatasetIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDatasetIamMemberCondition.Initializer"></a>

```typescript
import { HealthcareDatasetIamMemberCondition } from '@dschmidt/provider-google'

const healthcareDatasetIamMemberCondition: HealthcareDatasetIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#expression HealthcareDatasetIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#title HealthcareDatasetIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#description HealthcareDatasetIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareDatasetIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#expression HealthcareDatasetIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareDatasetIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#title HealthcareDatasetIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareDatasetIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#description HealthcareDatasetIamMember#description}.

---

### HealthcareDatasetIamMemberConfig <a name="HealthcareDatasetIamMemberConfig" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.Initializer"></a>

```typescript
import { HealthcareDatasetIamMemberConfig } from '@dschmidt/provider-google'

const healthcareDatasetIamMemberConfig: HealthcareDatasetIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.datasetId">datasetId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#dataset_id HealthcareDatasetIamMember#dataset_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#member HealthcareDatasetIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#role HealthcareDatasetIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberCondition">HealthcareDatasetIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#id HealthcareDatasetIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#dataset_id HealthcareDatasetIamMember#dataset_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#member HealthcareDatasetIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#role HealthcareDatasetIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareDatasetIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDatasetIamMemberCondition">HealthcareDatasetIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#condition HealthcareDatasetIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_member#id HealthcareDatasetIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareDatasetIamPolicyConfig <a name="HealthcareDatasetIamPolicyConfig" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.Initializer"></a>

```typescript
import { HealthcareDatasetIamPolicyConfig } from '@dschmidt/provider-google'

const healthcareDatasetIamPolicyConfig: HealthcareDatasetIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.datasetId">datasetId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_policy#dataset_id HealthcareDatasetIamPolicy#dataset_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_policy#policy_data HealthcareDatasetIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_policy#id HealthcareDatasetIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `datasetId`<sup>Required</sup> <a name="datasetId" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.datasetId"></a>

```typescript
public readonly datasetId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_policy#dataset_id HealthcareDatasetIamPolicy#dataset_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_policy#policy_data HealthcareDatasetIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDatasetIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset_iam_policy#id HealthcareDatasetIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareDatasetTimeouts <a name="HealthcareDatasetTimeouts" id="@dschmidt/provider-google.HealthcareDatasetTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDatasetTimeouts.Initializer"></a>

```typescript
import { HealthcareDatasetTimeouts } from '@dschmidt/provider-google'

const healthcareDatasetTimeouts: HealthcareDatasetTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#create HealthcareDataset#create}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#delete HealthcareDataset#delete}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDatasetTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#update HealthcareDataset#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.HealthcareDatasetTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#create HealthcareDataset#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.HealthcareDatasetTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#delete HealthcareDataset#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.HealthcareDatasetTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dataset#update HealthcareDataset#update}.

---

### HealthcareDicomStoreConfig <a name="HealthcareDicomStoreConfig" id="@dschmidt/provider-google.HealthcareDicomStoreConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.Initializer"></a>

```typescript
import { HealthcareDicomStoreConfig } from '@dschmidt/provider-google'

const healthcareDicomStoreConfig: HealthcareDicomStoreConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.dataset">dataset</a></code> | <code>string</code> | Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.name">name</a></code> | <code>string</code> | The resource name for the DicomStore. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#id HealthcareDicomStore#id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | User-supplied key-value pairs used to organize DICOM stores. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreNotificationConfig">HealthcareDicomStoreNotificationConfig</a></code> | notification_config block. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeouts">HealthcareDicomStoreTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#dataset HealthcareDicomStore#dataset}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name for the DicomStore.

* Changing this property may recreate the Dicom store (removing all data) **

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#name HealthcareDicomStore#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#id HealthcareDicomStore#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-supplied key-value pairs used to organize DICOM stores.

Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}

Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}

No more than 64 labels can be associated with a given store.

An object containing a list of "key": value pairs.
Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#labels HealthcareDicomStore#labels}

---

##### `notificationConfig`<sup>Optional</sup> <a name="notificationConfig" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: HealthcareDicomStoreNotificationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreNotificationConfig">HealthcareDicomStoreNotificationConfig</a>

notification_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#notification_config HealthcareDicomStore#notification_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareDicomStoreConfig.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareDicomStoreTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeouts">HealthcareDicomStoreTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#timeouts HealthcareDicomStore#timeouts}

---

### HealthcareDicomStoreIamBindingCondition <a name="HealthcareDicomStoreIamBindingCondition" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition.Initializer"></a>

```typescript
import { HealthcareDicomStoreIamBindingCondition } from '@dschmidt/provider-google'

const healthcareDicomStoreIamBindingCondition: HealthcareDicomStoreIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#expression HealthcareDicomStoreIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#title HealthcareDicomStoreIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#description HealthcareDicomStoreIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#expression HealthcareDicomStoreIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#title HealthcareDicomStoreIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#description HealthcareDicomStoreIamBinding#description}.

---

### HealthcareDicomStoreIamBindingConfig <a name="HealthcareDicomStoreIamBindingConfig" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.Initializer"></a>

```typescript
import { HealthcareDicomStoreIamBindingConfig } from '@dschmidt/provider-google'

const healthcareDicomStoreIamBindingConfig: HealthcareDicomStoreIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.dicomStoreId">dicomStoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#dicom_store_id HealthcareDicomStoreIamBinding#dicom_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#members HealthcareDicomStoreIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#role HealthcareDicomStoreIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition">HealthcareDicomStoreIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#id HealthcareDicomStoreIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dicomStoreId`<sup>Required</sup> <a name="dicomStoreId" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.dicomStoreId"></a>

```typescript
public readonly dicomStoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#dicom_store_id HealthcareDicomStoreIamBinding#dicom_store_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#members HealthcareDicomStoreIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#role HealthcareDicomStoreIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareDicomStoreIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamBindingCondition">HealthcareDicomStoreIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#condition HealthcareDicomStoreIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_binding#id HealthcareDicomStoreIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareDicomStoreIamMemberCondition <a name="HealthcareDicomStoreIamMemberCondition" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition.Initializer"></a>

```typescript
import { HealthcareDicomStoreIamMemberCondition } from '@dschmidt/provider-google'

const healthcareDicomStoreIamMemberCondition: HealthcareDicomStoreIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#expression HealthcareDicomStoreIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#title HealthcareDicomStoreIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#description HealthcareDicomStoreIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#expression HealthcareDicomStoreIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#title HealthcareDicomStoreIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#description HealthcareDicomStoreIamMember#description}.

---

### HealthcareDicomStoreIamMemberConfig <a name="HealthcareDicomStoreIamMemberConfig" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.Initializer"></a>

```typescript
import { HealthcareDicomStoreIamMemberConfig } from '@dschmidt/provider-google'

const healthcareDicomStoreIamMemberConfig: HealthcareDicomStoreIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.dicomStoreId">dicomStoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#dicom_store_id HealthcareDicomStoreIamMember#dicom_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#member HealthcareDicomStoreIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#role HealthcareDicomStoreIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition">HealthcareDicomStoreIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#id HealthcareDicomStoreIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dicomStoreId`<sup>Required</sup> <a name="dicomStoreId" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.dicomStoreId"></a>

```typescript
public readonly dicomStoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#dicom_store_id HealthcareDicomStoreIamMember#dicom_store_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#member HealthcareDicomStoreIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#role HealthcareDicomStoreIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareDicomStoreIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareDicomStoreIamMemberCondition">HealthcareDicomStoreIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#condition HealthcareDicomStoreIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_member#id HealthcareDicomStoreIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareDicomStoreIamPolicyConfig <a name="HealthcareDicomStoreIamPolicyConfig" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.Initializer"></a>

```typescript
import { HealthcareDicomStoreIamPolicyConfig } from '@dschmidt/provider-google'

const healthcareDicomStoreIamPolicyConfig: HealthcareDicomStoreIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.dicomStoreId">dicomStoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_policy#dicom_store_id HealthcareDicomStoreIamPolicy#dicom_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_policy#policy_data HealthcareDicomStoreIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_policy#id HealthcareDicomStoreIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dicomStoreId`<sup>Required</sup> <a name="dicomStoreId" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.dicomStoreId"></a>

```typescript
public readonly dicomStoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_policy#dicom_store_id HealthcareDicomStoreIamPolicy#dicom_store_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_policy#policy_data HealthcareDicomStoreIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareDicomStoreIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store_iam_policy#id HealthcareDicomStoreIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareDicomStoreNotificationConfig <a name="HealthcareDicomStoreNotificationConfig" id="@dschmidt/provider-google.HealthcareDicomStoreNotificationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDicomStoreNotificationConfig.Initializer"></a>

```typescript
import { HealthcareDicomStoreNotificationConfig } from '@dschmidt/provider-google'

const healthcareDicomStoreNotificationConfig: HealthcareDicomStoreNotificationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreNotificationConfig.property.pubsubTopic">pubsubTopic</a></code> | <code>string</code> | The Cloud Pub/Sub topic that notifications of changes are published on. |

---

##### `pubsubTopic`<sup>Required</sup> <a name="pubsubTopic" id="@dschmidt/provider-google.HealthcareDicomStoreNotificationConfig.property.pubsubTopic"></a>

```typescript
public readonly pubsubTopic: string;
```

- *Type:* string

The Cloud Pub/Sub topic that notifications of changes are published on.

Supplied by the client.
PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#pubsub_topic HealthcareDicomStore#pubsub_topic}

---

### HealthcareDicomStoreTimeouts <a name="HealthcareDicomStoreTimeouts" id="@dschmidt/provider-google.HealthcareDicomStoreTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareDicomStoreTimeouts.Initializer"></a>

```typescript
import { HealthcareDicomStoreTimeouts } from '@dschmidt/provider-google'

const healthcareDicomStoreTimeouts: HealthcareDicomStoreTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#create HealthcareDicomStore#create}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#delete HealthcareDicomStore#delete}. |
| <code><a href="#@dschmidt/provider-google.HealthcareDicomStoreTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#update HealthcareDicomStore#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.HealthcareDicomStoreTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#create HealthcareDicomStore#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.HealthcareDicomStoreTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#delete HealthcareDicomStore#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.HealthcareDicomStoreTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_dicom_store#update HealthcareDicomStore#update}.

---

### HealthcareFhirStoreConfig <a name="HealthcareFhirStoreConfig" id="@dschmidt/provider-google.HealthcareFhirStoreConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.Initializer"></a>

```typescript
import { HealthcareFhirStoreConfig } from '@dschmidt/provider-google'

const healthcareFhirStoreConfig: HealthcareFhirStoreConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.dataset">dataset</a></code> | <code>string</code> | Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.name">name</a></code> | <code>string</code> | The resource name for the FhirStore. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.version">version</a></code> | <code>string</code> | The FHIR specification version. Possible values: ["DSTU2", "STU3", "R4"]. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.disableReferentialIntegrity">disableReferentialIntegrity</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to disable referential integrity in this FHIR store. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.disableResourceVersioning">disableResourceVersioning</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to disable resource versioning for this FHIR store. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.enableHistoryImport">enableHistoryImport</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to allow the bulk import API to accept history bundles and directly insert historical resource versions into the FHIR store. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.enableUpdateCreate">enableUpdateCreate</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this FHIR store has the updateCreate capability. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#id HealthcareFhirStore#id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | User-supplied key-value pairs used to organize FHIR stores. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreNotificationConfig">HealthcareFhirStoreNotificationConfig</a></code> | notification_config block. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.streamConfigs">streamConfigs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs">HealthcareFhirStoreStreamConfigs</a>[]</code> | stream_configs block. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeouts">HealthcareFhirStoreTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#dataset HealthcareFhirStore#dataset}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name for the FhirStore.

* Changing this property may recreate the FHIR store (removing all data) **

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#name HealthcareFhirStore#name}

---

##### `version`<sup>Required</sup> <a name="version" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The FHIR specification version. Possible values: ["DSTU2", "STU3", "R4"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#version HealthcareFhirStore#version}

---

##### `disableReferentialIntegrity`<sup>Optional</sup> <a name="disableReferentialIntegrity" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.disableReferentialIntegrity"></a>

```typescript
public readonly disableReferentialIntegrity: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to disable referential integrity in this FHIR store.

This field is immutable after FHIR store
creation. The default value is false, meaning that the API will enforce referential integrity and fail the
requests that will result in inconsistent state in the FHIR store. When this field is set to true, the API
will skip referential integrity check. Consequently, operations that rely on references, such as
Patient.get$everything, will not return all the results if broken references exist.

* Changing this property may recreate the FHIR store (removing all data) **

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#disable_referential_integrity HealthcareFhirStore#disable_referential_integrity}

---

##### `disableResourceVersioning`<sup>Optional</sup> <a name="disableResourceVersioning" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.disableResourceVersioning"></a>

```typescript
public readonly disableResourceVersioning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to disable resource versioning for this FHIR store.

This field can not be changed after the creation
of FHIR store. If set to false, which is the default behavior, all write operations will cause historical
versions to be recorded automatically. The historical versions can be fetched through the history APIs, but
cannot be updated. If set to true, no historical versions will be kept. The server will send back errors for
attempts to read the historical versions.

* Changing this property may recreate the FHIR store (removing all data) **

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#disable_resource_versioning HealthcareFhirStore#disable_resource_versioning}

---

##### `enableHistoryImport`<sup>Optional</sup> <a name="enableHistoryImport" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.enableHistoryImport"></a>

```typescript
public readonly enableHistoryImport: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to allow the bulk import API to accept history bundles and directly insert historical resource versions into the FHIR store.

Importing resource histories creates resource interactions that appear to have
occurred in the past, which clients may not want to allow. If set to false, history bundles within an import
will fail with an error.

* Changing this property may recreate the FHIR store (removing all data) **

* This property can be changed manually in the Google Cloud Healthcare admin console without recreating the FHIR store **

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#enable_history_import HealthcareFhirStore#enable_history_import}

---

##### `enableUpdateCreate`<sup>Optional</sup> <a name="enableUpdateCreate" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.enableUpdateCreate"></a>

```typescript
public readonly enableUpdateCreate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this FHIR store has the updateCreate capability.

This determines if the client can use an Update
operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through
the Create operation and attempts to Update a non-existent resource will return errors. Please treat the audit
logs with appropriate levels of care if client-specified resource IDs contain sensitive data such as patient
identifiers, those IDs will be part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub
notifications.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#enable_update_create HealthcareFhirStore#enable_update_create}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#id HealthcareFhirStore#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-supplied key-value pairs used to organize FHIR stores.

Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}

Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}

No more than 64 labels can be associated with a given store.

An object containing a list of "key": value pairs.
Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#labels HealthcareFhirStore#labels}

---

##### `notificationConfig`<sup>Optional</sup> <a name="notificationConfig" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: HealthcareFhirStoreNotificationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreNotificationConfig">HealthcareFhirStoreNotificationConfig</a>

notification_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#notification_config HealthcareFhirStore#notification_config}

---

##### `streamConfigs`<sup>Optional</sup> <a name="streamConfigs" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.streamConfigs"></a>

```typescript
public readonly streamConfigs: IResolvable | HealthcareFhirStoreStreamConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs">HealthcareFhirStoreStreamConfigs</a>[]

stream_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#stream_configs HealthcareFhirStore#stream_configs}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareFhirStoreConfig.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareFhirStoreTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeouts">HealthcareFhirStoreTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#timeouts HealthcareFhirStore#timeouts}

---

### HealthcareFhirStoreIamBindingCondition <a name="HealthcareFhirStoreIamBindingCondition" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition.Initializer"></a>

```typescript
import { HealthcareFhirStoreIamBindingCondition } from '@dschmidt/provider-google'

const healthcareFhirStoreIamBindingCondition: HealthcareFhirStoreIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#expression HealthcareFhirStoreIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#title HealthcareFhirStoreIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#description HealthcareFhirStoreIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#expression HealthcareFhirStoreIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#title HealthcareFhirStoreIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#description HealthcareFhirStoreIamBinding#description}.

---

### HealthcareFhirStoreIamBindingConfig <a name="HealthcareFhirStoreIamBindingConfig" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.Initializer"></a>

```typescript
import { HealthcareFhirStoreIamBindingConfig } from '@dschmidt/provider-google'

const healthcareFhirStoreIamBindingConfig: HealthcareFhirStoreIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.fhirStoreId">fhirStoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#fhir_store_id HealthcareFhirStoreIamBinding#fhir_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#members HealthcareFhirStoreIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#role HealthcareFhirStoreIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition">HealthcareFhirStoreIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#id HealthcareFhirStoreIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fhirStoreId`<sup>Required</sup> <a name="fhirStoreId" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.fhirStoreId"></a>

```typescript
public readonly fhirStoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#fhir_store_id HealthcareFhirStoreIamBinding#fhir_store_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#members HealthcareFhirStoreIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#role HealthcareFhirStoreIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareFhirStoreIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamBindingCondition">HealthcareFhirStoreIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#condition HealthcareFhirStoreIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_binding#id HealthcareFhirStoreIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareFhirStoreIamMemberCondition <a name="HealthcareFhirStoreIamMemberCondition" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition.Initializer"></a>

```typescript
import { HealthcareFhirStoreIamMemberCondition } from '@dschmidt/provider-google'

const healthcareFhirStoreIamMemberCondition: HealthcareFhirStoreIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#expression HealthcareFhirStoreIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#title HealthcareFhirStoreIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#description HealthcareFhirStoreIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#expression HealthcareFhirStoreIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#title HealthcareFhirStoreIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#description HealthcareFhirStoreIamMember#description}.

---

### HealthcareFhirStoreIamMemberConfig <a name="HealthcareFhirStoreIamMemberConfig" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.Initializer"></a>

```typescript
import { HealthcareFhirStoreIamMemberConfig } from '@dschmidt/provider-google'

const healthcareFhirStoreIamMemberConfig: HealthcareFhirStoreIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.fhirStoreId">fhirStoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#fhir_store_id HealthcareFhirStoreIamMember#fhir_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#member HealthcareFhirStoreIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#role HealthcareFhirStoreIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition">HealthcareFhirStoreIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#id HealthcareFhirStoreIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fhirStoreId`<sup>Required</sup> <a name="fhirStoreId" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.fhirStoreId"></a>

```typescript
public readonly fhirStoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#fhir_store_id HealthcareFhirStoreIamMember#fhir_store_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#member HealthcareFhirStoreIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#role HealthcareFhirStoreIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareFhirStoreIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreIamMemberCondition">HealthcareFhirStoreIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#condition HealthcareFhirStoreIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_member#id HealthcareFhirStoreIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareFhirStoreIamPolicyConfig <a name="HealthcareFhirStoreIamPolicyConfig" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.Initializer"></a>

```typescript
import { HealthcareFhirStoreIamPolicyConfig } from '@dschmidt/provider-google'

const healthcareFhirStoreIamPolicyConfig: HealthcareFhirStoreIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.fhirStoreId">fhirStoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_policy#fhir_store_id HealthcareFhirStoreIamPolicy#fhir_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_policy#policy_data HealthcareFhirStoreIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_policy#id HealthcareFhirStoreIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `fhirStoreId`<sup>Required</sup> <a name="fhirStoreId" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.fhirStoreId"></a>

```typescript
public readonly fhirStoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_policy#fhir_store_id HealthcareFhirStoreIamPolicy#fhir_store_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_policy#policy_data HealthcareFhirStoreIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareFhirStoreIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store_iam_policy#id HealthcareFhirStoreIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareFhirStoreNotificationConfig <a name="HealthcareFhirStoreNotificationConfig" id="@dschmidt/provider-google.HealthcareFhirStoreNotificationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreNotificationConfig.Initializer"></a>

```typescript
import { HealthcareFhirStoreNotificationConfig } from '@dschmidt/provider-google'

const healthcareFhirStoreNotificationConfig: HealthcareFhirStoreNotificationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreNotificationConfig.property.pubsubTopic">pubsubTopic</a></code> | <code>string</code> | The Cloud Pub/Sub topic that notifications of changes are published on. |

---

##### `pubsubTopic`<sup>Required</sup> <a name="pubsubTopic" id="@dschmidt/provider-google.HealthcareFhirStoreNotificationConfig.property.pubsubTopic"></a>

```typescript
public readonly pubsubTopic: string;
```

- *Type:* string

The Cloud Pub/Sub topic that notifications of changes are published on.

Supplied by the client.
PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#pubsub_topic HealthcareFhirStore#pubsub_topic}

---

### HealthcareFhirStoreStreamConfigs <a name="HealthcareFhirStoreStreamConfigs" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs.Initializer"></a>

```typescript
import { HealthcareFhirStoreStreamConfigs } from '@dschmidt/provider-google'

const healthcareFhirStoreStreamConfigs: HealthcareFhirStoreStreamConfigs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs.property.bigqueryDestination">bigqueryDestination</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestination">HealthcareFhirStoreStreamConfigsBigqueryDestination</a></code> | bigquery_destination block. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs.property.resourceTypes">resourceTypes</a></code> | <code>string[]</code> | Supply a FHIR resource type (such as "Patient" or "Observation"). |

---

##### `bigqueryDestination`<sup>Required</sup> <a name="bigqueryDestination" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs.property.bigqueryDestination"></a>

```typescript
public readonly bigqueryDestination: HealthcareFhirStoreStreamConfigsBigqueryDestination;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestination">HealthcareFhirStoreStreamConfigsBigqueryDestination</a>

bigquery_destination block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#bigquery_destination HealthcareFhirStore#bigquery_destination}

---

##### `resourceTypes`<sup>Optional</sup> <a name="resourceTypes" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigs.property.resourceTypes"></a>

```typescript
public readonly resourceTypes: string[];
```

- *Type:* string[]

Supply a FHIR resource type (such as "Patient" or "Observation").

See
https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats
an empty list as an intent to stream all the supported resource types in this FHIR store.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#resource_types HealthcareFhirStore#resource_types}

---

### HealthcareFhirStoreStreamConfigsBigqueryDestination <a name="HealthcareFhirStoreStreamConfigsBigqueryDestination" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestination"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestination.Initializer"></a>

```typescript
import { HealthcareFhirStoreStreamConfigsBigqueryDestination } from '@dschmidt/provider-google'

const healthcareFhirStoreStreamConfigsBigqueryDestination: HealthcareFhirStoreStreamConfigsBigqueryDestination = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestination.property.datasetUri">datasetUri</a></code> | <code>string</code> | BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestination.property.schemaConfig">schemaConfig</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig">HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig</a></code> | schema_config block. |

---

##### `datasetUri`<sup>Required</sup> <a name="datasetUri" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestination.property.datasetUri"></a>

```typescript
public readonly datasetUri: string;
```

- *Type:* string

BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#dataset_uri HealthcareFhirStore#dataset_uri}

---

##### `schemaConfig`<sup>Required</sup> <a name="schemaConfig" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestination.property.schemaConfig"></a>

```typescript
public readonly schemaConfig: HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig">HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig</a>

schema_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#schema_config HealthcareFhirStore#schema_config}

---

### HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig <a name="HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig.Initializer"></a>

```typescript
import { HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig } from '@dschmidt/provider-google'

const healthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig: HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig.property.recursiveStructureDepth">recursiveStructureDepth</a></code> | <code>number</code> | The depth for all recursive structures in the output analytics schema. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig.property.schemaType">schemaType</a></code> | <code>string</code> | Specifies the output schema type. |

---

##### `recursiveStructureDepth`<sup>Required</sup> <a name="recursiveStructureDepth" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig.property.recursiveStructureDepth"></a>

```typescript
public readonly recursiveStructureDepth: number;
```

- *Type:* number

The depth for all recursive structures in the output analytics schema.

For example, concept in the CodeSystem
resource is a recursive structure; when the depth is 2, the CodeSystem table will have a column called
concept.concept but not concept.concept.concept. If not specified or set to 0, the server will use the default
value 2. The maximum depth allowed is 5.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#recursive_structure_depth HealthcareFhirStore#recursive_structure_depth}

---

##### `schemaType`<sup>Optional</sup> <a name="schemaType" id="@dschmidt/provider-google.HealthcareFhirStoreStreamConfigsBigqueryDestinationSchemaConfig.property.schemaType"></a>

```typescript
public readonly schemaType: string;
```

- *Type:* string

Specifies the output schema type.

ANALYTICS: Analytics schema defined by the FHIR community.
See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
ANALYTICS_V2: Analytics V2, similar to schema defined by the FHIR community, with added support for extensions with one or more occurrences and contained resources in stringified JSON.
LOSSLESS: A data-driven schema generated from the fields present in the FHIR data being exported, with no additional simplification. Default value: "ANALYTICS" Possible values: ["ANALYTICS", "ANALYTICS_V2", "LOSSLESS"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#schema_type HealthcareFhirStore#schema_type}

---

### HealthcareFhirStoreTimeouts <a name="HealthcareFhirStoreTimeouts" id="@dschmidt/provider-google.HealthcareFhirStoreTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareFhirStoreTimeouts.Initializer"></a>

```typescript
import { HealthcareFhirStoreTimeouts } from '@dschmidt/provider-google'

const healthcareFhirStoreTimeouts: HealthcareFhirStoreTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#create HealthcareFhirStore#create}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#delete HealthcareFhirStore#delete}. |
| <code><a href="#@dschmidt/provider-google.HealthcareFhirStoreTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#update HealthcareFhirStore#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.HealthcareFhirStoreTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#create HealthcareFhirStore#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.HealthcareFhirStoreTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#delete HealthcareFhirStore#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.HealthcareFhirStoreTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_fhir_store#update HealthcareFhirStore#update}.

---

### HealthcareHl7V2StoreConfig <a name="HealthcareHl7V2StoreConfig" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreConfig } from '@dschmidt/provider-google'

const healthcareHl7V2StoreConfig: HealthcareHl7V2StoreConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.dataset">dataset</a></code> | <code>string</code> | Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.name">name</a></code> | <code>string</code> | The resource name for the Hl7V2Store. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#id HealthcareHl7V2Store#id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | User-supplied key-value pairs used to organize HL7v2 stores. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfig">HealthcareHl7V2StoreNotificationConfig</a></code> | notification_config block. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.notificationConfigs">notificationConfigs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs">HealthcareHl7V2StoreNotificationConfigs</a>[]</code> | notification_configs block. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.parserConfig">parserConfig</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig">HealthcareHl7V2StoreParserConfig</a></code> | parser_config block. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts">HealthcareHl7V2StoreTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dataset`<sup>Required</sup> <a name="dataset" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.dataset"></a>

```typescript
public readonly dataset: string;
```

- *Type:* string

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#dataset HealthcareHl7V2Store#dataset}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name for the Hl7V2Store.

* Changing this property may recreate the Hl7v2 store (removing all data) **

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#name HealthcareHl7V2Store#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#id HealthcareHl7V2Store#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-supplied key-value pairs used to organize HL7v2 stores.

Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}

Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}

No more than 64 labels can be associated with a given store.

An object containing a list of "key": value pairs.
Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#labels HealthcareHl7V2Store#labels}

---

##### `notificationConfig`<sup>Optional</sup> <a name="notificationConfig" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: HealthcareHl7V2StoreNotificationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfig">HealthcareHl7V2StoreNotificationConfig</a>

notification_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#notification_config HealthcareHl7V2Store#notification_config}

---

##### `notificationConfigs`<sup>Optional</sup> <a name="notificationConfigs" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.notificationConfigs"></a>

```typescript
public readonly notificationConfigs: IResolvable | HealthcareHl7V2StoreNotificationConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs">HealthcareHl7V2StoreNotificationConfigs</a>[]

notification_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#notification_configs HealthcareHl7V2Store#notification_configs}

---

##### `parserConfig`<sup>Optional</sup> <a name="parserConfig" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.parserConfig"></a>

```typescript
public readonly parserConfig: HealthcareHl7V2StoreParserConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig">HealthcareHl7V2StoreParserConfig</a>

parser_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#parser_config HealthcareHl7V2Store#parser_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.HealthcareHl7V2StoreConfig.property.timeouts"></a>

```typescript
public readonly timeouts: HealthcareHl7V2StoreTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts">HealthcareHl7V2StoreTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#timeouts HealthcareHl7V2Store#timeouts}

---

### HealthcareHl7V2StoreIamBindingCondition <a name="HealthcareHl7V2StoreIamBindingCondition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreIamBindingCondition } from '@dschmidt/provider-google'

const healthcareHl7V2StoreIamBindingCondition: HealthcareHl7V2StoreIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#expression HealthcareHl7V2StoreIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#title HealthcareHl7V2StoreIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#description HealthcareHl7V2StoreIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#expression HealthcareHl7V2StoreIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#title HealthcareHl7V2StoreIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#description HealthcareHl7V2StoreIamBinding#description}.

---

### HealthcareHl7V2StoreIamBindingConfig <a name="HealthcareHl7V2StoreIamBindingConfig" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreIamBindingConfig } from '@dschmidt/provider-google'

const healthcareHl7V2StoreIamBindingConfig: HealthcareHl7V2StoreIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.hl7V2StoreId">hl7V2StoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#hl7_v2_store_id HealthcareHl7V2StoreIamBinding#hl7_v2_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#members HealthcareHl7V2StoreIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#role HealthcareHl7V2StoreIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition">HealthcareHl7V2StoreIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#id HealthcareHl7V2StoreIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `hl7V2StoreId`<sup>Required</sup> <a name="hl7V2StoreId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.hl7V2StoreId"></a>

```typescript
public readonly hl7V2StoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#hl7_v2_store_id HealthcareHl7V2StoreIamBinding#hl7_v2_store_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#members HealthcareHl7V2StoreIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#role HealthcareHl7V2StoreIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareHl7V2StoreIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingCondition">HealthcareHl7V2StoreIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#condition HealthcareHl7V2StoreIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_binding#id HealthcareHl7V2StoreIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareHl7V2StoreIamMemberCondition <a name="HealthcareHl7V2StoreIamMemberCondition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreIamMemberCondition } from '@dschmidt/provider-google'

const healthcareHl7V2StoreIamMemberCondition: HealthcareHl7V2StoreIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#expression HealthcareHl7V2StoreIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#title HealthcareHl7V2StoreIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#description HealthcareHl7V2StoreIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#expression HealthcareHl7V2StoreIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#title HealthcareHl7V2StoreIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#description HealthcareHl7V2StoreIamMember#description}.

---

### HealthcareHl7V2StoreIamMemberConfig <a name="HealthcareHl7V2StoreIamMemberConfig" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreIamMemberConfig } from '@dschmidt/provider-google'

const healthcareHl7V2StoreIamMemberConfig: HealthcareHl7V2StoreIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.hl7V2StoreId">hl7V2StoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#hl7_v2_store_id HealthcareHl7V2StoreIamMember#hl7_v2_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#member HealthcareHl7V2StoreIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#role HealthcareHl7V2StoreIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition">HealthcareHl7V2StoreIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#id HealthcareHl7V2StoreIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `hl7V2StoreId`<sup>Required</sup> <a name="hl7V2StoreId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.hl7V2StoreId"></a>

```typescript
public readonly hl7V2StoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#hl7_v2_store_id HealthcareHl7V2StoreIamMember#hl7_v2_store_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#member HealthcareHl7V2StoreIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#role HealthcareHl7V2StoreIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: HealthcareHl7V2StoreIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberCondition">HealthcareHl7V2StoreIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#condition HealthcareHl7V2StoreIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_member#id HealthcareHl7V2StoreIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareHl7V2StoreIamPolicyConfig <a name="HealthcareHl7V2StoreIamPolicyConfig" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreIamPolicyConfig } from '@dschmidt/provider-google'

const healthcareHl7V2StoreIamPolicyConfig: HealthcareHl7V2StoreIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.hl7V2StoreId">hl7V2StoreId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_policy#hl7_v2_store_id HealthcareHl7V2StoreIamPolicy#hl7_v2_store_id}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_policy#policy_data HealthcareHl7V2StoreIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_policy#id HealthcareHl7V2StoreIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `hl7V2StoreId`<sup>Required</sup> <a name="hl7V2StoreId" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.hl7V2StoreId"></a>

```typescript
public readonly hl7V2StoreId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_policy#hl7_v2_store_id HealthcareHl7V2StoreIamPolicy#hl7_v2_store_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_policy#policy_data HealthcareHl7V2StoreIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.HealthcareHl7V2StoreIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store_iam_policy#id HealthcareHl7V2StoreIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### HealthcareHl7V2StoreNotificationConfig <a name="HealthcareHl7V2StoreNotificationConfig" id="@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfig.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreNotificationConfig } from '@dschmidt/provider-google'

const healthcareHl7V2StoreNotificationConfig: HealthcareHl7V2StoreNotificationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfig.property.pubsubTopic">pubsubTopic</a></code> | <code>string</code> | The Cloud Pub/Sub topic that notifications of changes are published on. |

---

##### `pubsubTopic`<sup>Required</sup> <a name="pubsubTopic" id="@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfig.property.pubsubTopic"></a>

```typescript
public readonly pubsubTopic: string;
```

- *Type:* string

The Cloud Pub/Sub topic that notifications of changes are published on.

Supplied by the client.
PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#pubsub_topic HealthcareHl7V2Store#pubsub_topic}

---

### HealthcareHl7V2StoreNotificationConfigs <a name="HealthcareHl7V2StoreNotificationConfigs" id="@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreNotificationConfigs } from '@dschmidt/provider-google'

const healthcareHl7V2StoreNotificationConfigs: HealthcareHl7V2StoreNotificationConfigs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs.property.pubsubTopic">pubsubTopic</a></code> | <code>string</code> | The Cloud Pub/Sub topic that notifications of changes are published on. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs.property.filter">filter</a></code> | <code>string</code> | Restricts notifications sent for messages matching a filter. If this is empty, all messages are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings. |

---

##### `pubsubTopic`<sup>Required</sup> <a name="pubsubTopic" id="@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs.property.pubsubTopic"></a>

```typescript
public readonly pubsubTopic: string;
```

- *Type:* string

The Cloud Pub/Sub topic that notifications of changes are published on.

Supplied by the client.
PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#pubsub_topic HealthcareHl7V2Store#pubsub_topic}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.HealthcareHl7V2StoreNotificationConfigs.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

Restricts notifications sent for messages matching a filter. If this is empty, all messages are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings.

Fields/functions available for filtering are:

messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT".
send_date or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, send_date < "2017-01-02".
sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00".
sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC".
PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN").
labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#filter HealthcareHl7V2Store#filter}

---

### HealthcareHl7V2StoreParserConfig <a name="HealthcareHl7V2StoreParserConfig" id="@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreParserConfig } from '@dschmidt/provider-google'

const healthcareHl7V2StoreParserConfig: HealthcareHl7V2StoreParserConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig.property.allowNullHeader">allowNullHeader</a></code> | <code>boolean \| cdktf.IResolvable</code> | Determines whether messages with no header are allowed. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig.property.schema">schema</a></code> | <code>string</code> | JSON encoded string for schemas used to parse messages in this store if schematized parsing is desired. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig.property.segmentTerminator">segmentTerminator</a></code> | <code>string</code> | Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig.property.version">version</a></code> | <code>string</code> | The version of the unschematized parser to be used when a custom 'schema' is not set. |

---

##### `allowNullHeader`<sup>Optional</sup> <a name="allowNullHeader" id="@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig.property.allowNullHeader"></a>

```typescript
public readonly allowNullHeader: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Determines whether messages with no header are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#allow_null_header HealthcareHl7V2Store#allow_null_header}

---

##### `schema`<sup>Optional</sup> <a name="schema" id="@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig.property.schema"></a>

```typescript
public readonly schema: string;
```

- *Type:* string

JSON encoded string for schemas used to parse messages in this store if schematized parsing is desired.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#schema HealthcareHl7V2Store#schema}

---

##### `segmentTerminator`<sup>Optional</sup> <a name="segmentTerminator" id="@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig.property.segmentTerminator"></a>

```typescript
public readonly segmentTerminator: string;
```

- *Type:* string

Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator.

A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#segment_terminator HealthcareHl7V2Store#segment_terminator}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.HealthcareHl7V2StoreParserConfig.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

The version of the unschematized parser to be used when a custom 'schema' is not set.

Default value: "V1" Possible values: ["V1", "V2", "V3"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#version HealthcareHl7V2Store#version}

---

### HealthcareHl7V2StoreTimeouts <a name="HealthcareHl7V2StoreTimeouts" id="@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts.Initializer"></a>

```typescript
import { HealthcareHl7V2StoreTimeouts } from '@dschmidt/provider-google'

const healthcareHl7V2StoreTimeouts: HealthcareHl7V2StoreTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#create HealthcareHl7V2Store#create}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#delete HealthcareHl7V2Store#delete}. |
| <code><a href="#@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#update HealthcareHl7V2Store#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#create HealthcareHl7V2Store#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#delete HealthcareHl7V2Store#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.HealthcareHl7V2StoreTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/healthcare_hl7_v2_store#update HealthcareHl7V2Store#update}.

---

### IamWorkloadIdentityPoolConfig <a name="IamWorkloadIdentityPoolConfig" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.Initializer"></a>

```typescript
import { IamWorkloadIdentityPoolConfig } from '@dschmidt/provider-google'

const iamWorkloadIdentityPoolConfig: IamWorkloadIdentityPoolConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.workloadIdentityPoolId">workloadIdentityPoolId</a></code> | <code>string</code> | The ID to use for the pool, which becomes the final component of the resource name. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.description">description</a></code> | <code>string</code> | A description of the pool. Cannot exceed 256 characters. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the pool is disabled. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.displayName">displayName</a></code> | <code>string</code> | A display name for the pool. Cannot exceed 32 characters. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#id IamWorkloadIdentityPool#id}. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#project IamWorkloadIdentityPool#project}. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts">IamWorkloadIdentityPoolTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `workloadIdentityPoolId`<sup>Required</sup> <a name="workloadIdentityPoolId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.workloadIdentityPoolId"></a>

```typescript
public readonly workloadIdentityPoolId: string;
```

- *Type:* string

The ID to use for the pool, which becomes the final component of the resource name.

This
value should be 4-32 characters, and may contain the characters [a-z0-9-]. The prefix
'gcp-' is reserved for use by Google, and may not be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#workload_identity_pool_id IamWorkloadIdentityPool#workload_identity_pool_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of the pool. Cannot exceed 256 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#description IamWorkloadIdentityPool#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the pool is disabled.

You cannot use a disabled pool to exchange tokens, or use
existing tokens to access resources. If the pool is re-enabled, existing tokens grant
access again.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#disabled IamWorkloadIdentityPool#disabled}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A display name for the pool. Cannot exceed 32 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#display_name IamWorkloadIdentityPool#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#id IamWorkloadIdentityPool#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#project IamWorkloadIdentityPool#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPoolConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IamWorkloadIdentityPoolTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts">IamWorkloadIdentityPoolTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#timeouts IamWorkloadIdentityPool#timeouts}

---

### IamWorkloadIdentityPoolProviderAws <a name="IamWorkloadIdentityPoolProviderAws" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAws"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAws.Initializer"></a>

```typescript
import { IamWorkloadIdentityPoolProviderAws } from '@dschmidt/provider-google'

const iamWorkloadIdentityPoolProviderAws: IamWorkloadIdentityPoolProviderAws = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAws.property.accountId">accountId</a></code> | <code>string</code> | The AWS account ID. |

---

##### `accountId`<sup>Required</sup> <a name="accountId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAws.property.accountId"></a>

```typescript
public readonly accountId: string;
```

- *Type:* string

The AWS account ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#account_id IamWorkloadIdentityPoolProvider#account_id}

---

### IamWorkloadIdentityPoolProviderConfig <a name="IamWorkloadIdentityPoolProviderConfig" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.Initializer"></a>

```typescript
import { IamWorkloadIdentityPoolProviderConfig } from '@dschmidt/provider-google'

const iamWorkloadIdentityPoolProviderConfig: IamWorkloadIdentityPoolProviderConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.workloadIdentityPoolId">workloadIdentityPoolId</a></code> | <code>string</code> | The ID used for the pool, which is the final component of the pool resource name. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.workloadIdentityPoolProviderId">workloadIdentityPoolProviderId</a></code> | <code>string</code> | The ID for the provider, which becomes the final component of the resource name. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.attributeCondition">attributeCondition</a></code> | <code>string</code> | [A Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.attributeMapping">attributeMapping</a></code> | <code>{[ key: string ]: string}</code> | Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as 'subject' and 'segment'. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.aws">aws</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAws">IamWorkloadIdentityPoolProviderAws</a></code> | aws block. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.description">description</a></code> | <code>string</code> | A description for the provider. Cannot exceed 256 characters. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the provider is disabled. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.displayName">displayName</a></code> | <code>string</code> | A display name for the provider. Cannot exceed 32 characters. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#id IamWorkloadIdentityPoolProvider#id}. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.oidc">oidc</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc">IamWorkloadIdentityPoolProviderOidc</a></code> | oidc block. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#project IamWorkloadIdentityPoolProvider#project}. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts">IamWorkloadIdentityPoolProviderTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `workloadIdentityPoolId`<sup>Required</sup> <a name="workloadIdentityPoolId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.workloadIdentityPoolId"></a>

```typescript
public readonly workloadIdentityPoolId: string;
```

- *Type:* string

The ID used for the pool, which is the final component of the pool resource name.

This
value should be 4-32 characters, and may contain the characters [a-z0-9-]. The prefix
'gcp-' is reserved for use by Google, and may not be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#workload_identity_pool_id IamWorkloadIdentityPoolProvider#workload_identity_pool_id}

---

##### `workloadIdentityPoolProviderId`<sup>Required</sup> <a name="workloadIdentityPoolProviderId" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.workloadIdentityPoolProviderId"></a>

```typescript
public readonly workloadIdentityPoolProviderId: string;
```

- *Type:* string

The ID for the provider, which becomes the final component of the resource name.

This
value must be 4-32 characters, and may contain the characters [a-z0-9-]. The prefix
'gcp-' is reserved for use by Google, and may not be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#workload_identity_pool_provider_id IamWorkloadIdentityPoolProvider#workload_identity_pool_provider_id}

---

##### `attributeCondition`<sup>Optional</sup> <a name="attributeCondition" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.attributeCondition"></a>

```typescript
public readonly attributeCondition: string;
```

- *Type:* string

[A Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted.

The expression must output a boolean representing whether to allow the federation.

The following keywords may be referenced in the expressions:
'assertion': JSON representing the authentication credential issued by the provider.
'google': The Google attributes mapped from the assertion in the 'attribute_mappings'.
'attribute': The custom attributes mapped from the assertion in the 'attribute_mappings'.

The maximum length of the attribute condition expression is 4096 characters. If
unspecified, all valid authentication credential are accepted.

The following example shows how to only allow credentials with a mapped 'google.groups'
value of 'admins':
```
"'admins' in google.groups"
```

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#attribute_condition IamWorkloadIdentityPoolProvider#attribute_condition}

---

##### `attributeMapping`<sup>Optional</sup> <a name="attributeMapping" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.attributeMapping"></a>

```typescript
public readonly attributeMapping: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as 'subject' and 'segment'.

Each key must be a string specifying the Google Cloud IAM attribute to map to.

The following keys are supported:
'google.subject': The principal IAM is authenticating. You can reference this value
in IAM bindings. This is also the subject that appears in Cloud Logging logs.
Cannot exceed 127 characters.
'google.groups': Groups the external identity belongs to. You can grant groups
access to resources using an IAM 'principalSet' binding; access applies to all
members of the group.

You can also provide custom attributes by specifying 'attribute.{custom_attribute}',
where '{custom_attribute}' is the name of the custom attribute to be mapped. You can
define a maximum of 50 custom attributes. The maximum length of a mapped attribute key
is 100 characters, and the key may only contain the characters [a-z0-9_].

You can reference these attributes in IAM policies to define fine-grained access for a
workload to Google Cloud resources. For example:
'google.subject':
'principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}'
'google.groups':
'principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}'
'attribute.{custom_attribute}':
'principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}'

Each value must be a [Common Expression Language](https://opensource.google/projects/cel)
function that maps an identity provider credential to the normalized attribute specified
by the corresponding map key.

You can use the 'assertion' keyword in the expression to access a JSON representation of
the authentication credential issued by the provider.

The maximum length of an attribute mapping expression is 2048 characters. When evaluated,
the total size of all mapped attributes must not exceed 8KB.

For AWS providers, the following rules apply:
- If no attribute mapping is defined, the following default mapping applies:
```
{
   "google.subject":"assertion.arn",
   "attribute.aws_role":
     "assertion.arn.contains('assumed-role')"
     " ? assertion.arn.extract('{account_arn}assumed-role/')"
     "   + 'assumed-role/'"
     "   + assertion.arn.extract('assumed-role/{role_name}/')"
     " : assertion.arn",
}
```
- If any custom attribute mappings are defined, they must include a mapping to the
'google.subject' attribute.

For OIDC providers, the following rules apply:
- Custom attribute mappings must be defined, and must include a mapping to the
'google.subject' attribute. For example, the following maps the 'sub' claim of the
incoming credential to the 'subject' attribute on a Google token.
```
{"google.subject": "assertion.sub"}
```

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#attribute_mapping IamWorkloadIdentityPoolProvider#attribute_mapping}

---

##### `aws`<sup>Optional</sup> <a name="aws" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.aws"></a>

```typescript
public readonly aws: IamWorkloadIdentityPoolProviderAws;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderAws">IamWorkloadIdentityPoolProviderAws</a>

aws block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#aws IamWorkloadIdentityPoolProvider#aws}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description for the provider. Cannot exceed 256 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#description IamWorkloadIdentityPoolProvider#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the provider is disabled. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#disabled IamWorkloadIdentityPoolProvider#disabled}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A display name for the provider. Cannot exceed 32 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#display_name IamWorkloadIdentityPoolProvider#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#id IamWorkloadIdentityPoolProvider#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `oidc`<sup>Optional</sup> <a name="oidc" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.oidc"></a>

```typescript
public readonly oidc: IamWorkloadIdentityPoolProviderOidc;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc">IamWorkloadIdentityPoolProviderOidc</a>

oidc block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#oidc IamWorkloadIdentityPoolProvider#oidc}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#project IamWorkloadIdentityPoolProvider#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IamWorkloadIdentityPoolProviderTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts">IamWorkloadIdentityPoolProviderTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#timeouts IamWorkloadIdentityPoolProvider#timeouts}

---

### IamWorkloadIdentityPoolProviderOidc <a name="IamWorkloadIdentityPoolProviderOidc" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc.Initializer"></a>

```typescript
import { IamWorkloadIdentityPoolProviderOidc } from '@dschmidt/provider-google'

const iamWorkloadIdentityPoolProviderOidc: IamWorkloadIdentityPoolProviderOidc = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc.property.issuerUri">issuerUri</a></code> | <code>string</code> | The OIDC issuer URL. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc.property.allowedAudiences">allowedAudiences</a></code> | <code>string[]</code> | Acceptable values for the 'aud' field (audience) in the OIDC token. |

---

##### `issuerUri`<sup>Required</sup> <a name="issuerUri" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc.property.issuerUri"></a>

```typescript
public readonly issuerUri: string;
```

- *Type:* string

The OIDC issuer URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#issuer_uri IamWorkloadIdentityPoolProvider#issuer_uri}

---

##### `allowedAudiences`<sup>Optional</sup> <a name="allowedAudiences" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderOidc.property.allowedAudiences"></a>

```typescript
public readonly allowedAudiences: string[];
```

- *Type:* string[]

Acceptable values for the 'aud' field (audience) in the OIDC token.

Token exchange
requests are rejected if the token audience does not match one of the configured
values. Each audience may be at most 256 characters. A maximum of 10 audiences may
be configured.

If this list is empty, the OIDC token audience must be equal to the full canonical
resource name of the WorkloadIdentityPoolProvider, with or without the HTTPS prefix.
For example:
```
//iam.googleapis.com/projects/<project-number>/locations/<location>/workloadIdentityPools/<pool-id>/providers/<provider-id>
https://iam.googleapis.com/projects/<project-number>/locations/<location>/workloadIdentityPools/<pool-id>/providers/<provider-id>
```

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#allowed_audiences IamWorkloadIdentityPoolProvider#allowed_audiences}

---

### IamWorkloadIdentityPoolProviderTimeouts <a name="IamWorkloadIdentityPoolProviderTimeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts.Initializer"></a>

```typescript
import { IamWorkloadIdentityPoolProviderTimeouts } from '@dschmidt/provider-google'

const iamWorkloadIdentityPoolProviderTimeouts: IamWorkloadIdentityPoolProviderTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#create IamWorkloadIdentityPoolProvider#create}. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#delete IamWorkloadIdentityPoolProvider#delete}. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#update IamWorkloadIdentityPoolProvider#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#create IamWorkloadIdentityPoolProvider#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#delete IamWorkloadIdentityPoolProvider#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.IamWorkloadIdentityPoolProviderTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool_provider#update IamWorkloadIdentityPoolProvider#update}.

---

### IamWorkloadIdentityPoolTimeouts <a name="IamWorkloadIdentityPoolTimeouts" id="@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts.Initializer"></a>

```typescript
import { IamWorkloadIdentityPoolTimeouts } from '@dschmidt/provider-google'

const iamWorkloadIdentityPoolTimeouts: IamWorkloadIdentityPoolTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#create IamWorkloadIdentityPool#create}. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#delete IamWorkloadIdentityPool#delete}. |
| <code><a href="#@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#update IamWorkloadIdentityPool#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#create IamWorkloadIdentityPool#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#delete IamWorkloadIdentityPool#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.IamWorkloadIdentityPoolTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iam_workload_identity_pool#update IamWorkloadIdentityPool#update}.

---

### IapAppEngineServiceIamBindingCondition <a name="IapAppEngineServiceIamBindingCondition" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition.Initializer"></a>

```typescript
import { IapAppEngineServiceIamBindingCondition } from '@dschmidt/provider-google'

const iapAppEngineServiceIamBindingCondition: IapAppEngineServiceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#expression IapAppEngineServiceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#title IapAppEngineServiceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#description IapAppEngineServiceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#expression IapAppEngineServiceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#title IapAppEngineServiceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#description IapAppEngineServiceIamBinding#description}.

---

### IapAppEngineServiceIamBindingConfig <a name="IapAppEngineServiceIamBindingConfig" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.Initializer"></a>

```typescript
import { IapAppEngineServiceIamBindingConfig } from '@dschmidt/provider-google'

const iapAppEngineServiceIamBindingConfig: IapAppEngineServiceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.appId">appId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#app_id IapAppEngineServiceIamBinding#app_id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#members IapAppEngineServiceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#role IapAppEngineServiceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#service IapAppEngineServiceIamBinding#service}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition">IapAppEngineServiceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#id IapAppEngineServiceIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#project IapAppEngineServiceIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#app_id IapAppEngineServiceIamBinding#app_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#members IapAppEngineServiceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#role IapAppEngineServiceIamBinding#role}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#service IapAppEngineServiceIamBinding#service}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: IapAppEngineServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamBindingCondition">IapAppEngineServiceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#condition IapAppEngineServiceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#id IapAppEngineServiceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineServiceIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_binding#project IapAppEngineServiceIamBinding#project}.

---

### IapAppEngineServiceIamMemberCondition <a name="IapAppEngineServiceIamMemberCondition" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition.Initializer"></a>

```typescript
import { IapAppEngineServiceIamMemberCondition } from '@dschmidt/provider-google'

const iapAppEngineServiceIamMemberCondition: IapAppEngineServiceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#expression IapAppEngineServiceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#title IapAppEngineServiceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#description IapAppEngineServiceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#expression IapAppEngineServiceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#title IapAppEngineServiceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#description IapAppEngineServiceIamMember#description}.

---

### IapAppEngineServiceIamMemberConfig <a name="IapAppEngineServiceIamMemberConfig" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.Initializer"></a>

```typescript
import { IapAppEngineServiceIamMemberConfig } from '@dschmidt/provider-google'

const iapAppEngineServiceIamMemberConfig: IapAppEngineServiceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.appId">appId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#app_id IapAppEngineServiceIamMember#app_id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#member IapAppEngineServiceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#role IapAppEngineServiceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#service IapAppEngineServiceIamMember#service}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition">IapAppEngineServiceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#id IapAppEngineServiceIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#project IapAppEngineServiceIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#app_id IapAppEngineServiceIamMember#app_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#member IapAppEngineServiceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#role IapAppEngineServiceIamMember#role}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#service IapAppEngineServiceIamMember#service}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: IapAppEngineServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineServiceIamMemberCondition">IapAppEngineServiceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#condition IapAppEngineServiceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#id IapAppEngineServiceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineServiceIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_member#project IapAppEngineServiceIamMember#project}.

---

### IapAppEngineServiceIamPolicyConfig <a name="IapAppEngineServiceIamPolicyConfig" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.Initializer"></a>

```typescript
import { IapAppEngineServiceIamPolicyConfig } from '@dschmidt/provider-google'

const iapAppEngineServiceIamPolicyConfig: IapAppEngineServiceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.appId">appId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#app_id IapAppEngineServiceIamPolicy#app_id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#policy_data IapAppEngineServiceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#service IapAppEngineServiceIamPolicy#service}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#id IapAppEngineServiceIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#project IapAppEngineServiceIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#app_id IapAppEngineServiceIamPolicy#app_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#policy_data IapAppEngineServiceIamPolicy#policy_data}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#service IapAppEngineServiceIamPolicy#service}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#id IapAppEngineServiceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineServiceIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_service_iam_policy#project IapAppEngineServiceIamPolicy#project}.

---

### IapAppEngineVersionIamBindingCondition <a name="IapAppEngineVersionIamBindingCondition" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition.Initializer"></a>

```typescript
import { IapAppEngineVersionIamBindingCondition } from '@dschmidt/provider-google'

const iapAppEngineVersionIamBindingCondition: IapAppEngineVersionIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#expression IapAppEngineVersionIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#title IapAppEngineVersionIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#description IapAppEngineVersionIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#expression IapAppEngineVersionIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#title IapAppEngineVersionIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#description IapAppEngineVersionIamBinding#description}.

---

### IapAppEngineVersionIamBindingConfig <a name="IapAppEngineVersionIamBindingConfig" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.Initializer"></a>

```typescript
import { IapAppEngineVersionIamBindingConfig } from '@dschmidt/provider-google'

const iapAppEngineVersionIamBindingConfig: IapAppEngineVersionIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.appId">appId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#app_id IapAppEngineVersionIamBinding#app_id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#members IapAppEngineVersionIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#role IapAppEngineVersionIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#service IapAppEngineVersionIamBinding#service}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.versionId">versionId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#version_id IapAppEngineVersionIamBinding#version_id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition">IapAppEngineVersionIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#id IapAppEngineVersionIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#project IapAppEngineVersionIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#app_id IapAppEngineVersionIamBinding#app_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#members IapAppEngineVersionIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#role IapAppEngineVersionIamBinding#role}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#service IapAppEngineVersionIamBinding#service}.

---

##### `versionId`<sup>Required</sup> <a name="versionId" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#version_id IapAppEngineVersionIamBinding#version_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: IapAppEngineVersionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamBindingCondition">IapAppEngineVersionIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#condition IapAppEngineVersionIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#id IapAppEngineVersionIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineVersionIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_binding#project IapAppEngineVersionIamBinding#project}.

---

### IapAppEngineVersionIamMemberCondition <a name="IapAppEngineVersionIamMemberCondition" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition.Initializer"></a>

```typescript
import { IapAppEngineVersionIamMemberCondition } from '@dschmidt/provider-google'

const iapAppEngineVersionIamMemberCondition: IapAppEngineVersionIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#expression IapAppEngineVersionIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#title IapAppEngineVersionIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#description IapAppEngineVersionIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#expression IapAppEngineVersionIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#title IapAppEngineVersionIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#description IapAppEngineVersionIamMember#description}.

---

### IapAppEngineVersionIamMemberConfig <a name="IapAppEngineVersionIamMemberConfig" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.Initializer"></a>

```typescript
import { IapAppEngineVersionIamMemberConfig } from '@dschmidt/provider-google'

const iapAppEngineVersionIamMemberConfig: IapAppEngineVersionIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.appId">appId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#app_id IapAppEngineVersionIamMember#app_id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#member IapAppEngineVersionIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#role IapAppEngineVersionIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#service IapAppEngineVersionIamMember#service}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.versionId">versionId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#version_id IapAppEngineVersionIamMember#version_id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition">IapAppEngineVersionIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#id IapAppEngineVersionIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#project IapAppEngineVersionIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#app_id IapAppEngineVersionIamMember#app_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#member IapAppEngineVersionIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#role IapAppEngineVersionIamMember#role}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#service IapAppEngineVersionIamMember#service}.

---

##### `versionId`<sup>Required</sup> <a name="versionId" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#version_id IapAppEngineVersionIamMember#version_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: IapAppEngineVersionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapAppEngineVersionIamMemberCondition">IapAppEngineVersionIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#condition IapAppEngineVersionIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#id IapAppEngineVersionIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineVersionIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_member#project IapAppEngineVersionIamMember#project}.

---

### IapAppEngineVersionIamPolicyConfig <a name="IapAppEngineVersionIamPolicyConfig" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.Initializer"></a>

```typescript
import { IapAppEngineVersionIamPolicyConfig } from '@dschmidt/provider-google'

const iapAppEngineVersionIamPolicyConfig: IapAppEngineVersionIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.appId">appId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#app_id IapAppEngineVersionIamPolicy#app_id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#policy_data IapAppEngineVersionIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#service IapAppEngineVersionIamPolicy#service}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.versionId">versionId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#version_id IapAppEngineVersionIamPolicy#version_id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#id IapAppEngineVersionIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#project IapAppEngineVersionIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#app_id IapAppEngineVersionIamPolicy#app_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#policy_data IapAppEngineVersionIamPolicy#policy_data}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#service IapAppEngineVersionIamPolicy#service}.

---

##### `versionId`<sup>Required</sup> <a name="versionId" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.versionId"></a>

```typescript
public readonly versionId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#version_id IapAppEngineVersionIamPolicy#version_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#id IapAppEngineVersionIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapAppEngineVersionIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_app_engine_version_iam_policy#project IapAppEngineVersionIamPolicy#project}.

---

### IapBrandConfig <a name="IapBrandConfig" id="@dschmidt/provider-google.IapBrandConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapBrandConfig.Initializer"></a>

```typescript
import { IapBrandConfig } from '@dschmidt/provider-google'

const iapBrandConfig: IapBrandConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.applicationTitle">applicationTitle</a></code> | <code>string</code> | Application name displayed on OAuth consent screen. |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.supportEmail">supportEmail</a></code> | <code>string</code> | Support email displayed on the OAuth consent screen. |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#id IapBrand#id}. |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#project IapBrand#project}. |
| <code><a href="#@dschmidt/provider-google.IapBrandConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IapBrandTimeouts">IapBrandTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapBrandConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapBrandConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapBrandConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapBrandConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapBrandConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapBrandConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapBrandConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `applicationTitle`<sup>Required</sup> <a name="applicationTitle" id="@dschmidt/provider-google.IapBrandConfig.property.applicationTitle"></a>

```typescript
public readonly applicationTitle: string;
```

- *Type:* string

Application name displayed on OAuth consent screen.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#application_title IapBrand#application_title}

---

##### `supportEmail`<sup>Required</sup> <a name="supportEmail" id="@dschmidt/provider-google.IapBrandConfig.property.supportEmail"></a>

```typescript
public readonly supportEmail: string;
```

- *Type:* string

Support email displayed on the OAuth consent screen.

Can be either a
user or group email. When a user email is specified, the caller must
be the user with the associated email address. When a group email is
specified, the caller can be either a user or a service account which
is an owner of the specified group in Cloud Identity.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#support_email IapBrand#support_email}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapBrandConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#id IapBrand#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapBrandConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#project IapBrand#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IapBrandConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IapBrandTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IapBrandTimeouts">IapBrandTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#timeouts IapBrand#timeouts}

---

### IapBrandTimeouts <a name="IapBrandTimeouts" id="@dschmidt/provider-google.IapBrandTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapBrandTimeouts.Initializer"></a>

```typescript
import { IapBrandTimeouts } from '@dschmidt/provider-google'

const iapBrandTimeouts: IapBrandTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapBrandTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#create IapBrand#create}. |
| <code><a href="#@dschmidt/provider-google.IapBrandTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#delete IapBrand#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IapBrandTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#create IapBrand#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IapBrandTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_brand#delete IapBrand#delete}.

---

### IapClientConfig <a name="IapClientConfig" id="@dschmidt/provider-google.IapClientConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapClientConfig.Initializer"></a>

```typescript
import { IapClientConfig } from '@dschmidt/provider-google'

const iapClientConfig: IapClientConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.brand">brand</a></code> | <code>string</code> | Identifier of the brand to which this client is attached to. The format is 'projects/{project_number}/brands/{brand_id}/identityAwareProxyClients/{client_id}'. |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.displayName">displayName</a></code> | <code>string</code> | Human-friendly name given to the OAuth client. |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_client#id IapClient#id}. |
| <code><a href="#@dschmidt/provider-google.IapClientConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IapClientTimeouts">IapClientTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapClientConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapClientConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapClientConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapClientConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapClientConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapClientConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapClientConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `brand`<sup>Required</sup> <a name="brand" id="@dschmidt/provider-google.IapClientConfig.property.brand"></a>

```typescript
public readonly brand: string;
```

- *Type:* string

Identifier of the brand to which this client is attached to. The format is 'projects/{project_number}/brands/{brand_id}/identityAwareProxyClients/{client_id}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_client#brand IapClient#brand}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IapClientConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Human-friendly name given to the OAuth client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_client#display_name IapClient#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapClientConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_client#id IapClient#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IapClientConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IapClientTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IapClientTimeouts">IapClientTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_client#timeouts IapClient#timeouts}

---

### IapClientTimeouts <a name="IapClientTimeouts" id="@dschmidt/provider-google.IapClientTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapClientTimeouts.Initializer"></a>

```typescript
import { IapClientTimeouts } from '@dschmidt/provider-google'

const iapClientTimeouts: IapClientTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapClientTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_client#create IapClient#create}. |
| <code><a href="#@dschmidt/provider-google.IapClientTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_client#delete IapClient#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IapClientTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_client#create IapClient#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IapClientTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_client#delete IapClient#delete}.

---

### IapTunnelIamBindingCondition <a name="IapTunnelIamBindingCondition" id="@dschmidt/provider-google.IapTunnelIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelIamBindingCondition.Initializer"></a>

```typescript
import { IapTunnelIamBindingCondition } from '@dschmidt/provider-google'

const iapTunnelIamBindingCondition: IapTunnelIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#expression IapTunnelIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#title IapTunnelIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#description IapTunnelIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapTunnelIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#expression IapTunnelIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapTunnelIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#title IapTunnelIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapTunnelIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#description IapTunnelIamBinding#description}.

---

### IapTunnelIamBindingConfig <a name="IapTunnelIamBindingConfig" id="@dschmidt/provider-google.IapTunnelIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.Initializer"></a>

```typescript
import { IapTunnelIamBindingConfig } from '@dschmidt/provider-google'

const iapTunnelIamBindingConfig: IapTunnelIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#members IapTunnelIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#role IapTunnelIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingCondition">IapTunnelIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#id IapTunnelIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#project IapTunnelIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#members IapTunnelIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#role IapTunnelIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: IapTunnelIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamBindingCondition">IapTunnelIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#condition IapTunnelIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#id IapTunnelIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_binding#project IapTunnelIamBinding#project}.

---

### IapTunnelIamMemberCondition <a name="IapTunnelIamMemberCondition" id="@dschmidt/provider-google.IapTunnelIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelIamMemberCondition.Initializer"></a>

```typescript
import { IapTunnelIamMemberCondition } from '@dschmidt/provider-google'

const iapTunnelIamMemberCondition: IapTunnelIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#expression IapTunnelIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#title IapTunnelIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#description IapTunnelIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapTunnelIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#expression IapTunnelIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapTunnelIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#title IapTunnelIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapTunnelIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#description IapTunnelIamMember#description}.

---

### IapTunnelIamMemberConfig <a name="IapTunnelIamMemberConfig" id="@dschmidt/provider-google.IapTunnelIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.Initializer"></a>

```typescript
import { IapTunnelIamMemberConfig } from '@dschmidt/provider-google'

const iapTunnelIamMemberConfig: IapTunnelIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#member IapTunnelIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#role IapTunnelIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberCondition">IapTunnelIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#id IapTunnelIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#project IapTunnelIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#member IapTunnelIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#role IapTunnelIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: IapTunnelIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelIamMemberCondition">IapTunnelIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#condition IapTunnelIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#id IapTunnelIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_member#project IapTunnelIamMember#project}.

---

### IapTunnelIamPolicyConfig <a name="IapTunnelIamPolicyConfig" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.Initializer"></a>

```typescript
import { IapTunnelIamPolicyConfig } from '@dschmidt/provider-google'

const iapTunnelIamPolicyConfig: IapTunnelIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_policy#policy_data IapTunnelIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_policy#id IapTunnelIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_policy#project IapTunnelIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_policy#policy_data IapTunnelIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_policy#id IapTunnelIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_iam_policy#project IapTunnelIamPolicy#project}.

---

### IapTunnelInstanceIamBindingCondition <a name="IapTunnelInstanceIamBindingCondition" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition.Initializer"></a>

```typescript
import { IapTunnelInstanceIamBindingCondition } from '@dschmidt/provider-google'

const iapTunnelInstanceIamBindingCondition: IapTunnelInstanceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#expression IapTunnelInstanceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#title IapTunnelInstanceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#description IapTunnelInstanceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#expression IapTunnelInstanceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#title IapTunnelInstanceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#description IapTunnelInstanceIamBinding#description}.

---

### IapTunnelInstanceIamBindingConfig <a name="IapTunnelInstanceIamBindingConfig" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.Initializer"></a>

```typescript
import { IapTunnelInstanceIamBindingConfig } from '@dschmidt/provider-google'

const iapTunnelInstanceIamBindingConfig: IapTunnelInstanceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#instance IapTunnelInstanceIamBinding#instance}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#members IapTunnelInstanceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#role IapTunnelInstanceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition">IapTunnelInstanceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#id IapTunnelInstanceIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#project IapTunnelInstanceIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#zone IapTunnelInstanceIamBinding#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#instance IapTunnelInstanceIamBinding#instance}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#members IapTunnelInstanceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#role IapTunnelInstanceIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: IapTunnelInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamBindingCondition">IapTunnelInstanceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#condition IapTunnelInstanceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#id IapTunnelInstanceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#project IapTunnelInstanceIamBinding#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.IapTunnelInstanceIamBindingConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_binding#zone IapTunnelInstanceIamBinding#zone}.

---

### IapTunnelInstanceIamMemberCondition <a name="IapTunnelInstanceIamMemberCondition" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition.Initializer"></a>

```typescript
import { IapTunnelInstanceIamMemberCondition } from '@dschmidt/provider-google'

const iapTunnelInstanceIamMemberCondition: IapTunnelInstanceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#expression IapTunnelInstanceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#title IapTunnelInstanceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#description IapTunnelInstanceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#expression IapTunnelInstanceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#title IapTunnelInstanceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#description IapTunnelInstanceIamMember#description}.

---

### IapTunnelInstanceIamMemberConfig <a name="IapTunnelInstanceIamMemberConfig" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.Initializer"></a>

```typescript
import { IapTunnelInstanceIamMemberConfig } from '@dschmidt/provider-google'

const iapTunnelInstanceIamMemberConfig: IapTunnelInstanceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#instance IapTunnelInstanceIamMember#instance}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#member IapTunnelInstanceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#role IapTunnelInstanceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition">IapTunnelInstanceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#id IapTunnelInstanceIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#project IapTunnelInstanceIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#zone IapTunnelInstanceIamMember#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#instance IapTunnelInstanceIamMember#instance}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#member IapTunnelInstanceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#role IapTunnelInstanceIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: IapTunnelInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapTunnelInstanceIamMemberCondition">IapTunnelInstanceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#condition IapTunnelInstanceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#id IapTunnelInstanceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#project IapTunnelInstanceIamMember#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.IapTunnelInstanceIamMemberConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_member#zone IapTunnelInstanceIamMember#zone}.

---

### IapTunnelInstanceIamPolicyConfig <a name="IapTunnelInstanceIamPolicyConfig" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.Initializer"></a>

```typescript
import { IapTunnelInstanceIamPolicyConfig } from '@dschmidt/provider-google'

const iapTunnelInstanceIamPolicyConfig: IapTunnelInstanceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#instance IapTunnelInstanceIamPolicy#instance}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#policy_data IapTunnelInstanceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#id IapTunnelInstanceIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#project IapTunnelInstanceIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.zone">zone</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#zone IapTunnelInstanceIamPolicy#zone}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#instance IapTunnelInstanceIamPolicy#instance}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#policy_data IapTunnelInstanceIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#id IapTunnelInstanceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#project IapTunnelInstanceIamPolicy#project}.

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.IapTunnelInstanceIamPolicyConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_tunnel_instance_iam_policy#zone IapTunnelInstanceIamPolicy#zone}.

---

### IapWebBackendServiceIamBindingCondition <a name="IapWebBackendServiceIamBindingCondition" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition.Initializer"></a>

```typescript
import { IapWebBackendServiceIamBindingCondition } from '@dschmidt/provider-google'

const iapWebBackendServiceIamBindingCondition: IapWebBackendServiceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#expression IapWebBackendServiceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#title IapWebBackendServiceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#description IapWebBackendServiceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#expression IapWebBackendServiceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#title IapWebBackendServiceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#description IapWebBackendServiceIamBinding#description}.

---

### IapWebBackendServiceIamBindingConfig <a name="IapWebBackendServiceIamBindingConfig" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.Initializer"></a>

```typescript
import { IapWebBackendServiceIamBindingConfig } from '@dschmidt/provider-google'

const iapWebBackendServiceIamBindingConfig: IapWebBackendServiceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#members IapWebBackendServiceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#role IapWebBackendServiceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.webBackendService">webBackendService</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#web_backend_service IapWebBackendServiceIamBinding#web_backend_service}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition">IapWebBackendServiceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#id IapWebBackendServiceIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#project IapWebBackendServiceIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#members IapWebBackendServiceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#role IapWebBackendServiceIamBinding#role}.

---

##### `webBackendService`<sup>Required</sup> <a name="webBackendService" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.webBackendService"></a>

```typescript
public readonly webBackendService: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#web_backend_service IapWebBackendServiceIamBinding#web_backend_service}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: IapWebBackendServiceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamBindingCondition">IapWebBackendServiceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#condition IapWebBackendServiceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#id IapWebBackendServiceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebBackendServiceIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_binding#project IapWebBackendServiceIamBinding#project}.

---

### IapWebBackendServiceIamMemberCondition <a name="IapWebBackendServiceIamMemberCondition" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition.Initializer"></a>

```typescript
import { IapWebBackendServiceIamMemberCondition } from '@dschmidt/provider-google'

const iapWebBackendServiceIamMemberCondition: IapWebBackendServiceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#expression IapWebBackendServiceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#title IapWebBackendServiceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#description IapWebBackendServiceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#expression IapWebBackendServiceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#title IapWebBackendServiceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#description IapWebBackendServiceIamMember#description}.

---

### IapWebBackendServiceIamMemberConfig <a name="IapWebBackendServiceIamMemberConfig" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.Initializer"></a>

```typescript
import { IapWebBackendServiceIamMemberConfig } from '@dschmidt/provider-google'

const iapWebBackendServiceIamMemberConfig: IapWebBackendServiceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#member IapWebBackendServiceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#role IapWebBackendServiceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.webBackendService">webBackendService</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#web_backend_service IapWebBackendServiceIamMember#web_backend_service}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition">IapWebBackendServiceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#id IapWebBackendServiceIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#project IapWebBackendServiceIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#member IapWebBackendServiceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#role IapWebBackendServiceIamMember#role}.

---

##### `webBackendService`<sup>Required</sup> <a name="webBackendService" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.webBackendService"></a>

```typescript
public readonly webBackendService: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#web_backend_service IapWebBackendServiceIamMember#web_backend_service}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: IapWebBackendServiceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebBackendServiceIamMemberCondition">IapWebBackendServiceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#condition IapWebBackendServiceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#id IapWebBackendServiceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebBackendServiceIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_member#project IapWebBackendServiceIamMember#project}.

---

### IapWebBackendServiceIamPolicyConfig <a name="IapWebBackendServiceIamPolicyConfig" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.Initializer"></a>

```typescript
import { IapWebBackendServiceIamPolicyConfig } from '@dschmidt/provider-google'

const iapWebBackendServiceIamPolicyConfig: IapWebBackendServiceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_policy#policy_data IapWebBackendServiceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.webBackendService">webBackendService</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_policy#web_backend_service IapWebBackendServiceIamPolicy#web_backend_service}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_policy#id IapWebBackendServiceIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_policy#project IapWebBackendServiceIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_policy#policy_data IapWebBackendServiceIamPolicy#policy_data}.

---

##### `webBackendService`<sup>Required</sup> <a name="webBackendService" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.webBackendService"></a>

```typescript
public readonly webBackendService: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_policy#web_backend_service IapWebBackendServiceIamPolicy#web_backend_service}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_policy#id IapWebBackendServiceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebBackendServiceIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_backend_service_iam_policy#project IapWebBackendServiceIamPolicy#project}.

---

### IapWebIamBindingCondition <a name="IapWebIamBindingCondition" id="@dschmidt/provider-google.IapWebIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebIamBindingCondition.Initializer"></a>

```typescript
import { IapWebIamBindingCondition } from '@dschmidt/provider-google'

const iapWebIamBindingCondition: IapWebIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#expression IapWebIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#title IapWebIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#description IapWebIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapWebIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#expression IapWebIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapWebIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#title IapWebIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapWebIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#description IapWebIamBinding#description}.

---

### IapWebIamBindingConfig <a name="IapWebIamBindingConfig" id="@dschmidt/provider-google.IapWebIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebIamBindingConfig.Initializer"></a>

```typescript
import { IapWebIamBindingConfig } from '@dschmidt/provider-google'

const iapWebIamBindingConfig: IapWebIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#members IapWebIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#role IapWebIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebIamBindingCondition">IapWebIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#id IapWebIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#project IapWebIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#members IapWebIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#role IapWebIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: IapWebIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamBindingCondition">IapWebIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#condition IapWebIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#id IapWebIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_binding#project IapWebIamBinding#project}.

---

### IapWebIamMemberCondition <a name="IapWebIamMemberCondition" id="@dschmidt/provider-google.IapWebIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebIamMemberCondition.Initializer"></a>

```typescript
import { IapWebIamMemberCondition } from '@dschmidt/provider-google'

const iapWebIamMemberCondition: IapWebIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#expression IapWebIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#title IapWebIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#description IapWebIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapWebIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#expression IapWebIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapWebIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#title IapWebIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapWebIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#description IapWebIamMember#description}.

---

### IapWebIamMemberConfig <a name="IapWebIamMemberConfig" id="@dschmidt/provider-google.IapWebIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebIamMemberConfig.Initializer"></a>

```typescript
import { IapWebIamMemberConfig } from '@dschmidt/provider-google'

const iapWebIamMemberConfig: IapWebIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#member IapWebIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#role IapWebIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebIamMemberCondition">IapWebIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#id IapWebIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#project IapWebIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#member IapWebIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#role IapWebIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: IapWebIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebIamMemberCondition">IapWebIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#condition IapWebIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#id IapWebIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_member#project IapWebIamMember#project}.

---

### IapWebIamPolicyConfig <a name="IapWebIamPolicyConfig" id="@dschmidt/provider-google.IapWebIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebIamPolicyConfig.Initializer"></a>

```typescript
import { IapWebIamPolicyConfig } from '@dschmidt/provider-google'

const iapWebIamPolicyConfig: IapWebIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_policy#policy_data IapWebIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_policy#id IapWebIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_policy#project IapWebIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_policy#policy_data IapWebIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_policy#id IapWebIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_iam_policy#project IapWebIamPolicy#project}.

---

### IapWebTypeAppEngineIamBindingCondition <a name="IapWebTypeAppEngineIamBindingCondition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition.Initializer"></a>

```typescript
import { IapWebTypeAppEngineIamBindingCondition } from '@dschmidt/provider-google'

const iapWebTypeAppEngineIamBindingCondition: IapWebTypeAppEngineIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#expression IapWebTypeAppEngineIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#title IapWebTypeAppEngineIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#description IapWebTypeAppEngineIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#expression IapWebTypeAppEngineIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#title IapWebTypeAppEngineIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#description IapWebTypeAppEngineIamBinding#description}.

---

### IapWebTypeAppEngineIamBindingConfig <a name="IapWebTypeAppEngineIamBindingConfig" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.Initializer"></a>

```typescript
import { IapWebTypeAppEngineIamBindingConfig } from '@dschmidt/provider-google'

const iapWebTypeAppEngineIamBindingConfig: IapWebTypeAppEngineIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.appId">appId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#app_id IapWebTypeAppEngineIamBinding#app_id}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#members IapWebTypeAppEngineIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#role IapWebTypeAppEngineIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition">IapWebTypeAppEngineIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#id IapWebTypeAppEngineIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#project IapWebTypeAppEngineIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#app_id IapWebTypeAppEngineIamBinding#app_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#members IapWebTypeAppEngineIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#role IapWebTypeAppEngineIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: IapWebTypeAppEngineIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamBindingCondition">IapWebTypeAppEngineIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#condition IapWebTypeAppEngineIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#id IapWebTypeAppEngineIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeAppEngineIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_binding#project IapWebTypeAppEngineIamBinding#project}.

---

### IapWebTypeAppEngineIamMemberCondition <a name="IapWebTypeAppEngineIamMemberCondition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition.Initializer"></a>

```typescript
import { IapWebTypeAppEngineIamMemberCondition } from '@dschmidt/provider-google'

const iapWebTypeAppEngineIamMemberCondition: IapWebTypeAppEngineIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#expression IapWebTypeAppEngineIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#title IapWebTypeAppEngineIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#description IapWebTypeAppEngineIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#expression IapWebTypeAppEngineIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#title IapWebTypeAppEngineIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#description IapWebTypeAppEngineIamMember#description}.

---

### IapWebTypeAppEngineIamMemberConfig <a name="IapWebTypeAppEngineIamMemberConfig" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.Initializer"></a>

```typescript
import { IapWebTypeAppEngineIamMemberConfig } from '@dschmidt/provider-google'

const iapWebTypeAppEngineIamMemberConfig: IapWebTypeAppEngineIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.appId">appId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#app_id IapWebTypeAppEngineIamMember#app_id}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#member IapWebTypeAppEngineIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#role IapWebTypeAppEngineIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition">IapWebTypeAppEngineIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#id IapWebTypeAppEngineIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#project IapWebTypeAppEngineIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#app_id IapWebTypeAppEngineIamMember#app_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#member IapWebTypeAppEngineIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#role IapWebTypeAppEngineIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: IapWebTypeAppEngineIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamMemberCondition">IapWebTypeAppEngineIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#condition IapWebTypeAppEngineIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#id IapWebTypeAppEngineIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeAppEngineIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_member#project IapWebTypeAppEngineIamMember#project}.

---

### IapWebTypeAppEngineIamPolicyConfig <a name="IapWebTypeAppEngineIamPolicyConfig" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.Initializer"></a>

```typescript
import { IapWebTypeAppEngineIamPolicyConfig } from '@dschmidt/provider-google'

const iapWebTypeAppEngineIamPolicyConfig: IapWebTypeAppEngineIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.appId">appId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_policy#app_id IapWebTypeAppEngineIamPolicy#app_id}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_policy#policy_data IapWebTypeAppEngineIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_policy#id IapWebTypeAppEngineIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_policy#project IapWebTypeAppEngineIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `appId`<sup>Required</sup> <a name="appId" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.appId"></a>

```typescript
public readonly appId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_policy#app_id IapWebTypeAppEngineIamPolicy#app_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_policy#policy_data IapWebTypeAppEngineIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_policy#id IapWebTypeAppEngineIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeAppEngineIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_app_engine_iam_policy#project IapWebTypeAppEngineIamPolicy#project}.

---

### IapWebTypeComputeIamBindingCondition <a name="IapWebTypeComputeIamBindingCondition" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition.Initializer"></a>

```typescript
import { IapWebTypeComputeIamBindingCondition } from '@dschmidt/provider-google'

const iapWebTypeComputeIamBindingCondition: IapWebTypeComputeIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#expression IapWebTypeComputeIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#title IapWebTypeComputeIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#description IapWebTypeComputeIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#expression IapWebTypeComputeIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#title IapWebTypeComputeIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#description IapWebTypeComputeIamBinding#description}.

---

### IapWebTypeComputeIamBindingConfig <a name="IapWebTypeComputeIamBindingConfig" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.Initializer"></a>

```typescript
import { IapWebTypeComputeIamBindingConfig } from '@dschmidt/provider-google'

const iapWebTypeComputeIamBindingConfig: IapWebTypeComputeIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#members IapWebTypeComputeIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#role IapWebTypeComputeIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition">IapWebTypeComputeIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#id IapWebTypeComputeIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#project IapWebTypeComputeIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#members IapWebTypeComputeIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#role IapWebTypeComputeIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: IapWebTypeComputeIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamBindingCondition">IapWebTypeComputeIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#condition IapWebTypeComputeIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#id IapWebTypeComputeIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeComputeIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_binding#project IapWebTypeComputeIamBinding#project}.

---

### IapWebTypeComputeIamMemberCondition <a name="IapWebTypeComputeIamMemberCondition" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition.Initializer"></a>

```typescript
import { IapWebTypeComputeIamMemberCondition } from '@dschmidt/provider-google'

const iapWebTypeComputeIamMemberCondition: IapWebTypeComputeIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#expression IapWebTypeComputeIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#title IapWebTypeComputeIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#description IapWebTypeComputeIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#expression IapWebTypeComputeIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#title IapWebTypeComputeIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#description IapWebTypeComputeIamMember#description}.

---

### IapWebTypeComputeIamMemberConfig <a name="IapWebTypeComputeIamMemberConfig" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.Initializer"></a>

```typescript
import { IapWebTypeComputeIamMemberConfig } from '@dschmidt/provider-google'

const iapWebTypeComputeIamMemberConfig: IapWebTypeComputeIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#member IapWebTypeComputeIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#role IapWebTypeComputeIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition">IapWebTypeComputeIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#id IapWebTypeComputeIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#project IapWebTypeComputeIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#member IapWebTypeComputeIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#role IapWebTypeComputeIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: IapWebTypeComputeIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.IapWebTypeComputeIamMemberCondition">IapWebTypeComputeIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#condition IapWebTypeComputeIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#id IapWebTypeComputeIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeComputeIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_member#project IapWebTypeComputeIamMember#project}.

---

### IapWebTypeComputeIamPolicyConfig <a name="IapWebTypeComputeIamPolicyConfig" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.Initializer"></a>

```typescript
import { IapWebTypeComputeIamPolicyConfig } from '@dschmidt/provider-google'

const iapWebTypeComputeIamPolicyConfig: IapWebTypeComputeIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_policy#policy_data IapWebTypeComputeIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_policy#id IapWebTypeComputeIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_policy#project IapWebTypeComputeIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_policy#policy_data IapWebTypeComputeIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_policy#id IapWebTypeComputeIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IapWebTypeComputeIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/iap_web_type_compute_iam_policy#project IapWebTypeComputeIamPolicy#project}.

---

### IdentityPlatformDefaultSupportedIdpConfigConfig <a name="IdentityPlatformDefaultSupportedIdpConfigConfig" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.Initializer"></a>

```typescript
import { IdentityPlatformDefaultSupportedIdpConfigConfig } from '@dschmidt/provider-google'

const identityPlatformDefaultSupportedIdpConfigConfig: IdentityPlatformDefaultSupportedIdpConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.clientId">clientId</a></code> | <code>string</code> | OAuth client ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.clientSecret">clientSecret</a></code> | <code>string</code> | OAuth client secret. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.idpId">idpId</a></code> | <code>string</code> | ID of the IDP. Possible values include:. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If this IDP allows the user to sign in. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#id IdentityPlatformDefaultSupportedIdpConfig#id}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#project IdentityPlatformDefaultSupportedIdpConfig#project}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts">IdentityPlatformDefaultSupportedIdpConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

OAuth client ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#client_id IdentityPlatformDefaultSupportedIdpConfig#client_id}

---

##### `clientSecret`<sup>Required</sup> <a name="clientSecret" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.clientSecret"></a>

```typescript
public readonly clientSecret: string;
```

- *Type:* string

OAuth client secret.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#client_secret IdentityPlatformDefaultSupportedIdpConfig#client_secret}

---

##### `idpId`<sup>Required</sup> <a name="idpId" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.idpId"></a>

```typescript
public readonly idpId: string;
```

- *Type:* string

ID of the IDP. Possible values include:.

'apple.com'

'facebook.com'

'gc.apple.com'

'github.com'

'google.com'

'linkedin.com'

'microsoft.com'

'playgames.google.com'

'twitter.com'

'yahoo.com'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#idp_id IdentityPlatformDefaultSupportedIdpConfig#idp_id}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If this IDP allows the user to sign in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#enabled IdentityPlatformDefaultSupportedIdpConfig#enabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#id IdentityPlatformDefaultSupportedIdpConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#project IdentityPlatformDefaultSupportedIdpConfig#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformDefaultSupportedIdpConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts">IdentityPlatformDefaultSupportedIdpConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#timeouts IdentityPlatformDefaultSupportedIdpConfig#timeouts}

---

### IdentityPlatformDefaultSupportedIdpConfigTimeouts <a name="IdentityPlatformDefaultSupportedIdpConfigTimeouts" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts.Initializer"></a>

```typescript
import { IdentityPlatformDefaultSupportedIdpConfigTimeouts } from '@dschmidt/provider-google'

const identityPlatformDefaultSupportedIdpConfigTimeouts: IdentityPlatformDefaultSupportedIdpConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#create IdentityPlatformDefaultSupportedIdpConfig#create}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#delete IdentityPlatformDefaultSupportedIdpConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#update IdentityPlatformDefaultSupportedIdpConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#create IdentityPlatformDefaultSupportedIdpConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#delete IdentityPlatformDefaultSupportedIdpConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.IdentityPlatformDefaultSupportedIdpConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_default_supported_idp_config#update IdentityPlatformDefaultSupportedIdpConfig#update}.

---

### IdentityPlatformInboundSamlConfigConfig <a name="IdentityPlatformInboundSamlConfigConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.Initializer"></a>

```typescript
import { IdentityPlatformInboundSamlConfigConfig } from '@dschmidt/provider-google'

const identityPlatformInboundSamlConfigConfig: IdentityPlatformInboundSamlConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.displayName">displayName</a></code> | <code>string</code> | Human friendly display name. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.idpConfig">idpConfig</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig">IdentityPlatformInboundSamlConfigIdpConfig</a></code> | idp_config block. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.name">name</a></code> | <code>string</code> | The name of the InboundSamlConfig resource. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.spConfig">spConfig</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig">IdentityPlatformInboundSamlConfigSpConfig</a></code> | sp_config block. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If this config allows users to sign in with the provider. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#id IdentityPlatformInboundSamlConfig#id}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#project IdentityPlatformInboundSamlConfig#project}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts">IdentityPlatformInboundSamlConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Human friendly display name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#display_name IdentityPlatformInboundSamlConfig#display_name}

---

##### `idpConfig`<sup>Required</sup> <a name="idpConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.idpConfig"></a>

```typescript
public readonly idpConfig: IdentityPlatformInboundSamlConfigIdpConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig">IdentityPlatformInboundSamlConfigIdpConfig</a>

idp_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#idp_config IdentityPlatformInboundSamlConfig#idp_config}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the InboundSamlConfig resource.

Must start with 'saml.' and can only have alphanumeric characters,
hyphens, underscores or periods. The part after 'saml.' must also start with a lowercase letter, end with an
alphanumeric character, and have at least 2 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#name IdentityPlatformInboundSamlConfig#name}

---

##### `spConfig`<sup>Required</sup> <a name="spConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.spConfig"></a>

```typescript
public readonly spConfig: IdentityPlatformInboundSamlConfigSpConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig">IdentityPlatformInboundSamlConfigSpConfig</a>

sp_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#sp_config IdentityPlatformInboundSamlConfig#sp_config}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If this config allows users to sign in with the provider.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#enabled IdentityPlatformInboundSamlConfig#enabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#id IdentityPlatformInboundSamlConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#project IdentityPlatformInboundSamlConfig#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformInboundSamlConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts">IdentityPlatformInboundSamlConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#timeouts IdentityPlatformInboundSamlConfig#timeouts}

---

### IdentityPlatformInboundSamlConfigIdpConfig <a name="IdentityPlatformInboundSamlConfigIdpConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig.Initializer"></a>

```typescript
import { IdentityPlatformInboundSamlConfigIdpConfig } from '@dschmidt/provider-google'

const identityPlatformInboundSamlConfigIdpConfig: IdentityPlatformInboundSamlConfigIdpConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig.property.idpCertificates">idpCertificates</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates">IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates</a>[]</code> | idp_certificates block. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig.property.idpEntityId">idpEntityId</a></code> | <code>string</code> | Unique identifier for all SAML entities. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig.property.ssoUrl">ssoUrl</a></code> | <code>string</code> | URL to send Authentication request to. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig.property.signRequest">signRequest</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if outbounding SAMLRequest should be signed. |

---

##### `idpCertificates`<sup>Required</sup> <a name="idpCertificates" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig.property.idpCertificates"></a>

```typescript
public readonly idpCertificates: IResolvable | IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates">IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates</a>[]

idp_certificates block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#idp_certificates IdentityPlatformInboundSamlConfig#idp_certificates}

---

##### `idpEntityId`<sup>Required</sup> <a name="idpEntityId" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig.property.idpEntityId"></a>

```typescript
public readonly idpEntityId: string;
```

- *Type:* string

Unique identifier for all SAML entities.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#idp_entity_id IdentityPlatformInboundSamlConfig#idp_entity_id}

---

##### `ssoUrl`<sup>Required</sup> <a name="ssoUrl" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig.property.ssoUrl"></a>

```typescript
public readonly ssoUrl: string;
```

- *Type:* string

URL to send Authentication request to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#sso_url IdentityPlatformInboundSamlConfig#sso_url}

---

##### `signRequest`<sup>Optional</sup> <a name="signRequest" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfig.property.signRequest"></a>

```typescript
public readonly signRequest: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if outbounding SAMLRequest should be signed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#sign_request IdentityPlatformInboundSamlConfig#sign_request}

---

### IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates <a name="IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates.Initializer"></a>

```typescript
import { IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates } from '@dschmidt/provider-google'

const identityPlatformInboundSamlConfigIdpConfigIdpCertificates: IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates.property.x509Certificate">x509Certificate</a></code> | <code>string</code> | The IdP's x509 certificate. |

---

##### `x509Certificate`<sup>Optional</sup> <a name="x509Certificate" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigIdpConfigIdpCertificates.property.x509Certificate"></a>

```typescript
public readonly x509Certificate: string;
```

- *Type:* string

The IdP's x509 certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#x509_certificate IdentityPlatformInboundSamlConfig#x509_certificate}

---

### IdentityPlatformInboundSamlConfigSpConfig <a name="IdentityPlatformInboundSamlConfigSpConfig" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig.Initializer"></a>

```typescript
import { IdentityPlatformInboundSamlConfigSpConfig } from '@dschmidt/provider-google'

const identityPlatformInboundSamlConfigSpConfig: IdentityPlatformInboundSamlConfigSpConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig.property.callbackUri">callbackUri</a></code> | <code>string</code> | Callback URI where responses from IDP are handled. Must start with 'https://'. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig.property.spEntityId">spEntityId</a></code> | <code>string</code> | Unique identifier for all SAML entities. |

---

##### `callbackUri`<sup>Optional</sup> <a name="callbackUri" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig.property.callbackUri"></a>

```typescript
public readonly callbackUri: string;
```

- *Type:* string

Callback URI where responses from IDP are handled. Must start with 'https://'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#callback_uri IdentityPlatformInboundSamlConfig#callback_uri}

---

##### `spEntityId`<sup>Optional</sup> <a name="spEntityId" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfig.property.spEntityId"></a>

```typescript
public readonly spEntityId: string;
```

- *Type:* string

Unique identifier for all SAML entities.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#sp_entity_id IdentityPlatformInboundSamlConfig#sp_entity_id}

---

### IdentityPlatformInboundSamlConfigSpConfigSpCertificates <a name="IdentityPlatformInboundSamlConfigSpConfigSpCertificates" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfigSpCertificates"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigSpConfigSpCertificates.Initializer"></a>

```typescript
import { IdentityPlatformInboundSamlConfigSpConfigSpCertificates } from '@dschmidt/provider-google'

const identityPlatformInboundSamlConfigSpConfigSpCertificates: IdentityPlatformInboundSamlConfigSpConfigSpCertificates = { ... }
```


### IdentityPlatformInboundSamlConfigTimeouts <a name="IdentityPlatformInboundSamlConfigTimeouts" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts.Initializer"></a>

```typescript
import { IdentityPlatformInboundSamlConfigTimeouts } from '@dschmidt/provider-google'

const identityPlatformInboundSamlConfigTimeouts: IdentityPlatformInboundSamlConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#create IdentityPlatformInboundSamlConfig#create}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#delete IdentityPlatformInboundSamlConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#update IdentityPlatformInboundSamlConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#create IdentityPlatformInboundSamlConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#delete IdentityPlatformInboundSamlConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.IdentityPlatformInboundSamlConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_inbound_saml_config#update IdentityPlatformInboundSamlConfig#update}.

---

### IdentityPlatformOauthIdpConfigConfig <a name="IdentityPlatformOauthIdpConfigConfig" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.Initializer"></a>

```typescript
import { IdentityPlatformOauthIdpConfigConfig } from '@dschmidt/provider-google'

const identityPlatformOauthIdpConfigConfig: IdentityPlatformOauthIdpConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.clientId">clientId</a></code> | <code>string</code> | The client id of an OAuth client. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.issuer">issuer</a></code> | <code>string</code> | For OIDC Idps, the issuer identifier. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.name">name</a></code> | <code>string</code> | The name of the OauthIdpConfig. Must start with 'oidc.'. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.clientSecret">clientSecret</a></code> | <code>string</code> | The client secret of the OAuth client, to enable OIDC code flow. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.displayName">displayName</a></code> | <code>string</code> | Human friendly display name. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If this config allows users to sign in with the provider. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#id IdentityPlatformOauthIdpConfig#id}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#project IdentityPlatformOauthIdpConfig#project}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts">IdentityPlatformOauthIdpConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

The client id of an OAuth client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#client_id IdentityPlatformOauthIdpConfig#client_id}

---

##### `issuer`<sup>Required</sup> <a name="issuer" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.issuer"></a>

```typescript
public readonly issuer: string;
```

- *Type:* string

For OIDC Idps, the issuer identifier.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#issuer IdentityPlatformOauthIdpConfig#issuer}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the OauthIdpConfig. Must start with 'oidc.'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#name IdentityPlatformOauthIdpConfig#name}

---

##### `clientSecret`<sup>Optional</sup> <a name="clientSecret" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.clientSecret"></a>

```typescript
public readonly clientSecret: string;
```

- *Type:* string

The client secret of the OAuth client, to enable OIDC code flow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#client_secret IdentityPlatformOauthIdpConfig#client_secret}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Human friendly display name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#display_name IdentityPlatformOauthIdpConfig#display_name}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If this config allows users to sign in with the provider.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#enabled IdentityPlatformOauthIdpConfig#enabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#id IdentityPlatformOauthIdpConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#project IdentityPlatformOauthIdpConfig#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformOauthIdpConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts">IdentityPlatformOauthIdpConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#timeouts IdentityPlatformOauthIdpConfig#timeouts}

---

### IdentityPlatformOauthIdpConfigTimeouts <a name="IdentityPlatformOauthIdpConfigTimeouts" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts.Initializer"></a>

```typescript
import { IdentityPlatformOauthIdpConfigTimeouts } from '@dschmidt/provider-google'

const identityPlatformOauthIdpConfigTimeouts: IdentityPlatformOauthIdpConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#create IdentityPlatformOauthIdpConfig#create}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#delete IdentityPlatformOauthIdpConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#update IdentityPlatformOauthIdpConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#create IdentityPlatformOauthIdpConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#delete IdentityPlatformOauthIdpConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.IdentityPlatformOauthIdpConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_oauth_idp_config#update IdentityPlatformOauthIdpConfig#update}.

---

### IdentityPlatformTenantConfig <a name="IdentityPlatformTenantConfig" id="@dschmidt/provider-google.IdentityPlatformTenantConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.Initializer"></a>

```typescript
import { IdentityPlatformTenantConfig } from '@dschmidt/provider-google'

const identityPlatformTenantConfig: IdentityPlatformTenantConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.displayName">displayName</a></code> | <code>string</code> | Human friendly display name of the tenant. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.allowPasswordSignup">allowPasswordSignup</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to allow email/password user authentication. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.disableAuth">disableAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether authentication is disabled for the tenant. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.enableEmailLinkSignin">enableEmailLinkSignin</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to enable email link user authentication. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#id IdentityPlatformTenant#id}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#project IdentityPlatformTenant#project}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeouts">IdentityPlatformTenantTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Human friendly display name of the tenant.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#display_name IdentityPlatformTenant#display_name}

---

##### `allowPasswordSignup`<sup>Optional</sup> <a name="allowPasswordSignup" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.allowPasswordSignup"></a>

```typescript
public readonly allowPasswordSignup: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to allow email/password user authentication.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#allow_password_signup IdentityPlatformTenant#allow_password_signup}

---

##### `disableAuth`<sup>Optional</sup> <a name="disableAuth" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.disableAuth"></a>

```typescript
public readonly disableAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether authentication is disabled for the tenant.

If true, the users under
the disabled tenant are not allowed to sign-in. Admins of the disabled tenant
are not able to manage its users.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#disable_auth IdentityPlatformTenant#disable_auth}

---

##### `enableEmailLinkSignin`<sup>Optional</sup> <a name="enableEmailLinkSignin" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.enableEmailLinkSignin"></a>

```typescript
public readonly enableEmailLinkSignin: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to enable email link user authentication.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#enable_email_link_signin IdentityPlatformTenant#enable_email_link_signin}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#id IdentityPlatformTenant#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#project IdentityPlatformTenant#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformTenantConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformTenantTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeouts">IdentityPlatformTenantTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#timeouts IdentityPlatformTenant#timeouts}

---

### IdentityPlatformTenantDefaultSupportedIdpConfigConfig <a name="IdentityPlatformTenantDefaultSupportedIdpConfigConfig" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.Initializer"></a>

```typescript
import { IdentityPlatformTenantDefaultSupportedIdpConfigConfig } from '@dschmidt/provider-google'

const identityPlatformTenantDefaultSupportedIdpConfigConfig: IdentityPlatformTenantDefaultSupportedIdpConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.clientId">clientId</a></code> | <code>string</code> | OAuth client ID. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.clientSecret">clientSecret</a></code> | <code>string</code> | OAuth client secret. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.idpId">idpId</a></code> | <code>string</code> | ID of the IDP. Possible values include:. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.tenant">tenant</a></code> | <code>string</code> | The name of the tenant where this DefaultSupportedIdpConfig resource exists. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If this IDP allows the user to sign in. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#id IdentityPlatformTenantDefaultSupportedIdpConfig#id}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#project IdentityPlatformTenantDefaultSupportedIdpConfig#project}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts">IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

OAuth client ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#client_id IdentityPlatformTenantDefaultSupportedIdpConfig#client_id}

---

##### `clientSecret`<sup>Required</sup> <a name="clientSecret" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.clientSecret"></a>

```typescript
public readonly clientSecret: string;
```

- *Type:* string

OAuth client secret.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#client_secret IdentityPlatformTenantDefaultSupportedIdpConfig#client_secret}

---

##### `idpId`<sup>Required</sup> <a name="idpId" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.idpId"></a>

```typescript
public readonly idpId: string;
```

- *Type:* string

ID of the IDP. Possible values include:.

'apple.com'

'facebook.com'

'gc.apple.com'

'github.com'

'google.com'

'linkedin.com'

'microsoft.com'

'playgames.google.com'

'twitter.com'

'yahoo.com'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#idp_id IdentityPlatformTenantDefaultSupportedIdpConfig#idp_id}

---

##### `tenant`<sup>Required</sup> <a name="tenant" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.tenant"></a>

```typescript
public readonly tenant: string;
```

- *Type:* string

The name of the tenant where this DefaultSupportedIdpConfig resource exists.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#tenant IdentityPlatformTenantDefaultSupportedIdpConfig#tenant}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If this IDP allows the user to sign in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#enabled IdentityPlatformTenantDefaultSupportedIdpConfig#enabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#id IdentityPlatformTenantDefaultSupportedIdpConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#project IdentityPlatformTenantDefaultSupportedIdpConfig#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts">IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#timeouts IdentityPlatformTenantDefaultSupportedIdpConfig#timeouts}

---

### IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts <a name="IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts.Initializer"></a>

```typescript
import { IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts } from '@dschmidt/provider-google'

const identityPlatformTenantDefaultSupportedIdpConfigTimeouts: IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#create IdentityPlatformTenantDefaultSupportedIdpConfig#create}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#delete IdentityPlatformTenantDefaultSupportedIdpConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#update IdentityPlatformTenantDefaultSupportedIdpConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#create IdentityPlatformTenantDefaultSupportedIdpConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#delete IdentityPlatformTenantDefaultSupportedIdpConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.IdentityPlatformTenantDefaultSupportedIdpConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_default_supported_idp_config#update IdentityPlatformTenantDefaultSupportedIdpConfig#update}.

---

### IdentityPlatformTenantInboundSamlConfigConfig <a name="IdentityPlatformTenantInboundSamlConfigConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.Initializer"></a>

```typescript
import { IdentityPlatformTenantInboundSamlConfigConfig } from '@dschmidt/provider-google'

const identityPlatformTenantInboundSamlConfigConfig: IdentityPlatformTenantInboundSamlConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.displayName">displayName</a></code> | <code>string</code> | Human friendly display name. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.idpConfig">idpConfig</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig">IdentityPlatformTenantInboundSamlConfigIdpConfig</a></code> | idp_config block. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.name">name</a></code> | <code>string</code> | The name of the InboundSamlConfig resource. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.spConfig">spConfig</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig">IdentityPlatformTenantInboundSamlConfigSpConfig</a></code> | sp_config block. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.tenant">tenant</a></code> | <code>string</code> | The name of the tenant where this inbound SAML config resource exists. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If this config allows users to sign in with the provider. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#id IdentityPlatformTenantInboundSamlConfig#id}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#project IdentityPlatformTenantInboundSamlConfig#project}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts">IdentityPlatformTenantInboundSamlConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Human friendly display name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#display_name IdentityPlatformTenantInboundSamlConfig#display_name}

---

##### `idpConfig`<sup>Required</sup> <a name="idpConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.idpConfig"></a>

```typescript
public readonly idpConfig: IdentityPlatformTenantInboundSamlConfigIdpConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig">IdentityPlatformTenantInboundSamlConfigIdpConfig</a>

idp_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#idp_config IdentityPlatformTenantInboundSamlConfig#idp_config}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the InboundSamlConfig resource.

Must start with 'saml.' and can only have alphanumeric characters,
hyphens, underscores or periods. The part after 'saml.' must also start with a lowercase letter, end with an
alphanumeric character, and have at least 2 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#name IdentityPlatformTenantInboundSamlConfig#name}

---

##### `spConfig`<sup>Required</sup> <a name="spConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.spConfig"></a>

```typescript
public readonly spConfig: IdentityPlatformTenantInboundSamlConfigSpConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig">IdentityPlatformTenantInboundSamlConfigSpConfig</a>

sp_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#sp_config IdentityPlatformTenantInboundSamlConfig#sp_config}

---

##### `tenant`<sup>Required</sup> <a name="tenant" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.tenant"></a>

```typescript
public readonly tenant: string;
```

- *Type:* string

The name of the tenant where this inbound SAML config resource exists.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#tenant IdentityPlatformTenantInboundSamlConfig#tenant}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If this config allows users to sign in with the provider.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#enabled IdentityPlatformTenantInboundSamlConfig#enabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#id IdentityPlatformTenantInboundSamlConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#project IdentityPlatformTenantInboundSamlConfig#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformTenantInboundSamlConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts">IdentityPlatformTenantInboundSamlConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#timeouts IdentityPlatformTenantInboundSamlConfig#timeouts}

---

### IdentityPlatformTenantInboundSamlConfigIdpConfig <a name="IdentityPlatformTenantInboundSamlConfigIdpConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig.Initializer"></a>

```typescript
import { IdentityPlatformTenantInboundSamlConfigIdpConfig } from '@dschmidt/provider-google'

const identityPlatformTenantInboundSamlConfigIdpConfig: IdentityPlatformTenantInboundSamlConfigIdpConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig.property.idpCertificates">idpCertificates</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates">IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates</a>[]</code> | idp_certificates block. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig.property.idpEntityId">idpEntityId</a></code> | <code>string</code> | Unique identifier for all SAML entities. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig.property.ssoUrl">ssoUrl</a></code> | <code>string</code> | URL to send Authentication request to. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig.property.signRequest">signRequest</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates if outbounding SAMLRequest should be signed. |

---

##### `idpCertificates`<sup>Required</sup> <a name="idpCertificates" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig.property.idpCertificates"></a>

```typescript
public readonly idpCertificates: IResolvable | IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates">IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates</a>[]

idp_certificates block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#idp_certificates IdentityPlatformTenantInboundSamlConfig#idp_certificates}

---

##### `idpEntityId`<sup>Required</sup> <a name="idpEntityId" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig.property.idpEntityId"></a>

```typescript
public readonly idpEntityId: string;
```

- *Type:* string

Unique identifier for all SAML entities.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#idp_entity_id IdentityPlatformTenantInboundSamlConfig#idp_entity_id}

---

##### `ssoUrl`<sup>Required</sup> <a name="ssoUrl" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig.property.ssoUrl"></a>

```typescript
public readonly ssoUrl: string;
```

- *Type:* string

URL to send Authentication request to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#sso_url IdentityPlatformTenantInboundSamlConfig#sso_url}

---

##### `signRequest`<sup>Optional</sup> <a name="signRequest" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfig.property.signRequest"></a>

```typescript
public readonly signRequest: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates if outbounding SAMLRequest should be signed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#sign_request IdentityPlatformTenantInboundSamlConfig#sign_request}

---

### IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates <a name="IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates.Initializer"></a>

```typescript
import { IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates } from '@dschmidt/provider-google'

const identityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates: IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates.property.x509Certificate">x509Certificate</a></code> | <code>string</code> | The x509 certificate. |

---

##### `x509Certificate`<sup>Optional</sup> <a name="x509Certificate" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigIdpConfigIdpCertificates.property.x509Certificate"></a>

```typescript
public readonly x509Certificate: string;
```

- *Type:* string

The x509 certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#x509_certificate IdentityPlatformTenantInboundSamlConfig#x509_certificate}

---

### IdentityPlatformTenantInboundSamlConfigSpConfig <a name="IdentityPlatformTenantInboundSamlConfigSpConfig" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig.Initializer"></a>

```typescript
import { IdentityPlatformTenantInboundSamlConfigSpConfig } from '@dschmidt/provider-google'

const identityPlatformTenantInboundSamlConfigSpConfig: IdentityPlatformTenantInboundSamlConfigSpConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig.property.callbackUri">callbackUri</a></code> | <code>string</code> | Callback URI where responses from IDP are handled. Must start with 'https://'. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig.property.spEntityId">spEntityId</a></code> | <code>string</code> | Unique identifier for all SAML entities. |

---

##### `callbackUri`<sup>Required</sup> <a name="callbackUri" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig.property.callbackUri"></a>

```typescript
public readonly callbackUri: string;
```

- *Type:* string

Callback URI where responses from IDP are handled. Must start with 'https://'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#callback_uri IdentityPlatformTenantInboundSamlConfig#callback_uri}

---

##### `spEntityId`<sup>Required</sup> <a name="spEntityId" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfig.property.spEntityId"></a>

```typescript
public readonly spEntityId: string;
```

- *Type:* string

Unique identifier for all SAML entities.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#sp_entity_id IdentityPlatformTenantInboundSamlConfig#sp_entity_id}

---

### IdentityPlatformTenantInboundSamlConfigSpConfigSpCertificates <a name="IdentityPlatformTenantInboundSamlConfigSpConfigSpCertificates" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfigSpCertificates"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigSpConfigSpCertificates.Initializer"></a>

```typescript
import { IdentityPlatformTenantInboundSamlConfigSpConfigSpCertificates } from '@dschmidt/provider-google'

const identityPlatformTenantInboundSamlConfigSpConfigSpCertificates: IdentityPlatformTenantInboundSamlConfigSpConfigSpCertificates = { ... }
```


### IdentityPlatformTenantInboundSamlConfigTimeouts <a name="IdentityPlatformTenantInboundSamlConfigTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts.Initializer"></a>

```typescript
import { IdentityPlatformTenantInboundSamlConfigTimeouts } from '@dschmidt/provider-google'

const identityPlatformTenantInboundSamlConfigTimeouts: IdentityPlatformTenantInboundSamlConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#create IdentityPlatformTenantInboundSamlConfig#create}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#delete IdentityPlatformTenantInboundSamlConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#update IdentityPlatformTenantInboundSamlConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#create IdentityPlatformTenantInboundSamlConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#delete IdentityPlatformTenantInboundSamlConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.IdentityPlatformTenantInboundSamlConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_inbound_saml_config#update IdentityPlatformTenantInboundSamlConfig#update}.

---

### IdentityPlatformTenantOauthIdpConfigConfig <a name="IdentityPlatformTenantOauthIdpConfigConfig" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.Initializer"></a>

```typescript
import { IdentityPlatformTenantOauthIdpConfigConfig } from '@dschmidt/provider-google'

const identityPlatformTenantOauthIdpConfigConfig: IdentityPlatformTenantOauthIdpConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.clientId">clientId</a></code> | <code>string</code> | The client id of an OAuth client. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.displayName">displayName</a></code> | <code>string</code> | Human friendly display name. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.issuer">issuer</a></code> | <code>string</code> | For OIDC Idps, the issuer identifier. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.name">name</a></code> | <code>string</code> | The name of the OauthIdpConfig. Must start with 'oidc.'. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.tenant">tenant</a></code> | <code>string</code> | The name of the tenant where this OIDC IDP configuration resource exists. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.clientSecret">clientSecret</a></code> | <code>string</code> | The client secret of the OAuth client, to enable OIDC code flow. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If this config allows users to sign in with the provider. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#id IdentityPlatformTenantOauthIdpConfig#id}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#project IdentityPlatformTenantOauthIdpConfig#project}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts">IdentityPlatformTenantOauthIdpConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `clientId`<sup>Required</sup> <a name="clientId" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.clientId"></a>

```typescript
public readonly clientId: string;
```

- *Type:* string

The client id of an OAuth client.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#client_id IdentityPlatformTenantOauthIdpConfig#client_id}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Human friendly display name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#display_name IdentityPlatformTenantOauthIdpConfig#display_name}

---

##### `issuer`<sup>Required</sup> <a name="issuer" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.issuer"></a>

```typescript
public readonly issuer: string;
```

- *Type:* string

For OIDC Idps, the issuer identifier.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#issuer IdentityPlatformTenantOauthIdpConfig#issuer}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the OauthIdpConfig. Must start with 'oidc.'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#name IdentityPlatformTenantOauthIdpConfig#name}

---

##### `tenant`<sup>Required</sup> <a name="tenant" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.tenant"></a>

```typescript
public readonly tenant: string;
```

- *Type:* string

The name of the tenant where this OIDC IDP configuration resource exists.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#tenant IdentityPlatformTenantOauthIdpConfig#tenant}

---

##### `clientSecret`<sup>Optional</sup> <a name="clientSecret" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.clientSecret"></a>

```typescript
public readonly clientSecret: string;
```

- *Type:* string

The client secret of the OAuth client, to enable OIDC code flow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#client_secret IdentityPlatformTenantOauthIdpConfig#client_secret}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If this config allows users to sign in with the provider.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#enabled IdentityPlatformTenantOauthIdpConfig#enabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#id IdentityPlatformTenantOauthIdpConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#project IdentityPlatformTenantOauthIdpConfig#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: IdentityPlatformTenantOauthIdpConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts">IdentityPlatformTenantOauthIdpConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#timeouts IdentityPlatformTenantOauthIdpConfig#timeouts}

---

### IdentityPlatformTenantOauthIdpConfigTimeouts <a name="IdentityPlatformTenantOauthIdpConfigTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts.Initializer"></a>

```typescript
import { IdentityPlatformTenantOauthIdpConfigTimeouts } from '@dschmidt/provider-google'

const identityPlatformTenantOauthIdpConfigTimeouts: IdentityPlatformTenantOauthIdpConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#create IdentityPlatformTenantOauthIdpConfig#create}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#delete IdentityPlatformTenantOauthIdpConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#update IdentityPlatformTenantOauthIdpConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#create IdentityPlatformTenantOauthIdpConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#delete IdentityPlatformTenantOauthIdpConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.IdentityPlatformTenantOauthIdpConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant_oauth_idp_config#update IdentityPlatformTenantOauthIdpConfig#update}.

---

### IdentityPlatformTenantTimeouts <a name="IdentityPlatformTenantTimeouts" id="@dschmidt/provider-google.IdentityPlatformTenantTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.IdentityPlatformTenantTimeouts.Initializer"></a>

```typescript
import { IdentityPlatformTenantTimeouts } from '@dschmidt/provider-google'

const identityPlatformTenantTimeouts: IdentityPlatformTenantTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#create IdentityPlatformTenant#create}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#delete IdentityPlatformTenant#delete}. |
| <code><a href="#@dschmidt/provider-google.IdentityPlatformTenantTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#update IdentityPlatformTenant#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.IdentityPlatformTenantTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#create IdentityPlatformTenant#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.IdentityPlatformTenantTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#delete IdentityPlatformTenant#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.IdentityPlatformTenantTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/identity_platform_tenant#update IdentityPlatformTenant#update}.

---

### KmsCryptoKeyConfig <a name="KmsCryptoKeyConfig" id="@dschmidt/provider-google.KmsCryptoKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsCryptoKeyConfig.Initializer"></a>

```typescript
import { KmsCryptoKeyConfig } from '@dschmidt/provider-google'

const kmsCryptoKeyConfig: KmsCryptoKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.keyRing">keyRing</a></code> | <code>string</code> | The KeyRing that this key belongs to. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.name">name</a></code> | <code>string</code> | The resource name for the CryptoKey. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.destroyScheduledDuration">destroyScheduledDuration</a></code> | <code>string</code> | The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#id KmsCryptoKey#id}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.importOnly">importOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this key may contain imported versions only. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels with user-defined metadata to apply to this resource. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.purpose">purpose</a></code> | <code>string</code> | The immutable purpose of this CryptoKey. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.rotationPeriod">rotationPeriod</a></code> | <code>string</code> | Every time this period passes, generate a new CryptoKeyVersion and set it as the primary. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.skipInitialVersionCreation">skipInitialVersionCreation</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the request will create a CryptoKey without any CryptoKeyVersions. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyTimeouts">KmsCryptoKeyTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyConfig.property.versionTemplate">versionTemplate</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyVersionTemplate">KmsCryptoKeyVersionTemplate</a></code> | version_template block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `keyRing`<sup>Required</sup> <a name="keyRing" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.keyRing"></a>

```typescript
public readonly keyRing: string;
```

- *Type:* string

The KeyRing that this key belongs to. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#key_ring KmsCryptoKey#key_ring}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name for the CryptoKey.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#name KmsCryptoKey#name}

---

##### `destroyScheduledDuration`<sup>Optional</sup> <a name="destroyScheduledDuration" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.destroyScheduledDuration"></a>

```typescript
public readonly destroyScheduledDuration: string;
```

- *Type:* string

The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.

If not specified at creation time, the default duration is 24 hours.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#destroy_scheduled_duration KmsCryptoKey#destroy_scheduled_duration}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#id KmsCryptoKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `importOnly`<sup>Optional</sup> <a name="importOnly" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.importOnly"></a>

```typescript
public readonly importOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this key may contain imported versions only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#import_only KmsCryptoKey#import_only}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels with user-defined metadata to apply to this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#labels KmsCryptoKey#labels}

---

##### `purpose`<sup>Optional</sup> <a name="purpose" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.purpose"></a>

```typescript
public readonly purpose: string;
```

- *Type:* string

The immutable purpose of this CryptoKey.

See the
[purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose)
for possible inputs. Default value: "ENCRYPT_DECRYPT" Possible values: ["ENCRYPT_DECRYPT", "ASYMMETRIC_SIGN", "ASYMMETRIC_DECRYPT", "MAC"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#purpose KmsCryptoKey#purpose}

---

##### `rotationPeriod`<sup>Optional</sup> <a name="rotationPeriod" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.rotationPeriod"></a>

```typescript
public readonly rotationPeriod: string;
```

- *Type:* string

Every time this period passes, generate a new CryptoKeyVersion and set it as the primary.

The first rotation will take place after the specified period. The rotation period has
the format of a decimal number with up to 9 fractional digits, followed by the
letter 's' (seconds). It must be greater than a day (ie, 86400).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#rotation_period KmsCryptoKey#rotation_period}

---

##### `skipInitialVersionCreation`<sup>Optional</sup> <a name="skipInitialVersionCreation" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.skipInitialVersionCreation"></a>

```typescript
public readonly skipInitialVersionCreation: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the request will create a CryptoKey without any CryptoKeyVersions.

You must use the 'google_kms_key_ring_import_job' resource to import the CryptoKeyVersion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#skip_initial_version_creation KmsCryptoKey#skip_initial_version_creation}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: KmsCryptoKeyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyTimeouts">KmsCryptoKeyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#timeouts KmsCryptoKey#timeouts}

---

##### `versionTemplate`<sup>Optional</sup> <a name="versionTemplate" id="@dschmidt/provider-google.KmsCryptoKeyConfig.property.versionTemplate"></a>

```typescript
public readonly versionTemplate: KmsCryptoKeyVersionTemplate;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyVersionTemplate">KmsCryptoKeyVersionTemplate</a>

version_template block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#version_template KmsCryptoKey#version_template}

---

### KmsCryptoKeyIamBindingCondition <a name="KmsCryptoKeyIamBindingCondition" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition.Initializer"></a>

```typescript
import { KmsCryptoKeyIamBindingCondition } from '@dschmidt/provider-google'

const kmsCryptoKeyIamBindingCondition: KmsCryptoKeyIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#expression KmsCryptoKeyIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#title KmsCryptoKeyIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#description KmsCryptoKeyIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#expression KmsCryptoKeyIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#title KmsCryptoKeyIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#description KmsCryptoKeyIamBinding#description}.

---

### KmsCryptoKeyIamBindingConfig <a name="KmsCryptoKeyIamBindingConfig" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.Initializer"></a>

```typescript
import { KmsCryptoKeyIamBindingConfig } from '@dschmidt/provider-google'

const kmsCryptoKeyIamBindingConfig: KmsCryptoKeyIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.cryptoKeyId">cryptoKeyId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#crypto_key_id KmsCryptoKeyIamBinding#crypto_key_id}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#members KmsCryptoKeyIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#role KmsCryptoKeyIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition">KmsCryptoKeyIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#id KmsCryptoKeyIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cryptoKeyId`<sup>Required</sup> <a name="cryptoKeyId" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.cryptoKeyId"></a>

```typescript
public readonly cryptoKeyId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#crypto_key_id KmsCryptoKeyIamBinding#crypto_key_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#members KmsCryptoKeyIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#role KmsCryptoKeyIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: KmsCryptoKeyIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamBindingCondition">KmsCryptoKeyIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#condition KmsCryptoKeyIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_binding#id KmsCryptoKeyIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### KmsCryptoKeyIamMemberCondition <a name="KmsCryptoKeyIamMemberCondition" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition.Initializer"></a>

```typescript
import { KmsCryptoKeyIamMemberCondition } from '@dschmidt/provider-google'

const kmsCryptoKeyIamMemberCondition: KmsCryptoKeyIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#expression KmsCryptoKeyIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#title KmsCryptoKeyIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#description KmsCryptoKeyIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#expression KmsCryptoKeyIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#title KmsCryptoKeyIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#description KmsCryptoKeyIamMember#description}.

---

### KmsCryptoKeyIamMemberConfig <a name="KmsCryptoKeyIamMemberConfig" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.Initializer"></a>

```typescript
import { KmsCryptoKeyIamMemberConfig } from '@dschmidt/provider-google'

const kmsCryptoKeyIamMemberConfig: KmsCryptoKeyIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.cryptoKeyId">cryptoKeyId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#crypto_key_id KmsCryptoKeyIamMember#crypto_key_id}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#member KmsCryptoKeyIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#role KmsCryptoKeyIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition">KmsCryptoKeyIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#id KmsCryptoKeyIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cryptoKeyId`<sup>Required</sup> <a name="cryptoKeyId" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.cryptoKeyId"></a>

```typescript
public readonly cryptoKeyId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#crypto_key_id KmsCryptoKeyIamMember#crypto_key_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#member KmsCryptoKeyIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#role KmsCryptoKeyIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: KmsCryptoKeyIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsCryptoKeyIamMemberCondition">KmsCryptoKeyIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#condition KmsCryptoKeyIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_member#id KmsCryptoKeyIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### KmsCryptoKeyIamPolicyConfig <a name="KmsCryptoKeyIamPolicyConfig" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.Initializer"></a>

```typescript
import { KmsCryptoKeyIamPolicyConfig } from '@dschmidt/provider-google'

const kmsCryptoKeyIamPolicyConfig: KmsCryptoKeyIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.cryptoKeyId">cryptoKeyId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_policy#crypto_key_id KmsCryptoKeyIamPolicy#crypto_key_id}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_policy#policy_data KmsCryptoKeyIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_policy#id KmsCryptoKeyIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cryptoKeyId`<sup>Required</sup> <a name="cryptoKeyId" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.cryptoKeyId"></a>

```typescript
public readonly cryptoKeyId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_policy#crypto_key_id KmsCryptoKeyIamPolicy#crypto_key_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_policy#policy_data KmsCryptoKeyIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsCryptoKeyIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key_iam_policy#id KmsCryptoKeyIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### KmsCryptoKeyTimeouts <a name="KmsCryptoKeyTimeouts" id="@dschmidt/provider-google.KmsCryptoKeyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsCryptoKeyTimeouts.Initializer"></a>

```typescript
import { KmsCryptoKeyTimeouts } from '@dschmidt/provider-google'

const kmsCryptoKeyTimeouts: KmsCryptoKeyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#create KmsCryptoKey#create}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#delete KmsCryptoKey#delete}. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#update KmsCryptoKey#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.KmsCryptoKeyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#create KmsCryptoKey#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.KmsCryptoKeyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#delete KmsCryptoKey#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.KmsCryptoKeyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#update KmsCryptoKey#update}.

---

### KmsCryptoKeyVersionTemplate <a name="KmsCryptoKeyVersionTemplate" id="@dschmidt/provider-google.KmsCryptoKeyVersionTemplate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsCryptoKeyVersionTemplate.Initializer"></a>

```typescript
import { KmsCryptoKeyVersionTemplate } from '@dschmidt/provider-google'

const kmsCryptoKeyVersionTemplate: KmsCryptoKeyVersionTemplate = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyVersionTemplate.property.algorithm">algorithm</a></code> | <code>string</code> | The algorithm to use when creating a version based on this template. See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs. |
| <code><a href="#@dschmidt/provider-google.KmsCryptoKeyVersionTemplate.property.protectionLevel">protectionLevel</a></code> | <code>string</code> | The protection level to use when creating a version based on this template. |

---

##### `algorithm`<sup>Required</sup> <a name="algorithm" id="@dschmidt/provider-google.KmsCryptoKeyVersionTemplate.property.algorithm"></a>

```typescript
public readonly algorithm: string;
```

- *Type:* string

The algorithm to use when creating a version based on this template. See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#algorithm KmsCryptoKey#algorithm}

---

##### `protectionLevel`<sup>Optional</sup> <a name="protectionLevel" id="@dschmidt/provider-google.KmsCryptoKeyVersionTemplate.property.protectionLevel"></a>

```typescript
public readonly protectionLevel: string;
```

- *Type:* string

The protection level to use when creating a version based on this template.

Possible values include "SOFTWARE", "HSM", "EXTERNAL", "EXTERNAL_VPC". Defaults to "SOFTWARE".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_crypto_key#protection_level KmsCryptoKey#protection_level}

---

### KmsKeyRingConfig <a name="KmsKeyRingConfig" id="@dschmidt/provider-google.KmsKeyRingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingConfig.Initializer"></a>

```typescript
import { KmsKeyRingConfig } from '@dschmidt/provider-google'

const kmsKeyRingConfig: KmsKeyRingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.location">location</a></code> | <code>string</code> | The location for the KeyRing. A full list of valid locations can be found by running 'gcloud kms locations list'. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.name">name</a></code> | <code>string</code> | The resource name for the KeyRing. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#id KmsKeyRing#id}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#project KmsKeyRing#project}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingTimeouts">KmsKeyRingTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.KmsKeyRingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the KeyRing. A full list of valid locations can be found by running 'gcloud kms locations list'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#location KmsKeyRing#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.KmsKeyRingConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name for the KeyRing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#name KmsKeyRing#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#id KmsKeyRing#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.KmsKeyRingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#project KmsKeyRing#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.KmsKeyRingConfig.property.timeouts"></a>

```typescript
public readonly timeouts: KmsKeyRingTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingTimeouts">KmsKeyRingTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#timeouts KmsKeyRing#timeouts}

---

### KmsKeyRingIamBindingCondition <a name="KmsKeyRingIamBindingCondition" id="@dschmidt/provider-google.KmsKeyRingIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingIamBindingCondition.Initializer"></a>

```typescript
import { KmsKeyRingIamBindingCondition } from '@dschmidt/provider-google'

const kmsKeyRingIamBindingCondition: KmsKeyRingIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#expression KmsKeyRingIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#title KmsKeyRingIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#description KmsKeyRingIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.KmsKeyRingIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#expression KmsKeyRingIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.KmsKeyRingIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#title KmsKeyRingIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.KmsKeyRingIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#description KmsKeyRingIamBinding#description}.

---

### KmsKeyRingIamBindingConfig <a name="KmsKeyRingIamBindingConfig" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.Initializer"></a>

```typescript
import { KmsKeyRingIamBindingConfig } from '@dschmidt/provider-google'

const kmsKeyRingIamBindingConfig: KmsKeyRingIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.keyRingId">keyRingId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#key_ring_id KmsKeyRingIamBinding#key_ring_id}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#members KmsKeyRingIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#role KmsKeyRingIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingCondition">KmsKeyRingIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#id KmsKeyRingIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `keyRingId`<sup>Required</sup> <a name="keyRingId" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.keyRingId"></a>

```typescript
public readonly keyRingId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#key_ring_id KmsKeyRingIamBinding#key_ring_id}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#members KmsKeyRingIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#role KmsKeyRingIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: KmsKeyRingIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamBindingCondition">KmsKeyRingIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#condition KmsKeyRingIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_binding#id KmsKeyRingIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### KmsKeyRingIamMemberCondition <a name="KmsKeyRingIamMemberCondition" id="@dschmidt/provider-google.KmsKeyRingIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingIamMemberCondition.Initializer"></a>

```typescript
import { KmsKeyRingIamMemberCondition } from '@dschmidt/provider-google'

const kmsKeyRingIamMemberCondition: KmsKeyRingIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#expression KmsKeyRingIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#title KmsKeyRingIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#description KmsKeyRingIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.KmsKeyRingIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#expression KmsKeyRingIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.KmsKeyRingIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#title KmsKeyRingIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.KmsKeyRingIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#description KmsKeyRingIamMember#description}.

---

### KmsKeyRingIamMemberConfig <a name="KmsKeyRingIamMemberConfig" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.Initializer"></a>

```typescript
import { KmsKeyRingIamMemberConfig } from '@dschmidt/provider-google'

const kmsKeyRingIamMemberConfig: KmsKeyRingIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.keyRingId">keyRingId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#key_ring_id KmsKeyRingIamMember#key_ring_id}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#member KmsKeyRingIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#role KmsKeyRingIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberCondition">KmsKeyRingIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#id KmsKeyRingIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `keyRingId`<sup>Required</sup> <a name="keyRingId" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.keyRingId"></a>

```typescript
public readonly keyRingId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#key_ring_id KmsKeyRingIamMember#key_ring_id}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#member KmsKeyRingIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#role KmsKeyRingIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: KmsKeyRingIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingIamMemberCondition">KmsKeyRingIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#condition KmsKeyRingIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_member#id KmsKeyRingIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### KmsKeyRingIamPolicyConfig <a name="KmsKeyRingIamPolicyConfig" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.Initializer"></a>

```typescript
import { KmsKeyRingIamPolicyConfig } from '@dschmidt/provider-google'

const kmsKeyRingIamPolicyConfig: KmsKeyRingIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.keyRingId">keyRingId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_policy#key_ring_id KmsKeyRingIamPolicy#key_ring_id}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_policy#policy_data KmsKeyRingIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_policy#id KmsKeyRingIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `keyRingId`<sup>Required</sup> <a name="keyRingId" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.keyRingId"></a>

```typescript
public readonly keyRingId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_policy#key_ring_id KmsKeyRingIamPolicy#key_ring_id}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_policy#policy_data KmsKeyRingIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_iam_policy#id KmsKeyRingIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### KmsKeyRingImportJobAttestation <a name="KmsKeyRingImportJobAttestation" id="@dschmidt/provider-google.KmsKeyRingImportJobAttestation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingImportJobAttestation.Initializer"></a>

```typescript
import { KmsKeyRingImportJobAttestation } from '@dschmidt/provider-google'

const kmsKeyRingImportJobAttestation: KmsKeyRingImportJobAttestation = { ... }
```


### KmsKeyRingImportJobConfig <a name="KmsKeyRingImportJobConfig" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.Initializer"></a>

```typescript
import { KmsKeyRingImportJobConfig } from '@dschmidt/provider-google'

const kmsKeyRingImportJobConfig: KmsKeyRingImportJobConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.importJobId">importJobId</a></code> | <code>string</code> | It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.importMethod">importMethod</a></code> | <code>string</code> | The wrapping method to be used for incoming key material. Possible values: ["RSA_OAEP_3072_SHA1_AES_256", "RSA_OAEP_4096_SHA1_AES_256"]. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.keyRing">keyRing</a></code> | <code>string</code> | The KeyRing that this import job belongs to. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.protectionLevel">protectionLevel</a></code> | <code>string</code> | The protection level of the ImportJob. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#id KmsKeyRingImportJob#id}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobTimeouts">KmsKeyRingImportJobTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `importJobId`<sup>Required</sup> <a name="importJobId" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.importJobId"></a>

```typescript
public readonly importJobId: string;
```

- *Type:* string

It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#import_job_id KmsKeyRingImportJob#import_job_id}

---

##### `importMethod`<sup>Required</sup> <a name="importMethod" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.importMethod"></a>

```typescript
public readonly importMethod: string;
```

- *Type:* string

The wrapping method to be used for incoming key material. Possible values: ["RSA_OAEP_3072_SHA1_AES_256", "RSA_OAEP_4096_SHA1_AES_256"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#import_method KmsKeyRingImportJob#import_method}

---

##### `keyRing`<sup>Required</sup> <a name="keyRing" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.keyRing"></a>

```typescript
public readonly keyRing: string;
```

- *Type:* string

The KeyRing that this import job belongs to. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#key_ring KmsKeyRingImportJob#key_ring}

---

##### `protectionLevel`<sup>Required</sup> <a name="protectionLevel" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.protectionLevel"></a>

```typescript
public readonly protectionLevel: string;
```

- *Type:* string

The protection level of the ImportJob.

This must match the protectionLevel of the
versionTemplate on the CryptoKey you attempt to import into. Possible values: ["SOFTWARE", "HSM", "EXTERNAL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#protection_level KmsKeyRingImportJob#protection_level}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#id KmsKeyRingImportJob#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.KmsKeyRingImportJobConfig.property.timeouts"></a>

```typescript
public readonly timeouts: KmsKeyRingImportJobTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsKeyRingImportJobTimeouts">KmsKeyRingImportJobTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#timeouts KmsKeyRingImportJob#timeouts}

---

### KmsKeyRingImportJobPublicKey <a name="KmsKeyRingImportJobPublicKey" id="@dschmidt/provider-google.KmsKeyRingImportJobPublicKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingImportJobPublicKey.Initializer"></a>

```typescript
import { KmsKeyRingImportJobPublicKey } from '@dschmidt/provider-google'

const kmsKeyRingImportJobPublicKey: KmsKeyRingImportJobPublicKey = { ... }
```


### KmsKeyRingImportJobTimeouts <a name="KmsKeyRingImportJobTimeouts" id="@dschmidt/provider-google.KmsKeyRingImportJobTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingImportJobTimeouts.Initializer"></a>

```typescript
import { KmsKeyRingImportJobTimeouts } from '@dschmidt/provider-google'

const kmsKeyRingImportJobTimeouts: KmsKeyRingImportJobTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#create KmsKeyRingImportJob#create}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingImportJobTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#delete KmsKeyRingImportJob#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.KmsKeyRingImportJobTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#create KmsKeyRingImportJob#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.KmsKeyRingImportJobTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring_import_job#delete KmsKeyRingImportJob#delete}.

---

### KmsKeyRingTimeouts <a name="KmsKeyRingTimeouts" id="@dschmidt/provider-google.KmsKeyRingTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsKeyRingTimeouts.Initializer"></a>

```typescript
import { KmsKeyRingTimeouts } from '@dschmidt/provider-google'

const kmsKeyRingTimeouts: KmsKeyRingTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#create KmsKeyRing#create}. |
| <code><a href="#@dschmidt/provider-google.KmsKeyRingTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#delete KmsKeyRing#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.KmsKeyRingTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#create KmsKeyRing#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.KmsKeyRingTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_key_ring#delete KmsKeyRing#delete}.

---

### KmsSecretCiphertextConfig <a name="KmsSecretCiphertextConfig" id="@dschmidt/provider-google.KmsSecretCiphertextConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.Initializer"></a>

```typescript
import { KmsSecretCiphertextConfig } from '@dschmidt/provider-google'

const kmsSecretCiphertextConfig: KmsSecretCiphertextConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.cryptoKey">cryptoKey</a></code> | <code>string</code> | The full name of the CryptoKey that will be used to encrypt the provided plaintext. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}''. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.plaintext">plaintext</a></code> | <code>string</code> | The plaintext to be encrypted. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.additionalAuthenticatedData">additionalAuthenticatedData</a></code> | <code>string</code> | The additional authenticated data used for integrity checks during encryption and decryption. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#id KmsSecretCiphertext#id}. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextTimeouts">KmsSecretCiphertextTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `cryptoKey`<sup>Required</sup> <a name="cryptoKey" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.cryptoKey"></a>

```typescript
public readonly cryptoKey: string;
```

- *Type:* string

The full name of the CryptoKey that will be used to encrypt the provided plaintext. Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}''.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#crypto_key KmsSecretCiphertext#crypto_key}

---

##### `plaintext`<sup>Required</sup> <a name="plaintext" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.plaintext"></a>

```typescript
public readonly plaintext: string;
```

- *Type:* string

The plaintext to be encrypted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#plaintext KmsSecretCiphertext#plaintext}

---

##### `additionalAuthenticatedData`<sup>Optional</sup> <a name="additionalAuthenticatedData" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.additionalAuthenticatedData"></a>

```typescript
public readonly additionalAuthenticatedData: string;
```

- *Type:* string

The additional authenticated data used for integrity checks during encryption and decryption.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#additional_authenticated_data KmsSecretCiphertext#additional_authenticated_data}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#id KmsSecretCiphertext#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.KmsSecretCiphertextConfig.property.timeouts"></a>

```typescript
public readonly timeouts: KmsSecretCiphertextTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.KmsSecretCiphertextTimeouts">KmsSecretCiphertextTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#timeouts KmsSecretCiphertext#timeouts}

---

### KmsSecretCiphertextTimeouts <a name="KmsSecretCiphertextTimeouts" id="@dschmidt/provider-google.KmsSecretCiphertextTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.KmsSecretCiphertextTimeouts.Initializer"></a>

```typescript
import { KmsSecretCiphertextTimeouts } from '@dschmidt/provider-google'

const kmsSecretCiphertextTimeouts: KmsSecretCiphertextTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#create KmsSecretCiphertext#create}. |
| <code><a href="#@dschmidt/provider-google.KmsSecretCiphertextTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#delete KmsSecretCiphertext#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.KmsSecretCiphertextTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#create KmsSecretCiphertext#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.KmsSecretCiphertextTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/kms_secret_ciphertext#delete KmsSecretCiphertext#delete}.

---

### LoggingBillingAccountBucketConfigConfig <a name="LoggingBillingAccountBucketConfigConfig" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.Initializer"></a>

```typescript
import { LoggingBillingAccountBucketConfigConfig } from '@dschmidt/provider-google'

const loggingBillingAccountBucketConfigConfig: LoggingBillingAccountBucketConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.billingAccount">billingAccount</a></code> | <code>string</code> | The parent resource that contains the logging bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.bucketId">bucketId</a></code> | <code>string</code> | The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.location">location</a></code> | <code>string</code> | The location of the bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.description">description</a></code> | <code>string</code> | An optional description for this bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_bucket_config#id LoggingBillingAccountBucketConfig#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.retentionDays">retentionDays</a></code> | <code>number</code> | Logs will be retained by default for this amount of time, after which they will automatically be deleted. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

The parent resource that contains the logging bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_bucket_config#billing_account LoggingBillingAccountBucketConfig#billing_account}

---

##### `bucketId`<sup>Required</sup> <a name="bucketId" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.bucketId"></a>

```typescript
public readonly bucketId: string;
```

- *Type:* string

The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_bucket_config#bucket_id LoggingBillingAccountBucketConfig#bucket_id}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_bucket_config#location LoggingBillingAccountBucketConfig#location}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description for this bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_bucket_config#description LoggingBillingAccountBucketConfig#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_bucket_config#id LoggingBillingAccountBucketConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `retentionDays`<sup>Optional</sup> <a name="retentionDays" id="@dschmidt/provider-google.LoggingBillingAccountBucketConfigConfig.property.retentionDays"></a>

```typescript
public readonly retentionDays: number;
```

- *Type:* number

Logs will be retained by default for this amount of time, after which they will automatically be deleted.

The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_bucket_config#retention_days LoggingBillingAccountBucketConfig#retention_days}

---

### LoggingBillingAccountExclusionConfig <a name="LoggingBillingAccountExclusionConfig" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.Initializer"></a>

```typescript
import { LoggingBillingAccountExclusionConfig } from '@dschmidt/provider-google'

const loggingBillingAccountExclusionConfig: LoggingBillingAccountExclusionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.billingAccount">billingAccount</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_exclusion#billing_account LoggingBillingAccountExclusion#billing_account}. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.filter">filter</a></code> | <code>string</code> | The filter to apply when excluding logs. Only log entries that match the filter are excluded. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.name">name</a></code> | <code>string</code> | The name of the logging exclusion. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.description">description</a></code> | <code>string</code> | A human-readable description. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this exclusion rule should be disabled or not. This defaults to false. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_exclusion#id LoggingBillingAccountExclusion#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_exclusion#billing_account LoggingBillingAccountExclusion#billing_account}.

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The filter to apply when excluding logs. Only log entries that match the filter are excluded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_exclusion#filter LoggingBillingAccountExclusion#filter}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the logging exclusion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_exclusion#name LoggingBillingAccountExclusion#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_exclusion#description LoggingBillingAccountExclusion#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this exclusion rule should be disabled or not. This defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_exclusion#disabled LoggingBillingAccountExclusion#disabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingBillingAccountExclusionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_exclusion#id LoggingBillingAccountExclusion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### LoggingBillingAccountSinkBigqueryOptions <a name="LoggingBillingAccountSinkBigqueryOptions" id="@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptions.Initializer"></a>

```typescript
import { LoggingBillingAccountSinkBigqueryOptions } from '@dschmidt/provider-google'

const loggingBillingAccountSinkBigqueryOptions: LoggingBillingAccountSinkBigqueryOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptions.property.usePartitionedTables">usePartitionedTables</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to use BigQuery's partition tables. |

---

##### `usePartitionedTables`<sup>Required</sup> <a name="usePartitionedTables" id="@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptions.property.usePartitionedTables"></a>

```typescript
public readonly usePartitionedTables: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to use BigQuery's partition tables.

By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax has to be used instead. In both cases, tables are sharded based on UTC timezone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#use_partitioned_tables LoggingBillingAccountSink#use_partitioned_tables}

---

### LoggingBillingAccountSinkConfig <a name="LoggingBillingAccountSinkConfig" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.Initializer"></a>

```typescript
import { LoggingBillingAccountSinkConfig } from '@dschmidt/provider-google'

const loggingBillingAccountSinkConfig: LoggingBillingAccountSinkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.billingAccount">billingAccount</a></code> | <code>string</code> | The billing account exported to the sink. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.destination">destination</a></code> | <code>string</code> | The destination of the sink (or, in other words, where logs are written to). |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.name">name</a></code> | <code>string</code> | The name of the logging sink. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.bigqueryOptions">bigqueryOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptions">LoggingBillingAccountSinkBigqueryOptions</a></code> | bigquery_options block. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.description">description</a></code> | <code>string</code> | A description of this sink. The maximum length of the description is 8000 characters. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to True, then this sink is disabled and it does not export any log entries. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.exclusions">exclusions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusions">LoggingBillingAccountSinkExclusions</a>[]</code> | exclusions block. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.filter">filter</a></code> | <code>string</code> | The filter to apply when exporting logs. Only log entries that match the filter are exported. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#id LoggingBillingAccountSink#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `billingAccount`<sup>Required</sup> <a name="billingAccount" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

The billing account exported to the sink.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#billing_account LoggingBillingAccountSink#billing_account}

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.destination"></a>

```typescript
public readonly destination: string;
```

- *Type:* string

The destination of the sink (or, in other words, where logs are written to).

Can be a Cloud Storage bucket, a PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The writer associated with the sink must have access to write to the above resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#destination LoggingBillingAccountSink#destination}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the logging sink.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#name LoggingBillingAccountSink#name}

---

##### `bigqueryOptions`<sup>Optional</sup> <a name="bigqueryOptions" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.bigqueryOptions"></a>

```typescript
public readonly bigqueryOptions: LoggingBillingAccountSinkBigqueryOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkBigqueryOptions">LoggingBillingAccountSinkBigqueryOptions</a>

bigquery_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#bigquery_options LoggingBillingAccountSink#bigquery_options}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this sink. The maximum length of the description is 8000 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#description LoggingBillingAccountSink#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to True, then this sink is disabled and it does not export any log entries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#disabled LoggingBillingAccountSink#disabled}

---

##### `exclusions`<sup>Optional</sup> <a name="exclusions" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.exclusions"></a>

```typescript
public readonly exclusions: IResolvable | LoggingBillingAccountSinkExclusions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusions">LoggingBillingAccountSinkExclusions</a>[]

exclusions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#exclusions LoggingBillingAccountSink#exclusions}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The filter to apply when exporting logs. Only log entries that match the filter are exported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#filter LoggingBillingAccountSink#filter}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingBillingAccountSinkConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#id LoggingBillingAccountSink#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### LoggingBillingAccountSinkExclusions <a name="LoggingBillingAccountSinkExclusions" id="@dschmidt/provider-google.LoggingBillingAccountSinkExclusions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingBillingAccountSinkExclusions.Initializer"></a>

```typescript
import { LoggingBillingAccountSinkExclusions } from '@dschmidt/provider-google'

const loggingBillingAccountSinkExclusions: LoggingBillingAccountSinkExclusions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusions.property.filter">filter</a></code> | <code>string</code> | An advanced logs filter that matches the log entries to be excluded. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusions.property.name">name</a></code> | <code>string</code> | A client-assigned identifier, such as "load-balancer-exclusion". |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusions.property.description">description</a></code> | <code>string</code> | A description of this exclusion. |
| <code><a href="#@dschmidt/provider-google.LoggingBillingAccountSinkExclusions.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to True, then this exclusion is disabled and it does not exclude any log entries. |

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingBillingAccountSinkExclusions.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

An advanced logs filter that matches the log entries to be excluded.

By using the sample function, you can exclude less than 100% of the matching log entries

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#filter LoggingBillingAccountSink#filter}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingBillingAccountSinkExclusions.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A client-assigned identifier, such as "load-balancer-exclusion".

Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#name LoggingBillingAccountSink#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingBillingAccountSinkExclusions.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this exclusion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#description LoggingBillingAccountSink#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingBillingAccountSinkExclusions.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to True, then this exclusion is disabled and it does not exclude any log entries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_billing_account_sink#disabled LoggingBillingAccountSink#disabled}

---

### LoggingFolderBucketConfigConfig <a name="LoggingFolderBucketConfigConfig" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.Initializer"></a>

```typescript
import { LoggingFolderBucketConfigConfig } from '@dschmidt/provider-google'

const loggingFolderBucketConfigConfig: LoggingFolderBucketConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.bucketId">bucketId</a></code> | <code>string</code> | The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.folder">folder</a></code> | <code>string</code> | The parent resource that contains the logging bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.location">location</a></code> | <code>string</code> | The location of the bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.description">description</a></code> | <code>string</code> | An optional description for this bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_bucket_config#id LoggingFolderBucketConfig#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.retentionDays">retentionDays</a></code> | <code>number</code> | Logs will be retained by default for this amount of time, after which they will automatically be deleted. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketId`<sup>Required</sup> <a name="bucketId" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.bucketId"></a>

```typescript
public readonly bucketId: string;
```

- *Type:* string

The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_bucket_config#bucket_id LoggingFolderBucketConfig#bucket_id}

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

The parent resource that contains the logging bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_bucket_config#folder LoggingFolderBucketConfig#folder}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_bucket_config#location LoggingFolderBucketConfig#location}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description for this bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_bucket_config#description LoggingFolderBucketConfig#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_bucket_config#id LoggingFolderBucketConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `retentionDays`<sup>Optional</sup> <a name="retentionDays" id="@dschmidt/provider-google.LoggingFolderBucketConfigConfig.property.retentionDays"></a>

```typescript
public readonly retentionDays: number;
```

- *Type:* number

Logs will be retained by default for this amount of time, after which they will automatically be deleted.

The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_bucket_config#retention_days LoggingFolderBucketConfig#retention_days}

---

### LoggingFolderExclusionConfig <a name="LoggingFolderExclusionConfig" id="@dschmidt/provider-google.LoggingFolderExclusionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.Initializer"></a>

```typescript
import { LoggingFolderExclusionConfig } from '@dschmidt/provider-google'

const loggingFolderExclusionConfig: LoggingFolderExclusionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.filter">filter</a></code> | <code>string</code> | The filter to apply when excluding logs. Only log entries that match the filter are excluded. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.folder">folder</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_exclusion#folder LoggingFolderExclusion#folder}. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.name">name</a></code> | <code>string</code> | The name of the logging exclusion. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.description">description</a></code> | <code>string</code> | A human-readable description. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this exclusion rule should be disabled or not. This defaults to false. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderExclusionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_exclusion#id LoggingFolderExclusion#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The filter to apply when excluding logs. Only log entries that match the filter are excluded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_exclusion#filter LoggingFolderExclusion#filter}

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_exclusion#folder LoggingFolderExclusion#folder}.

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the logging exclusion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_exclusion#name LoggingFolderExclusion#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_exclusion#description LoggingFolderExclusion#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this exclusion rule should be disabled or not. This defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_exclusion#disabled LoggingFolderExclusion#disabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingFolderExclusionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_exclusion#id LoggingFolderExclusion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### LoggingFolderSinkBigqueryOptions <a name="LoggingFolderSinkBigqueryOptions" id="@dschmidt/provider-google.LoggingFolderSinkBigqueryOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingFolderSinkBigqueryOptions.Initializer"></a>

```typescript
import { LoggingFolderSinkBigqueryOptions } from '@dschmidt/provider-google'

const loggingFolderSinkBigqueryOptions: LoggingFolderSinkBigqueryOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkBigqueryOptions.property.usePartitionedTables">usePartitionedTables</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to use BigQuery's partition tables. |

---

##### `usePartitionedTables`<sup>Required</sup> <a name="usePartitionedTables" id="@dschmidt/provider-google.LoggingFolderSinkBigqueryOptions.property.usePartitionedTables"></a>

```typescript
public readonly usePartitionedTables: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to use BigQuery's partition tables.

By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax has to be used instead. In both cases, tables are sharded based on UTC timezone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#use_partitioned_tables LoggingFolderSink#use_partitioned_tables}

---

### LoggingFolderSinkConfig <a name="LoggingFolderSinkConfig" id="@dschmidt/provider-google.LoggingFolderSinkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingFolderSinkConfig.Initializer"></a>

```typescript
import { LoggingFolderSinkConfig } from '@dschmidt/provider-google'

const loggingFolderSinkConfig: LoggingFolderSinkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.destination">destination</a></code> | <code>string</code> | The destination of the sink (or, in other words, where logs are written to). |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.folder">folder</a></code> | <code>string</code> | The folder to be exported to the sink. Note that either [FOLDER_ID] or "folders/[FOLDER_ID]" is accepted. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.name">name</a></code> | <code>string</code> | The name of the logging sink. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.bigqueryOptions">bigqueryOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingFolderSinkBigqueryOptions">LoggingFolderSinkBigqueryOptions</a></code> | bigquery_options block. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.description">description</a></code> | <code>string</code> | A description of this sink. The maximum length of the description is 8000 characters. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to True, then this sink is disabled and it does not export any log entries. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.exclusions">exclusions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingFolderSinkExclusions">LoggingFolderSinkExclusions</a>[]</code> | exclusions block. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.filter">filter</a></code> | <code>string</code> | The filter to apply when exporting logs. Only log entries that match the filter are exported. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#id LoggingFolderSink#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkConfig.property.includeChildren">includeChildren</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not to include children folders in the sink export. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.destination"></a>

```typescript
public readonly destination: string;
```

- *Type:* string

The destination of the sink (or, in other words, where logs are written to).

Can be a Cloud Storage bucket, a PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The writer associated with the sink must have access to write to the above resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#destination LoggingFolderSink#destination}

---

##### `folder`<sup>Required</sup> <a name="folder" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.folder"></a>

```typescript
public readonly folder: string;
```

- *Type:* string

The folder to be exported to the sink. Note that either [FOLDER_ID] or "folders/[FOLDER_ID]" is accepted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#folder LoggingFolderSink#folder}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the logging sink.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#name LoggingFolderSink#name}

---

##### `bigqueryOptions`<sup>Optional</sup> <a name="bigqueryOptions" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.bigqueryOptions"></a>

```typescript
public readonly bigqueryOptions: LoggingFolderSinkBigqueryOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingFolderSinkBigqueryOptions">LoggingFolderSinkBigqueryOptions</a>

bigquery_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#bigquery_options LoggingFolderSink#bigquery_options}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this sink. The maximum length of the description is 8000 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#description LoggingFolderSink#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to True, then this sink is disabled and it does not export any log entries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#disabled LoggingFolderSink#disabled}

---

##### `exclusions`<sup>Optional</sup> <a name="exclusions" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.exclusions"></a>

```typescript
public readonly exclusions: IResolvable | LoggingFolderSinkExclusions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingFolderSinkExclusions">LoggingFolderSinkExclusions</a>[]

exclusions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#exclusions LoggingFolderSink#exclusions}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The filter to apply when exporting logs. Only log entries that match the filter are exported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#filter LoggingFolderSink#filter}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#id LoggingFolderSink#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `includeChildren`<sup>Optional</sup> <a name="includeChildren" id="@dschmidt/provider-google.LoggingFolderSinkConfig.property.includeChildren"></a>

```typescript
public readonly includeChildren: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not to include children folders in the sink export.

If true, logs associated with child projects are also exported; otherwise only logs relating to the provided folder are included.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#include_children LoggingFolderSink#include_children}

---

### LoggingFolderSinkExclusions <a name="LoggingFolderSinkExclusions" id="@dschmidt/provider-google.LoggingFolderSinkExclusions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingFolderSinkExclusions.Initializer"></a>

```typescript
import { LoggingFolderSinkExclusions } from '@dschmidt/provider-google'

const loggingFolderSinkExclusions: LoggingFolderSinkExclusions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkExclusions.property.filter">filter</a></code> | <code>string</code> | An advanced logs filter that matches the log entries to be excluded. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkExclusions.property.name">name</a></code> | <code>string</code> | A client-assigned identifier, such as "load-balancer-exclusion". |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkExclusions.property.description">description</a></code> | <code>string</code> | A description of this exclusion. |
| <code><a href="#@dschmidt/provider-google.LoggingFolderSinkExclusions.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to True, then this exclusion is disabled and it does not exclude any log entries. |

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingFolderSinkExclusions.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

An advanced logs filter that matches the log entries to be excluded.

By using the sample function, you can exclude less than 100% of the matching log entries

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#filter LoggingFolderSink#filter}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingFolderSinkExclusions.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A client-assigned identifier, such as "load-balancer-exclusion".

Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#name LoggingFolderSink#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingFolderSinkExclusions.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this exclusion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#description LoggingFolderSink#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingFolderSinkExclusions.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to True, then this exclusion is disabled and it does not exclude any log entries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_folder_sink#disabled LoggingFolderSink#disabled}

---

### LoggingLogViewConfig <a name="LoggingLogViewConfig" id="@dschmidt/provider-google.LoggingLogViewConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingLogViewConfig.Initializer"></a>

```typescript
import { LoggingLogViewConfig } from '@dschmidt/provider-google'

const loggingLogViewConfig: LoggingLogViewConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.bucket">bucket</a></code> | <code>string</code> | The bucket of the resource. |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.name">name</a></code> | <code>string</code> | The resource name of the view. For example: `projects/my-project/locations/global/buckets/my-bucket/views/my-view`. |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.description">description</a></code> | <code>string</code> | Describes this view. |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.filter">filter</a></code> | <code>string</code> | Filter that restricts which log entries in a bucket are visible in this view. |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#id LoggingLogView#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.location">location</a></code> | <code>string</code> | The location of the resource. The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1. |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.parent">parent</a></code> | <code>string</code> | The parent of the resource. |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.LoggingLogViewTimeouts">LoggingLogViewTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingLogViewConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingLogViewConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingLogViewConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingLogViewConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingLogViewConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingLogViewConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingLogViewConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.LoggingLogViewConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The bucket of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#bucket LoggingLogView#bucket}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingLogViewConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name of the view. For example: `projects/my-project/locations/global/buckets/my-bucket/views/my-view`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#name LoggingLogView#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingLogViewConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Describes this view.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#description LoggingLogView#description}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.LoggingLogViewConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

Filter that restricts which log entries in a bucket are visible in this view.

Filters are restricted to be a logical AND of ==/!= of any of the following: - originating project/folder/organization/billing account. - resource type - log id For example: SOURCE("projects/myproject") AND resource.type = "gce_instance" AND LOG_ID("stdout")

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#filter LoggingLogView#filter}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingLogViewConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#id LoggingLogView#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.LoggingLogViewConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the resource. The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#location LoggingLogView#location}

---

##### `parent`<sup>Optional</sup> <a name="parent" id="@dschmidt/provider-google.LoggingLogViewConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The parent of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#parent LoggingLogView#parent}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.LoggingLogViewConfig.property.timeouts"></a>

```typescript
public readonly timeouts: LoggingLogViewTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingLogViewTimeouts">LoggingLogViewTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#timeouts LoggingLogView#timeouts}

---

### LoggingLogViewTimeouts <a name="LoggingLogViewTimeouts" id="@dschmidt/provider-google.LoggingLogViewTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingLogViewTimeouts.Initializer"></a>

```typescript
import { LoggingLogViewTimeouts } from '@dschmidt/provider-google'

const loggingLogViewTimeouts: LoggingLogViewTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#create LoggingLogView#create}. |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#delete LoggingLogView#delete}. |
| <code><a href="#@dschmidt/provider-google.LoggingLogViewTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#update LoggingLogView#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.LoggingLogViewTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#create LoggingLogView#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.LoggingLogViewTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#delete LoggingLogView#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.LoggingLogViewTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_log_view#update LoggingLogView#update}.

---

### LoggingMetricBucketOptions <a name="LoggingMetricBucketOptions" id="@dschmidt/provider-google.LoggingMetricBucketOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingMetricBucketOptions.Initializer"></a>

```typescript
import { LoggingMetricBucketOptions } from '@dschmidt/provider-google'

const loggingMetricBucketOptions: LoggingMetricBucketOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptions.property.explicitBuckets">explicitBuckets</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsExplicitBuckets">LoggingMetricBucketOptionsExplicitBuckets</a></code> | explicit_buckets block. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptions.property.exponentialBuckets">exponentialBuckets</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets">LoggingMetricBucketOptionsExponentialBuckets</a></code> | exponential_buckets block. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptions.property.linearBuckets">linearBuckets</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets">LoggingMetricBucketOptionsLinearBuckets</a></code> | linear_buckets block. |

---

##### `explicitBuckets`<sup>Optional</sup> <a name="explicitBuckets" id="@dschmidt/provider-google.LoggingMetricBucketOptions.property.explicitBuckets"></a>

```typescript
public readonly explicitBuckets: LoggingMetricBucketOptionsExplicitBuckets;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsExplicitBuckets">LoggingMetricBucketOptionsExplicitBuckets</a>

explicit_buckets block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#explicit_buckets LoggingMetric#explicit_buckets}

---

##### `exponentialBuckets`<sup>Optional</sup> <a name="exponentialBuckets" id="@dschmidt/provider-google.LoggingMetricBucketOptions.property.exponentialBuckets"></a>

```typescript
public readonly exponentialBuckets: LoggingMetricBucketOptionsExponentialBuckets;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets">LoggingMetricBucketOptionsExponentialBuckets</a>

exponential_buckets block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#exponential_buckets LoggingMetric#exponential_buckets}

---

##### `linearBuckets`<sup>Optional</sup> <a name="linearBuckets" id="@dschmidt/provider-google.LoggingMetricBucketOptions.property.linearBuckets"></a>

```typescript
public readonly linearBuckets: LoggingMetricBucketOptionsLinearBuckets;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets">LoggingMetricBucketOptionsLinearBuckets</a>

linear_buckets block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#linear_buckets LoggingMetric#linear_buckets}

---

### LoggingMetricBucketOptionsExplicitBuckets <a name="LoggingMetricBucketOptionsExplicitBuckets" id="@dschmidt/provider-google.LoggingMetricBucketOptionsExplicitBuckets"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingMetricBucketOptionsExplicitBuckets.Initializer"></a>

```typescript
import { LoggingMetricBucketOptionsExplicitBuckets } from '@dschmidt/provider-google'

const loggingMetricBucketOptionsExplicitBuckets: LoggingMetricBucketOptionsExplicitBuckets = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsExplicitBuckets.property.bounds">bounds</a></code> | <code>number[]</code> | The values must be monotonically increasing. |

---

##### `bounds`<sup>Required</sup> <a name="bounds" id="@dschmidt/provider-google.LoggingMetricBucketOptionsExplicitBuckets.property.bounds"></a>

```typescript
public readonly bounds: number[];
```

- *Type:* number[]

The values must be monotonically increasing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#bounds LoggingMetric#bounds}

---

### LoggingMetricBucketOptionsExponentialBuckets <a name="LoggingMetricBucketOptionsExponentialBuckets" id="@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets.Initializer"></a>

```typescript
import { LoggingMetricBucketOptionsExponentialBuckets } from '@dschmidt/provider-google'

const loggingMetricBucketOptionsExponentialBuckets: LoggingMetricBucketOptionsExponentialBuckets = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets.property.growthFactor">growthFactor</a></code> | <code>number</code> | Must be greater than 1. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets.property.numFiniteBuckets">numFiniteBuckets</a></code> | <code>number</code> | Must be greater than 0. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets.property.scale">scale</a></code> | <code>number</code> | Must be greater than 0. |

---

##### `growthFactor`<sup>Optional</sup> <a name="growthFactor" id="@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets.property.growthFactor"></a>

```typescript
public readonly growthFactor: number;
```

- *Type:* number

Must be greater than 1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#growth_factor LoggingMetric#growth_factor}

---

##### `numFiniteBuckets`<sup>Optional</sup> <a name="numFiniteBuckets" id="@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets.property.numFiniteBuckets"></a>

```typescript
public readonly numFiniteBuckets: number;
```

- *Type:* number

Must be greater than 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#num_finite_buckets LoggingMetric#num_finite_buckets}

---

##### `scale`<sup>Optional</sup> <a name="scale" id="@dschmidt/provider-google.LoggingMetricBucketOptionsExponentialBuckets.property.scale"></a>

```typescript
public readonly scale: number;
```

- *Type:* number

Must be greater than 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#scale LoggingMetric#scale}

---

### LoggingMetricBucketOptionsLinearBuckets <a name="LoggingMetricBucketOptionsLinearBuckets" id="@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets.Initializer"></a>

```typescript
import { LoggingMetricBucketOptionsLinearBuckets } from '@dschmidt/provider-google'

const loggingMetricBucketOptionsLinearBuckets: LoggingMetricBucketOptionsLinearBuckets = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets.property.numFiniteBuckets">numFiniteBuckets</a></code> | <code>number</code> | Must be greater than 0. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets.property.offset">offset</a></code> | <code>number</code> | Lower bound of the first bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets.property.width">width</a></code> | <code>number</code> | Must be greater than 0. |

---

##### `numFiniteBuckets`<sup>Optional</sup> <a name="numFiniteBuckets" id="@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets.property.numFiniteBuckets"></a>

```typescript
public readonly numFiniteBuckets: number;
```

- *Type:* number

Must be greater than 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#num_finite_buckets LoggingMetric#num_finite_buckets}

---

##### `offset`<sup>Optional</sup> <a name="offset" id="@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets.property.offset"></a>

```typescript
public readonly offset: number;
```

- *Type:* number

Lower bound of the first bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#offset LoggingMetric#offset}

---

##### `width`<sup>Optional</sup> <a name="width" id="@dschmidt/provider-google.LoggingMetricBucketOptionsLinearBuckets.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

Must be greater than 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#width LoggingMetric#width}

---

### LoggingMetricConfig <a name="LoggingMetricConfig" id="@dschmidt/provider-google.LoggingMetricConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingMetricConfig.Initializer"></a>

```typescript
import { LoggingMetricConfig } from '@dschmidt/provider-google'

const loggingMetricConfig: LoggingMetricConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.filter">filter</a></code> | <code>string</code> | An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-filters) which is used to match log entries. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.metricDescriptor">metricDescriptor</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor">LoggingMetricMetricDescriptor</a></code> | metric_descriptor block. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.name">name</a></code> | <code>string</code> | The client-assigned metric identifier. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.bucketOptions">bucketOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricBucketOptions">LoggingMetricBucketOptions</a></code> | bucket_options block. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.description">description</a></code> | <code>string</code> | A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#id LoggingMetric#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.labelExtractors">labelExtractors</a></code> | <code>{[ key: string ]: string}</code> | A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#project LoggingMetric#project}. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.LoggingMetricTimeouts">LoggingMetricTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricConfig.property.valueExtractor">valueExtractor</a></code> | <code>string</code> | A valueExtractor is required when using a distribution logs-based metric to extract the values to record from a log entry. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingMetricConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingMetricConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingMetricConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingMetricConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingMetricConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingMetricConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingMetricConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingMetricConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-filters) which is used to match log entries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#filter LoggingMetric#filter}

---

##### `metricDescriptor`<sup>Required</sup> <a name="metricDescriptor" id="@dschmidt/provider-google.LoggingMetricConfig.property.metricDescriptor"></a>

```typescript
public readonly metricDescriptor: LoggingMetricMetricDescriptor;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor">LoggingMetricMetricDescriptor</a>

metric_descriptor block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#metric_descriptor LoggingMetric#metric_descriptor}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingMetricConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The client-assigned metric identifier.

Examples - "error_count", "nginx/requests".
Metric identifiers are limited to 100 characters and can include only the following
characters A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash
character (/) denotes a hierarchy of name pieces, and it cannot be the first character
of the name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#name LoggingMetric#name}

---

##### `bucketOptions`<sup>Optional</sup> <a name="bucketOptions" id="@dschmidt/provider-google.LoggingMetricConfig.property.bucketOptions"></a>

```typescript
public readonly bucketOptions: LoggingMetricBucketOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricBucketOptions">LoggingMetricBucketOptions</a>

bucket_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#bucket_options LoggingMetric#bucket_options}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingMetricConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#description LoggingMetric#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingMetricConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#id LoggingMetric#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labelExtractors`<sup>Optional</sup> <a name="labelExtractors" id="@dschmidt/provider-google.LoggingMetricConfig.property.labelExtractors"></a>

```typescript
public readonly labelExtractors: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value.

Each label key specified in the LabelDescriptor must
have an associated extractor expression in this map. The syntax of the extractor expression is
the same as for the valueExtractor field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#label_extractors LoggingMetric#label_extractors}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.LoggingMetricConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#project LoggingMetric#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.LoggingMetricConfig.property.timeouts"></a>

```typescript
public readonly timeouts: LoggingMetricTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingMetricTimeouts">LoggingMetricTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#timeouts LoggingMetric#timeouts}

---

##### `valueExtractor`<sup>Optional</sup> <a name="valueExtractor" id="@dschmidt/provider-google.LoggingMetricConfig.property.valueExtractor"></a>

```typescript
public readonly valueExtractor: string;
```

- *Type:* string

A valueExtractor is required when using a distribution logs-based metric to extract the values to record from a log entry.

Two functions are supported for value extraction - EXTRACT(field) or
REGEXP_EXTRACT(field, regex). The argument are 1. field - The name of the log entry field from which
the value is to be extracted. 2. regex - A regular expression using the Google RE2 syntax
(https://github.com/google/re2/wiki/Syntax) with a single capture group to extract data from the specified
log entry field. The value of the field is converted to a string before applying the regex. It is an
error to specify a regex that does not include exactly one capture group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#value_extractor LoggingMetric#value_extractor}

---

### LoggingMetricMetricDescriptor <a name="LoggingMetricMetricDescriptor" id="@dschmidt/provider-google.LoggingMetricMetricDescriptor"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingMetricMetricDescriptor.Initializer"></a>

```typescript
import { LoggingMetricMetricDescriptor } from '@dschmidt/provider-google'

const loggingMetricMetricDescriptor: LoggingMetricMetricDescriptor = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.metricKind">metricKind</a></code> | <code>string</code> | Whether the metric records instantaneous values, changes to a value, etc. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.valueType">valueType</a></code> | <code>string</code> | Whether the measurement is an integer, a floating-point number, etc. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.displayName">displayName</a></code> | <code>string</code> | A concise name for the metric, which can be displayed in user interfaces. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.labels">labels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels">LoggingMetricMetricDescriptorLabels</a>[]</code> | labels block. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.unit">unit</a></code> | <code>string</code> | The unit in which the metric value is reported. |

---

##### `metricKind`<sup>Required</sup> <a name="metricKind" id="@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.metricKind"></a>

```typescript
public readonly metricKind: string;
```

- *Type:* string

Whether the metric records instantaneous values, changes to a value, etc.

Some combinations of metricKind and valueType might not be supported.
For counter metrics, set this to DELTA. Possible values: ["DELTA", "GAUGE", "CUMULATIVE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#metric_kind LoggingMetric#metric_kind}

---

##### `valueType`<sup>Required</sup> <a name="valueType" id="@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.valueType"></a>

```typescript
public readonly valueType: string;
```

- *Type:* string

Whether the measurement is an integer, a floating-point number, etc.

Some combinations of metricKind and valueType might not be supported.
For counter metrics, set this to INT64. Possible values: ["BOOL", "INT64", "DOUBLE", "STRING", "DISTRIBUTION", "MONEY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#value_type LoggingMetric#value_type}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A concise name for the metric, which can be displayed in user interfaces.

Use sentence case 
without an ending period, for example "Request count". This field is optional but it is 
recommended to be set for any metrics associated with user-visible concepts, such as Quota.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#display_name LoggingMetric#display_name}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.labels"></a>

```typescript
public readonly labels: IResolvable | LoggingMetricMetricDescriptorLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels">LoggingMetricMetricDescriptorLabels</a>[]

labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#labels LoggingMetric#labels}

---

##### `unit`<sup>Optional</sup> <a name="unit" id="@dschmidt/provider-google.LoggingMetricMetricDescriptor.property.unit"></a>

```typescript
public readonly unit: string;
```

- *Type:* string

The unit in which the metric value is reported.

It is only applicable if the valueType is
'INT64', 'DOUBLE', or 'DISTRIBUTION'. The supported units are a subset of
[The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html) standard

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#unit LoggingMetric#unit}

---

### LoggingMetricMetricDescriptorLabels <a name="LoggingMetricMetricDescriptorLabels" id="@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels.Initializer"></a>

```typescript
import { LoggingMetricMetricDescriptorLabels } from '@dschmidt/provider-google'

const loggingMetricMetricDescriptorLabels: LoggingMetricMetricDescriptorLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels.property.key">key</a></code> | <code>string</code> | The label key. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels.property.description">description</a></code> | <code>string</code> | A human-readable description for the label. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels.property.valueType">valueType</a></code> | <code>string</code> | The type of data that can be assigned to the label. Default value: "STRING" Possible values: ["BOOL", "INT64", "STRING"]. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

The label key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#key LoggingMetric#key}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description for the label.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#description LoggingMetric#description}

---

##### `valueType`<sup>Optional</sup> <a name="valueType" id="@dschmidt/provider-google.LoggingMetricMetricDescriptorLabels.property.valueType"></a>

```typescript
public readonly valueType: string;
```

- *Type:* string

The type of data that can be assigned to the label. Default value: "STRING" Possible values: ["BOOL", "INT64", "STRING"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#value_type LoggingMetric#value_type}

---

### LoggingMetricTimeouts <a name="LoggingMetricTimeouts" id="@dschmidt/provider-google.LoggingMetricTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingMetricTimeouts.Initializer"></a>

```typescript
import { LoggingMetricTimeouts } from '@dschmidt/provider-google'

const loggingMetricTimeouts: LoggingMetricTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingMetricTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#create LoggingMetric#create}. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#delete LoggingMetric#delete}. |
| <code><a href="#@dschmidt/provider-google.LoggingMetricTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#update LoggingMetric#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.LoggingMetricTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#create LoggingMetric#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.LoggingMetricTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#delete LoggingMetric#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.LoggingMetricTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_metric#update LoggingMetric#update}.

---

### LoggingOrganizationBucketConfigConfig <a name="LoggingOrganizationBucketConfigConfig" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.Initializer"></a>

```typescript
import { LoggingOrganizationBucketConfigConfig } from '@dschmidt/provider-google'

const loggingOrganizationBucketConfigConfig: LoggingOrganizationBucketConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.bucketId">bucketId</a></code> | <code>string</code> | The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.location">location</a></code> | <code>string</code> | The location of the bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.organization">organization</a></code> | <code>string</code> | The parent resource that contains the logging bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.description">description</a></code> | <code>string</code> | An optional description for this bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_bucket_config#id LoggingOrganizationBucketConfig#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.retentionDays">retentionDays</a></code> | <code>number</code> | Logs will be retained by default for this amount of time, after which they will automatically be deleted. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketId`<sup>Required</sup> <a name="bucketId" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.bucketId"></a>

```typescript
public readonly bucketId: string;
```

- *Type:* string

The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_bucket_config#bucket_id LoggingOrganizationBucketConfig#bucket_id}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_bucket_config#location LoggingOrganizationBucketConfig#location}

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

The parent resource that contains the logging bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_bucket_config#organization LoggingOrganizationBucketConfig#organization}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description for this bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_bucket_config#description LoggingOrganizationBucketConfig#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_bucket_config#id LoggingOrganizationBucketConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `retentionDays`<sup>Optional</sup> <a name="retentionDays" id="@dschmidt/provider-google.LoggingOrganizationBucketConfigConfig.property.retentionDays"></a>

```typescript
public readonly retentionDays: number;
```

- *Type:* number

Logs will be retained by default for this amount of time, after which they will automatically be deleted.

The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_bucket_config#retention_days LoggingOrganizationBucketConfig#retention_days}

---

### LoggingOrganizationExclusionConfig <a name="LoggingOrganizationExclusionConfig" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.Initializer"></a>

```typescript
import { LoggingOrganizationExclusionConfig } from '@dschmidt/provider-google'

const loggingOrganizationExclusionConfig: LoggingOrganizationExclusionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.filter">filter</a></code> | <code>string</code> | The filter to apply when excluding logs. Only log entries that match the filter are excluded. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.name">name</a></code> | <code>string</code> | The name of the logging exclusion. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.orgId">orgId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_exclusion#org_id LoggingOrganizationExclusion#org_id}. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.description">description</a></code> | <code>string</code> | A human-readable description. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this exclusion rule should be disabled or not. This defaults to false. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_exclusion#id LoggingOrganizationExclusion#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The filter to apply when excluding logs. Only log entries that match the filter are excluded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_exclusion#filter LoggingOrganizationExclusion#filter}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the logging exclusion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_exclusion#name LoggingOrganizationExclusion#name}

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_exclusion#org_id LoggingOrganizationExclusion#org_id}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_exclusion#description LoggingOrganizationExclusion#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this exclusion rule should be disabled or not. This defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_exclusion#disabled LoggingOrganizationExclusion#disabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingOrganizationExclusionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_exclusion#id LoggingOrganizationExclusion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### LoggingOrganizationSinkBigqueryOptions <a name="LoggingOrganizationSinkBigqueryOptions" id="@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptions.Initializer"></a>

```typescript
import { LoggingOrganizationSinkBigqueryOptions } from '@dschmidt/provider-google'

const loggingOrganizationSinkBigqueryOptions: LoggingOrganizationSinkBigqueryOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptions.property.usePartitionedTables">usePartitionedTables</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to use BigQuery's partition tables. |

---

##### `usePartitionedTables`<sup>Required</sup> <a name="usePartitionedTables" id="@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptions.property.usePartitionedTables"></a>

```typescript
public readonly usePartitionedTables: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to use BigQuery's partition tables.

By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax has to be used instead. In both cases, tables are sharded based on UTC timezone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#use_partitioned_tables LoggingOrganizationSink#use_partitioned_tables}

---

### LoggingOrganizationSinkConfig <a name="LoggingOrganizationSinkConfig" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.Initializer"></a>

```typescript
import { LoggingOrganizationSinkConfig } from '@dschmidt/provider-google'

const loggingOrganizationSinkConfig: LoggingOrganizationSinkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.destination">destination</a></code> | <code>string</code> | The destination of the sink (or, in other words, where logs are written to). |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.name">name</a></code> | <code>string</code> | The name of the logging sink. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.orgId">orgId</a></code> | <code>string</code> | The numeric ID of the organization to be exported to the sink. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.bigqueryOptions">bigqueryOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptions">LoggingOrganizationSinkBigqueryOptions</a></code> | bigquery_options block. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.description">description</a></code> | <code>string</code> | A description of this sink. The maximum length of the description is 8000 characters. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to True, then this sink is disabled and it does not export any log entries. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.exclusions">exclusions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusions">LoggingOrganizationSinkExclusions</a>[]</code> | exclusions block. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.filter">filter</a></code> | <code>string</code> | The filter to apply when exporting logs. Only log entries that match the filter are exported. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#id LoggingOrganizationSink#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.includeChildren">includeChildren</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not to include children organizations in the sink export. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.destination"></a>

```typescript
public readonly destination: string;
```

- *Type:* string

The destination of the sink (or, in other words, where logs are written to).

Can be a Cloud Storage bucket, a PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The writer associated with the sink must have access to write to the above resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#destination LoggingOrganizationSink#destination}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the logging sink.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#name LoggingOrganizationSink#name}

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The numeric ID of the organization to be exported to the sink.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#org_id LoggingOrganizationSink#org_id}

---

##### `bigqueryOptions`<sup>Optional</sup> <a name="bigqueryOptions" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.bigqueryOptions"></a>

```typescript
public readonly bigqueryOptions: LoggingOrganizationSinkBigqueryOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingOrganizationSinkBigqueryOptions">LoggingOrganizationSinkBigqueryOptions</a>

bigquery_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#bigquery_options LoggingOrganizationSink#bigquery_options}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this sink. The maximum length of the description is 8000 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#description LoggingOrganizationSink#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to True, then this sink is disabled and it does not export any log entries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#disabled LoggingOrganizationSink#disabled}

---

##### `exclusions`<sup>Optional</sup> <a name="exclusions" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.exclusions"></a>

```typescript
public readonly exclusions: IResolvable | LoggingOrganizationSinkExclusions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusions">LoggingOrganizationSinkExclusions</a>[]

exclusions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#exclusions LoggingOrganizationSink#exclusions}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The filter to apply when exporting logs. Only log entries that match the filter are exported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#filter LoggingOrganizationSink#filter}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#id LoggingOrganizationSink#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `includeChildren`<sup>Optional</sup> <a name="includeChildren" id="@dschmidt/provider-google.LoggingOrganizationSinkConfig.property.includeChildren"></a>

```typescript
public readonly includeChildren: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not to include children organizations in the sink export.

If true, logs associated with child projects are also exported; otherwise only logs relating to the provided organization are included.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#include_children LoggingOrganizationSink#include_children}

---

### LoggingOrganizationSinkExclusions <a name="LoggingOrganizationSinkExclusions" id="@dschmidt/provider-google.LoggingOrganizationSinkExclusions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingOrganizationSinkExclusions.Initializer"></a>

```typescript
import { LoggingOrganizationSinkExclusions } from '@dschmidt/provider-google'

const loggingOrganizationSinkExclusions: LoggingOrganizationSinkExclusions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusions.property.filter">filter</a></code> | <code>string</code> | An advanced logs filter that matches the log entries to be excluded. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusions.property.name">name</a></code> | <code>string</code> | A client-assigned identifier, such as "load-balancer-exclusion". |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusions.property.description">description</a></code> | <code>string</code> | A description of this exclusion. |
| <code><a href="#@dschmidt/provider-google.LoggingOrganizationSinkExclusions.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to True, then this exclusion is disabled and it does not exclude any log entries. |

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingOrganizationSinkExclusions.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

An advanced logs filter that matches the log entries to be excluded.

By using the sample function, you can exclude less than 100% of the matching log entries

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#filter LoggingOrganizationSink#filter}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingOrganizationSinkExclusions.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A client-assigned identifier, such as "load-balancer-exclusion".

Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#name LoggingOrganizationSink#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingOrganizationSinkExclusions.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this exclusion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#description LoggingOrganizationSink#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingOrganizationSinkExclusions.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to True, then this exclusion is disabled and it does not exclude any log entries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_organization_sink#disabled LoggingOrganizationSink#disabled}

---

### LoggingProjectBucketConfigConfig <a name="LoggingProjectBucketConfigConfig" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.Initializer"></a>

```typescript
import { LoggingProjectBucketConfigConfig } from '@dschmidt/provider-google'

const loggingProjectBucketConfigConfig: LoggingProjectBucketConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.bucketId">bucketId</a></code> | <code>string</code> | The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.location">location</a></code> | <code>string</code> | The location of the bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.project">project</a></code> | <code>string</code> | The parent project that contains the logging bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.description">description</a></code> | <code>string</code> | An optional description for this bucket. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_bucket_config#id LoggingProjectBucketConfig#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.retentionDays">retentionDays</a></code> | <code>number</code> | Logs will be retained by default for this amount of time, after which they will automatically be deleted. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketId`<sup>Required</sup> <a name="bucketId" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.bucketId"></a>

```typescript
public readonly bucketId: string;
```

- *Type:* string

The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_bucket_config#bucket_id LoggingProjectBucketConfig#bucket_id}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_bucket_config#location LoggingProjectBucketConfig#location}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The parent project that contains the logging bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_bucket_config#project LoggingProjectBucketConfig#project}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description for this bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_bucket_config#description LoggingProjectBucketConfig#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_bucket_config#id LoggingProjectBucketConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `retentionDays`<sup>Optional</sup> <a name="retentionDays" id="@dschmidt/provider-google.LoggingProjectBucketConfigConfig.property.retentionDays"></a>

```typescript
public readonly retentionDays: number;
```

- *Type:* number

Logs will be retained by default for this amount of time, after which they will automatically be deleted.

The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_bucket_config#retention_days LoggingProjectBucketConfig#retention_days}

---

### LoggingProjectExclusionConfig <a name="LoggingProjectExclusionConfig" id="@dschmidt/provider-google.LoggingProjectExclusionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.Initializer"></a>

```typescript
import { LoggingProjectExclusionConfig } from '@dschmidt/provider-google'

const loggingProjectExclusionConfig: LoggingProjectExclusionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.filter">filter</a></code> | <code>string</code> | The filter to apply when excluding logs. Only log entries that match the filter are excluded. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.name">name</a></code> | <code>string</code> | The name of the logging exclusion. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.description">description</a></code> | <code>string</code> | A human-readable description. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this exclusion rule should be disabled or not. This defaults to false. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_exclusion#id LoggingProjectExclusion#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectExclusionConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_exclusion#project LoggingProjectExclusion#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The filter to apply when excluding logs. Only log entries that match the filter are excluded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_exclusion#filter LoggingProjectExclusion#filter}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the logging exclusion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_exclusion#name LoggingProjectExclusion#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_exclusion#description LoggingProjectExclusion#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this exclusion rule should be disabled or not. This defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_exclusion#disabled LoggingProjectExclusion#disabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_exclusion#id LoggingProjectExclusion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.LoggingProjectExclusionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_exclusion#project LoggingProjectExclusion#project}.

---

### LoggingProjectSinkBigqueryOptions <a name="LoggingProjectSinkBigqueryOptions" id="@dschmidt/provider-google.LoggingProjectSinkBigqueryOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingProjectSinkBigqueryOptions.Initializer"></a>

```typescript
import { LoggingProjectSinkBigqueryOptions } from '@dschmidt/provider-google'

const loggingProjectSinkBigqueryOptions: LoggingProjectSinkBigqueryOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkBigqueryOptions.property.usePartitionedTables">usePartitionedTables</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to use BigQuery's partition tables. |

---

##### `usePartitionedTables`<sup>Required</sup> <a name="usePartitionedTables" id="@dschmidt/provider-google.LoggingProjectSinkBigqueryOptions.property.usePartitionedTables"></a>

```typescript
public readonly usePartitionedTables: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to use BigQuery's partition tables.

By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax has to be used instead. In both cases, tables are sharded based on UTC timezone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#use_partitioned_tables LoggingProjectSink#use_partitioned_tables}

---

### LoggingProjectSinkConfig <a name="LoggingProjectSinkConfig" id="@dschmidt/provider-google.LoggingProjectSinkConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingProjectSinkConfig.Initializer"></a>

```typescript
import { LoggingProjectSinkConfig } from '@dschmidt/provider-google'

const loggingProjectSinkConfig: LoggingProjectSinkConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.destination">destination</a></code> | <code>string</code> | The destination of the sink (or, in other words, where logs are written to). |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.name">name</a></code> | <code>string</code> | The name of the logging sink. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.bigqueryOptions">bigqueryOptions</a></code> | <code><a href="#@dschmidt/provider-google.LoggingProjectSinkBigqueryOptions">LoggingProjectSinkBigqueryOptions</a></code> | bigquery_options block. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.description">description</a></code> | <code>string</code> | A description of this sink. The maximum length of the description is 8000 characters. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to True, then this sink is disabled and it does not export any log entries. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.exclusions">exclusions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.LoggingProjectSinkExclusions">LoggingProjectSinkExclusions</a>[]</code> | exclusions block. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.filter">filter</a></code> | <code>string</code> | The filter to apply when exporting logs. Only log entries that match the filter are exported. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#id LoggingProjectSink#id}. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.project">project</a></code> | <code>string</code> | The ID of the project to create the sink in. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkConfig.property.uniqueWriterIdentity">uniqueWriterIdentity</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not to create a unique identity associated with this sink. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.destination"></a>

```typescript
public readonly destination: string;
```

- *Type:* string

The destination of the sink (or, in other words, where logs are written to).

Can be a Cloud Storage bucket, a PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The writer associated with the sink must have access to write to the above resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#destination LoggingProjectSink#destination}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the logging sink.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#name LoggingProjectSink#name}

---

##### `bigqueryOptions`<sup>Optional</sup> <a name="bigqueryOptions" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.bigqueryOptions"></a>

```typescript
public readonly bigqueryOptions: LoggingProjectSinkBigqueryOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.LoggingProjectSinkBigqueryOptions">LoggingProjectSinkBigqueryOptions</a>

bigquery_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#bigquery_options LoggingProjectSink#bigquery_options}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this sink. The maximum length of the description is 8000 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#description LoggingProjectSink#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to True, then this sink is disabled and it does not export any log entries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#disabled LoggingProjectSink#disabled}

---

##### `exclusions`<sup>Optional</sup> <a name="exclusions" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.exclusions"></a>

```typescript
public readonly exclusions: IResolvable | LoggingProjectSinkExclusions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.LoggingProjectSinkExclusions">LoggingProjectSinkExclusions</a>[]

exclusions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#exclusions LoggingProjectSink#exclusions}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The filter to apply when exporting logs. Only log entries that match the filter are exported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#filter LoggingProjectSink#filter}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#id LoggingProjectSink#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project to create the sink in.

If omitted, the project associated with the provider is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#project LoggingProjectSink#project}

---

##### `uniqueWriterIdentity`<sup>Optional</sup> <a name="uniqueWriterIdentity" id="@dschmidt/provider-google.LoggingProjectSinkConfig.property.uniqueWriterIdentity"></a>

```typescript
public readonly uniqueWriterIdentity: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not to create a unique identity associated with this sink.

If false (the default), then the writer_identity used is serviceAccount:cloud-logs@system.gserviceaccount.com. If true, then a unique service account is created and used for this sink. If you wish to publish logs across projects, you must set unique_writer_identity to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#unique_writer_identity LoggingProjectSink#unique_writer_identity}

---

### LoggingProjectSinkExclusions <a name="LoggingProjectSinkExclusions" id="@dschmidt/provider-google.LoggingProjectSinkExclusions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.LoggingProjectSinkExclusions.Initializer"></a>

```typescript
import { LoggingProjectSinkExclusions } from '@dschmidt/provider-google'

const loggingProjectSinkExclusions: LoggingProjectSinkExclusions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkExclusions.property.filter">filter</a></code> | <code>string</code> | An advanced logs filter that matches the log entries to be excluded. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkExclusions.property.name">name</a></code> | <code>string</code> | A client-assigned identifier, such as "load-balancer-exclusion". |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkExclusions.property.description">description</a></code> | <code>string</code> | A description of this exclusion. |
| <code><a href="#@dschmidt/provider-google.LoggingProjectSinkExclusions.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to True, then this exclusion is disabled and it does not exclude any log entries. |

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.LoggingProjectSinkExclusions.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

An advanced logs filter that matches the log entries to be excluded.

By using the sample function, you can exclude less than 100% of the matching log entries

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#filter LoggingProjectSink#filter}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.LoggingProjectSinkExclusions.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A client-assigned identifier, such as "load-balancer-exclusion".

Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#name LoggingProjectSink#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.LoggingProjectSinkExclusions.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A description of this exclusion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#description LoggingProjectSink#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.LoggingProjectSinkExclusions.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to True, then this exclusion is disabled and it does not exclude any log entries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/logging_project_sink#disabled LoggingProjectSink#disabled}

---

### MemcacheInstanceConfig <a name="MemcacheInstanceConfig" id="@dschmidt/provider-google.MemcacheInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MemcacheInstanceConfig.Initializer"></a>

```typescript
import { MemcacheInstanceConfig } from '@dschmidt/provider-google'

const memcacheInstanceConfig: MemcacheInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.name">name</a></code> | <code>string</code> | The resource name of the instance. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.nodeConfig">nodeConfig</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceNodeConfig">MemcacheInstanceNodeConfig</a></code> | node_config block. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.nodeCount">nodeCount</a></code> | <code>number</code> | Number of nodes in the memcache instance. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.authorizedNetwork">authorizedNetwork</a></code> | <code>string</code> | The full name of the GCE network to connect the instance to.  If not provided, 'default' will be used. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.displayName">displayName</a></code> | <code>string</code> | A user-visible name for the instance. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#id MemcacheInstance#id}. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Resource labels to represent user-provided metadata. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.maintenancePolicy">maintenancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy">MemcacheInstanceMaintenancePolicy</a></code> | maintenance_policy block. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.memcacheParameters">memcacheParameters</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheParameters">MemcacheInstanceMemcacheParameters</a></code> | memcache_parameters block. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.memcacheVersion">memcacheVersion</a></code> | <code>string</code> | The major version of Memcached software. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#project MemcacheInstance#project}. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.region">region</a></code> | <code>string</code> | The region of the Memcache instance. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceTimeouts">MemcacheInstanceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceConfig.property.zones">zones</a></code> | <code>string[]</code> | Zones where memcache nodes should be provisioned.  If not provided, all zones will be used. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#name MemcacheInstance#name}

---

##### `nodeConfig`<sup>Required</sup> <a name="nodeConfig" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.nodeConfig"></a>

```typescript
public readonly nodeConfig: MemcacheInstanceNodeConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceNodeConfig">MemcacheInstanceNodeConfig</a>

node_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#node_config MemcacheInstance#node_config}

---

##### `nodeCount`<sup>Required</sup> <a name="nodeCount" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.nodeCount"></a>

```typescript
public readonly nodeCount: number;
```

- *Type:* number

Number of nodes in the memcache instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#node_count MemcacheInstance#node_count}

---

##### `authorizedNetwork`<sup>Optional</sup> <a name="authorizedNetwork" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.authorizedNetwork"></a>

```typescript
public readonly authorizedNetwork: string;
```

- *Type:* string

The full name of the GCE network to connect the instance to.  If not provided, 'default' will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#authorized_network MemcacheInstance#authorized_network}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A user-visible name for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#display_name MemcacheInstance#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#id MemcacheInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Resource labels to represent user-provided metadata.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#labels MemcacheInstance#labels}

---

##### `maintenancePolicy`<sup>Optional</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: MemcacheInstanceMaintenancePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy">MemcacheInstanceMaintenancePolicy</a>

maintenance_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#maintenance_policy MemcacheInstance#maintenance_policy}

---

##### `memcacheParameters`<sup>Optional</sup> <a name="memcacheParameters" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.memcacheParameters"></a>

```typescript
public readonly memcacheParameters: MemcacheInstanceMemcacheParameters;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheParameters">MemcacheInstanceMemcacheParameters</a>

memcache_parameters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#memcache_parameters MemcacheInstance#memcache_parameters}

---

##### `memcacheVersion`<sup>Optional</sup> <a name="memcacheVersion" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.memcacheVersion"></a>

```typescript
public readonly memcacheVersion: string;
```

- *Type:* string

The major version of Memcached software.

If not provided, latest supported version will be used.
Currently the latest supported major version is MEMCACHE_1_5. The minor version will be automatically
determined by our system based on the latest supported minor version. Default value: "MEMCACHE_1_5" Possible values: ["MEMCACHE_1_5"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#memcache_version MemcacheInstance#memcache_version}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#project MemcacheInstance#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region of the Memcache instance. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#region MemcacheInstance#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MemcacheInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceTimeouts">MemcacheInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#timeouts MemcacheInstance#timeouts}

---

##### `zones`<sup>Optional</sup> <a name="zones" id="@dschmidt/provider-google.MemcacheInstanceConfig.property.zones"></a>

```typescript
public readonly zones: string[];
```

- *Type:* string[]

Zones where memcache nodes should be provisioned.  If not provided, all zones will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#zones MemcacheInstance#zones}

---

### MemcacheInstanceMaintenancePolicy <a name="MemcacheInstanceMaintenancePolicy" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy.Initializer"></a>

```typescript
import { MemcacheInstanceMaintenancePolicy } from '@dschmidt/provider-google'

const memcacheInstanceMaintenancePolicy: MemcacheInstanceMaintenancePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy.property.weeklyMaintenanceWindow">weeklyMaintenanceWindow</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow">MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow</a>[]</code> | weekly_maintenance_window block. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy.property.description">description</a></code> | <code>string</code> | Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512. |

---

##### `weeklyMaintenanceWindow`<sup>Required</sup> <a name="weeklyMaintenanceWindow" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy.property.weeklyMaintenanceWindow"></a>

```typescript
public readonly weeklyMaintenanceWindow: IResolvable | MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow">MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow</a>[]

weekly_maintenance_window block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#weekly_maintenance_window MemcacheInstance#weekly_maintenance_window}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#description MemcacheInstance#description}

---

### MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow <a name="MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow.Initializer"></a>

```typescript
import { MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow } from '@dschmidt/provider-google'

const memcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow: MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.day">day</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.duration">duration</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.startTime">startTime</a></code> | <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime">MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime</a></code> | start_time block. |

---

##### `day`<sup>Required</sup> <a name="day" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.day"></a>

```typescript
public readonly day: string;
```

- *Type:* string

Required.

The day of week that maintenance updates occur.
- DAY_OF_WEEK_UNSPECIFIED: The day of the week is unspecified.
- MONDAY: Monday
- TUESDAY: Tuesday
- WEDNESDAY: Wednesday
- THURSDAY: Thursday
- FRIDAY: Friday
- SATURDAY: Saturday
- SUNDAY: Sunday Possible values: ["DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#day MemcacheInstance#day}

---

##### `duration`<sup>Required</sup> <a name="duration" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.duration"></a>

```typescript
public readonly duration: string;
```

- *Type:* string

Required.

The length of the maintenance window, ranging from 3 hours to 8 hours.
A duration in seconds with up to nine fractional digits,
terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#duration MemcacheInstance#duration}

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.startTime"></a>

```typescript
public readonly startTime: MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime;
```

- *Type:* <a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime">MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime</a>

start_time block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#start_time MemcacheInstance#start_time}

---

### MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime <a name="MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.Initializer"></a>

```typescript
import { MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime } from '@dschmidt/provider-google'

const memcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime: MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.hours">hours</a></code> | <code>number</code> | Hours of day in 24 hour format. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.minutes">minutes</a></code> | <code>number</code> | Minutes of hour of day. Must be from 0 to 59. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.nanos">nanos</a></code> | <code>number</code> | Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.seconds">seconds</a></code> | <code>number</code> | Seconds of minutes of the time. |

---

##### `hours`<sup>Optional</sup> <a name="hours" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.hours"></a>

```typescript
public readonly hours: number;
```

- *Type:* number

Hours of day in 24 hour format.

Should be from 0 to 23.
An API may choose to allow the value "24:00:00" for scenarios like business closing time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#hours MemcacheInstance#hours}

---

##### `minutes`<sup>Optional</sup> <a name="minutes" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.minutes"></a>

```typescript
public readonly minutes: number;
```

- *Type:* number

Minutes of hour of day. Must be from 0 to 59.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#minutes MemcacheInstance#minutes}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#nanos MemcacheInstance#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.MemcacheInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Seconds of minutes of the time.

Must normally be from 0 to 59.
An API may allow the value 60 if it allows leap-seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#seconds MemcacheInstance#seconds}

---

### MemcacheInstanceMaintenanceSchedule <a name="MemcacheInstanceMaintenanceSchedule" id="@dschmidt/provider-google.MemcacheInstanceMaintenanceSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MemcacheInstanceMaintenanceSchedule.Initializer"></a>

```typescript
import { MemcacheInstanceMaintenanceSchedule } from '@dschmidt/provider-google'

const memcacheInstanceMaintenanceSchedule: MemcacheInstanceMaintenanceSchedule = { ... }
```


### MemcacheInstanceMemcacheNodes <a name="MemcacheInstanceMemcacheNodes" id="@dschmidt/provider-google.MemcacheInstanceMemcacheNodes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MemcacheInstanceMemcacheNodes.Initializer"></a>

```typescript
import { MemcacheInstanceMemcacheNodes } from '@dschmidt/provider-google'

const memcacheInstanceMemcacheNodes: MemcacheInstanceMemcacheNodes = { ... }
```


### MemcacheInstanceMemcacheParameters <a name="MemcacheInstanceMemcacheParameters" id="@dschmidt/provider-google.MemcacheInstanceMemcacheParameters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MemcacheInstanceMemcacheParameters.Initializer"></a>

```typescript
import { MemcacheInstanceMemcacheParameters } from '@dschmidt/provider-google'

const memcacheInstanceMemcacheParameters: MemcacheInstanceMemcacheParameters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceMemcacheParameters.property.params">params</a></code> | <code>{[ key: string ]: string}</code> | User-defined set of parameters to use in the memcache process. |

---

##### `params`<sup>Optional</sup> <a name="params" id="@dschmidt/provider-google.MemcacheInstanceMemcacheParameters.property.params"></a>

```typescript
public readonly params: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-defined set of parameters to use in the memcache process.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#params MemcacheInstance#params}

---

### MemcacheInstanceNodeConfig <a name="MemcacheInstanceNodeConfig" id="@dschmidt/provider-google.MemcacheInstanceNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MemcacheInstanceNodeConfig.Initializer"></a>

```typescript
import { MemcacheInstanceNodeConfig } from '@dschmidt/provider-google'

const memcacheInstanceNodeConfig: MemcacheInstanceNodeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceNodeConfig.property.cpuCount">cpuCount</a></code> | <code>number</code> | Number of CPUs per node. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceNodeConfig.property.memorySizeMb">memorySizeMb</a></code> | <code>number</code> | Memory size in Mebibytes for each memcache node. |

---

##### `cpuCount`<sup>Required</sup> <a name="cpuCount" id="@dschmidt/provider-google.MemcacheInstanceNodeConfig.property.cpuCount"></a>

```typescript
public readonly cpuCount: number;
```

- *Type:* number

Number of CPUs per node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#cpu_count MemcacheInstance#cpu_count}

---

##### `memorySizeMb`<sup>Required</sup> <a name="memorySizeMb" id="@dschmidt/provider-google.MemcacheInstanceNodeConfig.property.memorySizeMb"></a>

```typescript
public readonly memorySizeMb: number;
```

- *Type:* number

Memory size in Mebibytes for each memcache node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#memory_size_mb MemcacheInstance#memory_size_mb}

---

### MemcacheInstanceTimeouts <a name="MemcacheInstanceTimeouts" id="@dschmidt/provider-google.MemcacheInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MemcacheInstanceTimeouts.Initializer"></a>

```typescript
import { MemcacheInstanceTimeouts } from '@dschmidt/provider-google'

const memcacheInstanceTimeouts: MemcacheInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#create MemcacheInstance#create}. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#delete MemcacheInstance#delete}. |
| <code><a href="#@dschmidt/provider-google.MemcacheInstanceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#update MemcacheInstance#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MemcacheInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#create MemcacheInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MemcacheInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#delete MemcacheInstance#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.MemcacheInstanceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/memcache_instance#update MemcacheInstance#update}.

---

### MlEngineModelConfig <a name="MlEngineModelConfig" id="@dschmidt/provider-google.MlEngineModelConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MlEngineModelConfig.Initializer"></a>

```typescript
import { MlEngineModelConfig } from '@dschmidt/provider-google'

const mlEngineModelConfig: MlEngineModelConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.name">name</a></code> | <code>string</code> | The name specified for the model. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.defaultVersion">defaultVersion</a></code> | <code><a href="#@dschmidt/provider-google.MlEngineModelDefaultVersion">MlEngineModelDefaultVersion</a></code> | default_version block. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.description">description</a></code> | <code>string</code> | The description specified for the model when it was created. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#id MlEngineModel#id}. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | One or more labels that you can add, to organize your models. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.onlinePredictionConsoleLogging">onlinePredictionConsoleLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, online prediction nodes send stderr and stdout streams to Stackdriver Logging. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.onlinePredictionLogging">onlinePredictionLogging</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, online prediction access logs are sent to StackDriver Logging. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#project MlEngineModel#project}. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.regions">regions</a></code> | <code>string[]</code> | The list of regions where the model is going to be deployed. Currently only one region per model is supported. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MlEngineModelTimeouts">MlEngineModelTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MlEngineModelConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MlEngineModelConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MlEngineModelConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MlEngineModelConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MlEngineModelConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MlEngineModelConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MlEngineModelConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MlEngineModelConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name specified for the model.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#name MlEngineModel#name}

---

##### `defaultVersion`<sup>Optional</sup> <a name="defaultVersion" id="@dschmidt/provider-google.MlEngineModelConfig.property.defaultVersion"></a>

```typescript
public readonly defaultVersion: MlEngineModelDefaultVersion;
```

- *Type:* <a href="#@dschmidt/provider-google.MlEngineModelDefaultVersion">MlEngineModelDefaultVersion</a>

default_version block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#default_version MlEngineModel#default_version}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.MlEngineModelConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The description specified for the model when it was created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#description MlEngineModel#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MlEngineModelConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#id MlEngineModel#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.MlEngineModelConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

One or more labels that you can add, to organize your models.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#labels MlEngineModel#labels}

---

##### `onlinePredictionConsoleLogging`<sup>Optional</sup> <a name="onlinePredictionConsoleLogging" id="@dschmidt/provider-google.MlEngineModelConfig.property.onlinePredictionConsoleLogging"></a>

```typescript
public readonly onlinePredictionConsoleLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, online prediction nodes send stderr and stdout streams to Stackdriver Logging.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#online_prediction_console_logging MlEngineModel#online_prediction_console_logging}

---

##### `onlinePredictionLogging`<sup>Optional</sup> <a name="onlinePredictionLogging" id="@dschmidt/provider-google.MlEngineModelConfig.property.onlinePredictionLogging"></a>

```typescript
public readonly onlinePredictionLogging: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, online prediction access logs are sent to StackDriver Logging.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#online_prediction_logging MlEngineModel#online_prediction_logging}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MlEngineModelConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#project MlEngineModel#project}.

---

##### `regions`<sup>Optional</sup> <a name="regions" id="@dschmidt/provider-google.MlEngineModelConfig.property.regions"></a>

```typescript
public readonly regions: string[];
```

- *Type:* string[]

The list of regions where the model is going to be deployed. Currently only one region per model is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#regions MlEngineModel#regions}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MlEngineModelConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MlEngineModelTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MlEngineModelTimeouts">MlEngineModelTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#timeouts MlEngineModel#timeouts}

---

### MlEngineModelDefaultVersion <a name="MlEngineModelDefaultVersion" id="@dschmidt/provider-google.MlEngineModelDefaultVersion"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MlEngineModelDefaultVersion.Initializer"></a>

```typescript
import { MlEngineModelDefaultVersion } from '@dschmidt/provider-google'

const mlEngineModelDefaultVersion: MlEngineModelDefaultVersion = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MlEngineModelDefaultVersion.property.name">name</a></code> | <code>string</code> | The name specified for the version when it was created. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MlEngineModelDefaultVersion.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name specified for the version when it was created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#name MlEngineModel#name}

---

### MlEngineModelTimeouts <a name="MlEngineModelTimeouts" id="@dschmidt/provider-google.MlEngineModelTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MlEngineModelTimeouts.Initializer"></a>

```typescript
import { MlEngineModelTimeouts } from '@dschmidt/provider-google'

const mlEngineModelTimeouts: MlEngineModelTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MlEngineModelTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#create MlEngineModel#create}. |
| <code><a href="#@dschmidt/provider-google.MlEngineModelTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#delete MlEngineModel#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MlEngineModelTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#create MlEngineModel#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MlEngineModelTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/ml_engine_model#delete MlEngineModel#delete}.

---

### MonitoringAlertPolicyAlertStrategy <a name="MonitoringAlertPolicyAlertStrategy" id="@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy.Initializer"></a>

```typescript
import { MonitoringAlertPolicyAlertStrategy } from '@dschmidt/provider-google'

const monitoringAlertPolicyAlertStrategy: MonitoringAlertPolicyAlertStrategy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy.property.autoClose">autoClose</a></code> | <code>string</code> | If an alert policy that was active has no data for this long, any open incidents will close. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy.property.notificationRateLimit">notificationRateLimit</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategyNotificationRateLimit">MonitoringAlertPolicyAlertStrategyNotificationRateLimit</a></code> | notification_rate_limit block. |

---

##### `autoClose`<sup>Optional</sup> <a name="autoClose" id="@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy.property.autoClose"></a>

```typescript
public readonly autoClose: string;
```

- *Type:* string

If an alert policy that was active has no data for this long, any open incidents will close.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#auto_close MonitoringAlertPolicy#auto_close}

---

##### `notificationRateLimit`<sup>Optional</sup> <a name="notificationRateLimit" id="@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy.property.notificationRateLimit"></a>

```typescript
public readonly notificationRateLimit: MonitoringAlertPolicyAlertStrategyNotificationRateLimit;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategyNotificationRateLimit">MonitoringAlertPolicyAlertStrategyNotificationRateLimit</a>

notification_rate_limit block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#notification_rate_limit MonitoringAlertPolicy#notification_rate_limit}

---

### MonitoringAlertPolicyAlertStrategyNotificationRateLimit <a name="MonitoringAlertPolicyAlertStrategyNotificationRateLimit" id="@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategyNotificationRateLimit"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategyNotificationRateLimit.Initializer"></a>

```typescript
import { MonitoringAlertPolicyAlertStrategyNotificationRateLimit } from '@dschmidt/provider-google'

const monitoringAlertPolicyAlertStrategyNotificationRateLimit: MonitoringAlertPolicyAlertStrategyNotificationRateLimit = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategyNotificationRateLimit.property.period">period</a></code> | <code>string</code> | Not more than one notification per period. |

---

##### `period`<sup>Optional</sup> <a name="period" id="@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategyNotificationRateLimit.property.period"></a>

```typescript
public readonly period: string;
```

- *Type:* string

Not more than one notification per period.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#period MonitoringAlertPolicy#period}

---

### MonitoringAlertPolicyConditions <a name="MonitoringAlertPolicyConditions" id="@dschmidt/provider-google.MonitoringAlertPolicyConditions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditions.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditions } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditions: MonitoringAlertPolicyConditions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.displayName">displayName</a></code> | <code>string</code> | A short name or phrase used to identify the condition in dashboards, notifications, and incidents. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.conditionAbsent">conditionAbsent</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent">MonitoringAlertPolicyConditionsConditionAbsent</a></code> | condition_absent block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.conditionMatchedLog">conditionMatchedLog</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMatchedLog">MonitoringAlertPolicyConditionsConditionMatchedLog</a></code> | condition_matched_log block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.conditionMonitoringQueryLanguage">conditionMonitoringQueryLanguage</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage">MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage</a></code> | condition_monitoring_query_language block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.conditionThreshold">conditionThreshold</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold">MonitoringAlertPolicyConditionsConditionThreshold</a></code> | condition_threshold block. |

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A short name or phrase used to identify the condition in dashboards, notifications, and incidents.

To avoid confusion, don't use the same
display name for multiple conditions in the same
policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#display_name MonitoringAlertPolicy#display_name}

---

##### `conditionAbsent`<sup>Optional</sup> <a name="conditionAbsent" id="@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.conditionAbsent"></a>

```typescript
public readonly conditionAbsent: MonitoringAlertPolicyConditionsConditionAbsent;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent">MonitoringAlertPolicyConditionsConditionAbsent</a>

condition_absent block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#condition_absent MonitoringAlertPolicy#condition_absent}

---

##### `conditionMatchedLog`<sup>Optional</sup> <a name="conditionMatchedLog" id="@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.conditionMatchedLog"></a>

```typescript
public readonly conditionMatchedLog: MonitoringAlertPolicyConditionsConditionMatchedLog;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMatchedLog">MonitoringAlertPolicyConditionsConditionMatchedLog</a>

condition_matched_log block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#condition_matched_log MonitoringAlertPolicy#condition_matched_log}

---

##### `conditionMonitoringQueryLanguage`<sup>Optional</sup> <a name="conditionMonitoringQueryLanguage" id="@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.conditionMonitoringQueryLanguage"></a>

```typescript
public readonly conditionMonitoringQueryLanguage: MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage">MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage</a>

condition_monitoring_query_language block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#condition_monitoring_query_language MonitoringAlertPolicy#condition_monitoring_query_language}

---

##### `conditionThreshold`<sup>Optional</sup> <a name="conditionThreshold" id="@dschmidt/provider-google.MonitoringAlertPolicyConditions.property.conditionThreshold"></a>

```typescript
public readonly conditionThreshold: MonitoringAlertPolicyConditionsConditionThreshold;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold">MonitoringAlertPolicyConditionsConditionThreshold</a>

condition_threshold block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#condition_threshold MonitoringAlertPolicy#condition_threshold}

---

### MonitoringAlertPolicyConditionsConditionAbsent <a name="MonitoringAlertPolicyConditionsConditionAbsent" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionAbsent } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionAbsent: MonitoringAlertPolicyConditionsConditionAbsent = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent.property.duration">duration</a></code> | <code>string</code> | The amount of time that a time series must fail to report new data to be considered failing. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent.property.aggregations">aggregations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations">MonitoringAlertPolicyConditionsConditionAbsentAggregations</a>[]</code> | aggregations block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent.property.filter">filter</a></code> | <code>string</code> | A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent.property.trigger">trigger</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentTrigger">MonitoringAlertPolicyConditionsConditionAbsentTrigger</a></code> | trigger block. |

---

##### `duration`<sup>Required</sup> <a name="duration" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent.property.duration"></a>

```typescript
public readonly duration: string;
```

- *Type:* string

The amount of time that a time series must fail to report new data to be considered failing.

Currently, only values that are a
multiple of a minute--e.g. 60s, 120s, or 300s
--are supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#duration MonitoringAlertPolicy#duration}

---

##### `aggregations`<sup>Optional</sup> <a name="aggregations" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent.property.aggregations"></a>

```typescript
public readonly aggregations: IResolvable | MonitoringAlertPolicyConditionsConditionAbsentAggregations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations">MonitoringAlertPolicyConditionsConditionAbsentAggregations</a>[]

aggregations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#aggregations MonitoringAlertPolicy#aggregations}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#filter MonitoringAlertPolicy#filter}

---

##### `trigger`<sup>Optional</sup> <a name="trigger" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsent.property.trigger"></a>

```typescript
public readonly trigger: MonitoringAlertPolicyConditionsConditionAbsentTrigger;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentTrigger">MonitoringAlertPolicyConditionsConditionAbsentTrigger</a>

trigger block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#trigger MonitoringAlertPolicy#trigger}

---

### MonitoringAlertPolicyConditionsConditionAbsentAggregations <a name="MonitoringAlertPolicyConditionsConditionAbsentAggregations" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionAbsentAggregations } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionAbsentAggregations: MonitoringAlertPolicyConditionsConditionAbsentAggregations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations.property.alignmentPeriod">alignmentPeriod</a></code> | <code>string</code> | The alignment period for per-time series alignment. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations.property.crossSeriesReducer">crossSeriesReducer</a></code> | <code>string</code> | The approach to be used to combine time series. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations.property.groupByFields">groupByFields</a></code> | <code>string[]</code> | The set of fields to preserve when crossSeriesReducer is specified. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations.property.perSeriesAligner">perSeriesAligner</a></code> | <code>string</code> | The approach to be used to align individual time series. |

---

##### `alignmentPeriod`<sup>Optional</sup> <a name="alignmentPeriod" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations.property.alignmentPeriod"></a>

```typescript
public readonly alignmentPeriod: string;
```

- *Type:* string

The alignment period for per-time series alignment.

If present,
alignmentPeriod must be at least
60 seconds. After per-time series
alignment, each time series will
contain data points only on the
period boundaries. If
perSeriesAligner is not specified
or equals ALIGN_NONE, then this
field is ignored. If
perSeriesAligner is specified and
does not equal ALIGN_NONE, then
this field must be defined;
otherwise an error is returned.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#alignment_period MonitoringAlertPolicy#alignment_period}

---

##### `crossSeriesReducer`<sup>Optional</sup> <a name="crossSeriesReducer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations.property.crossSeriesReducer"></a>

```typescript
public readonly crossSeriesReducer: string;
```

- *Type:* string

The approach to be used to combine time series.

Not all reducer
functions may be applied to all
time series, depending on the
metric type and the value type of
the original time series.
Reduction may change the metric
type of value type of the time
series.Time series data must be
aligned in order to perform cross-
time series reduction. If
crossSeriesReducer is specified,
then perSeriesAligner must be
specified and not equal ALIGN_NONE
and alignmentPeriod must be
specified; otherwise, an error is
returned. Possible values: ["REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#cross_series_reducer MonitoringAlertPolicy#cross_series_reducer}

---

##### `groupByFields`<sup>Optional</sup> <a name="groupByFields" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations.property.groupByFields"></a>

```typescript
public readonly groupByFields: string[];
```

- *Type:* string[]

The set of fields to preserve when crossSeriesReducer is specified.

The groupByFields determine how
the time series are partitioned
into subsets prior to applying the
aggregation function. Each subset
contains time series that have the
same value for each of the
grouping fields. Each individual
time series is a member of exactly
one subset. The crossSeriesReducer
is applied to each subset of time
series. It is not possible to
reduce across different resource
types, so this field implicitly
contains resource.type. Fields not
specified in groupByFields are
aggregated away. If groupByFields
is not specified and all the time
series have the same resource
type, then the time series are
aggregated into a single output
time series. If crossSeriesReducer
is not defined, this field is
ignored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#group_by_fields MonitoringAlertPolicy#group_by_fields}

---

##### `perSeriesAligner`<sup>Optional</sup> <a name="perSeriesAligner" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentAggregations.property.perSeriesAligner"></a>

```typescript
public readonly perSeriesAligner: string;
```

- *Type:* string

The approach to be used to align individual time series.

Not all
alignment functions may be applied
to all time series, depending on
the metric type and value type of
the original time series.
Alignment may change the metric
type or the value type of the time
series.Time series data must be
aligned in order to perform cross-
time series reduction. If
crossSeriesReducer is specified,
then perSeriesAligner must be
specified and not equal ALIGN_NONE
and alignmentPeriod must be
specified; otherwise, an error is
returned. Possible values: ["ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_PERCENT_CHANGE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#per_series_aligner MonitoringAlertPolicy#per_series_aligner}

---

### MonitoringAlertPolicyConditionsConditionAbsentTrigger <a name="MonitoringAlertPolicyConditionsConditionAbsentTrigger" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentTrigger"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentTrigger.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionAbsentTrigger } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionAbsentTrigger: MonitoringAlertPolicyConditionsConditionAbsentTrigger = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentTrigger.property.count">count</a></code> | <code>number</code> | The absolute number of time series that must fail the predicate for the condition to be triggered. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentTrigger.property.percent">percent</a></code> | <code>number</code> | The percentage of time series that must fail the predicate for the condition to be triggered. |

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentTrigger.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

The absolute number of time series that must fail the predicate for the condition to be triggered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#count MonitoringAlertPolicy#count}

---

##### `percent`<sup>Optional</sup> <a name="percent" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionAbsentTrigger.property.percent"></a>

```typescript
public readonly percent: number;
```

- *Type:* number

The percentage of time series that must fail the predicate for the condition to be triggered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#percent MonitoringAlertPolicy#percent}

---

### MonitoringAlertPolicyConditionsConditionMatchedLog <a name="MonitoringAlertPolicyConditionsConditionMatchedLog" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMatchedLog"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMatchedLog.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionMatchedLog } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionMatchedLog: MonitoringAlertPolicyConditionsConditionMatchedLog = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMatchedLog.property.filter">filter</a></code> | <code>string</code> | A logs-based filter. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMatchedLog.property.labelExtractors">labelExtractors</a></code> | <code>{[ key: string ]: string}</code> | A map from a label key to an extractor expression, which is used to extract the value for this label key. |

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMatchedLog.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

A logs-based filter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#filter MonitoringAlertPolicy#filter}

---

##### `labelExtractors`<sup>Optional</sup> <a name="labelExtractors" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMatchedLog.property.labelExtractors"></a>

```typescript
public readonly labelExtractors: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A map from a label key to an extractor expression, which is used to extract the value for this label key.

Each entry in this map is
a specification for how data should be extracted from log entries that
match filter. Each combination of extracted values is treated as
a separate rule for the purposes of triggering notifications.
Label keys and corresponding values can be used in notifications
generated by this condition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#label_extractors MonitoringAlertPolicy#label_extractors}

---

### MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage <a name="MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionMonitoringQueryLanguage: MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage.property.duration">duration</a></code> | <code>string</code> | The amount of time that a time series must violate the threshold to be considered failing. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage.property.query">query</a></code> | <code>string</code> | Monitoring Query Language query that outputs a boolean stream. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage.property.evaluationMissingData">evaluationMissingData</a></code> | <code>string</code> | A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values: ["EVALUATION_MISSING_DATA_INACTIVE", "EVALUATION_MISSING_DATA_ACTIVE", "EVALUATION_MISSING_DATA_NO_OP"]. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage.property.trigger">trigger</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger">MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger</a></code> | trigger block. |

---

##### `duration`<sup>Required</sup> <a name="duration" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage.property.duration"></a>

```typescript
public readonly duration: string;
```

- *Type:* string

The amount of time that a time series must violate the threshold to be considered failing.

Currently, only values that are a
multiple of a minute--e.g., 0, 60, 120, or
300 seconds--are supported. If an invalid
value is given, an error will be returned.
When choosing a duration, it is useful to
keep in mind the frequency of the underlying
time series data (which may also be affected
by any alignments specified in the
aggregations field); a good duration is long
enough so that a single outlier does not
generate spurious alerts, but short enough
that unhealthy states are detected and
alerted on quickly.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#duration MonitoringAlertPolicy#duration}

---

##### `query`<sup>Required</sup> <a name="query" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage.property.query"></a>

```typescript
public readonly query: string;
```

- *Type:* string

Monitoring Query Language query that outputs a boolean stream.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#query MonitoringAlertPolicy#query}

---

##### `evaluationMissingData`<sup>Optional</sup> <a name="evaluationMissingData" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage.property.evaluationMissingData"></a>

```typescript
public readonly evaluationMissingData: string;
```

- *Type:* string

A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values: ["EVALUATION_MISSING_DATA_INACTIVE", "EVALUATION_MISSING_DATA_ACTIVE", "EVALUATION_MISSING_DATA_NO_OP"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#evaluation_missing_data MonitoringAlertPolicy#evaluation_missing_data}

---

##### `trigger`<sup>Optional</sup> <a name="trigger" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage.property.trigger"></a>

```typescript
public readonly trigger: MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger">MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger</a>

trigger block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#trigger MonitoringAlertPolicy#trigger}

---

### MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger <a name="MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger: MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.property.count">count</a></code> | <code>number</code> | The absolute number of time series that must fail the predicate for the condition to be triggered. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.property.percent">percent</a></code> | <code>number</code> | The percentage of time series that must fail the predicate for the condition to be triggered. |

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

The absolute number of time series that must fail the predicate for the condition to be triggered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#count MonitoringAlertPolicy#count}

---

##### `percent`<sup>Optional</sup> <a name="percent" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.property.percent"></a>

```typescript
public readonly percent: number;
```

- *Type:* number

The percentage of time series that must fail the predicate for the condition to be triggered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#percent MonitoringAlertPolicy#percent}

---

### MonitoringAlertPolicyConditionsConditionThreshold <a name="MonitoringAlertPolicyConditionsConditionThreshold" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionThreshold } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionThreshold: MonitoringAlertPolicyConditionsConditionThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.comparison">comparison</a></code> | <code>string</code> | The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value). |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.duration">duration</a></code> | <code>string</code> | The amount of time that a time series must violate the threshold to be considered failing. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.aggregations">aggregations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations">MonitoringAlertPolicyConditionsConditionThresholdAggregations</a>[]</code> | aggregations block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.denominatorAggregations">denominatorAggregations</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations">MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations</a>[]</code> | denominator_aggregations block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.denominatorFilter">denominatorFilter</a></code> | <code>string</code> | A filter that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.evaluationMissingData">evaluationMissingData</a></code> | <code>string</code> | A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values: ["EVALUATION_MISSING_DATA_INACTIVE", "EVALUATION_MISSING_DATA_ACTIVE", "EVALUATION_MISSING_DATA_NO_OP"]. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.filter">filter</a></code> | <code>string</code> | A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.thresholdValue">thresholdValue</a></code> | <code>number</code> | A value against which to compare the time series. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.trigger">trigger</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdTrigger">MonitoringAlertPolicyConditionsConditionThresholdTrigger</a></code> | trigger block. |

---

##### `comparison`<sup>Required</sup> <a name="comparison" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.comparison"></a>

```typescript
public readonly comparison: string;
```

- *Type:* string

The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value).

The comparison is applied
on each time series, with the time series on
the left-hand side and the threshold on the
right-hand side. Only COMPARISON_LT and
COMPARISON_GT are supported currently. Possible values: ["COMPARISON_GT", "COMPARISON_GE", "COMPARISON_LT", "COMPARISON_LE", "COMPARISON_EQ", "COMPARISON_NE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#comparison MonitoringAlertPolicy#comparison}

---

##### `duration`<sup>Required</sup> <a name="duration" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.duration"></a>

```typescript
public readonly duration: string;
```

- *Type:* string

The amount of time that a time series must violate the threshold to be considered failing.

Currently, only values that are a
multiple of a minute--e.g., 0, 60, 120, or
300 seconds--are supported. If an invalid
value is given, an error will be returned.
When choosing a duration, it is useful to
keep in mind the frequency of the underlying
time series data (which may also be affected
by any alignments specified in the
aggregations field); a good duration is long
enough so that a single outlier does not
generate spurious alerts, but short enough
that unhealthy states are detected and
alerted on quickly.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#duration MonitoringAlertPolicy#duration}

---

##### `aggregations`<sup>Optional</sup> <a name="aggregations" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.aggregations"></a>

```typescript
public readonly aggregations: IResolvable | MonitoringAlertPolicyConditionsConditionThresholdAggregations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations">MonitoringAlertPolicyConditionsConditionThresholdAggregations</a>[]

aggregations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#aggregations MonitoringAlertPolicy#aggregations}

---

##### `denominatorAggregations`<sup>Optional</sup> <a name="denominatorAggregations" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.denominatorAggregations"></a>

```typescript
public readonly denominatorAggregations: IResolvable | MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations">MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations</a>[]

denominator_aggregations block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#denominator_aggregations MonitoringAlertPolicy#denominator_aggregations}

---

##### `denominatorFilter`<sup>Optional</sup> <a name="denominatorFilter" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.denominatorFilter"></a>

```typescript
public readonly denominatorFilter: string;
```

- *Type:* string

A filter that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold.

If
a denominator_filter is specified, the time
series specified by the filter field will be
used as the numerator.The filter is similar
to the one that is specified in the
MetricService.ListTimeSeries request (that
call is useful to verify the time series
that will be retrieved / processed) and must
specify the metric type and optionally may
contain restrictions on resource type,
resource labels, and metric labels. This
field may not exceed 2048 Unicode characters
in length.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#denominator_filter MonitoringAlertPolicy#denominator_filter}

---

##### `evaluationMissingData`<sup>Optional</sup> <a name="evaluationMissingData" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.evaluationMissingData"></a>

```typescript
public readonly evaluationMissingData: string;
```

- *Type:* string

A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. Possible values: ["EVALUATION_MISSING_DATA_INACTIVE", "EVALUATION_MISSING_DATA_ACTIVE", "EVALUATION_MISSING_DATA_NO_OP"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#evaluation_missing_data MonitoringAlertPolicy#evaluation_missing_data}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#filter MonitoringAlertPolicy#filter}

---

##### `thresholdValue`<sup>Optional</sup> <a name="thresholdValue" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.thresholdValue"></a>

```typescript
public readonly thresholdValue: number;
```

- *Type:* number

A value against which to compare the time series.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#threshold_value MonitoringAlertPolicy#threshold_value}

---

##### `trigger`<sup>Optional</sup> <a name="trigger" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThreshold.property.trigger"></a>

```typescript
public readonly trigger: MonitoringAlertPolicyConditionsConditionThresholdTrigger;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdTrigger">MonitoringAlertPolicyConditionsConditionThresholdTrigger</a>

trigger block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#trigger MonitoringAlertPolicy#trigger}

---

### MonitoringAlertPolicyConditionsConditionThresholdAggregations <a name="MonitoringAlertPolicyConditionsConditionThresholdAggregations" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionThresholdAggregations } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionThresholdAggregations: MonitoringAlertPolicyConditionsConditionThresholdAggregations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations.property.alignmentPeriod">alignmentPeriod</a></code> | <code>string</code> | The alignment period for per-time series alignment. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations.property.crossSeriesReducer">crossSeriesReducer</a></code> | <code>string</code> | The approach to be used to combine time series. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations.property.groupByFields">groupByFields</a></code> | <code>string[]</code> | The set of fields to preserve when crossSeriesReducer is specified. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations.property.perSeriesAligner">perSeriesAligner</a></code> | <code>string</code> | The approach to be used to align individual time series. |

---

##### `alignmentPeriod`<sup>Optional</sup> <a name="alignmentPeriod" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations.property.alignmentPeriod"></a>

```typescript
public readonly alignmentPeriod: string;
```

- *Type:* string

The alignment period for per-time series alignment.

If present,
alignmentPeriod must be at least
60 seconds. After per-time series
alignment, each time series will
contain data points only on the
period boundaries. If
perSeriesAligner is not specified
or equals ALIGN_NONE, then this
field is ignored. If
perSeriesAligner is specified and
does not equal ALIGN_NONE, then
this field must be defined;
otherwise an error is returned.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#alignment_period MonitoringAlertPolicy#alignment_period}

---

##### `crossSeriesReducer`<sup>Optional</sup> <a name="crossSeriesReducer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations.property.crossSeriesReducer"></a>

```typescript
public readonly crossSeriesReducer: string;
```

- *Type:* string

The approach to be used to combine time series.

Not all reducer
functions may be applied to all
time series, depending on the
metric type and the value type of
the original time series.
Reduction may change the metric
type of value type of the time
series.Time series data must be
aligned in order to perform cross-
time series reduction. If
crossSeriesReducer is specified,
then perSeriesAligner must be
specified and not equal ALIGN_NONE
and alignmentPeriod must be
specified; otherwise, an error is
returned. Possible values: ["REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#cross_series_reducer MonitoringAlertPolicy#cross_series_reducer}

---

##### `groupByFields`<sup>Optional</sup> <a name="groupByFields" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations.property.groupByFields"></a>

```typescript
public readonly groupByFields: string[];
```

- *Type:* string[]

The set of fields to preserve when crossSeriesReducer is specified.

The groupByFields determine how
the time series are partitioned
into subsets prior to applying the
aggregation function. Each subset
contains time series that have the
same value for each of the
grouping fields. Each individual
time series is a member of exactly
one subset. The crossSeriesReducer
is applied to each subset of time
series. It is not possible to
reduce across different resource
types, so this field implicitly
contains resource.type. Fields not
specified in groupByFields are
aggregated away. If groupByFields
is not specified and all the time
series have the same resource
type, then the time series are
aggregated into a single output
time series. If crossSeriesReducer
is not defined, this field is
ignored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#group_by_fields MonitoringAlertPolicy#group_by_fields}

---

##### `perSeriesAligner`<sup>Optional</sup> <a name="perSeriesAligner" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdAggregations.property.perSeriesAligner"></a>

```typescript
public readonly perSeriesAligner: string;
```

- *Type:* string

The approach to be used to align individual time series.

Not all
alignment functions may be applied
to all time series, depending on
the metric type and value type of
the original time series.
Alignment may change the metric
type or the value type of the time
series.Time series data must be
aligned in order to perform cross-
time series reduction. If
crossSeriesReducer is specified,
then perSeriesAligner must be
specified and not equal ALIGN_NONE
and alignmentPeriod must be
specified; otherwise, an error is
returned. Possible values: ["ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_PERCENT_CHANGE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#per_series_aligner MonitoringAlertPolicy#per_series_aligner}

---

### MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations <a name="MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations: MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations.property.alignmentPeriod">alignmentPeriod</a></code> | <code>string</code> | The alignment period for per-time series alignment. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations.property.crossSeriesReducer">crossSeriesReducer</a></code> | <code>string</code> | The approach to be used to combine time series. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations.property.groupByFields">groupByFields</a></code> | <code>string[]</code> | The set of fields to preserve when crossSeriesReducer is specified. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations.property.perSeriesAligner">perSeriesAligner</a></code> | <code>string</code> | The approach to be used to align individual time series. |

---

##### `alignmentPeriod`<sup>Optional</sup> <a name="alignmentPeriod" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations.property.alignmentPeriod"></a>

```typescript
public readonly alignmentPeriod: string;
```

- *Type:* string

The alignment period for per-time series alignment.

If present,
alignmentPeriod must be at least
60 seconds. After per-time series
alignment, each time series will
contain data points only on the
period boundaries. If
perSeriesAligner is not specified
or equals ALIGN_NONE, then this
field is ignored. If
perSeriesAligner is specified and
does not equal ALIGN_NONE, then
this field must be defined;
otherwise an error is returned.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#alignment_period MonitoringAlertPolicy#alignment_period}

---

##### `crossSeriesReducer`<sup>Optional</sup> <a name="crossSeriesReducer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations.property.crossSeriesReducer"></a>

```typescript
public readonly crossSeriesReducer: string;
```

- *Type:* string

The approach to be used to combine time series.

Not all reducer
functions may be applied to all
time series, depending on the
metric type and the value type of
the original time series.
Reduction may change the metric
type of value type of the time
series.Time series data must be
aligned in order to perform cross-
time series reduction. If
crossSeriesReducer is specified,
then perSeriesAligner must be
specified and not equal ALIGN_NONE
and alignmentPeriod must be
specified; otherwise, an error is
returned. Possible values: ["REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#cross_series_reducer MonitoringAlertPolicy#cross_series_reducer}

---

##### `groupByFields`<sup>Optional</sup> <a name="groupByFields" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations.property.groupByFields"></a>

```typescript
public readonly groupByFields: string[];
```

- *Type:* string[]

The set of fields to preserve when crossSeriesReducer is specified.

The groupByFields determine how
the time series are partitioned
into subsets prior to applying the
aggregation function. Each subset
contains time series that have the
same value for each of the
grouping fields. Each individual
time series is a member of exactly
one subset. The crossSeriesReducer
is applied to each subset of time
series. It is not possible to
reduce across different resource
types, so this field implicitly
contains resource.type. Fields not
specified in groupByFields are
aggregated away. If groupByFields
is not specified and all the time
series have the same resource
type, then the time series are
aggregated into a single output
time series. If crossSeriesReducer
is not defined, this field is
ignored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#group_by_fields MonitoringAlertPolicy#group_by_fields}

---

##### `perSeriesAligner`<sup>Optional</sup> <a name="perSeriesAligner" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations.property.perSeriesAligner"></a>

```typescript
public readonly perSeriesAligner: string;
```

- *Type:* string

The approach to be used to align individual time series.

Not all
alignment functions may be applied
to all time series, depending on
the metric type and value type of
the original time series.
Alignment may change the metric
type or the value type of the time
series.Time series data must be
aligned in order to perform cross-
time series reduction. If
crossSeriesReducer is specified,
then perSeriesAligner must be
specified and not equal ALIGN_NONE
and alignmentPeriod must be
specified; otherwise, an error is
returned. Possible values: ["ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_PERCENT_CHANGE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#per_series_aligner MonitoringAlertPolicy#per_series_aligner}

---

### MonitoringAlertPolicyConditionsConditionThresholdTrigger <a name="MonitoringAlertPolicyConditionsConditionThresholdTrigger" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdTrigger"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdTrigger.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConditionsConditionThresholdTrigger } from '@dschmidt/provider-google'

const monitoringAlertPolicyConditionsConditionThresholdTrigger: MonitoringAlertPolicyConditionsConditionThresholdTrigger = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdTrigger.property.count">count</a></code> | <code>number</code> | The absolute number of time series that must fail the predicate for the condition to be triggered. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdTrigger.property.percent">percent</a></code> | <code>number</code> | The percentage of time series that must fail the predicate for the condition to be triggered. |

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdTrigger.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

The absolute number of time series that must fail the predicate for the condition to be triggered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#count MonitoringAlertPolicy#count}

---

##### `percent`<sup>Optional</sup> <a name="percent" id="@dschmidt/provider-google.MonitoringAlertPolicyConditionsConditionThresholdTrigger.property.percent"></a>

```typescript
public readonly percent: number;
```

- *Type:* number

The percentage of time series that must fail the predicate for the condition to be triggered.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#percent MonitoringAlertPolicy#percent}

---

### MonitoringAlertPolicyConfig <a name="MonitoringAlertPolicyConfig" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.Initializer"></a>

```typescript
import { MonitoringAlertPolicyConfig } from '@dschmidt/provider-google'

const monitoringAlertPolicyConfig: MonitoringAlertPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.combiner">combiner</a></code> | <code>string</code> | How to combine the results of multiple conditions to determine if an incident should be opened. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.conditions">conditions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions">MonitoringAlertPolicyConditions</a>[]</code> | conditions block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.displayName">displayName</a></code> | <code>string</code> | A short name or phrase used to identify the policy in dashboards, notifications, and incidents. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.alertStrategy">alertStrategy</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy">MonitoringAlertPolicyAlertStrategy</a></code> | alert_strategy block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.documentation">documentation</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyDocumentation">MonitoringAlertPolicyDocumentation</a></code> | documentation block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not the policy is enabled. The default is true. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#id MonitoringAlertPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.notificationChannels">notificationChannels</a></code> | <code>string[]</code> | Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#project MonitoringAlertPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeouts">MonitoringAlertPolicyTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `combiner`<sup>Required</sup> <a name="combiner" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.combiner"></a>

```typescript
public readonly combiner: string;
```

- *Type:* string

How to combine the results of multiple conditions to determine if an incident should be opened.

Possible values: ["AND", "OR", "AND_WITH_MATCHING_RESOURCE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#combiner MonitoringAlertPolicy#combiner}

---

##### `conditions`<sup>Required</sup> <a name="conditions" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.conditions"></a>

```typescript
public readonly conditions: IResolvable | MonitoringAlertPolicyConditions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringAlertPolicyConditions">MonitoringAlertPolicyConditions</a>[]

conditions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#conditions MonitoringAlertPolicy#conditions}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A short name or phrase used to identify the policy in dashboards, notifications, and incidents.

To avoid confusion, don't use
the same display name for multiple policies in the same project. The
name is limited to 512 Unicode characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#display_name MonitoringAlertPolicy#display_name}

---

##### `alertStrategy`<sup>Optional</sup> <a name="alertStrategy" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.alertStrategy"></a>

```typescript
public readonly alertStrategy: MonitoringAlertPolicyAlertStrategy;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyAlertStrategy">MonitoringAlertPolicyAlertStrategy</a>

alert_strategy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#alert_strategy MonitoringAlertPolicy#alert_strategy}

---

##### `documentation`<sup>Optional</sup> <a name="documentation" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.documentation"></a>

```typescript
public readonly documentation: MonitoringAlertPolicyDocumentation;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyDocumentation">MonitoringAlertPolicyDocumentation</a>

documentation block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#documentation MonitoringAlertPolicy#documentation}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not the policy is enabled. The default is true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#enabled MonitoringAlertPolicy#enabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#id MonitoringAlertPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `notificationChannels`<sup>Optional</sup> <a name="notificationChannels" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.notificationChannels"></a>

```typescript
public readonly notificationChannels: string[];
```

- *Type:* string[]

Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident.

Each element of this array corresponds
to the name field in each of the NotificationChannel objects that are
returned from the notificationChannels.list method. The syntax of the
entries in this field is
'projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#notification_channels MonitoringAlertPolicy#notification_channels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#project MonitoringAlertPolicy#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringAlertPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeouts">MonitoringAlertPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#timeouts MonitoringAlertPolicy#timeouts}

---

##### `userLabels`<sup>Optional</sup> <a name="userLabels" id="@dschmidt/provider-google.MonitoringAlertPolicyConfig.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#user_labels MonitoringAlertPolicy#user_labels}

---

### MonitoringAlertPolicyCreationRecord <a name="MonitoringAlertPolicyCreationRecord" id="@dschmidt/provider-google.MonitoringAlertPolicyCreationRecord"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyCreationRecord.Initializer"></a>

```typescript
import { MonitoringAlertPolicyCreationRecord } from '@dschmidt/provider-google'

const monitoringAlertPolicyCreationRecord: MonitoringAlertPolicyCreationRecord = { ... }
```


### MonitoringAlertPolicyDocumentation <a name="MonitoringAlertPolicyDocumentation" id="@dschmidt/provider-google.MonitoringAlertPolicyDocumentation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyDocumentation.Initializer"></a>

```typescript
import { MonitoringAlertPolicyDocumentation } from '@dschmidt/provider-google'

const monitoringAlertPolicyDocumentation: MonitoringAlertPolicyDocumentation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyDocumentation.property.content">content</a></code> | <code>string</code> | The text of the documentation, interpreted according to mimeType. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyDocumentation.property.mimeType">mimeType</a></code> | <code>string</code> | The format of the content field. Presently, only the value "text/markdown" is supported. |

---

##### `content`<sup>Optional</sup> <a name="content" id="@dschmidt/provider-google.MonitoringAlertPolicyDocumentation.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

The text of the documentation, interpreted according to mimeType.

The content may not exceed 8,192 Unicode characters and may not
exceed more than 10,240 bytes when encoded in UTF-8 format,
whichever is smaller.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#content MonitoringAlertPolicy#content}

---

##### `mimeType`<sup>Optional</sup> <a name="mimeType" id="@dschmidt/provider-google.MonitoringAlertPolicyDocumentation.property.mimeType"></a>

```typescript
public readonly mimeType: string;
```

- *Type:* string

The format of the content field. Presently, only the value "text/markdown" is supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#mime_type MonitoringAlertPolicy#mime_type}

---

### MonitoringAlertPolicyTimeouts <a name="MonitoringAlertPolicyTimeouts" id="@dschmidt/provider-google.MonitoringAlertPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringAlertPolicyTimeouts.Initializer"></a>

```typescript
import { MonitoringAlertPolicyTimeouts } from '@dschmidt/provider-google'

const monitoringAlertPolicyTimeouts: MonitoringAlertPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#create MonitoringAlertPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#delete MonitoringAlertPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.MonitoringAlertPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#update MonitoringAlertPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MonitoringAlertPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#create MonitoringAlertPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MonitoringAlertPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#delete MonitoringAlertPolicy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.MonitoringAlertPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_alert_policy#update MonitoringAlertPolicy#update}.

---

### MonitoringCustomServiceConfig <a name="MonitoringCustomServiceConfig" id="@dschmidt/provider-google.MonitoringCustomServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.Initializer"></a>

```typescript
import { MonitoringCustomServiceConfig } from '@dschmidt/provider-google'

const monitoringCustomServiceConfig: MonitoringCustomServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.displayName">displayName</a></code> | <code>string</code> | Name used for UI elements listing this Service. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#id MonitoringCustomService#id}. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#project MonitoringCustomService#project}. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.serviceId">serviceId</a></code> | <code>string</code> | An optional service ID to use. If not given, the server will generate a service ID. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.telemetry">telemetry</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceTelemetry">MonitoringCustomServiceTelemetry</a></code> | telemetry block. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeouts">MonitoringCustomServiceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceConfig.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | Labels which have been used to annotate the service. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Name used for UI elements listing this Service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#display_name MonitoringCustomService#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#id MonitoringCustomService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#project MonitoringCustomService#project}.

---

##### `serviceId`<sup>Optional</sup> <a name="serviceId" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.serviceId"></a>

```typescript
public readonly serviceId: string;
```

- *Type:* string

An optional service ID to use. If not given, the server will generate a service ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#service_id MonitoringCustomService#service_id}

---

##### `telemetry`<sup>Optional</sup> <a name="telemetry" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.telemetry"></a>

```typescript
public readonly telemetry: MonitoringCustomServiceTelemetry;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringCustomServiceTelemetry">MonitoringCustomServiceTelemetry</a>

telemetry block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#telemetry MonitoringCustomService#telemetry}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringCustomServiceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeouts">MonitoringCustomServiceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#timeouts MonitoringCustomService#timeouts}

---

##### `userLabels`<sup>Optional</sup> <a name="userLabels" id="@dschmidt/provider-google.MonitoringCustomServiceConfig.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels which have been used to annotate the service.

Label keys must start
with a letter. Label keys and values may contain lowercase letters,
numbers, underscores, and dashes. Label keys and values have a maximum
length of 63 characters, and must be less than 128 bytes in size. Up to 64
label entries may be stored. For labels which do not have a semantic value,
the empty string may be supplied for the label value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#user_labels MonitoringCustomService#user_labels}

---

### MonitoringCustomServiceTelemetry <a name="MonitoringCustomServiceTelemetry" id="@dschmidt/provider-google.MonitoringCustomServiceTelemetry"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringCustomServiceTelemetry.Initializer"></a>

```typescript
import { MonitoringCustomServiceTelemetry } from '@dschmidt/provider-google'

const monitoringCustomServiceTelemetry: MonitoringCustomServiceTelemetry = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceTelemetry.property.resourceName">resourceName</a></code> | <code>string</code> | The full name of the resource that defines this service. Formatted as described in https://cloud.google.com/apis/design/resource_names. |

---

##### `resourceName`<sup>Optional</sup> <a name="resourceName" id="@dschmidt/provider-google.MonitoringCustomServiceTelemetry.property.resourceName"></a>

```typescript
public readonly resourceName: string;
```

- *Type:* string

The full name of the resource that defines this service. Formatted as described in https://cloud.google.com/apis/design/resource_names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#resource_name MonitoringCustomService#resource_name}

---

### MonitoringCustomServiceTimeouts <a name="MonitoringCustomServiceTimeouts" id="@dschmidt/provider-google.MonitoringCustomServiceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringCustomServiceTimeouts.Initializer"></a>

```typescript
import { MonitoringCustomServiceTimeouts } from '@dschmidt/provider-google'

const monitoringCustomServiceTimeouts: MonitoringCustomServiceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#create MonitoringCustomService#create}. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#delete MonitoringCustomService#delete}. |
| <code><a href="#@dschmidt/provider-google.MonitoringCustomServiceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#update MonitoringCustomService#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MonitoringCustomServiceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#create MonitoringCustomService#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MonitoringCustomServiceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#delete MonitoringCustomService#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.MonitoringCustomServiceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_custom_service#update MonitoringCustomService#update}.

---

### MonitoringDashboardConfig <a name="MonitoringDashboardConfig" id="@dschmidt/provider-google.MonitoringDashboardConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringDashboardConfig.Initializer"></a>

```typescript
import { MonitoringDashboardConfig } from '@dschmidt/provider-google'

const monitoringDashboardConfig: MonitoringDashboardConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.dashboardJson">dashboardJson</a></code> | <code>string</code> | The JSON representation of a dashboard, following the format at https://cloud.google.com/monitoring/api/ref_v3/rest/v1/projects.dashboards. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#id MonitoringDashboard#id}. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringDashboardTimeouts">MonitoringDashboardTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dashboardJson`<sup>Required</sup> <a name="dashboardJson" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.dashboardJson"></a>

```typescript
public readonly dashboardJson: string;
```

- *Type:* string

The JSON representation of a dashboard, following the format at https://cloud.google.com/monitoring/api/ref_v3/rest/v1/projects.dashboards.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#dashboard_json MonitoringDashboard#dashboard_json}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#id MonitoringDashboard#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#project MonitoringDashboard#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringDashboardConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringDashboardTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringDashboardTimeouts">MonitoringDashboardTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#timeouts MonitoringDashboard#timeouts}

---

### MonitoringDashboardTimeouts <a name="MonitoringDashboardTimeouts" id="@dschmidt/provider-google.MonitoringDashboardTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringDashboardTimeouts.Initializer"></a>

```typescript
import { MonitoringDashboardTimeouts } from '@dschmidt/provider-google'

const monitoringDashboardTimeouts: MonitoringDashboardTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#create MonitoringDashboard#create}. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#delete MonitoringDashboard#delete}. |
| <code><a href="#@dschmidt/provider-google.MonitoringDashboardTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#update MonitoringDashboard#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MonitoringDashboardTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#create MonitoringDashboard#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MonitoringDashboardTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#delete MonitoringDashboard#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.MonitoringDashboardTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_dashboard#update MonitoringDashboard#update}.

---

### MonitoringGroupConfig <a name="MonitoringGroupConfig" id="@dschmidt/provider-google.MonitoringGroupConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringGroupConfig.Initializer"></a>

```typescript
import { MonitoringGroupConfig } from '@dschmidt/provider-google'

const monitoringGroupConfig: MonitoringGroupConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.displayName">displayName</a></code> | <code>string</code> | A user-assigned name for this group, used only for display purposes. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.filter">filter</a></code> | <code>string</code> | The filter used to determine which monitored resources belong to this group. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#id MonitoringGroup#id}. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.isCluster">isCluster</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, the members of this group are considered to be a cluster. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.parentName">parentName</a></code> | <code>string</code> | The name of the group's parent, if it has one. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#project MonitoringGroup#project}. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringGroupTimeouts">MonitoringGroupTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringGroupConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringGroupConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringGroupConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringGroupConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringGroupConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringGroupConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringGroupConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringGroupConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A user-assigned name for this group, used only for display purposes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#display_name MonitoringGroup#display_name}

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.MonitoringGroupConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The filter used to determine which monitored resources belong to this group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#filter MonitoringGroup#filter}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MonitoringGroupConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#id MonitoringGroup#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `isCluster`<sup>Optional</sup> <a name="isCluster" id="@dschmidt/provider-google.MonitoringGroupConfig.property.isCluster"></a>

```typescript
public readonly isCluster: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, the members of this group are considered to be a cluster.

The system can perform additional analysis on
groups that are clusters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#is_cluster MonitoringGroup#is_cluster}

---

##### `parentName`<sup>Optional</sup> <a name="parentName" id="@dschmidt/provider-google.MonitoringGroupConfig.property.parentName"></a>

```typescript
public readonly parentName: string;
```

- *Type:* string

The name of the group's parent, if it has one.

The format is
"projects/{project_id_or_number}/groups/{group_id}". For
groups with no parent, parentName is the empty string, "".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#parent_name MonitoringGroup#parent_name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MonitoringGroupConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#project MonitoringGroup#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringGroupConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringGroupTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringGroupTimeouts">MonitoringGroupTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#timeouts MonitoringGroup#timeouts}

---

### MonitoringGroupTimeouts <a name="MonitoringGroupTimeouts" id="@dschmidt/provider-google.MonitoringGroupTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringGroupTimeouts.Initializer"></a>

```typescript
import { MonitoringGroupTimeouts } from '@dschmidt/provider-google'

const monitoringGroupTimeouts: MonitoringGroupTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#create MonitoringGroup#create}. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#delete MonitoringGroup#delete}. |
| <code><a href="#@dschmidt/provider-google.MonitoringGroupTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#update MonitoringGroup#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MonitoringGroupTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#create MonitoringGroup#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MonitoringGroupTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#delete MonitoringGroup#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.MonitoringGroupTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_group#update MonitoringGroup#update}.

---

### MonitoringMetricDescriptorConfig <a name="MonitoringMetricDescriptorConfig" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.Initializer"></a>

```typescript
import { MonitoringMetricDescriptorConfig } from '@dschmidt/provider-google'

const monitoringMetricDescriptorConfig: MonitoringMetricDescriptorConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.description">description</a></code> | <code>string</code> | A detailed description of the metric, which can be used in documentation. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.displayName">displayName</a></code> | <code>string</code> | A concise name for the metric, which can be displayed in user interfaces. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.metricKind">metricKind</a></code> | <code>string</code> | Whether the metric records instantaneous values, changes to a value, etc. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.type">type</a></code> | <code>string</code> | The metric type, including its DNS name prefix. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.valueType">valueType</a></code> | <code>string</code> | Whether the measurement is an integer, a floating-point number, etc. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#id MonitoringMetricDescriptor#id}. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.labels">labels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabels">MonitoringMetricDescriptorLabels</a>[]</code> | labels block. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.launchStage">launchStage</a></code> | <code>string</code> | The launch stage of the metric definition. Possible values: ["LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"]. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.metadata">metadata</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorMetadata">MonitoringMetricDescriptorMetadata</a></code> | metadata block. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#project MonitoringMetricDescriptor#project}. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts">MonitoringMetricDescriptorTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.unit">unit</a></code> | <code>string</code> | The units in which the metric value is reported. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A detailed description of the metric, which can be used in documentation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#description MonitoringMetricDescriptor#description}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A concise name for the metric, which can be displayed in user interfaces.

Use sentence case without an ending period, for example "Request count".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#display_name MonitoringMetricDescriptor#display_name}

---

##### `metricKind`<sup>Required</sup> <a name="metricKind" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.metricKind"></a>

```typescript
public readonly metricKind: string;
```

- *Type:* string

Whether the metric records instantaneous values, changes to a value, etc.

Some combinations of metricKind and valueType might not be supported. Possible values: ["METRIC_KIND_UNSPECIFIED", "GAUGE", "DELTA", "CUMULATIVE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#metric_kind MonitoringMetricDescriptor#metric_kind}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The metric type, including its DNS name prefix.

The type is not URL-encoded. All service defined metrics must be prefixed with the service name, in the format of {service name}/{relative metric name}, such as cloudsql.googleapis.com/database/cpu/utilization. The relative metric name must have only upper and lower-case letters, digits, '/' and underscores '_' are allowed. Additionally, the maximum number of characters allowed for the relative_metric_name is 100. All user-defined metric types have the DNS name custom.googleapis.com, external.googleapis.com, or logging.googleapis.com/user/.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#type MonitoringMetricDescriptor#type}

---

##### `valueType`<sup>Required</sup> <a name="valueType" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.valueType"></a>

```typescript
public readonly valueType: string;
```

- *Type:* string

Whether the measurement is an integer, a floating-point number, etc.

Some combinations of metricKind and valueType might not be supported. Possible values: ["BOOL", "INT64", "DOUBLE", "STRING", "DISTRIBUTION"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#value_type MonitoringMetricDescriptor#value_type}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#id MonitoringMetricDescriptor#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.labels"></a>

```typescript
public readonly labels: IResolvable | MonitoringMetricDescriptorLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabels">MonitoringMetricDescriptorLabels</a>[]

labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#labels MonitoringMetricDescriptor#labels}

---

##### `launchStage`<sup>Optional</sup> <a name="launchStage" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.launchStage"></a>

```typescript
public readonly launchStage: string;
```

- *Type:* string

The launch stage of the metric definition. Possible values: ["LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#launch_stage MonitoringMetricDescriptor#launch_stage}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.metadata"></a>

```typescript
public readonly metadata: MonitoringMetricDescriptorMetadata;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorMetadata">MonitoringMetricDescriptorMetadata</a>

metadata block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#metadata MonitoringMetricDescriptor#metadata}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#project MonitoringMetricDescriptor#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringMetricDescriptorTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts">MonitoringMetricDescriptorTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#timeouts MonitoringMetricDescriptor#timeouts}

---

##### `unit`<sup>Optional</sup> <a name="unit" id="@dschmidt/provider-google.MonitoringMetricDescriptorConfig.property.unit"></a>

```typescript
public readonly unit: string;
```

- *Type:* string

The units in which the metric value is reported.

It is only applicable if the
valueType is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of
the stored metric values.

Different systems may scale the values to be more easily displayed (so a value of
0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as
3.5MBy). However, if the unit is KBy, then the value of the metric is always in
thousands of bytes, no matter how it may be displayed.

If you want a custom metric to record the exact number of CPU-seconds used by a job,
you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently
1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as
12005.

Alternatively, if you want a custom metric to record data in a more granular way, you
can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value
12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).
The supported units are a subset of The Unified Code for Units of Measure standard.
More info can be found in the API documentation
(https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#unit MonitoringMetricDescriptor#unit}

---

### MonitoringMetricDescriptorLabels <a name="MonitoringMetricDescriptorLabels" id="@dschmidt/provider-google.MonitoringMetricDescriptorLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringMetricDescriptorLabels.Initializer"></a>

```typescript
import { MonitoringMetricDescriptorLabels } from '@dschmidt/provider-google'

const monitoringMetricDescriptorLabels: MonitoringMetricDescriptorLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabels.property.key">key</a></code> | <code>string</code> | The key for this label. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabels.property.description">description</a></code> | <code>string</code> | A human-readable description for the label. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorLabels.property.valueType">valueType</a></code> | <code>string</code> | The type of data that can be assigned to the label. Default value: "STRING" Possible values: ["STRING", "BOOL", "INT64"]. |

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.MonitoringMetricDescriptorLabels.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

The key for this label.

The key must not exceed 100 characters. The first character of the key must be an upper- or lower-case letter, the remaining characters must be letters, digits or underscores, and the key must match the regular expression [a-zA-Z][a-zA-Z0-9_]*

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#key MonitoringMetricDescriptor#key}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.MonitoringMetricDescriptorLabels.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description for the label.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#description MonitoringMetricDescriptor#description}

---

##### `valueType`<sup>Optional</sup> <a name="valueType" id="@dschmidt/provider-google.MonitoringMetricDescriptorLabels.property.valueType"></a>

```typescript
public readonly valueType: string;
```

- *Type:* string

The type of data that can be assigned to the label. Default value: "STRING" Possible values: ["STRING", "BOOL", "INT64"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#value_type MonitoringMetricDescriptor#value_type}

---

### MonitoringMetricDescriptorMetadata <a name="MonitoringMetricDescriptorMetadata" id="@dschmidt/provider-google.MonitoringMetricDescriptorMetadata"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringMetricDescriptorMetadata.Initializer"></a>

```typescript
import { MonitoringMetricDescriptorMetadata } from '@dschmidt/provider-google'

const monitoringMetricDescriptorMetadata: MonitoringMetricDescriptorMetadata = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorMetadata.property.ingestDelay">ingestDelay</a></code> | <code>string</code> | The delay of data points caused by ingestion. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorMetadata.property.samplePeriod">samplePeriod</a></code> | <code>string</code> | The sampling period of metric data points. |

---

##### `ingestDelay`<sup>Optional</sup> <a name="ingestDelay" id="@dschmidt/provider-google.MonitoringMetricDescriptorMetadata.property.ingestDelay"></a>

```typescript
public readonly ingestDelay: string;
```

- *Type:* string

The delay of data points caused by ingestion.

Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors. In '[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?&_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#ingest_delay MonitoringMetricDescriptor#ingest_delay}

---

##### `samplePeriod`<sup>Optional</sup> <a name="samplePeriod" id="@dschmidt/provider-google.MonitoringMetricDescriptorMetadata.property.samplePeriod"></a>

```typescript
public readonly samplePeriod: string;
```

- *Type:* string

The sampling period of metric data points.

For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period. In '[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?&_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#sample_period MonitoringMetricDescriptor#sample_period}

---

### MonitoringMetricDescriptorTimeouts <a name="MonitoringMetricDescriptorTimeouts" id="@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts.Initializer"></a>

```typescript
import { MonitoringMetricDescriptorTimeouts } from '@dschmidt/provider-google'

const monitoringMetricDescriptorTimeouts: MonitoringMetricDescriptorTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#create MonitoringMetricDescriptor#create}. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#delete MonitoringMetricDescriptor#delete}. |
| <code><a href="#@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#update MonitoringMetricDescriptor#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#create MonitoringMetricDescriptor#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#delete MonitoringMetricDescriptor#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.MonitoringMetricDescriptorTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_metric_descriptor#update MonitoringMetricDescriptor#update}.

---

### MonitoringMonitoredProjectConfig <a name="MonitoringMonitoredProjectConfig" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.Initializer"></a>

```typescript
import { MonitoringMonitoredProjectConfig } from '@dschmidt/provider-google'

const monitoringMonitoredProjectConfig: MonitoringMonitoredProjectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.metricsScope">metricsScope</a></code> | <code>string</code> | Required. The resource name of the existing Metrics Scope that will monitor this project. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.name">name</a></code> | <code>string</code> | Immutable. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project#id MonitoringMonitoredProject#id}. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts">MonitoringMonitoredProjectTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `metricsScope`<sup>Required</sup> <a name="metricsScope" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.metricsScope"></a>

```typescript
public readonly metricsScope: string;
```

- *Type:* string

Required. The resource name of the existing Metrics Scope that will monitor this project. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project#metrics_scope MonitoringMonitoredProject#metrics_scope}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Immutable.

The resource name of the `MonitoredProject`. On input, the resource name includes the scoping project ID and monitored project ID. On output, it contains the equivalent project numbers. Example: `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project#name MonitoringMonitoredProject#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project#id MonitoringMonitoredProject#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringMonitoredProjectConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringMonitoredProjectTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts">MonitoringMonitoredProjectTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project#timeouts MonitoringMonitoredProject#timeouts}

---

### MonitoringMonitoredProjectTimeouts <a name="MonitoringMonitoredProjectTimeouts" id="@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts.Initializer"></a>

```typescript
import { MonitoringMonitoredProjectTimeouts } from '@dschmidt/provider-google'

const monitoringMonitoredProjectTimeouts: MonitoringMonitoredProjectTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project#create MonitoringMonitoredProject#create}. |
| <code><a href="#@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project#delete MonitoringMonitoredProject#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project#create MonitoringMonitoredProject#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MonitoringMonitoredProjectTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_monitored_project#delete MonitoringMonitoredProject#delete}.

---

### MonitoringNotificationChannelConfig <a name="MonitoringNotificationChannelConfig" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.Initializer"></a>

```typescript
import { MonitoringNotificationChannelConfig } from '@dschmidt/provider-google'

const monitoringNotificationChannelConfig: MonitoringNotificationChannelConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.type">type</a></code> | <code>string</code> | The type of the notification channel. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.description">description</a></code> | <code>string</code> | An optional human-readable description of this notification channel. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.displayName">displayName</a></code> | <code>string</code> | An optional human-readable name for this notification channel. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether notifications are forwarded to the described channel. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.forceDelete">forceDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#force_delete MonitoringNotificationChannel#force_delete}. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#id MonitoringNotificationChannel#id}. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Configuration fields that define the channel and its behavior. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#project MonitoringNotificationChannel#project}. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.sensitiveLabels">sensitiveLabels</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels">MonitoringNotificationChannelSensitiveLabels</a></code> | sensitive_labels block. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeouts">MonitoringNotificationChannelTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of the notification channel.

This field matches the value of the NotificationChannelDescriptor.type field. See https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.notificationChannelDescriptors/list to get the list of valid values such as "email", "slack", etc...

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#type MonitoringNotificationChannel#type}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional human-readable description of this notification channel.

This description may provide additional details, beyond the display name, for the channel. This may not exceed 1024 Unicode characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#description MonitoringNotificationChannel#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

An optional human-readable name for this notification channel.

It is recommended that you specify a non-empty and unique name in order to make it easier to identify the channels in your project, though this is not enforced. The display name is limited to 512 Unicode characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#display_name MonitoringNotificationChannel#display_name}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether notifications are forwarded to the described channel.

This makes it possible to disable delivery of notifications to a particular channel without removing the channel from all alerting policies that reference the channel. This is a more convenient approach when the change is temporary and you want to receive notifications from the same set of alerting policies on the channel at some point in the future.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#enabled MonitoringNotificationChannel#enabled}

---

##### `forceDelete`<sup>Optional</sup> <a name="forceDelete" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.forceDelete"></a>

```typescript
public readonly forceDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#force_delete MonitoringNotificationChannel#force_delete}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#id MonitoringNotificationChannel#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Configuration fields that define the channel and its behavior.

The
permissible and required labels are specified in the
NotificationChannelDescriptor corresponding to the type field.

Labels with sensitive data are obfuscated by the API and therefore Terraform cannot
determine if there are upstream changes to these fields. They can also be configured via
the sensitive_labels block, but cannot be configured in both places.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#labels MonitoringNotificationChannel#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#project MonitoringNotificationChannel#project}.

---

##### `sensitiveLabels`<sup>Optional</sup> <a name="sensitiveLabels" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.sensitiveLabels"></a>

```typescript
public readonly sensitiveLabels: MonitoringNotificationChannelSensitiveLabels;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels">MonitoringNotificationChannelSensitiveLabels</a>

sensitive_labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#sensitive_labels MonitoringNotificationChannel#sensitive_labels}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringNotificationChannelTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeouts">MonitoringNotificationChannelTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#timeouts MonitoringNotificationChannel#timeouts}

---

##### `userLabels`<sup>Optional</sup> <a name="userLabels" id="@dschmidt/provider-google.MonitoringNotificationChannelConfig.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field.

This field is intended to be used for organizing and identifying the NotificationChannel objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#user_labels MonitoringNotificationChannel#user_labels}

---

### MonitoringNotificationChannelSensitiveLabels <a name="MonitoringNotificationChannelSensitiveLabels" id="@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels.Initializer"></a>

```typescript
import { MonitoringNotificationChannelSensitiveLabels } from '@dschmidt/provider-google'

const monitoringNotificationChannelSensitiveLabels: MonitoringNotificationChannelSensitiveLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels.property.authToken">authToken</a></code> | <code>string</code> | An authorization token for a notification channel. Channel types that support this field include: slack. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels.property.password">password</a></code> | <code>string</code> | An password for a notification channel. Channel types that support this field include: webhook_basicauth. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels.property.serviceKey">serviceKey</a></code> | <code>string</code> | An servicekey token for a notification channel. Channel types that support this field include: pagerduty. |

---

##### `authToken`<sup>Optional</sup> <a name="authToken" id="@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels.property.authToken"></a>

```typescript
public readonly authToken: string;
```

- *Type:* string

An authorization token for a notification channel. Channel types that support this field include: slack.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#auth_token MonitoringNotificationChannel#auth_token}

---

##### `password`<sup>Optional</sup> <a name="password" id="@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels.property.password"></a>

```typescript
public readonly password: string;
```

- *Type:* string

An password for a notification channel. Channel types that support this field include: webhook_basicauth.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#password MonitoringNotificationChannel#password}

---

##### `serviceKey`<sup>Optional</sup> <a name="serviceKey" id="@dschmidt/provider-google.MonitoringNotificationChannelSensitiveLabels.property.serviceKey"></a>

```typescript
public readonly serviceKey: string;
```

- *Type:* string

An servicekey token for a notification channel. Channel types that support this field include: pagerduty.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#service_key MonitoringNotificationChannel#service_key}

---

### MonitoringNotificationChannelTimeouts <a name="MonitoringNotificationChannelTimeouts" id="@dschmidt/provider-google.MonitoringNotificationChannelTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringNotificationChannelTimeouts.Initializer"></a>

```typescript
import { MonitoringNotificationChannelTimeouts } from '@dschmidt/provider-google'

const monitoringNotificationChannelTimeouts: MonitoringNotificationChannelTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#create MonitoringNotificationChannel#create}. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#delete MonitoringNotificationChannel#delete}. |
| <code><a href="#@dschmidt/provider-google.MonitoringNotificationChannelTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#update MonitoringNotificationChannel#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MonitoringNotificationChannelTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#create MonitoringNotificationChannel#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MonitoringNotificationChannelTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#delete MonitoringNotificationChannel#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.MonitoringNotificationChannelTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel#update MonitoringNotificationChannel#update}.

---

### MonitoringSloBasicSli <a name="MonitoringSloBasicSli" id="@dschmidt/provider-google.MonitoringSloBasicSli"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloBasicSli.Initializer"></a>

```typescript
import { MonitoringSloBasicSli } from '@dschmidt/provider-google'

const monitoringSloBasicSli: MonitoringSloBasicSli = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSli.property.availability">availability</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSliAvailability">MonitoringSloBasicSliAvailability</a></code> | availability block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSli.property.latency">latency</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSliLatency">MonitoringSloBasicSliLatency</a></code> | latency block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSli.property.location">location</a></code> | <code>string[]</code> | An optional set of locations to which this SLI is relevant. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSli.property.method">method</a></code> | <code>string[]</code> | An optional set of RPCs to which this SLI is relevant. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSli.property.version">version</a></code> | <code>string[]</code> | The set of API versions to which this SLI is relevant. |

---

##### `availability`<sup>Optional</sup> <a name="availability" id="@dschmidt/provider-google.MonitoringSloBasicSli.property.availability"></a>

```typescript
public readonly availability: MonitoringSloBasicSliAvailability;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloBasicSliAvailability">MonitoringSloBasicSliAvailability</a>

availability block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#availability MonitoringSlo#availability}

---

##### `latency`<sup>Optional</sup> <a name="latency" id="@dschmidt/provider-google.MonitoringSloBasicSli.property.latency"></a>

```typescript
public readonly latency: MonitoringSloBasicSliLatency;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloBasicSliLatency">MonitoringSloBasicSliLatency</a>

latency block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#latency MonitoringSlo#latency}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.MonitoringSloBasicSli.property.location"></a>

```typescript
public readonly location: string[];
```

- *Type:* string[]

An optional set of locations to which this SLI is relevant.

Telemetry from other locations will not be used to calculate
performance for this SLI. If omitted, this SLI applies to all
locations in which the Service has activity. For service types
that don't support breaking down by location, setting this
field will result in an error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#location MonitoringSlo#location}

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.MonitoringSloBasicSli.property.method"></a>

```typescript
public readonly method: string[];
```

- *Type:* string[]

An optional set of RPCs to which this SLI is relevant.

Telemetry from other methods will not be used to calculate
performance for this SLI. If omitted, this SLI applies to all
the Service's methods. For service types that don't support
breaking down by method, setting this field will result in an
error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#method MonitoringSlo#method}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.MonitoringSloBasicSli.property.version"></a>

```typescript
public readonly version: string[];
```

- *Type:* string[]

The set of API versions to which this SLI is relevant.

Telemetry from other API versions will not be used to
calculate performance for this SLI. If omitted,
this SLI applies to all API versions. For service types
that don't support breaking down by version, setting this
field will result in an error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#version MonitoringSlo#version}

---

### MonitoringSloBasicSliAvailability <a name="MonitoringSloBasicSliAvailability" id="@dschmidt/provider-google.MonitoringSloBasicSliAvailability"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloBasicSliAvailability.Initializer"></a>

```typescript
import { MonitoringSloBasicSliAvailability } from '@dschmidt/provider-google'

const monitoringSloBasicSliAvailability: MonitoringSloBasicSliAvailability = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSliAvailability.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether an availability SLI is enabled or not. Must be set to true. Defaults to 'true'. |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.MonitoringSloBasicSliAvailability.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether an availability SLI is enabled or not. Must be set to true. Defaults to 'true'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#enabled MonitoringSlo#enabled}

---

### MonitoringSloBasicSliLatency <a name="MonitoringSloBasicSliLatency" id="@dschmidt/provider-google.MonitoringSloBasicSliLatency"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloBasicSliLatency.Initializer"></a>

```typescript
import { MonitoringSloBasicSliLatency } from '@dschmidt/provider-google'

const monitoringSloBasicSliLatency: MonitoringSloBasicSliLatency = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSliLatency.property.threshold">threshold</a></code> | <code>string</code> | A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold. |

---

##### `threshold`<sup>Required</sup> <a name="threshold" id="@dschmidt/provider-google.MonitoringSloBasicSliLatency.property.threshold"></a>

```typescript
public readonly threshold: string;
```

- *Type:* string

A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#threshold MonitoringSlo#threshold}

---

### MonitoringSloConfig <a name="MonitoringSloConfig" id="@dschmidt/provider-google.MonitoringSloConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloConfig.Initializer"></a>

```typescript
import { MonitoringSloConfig } from '@dschmidt/provider-google'

const monitoringSloConfig: MonitoringSloConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.goal">goal</a></code> | <code>number</code> | The fraction of service that must be good in order for this objective to be met. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.service">service</a></code> | <code>string</code> | ID of the service to which this SLO belongs. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.basicSli">basicSli</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloBasicSli">MonitoringSloBasicSli</a></code> | basic_sli block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.calendarPeriod">calendarPeriod</a></code> | <code>string</code> | A calendar period, semantically "since the start of the current <calendarPeriod>". Possible values: ["DAY", "WEEK", "FORTNIGHT", "MONTH"]. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.displayName">displayName</a></code> | <code>string</code> | Name used for UI elements listing this SLO. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#id MonitoringSlo#id}. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#project MonitoringSlo#project}. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.requestBasedSli">requestBasedSli</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSli">MonitoringSloRequestBasedSli</a></code> | request_based_sli block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.rollingPeriodDays">rollingPeriodDays</a></code> | <code>number</code> | A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.sloId">sloId</a></code> | <code>string</code> | The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloTimeouts">MonitoringSloTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloConfig.property.windowsBasedSli">windowsBasedSli</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli">MonitoringSloWindowsBasedSli</a></code> | windows_based_sli block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringSloConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringSloConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringSloConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringSloConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringSloConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringSloConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringSloConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `goal`<sup>Required</sup> <a name="goal" id="@dschmidt/provider-google.MonitoringSloConfig.property.goal"></a>

```typescript
public readonly goal: number;
```

- *Type:* number

The fraction of service that must be good in order for this objective to be met.

0 < goal <= 0.999

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#goal MonitoringSlo#goal}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.MonitoringSloConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

ID of the service to which this SLO belongs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#service MonitoringSlo#service}

---

##### `basicSli`<sup>Optional</sup> <a name="basicSli" id="@dschmidt/provider-google.MonitoringSloConfig.property.basicSli"></a>

```typescript
public readonly basicSli: MonitoringSloBasicSli;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloBasicSli">MonitoringSloBasicSli</a>

basic_sli block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#basic_sli MonitoringSlo#basic_sli}

---

##### `calendarPeriod`<sup>Optional</sup> <a name="calendarPeriod" id="@dschmidt/provider-google.MonitoringSloConfig.property.calendarPeriod"></a>

```typescript
public readonly calendarPeriod: string;
```

- *Type:* string

A calendar period, semantically "since the start of the current <calendarPeriod>". Possible values: ["DAY", "WEEK", "FORTNIGHT", "MONTH"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#calendar_period MonitoringSlo#calendar_period}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringSloConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Name used for UI elements listing this SLO.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#display_name MonitoringSlo#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MonitoringSloConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#id MonitoringSlo#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MonitoringSloConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#project MonitoringSlo#project}.

---

##### `requestBasedSli`<sup>Optional</sup> <a name="requestBasedSli" id="@dschmidt/provider-google.MonitoringSloConfig.property.requestBasedSli"></a>

```typescript
public readonly requestBasedSli: MonitoringSloRequestBasedSli;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSli">MonitoringSloRequestBasedSli</a>

request_based_sli block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#request_based_sli MonitoringSlo#request_based_sli}

---

##### `rollingPeriodDays`<sup>Optional</sup> <a name="rollingPeriodDays" id="@dschmidt/provider-google.MonitoringSloConfig.property.rollingPeriodDays"></a>

```typescript
public readonly rollingPeriodDays: number;
```

- *Type:* number

A rolling time period, semantically "in the past X days". Must be between 1 to 30 days, inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#rolling_period_days MonitoringSlo#rolling_period_days}

---

##### `sloId`<sup>Optional</sup> <a name="sloId" id="@dschmidt/provider-google.MonitoringSloConfig.property.sloId"></a>

```typescript
public readonly sloId: string;
```

- *Type:* string

The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#slo_id MonitoringSlo#slo_id}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringSloConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringSloTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloTimeouts">MonitoringSloTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#timeouts MonitoringSlo#timeouts}

---

##### `userLabels`<sup>Optional</sup> <a name="userLabels" id="@dschmidt/provider-google.MonitoringSloConfig.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

This field is intended to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#user_labels MonitoringSlo#user_labels}

---

##### `windowsBasedSli`<sup>Optional</sup> <a name="windowsBasedSli" id="@dschmidt/provider-google.MonitoringSloConfig.property.windowsBasedSli"></a>

```typescript
public readonly windowsBasedSli: MonitoringSloWindowsBasedSli;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli">MonitoringSloWindowsBasedSli</a>

windows_based_sli block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#windows_based_sli MonitoringSlo#windows_based_sli}

---

### MonitoringSloRequestBasedSli <a name="MonitoringSloRequestBasedSli" id="@dschmidt/provider-google.MonitoringSloRequestBasedSli"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloRequestBasedSli.Initializer"></a>

```typescript
import { MonitoringSloRequestBasedSli } from '@dschmidt/provider-google'

const monitoringSloRequestBasedSli: MonitoringSloRequestBasedSli = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSli.property.distributionCut">distributionCut</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCut">MonitoringSloRequestBasedSliDistributionCut</a></code> | distribution_cut block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSli.property.goodTotalRatio">goodTotalRatio</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio">MonitoringSloRequestBasedSliGoodTotalRatio</a></code> | good_total_ratio block. |

---

##### `distributionCut`<sup>Optional</sup> <a name="distributionCut" id="@dschmidt/provider-google.MonitoringSloRequestBasedSli.property.distributionCut"></a>

```typescript
public readonly distributionCut: MonitoringSloRequestBasedSliDistributionCut;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCut">MonitoringSloRequestBasedSliDistributionCut</a>

distribution_cut block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#distribution_cut MonitoringSlo#distribution_cut}

---

##### `goodTotalRatio`<sup>Optional</sup> <a name="goodTotalRatio" id="@dschmidt/provider-google.MonitoringSloRequestBasedSli.property.goodTotalRatio"></a>

```typescript
public readonly goodTotalRatio: MonitoringSloRequestBasedSliGoodTotalRatio;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio">MonitoringSloRequestBasedSliGoodTotalRatio</a>

good_total_ratio block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#good_total_ratio MonitoringSlo#good_total_ratio}

---

### MonitoringSloRequestBasedSliDistributionCut <a name="MonitoringSloRequestBasedSliDistributionCut" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCut"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCut.Initializer"></a>

```typescript
import { MonitoringSloRequestBasedSliDistributionCut } from '@dschmidt/provider-google'

const monitoringSloRequestBasedSliDistributionCut: MonitoringSloRequestBasedSliDistributionCut = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCut.property.distributionFilter">distributionFilter</a></code> | <code>string</code> | A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) aggregating values to quantify the good service provided. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCut.property.range">range</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCutRange">MonitoringSloRequestBasedSliDistributionCutRange</a></code> | range block. |

---

##### `distributionFilter`<sup>Required</sup> <a name="distributionFilter" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCut.property.distributionFilter"></a>

```typescript
public readonly distributionFilter: string;
```

- *Type:* string

A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) aggregating values to quantify the good service provided.

Must have ValueType = DISTRIBUTION and
MetricKind = DELTA or MetricKind = CUMULATIVE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#distribution_filter MonitoringSlo#distribution_filter}

---

##### `range`<sup>Required</sup> <a name="range" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCut.property.range"></a>

```typescript
public readonly range: MonitoringSloRequestBasedSliDistributionCutRange;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCutRange">MonitoringSloRequestBasedSliDistributionCutRange</a>

range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#range MonitoringSlo#range}

---

### MonitoringSloRequestBasedSliDistributionCutRange <a name="MonitoringSloRequestBasedSliDistributionCutRange" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCutRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCutRange.Initializer"></a>

```typescript
import { MonitoringSloRequestBasedSliDistributionCutRange } from '@dschmidt/provider-google'

const monitoringSloRequestBasedSliDistributionCutRange: MonitoringSloRequestBasedSliDistributionCutRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCutRange.property.max">max</a></code> | <code>number</code> | max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min". |
| <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCutRange.property.min">min</a></code> | <code>number</code> | Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max". |

---

##### `max`<sup>Optional</sup> <a name="max" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCutRange.property.max"></a>

```typescript
public readonly max: number;
```

- *Type:* number

max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#max MonitoringSlo#max}

---

##### `min`<sup>Optional</sup> <a name="min" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliDistributionCutRange.property.min"></a>

```typescript
public readonly min: number;
```

- *Type:* number

Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#min MonitoringSlo#min}

---

### MonitoringSloRequestBasedSliGoodTotalRatio <a name="MonitoringSloRequestBasedSliGoodTotalRatio" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio.Initializer"></a>

```typescript
import { MonitoringSloRequestBasedSliGoodTotalRatio } from '@dschmidt/provider-google'

const monitoringSloRequestBasedSliGoodTotalRatio: MonitoringSloRequestBasedSliGoodTotalRatio = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio.property.badServiceFilter">badServiceFilter</a></code> | <code>string</code> | A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio.property.goodServiceFilter">goodServiceFilter</a></code> | <code>string</code> | A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying good service provided. Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio.property.totalServiceFilter">totalServiceFilter</a></code> | <code>string</code> | A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying total demanded service. |

---

##### `badServiceFilter`<sup>Optional</sup> <a name="badServiceFilter" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio.property.badServiceFilter"></a>

```typescript
public readonly badServiceFilter: string;
```

- *Type:* string

A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality.

Must have ValueType = DOUBLE or ValueType = INT64 and
must have MetricKind = DELTA or MetricKind = CUMULATIVE.

Exactly two of 'good_service_filter','bad_service_filter','total_service_filter'
must be set (good + bad = total is assumed).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#bad_service_filter MonitoringSlo#bad_service_filter}

---

##### `goodServiceFilter`<sup>Optional</sup> <a name="goodServiceFilter" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio.property.goodServiceFilter"></a>

```typescript
public readonly goodServiceFilter: string;
```

- *Type:* string

A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying good service provided. Must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE.

Exactly two of 'good_service_filter','bad_service_filter','total_service_filter'
must be set (good + bad = total is assumed).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#good_service_filter MonitoringSlo#good_service_filter}

---

##### `totalServiceFilter`<sup>Optional</sup> <a name="totalServiceFilter" id="@dschmidt/provider-google.MonitoringSloRequestBasedSliGoodTotalRatio.property.totalServiceFilter"></a>

```typescript
public readonly totalServiceFilter: string;
```

- *Type:* string

A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying total demanded service.

Must have ValueType = DOUBLE or ValueType = INT64 and
must have MetricKind = DELTA or MetricKind = CUMULATIVE.

Exactly two of 'good_service_filter','bad_service_filter','total_service_filter'
must be set (good + bad = total is assumed).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#total_service_filter MonitoringSlo#total_service_filter}

---

### MonitoringSloTimeouts <a name="MonitoringSloTimeouts" id="@dschmidt/provider-google.MonitoringSloTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloTimeouts.Initializer"></a>

```typescript
import { MonitoringSloTimeouts } from '@dschmidt/provider-google'

const monitoringSloTimeouts: MonitoringSloTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#create MonitoringSlo#create}. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#delete MonitoringSlo#delete}. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#update MonitoringSlo#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MonitoringSloTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#create MonitoringSlo#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MonitoringSloTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#delete MonitoringSlo#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.MonitoringSloTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#update MonitoringSlo#update}.

---

### MonitoringSloWindowsBasedSli <a name="MonitoringSloWindowsBasedSli" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSli"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSli.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSli } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSli: MonitoringSloWindowsBasedSli = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.goodBadMetricFilter">goodBadMetricFilter</a></code> | <code>string</code> | A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) with ValueType = BOOL. The window is good if any true values appear in the window. One of 'good_bad_metric_filter', 'good_total_ratio_threshold', 'metric_mean_in_range', 'metric_sum_in_range' must be set for 'windows_based_sli'. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.goodTotalRatioThreshold">goodTotalRatioThreshold</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold">MonitoringSloWindowsBasedSliGoodTotalRatioThreshold</a></code> | good_total_ratio_threshold block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.metricMeanInRange">metricMeanInRange</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRange">MonitoringSloWindowsBasedSliMetricMeanInRange</a></code> | metric_mean_in_range block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.metricSumInRange">metricSumInRange</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRange">MonitoringSloWindowsBasedSliMetricSumInRange</a></code> | metric_sum_in_range block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.windowPeriod">windowPeriod</a></code> | <code>string</code> | Duration over which window quality is evaluated, given as a duration string "{X}s" representing X seconds. |

---

##### `goodBadMetricFilter`<sup>Optional</sup> <a name="goodBadMetricFilter" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.goodBadMetricFilter"></a>

```typescript
public readonly goodBadMetricFilter: string;
```

- *Type:* string

A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) with ValueType = BOOL. The window is good if any true values appear in the window. One of 'good_bad_metric_filter', 'good_total_ratio_threshold', 'metric_mean_in_range', 'metric_sum_in_range' must be set for 'windows_based_sli'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#good_bad_metric_filter MonitoringSlo#good_bad_metric_filter}

---

##### `goodTotalRatioThreshold`<sup>Optional</sup> <a name="goodTotalRatioThreshold" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.goodTotalRatioThreshold"></a>

```typescript
public readonly goodTotalRatioThreshold: MonitoringSloWindowsBasedSliGoodTotalRatioThreshold;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold">MonitoringSloWindowsBasedSliGoodTotalRatioThreshold</a>

good_total_ratio_threshold block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#good_total_ratio_threshold MonitoringSlo#good_total_ratio_threshold}

---

##### `metricMeanInRange`<sup>Optional</sup> <a name="metricMeanInRange" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.metricMeanInRange"></a>

```typescript
public readonly metricMeanInRange: MonitoringSloWindowsBasedSliMetricMeanInRange;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRange">MonitoringSloWindowsBasedSliMetricMeanInRange</a>

metric_mean_in_range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#metric_mean_in_range MonitoringSlo#metric_mean_in_range}

---

##### `metricSumInRange`<sup>Optional</sup> <a name="metricSumInRange" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.metricSumInRange"></a>

```typescript
public readonly metricSumInRange: MonitoringSloWindowsBasedSliMetricSumInRange;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRange">MonitoringSloWindowsBasedSliMetricSumInRange</a>

metric_sum_in_range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#metric_sum_in_range MonitoringSlo#metric_sum_in_range}

---

##### `windowPeriod`<sup>Optional</sup> <a name="windowPeriod" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSli.property.windowPeriod"></a>

```typescript
public readonly windowPeriod: string;
```

- *Type:* string

Duration over which window quality is evaluated, given as a duration string "{X}s" representing X seconds.

Must be an
integer fraction of a day and at least 60s.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#window_period MonitoringSlo#window_period}

---

### MonitoringSloWindowsBasedSliGoodTotalRatioThreshold <a name="MonitoringSloWindowsBasedSliGoodTotalRatioThreshold" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliGoodTotalRatioThreshold } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliGoodTotalRatioThreshold: MonitoringSloWindowsBasedSliGoodTotalRatioThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold.property.basicSliPerformance">basicSliPerformance</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance</a></code> | basic_sli_performance block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold.property.performance">performance</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance</a></code> | performance block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold.property.threshold">threshold</a></code> | <code>number</code> | If window performance >= threshold, the window is counted as good. |

---

##### `basicSliPerformance`<sup>Optional</sup> <a name="basicSliPerformance" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold.property.basicSliPerformance"></a>

```typescript
public readonly basicSliPerformance: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance</a>

basic_sli_performance block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#basic_sli_performance MonitoringSlo#basic_sli_performance}

---

##### `performance`<sup>Optional</sup> <a name="performance" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold.property.performance"></a>

```typescript
public readonly performance: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance</a>

performance block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#performance MonitoringSlo#performance}

---

##### `threshold`<sup>Optional</sup> <a name="threshold" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThreshold.property.threshold"></a>

```typescript
public readonly threshold: number;
```

- *Type:* number

If window performance >= threshold, the window is counted as good.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#threshold MonitoringSlo#threshold}

---

### MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance <a name="MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.availability">availability</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability</a></code> | availability block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.latency">latency</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency</a></code> | latency block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.location">location</a></code> | <code>string[]</code> | An optional set of locations to which this SLI is relevant. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.method">method</a></code> | <code>string[]</code> | An optional set of RPCs to which this SLI is relevant. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.version">version</a></code> | <code>string[]</code> | The set of API versions to which this SLI is relevant. |

---

##### `availability`<sup>Optional</sup> <a name="availability" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.availability"></a>

```typescript
public readonly availability: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability</a>

availability block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#availability MonitoringSlo#availability}

---

##### `latency`<sup>Optional</sup> <a name="latency" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.latency"></a>

```typescript
public readonly latency: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency</a>

latency block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#latency MonitoringSlo#latency}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.location"></a>

```typescript
public readonly location: string[];
```

- *Type:* string[]

An optional set of locations to which this SLI is relevant.

Telemetry from other locations will not be used to calculate
performance for this SLI. If omitted, this SLI applies to all
locations in which the Service has activity. For service types
that don't support breaking down by location, setting this
field will result in an error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#location MonitoringSlo#location}

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.method"></a>

```typescript
public readonly method: string[];
```

- *Type:* string[]

An optional set of RPCs to which this SLI is relevant.

Telemetry from other methods will not be used to calculate
performance for this SLI. If omitted, this SLI applies to all
the Service's methods. For service types that don't support
breaking down by method, setting this field will result in an
error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#method MonitoringSlo#method}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance.property.version"></a>

```typescript
public readonly version: string[];
```

- *Type:* string[]

The set of API versions to which this SLI is relevant.

Telemetry from other API versions will not be used to
calculate performance for this SLI. If omitted,
this SLI applies to all API versions. For service types
that don't support breaking down by version, setting this
field will result in an error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#version MonitoringSlo#version}

---

### MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability <a name="MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether an availability SLI is enabled or not. Must be set to 'true. Defaults to 'true'. |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceAvailability.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether an availability SLI is enabled or not. Must be set to 'true. Defaults to 'true'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#enabled MonitoringSlo#enabled}

---

### MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency <a name="MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency.property.threshold">threshold</a></code> | <code>string</code> | A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold. |

---

##### `threshold`<sup>Required</sup> <a name="threshold" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency.property.threshold"></a>

```typescript
public readonly threshold: string;
```

- *Type:* string

A duration string, e.g. 10s. Good service is defined to be the count of requests made to this service that return in no more than threshold.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#threshold MonitoringSlo#threshold}

---

### MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance <a name="MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance.property.distributionCut">distributionCut</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut</a></code> | distribution_cut block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance.property.goodTotalRatio">goodTotalRatio</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio</a></code> | good_total_ratio block. |

---

##### `distributionCut`<sup>Optional</sup> <a name="distributionCut" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance.property.distributionCut"></a>

```typescript
public readonly distributionCut: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut</a>

distribution_cut block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#distribution_cut MonitoringSlo#distribution_cut}

---

##### `goodTotalRatio`<sup>Optional</sup> <a name="goodTotalRatio" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformance.property.goodTotalRatio"></a>

```typescript
public readonly goodTotalRatio: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio</a>

good_total_ratio block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#good_total_ratio MonitoringSlo#good_total_ratio}

---

### MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut <a name="MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut.property.distributionFilter">distributionFilter</a></code> | <code>string</code> | A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) aggregating values to quantify the good service provided. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut.property.range">range</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange</a></code> | range block. |

---

##### `distributionFilter`<sup>Required</sup> <a name="distributionFilter" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut.property.distributionFilter"></a>

```typescript
public readonly distributionFilter: string;
```

- *Type:* string

A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) aggregating values to quantify the good service provided.

Must have ValueType = DISTRIBUTION and
MetricKind = DELTA or MetricKind = CUMULATIVE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#distribution_filter MonitoringSlo#distribution_filter}

---

##### `range`<sup>Required</sup> <a name="range" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCut.property.range"></a>

```typescript
public readonly range: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange">MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange</a>

range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#range MonitoringSlo#range}

---

### MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange <a name="MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange.property.max">max</a></code> | <code>number</code> | max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min". |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange.property.min">min</a></code> | <code>number</code> | Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max". |

---

##### `max`<sup>Optional</sup> <a name="max" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange.property.max"></a>

```typescript
public readonly max: number;
```

- *Type:* number

max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#max MonitoringSlo#max}

---

##### `min`<sup>Optional</sup> <a name="min" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceDistributionCutRange.property.min"></a>

```typescript
public readonly min: number;
```

- *Type:* number

Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#min MonitoringSlo#min}

---

### MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio <a name="MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio: MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio.property.badServiceFilter">badServiceFilter</a></code> | <code>string</code> | A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed). |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio.property.goodServiceFilter">goodServiceFilter</a></code> | <code>string</code> | A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed). |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio.property.totalServiceFilter">totalServiceFilter</a></code> | <code>string</code> | A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed). |

---

##### `badServiceFilter`<sup>Optional</sup> <a name="badServiceFilter" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio.property.badServiceFilter"></a>

```typescript
public readonly badServiceFilter: string;
```

- *Type:* string

A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying bad service provided, either demanded service that was not provided or demanded service that was of inadequate quality. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed).

Must have ValueType = DOUBLE or ValueType = INT64 and
must have MetricKind = DELTA or MetricKind = CUMULATIVE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#bad_service_filter MonitoringSlo#bad_service_filter}

---

##### `goodServiceFilter`<sup>Optional</sup> <a name="goodServiceFilter" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio.property.goodServiceFilter"></a>

```typescript
public readonly goodServiceFilter: string;
```

- *Type:* string

A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying good service provided. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed).

Must have ValueType = DOUBLE or ValueType = INT64 and
must have MetricKind = DELTA or MetricKind = CUMULATIVE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#good_service_filter MonitoringSlo#good_service_filter}

---

##### `totalServiceFilter`<sup>Optional</sup> <a name="totalServiceFilter" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliGoodTotalRatioThresholdPerformanceGoodTotalRatio.property.totalServiceFilter"></a>

```typescript
public readonly totalServiceFilter: string;
```

- *Type:* string

A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) quantifying total demanded service. Exactly two of good, bad, or total service filter must be defined (where good + bad = total is assumed).

Must have ValueType = DOUBLE or ValueType = INT64 and
must have MetricKind = DELTA or MetricKind = CUMULATIVE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#total_service_filter MonitoringSlo#total_service_filter}

---

### MonitoringSloWindowsBasedSliMetricMeanInRange <a name="MonitoringSloWindowsBasedSliMetricMeanInRange" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRange.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliMetricMeanInRange } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliMetricMeanInRange: MonitoringSloWindowsBasedSliMetricMeanInRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRange.property.range">range</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRangeRange">MonitoringSloWindowsBasedSliMetricMeanInRangeRange</a></code> | range block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRange.property.timeSeries">timeSeries</a></code> | <code>string</code> | A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Mean value 'X' should satisfy 'range.min <= X <= range.max' under good service. |

---

##### `range`<sup>Required</sup> <a name="range" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRange.property.range"></a>

```typescript
public readonly range: MonitoringSloWindowsBasedSliMetricMeanInRangeRange;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRangeRange">MonitoringSloWindowsBasedSliMetricMeanInRangeRange</a>

range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#range MonitoringSlo#range}

---

##### `timeSeries`<sup>Required</sup> <a name="timeSeries" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRange.property.timeSeries"></a>

```typescript
public readonly timeSeries: string;
```

- *Type:* string

A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. Mean value 'X' should satisfy 'range.min <= X <= range.max' under good service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#time_series MonitoringSlo#time_series}

---

### MonitoringSloWindowsBasedSliMetricMeanInRangeRange <a name="MonitoringSloWindowsBasedSliMetricMeanInRangeRange" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRangeRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRangeRange.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliMetricMeanInRangeRange } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliMetricMeanInRangeRange: MonitoringSloWindowsBasedSliMetricMeanInRangeRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRangeRange.property.max">max</a></code> | <code>number</code> | max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min". |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRangeRange.property.min">min</a></code> | <code>number</code> | Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max". |

---

##### `max`<sup>Optional</sup> <a name="max" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRangeRange.property.max"></a>

```typescript
public readonly max: number;
```

- *Type:* number

max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#max MonitoringSlo#max}

---

##### `min`<sup>Optional</sup> <a name="min" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricMeanInRangeRange.property.min"></a>

```typescript
public readonly min: number;
```

- *Type:* number

Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#min MonitoringSlo#min}

---

### MonitoringSloWindowsBasedSliMetricSumInRange <a name="MonitoringSloWindowsBasedSliMetricSumInRange" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRange.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliMetricSumInRange } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliMetricSumInRange: MonitoringSloWindowsBasedSliMetricSumInRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRange.property.range">range</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRangeRange">MonitoringSloWindowsBasedSliMetricSumInRangeRange</a></code> | range block. |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRange.property.timeSeries">timeSeries</a></code> | <code>string</code> | A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window quality. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. |

---

##### `range`<sup>Required</sup> <a name="range" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRange.property.range"></a>

```typescript
public readonly range: MonitoringSloWindowsBasedSliMetricSumInRangeRange;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRangeRange">MonitoringSloWindowsBasedSliMetricSumInRangeRange</a>

range block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#range MonitoringSlo#range}

---

##### `timeSeries`<sup>Required</sup> <a name="timeSeries" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRange.property.timeSeries"></a>

```typescript
public readonly timeSeries: string;
```

- *Type:* string

A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying the TimeSeries to use for evaluating window quality. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE.

Summed value 'X' should satisfy
'range.min <= X <= range.max' for a good window.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#time_series MonitoringSlo#time_series}

---

### MonitoringSloWindowsBasedSliMetricSumInRangeRange <a name="MonitoringSloWindowsBasedSliMetricSumInRangeRange" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRangeRange"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRangeRange.Initializer"></a>

```typescript
import { MonitoringSloWindowsBasedSliMetricSumInRangeRange } from '@dschmidt/provider-google'

const monitoringSloWindowsBasedSliMetricSumInRangeRange: MonitoringSloWindowsBasedSliMetricSumInRangeRange = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRangeRange.property.max">max</a></code> | <code>number</code> | max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min". |
| <code><a href="#@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRangeRange.property.min">min</a></code> | <code>number</code> | Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max". |

---

##### `max`<sup>Optional</sup> <a name="max" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRangeRange.property.max"></a>

```typescript
public readonly max: number;
```

- *Type:* number

max value for the range (inclusive). If not given, will be set to "infinity", defining an open range ">= range.min".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#max MonitoringSlo#max}

---

##### `min`<sup>Optional</sup> <a name="min" id="@dschmidt/provider-google.MonitoringSloWindowsBasedSliMetricSumInRangeRange.property.min"></a>

```typescript
public readonly min: number;
```

- *Type:* number

Min value for the range (inclusive). If not given, will be set to "-infinity", defining an open range "< range.max".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_slo#min MonitoringSlo#min}

---

### MonitoringUptimeCheckConfigConfig <a name="MonitoringUptimeCheckConfigConfig" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigConfig } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigConfig: MonitoringUptimeCheckConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.displayName">displayName</a></code> | <code>string</code> | A human-friendly name for the uptime check configuration. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.timeout">timeout</a></code> | <code>string</code> | The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.checkerType">checkerType</a></code> | <code>string</code> | The checker type to use for the check. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.contentMatchers">contentMatchers</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers">MonitoringUptimeCheckConfigContentMatchers</a>[]</code> | content_matchers block. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.httpCheck">httpCheck</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck">MonitoringUptimeCheckConfigHttpCheck</a></code> | http_check block. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#id MonitoringUptimeCheckConfig#id}. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.monitoredResource">monitoredResource</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource">MonitoringUptimeCheckConfigMonitoredResource</a></code> | monitored_resource block. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.period">period</a></code> | <code>string</code> | How often, in seconds, the uptime check is performed. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#project MonitoringUptimeCheckConfig#project}. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.resourceGroup">resourceGroup</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup">MonitoringUptimeCheckConfigResourceGroup</a></code> | resource_group block. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.selectedRegions">selectedRegions</a></code> | <code>string[]</code> | The list of regions from which the check will be run. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.tcpCheck">tcpCheck</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheck">MonitoringUptimeCheckConfigTcpCheck</a></code> | tcp_check block. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts">MonitoringUptimeCheckConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

A human-friendly name for the uptime check configuration.

The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#display_name MonitoringUptimeCheckConfig#display_name}

---

##### `timeout`<sup>Required</sup> <a name="timeout" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.timeout"></a>

```typescript
public readonly timeout: string;
```

- *Type:* string

The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds).

Accepted formats https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#timeout MonitoringUptimeCheckConfig#timeout}

---

##### `checkerType`<sup>Optional</sup> <a name="checkerType" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.checkerType"></a>

```typescript
public readonly checkerType: string;
```

- *Type:* string

The checker type to use for the check.

If the monitored resource type is servicedirectory_service, checkerType must be set to VPC_CHECKERS. Possible values: ["STATIC_IP_CHECKERS", "VPC_CHECKERS"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#checker_type MonitoringUptimeCheckConfig#checker_type}

---

##### `contentMatchers`<sup>Optional</sup> <a name="contentMatchers" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.contentMatchers"></a>

```typescript
public readonly contentMatchers: IResolvable | MonitoringUptimeCheckConfigContentMatchers[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers">MonitoringUptimeCheckConfigContentMatchers</a>[]

content_matchers block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#content_matchers MonitoringUptimeCheckConfig#content_matchers}

---

##### `httpCheck`<sup>Optional</sup> <a name="httpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.httpCheck"></a>

```typescript
public readonly httpCheck: MonitoringUptimeCheckConfigHttpCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck">MonitoringUptimeCheckConfigHttpCheck</a>

http_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#http_check MonitoringUptimeCheckConfig#http_check}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#id MonitoringUptimeCheckConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `monitoredResource`<sup>Optional</sup> <a name="monitoredResource" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.monitoredResource"></a>

```typescript
public readonly monitoredResource: MonitoringUptimeCheckConfigMonitoredResource;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource">MonitoringUptimeCheckConfigMonitoredResource</a>

monitored_resource block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#monitored_resource MonitoringUptimeCheckConfig#monitored_resource}

---

##### `period`<sup>Optional</sup> <a name="period" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.period"></a>

```typescript
public readonly period: string;
```

- *Type:* string

How often, in seconds, the uptime check is performed.

Currently, the only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and 900s (15 minutes). Optional, defaults to 300s.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#period MonitoringUptimeCheckConfig#period}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#project MonitoringUptimeCheckConfig#project}.

---

##### `resourceGroup`<sup>Optional</sup> <a name="resourceGroup" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.resourceGroup"></a>

```typescript
public readonly resourceGroup: MonitoringUptimeCheckConfigResourceGroup;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup">MonitoringUptimeCheckConfigResourceGroup</a>

resource_group block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#resource_group MonitoringUptimeCheckConfig#resource_group}

---

##### `selectedRegions`<sup>Optional</sup> <a name="selectedRegions" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.selectedRegions"></a>

```typescript
public readonly selectedRegions: string[];
```

- *Type:* string[]

The list of regions from which the check will be run.

Some regions contain one location, and others contain more than one. If this field is specified, enough regions to include a minimum of 3 locations must be provided, or an error message is returned. Not specifying this field will result in uptime checks running from all regions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#selected_regions MonitoringUptimeCheckConfig#selected_regions}

---

##### `tcpCheck`<sup>Optional</sup> <a name="tcpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.tcpCheck"></a>

```typescript
public readonly tcpCheck: MonitoringUptimeCheckConfigTcpCheck;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheck">MonitoringUptimeCheckConfigTcpCheck</a>

tcp_check block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#tcp_check MonitoringUptimeCheckConfig#tcp_check}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: MonitoringUptimeCheckConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts">MonitoringUptimeCheckConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#timeouts MonitoringUptimeCheckConfig#timeouts}

---

### MonitoringUptimeCheckConfigContentMatchers <a name="MonitoringUptimeCheckConfigContentMatchers" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigContentMatchers } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigContentMatchers: MonitoringUptimeCheckConfigContentMatchers = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers.property.content">content</a></code> | <code>string</code> | String or regex content to match (max 1024 bytes). |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers.property.jsonPathMatcher">jsonPathMatcher</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher">MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher</a></code> | json_path_matcher block. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers.property.matcher">matcher</a></code> | <code>string</code> | The type of content matcher that will be applied to the server output, compared to the content string when the check is run. |

---

##### `content`<sup>Required</sup> <a name="content" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

String or regex content to match (max 1024 bytes).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#content MonitoringUptimeCheckConfig#content}

---

##### `jsonPathMatcher`<sup>Optional</sup> <a name="jsonPathMatcher" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers.property.jsonPathMatcher"></a>

```typescript
public readonly jsonPathMatcher: MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher">MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher</a>

json_path_matcher block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#json_path_matcher MonitoringUptimeCheckConfig#json_path_matcher}

---

##### `matcher`<sup>Optional</sup> <a name="matcher" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchers.property.matcher"></a>

```typescript
public readonly matcher: string;
```

- *Type:* string

The type of content matcher that will be applied to the server output, compared to the content string when the check is run.

Default value: "CONTAINS_STRING" Possible values: ["CONTAINS_STRING", "NOT_CONTAINS_STRING", "MATCHES_REGEX", "NOT_MATCHES_REGEX", "MATCHES_JSON_PATH", "NOT_MATCHES_JSON_PATH"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#matcher MonitoringUptimeCheckConfig#matcher}

---

### MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher <a name="MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigContentMatchersJsonPathMatcher: MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher.property.jsonPath">jsonPath</a></code> | <code>string</code> | JSONPath within the response output pointing to the expected 'ContentMatcher::content' to match against. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher.property.jsonMatcher">jsonMatcher</a></code> | <code>string</code> | Options to perform JSONPath content matching. Default value: "EXACT_MATCH" Possible values: ["EXACT_MATCH", "REGEX_MATCH"]. |

---

##### `jsonPath`<sup>Required</sup> <a name="jsonPath" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher.property.jsonPath"></a>

```typescript
public readonly jsonPath: string;
```

- *Type:* string

JSONPath within the response output pointing to the expected 'ContentMatcher::content' to match against.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#json_path MonitoringUptimeCheckConfig#json_path}

---

##### `jsonMatcher`<sup>Optional</sup> <a name="jsonMatcher" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher.property.jsonMatcher"></a>

```typescript
public readonly jsonMatcher: string;
```

- *Type:* string

Options to perform JSONPath content matching. Default value: "EXACT_MATCH" Possible values: ["EXACT_MATCH", "REGEX_MATCH"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#json_matcher MonitoringUptimeCheckConfig#json_matcher}

---

### MonitoringUptimeCheckConfigHttpCheck <a name="MonitoringUptimeCheckConfigHttpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigHttpCheck } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigHttpCheck: MonitoringUptimeCheckConfigHttpCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.acceptedResponseStatusCodes">acceptedResponseStatusCodes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes">MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes</a>[]</code> | accepted_response_status_codes block. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.authInfo">authInfo</a></code> | <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAuthInfo">MonitoringUptimeCheckConfigHttpCheckAuthInfo</a></code> | auth_info block. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.body">body</a></code> | <code>string</code> | The request body associated with the HTTP POST request. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.contentType">contentType</a></code> | <code>string</code> | The content type to use for the check. Possible values: ["TYPE_UNSPECIFIED", "URL_ENCODED"]. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.headers">headers</a></code> | <code>{[ key: string ]: string}</code> | The list of headers to send as part of the uptime check request. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.maskHeaders">maskHeaders</a></code> | <code>boolean \| cdktf.IResolvable</code> | Boolean specifying whether to encrypt the header information. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.path">path</a></code> | <code>string</code> | The path to the page to run the check against. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.port">port</a></code> | <code>number</code> | The port to the page to run the check against. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.requestMethod">requestMethod</a></code> | <code>string</code> | The HTTP request method to use for the check. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.useSsl">useSsl</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, use HTTPS instead of HTTP to run the check. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.validateSsl">validateSsl</a></code> | <code>boolean \| cdktf.IResolvable</code> | Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. |

---

##### `acceptedResponseStatusCodes`<sup>Optional</sup> <a name="acceptedResponseStatusCodes" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.acceptedResponseStatusCodes"></a>

```typescript
public readonly acceptedResponseStatusCodes: IResolvable | MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes">MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes</a>[]

accepted_response_status_codes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#accepted_response_status_codes MonitoringUptimeCheckConfig#accepted_response_status_codes}

---

##### `authInfo`<sup>Optional</sup> <a name="authInfo" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.authInfo"></a>

```typescript
public readonly authInfo: MonitoringUptimeCheckConfigHttpCheckAuthInfo;
```

- *Type:* <a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAuthInfo">MonitoringUptimeCheckConfigHttpCheckAuthInfo</a>

auth_info block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#auth_info MonitoringUptimeCheckConfig#auth_info}

---

##### `body`<sup>Optional</sup> <a name="body" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.body"></a>

```typescript
public readonly body: string;
```

- *Type:* string

The request body associated with the HTTP POST request.

If contentType is URL_ENCODED, the body passed in must be URL-encoded. Users can provide a Content-Length header via the headers field or the API will do so. If the requestMethod is GET and body is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note - As with all bytes fields JSON representations are base64 encoded. e.g. "foo=bar" in URL-encoded form is "foo%3Dbar" and in base64 encoding is "Zm9vJTI1M0RiYXI=".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#body MonitoringUptimeCheckConfig#body}

---

##### `contentType`<sup>Optional</sup> <a name="contentType" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

The content type to use for the check. Possible values: ["TYPE_UNSPECIFIED", "URL_ENCODED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#content_type MonitoringUptimeCheckConfig#content_type}

---

##### `headers`<sup>Optional</sup> <a name="headers" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.headers"></a>

```typescript
public readonly headers: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The list of headers to send as part of the uptime check request.

If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#headers MonitoringUptimeCheckConfig#headers}

---

##### `maskHeaders`<sup>Optional</sup> <a name="maskHeaders" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.maskHeaders"></a>

```typescript
public readonly maskHeaders: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Boolean specifying whether to encrypt the header information.

Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if mask_headers is set to True then the headers will be obscured with ******.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#mask_headers MonitoringUptimeCheckConfig#mask_headers}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

The path to the page to run the check against.

Will be combined with the host (specified within the MonitoredResource) and port to construct the full URL. If the provided path does not begin with "/", a "/" will be prepended automatically. Optional (defaults to "/").

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#path MonitoringUptimeCheckConfig#path}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The port to the page to run the check against.

Will be combined with host (specified within the MonitoredResource) and path to construct the full URL. Optional (defaults to 80 without SSL, or 443 with SSL).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#port MonitoringUptimeCheckConfig#port}

---

##### `requestMethod`<sup>Optional</sup> <a name="requestMethod" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.requestMethod"></a>

```typescript
public readonly requestMethod: string;
```

- *Type:* string

The HTTP request method to use for the check.

If set to METHOD_UNSPECIFIED then requestMethod defaults to GET. Default value: "GET" Possible values: ["METHOD_UNSPECIFIED", "GET", "POST"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#request_method MonitoringUptimeCheckConfig#request_method}

---

##### `useSsl`<sup>Optional</sup> <a name="useSsl" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.useSsl"></a>

```typescript
public readonly useSsl: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, use HTTPS instead of HTTP to run the check.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#use_ssl MonitoringUptimeCheckConfig#use_ssl}

---

##### `validateSsl`<sup>Optional</sup> <a name="validateSsl" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheck.property.validateSsl"></a>

```typescript
public readonly validateSsl: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Boolean specifying whether to include SSL certificate validation as a part of the Uptime check.

Only applies to checks where monitoredResource is set to uptime_url. If useSsl is false, setting validateSsl to true has no effect.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#validate_ssl MonitoringUptimeCheckConfig#validate_ssl}

---

### MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes <a name="MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes: MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes.property.statusClass">statusClass</a></code> | <code>string</code> | A class of status codes to accept. Possible values: ["STATUS_CLASS_1XX", "STATUS_CLASS_2XX", "STATUS_CLASS_3XX", "STATUS_CLASS_4XX", "STATUS_CLASS_5XX", "STATUS_CLASS_ANY"]. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes.property.statusValue">statusValue</a></code> | <code>number</code> | A status code to accept. |

---

##### `statusClass`<sup>Optional</sup> <a name="statusClass" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes.property.statusClass"></a>

```typescript
public readonly statusClass: string;
```

- *Type:* string

A class of status codes to accept. Possible values: ["STATUS_CLASS_1XX", "STATUS_CLASS_2XX", "STATUS_CLASS_3XX", "STATUS_CLASS_4XX", "STATUS_CLASS_5XX", "STATUS_CLASS_ANY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#status_class MonitoringUptimeCheckConfig#status_class}

---

##### `statusValue`<sup>Optional</sup> <a name="statusValue" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes.property.statusValue"></a>

```typescript
public readonly statusValue: number;
```

- *Type:* number

A status code to accept.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#status_value MonitoringUptimeCheckConfig#status_value}

---

### MonitoringUptimeCheckConfigHttpCheckAuthInfo <a name="MonitoringUptimeCheckConfigHttpCheckAuthInfo" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAuthInfo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAuthInfo.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigHttpCheckAuthInfo } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigHttpCheckAuthInfo: MonitoringUptimeCheckConfigHttpCheckAuthInfo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAuthInfo.property.password">password</a></code> | <code>string</code> | The password to authenticate. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAuthInfo.property.username">username</a></code> | <code>string</code> | The username to authenticate. |

---

##### `password`<sup>Required</sup> <a name="password" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAuthInfo.property.password"></a>

```typescript
public readonly password: string;
```

- *Type:* string

The password to authenticate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#password MonitoringUptimeCheckConfig#password}

---

##### `username`<sup>Required</sup> <a name="username" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigHttpCheckAuthInfo.property.username"></a>

```typescript
public readonly username: string;
```

- *Type:* string

The username to authenticate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#username MonitoringUptimeCheckConfig#username}

---

### MonitoringUptimeCheckConfigMonitoredResource <a name="MonitoringUptimeCheckConfigMonitoredResource" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigMonitoredResource } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigMonitoredResource: MonitoringUptimeCheckConfigMonitoredResource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Values for all of the labels listed in the associated monitored resource descriptor. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource.property.type">type</a></code> | <code>string</code> | The monitored resource type. |

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Values for all of the labels listed in the associated monitored resource descriptor.

For example, Compute Engine VM instances use the labels "project_id", "instance_id", and "zone".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#labels MonitoringUptimeCheckConfig#labels}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigMonitoredResource.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The monitored resource type.

This field must match the type field of a MonitoredResourceDescriptor (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.monitoredResourceDescriptors#MonitoredResourceDescriptor) object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring resource types (https://cloud.google.com/monitoring/api/resources) and Logging resource types (https://cloud.google.com/logging/docs/api/v2/resource-list).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#type MonitoringUptimeCheckConfig#type}

---

### MonitoringUptimeCheckConfigResourceGroup <a name="MonitoringUptimeCheckConfigResourceGroup" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigResourceGroup } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigResourceGroup: MonitoringUptimeCheckConfigResourceGroup = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup.property.groupId">groupId</a></code> | <code>string</code> | The group of resources being monitored. Should be the 'name' of a group. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup.property.resourceType">resourceType</a></code> | <code>string</code> | The resource type of the group members. Possible values: ["RESOURCE_TYPE_UNSPECIFIED", "INSTANCE", "AWS_ELB_LOAD_BALANCER"]. |

---

##### `groupId`<sup>Optional</sup> <a name="groupId" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup.property.groupId"></a>

```typescript
public readonly groupId: string;
```

- *Type:* string

The group of resources being monitored. Should be the 'name' of a group.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#group_id MonitoringUptimeCheckConfig#group_id}

---

##### `resourceType`<sup>Optional</sup> <a name="resourceType" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigResourceGroup.property.resourceType"></a>

```typescript
public readonly resourceType: string;
```

- *Type:* string

The resource type of the group members. Possible values: ["RESOURCE_TYPE_UNSPECIFIED", "INSTANCE", "AWS_ELB_LOAD_BALANCER"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#resource_type MonitoringUptimeCheckConfig#resource_type}

---

### MonitoringUptimeCheckConfigTcpCheck <a name="MonitoringUptimeCheckConfigTcpCheck" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheck"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheck.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigTcpCheck } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigTcpCheck: MonitoringUptimeCheckConfigTcpCheck = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheck.property.port">port</a></code> | <code>number</code> | The port to the page to run the check against. |

---

##### `port`<sup>Required</sup> <a name="port" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigTcpCheck.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The port to the page to run the check against.

Will be combined with host (specified within the MonitoredResource) to construct the full URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#port MonitoringUptimeCheckConfig#port}

---

### MonitoringUptimeCheckConfigTimeouts <a name="MonitoringUptimeCheckConfigTimeouts" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts.Initializer"></a>

```typescript
import { MonitoringUptimeCheckConfigTimeouts } from '@dschmidt/provider-google'

const monitoringUptimeCheckConfigTimeouts: MonitoringUptimeCheckConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#create MonitoringUptimeCheckConfig#create}. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#delete MonitoringUptimeCheckConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#update MonitoringUptimeCheckConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#create MonitoringUptimeCheckConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#delete MonitoringUptimeCheckConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.MonitoringUptimeCheckConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/monitoring_uptime_check_config#update MonitoringUptimeCheckConfig#update}.

---

### NetworkConnectivityHubConfig <a name="NetworkConnectivityHubConfig" id="@dschmidt/provider-google.NetworkConnectivityHubConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.Initializer"></a>

```typescript
import { NetworkConnectivityHubConfig } from '@dschmidt/provider-google'

const networkConnectivityHubConfig: NetworkConnectivityHubConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.name">name</a></code> | <code>string</code> | Immutable. The name of the hub. Hub names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}`. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.description">description</a></code> | <code>string</code> | An optional description of the hub. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#id NetworkConnectivityHub#id}. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeouts">NetworkConnectivityHubTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Immutable. The name of the hub. Hub names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#name NetworkConnectivityHub#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of the hub.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#description NetworkConnectivityHub#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#id NetworkConnectivityHub#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#labels NetworkConnectivityHub#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#project NetworkConnectivityHub#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkConnectivityHubConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkConnectivityHubTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeouts">NetworkConnectivityHubTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#timeouts NetworkConnectivityHub#timeouts}

---

### NetworkConnectivityHubRoutingVpcs <a name="NetworkConnectivityHubRoutingVpcs" id="@dschmidt/provider-google.NetworkConnectivityHubRoutingVpcs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkConnectivityHubRoutingVpcs.Initializer"></a>

```typescript
import { NetworkConnectivityHubRoutingVpcs } from '@dschmidt/provider-google'

const networkConnectivityHubRoutingVpcs: NetworkConnectivityHubRoutingVpcs = { ... }
```


### NetworkConnectivityHubTimeouts <a name="NetworkConnectivityHubTimeouts" id="@dschmidt/provider-google.NetworkConnectivityHubTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkConnectivityHubTimeouts.Initializer"></a>

```typescript
import { NetworkConnectivityHubTimeouts } from '@dschmidt/provider-google'

const networkConnectivityHubTimeouts: NetworkConnectivityHubTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#create NetworkConnectivityHub#create}. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#delete NetworkConnectivityHub#delete}. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivityHubTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#update NetworkConnectivityHub#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NetworkConnectivityHubTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#create NetworkConnectivityHub#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NetworkConnectivityHubTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#delete NetworkConnectivityHub#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NetworkConnectivityHubTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_hub#update NetworkConnectivityHub#update}.

---

### NetworkConnectivitySpokeConfig <a name="NetworkConnectivitySpokeConfig" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.Initializer"></a>

```typescript
import { NetworkConnectivitySpokeConfig } from '@dschmidt/provider-google'

const networkConnectivitySpokeConfig: NetworkConnectivitySpokeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.hub">hub</a></code> | <code>string</code> | Immutable. The URI of the hub that this spoke is attached to. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.name">name</a></code> | <code>string</code> | Immutable. The name of the spoke. Spoke names must be unique. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.description">description</a></code> | <code>string</code> | An optional description of the spoke. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#id NetworkConnectivitySpoke#id}. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.linkedInterconnectAttachments">linkedInterconnectAttachments</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments">NetworkConnectivitySpokeLinkedInterconnectAttachments</a></code> | linked_interconnect_attachments block. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.linkedRouterApplianceInstances">linkedRouterApplianceInstances</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances">NetworkConnectivitySpokeLinkedRouterApplianceInstances</a></code> | linked_router_appliance_instances block. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.linkedVpnTunnels">linkedVpnTunnels</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels">NetworkConnectivitySpokeLinkedVpnTunnels</a></code> | linked_vpn_tunnels block. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts">NetworkConnectivitySpokeTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `hub`<sup>Required</sup> <a name="hub" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.hub"></a>

```typescript
public readonly hub: string;
```

- *Type:* string

Immutable. The URI of the hub that this spoke is attached to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#hub NetworkConnectivitySpoke#hub}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#location NetworkConnectivitySpoke#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Immutable. The name of the spoke. Spoke names must be unique.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#name NetworkConnectivitySpoke#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

An optional description of the spoke.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#description NetworkConnectivitySpoke#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#id NetworkConnectivitySpoke#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#labels NetworkConnectivitySpoke#labels}

---

##### `linkedInterconnectAttachments`<sup>Optional</sup> <a name="linkedInterconnectAttachments" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.linkedInterconnectAttachments"></a>

```typescript
public readonly linkedInterconnectAttachments: NetworkConnectivitySpokeLinkedInterconnectAttachments;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments">NetworkConnectivitySpokeLinkedInterconnectAttachments</a>

linked_interconnect_attachments block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#linked_interconnect_attachments NetworkConnectivitySpoke#linked_interconnect_attachments}

---

##### `linkedRouterApplianceInstances`<sup>Optional</sup> <a name="linkedRouterApplianceInstances" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.linkedRouterApplianceInstances"></a>

```typescript
public readonly linkedRouterApplianceInstances: NetworkConnectivitySpokeLinkedRouterApplianceInstances;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances">NetworkConnectivitySpokeLinkedRouterApplianceInstances</a>

linked_router_appliance_instances block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#linked_router_appliance_instances NetworkConnectivitySpoke#linked_router_appliance_instances}

---

##### `linkedVpnTunnels`<sup>Optional</sup> <a name="linkedVpnTunnels" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.linkedVpnTunnels"></a>

```typescript
public readonly linkedVpnTunnels: NetworkConnectivitySpokeLinkedVpnTunnels;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels">NetworkConnectivitySpokeLinkedVpnTunnels</a>

linked_vpn_tunnels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#linked_vpn_tunnels NetworkConnectivitySpoke#linked_vpn_tunnels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#project NetworkConnectivitySpoke#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkConnectivitySpokeConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkConnectivitySpokeTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts">NetworkConnectivitySpokeTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#timeouts NetworkConnectivitySpoke#timeouts}

---

### NetworkConnectivitySpokeLinkedInterconnectAttachments <a name="NetworkConnectivitySpokeLinkedInterconnectAttachments" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments.Initializer"></a>

```typescript
import { NetworkConnectivitySpokeLinkedInterconnectAttachments } from '@dschmidt/provider-google'

const networkConnectivitySpokeLinkedInterconnectAttachments: NetworkConnectivitySpokeLinkedInterconnectAttachments = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments.property.siteToSiteDataTransfer">siteToSiteDataTransfer</a></code> | <code>boolean \| cdktf.IResolvable</code> | A value that controls whether site-to-site data transfer is enabled for these resources. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments.property.uris">uris</a></code> | <code>string[]</code> | The URIs of linked interconnect attachment resources. |

---

##### `siteToSiteDataTransfer`<sup>Required</sup> <a name="siteToSiteDataTransfer" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments.property.siteToSiteDataTransfer"></a>

```typescript
public readonly siteToSiteDataTransfer: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

A value that controls whether site-to-site data transfer is enabled for these resources.

Note that data transfer is available only in supported locations.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#site_to_site_data_transfer NetworkConnectivitySpoke#site_to_site_data_transfer}

---

##### `uris`<sup>Required</sup> <a name="uris" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedInterconnectAttachments.property.uris"></a>

```typescript
public readonly uris: string[];
```

- *Type:* string[]

The URIs of linked interconnect attachment resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#uris NetworkConnectivitySpoke#uris}

---

### NetworkConnectivitySpokeLinkedRouterApplianceInstances <a name="NetworkConnectivitySpokeLinkedRouterApplianceInstances" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances.Initializer"></a>

```typescript
import { NetworkConnectivitySpokeLinkedRouterApplianceInstances } from '@dschmidt/provider-google'

const networkConnectivitySpokeLinkedRouterApplianceInstances: NetworkConnectivitySpokeLinkedRouterApplianceInstances = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances.property.instances">instances</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances">NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances</a>[]</code> | instances block. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances.property.siteToSiteDataTransfer">siteToSiteDataTransfer</a></code> | <code>boolean \| cdktf.IResolvable</code> | A value that controls whether site-to-site data transfer is enabled for these resources. |

---

##### `instances`<sup>Required</sup> <a name="instances" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances.property.instances"></a>

```typescript
public readonly instances: IResolvable | NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances">NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances</a>[]

instances block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#instances NetworkConnectivitySpoke#instances}

---

##### `siteToSiteDataTransfer`<sup>Required</sup> <a name="siteToSiteDataTransfer" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstances.property.siteToSiteDataTransfer"></a>

```typescript
public readonly siteToSiteDataTransfer: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

A value that controls whether site-to-site data transfer is enabled for these resources.

Note that data transfer is available only in supported locations.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#site_to_site_data_transfer NetworkConnectivitySpoke#site_to_site_data_transfer}

---

### NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances <a name="NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances.Initializer"></a>

```typescript
import { NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances } from '@dschmidt/provider-google'

const networkConnectivitySpokeLinkedRouterApplianceInstancesInstances: NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances.property.ipAddress">ipAddress</a></code> | <code>string</code> | The IP address on the VM to use for peering. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances.property.virtualMachine">virtualMachine</a></code> | <code>string</code> | The URI of the virtual machine resource. |

---

##### `ipAddress`<sup>Optional</sup> <a name="ipAddress" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

The IP address on the VM to use for peering.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#ip_address NetworkConnectivitySpoke#ip_address}

---

##### `virtualMachine`<sup>Optional</sup> <a name="virtualMachine" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedRouterApplianceInstancesInstances.property.virtualMachine"></a>

```typescript
public readonly virtualMachine: string;
```

- *Type:* string

The URI of the virtual machine resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#virtual_machine NetworkConnectivitySpoke#virtual_machine}

---

### NetworkConnectivitySpokeLinkedVpnTunnels <a name="NetworkConnectivitySpokeLinkedVpnTunnels" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels.Initializer"></a>

```typescript
import { NetworkConnectivitySpokeLinkedVpnTunnels } from '@dschmidt/provider-google'

const networkConnectivitySpokeLinkedVpnTunnels: NetworkConnectivitySpokeLinkedVpnTunnels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels.property.siteToSiteDataTransfer">siteToSiteDataTransfer</a></code> | <code>boolean \| cdktf.IResolvable</code> | A value that controls whether site-to-site data transfer is enabled for these resources. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels.property.uris">uris</a></code> | <code>string[]</code> | The URIs of linked VPN tunnel resources. |

---

##### `siteToSiteDataTransfer`<sup>Required</sup> <a name="siteToSiteDataTransfer" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels.property.siteToSiteDataTransfer"></a>

```typescript
public readonly siteToSiteDataTransfer: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

A value that controls whether site-to-site data transfer is enabled for these resources.

Note that data transfer is available only in supported locations.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#site_to_site_data_transfer NetworkConnectivitySpoke#site_to_site_data_transfer}

---

##### `uris`<sup>Required</sup> <a name="uris" id="@dschmidt/provider-google.NetworkConnectivitySpokeLinkedVpnTunnels.property.uris"></a>

```typescript
public readonly uris: string[];
```

- *Type:* string[]

The URIs of linked VPN tunnel resources.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#uris NetworkConnectivitySpoke#uris}

---

### NetworkConnectivitySpokeTimeouts <a name="NetworkConnectivitySpokeTimeouts" id="@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts.Initializer"></a>

```typescript
import { NetworkConnectivitySpokeTimeouts } from '@dschmidt/provider-google'

const networkConnectivitySpokeTimeouts: NetworkConnectivitySpokeTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#create NetworkConnectivitySpoke#create}. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#delete NetworkConnectivitySpoke#delete}. |
| <code><a href="#@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#update NetworkConnectivitySpoke#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#create NetworkConnectivitySpoke#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#delete NetworkConnectivitySpoke#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NetworkConnectivitySpokeTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_connectivity_spoke#update NetworkConnectivitySpoke#update}.

---

### NetworkManagementConnectivityTestConfig <a name="NetworkManagementConnectivityTestConfig" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.Initializer"></a>

```typescript
import { NetworkManagementConnectivityTestConfig } from '@dschmidt/provider-google'

const networkManagementConnectivityTestConfig: NetworkManagementConnectivityTestConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.destination">destination</a></code> | <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination">NetworkManagementConnectivityTestDestination</a></code> | destination block. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.name">name</a></code> | <code>string</code> | Unique name for the connectivity test. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.source">source</a></code> | <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource">NetworkManagementConnectivityTestSource</a></code> | source block. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.description">description</a></code> | <code>string</code> | The user-supplied description of the Connectivity Test. Maximum of 512 characters. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#id NetworkManagementConnectivityTest#id}. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Resource labels to represent user-provided metadata. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#project NetworkManagementConnectivityTest#project}. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.protocol">protocol</a></code> | <code>string</code> | IP Protocol of the test. When not provided, "TCP" is assumed. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.relatedProjects">relatedProjects</a></code> | <code>string[]</code> | Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross project boundaries. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts">NetworkManagementConnectivityTestTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `destination`<sup>Required</sup> <a name="destination" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.destination"></a>

```typescript
public readonly destination: NetworkManagementConnectivityTestDestination;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination">NetworkManagementConnectivityTestDestination</a>

destination block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#destination NetworkManagementConnectivityTest#destination}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Unique name for the connectivity test.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#name NetworkManagementConnectivityTest#name}

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.source"></a>

```typescript
public readonly source: NetworkManagementConnectivityTestSource;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource">NetworkManagementConnectivityTestSource</a>

source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#source NetworkManagementConnectivityTest#source}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The user-supplied description of the Connectivity Test. Maximum of 512 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#description NetworkManagementConnectivityTest#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#id NetworkManagementConnectivityTest#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Resource labels to represent user-provided metadata.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#labels NetworkManagementConnectivityTest#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#project NetworkManagementConnectivityTest#project}.

---

##### `protocol`<sup>Optional</sup> <a name="protocol" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

IP Protocol of the test. When not provided, "TCP" is assumed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#protocol NetworkManagementConnectivityTest#protocol}

---

##### `relatedProjects`<sup>Optional</sup> <a name="relatedProjects" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.relatedProjects"></a>

```typescript
public readonly relatedProjects: string[];
```

- *Type:* string[]

Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross project boundaries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#related_projects NetworkManagementConnectivityTest#related_projects}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkManagementConnectivityTestConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkManagementConnectivityTestTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts">NetworkManagementConnectivityTestTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#timeouts NetworkManagementConnectivityTest#timeouts}

---

### NetworkManagementConnectivityTestDestination <a name="NetworkManagementConnectivityTestDestination" id="@dschmidt/provider-google.NetworkManagementConnectivityTestDestination"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.Initializer"></a>

```typescript
import { NetworkManagementConnectivityTestDestination } from '@dschmidt/provider-google'

const networkManagementConnectivityTestDestination: NetworkManagementConnectivityTestDestination = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.instance">instance</a></code> | <code>string</code> | A Compute Engine instance URI. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.ipAddress">ipAddress</a></code> | <code>string</code> | The IP address of the endpoint, which can be an external or internal IP. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.network">network</a></code> | <code>string</code> | A Compute Engine network URI. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.port">port</a></code> | <code>number</code> | The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.projectId">projectId</a></code> | <code>string</code> | Project ID where the endpoint is located. |

---

##### `instance`<sup>Optional</sup> <a name="instance" id="@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

A Compute Engine instance URI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#instance NetworkManagementConnectivityTest#instance}

---

##### `ipAddress`<sup>Optional</sup> <a name="ipAddress" id="@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

The IP address of the endpoint, which can be an external or internal IP.

An IPv6 address is only allowed when the test's
destination is a global load balancer VIP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#ip_address NetworkManagementConnectivityTest#ip_address}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

A Compute Engine network URI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#network NetworkManagementConnectivityTest#network}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#port NetworkManagementConnectivityTest#port}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.NetworkManagementConnectivityTestDestination.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

Project ID where the endpoint is located.

The Project ID can be
derived from the URI if you provide a VM instance or network URI.
The following are two cases where you must provide the project ID:
1. Only the IP address is specified, and the IP address is within
a GCP project. 2. When you are using Shared VPC and the IP address
that you provide is from the service project. In this case, the
network that the IP address resides in is defined in the host
project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#project_id NetworkManagementConnectivityTest#project_id}

---

### NetworkManagementConnectivityTestSource <a name="NetworkManagementConnectivityTestSource" id="@dschmidt/provider-google.NetworkManagementConnectivityTestSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkManagementConnectivityTestSource.Initializer"></a>

```typescript
import { NetworkManagementConnectivityTestSource } from '@dschmidt/provider-google'

const networkManagementConnectivityTestSource: NetworkManagementConnectivityTestSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.instance">instance</a></code> | <code>string</code> | A Compute Engine instance URI. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.ipAddress">ipAddress</a></code> | <code>string</code> | The IP address of the endpoint, which can be an external or internal IP. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.network">network</a></code> | <code>string</code> | A Compute Engine network URI. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.networkType">networkType</a></code> | <code>string</code> | Type of the network where the endpoint is located. Possible values: ["GCP_NETWORK", "NON_GCP_NETWORK"]. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.port">port</a></code> | <code>number</code> | The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.projectId">projectId</a></code> | <code>string</code> | Project ID where the endpoint is located. |

---

##### `instance`<sup>Optional</sup> <a name="instance" id="@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

A Compute Engine instance URI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#instance NetworkManagementConnectivityTest#instance}

---

##### `ipAddress`<sup>Optional</sup> <a name="ipAddress" id="@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.ipAddress"></a>

```typescript
public readonly ipAddress: string;
```

- *Type:* string

The IP address of the endpoint, which can be an external or internal IP.

An IPv6 address is only allowed when the test's
destination is a global load balancer VIP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#ip_address NetworkManagementConnectivityTest#ip_address}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

A Compute Engine network URI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#network NetworkManagementConnectivityTest#network}

---

##### `networkType`<sup>Optional</sup> <a name="networkType" id="@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.networkType"></a>

```typescript
public readonly networkType: string;
```

- *Type:* string

Type of the network where the endpoint is located. Possible values: ["GCP_NETWORK", "NON_GCP_NETWORK"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#network_type NetworkManagementConnectivityTest#network_type}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#port NetworkManagementConnectivityTest#port}

---

##### `projectId`<sup>Optional</sup> <a name="projectId" id="@dschmidt/provider-google.NetworkManagementConnectivityTestSource.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

Project ID where the endpoint is located.

The Project ID can be
derived from the URI if you provide a VM instance or network URI.
The following are two cases where you must provide the project ID:

1. Only the IP address is specified, and the IP address is
within a GCP project.
2. When you are using Shared VPC and the IP address
that you provide is from the service project. In this case,
the network that the IP address resides in is defined in the
host project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#project_id NetworkManagementConnectivityTest#project_id}

---

### NetworkManagementConnectivityTestTimeouts <a name="NetworkManagementConnectivityTestTimeouts" id="@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts.Initializer"></a>

```typescript
import { NetworkManagementConnectivityTestTimeouts } from '@dschmidt/provider-google'

const networkManagementConnectivityTestTimeouts: NetworkManagementConnectivityTestTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#create NetworkManagementConnectivityTest#create}. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#delete NetworkManagementConnectivityTest#delete}. |
| <code><a href="#@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#update NetworkManagementConnectivityTest#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#create NetworkManagementConnectivityTest#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#delete NetworkManagementConnectivityTest#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NetworkManagementConnectivityTestTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_management_connectivity_test#update NetworkManagementConnectivityTest#update}.

---

### NetworkServicesEdgeCacheKeysetConfig <a name="NetworkServicesEdgeCacheKeysetConfig" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheKeysetConfig } from '@dschmidt/provider-google'

const networkServicesEdgeCacheKeysetConfig: NetworkServicesEdgeCacheKeysetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.publicKey">publicKey</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey">NetworkServicesEdgeCacheKeysetPublicKey</a>[]</code> | public_key block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.description">description</a></code> | <code>string</code> | A human-readable description of the resource. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#id NetworkServicesEdgeCacheKeyset#id}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Set of label tags associated with the EdgeCache resource. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#project NetworkServicesEdgeCacheKeyset#project}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts">NetworkServicesEdgeCacheKeysetTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is created.
The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
and all following characters must be a dash, underscore, letter or digit.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#name NetworkServicesEdgeCacheKeyset#name}

---

##### `publicKey`<sup>Required</sup> <a name="publicKey" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.publicKey"></a>

```typescript
public readonly publicKey: IResolvable | NetworkServicesEdgeCacheKeysetPublicKey[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey">NetworkServicesEdgeCacheKeysetPublicKey</a>[]

public_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#public_key NetworkServicesEdgeCacheKeyset#public_key}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#description NetworkServicesEdgeCacheKeyset#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#id NetworkServicesEdgeCacheKeyset#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Set of label tags associated with the EdgeCache resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#labels NetworkServicesEdgeCacheKeyset#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#project NetworkServicesEdgeCacheKeyset#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkServicesEdgeCacheKeysetTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts">NetworkServicesEdgeCacheKeysetTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#timeouts NetworkServicesEdgeCacheKeyset#timeouts}

---

### NetworkServicesEdgeCacheKeysetPublicKey <a name="NetworkServicesEdgeCacheKeysetPublicKey" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheKeysetPublicKey } from '@dschmidt/provider-google'

const networkServicesEdgeCacheKeysetPublicKey: NetworkServicesEdgeCacheKeysetPublicKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey.property.id">id</a></code> | <code>string</code> | The ID of the public key. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey.property.value">value</a></code> | <code>string</code> | The base64-encoded value of the Ed25519 public key. |

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

The ID of the public key.

The ID must be 1-63 characters long, and comply with RFC1035.
The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]*
which means the first character must be a letter, and all following characters must be a dash, underscore, letter or digit.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#id NetworkServicesEdgeCacheKeyset#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetPublicKey.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The base64-encoded value of the Ed25519 public key.

The base64 encoding can be padded (44 bytes) or unpadded (43 bytes).
Representations or encodings of the public key other than this will be rejected with an error.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#value NetworkServicesEdgeCacheKeyset#value}

---

### NetworkServicesEdgeCacheKeysetTimeouts <a name="NetworkServicesEdgeCacheKeysetTimeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheKeysetTimeouts } from '@dschmidt/provider-google'

const networkServicesEdgeCacheKeysetTimeouts: NetworkServicesEdgeCacheKeysetTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#create NetworkServicesEdgeCacheKeyset#create}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#delete NetworkServicesEdgeCacheKeyset#delete}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#update NetworkServicesEdgeCacheKeyset#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#create NetworkServicesEdgeCacheKeyset#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#delete NetworkServicesEdgeCacheKeyset#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NetworkServicesEdgeCacheKeysetTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_keyset#update NetworkServicesEdgeCacheKeyset#update}.

---

### NetworkServicesEdgeCacheOriginConfig <a name="NetworkServicesEdgeCacheOriginConfig" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheOriginConfig } from '@dschmidt/provider-google'

const networkServicesEdgeCacheOriginConfig: NetworkServicesEdgeCacheOriginConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.originAddress">originAddress</a></code> | <code>string</code> | A fully qualified domain name (FQDN) or IP address reachable over the public Internet, or the address of a Google Cloud Storage bucket. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.description">description</a></code> | <code>string</code> | A human-readable description of the resource. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.failoverOrigin">failoverOrigin</a></code> | <code>string</code> | The Origin resource to try when the current origin cannot be reached. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#id NetworkServicesEdgeCacheOrigin#id}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Set of label tags associated with the EdgeCache resource. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | The maximum number of attempts to cache fill from this origin. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.port">port</a></code> | <code>number</code> | The port to connect to the origin on. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#project NetworkServicesEdgeCacheOrigin#project}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.protocol">protocol</a></code> | <code>string</code> | The protocol to use to connect to the configured origin. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.retryConditions">retryConditions</a></code> | <code>string[]</code> | Specifies one or more retry conditions for the configured origin. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.timeout">timeout</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout">NetworkServicesEdgeCacheOriginTimeout</a></code> | timeout block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts">NetworkServicesEdgeCacheOriginTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is created.
The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
and all following characters must be a dash, underscore, letter or digit.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#name NetworkServicesEdgeCacheOrigin#name}

---

##### `originAddress`<sup>Required</sup> <a name="originAddress" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.originAddress"></a>

```typescript
public readonly originAddress: string;
```

- *Type:* string

A fully qualified domain name (FQDN) or IP address reachable over the public Internet, or the address of a Google Cloud Storage bucket.

This address will be used as the origin for cache requests - e.g. FQDN: media-backend.example.com, IPv4: 35.218.1.1, IPv6: 2607:f8b0:4012:809::200e, Cloud Storage: gs://bucketname

When providing an FQDN (hostname), it must be publicly resolvable (e.g. via Google public DNS) and IP addresses must be publicly routable.  It must not contain a protocol (e.g., https://) and it must not contain any slashes.
If a Cloud Storage bucket is provided, it must be in the canonical "gs://bucketname" format. Other forms, such as "storage.googleapis.com", will be rejected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#origin_address NetworkServicesEdgeCacheOrigin#origin_address}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#description NetworkServicesEdgeCacheOrigin#description}

---

##### `failoverOrigin`<sup>Optional</sup> <a name="failoverOrigin" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.failoverOrigin"></a>

```typescript
public readonly failoverOrigin: string;
```

- *Type:* string

The Origin resource to try when the current origin cannot be reached.

After maxAttempts is reached, the configured failoverOrigin will be used to fulfil the request.

The value of timeout.maxAttemptsTimeout dictates the timeout across all origins.
A reference to a Topic resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#failover_origin NetworkServicesEdgeCacheOrigin#failover_origin}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#id NetworkServicesEdgeCacheOrigin#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Set of label tags associated with the EdgeCache resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#labels NetworkServicesEdgeCacheOrigin#labels}

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

The maximum number of attempts to cache fill from this origin.

Another attempt is made when a cache fill fails with one of the retryConditions.

Once maxAttempts to this origin have failed the failoverOrigin will be used, if one is specified. That failoverOrigin may specify its own maxAttempts,
retryConditions and failoverOrigin to control its own cache fill failures.

The total number of allowed attempts to cache fill across this and failover origins is limited to four.
The total time allowed for cache fill attempts across this and failover origins can be controlled with maxAttemptsTimeout.

The last valid, non-retried response from all origins will be returned to the client.
If no origin returns a valid response, an HTTP 502 will be returned to the client.

Defaults to 1. Must be a value greater than 0 and less than 4.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#max_attempts NetworkServicesEdgeCacheOrigin#max_attempts}

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The port to connect to the origin on.

Defaults to port 443 for HTTP2 and HTTPS protocols, and port 80 for HTTP.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#port NetworkServicesEdgeCacheOrigin#port}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#project NetworkServicesEdgeCacheOrigin#project}.

---

##### `protocol`<sup>Optional</sup> <a name="protocol" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.protocol"></a>

```typescript
public readonly protocol: string;
```

- *Type:* string

The protocol to use to connect to the configured origin.

Defaults to HTTP2, and it is strongly recommended that users use HTTP2 for both security & performance.

When using HTTP2 or HTTPS as the protocol, a valid, publicly-signed, unexpired TLS (SSL) certificate must be presented by the origin server. Possible values: ["HTTP2", "HTTPS", "HTTP"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#protocol NetworkServicesEdgeCacheOrigin#protocol}

---

##### `retryConditions`<sup>Optional</sup> <a name="retryConditions" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.retryConditions"></a>

```typescript
public readonly retryConditions: string[];
```

- *Type:* string[]

Specifies one or more retry conditions for the configured origin.

If the failure mode during a connection attempt to the origin matches the configured retryCondition(s),
the origin request will be retried up to maxAttempts times. The failoverOrigin, if configured, will then be used to satisfy the request.

The default retryCondition is "CONNECT_FAILURE".

retryConditions apply to this origin, and not subsequent failoverOrigin(s),
which may specify their own retryConditions and maxAttempts.

Valid values are:

- CONNECT_FAILURE: Retry on failures connecting to origins, for example due to connection timeouts.
- HTTP_5XX: Retry if the origin responds with any 5xx response code, or if the origin does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
- GATEWAY_ERROR: Similar to 5xx, but only applies to response codes 502, 503 or 504.
- RETRIABLE_4XX: Retry for retriable 4xx response codes, which include HTTP 409 (Conflict) and HTTP 429 (Too Many Requests)
- NOT_FOUND: Retry if the origin returns a HTTP 404 (Not Found). This can be useful when generating video content, and the segment is not available yet.
- FORBIDDEN: Retry if the origin returns a HTTP 403 (Forbidden). Possible values: ["CONNECT_FAILURE", "HTTP_5XX", "GATEWAY_ERROR", "RETRIABLE_4XX", "NOT_FOUND", "FORBIDDEN"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#retry_conditions NetworkServicesEdgeCacheOrigin#retry_conditions}

---

##### `timeout`<sup>Optional</sup> <a name="timeout" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.timeout"></a>

```typescript
public readonly timeout: NetworkServicesEdgeCacheOriginTimeout;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout">NetworkServicesEdgeCacheOriginTimeout</a>

timeout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#timeout NetworkServicesEdgeCacheOrigin#timeout}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkServicesEdgeCacheOriginTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts">NetworkServicesEdgeCacheOriginTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#timeouts NetworkServicesEdgeCacheOrigin#timeouts}

---

### NetworkServicesEdgeCacheOriginTimeout <a name="NetworkServicesEdgeCacheOriginTimeout" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheOriginTimeout } from '@dschmidt/provider-google'

const networkServicesEdgeCacheOriginTimeout: NetworkServicesEdgeCacheOriginTimeout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout.property.connectTimeout">connectTimeout</a></code> | <code>string</code> | The maximum duration to wait for a single origin connection to be established, including DNS lookup, TLS handshake and TCP/QUIC connection establishment. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout.property.maxAttemptsTimeout">maxAttemptsTimeout</a></code> | <code>string</code> | The maximum time across all connection attempts to the origin, including failover origins, before returning an error to the client. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout.property.readTimeout">readTimeout</a></code> | <code>string</code> | The maximum duration to wait between reads of a single HTTP connection/stream. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout.property.responseTimeout">responseTimeout</a></code> | <code>string</code> | The maximum duration to wait for the last byte of a response to arrive when reading from the HTTP connection/stream. |

---

##### `connectTimeout`<sup>Optional</sup> <a name="connectTimeout" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout.property.connectTimeout"></a>

```typescript
public readonly connectTimeout: string;
```

- *Type:* string

The maximum duration to wait for a single origin connection to be established, including DNS lookup, TLS handshake and TCP/QUIC connection establishment.

Defaults to 5 seconds. The timeout must be a value between 1s and 15s.

The connectTimeout capped by the deadline set by the request's maxAttemptsTimeout.  The last connection attempt may have a smaller connectTimeout in order to adhere to the overall maxAttemptsTimeout.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#connect_timeout NetworkServicesEdgeCacheOrigin#connect_timeout}

---

##### `maxAttemptsTimeout`<sup>Optional</sup> <a name="maxAttemptsTimeout" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout.property.maxAttemptsTimeout"></a>

```typescript
public readonly maxAttemptsTimeout: string;
```

- *Type:* string

The maximum time across all connection attempts to the origin, including failover origins, before returning an error to the client.

A HTTP 504 will be returned if the timeout is reached before a response is returned.

Defaults to 15 seconds. The timeout must be a value between 1s and 30s.

If a failoverOrigin is specified, the maxAttemptsTimeout of the first configured origin sets the deadline for all connection attempts across all failoverOrigins.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#max_attempts_timeout NetworkServicesEdgeCacheOrigin#max_attempts_timeout}

---

##### `readTimeout`<sup>Optional</sup> <a name="readTimeout" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout.property.readTimeout"></a>

```typescript
public readonly readTimeout: string;
```

- *Type:* string

The maximum duration to wait between reads of a single HTTP connection/stream.

Defaults to 15 seconds.  The timeout must be a value between 1s and 30s.

The readTimeout is capped by the responseTimeout.  All reads of the HTTP connection/stream must be completed by the deadline set by the responseTimeout.

If the response headers have already been written to the connection, the response will be truncated and logged.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#read_timeout NetworkServicesEdgeCacheOrigin#read_timeout}

---

##### `responseTimeout`<sup>Optional</sup> <a name="responseTimeout" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeout.property.responseTimeout"></a>

```typescript
public readonly responseTimeout: string;
```

- *Type:* string

The maximum duration to wait for the last byte of a response to arrive when reading from the HTTP connection/stream.

Defaults to 30 seconds. The timeout must be a value between 1s and 120s.

The responseTimeout starts after the connection has been established.

This also applies to HTTP Chunked Transfer Encoding responses, and/or when an open-ended Range request is made to the origin. Origins that take longer to write additional bytes to the response than the configured responseTimeout will result in an error being returned to the client.

If the response headers have already been written to the connection, the response will be truncated and logged.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#response_timeout NetworkServicesEdgeCacheOrigin#response_timeout}

---

### NetworkServicesEdgeCacheOriginTimeouts <a name="NetworkServicesEdgeCacheOriginTimeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheOriginTimeouts } from '@dschmidt/provider-google'

const networkServicesEdgeCacheOriginTimeouts: NetworkServicesEdgeCacheOriginTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#create NetworkServicesEdgeCacheOrigin#create}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#delete NetworkServicesEdgeCacheOrigin#delete}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#update NetworkServicesEdgeCacheOrigin#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#create NetworkServicesEdgeCacheOrigin#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#delete NetworkServicesEdgeCacheOrigin#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NetworkServicesEdgeCacheOriginTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_origin#update NetworkServicesEdgeCacheOrigin#update}.

---

### NetworkServicesEdgeCacheServiceConfig <a name="NetworkServicesEdgeCacheServiceConfig" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceConfig } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceConfig: NetworkServicesEdgeCacheServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.name">name</a></code> | <code>string</code> | Name of the resource; |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.routing">routing</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting">NetworkServicesEdgeCacheServiceRouting</a></code> | routing block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.description">description</a></code> | <code>string</code> | A human-readable description of the resource. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.disableHttp2">disableHttp2</a></code> | <code>boolean \| cdktf.IResolvable</code> | Disables HTTP/2. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.disableQuic">disableQuic</a></code> | <code>boolean \| cdktf.IResolvable</code> | HTTP/3 (IETF QUIC) and Google QUIC are enabled by default. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.edgeSecurityPolicy">edgeSecurityPolicy</a></code> | <code>string</code> | Resource URL that points at the Cloud Armor edge security policy that is applied on each request against the EdgeCacheService. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.edgeSslCertificates">edgeSslCertificates</a></code> | <code>string[]</code> | URLs to sslCertificate resources that are used to authenticate connections between users and the EdgeCacheService. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#id NetworkServicesEdgeCacheService#id}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Set of label tags associated with the EdgeCache resource. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.logConfig">logConfig</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig">NetworkServicesEdgeCacheServiceLogConfig</a></code> | log_config block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#project NetworkServicesEdgeCacheService#project}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.requireTls">requireTls</a></code> | <code>boolean \| cdktf.IResolvable</code> | Require TLS (HTTPS) for all clients connecting to this service. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.sslPolicy">sslPolicy</a></code> | <code>string</code> | URL of the SslPolicy resource that will be associated with the EdgeCacheService. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts">NetworkServicesEdgeCacheServiceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the resource;

provided by the client when the resource is created.
The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
and all following characters must be a dash, underscore, letter or digit.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#name NetworkServicesEdgeCacheService#name}

---

##### `routing`<sup>Required</sup> <a name="routing" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.routing"></a>

```typescript
public readonly routing: NetworkServicesEdgeCacheServiceRouting;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting">NetworkServicesEdgeCacheServiceRouting</a>

routing block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#routing NetworkServicesEdgeCacheService#routing}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#description NetworkServicesEdgeCacheService#description}

---

##### `disableHttp2`<sup>Optional</sup> <a name="disableHttp2" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.disableHttp2"></a>

```typescript
public readonly disableHttp2: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Disables HTTP/2.

HTTP/2 (h2) is enabled by default and recommended for performance. HTTP/2 improves connection re-use and reduces connection setup overhead by sending multiple streams over the same connection.

Some legacy HTTP clients may have issues with HTTP/2 connections due to broken HTTP/2 implementations. Setting this to true will prevent HTTP/2 from being advertised and negotiated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#disable_http2 NetworkServicesEdgeCacheService#disable_http2}

---

##### `disableQuic`<sup>Optional</sup> <a name="disableQuic" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.disableQuic"></a>

```typescript
public readonly disableQuic: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

HTTP/3 (IETF QUIC) and Google QUIC are enabled by default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#disable_quic NetworkServicesEdgeCacheService#disable_quic}

---

##### `edgeSecurityPolicy`<sup>Optional</sup> <a name="edgeSecurityPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.edgeSecurityPolicy"></a>

```typescript
public readonly edgeSecurityPolicy: string;
```

- *Type:* string

Resource URL that points at the Cloud Armor edge security policy that is applied on each request against the EdgeCacheService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#edge_security_policy NetworkServicesEdgeCacheService#edge_security_policy}

---

##### `edgeSslCertificates`<sup>Optional</sup> <a name="edgeSslCertificates" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.edgeSslCertificates"></a>

```typescript
public readonly edgeSslCertificates: string[];
```

- *Type:* string[]

URLs to sslCertificate resources that are used to authenticate connections between users and the EdgeCacheService.

Note that only "global" certificates with a "scope" of "EDGE_CACHE" can be attached to an EdgeCacheService.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#edge_ssl_certificates NetworkServicesEdgeCacheService#edge_ssl_certificates}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#id NetworkServicesEdgeCacheService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Set of label tags associated with the EdgeCache resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#labels NetworkServicesEdgeCacheService#labels}

---

##### `logConfig`<sup>Optional</sup> <a name="logConfig" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.logConfig"></a>

```typescript
public readonly logConfig: NetworkServicesEdgeCacheServiceLogConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig">NetworkServicesEdgeCacheServiceLogConfig</a>

log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#log_config NetworkServicesEdgeCacheService#log_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#project NetworkServicesEdgeCacheService#project}.

---

##### `requireTls`<sup>Optional</sup> <a name="requireTls" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.requireTls"></a>

```typescript
public readonly requireTls: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Require TLS (HTTPS) for all clients connecting to this service.

Clients who connect over HTTP (port 80) will receive a HTTP 301 to the same URL over HTTPS (port 443).
You must have at least one (1) edgeSslCertificate specified to enable this.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#require_tls NetworkServicesEdgeCacheService#require_tls}

---

##### `sslPolicy`<sup>Optional</sup> <a name="sslPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.sslPolicy"></a>

```typescript
public readonly sslPolicy: string;
```

- *Type:* string

URL of the SslPolicy resource that will be associated with the EdgeCacheService.

If not set, the EdgeCacheService has no SSL policy configured, and will default to the "COMPATIBLE" policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#ssl_policy NetworkServicesEdgeCacheService#ssl_policy}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NetworkServicesEdgeCacheServiceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts">NetworkServicesEdgeCacheServiceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#timeouts NetworkServicesEdgeCacheService#timeouts}

---

### NetworkServicesEdgeCacheServiceLogConfig <a name="NetworkServicesEdgeCacheServiceLogConfig" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceLogConfig } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceLogConfig: NetworkServicesEdgeCacheServiceLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig.property.enable">enable</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies whether to enable logging for traffic served by this service. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig.property.sampleRate">sampleRate</a></code> | <code>number</code> | Configures the sampling rate of requests, where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0, and the value of the field must be in [0, 1]. |

---

##### `enable`<sup>Optional</sup> <a name="enable" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig.property.enable"></a>

```typescript
public readonly enable: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies whether to enable logging for traffic served by this service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#enable NetworkServicesEdgeCacheService#enable}

---

##### `sampleRate`<sup>Optional</sup> <a name="sampleRate" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceLogConfig.property.sampleRate"></a>

```typescript
public readonly sampleRate: number;
```

- *Type:* number

Configures the sampling rate of requests, where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0, and the value of the field must be in [0, 1].

This field can only be specified if logging is enabled for this service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#sample_rate NetworkServicesEdgeCacheService#sample_rate}

---

### NetworkServicesEdgeCacheServiceRouting <a name="NetworkServicesEdgeCacheServiceRouting" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRouting } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRouting: NetworkServicesEdgeCacheServiceRouting = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting.property.hostRule">hostRule</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule">NetworkServicesEdgeCacheServiceRoutingHostRule</a>[]</code> | host_rule block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting.property.pathMatcher">pathMatcher</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher">NetworkServicesEdgeCacheServiceRoutingPathMatcher</a>[]</code> | path_matcher block. |

---

##### `hostRule`<sup>Required</sup> <a name="hostRule" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting.property.hostRule"></a>

```typescript
public readonly hostRule: IResolvable | NetworkServicesEdgeCacheServiceRoutingHostRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule">NetworkServicesEdgeCacheServiceRoutingHostRule</a>[]

host_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#host_rule NetworkServicesEdgeCacheService#host_rule}

---

##### `pathMatcher`<sup>Required</sup> <a name="pathMatcher" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRouting.property.pathMatcher"></a>

```typescript
public readonly pathMatcher: IResolvable | NetworkServicesEdgeCacheServiceRoutingPathMatcher[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher">NetworkServicesEdgeCacheServiceRoutingPathMatcher</a>[]

path_matcher block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#path_matcher NetworkServicesEdgeCacheService#path_matcher}

---

### NetworkServicesEdgeCacheServiceRoutingHostRule <a name="NetworkServicesEdgeCacheServiceRoutingHostRule" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingHostRule } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingHostRule: NetworkServicesEdgeCacheServiceRoutingHostRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule.property.hosts">hosts</a></code> | <code>string[]</code> | The list of host patterns to match. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule.property.pathMatcher">pathMatcher</a></code> | <code>string</code> | The name of the pathMatcher associated with this hostRule. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule.property.description">description</a></code> | <code>string</code> | A human-readable description of the hostRule. |

---

##### `hosts`<sup>Required</sup> <a name="hosts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule.property.hosts"></a>

```typescript
public readonly hosts: string[];
```

- *Type:* string[]

The list of host patterns to match.

Host patterns must be valid hostnames. Ports are not allowed. Wildcard hosts are supported in the suffix or prefix form. * matches any string of ([a-z0-9-.]*). It does not match the empty string.

When multiple hosts are specified, hosts are matched in the following priority:

1. Exact domain names: ''www.foo.com''.
2. Suffix domain wildcards: ''*.foo.com'' or ''*-bar.foo.com''.
3. Prefix domain wildcards: ''foo.*'' or ''foo-*''.
4. Special wildcard ''*'' matching any domain.

Notes:

The wildcard will not match the empty string. e.g. ''*-bar.foo.com'' will match ''baz-bar.foo.com'' but not ''-bar.foo.com''. The longest wildcards match first. Only a single host in the entire service can match on ''*''. A domain must be unique across all configured hosts within a service.

Hosts are matched against the HTTP Host header, or for HTTP/2 and HTTP/3, the ":authority" header, from the incoming request.

You may specify up to 10 hosts.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#hosts NetworkServicesEdgeCacheService#hosts}

---

##### `pathMatcher`<sup>Required</sup> <a name="pathMatcher" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule.property.pathMatcher"></a>

```typescript
public readonly pathMatcher: string;
```

- *Type:* string

The name of the pathMatcher associated with this hostRule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#path_matcher NetworkServicesEdgeCacheService#path_matcher}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingHostRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the hostRule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#description NetworkServicesEdgeCacheService#description}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcher <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcher" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcher } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcher: NetworkServicesEdgeCacheServiceRoutingPathMatcher = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher.property.name">name</a></code> | <code>string</code> | The name to which this PathMatcher is referred by the HostRule. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher.property.routeRule">routeRule</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule</a>[]</code> | route_rule block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher.property.description">description</a></code> | <code>string</code> | A human-readable description of the resource. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name to which this PathMatcher is referred by the HostRule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#name NetworkServicesEdgeCacheService#name}

---

##### `routeRule`<sup>Required</sup> <a name="routeRule" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher.property.routeRule"></a>

```typescript
public readonly routeRule: IResolvable | NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule</a>[]

route_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#route_rule NetworkServicesEdgeCacheService#route_rule}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcher.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#description NetworkServicesEdgeCacheService#description}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRule: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.matchRule">matchRule</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule</a>[]</code> | match_rule block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.priority">priority</a></code> | <code>string</code> | The priority of this route rule, where 1 is the highest priority. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.description">description</a></code> | <code>string</code> | A human-readable description of the routeRule. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.headerAction">headerAction</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction</a></code> | header_action block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.origin">origin</a></code> | <code>string</code> | The Origin resource that requests to this route should fetch from when a matching response is not in cache. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.routeAction">routeAction</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction</a></code> | route_action block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.urlRedirect">urlRedirect</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect</a></code> | url_redirect block. |

---

##### `matchRule`<sup>Required</sup> <a name="matchRule" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.matchRule"></a>

```typescript
public readonly matchRule: IResolvable | NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule</a>[]

match_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#match_rule NetworkServicesEdgeCacheService#match_rule}

---

##### `priority`<sup>Required</sup> <a name="priority" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.priority"></a>

```typescript
public readonly priority: string;
```

- *Type:* string

The priority of this route rule, where 1 is the highest priority.

You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number between 1 and 999 inclusive.

Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers
to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#priority NetworkServicesEdgeCacheService#priority}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description of the routeRule.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#description NetworkServicesEdgeCacheService#description}

---

##### `headerAction`<sup>Optional</sup> <a name="headerAction" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.headerAction"></a>

```typescript
public readonly headerAction: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction</a>

header_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#header_action NetworkServicesEdgeCacheService#header_action}

---

##### `origin`<sup>Optional</sup> <a name="origin" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.origin"></a>

```typescript
public readonly origin: string;
```

- *Type:* string

The Origin resource that requests to this route should fetch from when a matching response is not in cache.

Origins can be defined as short names ("my-origin") or fully-qualified resource URLs - e.g. "networkservices.googleapis.com/projects/my-project/global/edgecacheorigins/my-origin"

Only one of origin or urlRedirect can be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#origin NetworkServicesEdgeCacheService#origin}

---

##### `routeAction`<sup>Optional</sup> <a name="routeAction" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.routeAction"></a>

```typescript
public readonly routeAction: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction</a>

route_action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#route_action NetworkServicesEdgeCacheService#route_action}

---

##### `urlRedirect`<sup>Optional</sup> <a name="urlRedirect" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRule.property.urlRedirect"></a>

```typescript
public readonly urlRedirect: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect</a>

url_redirect block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#url_redirect NetworkServicesEdgeCacheService#url_redirect}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.property.requestHeaderToAdd">requestHeaderToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd</a>[]</code> | request_header_to_add block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.property.requestHeaderToRemove">requestHeaderToRemove</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove</a>[]</code> | request_header_to_remove block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.property.responseHeaderToAdd">responseHeaderToAdd</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd</a>[]</code> | response_header_to_add block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.property.responseHeaderToRemove">responseHeaderToRemove</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove</a>[]</code> | response_header_to_remove block. |

---

##### `requestHeaderToAdd`<sup>Optional</sup> <a name="requestHeaderToAdd" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.property.requestHeaderToAdd"></a>

```typescript
public readonly requestHeaderToAdd: IResolvable | NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd</a>[]

request_header_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#request_header_to_add NetworkServicesEdgeCacheService#request_header_to_add}

---

##### `requestHeaderToRemove`<sup>Optional</sup> <a name="requestHeaderToRemove" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.property.requestHeaderToRemove"></a>

```typescript
public readonly requestHeaderToRemove: IResolvable | NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove</a>[]

request_header_to_remove block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#request_header_to_remove NetworkServicesEdgeCacheService#request_header_to_remove}

---

##### `responseHeaderToAdd`<sup>Optional</sup> <a name="responseHeaderToAdd" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.property.responseHeaderToAdd"></a>

```typescript
public readonly responseHeaderToAdd: IResolvable | NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd</a>[]

response_header_to_add block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#response_header_to_add NetworkServicesEdgeCacheService#response_header_to_add}

---

##### `responseHeaderToRemove`<sup>Optional</sup> <a name="responseHeaderToRemove" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.property.responseHeaderToRemove"></a>

```typescript
public readonly responseHeaderToRemove: IResolvable | NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove</a>[]

response_header_to_remove block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#response_header_to_remove NetworkServicesEdgeCacheService#response_header_to_remove}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header to add. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to replace all existing headers with the same name. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#header_name NetworkServicesEdgeCacheService#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#header_value NetworkServicesEdgeCacheService#header_value}

---

##### `replace`<sup>Optional</sup> <a name="replace" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to replace all existing headers with the same name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#replace NetworkServicesEdgeCacheService#replace}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove.property.headerName">headerName</a></code> | <code>string</code> | The name of the header to remove. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemove.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header to remove.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#header_name NetworkServicesEdgeCacheService#header_name}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd.property.headerName">headerName</a></code> | <code>string</code> | The name of the header to add. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd.property.headerValue">headerValue</a></code> | <code>string</code> | The value of the header to add. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd.property.replace">replace</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether to replace all existing headers with the same name. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The name of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#header_name NetworkServicesEdgeCacheService#header_name}

---

##### `headerValue`<sup>Required</sup> <a name="headerValue" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd.property.headerValue"></a>

```typescript
public readonly headerValue: string;
```

- *Type:* string

The value of the header to add.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#header_value NetworkServicesEdgeCacheService#header_value}

---

##### `replace`<sup>Optional</sup> <a name="replace" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd.property.replace"></a>

```typescript
public readonly replace: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether to replace all existing headers with the same name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#replace NetworkServicesEdgeCacheService#replace}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove.property.headerName">headerName</a></code> | <code>string</code> | Headers to remove from the response prior to sending it back to the client. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemove.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

Headers to remove from the response prior to sending it back to the client.

Response headers are only sent to the client, and do not have an effect on the cache serving the response.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#header_name NetworkServicesEdgeCacheService#header_name}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.fullPathMatch">fullPathMatch</a></code> | <code>string</code> | For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.headerMatch">headerMatch</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch</a>[]</code> | header_match block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.ignoreCase">ignoreCase</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies that prefixMatch and fullPathMatch matches are case sensitive. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.pathTemplateMatch">pathTemplateMatch</a></code> | <code>string</code> | For satisfying the matchRule condition, the path of the request must match the wildcard pattern specified in pathTemplateMatch after removing any query parameters and anchor that may be part of the original URL. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.prefixMatch">prefixMatch</a></code> | <code>string</code> | For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.queryParameterMatch">queryParameterMatch</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch</a>[]</code> | query_parameter_match block. |

---

##### `fullPathMatch`<sup>Optional</sup> <a name="fullPathMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.fullPathMatch"></a>

```typescript
public readonly fullPathMatch: string;
```

- *Type:* string

For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#full_path_match NetworkServicesEdgeCacheService#full_path_match}

---

##### `headerMatch`<sup>Optional</sup> <a name="headerMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.headerMatch"></a>

```typescript
public readonly headerMatch: IResolvable | NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch</a>[]

header_match block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#header_match NetworkServicesEdgeCacheService#header_match}

---

##### `ignoreCase`<sup>Optional</sup> <a name="ignoreCase" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.ignoreCase"></a>

```typescript
public readonly ignoreCase: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies that prefixMatch and fullPathMatch matches are case sensitive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#ignore_case NetworkServicesEdgeCacheService#ignore_case}

---

##### `pathTemplateMatch`<sup>Optional</sup> <a name="pathTemplateMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.pathTemplateMatch"></a>

```typescript
public readonly pathTemplateMatch: string;
```

- *Type:* string

For satisfying the matchRule condition, the path of the request must match the wildcard pattern specified in pathTemplateMatch after removing any query parameters and anchor that may be part of the original URL.

pathTemplateMatch must be between 1 and 255 characters
(inclusive).  The pattern specified by pathTemplateMatch may
have at most 5 wildcard operators and at most 5 variable
captures in total.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#path_template_match NetworkServicesEdgeCacheService#path_template_match}

---

##### `prefixMatch`<sup>Optional</sup> <a name="prefixMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.prefixMatch"></a>

```typescript
public readonly prefixMatch: string;
```

- *Type:* string

For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch.

prefixMatch must begin with a /.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#prefix_match NetworkServicesEdgeCacheService#prefix_match}

---

##### `queryParameterMatch`<sup>Optional</sup> <a name="queryParameterMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.property.queryParameterMatch"></a>

```typescript
public readonly queryParameterMatch: IResolvable | NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch</a>[]

query_parameter_match block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#query_parameter_match NetworkServicesEdgeCacheService#query_parameter_match}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.headerName">headerName</a></code> | <code>string</code> | The header name to match on. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.exactMatch">exactMatch</a></code> | <code>string</code> | The value of the header should exactly match contents of exactMatch. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.invertMatch">invertMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to false (default), the headerMatch is considered a match if the match criteria above are met. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.prefixMatch">prefixMatch</a></code> | <code>string</code> | The value of the header must start with the contents of prefixMatch. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.presentMatch">presentMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | A header with the contents of headerName must exist. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.suffixMatch">suffixMatch</a></code> | <code>string</code> | The value of the header must end with the contents of suffixMatch. |

---

##### `headerName`<sup>Required</sup> <a name="headerName" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.headerName"></a>

```typescript
public readonly headerName: string;
```

- *Type:* string

The header name to match on.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#header_name NetworkServicesEdgeCacheService#header_name}

---

##### `exactMatch`<sup>Optional</sup> <a name="exactMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.exactMatch"></a>

```typescript
public readonly exactMatch: string;
```

- *Type:* string

The value of the header should exactly match contents of exactMatch.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#exact_match NetworkServicesEdgeCacheService#exact_match}

---

##### `invertMatch`<sup>Optional</sup> <a name="invertMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.invertMatch"></a>

```typescript
public readonly invertMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to false (default), the headerMatch is considered a match if the match criteria above are met.

If set to true, the headerMatch is considered a match if the match criteria above are NOT met.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#invert_match NetworkServicesEdgeCacheService#invert_match}

---

##### `prefixMatch`<sup>Optional</sup> <a name="prefixMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.prefixMatch"></a>

```typescript
public readonly prefixMatch: string;
```

- *Type:* string

The value of the header must start with the contents of prefixMatch.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#prefix_match NetworkServicesEdgeCacheService#prefix_match}

---

##### `presentMatch`<sup>Optional</sup> <a name="presentMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.presentMatch"></a>

```typescript
public readonly presentMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

A header with the contents of headerName must exist.

The match takes place whether or not the request's header has a value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#present_match NetworkServicesEdgeCacheService#present_match}

---

##### `suffixMatch`<sup>Optional</sup> <a name="suffixMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatch.property.suffixMatch"></a>

```typescript
public readonly suffixMatch: string;
```

- *Type:* string

The value of the header must end with the contents of suffixMatch.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#suffix_match NetworkServicesEdgeCacheService#suffix_match}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch.property.name">name</a></code> | <code>string</code> | The name of the query parameter to match. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch.property.exactMatch">exactMatch</a></code> | <code>string</code> | The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch.property.presentMatch">presentMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the query parameter to match.

The query parameter must exist in the request, in the absence of which the request match fails.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#name NetworkServicesEdgeCacheService#name}

---

##### `exactMatch`<sup>Optional</sup> <a name="exactMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch.property.exactMatch"></a>

```typescript
public readonly exactMatch: string;
```

- *Type:* string

The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#exact_match NetworkServicesEdgeCacheService#exact_match}

---

##### `presentMatch`<sup>Optional</sup> <a name="presentMatch" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatch.property.presentMatch"></a>

```typescript
public readonly presentMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#present_match NetworkServicesEdgeCacheService#present_match}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction.property.cdnPolicy">cdnPolicy</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy</a></code> | cdn_policy block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction.property.corsPolicy">corsPolicy</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy</a></code> | cors_policy block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction.property.urlRewrite">urlRewrite</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite</a></code> | url_rewrite block. |

---

##### `cdnPolicy`<sup>Optional</sup> <a name="cdnPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction.property.cdnPolicy"></a>

```typescript
public readonly cdnPolicy: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy</a>

cdn_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#cdn_policy NetworkServicesEdgeCacheService#cdn_policy}

---

##### `corsPolicy`<sup>Optional</sup> <a name="corsPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction.property.corsPolicy"></a>

```typescript
public readonly corsPolicy: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy</a>

cors_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#cors_policy NetworkServicesEdgeCacheService#cors_policy}

---

##### `urlRewrite`<sup>Optional</sup> <a name="urlRewrite" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction.property.urlRewrite"></a>

```typescript
public readonly urlRewrite: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite</a>

url_rewrite block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#url_rewrite NetworkServicesEdgeCacheService#url_rewrite}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.cacheKeyPolicy">cacheKeyPolicy</a></code> | <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy</a></code> | cache_key_policy block. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.cacheMode">cacheMode</a></code> | <code>string</code> | Cache modes allow users to control the behaviour of the cache, what content it should cache automatically, whether to respect origin headers, or whether to unconditionally cache all responses. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.clientTtl">clientTtl</a></code> | <code>string</code> | Specifies a separate client (e.g. browser client) TTL, separate from the TTL used by the edge caches. Leaving this empty will use the same cache TTL for both the CDN and the client-facing response. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.defaultTtl">defaultTtl</a></code> | <code>string</code> | Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.maxTtl">maxTtl</a></code> | <code>string</code> | Specifies the maximum allowed TTL for cached content served by this origin. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.negativeCaching">negativeCaching</a></code> | <code>boolean \| cdktf.IResolvable</code> | Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.negativeCachingPolicy">negativeCachingPolicy</a></code> | <code>{[ key: string ]: string}</code> | Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.signedRequestKeyset">signedRequestKeyset</a></code> | <code>string</code> | The EdgeCacheKeyset containing the set of public keys used to validate signed requests at the edge. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.signedRequestMode">signedRequestMode</a></code> | <code>string</code> | Whether to enforce signed requests. |

---

##### `cacheKeyPolicy`<sup>Optional</sup> <a name="cacheKeyPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.cacheKeyPolicy"></a>

```typescript
public readonly cacheKeyPolicy: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy">NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy</a>

cache_key_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#cache_key_policy NetworkServicesEdgeCacheService#cache_key_policy}

---

##### `cacheMode`<sup>Optional</sup> <a name="cacheMode" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.cacheMode"></a>

```typescript
public readonly cacheMode: string;
```

- *Type:* string

Cache modes allow users to control the behaviour of the cache, what content it should cache automatically, whether to respect origin headers, or whether to unconditionally cache all responses.

For all cache modes, Cache-Control headers will be passed to the client. Use clientTtl to override what is sent to the client. Possible values: ["CACHE_ALL_STATIC", "USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "BYPASS_CACHE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#cache_mode NetworkServicesEdgeCacheService#cache_mode}

---

##### `clientTtl`<sup>Optional</sup> <a name="clientTtl" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.clientTtl"></a>

```typescript
public readonly clientTtl: string;
```

- *Type:* string

Specifies a separate client (e.g. browser client) TTL, separate from the TTL used by the edge caches. Leaving this empty will use the same cache TTL for both the CDN and the client-facing response.

The TTL must be > 0 and <= 86400s (1 day)
- The clientTtl cannot be larger than the defaultTtl (if set)
- Fractions of a second are not allowed.

Omit this field to use the defaultTtl, or the max-age set by the origin, as the client-facing TTL.

When the cache mode is set to "USE_ORIGIN_HEADERS" or "BYPASS_CACHE", you must omit this field.
A duration in seconds terminated by 's'. Example: "3s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#client_ttl NetworkServicesEdgeCacheService#client_ttl}

---

##### `defaultTtl`<sup>Optional</sup> <a name="defaultTtl" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.defaultTtl"></a>

```typescript
public readonly defaultTtl: string;
```

- *Type:* string

Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age).

Defaults to 3600s (1 hour).

- The TTL must be >= 0 and <= 31,536,000 seconds (1 year)
- Setting a TTL of "0" means "always revalidate" (equivalent to must-revalidate)
- The value of defaultTTL cannot be set to a value greater than that of maxTTL.
- Fractions of a second are not allowed.
- When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses.

Note that infrequently accessed objects may be evicted from the cache before the defined TTL. Objects that expire will be revalidated with the origin.

When the cache mode is set to "USE_ORIGIN_HEADERS" or "BYPASS_CACHE", you must omit this field.

A duration in seconds terminated by 's'. Example: "3s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#default_ttl NetworkServicesEdgeCacheService#default_ttl}

---

##### `maxTtl`<sup>Optional</sup> <a name="maxTtl" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.maxTtl"></a>

```typescript
public readonly maxTtl: string;
```

- *Type:* string

Specifies the maximum allowed TTL for cached content served by this origin.

Defaults to 86400s (1 day).

Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTtl seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive.

- The TTL must be >= 0 and <= 31,536,000 seconds (1 year)
- Setting a TTL of "0" means "always revalidate"
- The value of maxTtl must be equal to or greater than defaultTtl.
- Fractions of a second are not allowed.

When the cache mode is set to "USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", or "BYPASS_CACHE", you must omit this field.

A duration in seconds terminated by 's'. Example: "3s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#max_ttl NetworkServicesEdgeCacheService#max_ttl}

---

##### `negativeCaching`<sup>Optional</sup> <a name="negativeCaching" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.negativeCaching"></a>

```typescript
public readonly negativeCaching: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.

This can reduce the load on your origin and improve end-user experience by reducing response latency.

By default, the CDNPolicy will apply the following default TTLs to these status codes:

- HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m
- HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s
- HTTP 405 (Method Not Found), 414 (URI Too Long), 501 (Not Implemented): 60s

These defaults can be overridden in negativeCachingPolicy

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#negative_caching NetworkServicesEdgeCacheService#negative_caching}

---

##### `negativeCachingPolicy`<sup>Optional</sup> <a name="negativeCachingPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.negativeCachingPolicy"></a>

```typescript
public readonly negativeCachingPolicy: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.

Omitting the policy and leaving negativeCaching enabled will use the default TTLs for each status code, defined in negativeCaching.
- TTLs must be >= 0 (where 0 is "always revalidate") and <= 86400s (1 day)

Note that when specifying an explicit negativeCachingPolicy, you should take care to specify a cache TTL for all response codes that you wish to cache. The CDNPolicy will not apply any default negative caching when a policy exists.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#negative_caching_policy NetworkServicesEdgeCacheService#negative_caching_policy}

---

##### `signedRequestKeyset`<sup>Optional</sup> <a name="signedRequestKeyset" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.signedRequestKeyset"></a>

```typescript
public readonly signedRequestKeyset: string;
```

- *Type:* string

The EdgeCacheKeyset containing the set of public keys used to validate signed requests at the edge.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#signed_request_keyset NetworkServicesEdgeCacheService#signed_request_keyset}

---

##### `signedRequestMode`<sup>Optional</sup> <a name="signedRequestMode" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicy.property.signedRequestMode"></a>

```typescript
public readonly signedRequestMode: string;
```

- *Type:* string

Whether to enforce signed requests.

The default value is DISABLED, which means all content is public, and does not authorize access.

You must also set a signedRequestKeyset to enable signed requests.

When set to REQUIRE_SIGNATURES, all matching requests will have their signature validated. Requests that were not signed with the corresponding private key, or that are otherwise invalid (expired, do not match the signature, IP address, or header) will be rejected with a HTTP 403 and (if enabled) logged. Possible values: ["DISABLED", "REQUIRE_SIGNATURES"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#signed_request_mode NetworkServicesEdgeCacheService#signed_request_mode}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.excludedQueryParameters">excludedQueryParameters</a></code> | <code>string[]</code> | Names of query string parameters to exclude from cache keys. All other parameters will be included. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.excludeHost">excludeHost</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, requests to different hosts will be cached separately. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.excludeQueryString">excludeQueryString</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, exclude query string parameters from the cache key. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.includedCookieNames">includedCookieNames</a></code> | <code>string[]</code> | Names of Cookies to include in cache keys. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.includedHeaderNames">includedHeaderNames</a></code> | <code>string[]</code> | Names of HTTP request headers to include in cache keys. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.includedQueryParameters">includedQueryParameters</a></code> | <code>string[]</code> | Names of query string parameters to include in cache keys. All other parameters will be excluded. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.includeProtocol">includeProtocol</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, http and https requests will be cached separately. |

---

##### `excludedQueryParameters`<sup>Optional</sup> <a name="excludedQueryParameters" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.excludedQueryParameters"></a>

```typescript
public readonly excludedQueryParameters: string[];
```

- *Type:* string[]

Names of query string parameters to exclude from cache keys. All other parameters will be included.

Either specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#excluded_query_parameters NetworkServicesEdgeCacheService#excluded_query_parameters}

---

##### `excludeHost`<sup>Optional</sup> <a name="excludeHost" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.excludeHost"></a>

```typescript
public readonly excludeHost: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, requests to different hosts will be cached separately.

Note: this should only be enabled if hosts share the same origin and content. Removing the host from the cache key may inadvertently result in different objects being cached than intended, depending on which route the first user matched.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#exclude_host NetworkServicesEdgeCacheService#exclude_host}

---

##### `excludeQueryString`<sup>Optional</sup> <a name="excludeQueryString" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.excludeQueryString"></a>

```typescript
public readonly excludeQueryString: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, exclude query string parameters from the cache key.

If false (the default), include the query string parameters in
the cache key according to includeQueryParameters and
excludeQueryParameters. If neither includeQueryParameters nor
excludeQueryParameters is set, the entire query string will be
included.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#exclude_query_string NetworkServicesEdgeCacheService#exclude_query_string}

---

##### `includedCookieNames`<sup>Optional</sup> <a name="includedCookieNames" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.includedCookieNames"></a>

```typescript
public readonly includedCookieNames: string[];
```

- *Type:* string[]

Names of Cookies to include in cache keys.

The cookie name and cookie value of each cookie named will be used as part of the cache key.

Cookie names:
- must be valid RFC 6265 "cookie-name" tokens
- are case sensitive
- cannot start with "Edge-Cache-" (case insensitive)

Note that specifying several cookies, and/or cookies that have a large range of values (e.g., per-user) will dramatically impact the cache hit rate, and may result in a higher eviction rate and reduced performance.

You may specify up to three cookie names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#included_cookie_names NetworkServicesEdgeCacheService#included_cookie_names}

---

##### `includedHeaderNames`<sup>Optional</sup> <a name="includedHeaderNames" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.includedHeaderNames"></a>

```typescript
public readonly includedHeaderNames: string[];
```

- *Type:* string[]

Names of HTTP request headers to include in cache keys.

The value of the header field will be used as part of the cache key.

- Header names must be valid HTTP RFC 7230 header field values.
- Header field names are case insensitive
- To include the HTTP method, use ":method"

Note that specifying several headers, and/or headers that have a large range of values (e.g. per-user) will dramatically impact the cache hit rate, and may result in a higher eviction rate and reduced performance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#included_header_names NetworkServicesEdgeCacheService#included_header_names}

---

##### `includedQueryParameters`<sup>Optional</sup> <a name="includedQueryParameters" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.includedQueryParameters"></a>

```typescript
public readonly includedQueryParameters: string[];
```

- *Type:* string[]

Names of query string parameters to include in cache keys. All other parameters will be excluded.

Either specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#included_query_parameters NetworkServicesEdgeCacheService#included_query_parameters}

---

##### `includeProtocol`<sup>Optional</sup> <a name="includeProtocol" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicy.property.includeProtocol"></a>

```typescript
public readonly includeProtocol: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, http and https requests will be cached separately.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#include_protocol NetworkServicesEdgeCacheService#include_protocol}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.maxAge">maxAge</a></code> | <code>string</code> | Specifies how long results of a preflight request can be cached by a client in seconds. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.allowCredentials">allowCredentials</a></code> | <code>boolean \| cdktf.IResolvable</code> | In response to a preflight request, setting this to true indicates that the actual request can include user credentials. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.allowHeaders">allowHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Headers response header. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.allowMethods">allowMethods</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Methods response header. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.allowOrigins">allowOrigins</a></code> | <code>string[]</code> | Specifies the list of origins that will be allowed to do CORS requests. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, specifies the CORS policy is disabled. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.exposeHeaders">exposeHeaders</a></code> | <code>string[]</code> | Specifies the content for the Access-Control-Allow-Headers response header. |

---

##### `maxAge`<sup>Required</sup> <a name="maxAge" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.maxAge"></a>

```typescript
public readonly maxAge: string;
```

- *Type:* string

Specifies how long results of a preflight request can be cached by a client in seconds.

Note that many browser clients enforce a maximum TTL of 600s (10 minutes).

- Setting the value to -1 forces a pre-flight check for all requests (not recommended)
- A maximum TTL of 86400s can be set, but note that (as above) some clients may force pre-flight checks at a more regular interval.
- This translates to the Access-Control-Max-Age header.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#max_age NetworkServicesEdgeCacheService#max_age}

---

##### `allowCredentials`<sup>Optional</sup> <a name="allowCredentials" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.allowCredentials"></a>

```typescript
public readonly allowCredentials: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

In response to a preflight request, setting this to true indicates that the actual request can include user credentials.

This translates to the Access-Control-Allow-Credentials response header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#allow_credentials NetworkServicesEdgeCacheService#allow_credentials}

---

##### `allowHeaders`<sup>Optional</sup> <a name="allowHeaders" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.allowHeaders"></a>

```typescript
public readonly allowHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Headers response header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#allow_headers NetworkServicesEdgeCacheService#allow_headers}

---

##### `allowMethods`<sup>Optional</sup> <a name="allowMethods" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.allowMethods"></a>

```typescript
public readonly allowMethods: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Methods response header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#allow_methods NetworkServicesEdgeCacheService#allow_methods}

---

##### `allowOrigins`<sup>Optional</sup> <a name="allowOrigins" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.allowOrigins"></a>

```typescript
public readonly allowOrigins: string[];
```

- *Type:* string[]

Specifies the list of origins that will be allowed to do CORS requests.

This translates to the Access-Control-Allow-Origin response header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#allow_origins NetworkServicesEdgeCacheService#allow_origins}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, specifies the CORS policy is disabled.

The default value is false, which indicates that the CORS policy is in effect.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#disabled NetworkServicesEdgeCacheService#disabled}

---

##### `exposeHeaders`<sup>Optional</sup> <a name="exposeHeaders" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicy.property.exposeHeaders"></a>

```typescript
public readonly exposeHeaders: string[];
```

- *Type:* string[]

Specifies the content for the Access-Control-Allow-Headers response header.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#expose_headers NetworkServicesEdgeCacheService#expose_headers}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite.property.hostRewrite">hostRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected origin, the request's host header is replaced with contents of hostRewrite. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite.property.pathPrefixRewrite">pathPrefixRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected origin, the matching portion of the request's path is replaced by pathPrefixRewrite. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite.property.pathTemplateRewrite">pathTemplateRewrite</a></code> | <code>string</code> | Prior to forwarding the request to the selected origin, if the request matched a pathTemplateMatch, the matching portion of the request's path is replaced re-written using the pattern specified by pathTemplateRewrite. |

---

##### `hostRewrite`<sup>Optional</sup> <a name="hostRewrite" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite.property.hostRewrite"></a>

```typescript
public readonly hostRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected origin, the request's host header is replaced with contents of hostRewrite.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#host_rewrite NetworkServicesEdgeCacheService#host_rewrite}

---

##### `pathPrefixRewrite`<sup>Optional</sup> <a name="pathPrefixRewrite" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite.property.pathPrefixRewrite"></a>

```typescript
public readonly pathPrefixRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected origin, the matching portion of the request's path is replaced by pathPrefixRewrite.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#path_prefix_rewrite NetworkServicesEdgeCacheService#path_prefix_rewrite}

---

##### `pathTemplateRewrite`<sup>Optional</sup> <a name="pathTemplateRewrite" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewrite.property.pathTemplateRewrite"></a>

```typescript
public readonly pathTemplateRewrite: string;
```

- *Type:* string

Prior to forwarding the request to the selected origin, if the request matched a pathTemplateMatch, the matching portion of the request's path is replaced re-written using the pattern specified by pathTemplateRewrite.

pathTemplateRewrite must be between 1 and 255 characters
(inclusive), must start with a '/', and must only use variables
captured by the route's pathTemplate matchers.

pathTemplateRewrite may only be used when all of a route's
MatchRules specify pathTemplate.

Only one of pathPrefixRewrite and pathTemplateRewrite may be
specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#path_template_rewrite NetworkServicesEdgeCacheService#path_template_rewrite}

---

### NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect <a name="NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect: NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.hostRedirect">hostRedirect</a></code> | <code>string</code> | The host that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.httpsRedirect">httpsRedirect</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the URL scheme in the redirected request is set to https. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.pathRedirect">pathRedirect</a></code> | <code>string</code> | The path that will be used in the redirect response instead of the one that was supplied in the request. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.prefixRedirect">prefixRedirect</a></code> | <code>string</code> | The prefix that replaces the prefixMatch specified in the routeRule, retaining the remaining portion of the URL before redirecting the request. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.redirectResponseCode">redirectResponseCode</a></code> | <code>string</code> | The HTTP Status code to use for this RedirectAction. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.stripQuery">stripQuery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. |

---

##### `hostRedirect`<sup>Optional</sup> <a name="hostRedirect" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.hostRedirect"></a>

```typescript
public readonly hostRedirect: string;
```

- *Type:* string

The host that will be used in the redirect response instead of the one that was supplied in the request.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#host_redirect NetworkServicesEdgeCacheService#host_redirect}

---

##### `httpsRedirect`<sup>Optional</sup> <a name="httpsRedirect" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.httpsRedirect"></a>

```typescript
public readonly httpsRedirect: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the URL scheme in the redirected request is set to https.

If set to false, the URL scheme of the redirected request will remain the same as that of the request.

This can only be set if there is at least one (1) edgeSslCertificate set on the service.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#https_redirect NetworkServicesEdgeCacheService#https_redirect}

---

##### `pathRedirect`<sup>Optional</sup> <a name="pathRedirect" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.pathRedirect"></a>

```typescript
public readonly pathRedirect: string;
```

- *Type:* string

The path that will be used in the redirect response instead of the one that was supplied in the request.

pathRedirect cannot be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.

The path value must be between 1 and 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#path_redirect NetworkServicesEdgeCacheService#path_redirect}

---

##### `prefixRedirect`<sup>Optional</sup> <a name="prefixRedirect" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.prefixRedirect"></a>

```typescript
public readonly prefixRedirect: string;
```

- *Type:* string

The prefix that replaces the prefixMatch specified in the routeRule, retaining the remaining portion of the URL before redirecting the request.

prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#prefix_redirect NetworkServicesEdgeCacheService#prefix_redirect}

---

##### `redirectResponseCode`<sup>Optional</sup> <a name="redirectResponseCode" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.redirectResponseCode"></a>

```typescript
public readonly redirectResponseCode: string;
```

- *Type:* string

The HTTP Status code to use for this RedirectAction.

The supported values are:

- 'MOVED_PERMANENTLY_DEFAULT', which is the default value and corresponds to 301.
- 'FOUND', which corresponds to 302.
- 'SEE_OTHER' which corresponds to 303.
- 'TEMPORARY_REDIRECT', which corresponds to 307. in this case, the request method will be retained.
- 'PERMANENT_REDIRECT', which corresponds to 308. in this case, the request method will be retained. Possible values: ["MOVED_PERMANENTLY_DEFAULT", "FOUND", "SEE_OTHER", "TEMPORARY_REDIRECT", "PERMANENT_REDIRECT"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#redirect_response_code NetworkServicesEdgeCacheService#redirect_response_code}

---

##### `stripQuery`<sup>Optional</sup> <a name="stripQuery" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.property.stripQuery"></a>

```typescript
public readonly stripQuery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.

If set to false, the query portion of the original URL is retained.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#strip_query NetworkServicesEdgeCacheService#strip_query}

---

### NetworkServicesEdgeCacheServiceTimeouts <a name="NetworkServicesEdgeCacheServiceTimeouts" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts.Initializer"></a>

```typescript
import { NetworkServicesEdgeCacheServiceTimeouts } from '@dschmidt/provider-google'

const networkServicesEdgeCacheServiceTimeouts: NetworkServicesEdgeCacheServiceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#create NetworkServicesEdgeCacheService#create}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#delete NetworkServicesEdgeCacheService#delete}. |
| <code><a href="#@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#update NetworkServicesEdgeCacheService#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#create NetworkServicesEdgeCacheService#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#delete NetworkServicesEdgeCacheService#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NetworkServicesEdgeCacheServiceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/network_services_edge_cache_service#update NetworkServicesEdgeCacheService#update}.

---

### NotebooksEnvironmentConfig <a name="NotebooksEnvironmentConfig" id="@dschmidt/provider-google.NotebooksEnvironmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.Initializer"></a>

```typescript
import { NotebooksEnvironmentConfig } from '@dschmidt/provider-google'

const notebooksEnvironmentConfig: NotebooksEnvironmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.location">location</a></code> | <code>string</code> | A reference to the zone where the machine resides. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.name">name</a></code> | <code>string</code> | The name specified for the Environment instance. Format: projects/{project_id}/locations/{location}/environments/{environmentId}. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.containerImage">containerImage</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentContainerImage">NotebooksEnvironmentContainerImage</a></code> | container_image block. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.description">description</a></code> | <code>string</code> | A brief description of this environment. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.displayName">displayName</a></code> | <code>string</code> | Display name of this environment for the UI. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#id NotebooksEnvironment#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.postStartupScript">postStartupScript</a></code> | <code>string</code> | Path to a Bash script that automatically runs after a notebook instance fully boots up. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#project NotebooksEnvironment#project}. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeouts">NotebooksEnvironmentTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentConfig.property.vmImage">vmImage</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImage">NotebooksEnvironmentVmImage</a></code> | vm_image block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

A reference to the zone where the machine resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#location NotebooksEnvironment#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name specified for the Environment instance. Format: projects/{project_id}/locations/{location}/environments/{environmentId}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#name NotebooksEnvironment#name}

---

##### `containerImage`<sup>Optional</sup> <a name="containerImage" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.containerImage"></a>

```typescript
public readonly containerImage: NotebooksEnvironmentContainerImage;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentContainerImage">NotebooksEnvironmentContainerImage</a>

container_image block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#container_image NotebooksEnvironment#container_image}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A brief description of this environment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#description NotebooksEnvironment#description}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Display name of this environment for the UI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#display_name NotebooksEnvironment#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#id NotebooksEnvironment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `postStartupScript`<sup>Optional</sup> <a name="postStartupScript" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.postStartupScript"></a>

```typescript
public readonly postStartupScript: string;
```

- *Type:* string

Path to a Bash script that automatically runs after a notebook instance fully boots up.

The path must be a URL or Cloud Storage path. Example: "gs://path-to-file/file-name"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#post_startup_script NotebooksEnvironment#post_startup_script}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#project NotebooksEnvironment#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NotebooksEnvironmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeouts">NotebooksEnvironmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#timeouts NotebooksEnvironment#timeouts}

---

##### `vmImage`<sup>Optional</sup> <a name="vmImage" id="@dschmidt/provider-google.NotebooksEnvironmentConfig.property.vmImage"></a>

```typescript
public readonly vmImage: NotebooksEnvironmentVmImage;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImage">NotebooksEnvironmentVmImage</a>

vm_image block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#vm_image NotebooksEnvironment#vm_image}

---

### NotebooksEnvironmentContainerImage <a name="NotebooksEnvironmentContainerImage" id="@dschmidt/provider-google.NotebooksEnvironmentContainerImage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksEnvironmentContainerImage.Initializer"></a>

```typescript
import { NotebooksEnvironmentContainerImage } from '@dschmidt/provider-google'

const notebooksEnvironmentContainerImage: NotebooksEnvironmentContainerImage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentContainerImage.property.repository">repository</a></code> | <code>string</code> | The path to the container image repository. For example: gcr.io/{project_id}/{imageName}. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentContainerImage.property.tag">tag</a></code> | <code>string</code> | The tag of the container image. If not specified, this defaults to the latest tag. |

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.NotebooksEnvironmentContainerImage.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

The path to the container image repository. For example: gcr.io/{project_id}/{imageName}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#repository NotebooksEnvironment#repository}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.NotebooksEnvironmentContainerImage.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag of the container image. If not specified, this defaults to the latest tag.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#tag NotebooksEnvironment#tag}

---

### NotebooksEnvironmentTimeouts <a name="NotebooksEnvironmentTimeouts" id="@dschmidt/provider-google.NotebooksEnvironmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksEnvironmentTimeouts.Initializer"></a>

```typescript
import { NotebooksEnvironmentTimeouts } from '@dschmidt/provider-google'

const notebooksEnvironmentTimeouts: NotebooksEnvironmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#create NotebooksEnvironment#create}. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#delete NotebooksEnvironment#delete}. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#update NotebooksEnvironment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NotebooksEnvironmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#create NotebooksEnvironment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NotebooksEnvironmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#delete NotebooksEnvironment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NotebooksEnvironmentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#update NotebooksEnvironment#update}.

---

### NotebooksEnvironmentVmImage <a name="NotebooksEnvironmentVmImage" id="@dschmidt/provider-google.NotebooksEnvironmentVmImage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksEnvironmentVmImage.Initializer"></a>

```typescript
import { NotebooksEnvironmentVmImage } from '@dschmidt/provider-google'

const notebooksEnvironmentVmImage: NotebooksEnvironmentVmImage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImage.property.project">project</a></code> | <code>string</code> | The name of the Google Cloud project that this VM image belongs to. Format: projects/{project_id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImage.property.imageFamily">imageFamily</a></code> | <code>string</code> | Use this VM image family to find the image; the newest image in this family will be used. |
| <code><a href="#@dschmidt/provider-google.NotebooksEnvironmentVmImage.property.imageName">imageName</a></code> | <code>string</code> | Use VM image name to find the image. |

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksEnvironmentVmImage.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The name of the Google Cloud project that this VM image belongs to. Format: projects/{project_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#project NotebooksEnvironment#project}

---

##### `imageFamily`<sup>Optional</sup> <a name="imageFamily" id="@dschmidt/provider-google.NotebooksEnvironmentVmImage.property.imageFamily"></a>

```typescript
public readonly imageFamily: string;
```

- *Type:* string

Use this VM image family to find the image; the newest image in this family will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#image_family NotebooksEnvironment#image_family}

---

##### `imageName`<sup>Optional</sup> <a name="imageName" id="@dschmidt/provider-google.NotebooksEnvironmentVmImage.property.imageName"></a>

```typescript
public readonly imageName: string;
```

- *Type:* string

Use VM image name to find the image.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_environment#image_name NotebooksEnvironment#image_name}

---

### NotebooksInstanceAcceleratorConfig <a name="NotebooksInstanceAcceleratorConfig" id="@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig.Initializer"></a>

```typescript
import { NotebooksInstanceAcceleratorConfig } from '@dschmidt/provider-google'

const notebooksInstanceAcceleratorConfig: NotebooksInstanceAcceleratorConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig.property.coreCount">coreCount</a></code> | <code>number</code> | Count of cores of this accelerator. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig.property.type">type</a></code> | <code>string</code> | Type of this accelerator. Possible values: ["ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_T4_VWS", "NVIDIA_TESLA_P100_VWS", "NVIDIA_TESLA_P4_VWS", "NVIDIA_TESLA_A100", "TPU_V2", "TPU_V3"]. |

---

##### `coreCount`<sup>Required</sup> <a name="coreCount" id="@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig.property.coreCount"></a>

```typescript
public readonly coreCount: number;
```

- *Type:* number

Count of cores of this accelerator.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#core_count NotebooksInstance#core_count}

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Type of this accelerator. Possible values: ["ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_T4_VWS", "NVIDIA_TESLA_P100_VWS", "NVIDIA_TESLA_P4_VWS", "NVIDIA_TESLA_A100", "TPU_V2", "TPU_V3"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#type NotebooksInstance#type}

---

### NotebooksInstanceConfig <a name="NotebooksInstanceConfig" id="@dschmidt/provider-google.NotebooksInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceConfig.Initializer"></a>

```typescript
import { NotebooksInstanceConfig } from '@dschmidt/provider-google'

const notebooksInstanceConfig: NotebooksInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.location">location</a></code> | <code>string</code> | A reference to the zone where the machine resides. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.machineType">machineType</a></code> | <code>string</code> | A reference to a machine type which defines VM kind. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.name">name</a></code> | <code>string</code> | The name specified for the Notebook instance. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.acceleratorConfig">acceleratorConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig">NotebooksInstanceAcceleratorConfig</a></code> | accelerator_config block. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.bootDiskSizeGb">bootDiskSizeGb</a></code> | <code>number</code> | The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.bootDiskType">bootDiskType</a></code> | <code>string</code> | Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"]. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.containerImage">containerImage</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceContainerImage">NotebooksInstanceContainerImage</a></code> | container_image block. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.createTime">createTime</a></code> | <code>string</code> | Instance creation time. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.customGpuDriverPath">customGpuDriverPath</a></code> | <code>string</code> | Specify a custom Cloud Storage path where the GPU driver is stored. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.dataDiskSizeGb">dataDiskSizeGb</a></code> | <code>number</code> | The size of the data disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.dataDiskType">dataDiskType</a></code> | <code>string</code> | Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"]. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.diskEncryption">diskEncryption</a></code> | <code>string</code> | Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values: ["DISK_ENCRYPTION_UNSPECIFIED", "GMEK", "CMEK"]. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#id NotebooksInstance#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.installGpuDriver">installGpuDriver</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the end user authorizes Google Cloud to install GPU driver on this instance. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.instanceOwners">instanceOwners</a></code> | <code>string[]</code> | The list of owners of this instance after creation. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.kmsKey">kmsKey</a></code> | <code>string</code> | The KMS key used to encrypt the disks, only applicable if diskEncryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels to apply to this instance. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | Custom metadata to apply to this instance. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.network">network</a></code> | <code>string</code> | The name of the VPC that this instance is in. Format: projects/{project_id}/global/networks/{network_id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.nicType">nicType</a></code> | <code>string</code> | The type of vNIC driver. Possible values: ["UNSPECIFIED_NIC_TYPE", "VIRTIO_NET", "GVNIC"]. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.noProxyAccess">noProxyAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | The notebook instance will not register with the proxy.. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.noPublicIp">noPublicIp</a></code> | <code>boolean \| cdktf.IResolvable</code> | No public IP will be assigned to this instance. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.noRemoveDataDisk">noRemoveDataDisk</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, the data disk will not be auto deleted when deleting the instance. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.postStartupScript">postStartupScript</a></code> | <code>string</code> | Path to a Bash script that automatically runs after a notebook instance fully boots up. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#project NotebooksInstance#project}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.reservationAffinity">reservationAffinity</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinity">NotebooksInstanceReservationAffinity</a></code> | reservation_affinity block. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | The service account on this instance, giving access to other Google Cloud services. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.serviceAccountScopes">serviceAccountScopes</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig">NotebooksInstanceShieldedInstanceConfig</a></code> | shielded_instance_config block. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.subnet">subnet</a></code> | <code>string</code> | The name of the subnet that this instance is in. Format: projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.tags">tags</a></code> | <code>string[]</code> | The Compute Engine tags to add to instance. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceTimeouts">NotebooksInstanceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.updateTime">updateTime</a></code> | <code>string</code> | Instance update time. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceConfig.property.vmImage">vmImage</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceVmImage">NotebooksInstanceVmImage</a></code> | vm_image block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

A reference to the zone where the machine resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#location NotebooksInstance#location}

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

A reference to a machine type which defines VM kind.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#machine_type NotebooksInstance#machine_type}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name specified for the Notebook instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#name NotebooksInstance#name}

---

##### `acceleratorConfig`<sup>Optional</sup> <a name="acceleratorConfig" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.acceleratorConfig"></a>

```typescript
public readonly acceleratorConfig: NotebooksInstanceAcceleratorConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceAcceleratorConfig">NotebooksInstanceAcceleratorConfig</a>

accelerator_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#accelerator_config NotebooksInstance#accelerator_config}

---

##### `bootDiskSizeGb`<sup>Optional</sup> <a name="bootDiskSizeGb" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.bootDiskSizeGb"></a>

```typescript
public readonly bootDiskSizeGb: number;
```

- *Type:* number

The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB).

The minimum recommended value is 100 GB.
If not specified, this defaults to 100.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#boot_disk_size_gb NotebooksInstance#boot_disk_size_gb}

---

##### `bootDiskType`<sup>Optional</sup> <a name="bootDiskType" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.bootDiskType"></a>

```typescript
public readonly bootDiskType: string;
```

- *Type:* string

Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#boot_disk_type NotebooksInstance#boot_disk_type}

---

##### `containerImage`<sup>Optional</sup> <a name="containerImage" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.containerImage"></a>

```typescript
public readonly containerImage: NotebooksInstanceContainerImage;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceContainerImage">NotebooksInstanceContainerImage</a>

container_image block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#container_image NotebooksInstance#container_image}

---

##### `createTime`<sup>Optional</sup> <a name="createTime" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

Instance creation time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#create_time NotebooksInstance#create_time}

---

##### `customGpuDriverPath`<sup>Optional</sup> <a name="customGpuDriverPath" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.customGpuDriverPath"></a>

```typescript
public readonly customGpuDriverPath: string;
```

- *Type:* string

Specify a custom Cloud Storage path where the GPU driver is stored.

If not specified, we'll automatically choose from official GPU drivers.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#custom_gpu_driver_path NotebooksInstance#custom_gpu_driver_path}

---

##### `dataDiskSizeGb`<sup>Optional</sup> <a name="dataDiskSizeGb" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.dataDiskSizeGb"></a>

```typescript
public readonly dataDiskSizeGb: number;
```

- *Type:* number

The size of the data disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB).

You can choose the size of the data disk based on how big your notebooks and data are.
If not specified, this defaults to 100.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#data_disk_size_gb NotebooksInstance#data_disk_size_gb}

---

##### `dataDiskType`<sup>Optional</sup> <a name="dataDiskType" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.dataDiskType"></a>

```typescript
public readonly dataDiskType: string;
```

- *Type:* string

Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#data_disk_type NotebooksInstance#data_disk_type}

---

##### `diskEncryption`<sup>Optional</sup> <a name="diskEncryption" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.diskEncryption"></a>

```typescript
public readonly diskEncryption: string;
```

- *Type:* string

Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values: ["DISK_ENCRYPTION_UNSPECIFIED", "GMEK", "CMEK"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#disk_encryption NotebooksInstance#disk_encryption}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#id NotebooksInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `installGpuDriver`<sup>Optional</sup> <a name="installGpuDriver" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.installGpuDriver"></a>

```typescript
public readonly installGpuDriver: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the end user authorizes Google Cloud to install GPU driver on this instance.

If this field is empty or set to false, the GPU driver
won't be installed. Only applicable to instances with GPUs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#install_gpu_driver NotebooksInstance#install_gpu_driver}

---

##### `instanceOwners`<sup>Optional</sup> <a name="instanceOwners" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.instanceOwners"></a>

```typescript
public readonly instanceOwners: string[];
```

- *Type:* string[]

The list of owners of this instance after creation.

Format: alias@example.com.
Currently supports one owner only.
If not specified, all of the service account users of
your VM instance's service account can use the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#instance_owners NotebooksInstance#instance_owners}

---

##### `kmsKey`<sup>Optional</sup> <a name="kmsKey" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.kmsKey"></a>

```typescript
public readonly kmsKey: string;
```

- *Type:* string

The KMS key used to encrypt the disks, only applicable if diskEncryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#kms_key NotebooksInstance#kms_key}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to apply to this instance.

These can be later modified by the setLabels method.
An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#labels NotebooksInstance#labels}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Custom metadata to apply to this instance.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#metadata NotebooksInstance#metadata}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name of the VPC that this instance is in. Format: projects/{project_id}/global/networks/{network_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#network NotebooksInstance#network}

---

##### `nicType`<sup>Optional</sup> <a name="nicType" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.nicType"></a>

```typescript
public readonly nicType: string;
```

- *Type:* string

The type of vNIC driver. Possible values: ["UNSPECIFIED_NIC_TYPE", "VIRTIO_NET", "GVNIC"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#nic_type NotebooksInstance#nic_type}

---

##### `noProxyAccess`<sup>Optional</sup> <a name="noProxyAccess" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.noProxyAccess"></a>

```typescript
public readonly noProxyAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The notebook instance will not register with the proxy..

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#no_proxy_access NotebooksInstance#no_proxy_access}

---

##### `noPublicIp`<sup>Optional</sup> <a name="noPublicIp" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.noPublicIp"></a>

```typescript
public readonly noPublicIp: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

No public IP will be assigned to this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#no_public_ip NotebooksInstance#no_public_ip}

---

##### `noRemoveDataDisk`<sup>Optional</sup> <a name="noRemoveDataDisk" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.noRemoveDataDisk"></a>

```typescript
public readonly noRemoveDataDisk: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, the data disk will not be auto deleted when deleting the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#no_remove_data_disk NotebooksInstance#no_remove_data_disk}

---

##### `postStartupScript`<sup>Optional</sup> <a name="postStartupScript" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.postStartupScript"></a>

```typescript
public readonly postStartupScript: string;
```

- *Type:* string

Path to a Bash script that automatically runs after a notebook instance fully boots up.

The path must be a URL
or Cloud Storage path (gs://path-to-file/file-name).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#post_startup_script NotebooksInstance#post_startup_script}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#project NotebooksInstance#project}.

---

##### `reservationAffinity`<sup>Optional</sup> <a name="reservationAffinity" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.reservationAffinity"></a>

```typescript
public readonly reservationAffinity: NotebooksInstanceReservationAffinity;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinity">NotebooksInstanceReservationAffinity</a>

reservation_affinity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#reservation_affinity NotebooksInstance#reservation_affinity}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

The service account on this instance, giving access to other Google Cloud services.

You can use any service account within
the same project, but you must have the service account user
permission to use the instance. If not specified,
the Compute Engine default service account is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#service_account NotebooksInstance#service_account}

---

##### `serviceAccountScopes`<sup>Optional</sup> <a name="serviceAccountScopes" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.serviceAccountScopes"></a>

```typescript
public readonly serviceAccountScopes: string[];
```

- *Type:* string[]

Optional.

The URIs of service account scopes to be included in Compute Engine instances.
If not specified, the following scopes are defined:
- https://www.googleapis.com/auth/cloud-platform
- https://www.googleapis.com/auth/userinfo.email

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#service_account_scopes NotebooksInstance#service_account_scopes}

---

##### `shieldedInstanceConfig`<sup>Optional</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: NotebooksInstanceShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig">NotebooksInstanceShieldedInstanceConfig</a>

shielded_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#shielded_instance_config NotebooksInstance#shielded_instance_config}

---

##### `subnet`<sup>Optional</sup> <a name="subnet" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.subnet"></a>

```typescript
public readonly subnet: string;
```

- *Type:* string

The name of the subnet that this instance is in. Format: projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#subnet NotebooksInstance#subnet}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The Compute Engine tags to add to instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#tags NotebooksInstance#tags}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NotebooksInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceTimeouts">NotebooksInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#timeouts NotebooksInstance#timeouts}

---

##### `updateTime`<sup>Optional</sup> <a name="updateTime" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

Instance update time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#update_time NotebooksInstance#update_time}

---

##### `vmImage`<sup>Optional</sup> <a name="vmImage" id="@dschmidt/provider-google.NotebooksInstanceConfig.property.vmImage"></a>

```typescript
public readonly vmImage: NotebooksInstanceVmImage;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceVmImage">NotebooksInstanceVmImage</a>

vm_image block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#vm_image NotebooksInstance#vm_image}

---

### NotebooksInstanceContainerImage <a name="NotebooksInstanceContainerImage" id="@dschmidt/provider-google.NotebooksInstanceContainerImage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceContainerImage.Initializer"></a>

```typescript
import { NotebooksInstanceContainerImage } from '@dschmidt/provider-google'

const notebooksInstanceContainerImage: NotebooksInstanceContainerImage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceContainerImage.property.repository">repository</a></code> | <code>string</code> | The path to the container image repository. For example: gcr.io/{project_id}/{imageName}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceContainerImage.property.tag">tag</a></code> | <code>string</code> | The tag of the container image. If not specified, this defaults to the latest tag. |

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.NotebooksInstanceContainerImage.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

The path to the container image repository. For example: gcr.io/{project_id}/{imageName}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#repository NotebooksInstance#repository}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.NotebooksInstanceContainerImage.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag of the container image. If not specified, this defaults to the latest tag.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#tag NotebooksInstance#tag}

---

### NotebooksInstanceIamBindingCondition <a name="NotebooksInstanceIamBindingCondition" id="@dschmidt/provider-google.NotebooksInstanceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceIamBindingCondition.Initializer"></a>

```typescript
import { NotebooksInstanceIamBindingCondition } from '@dschmidt/provider-google'

const notebooksInstanceIamBindingCondition: NotebooksInstanceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#expression NotebooksInstanceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#title NotebooksInstanceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#description NotebooksInstanceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.NotebooksInstanceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#expression NotebooksInstanceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.NotebooksInstanceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#title NotebooksInstanceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NotebooksInstanceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#description NotebooksInstanceIamBinding#description}.

---

### NotebooksInstanceIamBindingConfig <a name="NotebooksInstanceIamBindingConfig" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.Initializer"></a>

```typescript
import { NotebooksInstanceIamBindingConfig } from '@dschmidt/provider-google'

const notebooksInstanceIamBindingConfig: NotebooksInstanceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.instanceName">instanceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#instance_name NotebooksInstanceIamBinding#instance_name}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#members NotebooksInstanceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#role NotebooksInstanceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingCondition">NotebooksInstanceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#id NotebooksInstanceIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#location NotebooksInstanceIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#project NotebooksInstanceIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#instance_name NotebooksInstanceIamBinding#instance_name}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#members NotebooksInstanceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#role NotebooksInstanceIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: NotebooksInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamBindingCondition">NotebooksInstanceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#condition NotebooksInstanceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#id NotebooksInstanceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#location NotebooksInstanceIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksInstanceIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_binding#project NotebooksInstanceIamBinding#project}.

---

### NotebooksInstanceIamMemberCondition <a name="NotebooksInstanceIamMemberCondition" id="@dschmidt/provider-google.NotebooksInstanceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceIamMemberCondition.Initializer"></a>

```typescript
import { NotebooksInstanceIamMemberCondition } from '@dschmidt/provider-google'

const notebooksInstanceIamMemberCondition: NotebooksInstanceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#expression NotebooksInstanceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#title NotebooksInstanceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#description NotebooksInstanceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.NotebooksInstanceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#expression NotebooksInstanceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.NotebooksInstanceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#title NotebooksInstanceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NotebooksInstanceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#description NotebooksInstanceIamMember#description}.

---

### NotebooksInstanceIamMemberConfig <a name="NotebooksInstanceIamMemberConfig" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.Initializer"></a>

```typescript
import { NotebooksInstanceIamMemberConfig } from '@dschmidt/provider-google'

const notebooksInstanceIamMemberConfig: NotebooksInstanceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.instanceName">instanceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#instance_name NotebooksInstanceIamMember#instance_name}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#member NotebooksInstanceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#role NotebooksInstanceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberCondition">NotebooksInstanceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#id NotebooksInstanceIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#location NotebooksInstanceIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#project NotebooksInstanceIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#instance_name NotebooksInstanceIamMember#instance_name}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#member NotebooksInstanceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#role NotebooksInstanceIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: NotebooksInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksInstanceIamMemberCondition">NotebooksInstanceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#condition NotebooksInstanceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#id NotebooksInstanceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#location NotebooksInstanceIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksInstanceIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_member#project NotebooksInstanceIamMember#project}.

---

### NotebooksInstanceIamPolicyConfig <a name="NotebooksInstanceIamPolicyConfig" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.Initializer"></a>

```typescript
import { NotebooksInstanceIamPolicyConfig } from '@dschmidt/provider-google'

const notebooksInstanceIamPolicyConfig: NotebooksInstanceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.instanceName">instanceName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#instance_name NotebooksInstanceIamPolicy#instance_name}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#policy_data NotebooksInstanceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#id NotebooksInstanceIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#location NotebooksInstanceIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#project NotebooksInstanceIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceName`<sup>Required</sup> <a name="instanceName" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.instanceName"></a>

```typescript
public readonly instanceName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#instance_name NotebooksInstanceIamPolicy#instance_name}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#policy_data NotebooksInstanceIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#id NotebooksInstanceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#location NotebooksInstanceIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksInstanceIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance_iam_policy#project NotebooksInstanceIamPolicy#project}.

---

### NotebooksInstanceReservationAffinity <a name="NotebooksInstanceReservationAffinity" id="@dschmidt/provider-google.NotebooksInstanceReservationAffinity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceReservationAffinity.Initializer"></a>

```typescript
import { NotebooksInstanceReservationAffinity } from '@dschmidt/provider-google'

const notebooksInstanceReservationAffinity: NotebooksInstanceReservationAffinity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinity.property.consumeReservationType">consumeReservationType</a></code> | <code>string</code> | The type of Compute Reservation. Possible values: ["NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION"]. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinity.property.key">key</a></code> | <code>string</code> | Corresponds to the label key of reservation resource. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceReservationAffinity.property.values">values</a></code> | <code>string[]</code> | Corresponds to the label values of reservation resource. |

---

##### `consumeReservationType`<sup>Required</sup> <a name="consumeReservationType" id="@dschmidt/provider-google.NotebooksInstanceReservationAffinity.property.consumeReservationType"></a>

```typescript
public readonly consumeReservationType: string;
```

- *Type:* string

The type of Compute Reservation. Possible values: ["NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#consume_reservation_type NotebooksInstance#consume_reservation_type}

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.NotebooksInstanceReservationAffinity.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Corresponds to the label key of reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#key NotebooksInstance#key}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.NotebooksInstanceReservationAffinity.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

Corresponds to the label values of reservation resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#values NotebooksInstance#values}

---

### NotebooksInstanceShieldedInstanceConfig <a name="NotebooksInstanceShieldedInstanceConfig" id="@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig.Initializer"></a>

```typescript
import { NotebooksInstanceShieldedInstanceConfig } from '@dschmidt/provider-google'

const notebooksInstanceShieldedInstanceConfig: NotebooksInstanceShieldedInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig.property.enableIntegrityMonitoring">enableIntegrityMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has integrity monitoring enabled. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig.property.enableSecureBoot">enableSecureBoot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has Secure Boot enabled. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig.property.enableVtpm">enableVtpm</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has the vTPM enabled. Enabled by default. |

---

##### `enableIntegrityMonitoring`<sup>Optional</sup> <a name="enableIntegrityMonitoring" id="@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig.property.enableIntegrityMonitoring"></a>

```typescript
public readonly enableIntegrityMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has integrity monitoring enabled.

Enables monitoring and attestation of the
boot integrity of the instance. The attestation is performed against the integrity policy baseline.
This baseline is initially derived from the implicitly trusted boot image when the instance is created.
Enabled by default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#enable_integrity_monitoring NotebooksInstance#enable_integrity_monitoring}

---

##### `enableSecureBoot`<sup>Optional</sup> <a name="enableSecureBoot" id="@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig.property.enableSecureBoot"></a>

```typescript
public readonly enableSecureBoot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has Secure Boot enabled.

Secure Boot helps ensure that the system only runs
authentic software by verifying the digital signature of all boot components, and halting the boot process
if signature verification fails.
Disabled by default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#enable_secure_boot NotebooksInstance#enable_secure_boot}

---

##### `enableVtpm`<sup>Optional</sup> <a name="enableVtpm" id="@dschmidt/provider-google.NotebooksInstanceShieldedInstanceConfig.property.enableVtpm"></a>

```typescript
public readonly enableVtpm: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has the vTPM enabled. Enabled by default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#enable_vtpm NotebooksInstance#enable_vtpm}

---

### NotebooksInstanceTimeouts <a name="NotebooksInstanceTimeouts" id="@dschmidt/provider-google.NotebooksInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceTimeouts.Initializer"></a>

```typescript
import { NotebooksInstanceTimeouts } from '@dschmidt/provider-google'

const notebooksInstanceTimeouts: NotebooksInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#create NotebooksInstance#create}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#delete NotebooksInstance#delete}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#update NotebooksInstance#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NotebooksInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#create NotebooksInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NotebooksInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#delete NotebooksInstance#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NotebooksInstanceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#update NotebooksInstance#update}.

---

### NotebooksInstanceVmImage <a name="NotebooksInstanceVmImage" id="@dschmidt/provider-google.NotebooksInstanceVmImage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksInstanceVmImage.Initializer"></a>

```typescript
import { NotebooksInstanceVmImage } from '@dschmidt/provider-google'

const notebooksInstanceVmImage: NotebooksInstanceVmImage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceVmImage.property.project">project</a></code> | <code>string</code> | The name of the Google Cloud project that this VM image belongs to. Format: projects/{project_id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceVmImage.property.imageFamily">imageFamily</a></code> | <code>string</code> | Use this VM image family to find the image; the newest image in this family will be used. |
| <code><a href="#@dschmidt/provider-google.NotebooksInstanceVmImage.property.imageName">imageName</a></code> | <code>string</code> | Use VM image name to find the image. |

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.NotebooksInstanceVmImage.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The name of the Google Cloud project that this VM image belongs to. Format: projects/{project_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#project NotebooksInstance#project}

---

##### `imageFamily`<sup>Optional</sup> <a name="imageFamily" id="@dschmidt/provider-google.NotebooksInstanceVmImage.property.imageFamily"></a>

```typescript
public readonly imageFamily: string;
```

- *Type:* string

Use this VM image family to find the image; the newest image in this family will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#image_family NotebooksInstance#image_family}

---

##### `imageName`<sup>Optional</sup> <a name="imageName" id="@dschmidt/provider-google.NotebooksInstanceVmImage.property.imageName"></a>

```typescript
public readonly imageName: string;
```

- *Type:* string

Use VM image name to find the image.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_instance#image_name NotebooksInstance#image_name}

---

### NotebooksLocationConfig <a name="NotebooksLocationConfig" id="@dschmidt/provider-google.NotebooksLocationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksLocationConfig.Initializer"></a>

```typescript
import { NotebooksLocationConfig } from '@dschmidt/provider-google'

const notebooksLocationConfig: NotebooksLocationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#id NotebooksLocation#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.name">name</a></code> | <code>string</code> | Name of the Location resource. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#project NotebooksLocation#project}. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksLocationTimeouts">NotebooksLocationTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksLocationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksLocationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksLocationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksLocationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksLocationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksLocationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksLocationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksLocationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#id NotebooksLocation#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.NotebooksLocationConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the Location resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#name NotebooksLocation#name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksLocationConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#project NotebooksLocation#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NotebooksLocationConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NotebooksLocationTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksLocationTimeouts">NotebooksLocationTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#timeouts NotebooksLocation#timeouts}

---

### NotebooksLocationTimeouts <a name="NotebooksLocationTimeouts" id="@dschmidt/provider-google.NotebooksLocationTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksLocationTimeouts.Initializer"></a>

```typescript
import { NotebooksLocationTimeouts } from '@dschmidt/provider-google'

const notebooksLocationTimeouts: NotebooksLocationTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#create NotebooksLocation#create}. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#delete NotebooksLocation#delete}. |
| <code><a href="#@dschmidt/provider-google.NotebooksLocationTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#update NotebooksLocation#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NotebooksLocationTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#create NotebooksLocation#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NotebooksLocationTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#delete NotebooksLocation#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NotebooksLocationTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_location#update NotebooksLocation#update}.

---

### NotebooksRuntimeAccessConfig <a name="NotebooksRuntimeAccessConfig" id="@dschmidt/provider-google.NotebooksRuntimeAccessConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeAccessConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeAccessConfig } from '@dschmidt/provider-google'

const notebooksRuntimeAccessConfig: NotebooksRuntimeAccessConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeAccessConfig.property.accessType">accessType</a></code> | <code>string</code> | The type of access mode this instance. For valid values, see 'https://cloud.google.com/vertex-ai/docs/workbench/reference/ rest/v1/projects.locations.runtimes#RuntimeAccessType'. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeAccessConfig.property.runtimeOwner">runtimeOwner</a></code> | <code>string</code> | The owner of this runtime after creation. Format: 'alias@example.com'. Currently supports one owner only. |

---

##### `accessType`<sup>Optional</sup> <a name="accessType" id="@dschmidt/provider-google.NotebooksRuntimeAccessConfig.property.accessType"></a>

```typescript
public readonly accessType: string;
```

- *Type:* string

The type of access mode this instance. For valid values, see 'https://cloud.google.com/vertex-ai/docs/workbench/reference/ rest/v1/projects.locations.runtimes#RuntimeAccessType'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#access_type NotebooksRuntime#access_type}

---

##### `runtimeOwner`<sup>Optional</sup> <a name="runtimeOwner" id="@dschmidt/provider-google.NotebooksRuntimeAccessConfig.property.runtimeOwner"></a>

```typescript
public readonly runtimeOwner: string;
```

- *Type:* string

The owner of this runtime after creation. Format: 'alias@example.com'. Currently supports one owner only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#runtime_owner NotebooksRuntime#runtime_owner}

---

### NotebooksRuntimeConfig <a name="NotebooksRuntimeConfig" id="@dschmidt/provider-google.NotebooksRuntimeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeConfig } from '@dschmidt/provider-google'

const notebooksRuntimeConfig: NotebooksRuntimeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.location">location</a></code> | <code>string</code> | A reference to the zone where the machine resides. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.name">name</a></code> | <code>string</code> | The name specified for the Notebook runtime. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.accessConfig">accessConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeAccessConfig">NotebooksRuntimeAccessConfig</a></code> | access_config block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#id NotebooksRuntime#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#project NotebooksRuntime#project}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.softwareConfig">softwareConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig">NotebooksRuntimeSoftwareConfig</a></code> | software_config block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeTimeouts">NotebooksRuntimeTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeConfig.property.virtualMachine">virtualMachine</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachine">NotebooksRuntimeVirtualMachine</a></code> | virtual_machine block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

A reference to the zone where the machine resides.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#location NotebooksRuntime#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name specified for the Notebook runtime.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#name NotebooksRuntime#name}

---

##### `accessConfig`<sup>Optional</sup> <a name="accessConfig" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.accessConfig"></a>

```typescript
public readonly accessConfig: NotebooksRuntimeAccessConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeAccessConfig">NotebooksRuntimeAccessConfig</a>

access_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#access_config NotebooksRuntime#access_config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#id NotebooksRuntime#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#project NotebooksRuntime#project}.

---

##### `softwareConfig`<sup>Optional</sup> <a name="softwareConfig" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.softwareConfig"></a>

```typescript
public readonly softwareConfig: NotebooksRuntimeSoftwareConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig">NotebooksRuntimeSoftwareConfig</a>

software_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#software_config NotebooksRuntime#software_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.timeouts"></a>

```typescript
public readonly timeouts: NotebooksRuntimeTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeTimeouts">NotebooksRuntimeTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#timeouts NotebooksRuntime#timeouts}

---

##### `virtualMachine`<sup>Optional</sup> <a name="virtualMachine" id="@dschmidt/provider-google.NotebooksRuntimeConfig.property.virtualMachine"></a>

```typescript
public readonly virtualMachine: NotebooksRuntimeVirtualMachine;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachine">NotebooksRuntimeVirtualMachine</a>

virtual_machine block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#virtual_machine NotebooksRuntime#virtual_machine}

---

### NotebooksRuntimeIamBindingCondition <a name="NotebooksRuntimeIamBindingCondition" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition.Initializer"></a>

```typescript
import { NotebooksRuntimeIamBindingCondition } from '@dschmidt/provider-google'

const notebooksRuntimeIamBindingCondition: NotebooksRuntimeIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#expression NotebooksRuntimeIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#title NotebooksRuntimeIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#description NotebooksRuntimeIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#expression NotebooksRuntimeIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#title NotebooksRuntimeIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#description NotebooksRuntimeIamBinding#description}.

---

### NotebooksRuntimeIamBindingConfig <a name="NotebooksRuntimeIamBindingConfig" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeIamBindingConfig } from '@dschmidt/provider-google'

const notebooksRuntimeIamBindingConfig: NotebooksRuntimeIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#members NotebooksRuntimeIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#role NotebooksRuntimeIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.runtimeName">runtimeName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#runtime_name NotebooksRuntimeIamBinding#runtime_name}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition">NotebooksRuntimeIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#id NotebooksRuntimeIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#location NotebooksRuntimeIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#project NotebooksRuntimeIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#members NotebooksRuntimeIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#role NotebooksRuntimeIamBinding#role}.

---

##### `runtimeName`<sup>Required</sup> <a name="runtimeName" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.runtimeName"></a>

```typescript
public readonly runtimeName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#runtime_name NotebooksRuntimeIamBinding#runtime_name}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: NotebooksRuntimeIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamBindingCondition">NotebooksRuntimeIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#condition NotebooksRuntimeIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#id NotebooksRuntimeIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#location NotebooksRuntimeIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksRuntimeIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_binding#project NotebooksRuntimeIamBinding#project}.

---

### NotebooksRuntimeIamMemberCondition <a name="NotebooksRuntimeIamMemberCondition" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition.Initializer"></a>

```typescript
import { NotebooksRuntimeIamMemberCondition } from '@dschmidt/provider-google'

const notebooksRuntimeIamMemberCondition: NotebooksRuntimeIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#expression NotebooksRuntimeIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#title NotebooksRuntimeIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#description NotebooksRuntimeIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#expression NotebooksRuntimeIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#title NotebooksRuntimeIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#description NotebooksRuntimeIamMember#description}.

---

### NotebooksRuntimeIamMemberConfig <a name="NotebooksRuntimeIamMemberConfig" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeIamMemberConfig } from '@dschmidt/provider-google'

const notebooksRuntimeIamMemberConfig: NotebooksRuntimeIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#member NotebooksRuntimeIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#role NotebooksRuntimeIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.runtimeName">runtimeName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#runtime_name NotebooksRuntimeIamMember#runtime_name}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition">NotebooksRuntimeIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#id NotebooksRuntimeIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#location NotebooksRuntimeIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#project NotebooksRuntimeIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#member NotebooksRuntimeIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#role NotebooksRuntimeIamMember#role}.

---

##### `runtimeName`<sup>Required</sup> <a name="runtimeName" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.runtimeName"></a>

```typescript
public readonly runtimeName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#runtime_name NotebooksRuntimeIamMember#runtime_name}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: NotebooksRuntimeIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeIamMemberCondition">NotebooksRuntimeIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#condition NotebooksRuntimeIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#id NotebooksRuntimeIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#location NotebooksRuntimeIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksRuntimeIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_member#project NotebooksRuntimeIamMember#project}.

---

### NotebooksRuntimeIamPolicyConfig <a name="NotebooksRuntimeIamPolicyConfig" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeIamPolicyConfig } from '@dschmidt/provider-google'

const notebooksRuntimeIamPolicyConfig: NotebooksRuntimeIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#policy_data NotebooksRuntimeIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.runtimeName">runtimeName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#runtime_name NotebooksRuntimeIamPolicy#runtime_name}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#id NotebooksRuntimeIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#location NotebooksRuntimeIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#project NotebooksRuntimeIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#policy_data NotebooksRuntimeIamPolicy#policy_data}.

---

##### `runtimeName`<sup>Required</sup> <a name="runtimeName" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.runtimeName"></a>

```typescript
public readonly runtimeName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#runtime_name NotebooksRuntimeIamPolicy#runtime_name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#id NotebooksRuntimeIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#location NotebooksRuntimeIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.NotebooksRuntimeIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime_iam_policy#project NotebooksRuntimeIamPolicy#project}.

---

### NotebooksRuntimeMetrics <a name="NotebooksRuntimeMetrics" id="@dschmidt/provider-google.NotebooksRuntimeMetrics"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeMetrics.Initializer"></a>

```typescript
import { NotebooksRuntimeMetrics } from '@dschmidt/provider-google'

const notebooksRuntimeMetrics: NotebooksRuntimeMetrics = { ... }
```


### NotebooksRuntimeSoftwareConfig <a name="NotebooksRuntimeSoftwareConfig" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeSoftwareConfig } from '@dschmidt/provider-google'

const notebooksRuntimeSoftwareConfig: NotebooksRuntimeSoftwareConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.customGpuDriverPath">customGpuDriverPath</a></code> | <code>string</code> | Specify a custom Cloud Storage path where the GPU driver is stored. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.enableHealthMonitoring">enableHealthMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Verifies core internal services are running. Default: True. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.idleShutdown">idleShutdown</a></code> | <code>boolean \| cdktf.IResolvable</code> | Runtime will automatically shutdown after idle_shutdown_time. Default: True. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.idleShutdownTimeout">idleShutdownTimeout</a></code> | <code>number</code> | Time in minutes to wait before shuting down runtime. Default: 180 minutes. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.installGpuDriver">installGpuDriver</a></code> | <code>boolean \| cdktf.IResolvable</code> | Install Nvidia Driver automatically. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.kernels">kernels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigKernels">NotebooksRuntimeSoftwareConfigKernels</a>[]</code> | kernels block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.notebookUpgradeSchedule">notebookUpgradeSchedule</a></code> | <code>string</code> | Cron expression in UTC timezone for schedule instance auto upgrade. Please follow the [cron format](https://en.wikipedia.org/wiki/Cron). |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.postStartupScript">postStartupScript</a></code> | <code>string</code> | Path to a Bash script that automatically runs after a notebook instance fully boots up. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.postStartupScriptBehavior">postStartupScriptBehavior</a></code> | <code>string</code> | Behavior for the post startup script. Possible values: ["POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED", "RUN_EVERY_START", "DOWNLOAD_AND_RUN_EVERY_START"]. |

---

##### `customGpuDriverPath`<sup>Optional</sup> <a name="customGpuDriverPath" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.customGpuDriverPath"></a>

```typescript
public readonly customGpuDriverPath: string;
```

- *Type:* string

Specify a custom Cloud Storage path where the GPU driver is stored.

If not specified, we'll automatically choose from official GPU drivers.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#custom_gpu_driver_path NotebooksRuntime#custom_gpu_driver_path}

---

##### `enableHealthMonitoring`<sup>Optional</sup> <a name="enableHealthMonitoring" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.enableHealthMonitoring"></a>

```typescript
public readonly enableHealthMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Verifies core internal services are running. Default: True.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#enable_health_monitoring NotebooksRuntime#enable_health_monitoring}

---

##### `idleShutdown`<sup>Optional</sup> <a name="idleShutdown" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.idleShutdown"></a>

```typescript
public readonly idleShutdown: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Runtime will automatically shutdown after idle_shutdown_time. Default: True.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#idle_shutdown NotebooksRuntime#idle_shutdown}

---

##### `idleShutdownTimeout`<sup>Optional</sup> <a name="idleShutdownTimeout" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.idleShutdownTimeout"></a>

```typescript
public readonly idleShutdownTimeout: number;
```

- *Type:* number

Time in minutes to wait before shuting down runtime. Default: 180 minutes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#idle_shutdown_timeout NotebooksRuntime#idle_shutdown_timeout}

---

##### `installGpuDriver`<sup>Optional</sup> <a name="installGpuDriver" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.installGpuDriver"></a>

```typescript
public readonly installGpuDriver: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Install Nvidia Driver automatically.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#install_gpu_driver NotebooksRuntime#install_gpu_driver}

---

##### `kernels`<sup>Optional</sup> <a name="kernels" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.kernels"></a>

```typescript
public readonly kernels: IResolvable | NotebooksRuntimeSoftwareConfigKernels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigKernels">NotebooksRuntimeSoftwareConfigKernels</a>[]

kernels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#kernels NotebooksRuntime#kernels}

---

##### `notebookUpgradeSchedule`<sup>Optional</sup> <a name="notebookUpgradeSchedule" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.notebookUpgradeSchedule"></a>

```typescript
public readonly notebookUpgradeSchedule: string;
```

- *Type:* string

Cron expression in UTC timezone for schedule instance auto upgrade. Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#notebook_upgrade_schedule NotebooksRuntime#notebook_upgrade_schedule}

---

##### `postStartupScript`<sup>Optional</sup> <a name="postStartupScript" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.postStartupScript"></a>

```typescript
public readonly postStartupScript: string;
```

- *Type:* string

Path to a Bash script that automatically runs after a notebook instance fully boots up.

The path must be a URL or
Cloud Storage path (gs://path-to-file/file-name).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#post_startup_script NotebooksRuntime#post_startup_script}

---

##### `postStartupScriptBehavior`<sup>Optional</sup> <a name="postStartupScriptBehavior" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfig.property.postStartupScriptBehavior"></a>

```typescript
public readonly postStartupScriptBehavior: string;
```

- *Type:* string

Behavior for the post startup script. Possible values: ["POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED", "RUN_EVERY_START", "DOWNLOAD_AND_RUN_EVERY_START"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#post_startup_script_behavior NotebooksRuntime#post_startup_script_behavior}

---

### NotebooksRuntimeSoftwareConfigKernels <a name="NotebooksRuntimeSoftwareConfigKernels" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigKernels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigKernels.Initializer"></a>

```typescript
import { NotebooksRuntimeSoftwareConfigKernels } from '@dschmidt/provider-google'

const notebooksRuntimeSoftwareConfigKernels: NotebooksRuntimeSoftwareConfigKernels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigKernels.property.repository">repository</a></code> | <code>string</code> | The path to the container image repository. For example: gcr.io/{project_id}/{imageName}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigKernels.property.tag">tag</a></code> | <code>string</code> | The tag of the container image. If not specified, this defaults to the latest tag. |

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigKernels.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

The path to the container image repository. For example: gcr.io/{project_id}/{imageName}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#repository NotebooksRuntime#repository}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.NotebooksRuntimeSoftwareConfigKernels.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag of the container image. If not specified, this defaults to the latest tag.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#tag NotebooksRuntime#tag}

---

### NotebooksRuntimeTimeouts <a name="NotebooksRuntimeTimeouts" id="@dschmidt/provider-google.NotebooksRuntimeTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeTimeouts.Initializer"></a>

```typescript
import { NotebooksRuntimeTimeouts } from '@dschmidt/provider-google'

const notebooksRuntimeTimeouts: NotebooksRuntimeTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#create NotebooksRuntime#create}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#delete NotebooksRuntime#delete}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#update NotebooksRuntime#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.NotebooksRuntimeTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#create NotebooksRuntime#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.NotebooksRuntimeTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#delete NotebooksRuntime#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.NotebooksRuntimeTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#update NotebooksRuntime#update}.

---

### NotebooksRuntimeVirtualMachine <a name="NotebooksRuntimeVirtualMachine" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachine"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachine.Initializer"></a>

```typescript
import { NotebooksRuntimeVirtualMachine } from '@dschmidt/provider-google'

const notebooksRuntimeVirtualMachine: NotebooksRuntimeVirtualMachine = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachine.property.virtualMachineConfig">virtualMachineConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig">NotebooksRuntimeVirtualMachineVirtualMachineConfig</a></code> | virtual_machine_config block. |

---

##### `virtualMachineConfig`<sup>Optional</sup> <a name="virtualMachineConfig" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachine.property.virtualMachineConfig"></a>

```typescript
public readonly virtualMachineConfig: NotebooksRuntimeVirtualMachineVirtualMachineConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig">NotebooksRuntimeVirtualMachineVirtualMachineConfig</a>

virtual_machine_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#virtual_machine_config NotebooksRuntime#virtual_machine_config}

---

### NotebooksRuntimeVirtualMachineVirtualMachineConfig <a name="NotebooksRuntimeVirtualMachineVirtualMachineConfig" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeVirtualMachineVirtualMachineConfig } from '@dschmidt/provider-google'

const notebooksRuntimeVirtualMachineVirtualMachineConfig: NotebooksRuntimeVirtualMachineVirtualMachineConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.dataDisk">dataDisk</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk">NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk</a></code> | data_disk block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.machineType">machineType</a></code> | <code>string</code> | The Compute Engine machine type used for runtimes. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.acceleratorConfig">acceleratorConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig">NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig</a></code> | accelerator_config block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.containerImages">containerImages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages">NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages</a>[]</code> | container_images block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.encryptionConfig">encryptionConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig">NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig</a></code> | encryption_config block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.internalIpOnly">internalIpOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, runtime will only have internal IP addresses. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The labels to associate with this runtime. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com /compute/docs/storing-retrieving-metadata#project_and_instance _metadata)). |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.network">network</a></code> | <code>string</code> | The Compute Engine network to be used for machine communications. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.nicType">nicType</a></code> | <code>string</code> | The type of vNIC to be used on this interface. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.reservedIpRange">reservedIpRange</a></code> | <code>string</code> | Reserved IP Range name is used for VPC Peering. The subnetwork allocation will use the range *name* if it's assigned. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.shieldedInstanceConfig">shieldedInstanceConfig</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig">NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig</a></code> | shielded_instance_config block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.subnet">subnet</a></code> | <code>string</code> | The Compute Engine subnetwork to be used for machine communications. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.tags">tags</a></code> | <code>string[]</code> | The Compute Engine tags to add to runtime (see [Tagging instances] (https://cloud.google.com/compute/docs/ label-or-tag-resources#tags)). |

---

##### `dataDisk`<sup>Required</sup> <a name="dataDisk" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.dataDisk"></a>

```typescript
public readonly dataDisk: NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk">NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk</a>

data_disk block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#data_disk NotebooksRuntime#data_disk}

---

##### `machineType`<sup>Required</sup> <a name="machineType" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.machineType"></a>

```typescript
public readonly machineType: string;
```

- *Type:* string

The Compute Engine machine type used for runtimes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#machine_type NotebooksRuntime#machine_type}

---

##### `acceleratorConfig`<sup>Optional</sup> <a name="acceleratorConfig" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.acceleratorConfig"></a>

```typescript
public readonly acceleratorConfig: NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig">NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig</a>

accelerator_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#accelerator_config NotebooksRuntime#accelerator_config}

---

##### `containerImages`<sup>Optional</sup> <a name="containerImages" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.containerImages"></a>

```typescript
public readonly containerImages: IResolvable | NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages">NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages</a>[]

container_images block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#container_images NotebooksRuntime#container_images}

---

##### `encryptionConfig`<sup>Optional</sup> <a name="encryptionConfig" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.encryptionConfig"></a>

```typescript
public readonly encryptionConfig: NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig">NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig</a>

encryption_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#encryption_config NotebooksRuntime#encryption_config}

---

##### `internalIpOnly`<sup>Optional</sup> <a name="internalIpOnly" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.internalIpOnly"></a>

```typescript
public readonly internalIpOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, runtime will only have internal IP addresses.

By default,
runtimes are not restricted to internal IP addresses, and will
have ephemeral external IP addresses assigned to each vm. This
'internal_ip_only' restriction can only be enabled for subnetwork
enabled networks, and all dependencies must be configured to be
accessible without external IP addresses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#internal_ip_only NotebooksRuntime#internal_ip_only}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The labels to associate with this runtime.

Label **keys** must
contain 1 to 63 characters, and must conform to [RFC 1035]
(https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be
empty, but, if present, must contain 1 to 63 characters, and must
conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No
more than 32 labels can be associated with a cluster.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#labels NotebooksRuntime#labels}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com /compute/docs/storing-retrieving-metadata#project_and_instance _metadata)).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#metadata NotebooksRuntime#metadata}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The Compute Engine network to be used for machine communications.

Cannot be specified with subnetwork. If neither 'network' nor
'subnet' is specified, the "default" network of the project is
used, if it exists. A full URL or partial URI. Examples:
'https://www.googleapis.com/compute/v1/projects/[project_id]/
regions/global/default'
'projects/[project_id]/regions/global/default'
Runtimes are managed resources inside Google Infrastructure.
Runtimes support the following network configurations:
Google Managed Network (Network & subnet are empty)
Consumer Project VPC (network & subnet are required). Requires
configuring Private Service Access.
Shared VPC (network & subnet are required). Requires
configuring Private Service Access.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#network NotebooksRuntime#network}

---

##### `nicType`<sup>Optional</sup> <a name="nicType" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.nicType"></a>

```typescript
public readonly nicType: string;
```

- *Type:* string

The type of vNIC to be used on this interface.

This may be gVNIC
or VirtioNet. Possible values: ["UNSPECIFIED_NIC_TYPE", "VIRTIO_NET", "GVNIC"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#nic_type NotebooksRuntime#nic_type}

---

##### `reservedIpRange`<sup>Optional</sup> <a name="reservedIpRange" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.reservedIpRange"></a>

```typescript
public readonly reservedIpRange: string;
```

- *Type:* string

Reserved IP Range name is used for VPC Peering. The subnetwork allocation will use the range *name* if it's assigned.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#reserved_ip_range NotebooksRuntime#reserved_ip_range}

---

##### `shieldedInstanceConfig`<sup>Optional</sup> <a name="shieldedInstanceConfig" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.shieldedInstanceConfig"></a>

```typescript
public readonly shieldedInstanceConfig: NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig">NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig</a>

shielded_instance_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#shielded_instance_config NotebooksRuntime#shielded_instance_config}

---

##### `subnet`<sup>Optional</sup> <a name="subnet" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.subnet"></a>

```typescript
public readonly subnet: string;
```

- *Type:* string

The Compute Engine subnetwork to be used for machine communications.

Cannot be specified with network. A full URL or
partial URI are valid. Examples:
'https://www.googleapis.com/compute/v1/projects/[project_id]/
regions/us-east1/subnetworks/sub0'
'projects/[project_id]/regions/us-east1/subnetworks/sub0'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#subnet NotebooksRuntime#subnet}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfig.property.tags"></a>

```typescript
public readonly tags: string[];
```

- *Type:* string[]

The Compute Engine tags to add to runtime (see [Tagging instances] (https://cloud.google.com/compute/docs/ label-or-tag-resources#tags)).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#tags NotebooksRuntime#tags}

---

### NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig <a name="NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig } from '@dschmidt/provider-google'

const notebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig: NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig.property.coreCount">coreCount</a></code> | <code>number</code> | Count of cores of this accelerator. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig.property.type">type</a></code> | <code>string</code> | Accelerator model. For valid values, see 'https://cloud.google.com/vertex-ai/docs/workbench/reference/ rest/v1/projects.locations.runtimes#AcceleratorType'. |

---

##### `coreCount`<sup>Optional</sup> <a name="coreCount" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig.property.coreCount"></a>

```typescript
public readonly coreCount: number;
```

- *Type:* number

Count of cores of this accelerator.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#core_count NotebooksRuntime#core_count}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigAcceleratorConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Accelerator model. For valid values, see 'https://cloud.google.com/vertex-ai/docs/workbench/reference/ rest/v1/projects.locations.runtimes#AcceleratorType'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#type NotebooksRuntime#type}

---

### NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages <a name="NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages.Initializer"></a>

```typescript
import { NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages } from '@dschmidt/provider-google'

const notebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages: NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages.property.repository">repository</a></code> | <code>string</code> | The path to the container image repository. For example: gcr.io/{project_id}/{imageName}. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages.property.tag">tag</a></code> | <code>string</code> | The tag of the container image. If not specified, this defaults to the latest tag. |

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

The path to the container image repository. For example: gcr.io/{project_id}/{imageName}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#repository NotebooksRuntime#repository}

---

##### `tag`<sup>Optional</sup> <a name="tag" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigContainerImages.property.tag"></a>

```typescript
public readonly tag: string;
```

- *Type:* string

The tag of the container image. If not specified, this defaults to the latest tag.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#tag NotebooksRuntime#tag}

---

### NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk <a name="NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.Initializer"></a>

```typescript
import { NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk } from '@dschmidt/provider-google'

const notebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk: NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.initializeParams">initializeParams</a></code> | <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams">NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams</a></code> | initialize_params block. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.interface">interface</a></code> | <code>string</code> | "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.mode">mode</a></code> | <code>string</code> | The mode in which to attach this disk, either READ_WRITE or READ_ONLY. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.source">source</a></code> | <code>string</code> | Specifies a valid partial or full URL to an existing Persistent Disk resource. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.type">type</a></code> | <code>string</code> | Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT. |

---

##### `initializeParams`<sup>Optional</sup> <a name="initializeParams" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.initializeParams"></a>

```typescript
public readonly initializeParams: NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams;
```

- *Type:* <a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams">NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams</a>

initialize_params block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#initialize_params NotebooksRuntime#initialize_params}

---

##### `interface`<sup>Optional</sup> <a name="interface" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.interface"></a>

```typescript
public readonly interface: string;
```

- *Type:* string

"Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.

The default is SCSI. Persistent
disks must always use SCSI and the request will fail if you attempt
to attach a persistent disk in any other format than SCSI. Local SSDs
can use either NVME or SCSI. For performance characteristics of SCSI
over NVMe, see Local SSD performance. Valid values: * NVME * SCSI".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#interface NotebooksRuntime#interface}

---

##### `mode`<sup>Optional</sup> <a name="mode" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

The mode in which to attach this disk, either READ_WRITE or READ_ONLY.

If not specified, the default is to attach
the disk in READ_WRITE mode.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#mode NotebooksRuntime#mode}

---

##### `source`<sup>Optional</sup> <a name="source" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

Specifies a valid partial or full URL to an existing Persistent Disk resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#source NotebooksRuntime#source}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDisk.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#type NotebooksRuntime#type}

---

### NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams <a name="NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.Initializer"></a>

```typescript
import { NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams } from '@dschmidt/provider-google'

const notebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams: NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.description">description</a></code> | <code>string</code> | Provide this property when creating the disk. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.diskName">diskName</a></code> | <code>string</code> | Specifies the disk name. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.diskSizeGb">diskSizeGb</a></code> | <code>number</code> | Specifies the size of the disk in base-2 GB. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.diskType">diskType</a></code> | <code>string</code> | The type of the boot disk attached to this runtime, defaults to standard persistent disk. For valid values, see 'https://cloud.google.com/vertex-ai/docs/workbench/ reference/rest/v1/projects.locations.runtimes#disktype'. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels to apply to this disk. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Provide this property when creating the disk.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#description NotebooksRuntime#description}

---

##### `diskName`<sup>Optional</sup> <a name="diskName" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.diskName"></a>

```typescript
public readonly diskName: string;
```

- *Type:* string

Specifies the disk name.

If not specified, the default is
to use the name of the instance. If the disk with the
instance name exists already in the given zone/region, a
new name will be automatically generated.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#disk_name NotebooksRuntime#disk_name}

---

##### `diskSizeGb`<sup>Optional</sup> <a name="diskSizeGb" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.diskSizeGb"></a>

```typescript
public readonly diskSizeGb: number;
```

- *Type:* number

Specifies the size of the disk in base-2 GB.

If not
specified, the disk will be the same size as the image
(usually 10GB). If specified, the size must be equal to
or larger than 10GB. Default 100 GB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#disk_size_gb NotebooksRuntime#disk_size_gb}

---

##### `diskType`<sup>Optional</sup> <a name="diskType" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.diskType"></a>

```typescript
public readonly diskType: string;
```

- *Type:* string

The type of the boot disk attached to this runtime, defaults to standard persistent disk. For valid values, see 'https://cloud.google.com/vertex-ai/docs/workbench/ reference/rest/v1/projects.locations.runtimes#disktype'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#disk_type NotebooksRuntime#disk_type}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParams.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels to apply to this disk.

These can be later modified
by the disks.setLabels method. This field is only
applicable for persistent disks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#labels NotebooksRuntime#labels}

---

### NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig <a name="NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig } from '@dschmidt/provider-google'

const notebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig: NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig.property.kmsKey">kmsKey</a></code> | <code>string</code> | The Cloud KMS resource identifier of the customer-managed encryption key used to protect a resource, such as a disks. |

---

##### `kmsKey`<sup>Optional</sup> <a name="kmsKey" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigEncryptionConfig.property.kmsKey"></a>

```typescript
public readonly kmsKey: string;
```

- *Type:* string

The Cloud KMS resource identifier of the customer-managed encryption key used to protect a resource, such as a disks.

It has the following format:
'projects/{PROJECT_ID}/locations/{REGION}/keyRings/
{KEY_RING_NAME}/cryptoKeys/{KEY_NAME}'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#kms_key NotebooksRuntime#kms_key}

---

### NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig <a name="NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig.Initializer"></a>

```typescript
import { NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig } from '@dschmidt/provider-google'

const notebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig: NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig.property.enableIntegrityMonitoring">enableIntegrityMonitoring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has integrity monitoring enabled. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig.property.enableSecureBoot">enableSecureBoot</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has Secure Boot enabled.Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default. |
| <code><a href="#@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig.property.enableVtpm">enableVtpm</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the instance has the vTPM enabled. Enabled by default. |

---

##### `enableIntegrityMonitoring`<sup>Optional</sup> <a name="enableIntegrityMonitoring" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig.property.enableIntegrityMonitoring"></a>

```typescript
public readonly enableIntegrityMonitoring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has integrity monitoring enabled.

Enables monitoring and attestation of the boot integrity of
the instance. The attestation is performed against the
integrity policy baseline. This baseline is initially derived
from the implicitly trusted boot image when the instance is
created. Enabled by default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#enable_integrity_monitoring NotebooksRuntime#enable_integrity_monitoring}

---

##### `enableSecureBoot`<sup>Optional</sup> <a name="enableSecureBoot" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig.property.enableSecureBoot"></a>

```typescript
public readonly enableSecureBoot: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has Secure Boot enabled.Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#enable_secure_boot NotebooksRuntime#enable_secure_boot}

---

##### `enableVtpm`<sup>Optional</sup> <a name="enableVtpm" id="@dschmidt/provider-google.NotebooksRuntimeVirtualMachineVirtualMachineConfigShieldedInstanceConfig.property.enableVtpm"></a>

```typescript
public readonly enableVtpm: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the instance has the vTPM enabled. Enabled by default.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/notebooks_runtime#enable_vtpm NotebooksRuntime#enable_vtpm}

---

### OrganizationAccessApprovalSettingsConfig <a name="OrganizationAccessApprovalSettingsConfig" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.Initializer"></a>

```typescript
import { OrganizationAccessApprovalSettingsConfig } from '@dschmidt/provider-google'

const organizationAccessApprovalSettingsConfig: OrganizationAccessApprovalSettingsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.enrolledServices">enrolledServices</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices">OrganizationAccessApprovalSettingsEnrolledServices</a>[]</code> | enrolled_services block. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.organizationId">organizationId</a></code> | <code>string</code> | ID of the organization of the access approval settings. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.activeKeyVersion">activeKeyVersion</a></code> | <code>string</code> | The asymmetric crypto key version to use for signing approval requests. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#id OrganizationAccessApprovalSettings#id}. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.notificationEmails">notificationEmails</a></code> | <code>string[]</code> | A list of email addresses to which notifications relating to approval requests should be sent. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts">OrganizationAccessApprovalSettingsTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `enrolledServices`<sup>Required</sup> <a name="enrolledServices" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.enrolledServices"></a>

```typescript
public readonly enrolledServices: IResolvable | OrganizationAccessApprovalSettingsEnrolledServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices">OrganizationAccessApprovalSettingsEnrolledServices</a>[]

enrolled_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#enrolled_services OrganizationAccessApprovalSettings#enrolled_services}

---

##### `organizationId`<sup>Required</sup> <a name="organizationId" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.organizationId"></a>

```typescript
public readonly organizationId: string;
```

- *Type:* string

ID of the organization of the access approval settings.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#organization_id OrganizationAccessApprovalSettings#organization_id}

---

##### `activeKeyVersion`<sup>Optional</sup> <a name="activeKeyVersion" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.activeKeyVersion"></a>

```typescript
public readonly activeKeyVersion: string;
```

- *Type:* string

The asymmetric crypto key version to use for signing approval requests.

Empty active_key_version indicates that a Google-managed key should be used for signing.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#active_key_version OrganizationAccessApprovalSettings#active_key_version}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#id OrganizationAccessApprovalSettings#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `notificationEmails`<sup>Optional</sup> <a name="notificationEmails" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.notificationEmails"></a>

```typescript
public readonly notificationEmails: string[];
```

- *Type:* string[]

A list of email addresses to which notifications relating to approval requests should be sent.

Notifications relating to a resource will be sent to all emails in the settings of ancestor
resources of that resource. A maximum of 50 email addresses are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#notification_emails OrganizationAccessApprovalSettings#notification_emails}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsConfig.property.timeouts"></a>

```typescript
public readonly timeouts: OrganizationAccessApprovalSettingsTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts">OrganizationAccessApprovalSettingsTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#timeouts OrganizationAccessApprovalSettings#timeouts}

---

### OrganizationAccessApprovalSettingsEnrolledServices <a name="OrganizationAccessApprovalSettingsEnrolledServices" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices.Initializer"></a>

```typescript
import { OrganizationAccessApprovalSettingsEnrolledServices } from '@dschmidt/provider-google'

const organizationAccessApprovalSettingsEnrolledServices: OrganizationAccessApprovalSettingsEnrolledServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices.property.cloudProduct">cloudProduct</a></code> | <code>string</code> | The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices.property.enrollmentLevel">enrollmentLevel</a></code> | <code>string</code> | The enrollment level of the service. Default value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"]. |

---

##### `cloudProduct`<sup>Required</sup> <a name="cloudProduct" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices.property.cloudProduct"></a>

```typescript
public readonly cloudProduct: string;
```

- *Type:* string

The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#cloud_product OrganizationAccessApprovalSettings#cloud_product}

---

##### `enrollmentLevel`<sup>Optional</sup> <a name="enrollmentLevel" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsEnrolledServices.property.enrollmentLevel"></a>

```typescript
public readonly enrollmentLevel: string;
```

- *Type:* string

The enrollment level of the service. Default value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#enrollment_level OrganizationAccessApprovalSettings#enrollment_level}

---

### OrganizationAccessApprovalSettingsTimeouts <a name="OrganizationAccessApprovalSettingsTimeouts" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts.Initializer"></a>

```typescript
import { OrganizationAccessApprovalSettingsTimeouts } from '@dschmidt/provider-google'

const organizationAccessApprovalSettingsTimeouts: OrganizationAccessApprovalSettingsTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#create OrganizationAccessApprovalSettings#create}. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#delete OrganizationAccessApprovalSettings#delete}. |
| <code><a href="#@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#update OrganizationAccessApprovalSettings#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#create OrganizationAccessApprovalSettings#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#delete OrganizationAccessApprovalSettings#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.OrganizationAccessApprovalSettingsTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_access_approval_settings#update OrganizationAccessApprovalSettings#update}.

---

### OrganizationIamAuditConfigAuditLogConfig <a name="OrganizationIamAuditConfigAuditLogConfig" id="@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig.Initializer"></a>

```typescript
import { OrganizationIamAuditConfigAuditLogConfig } from '@dschmidt/provider-google'

const organizationIamAuditConfigAuditLogConfig: OrganizationIamAuditConfigAuditLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig.property.logType">logType</a></code> | <code>string</code> | Permission type for which logging is to be configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig.property.exemptedMembers">exemptedMembers</a></code> | <code>string[]</code> | Identities that do not cause logging for this type of permission. |

---

##### `logType`<sup>Required</sup> <a name="logType" id="@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig.property.logType"></a>

```typescript
public readonly logType: string;
```

- *Type:* string

Permission type for which logging is to be configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_audit_config#log_type OrganizationIamAuditConfig#log_type}

---

##### `exemptedMembers`<sup>Optional</sup> <a name="exemptedMembers" id="@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig.property.exemptedMembers"></a>

```typescript
public readonly exemptedMembers: string[];
```

- *Type:* string[]

Identities that do not cause logging for this type of permission.

Each entry can have one of the following values:user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_audit_config#exempted_members OrganizationIamAuditConfig#exempted_members}

---

### OrganizationIamAuditConfigConfig <a name="OrganizationIamAuditConfigConfig" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.Initializer"></a>

```typescript
import { OrganizationIamAuditConfigConfig } from '@dschmidt/provider-google'

const organizationIamAuditConfigConfig: OrganizationIamAuditConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.auditLogConfig">auditLogConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig">OrganizationIamAuditConfigAuditLogConfig</a>[]</code> | audit_log_config block. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.orgId">orgId</a></code> | <code>string</code> | The numeric ID of the organization in which you want to manage the audit logging config. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.service">service</a></code> | <code>string</code> | Service which will be enabled for audit logging. The special value allServices covers all services. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_audit_config#id OrganizationIamAuditConfig#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `auditLogConfig`<sup>Required</sup> <a name="auditLogConfig" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.auditLogConfig"></a>

```typescript
public readonly auditLogConfig: IResolvable | OrganizationIamAuditConfigAuditLogConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrganizationIamAuditConfigAuditLogConfig">OrganizationIamAuditConfigAuditLogConfig</a>[]

audit_log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_audit_config#audit_log_config OrganizationIamAuditConfig#audit_log_config}

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The numeric ID of the organization in which you want to manage the audit logging config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_audit_config#org_id OrganizationIamAuditConfig#org_id}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Service which will be enabled for audit logging. The special value allServices covers all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_audit_config#service OrganizationIamAuditConfig#service}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamAuditConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_audit_config#id OrganizationIamAuditConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### OrganizationIamBindingCondition <a name="OrganizationIamBindingCondition" id="@dschmidt/provider-google.OrganizationIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationIamBindingCondition.Initializer"></a>

```typescript
import { OrganizationIamBindingCondition } from '@dschmidt/provider-google'

const organizationIamBindingCondition: OrganizationIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#expression OrganizationIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#title OrganizationIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#description OrganizationIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.OrganizationIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#expression OrganizationIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.OrganizationIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#title OrganizationIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.OrganizationIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#description OrganizationIamBinding#description}.

---

### OrganizationIamBindingConfig <a name="OrganizationIamBindingConfig" id="@dschmidt/provider-google.OrganizationIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationIamBindingConfig.Initializer"></a>

```typescript
import { OrganizationIamBindingConfig } from '@dschmidt/provider-google'

const organizationIamBindingConfig: OrganizationIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#members OrganizationIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.orgId">orgId</a></code> | <code>string</code> | The numeric ID of the organization in which you want to manage the audit logging config. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#role OrganizationIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamBindingCondition">OrganizationIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#id OrganizationIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#members OrganizationIamBinding#members}.

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The numeric ID of the organization in which you want to manage the audit logging config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#org_id OrganizationIamBinding#org_id}

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#role OrganizationIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: OrganizationIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamBindingCondition">OrganizationIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#condition OrganizationIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_binding#id OrganizationIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### OrganizationIamCustomRoleConfig <a name="OrganizationIamCustomRoleConfig" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.Initializer"></a>

```typescript
import { OrganizationIamCustomRoleConfig } from '@dschmidt/provider-google'

const organizationIamCustomRoleConfig: OrganizationIamCustomRoleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.orgId">orgId</a></code> | <code>string</code> | The numeric ID of the organization in which you want to create a custom role. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.permissions">permissions</a></code> | <code>string[]</code> | The names of the permissions this role grants when bound in an IAM policy. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.roleId">roleId</a></code> | <code>string</code> | The role id to use for this role. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.title">title</a></code> | <code>string</code> | A human-readable title for the role. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.description">description</a></code> | <code>string</code> | A human-readable description for the role. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_custom_role#id OrganizationIamCustomRole#id}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.stage">stage</a></code> | <code>string</code> | The current launch stage of the role. Defaults to GA. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The numeric ID of the organization in which you want to create a custom role.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_custom_role#org_id OrganizationIamCustomRole#org_id}

---

##### `permissions`<sup>Required</sup> <a name="permissions" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.permissions"></a>

```typescript
public readonly permissions: string[];
```

- *Type:* string[]

The names of the permissions this role grants when bound in an IAM policy.

At least one permission must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_custom_role#permissions OrganizationIamCustomRole#permissions}

---

##### `roleId`<sup>Required</sup> <a name="roleId" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.roleId"></a>

```typescript
public readonly roleId: string;
```

- *Type:* string

The role id to use for this role.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_custom_role#role_id OrganizationIamCustomRole#role_id}

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

A human-readable title for the role.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_custom_role#title OrganizationIamCustomRole#title}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description for the role.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_custom_role#description OrganizationIamCustomRole#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_custom_role#id OrganizationIamCustomRole#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `stage`<sup>Optional</sup> <a name="stage" id="@dschmidt/provider-google.OrganizationIamCustomRoleConfig.property.stage"></a>

```typescript
public readonly stage: string;
```

- *Type:* string

The current launch stage of the role. Defaults to GA.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_custom_role#stage OrganizationIamCustomRole#stage}

---

### OrganizationIamMemberCondition <a name="OrganizationIamMemberCondition" id="@dschmidt/provider-google.OrganizationIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationIamMemberCondition.Initializer"></a>

```typescript
import { OrganizationIamMemberCondition } from '@dschmidt/provider-google'

const organizationIamMemberCondition: OrganizationIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#expression OrganizationIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#title OrganizationIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#description OrganizationIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.OrganizationIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#expression OrganizationIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.OrganizationIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#title OrganizationIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.OrganizationIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#description OrganizationIamMember#description}.

---

### OrganizationIamMemberConfig <a name="OrganizationIamMemberConfig" id="@dschmidt/provider-google.OrganizationIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationIamMemberConfig.Initializer"></a>

```typescript
import { OrganizationIamMemberConfig } from '@dschmidt/provider-google'

const organizationIamMemberConfig: OrganizationIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#member OrganizationIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.orgId">orgId</a></code> | <code>string</code> | The numeric ID of the organization in which you want to manage the audit logging config. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#role OrganizationIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationIamMemberCondition">OrganizationIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#id OrganizationIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#member OrganizationIamMember#member}.

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The numeric ID of the organization in which you want to manage the audit logging config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#org_id OrganizationIamMember#org_id}

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#role OrganizationIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: OrganizationIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationIamMemberCondition">OrganizationIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#condition OrganizationIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_member#id OrganizationIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### OrganizationIamPolicyConfig <a name="OrganizationIamPolicyConfig" id="@dschmidt/provider-google.OrganizationIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.Initializer"></a>

```typescript
import { OrganizationIamPolicyConfig } from '@dschmidt/provider-google'

const organizationIamPolicyConfig: OrganizationIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.orgId">orgId</a></code> | <code>string</code> | The numeric ID of the organization in which you want to manage the audit logging config. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_policy#policy_data OrganizationIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.OrganizationIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_policy#id OrganizationIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The numeric ID of the organization in which you want to manage the audit logging config.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_policy#org_id OrganizationIamPolicy#org_id}

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_policy#policy_data OrganizationIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OrganizationIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_iam_policy#id OrganizationIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### OrganizationPolicyBooleanPolicy <a name="OrganizationPolicyBooleanPolicy" id="@dschmidt/provider-google.OrganizationPolicyBooleanPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationPolicyBooleanPolicy.Initializer"></a>

```typescript
import { OrganizationPolicyBooleanPolicy } from '@dschmidt/provider-google'

const organizationPolicyBooleanPolicy: OrganizationPolicyBooleanPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyBooleanPolicy.property.enforced">enforced</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, then the Policy is enforced. If false, then any configuration is acceptable. |

---

##### `enforced`<sup>Required</sup> <a name="enforced" id="@dschmidt/provider-google.OrganizationPolicyBooleanPolicy.property.enforced"></a>

```typescript
public readonly enforced: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, then the Policy is enforced. If false, then any configuration is acceptable.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#enforced OrganizationPolicy#enforced}

---

### OrganizationPolicyConfig <a name="OrganizationPolicyConfig" id="@dschmidt/provider-google.OrganizationPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationPolicyConfig.Initializer"></a>

```typescript
import { OrganizationPolicyConfig } from '@dschmidt/provider-google'

const organizationPolicyConfig: OrganizationPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.constraint">constraint</a></code> | <code>string</code> | The name of the Constraint the Policy is configuring, for example, serviceuser.services. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.orgId">orgId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#org_id OrganizationPolicy#org_id}. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.booleanPolicy">booleanPolicy</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyBooleanPolicy">OrganizationPolicyBooleanPolicy</a></code> | boolean_policy block. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#id OrganizationPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.listPolicy">listPolicy</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicy">OrganizationPolicyListPolicy</a></code> | list_policy block. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.restorePolicy">restorePolicy</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyRestorePolicy">OrganizationPolicyRestorePolicy</a></code> | restore_policy block. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyTimeouts">OrganizationPolicyTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyConfig.property.version">version</a></code> | <code>number</code> | Version of the Policy. Default version is 0. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

The name of the Constraint the Policy is configuring, for example, serviceuser.services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#constraint OrganizationPolicy#constraint}

---

##### `orgId`<sup>Required</sup> <a name="orgId" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#org_id OrganizationPolicy#org_id}.

---

##### `booleanPolicy`<sup>Optional</sup> <a name="booleanPolicy" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.booleanPolicy"></a>

```typescript
public readonly booleanPolicy: OrganizationPolicyBooleanPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyBooleanPolicy">OrganizationPolicyBooleanPolicy</a>

boolean_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#boolean_policy OrganizationPolicy#boolean_policy}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#id OrganizationPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `listPolicy`<sup>Optional</sup> <a name="listPolicy" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.listPolicy"></a>

```typescript
public readonly listPolicy: OrganizationPolicyListPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyListPolicy">OrganizationPolicyListPolicy</a>

list_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#list_policy OrganizationPolicy#list_policy}

---

##### `restorePolicy`<sup>Optional</sup> <a name="restorePolicy" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: OrganizationPolicyRestorePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyRestorePolicy">OrganizationPolicyRestorePolicy</a>

restore_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#restore_policy OrganizationPolicy#restore_policy}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: OrganizationPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyTimeouts">OrganizationPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#timeouts OrganizationPolicy#timeouts}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.OrganizationPolicyConfig.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

Version of the Policy. Default version is 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#version OrganizationPolicy#version}

---

### OrganizationPolicyListPolicy <a name="OrganizationPolicyListPolicy" id="@dschmidt/provider-google.OrganizationPolicyListPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationPolicyListPolicy.Initializer"></a>

```typescript
import { OrganizationPolicyListPolicy } from '@dschmidt/provider-google'

const organizationPolicyListPolicy: OrganizationPolicyListPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicy.property.allow">allow</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyAllow">OrganizationPolicyListPolicyAllow</a></code> | allow block. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicy.property.deny">deny</a></code> | <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyDeny">OrganizationPolicyListPolicyDeny</a></code> | deny block. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicy.property.inheritFromParent">inheritFromParent</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicy.property.suggestedValue">suggestedValue</a></code> | <code>string</code> | The Google Cloud Console will try to default to a configuration that matches the value specified in this field. |

---

##### `allow`<sup>Optional</sup> <a name="allow" id="@dschmidt/provider-google.OrganizationPolicyListPolicy.property.allow"></a>

```typescript
public readonly allow: OrganizationPolicyListPolicyAllow;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyAllow">OrganizationPolicyListPolicyAllow</a>

allow block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#allow OrganizationPolicy#allow}

---

##### `deny`<sup>Optional</sup> <a name="deny" id="@dschmidt/provider-google.OrganizationPolicyListPolicy.property.deny"></a>

```typescript
public readonly deny: OrganizationPolicyListPolicyDeny;
```

- *Type:* <a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyDeny">OrganizationPolicyListPolicyDeny</a>

deny block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#deny OrganizationPolicy#deny}

---

##### `inheritFromParent`<sup>Optional</sup> <a name="inheritFromParent" id="@dschmidt/provider-google.OrganizationPolicyListPolicy.property.inheritFromParent"></a>

```typescript
public readonly inheritFromParent: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#inherit_from_parent OrganizationPolicy#inherit_from_parent}

---

##### `suggestedValue`<sup>Optional</sup> <a name="suggestedValue" id="@dschmidt/provider-google.OrganizationPolicyListPolicy.property.suggestedValue"></a>

```typescript
public readonly suggestedValue: string;
```

- *Type:* string

The Google Cloud Console will try to default to a configuration that matches the value specified in this field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#suggested_value OrganizationPolicy#suggested_value}

---

### OrganizationPolicyListPolicyAllow <a name="OrganizationPolicyListPolicyAllow" id="@dschmidt/provider-google.OrganizationPolicyListPolicyAllow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationPolicyListPolicyAllow.Initializer"></a>

```typescript
import { OrganizationPolicyListPolicyAllow } from '@dschmidt/provider-google'

const organizationPolicyListPolicyAllow: OrganizationPolicyListPolicyAllow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyAllow.property.all">all</a></code> | <code>boolean \| cdktf.IResolvable</code> | The policy allows or denies all values. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyAllow.property.values">values</a></code> | <code>string[]</code> | The policy can define specific values that are allowed or denied. |

---

##### `all`<sup>Optional</sup> <a name="all" id="@dschmidt/provider-google.OrganizationPolicyListPolicyAllow.property.all"></a>

```typescript
public readonly all: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The policy allows or denies all values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#all OrganizationPolicy#all}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.OrganizationPolicyListPolicyAllow.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

The policy can define specific values that are allowed or denied.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#values OrganizationPolicy#values}

---

### OrganizationPolicyListPolicyDeny <a name="OrganizationPolicyListPolicyDeny" id="@dschmidt/provider-google.OrganizationPolicyListPolicyDeny"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationPolicyListPolicyDeny.Initializer"></a>

```typescript
import { OrganizationPolicyListPolicyDeny } from '@dschmidt/provider-google'

const organizationPolicyListPolicyDeny: OrganizationPolicyListPolicyDeny = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyDeny.property.all">all</a></code> | <code>boolean \| cdktf.IResolvable</code> | The policy allows or denies all values. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyListPolicyDeny.property.values">values</a></code> | <code>string[]</code> | The policy can define specific values that are allowed or denied. |

---

##### `all`<sup>Optional</sup> <a name="all" id="@dschmidt/provider-google.OrganizationPolicyListPolicyDeny.property.all"></a>

```typescript
public readonly all: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The policy allows or denies all values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#all OrganizationPolicy#all}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.OrganizationPolicyListPolicyDeny.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

The policy can define specific values that are allowed or denied.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#values OrganizationPolicy#values}

---

### OrganizationPolicyRestorePolicy <a name="OrganizationPolicyRestorePolicy" id="@dschmidt/provider-google.OrganizationPolicyRestorePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationPolicyRestorePolicy.Initializer"></a>

```typescript
import { OrganizationPolicyRestorePolicy } from '@dschmidt/provider-google'

const organizationPolicyRestorePolicy: OrganizationPolicyRestorePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyRestorePolicy.property.default">default</a></code> | <code>boolean \| cdktf.IResolvable</code> | May only be set to true. If set, then the default Policy is restored. |

---

##### `default`<sup>Required</sup> <a name="default" id="@dschmidt/provider-google.OrganizationPolicyRestorePolicy.property.default"></a>

```typescript
public readonly default: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

May only be set to true. If set, then the default Policy is restored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#default OrganizationPolicy#default}

---

### OrganizationPolicyTimeouts <a name="OrganizationPolicyTimeouts" id="@dschmidt/provider-google.OrganizationPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrganizationPolicyTimeouts.Initializer"></a>

```typescript
import { OrganizationPolicyTimeouts } from '@dschmidt/provider-google'

const organizationPolicyTimeouts: OrganizationPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#create OrganizationPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#delete OrganizationPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#read OrganizationPolicy#read}. |
| <code><a href="#@dschmidt/provider-google.OrganizationPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#update OrganizationPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.OrganizationPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#create OrganizationPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.OrganizationPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#delete OrganizationPolicy#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.OrganizationPolicyTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#read OrganizationPolicy#read}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.OrganizationPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/organization_policy#update OrganizationPolicy#update}.

---

### OrgPolicyPolicyConfig <a name="OrgPolicyPolicyConfig" id="@dschmidt/provider-google.OrgPolicyPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.Initializer"></a>

```typescript
import { OrgPolicyPolicyConfig } from '@dschmidt/provider-google'

const orgPolicyPolicyConfig: OrgPolicyPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.name">name</a></code> | <code>string</code> | Immutable. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.parent">parent</a></code> | <code>string</code> | The parent of the resource. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#id OrgPolicyPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.spec">spec</a></code> | <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpec">OrgPolicyPolicySpec</a></code> | spec block. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeouts">OrgPolicyPolicyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Immutable.

The resource name of the Policy. Must be one of the following forms, where constraint_name is the name of the constraint which this Policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, "projects/123/policies/compute.disableSerialPortAccess". Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#name OrgPolicyPolicy#name}

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The parent of the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#parent OrgPolicyPolicy#parent}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#id OrgPolicyPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `spec`<sup>Optional</sup> <a name="spec" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.spec"></a>

```typescript
public readonly spec: OrgPolicyPolicySpec;
```

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicySpec">OrgPolicyPolicySpec</a>

spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#spec OrgPolicyPolicy#spec}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.OrgPolicyPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: OrgPolicyPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeouts">OrgPolicyPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#timeouts OrgPolicyPolicy#timeouts}

---

### OrgPolicyPolicySpec <a name="OrgPolicyPolicySpec" id="@dschmidt/provider-google.OrgPolicyPolicySpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrgPolicyPolicySpec.Initializer"></a>

```typescript
import { OrgPolicyPolicySpec } from '@dschmidt/provider-google'

const orgPolicyPolicySpec: OrgPolicyPolicySpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpec.property.inheritFromParent">inheritFromParent</a></code> | <code>boolean \| cdktf.IResolvable</code> | Determines the inheritance behavior for this `Policy`. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpec.property.reset">reset</a></code> | <code>boolean \| cdktf.IResolvable</code> | Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpec.property.rules">rules</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRules">OrgPolicyPolicySpecRules</a>[]</code> | rules block. |

---

##### `inheritFromParent`<sup>Optional</sup> <a name="inheritFromParent" id="@dschmidt/provider-google.OrgPolicyPolicySpec.property.inheritFromParent"></a>

```typescript
public readonly inheritFromParent: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Determines the inheritance behavior for this `Policy`.

If `inherit_from_parent` is true, PolicyRules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this Policy becomes the new root for evaluation. This field can be set only for Policies which configure list constraints.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#inherit_from_parent OrgPolicyPolicy#inherit_from_parent}

---

##### `reset`<sup>Optional</sup> <a name="reset" id="@dschmidt/provider-google.OrgPolicyPolicySpec.property.reset"></a>

```typescript
public readonly reset: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource.

This field can be set in policies for either list or boolean constraints. If set, `rules` must be empty and `inherit_from_parent` must be set to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#reset OrgPolicyPolicy#reset}

---

##### `rules`<sup>Optional</sup> <a name="rules" id="@dschmidt/provider-google.OrgPolicyPolicySpec.property.rules"></a>

```typescript
public readonly rules: IResolvable | OrgPolicyPolicySpecRules[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRules">OrgPolicyPolicySpecRules</a>[]

rules block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#rules OrgPolicyPolicy#rules}

---

### OrgPolicyPolicySpecRules <a name="OrgPolicyPolicySpecRules" id="@dschmidt/provider-google.OrgPolicyPolicySpecRules"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrgPolicyPolicySpecRules.Initializer"></a>

```typescript
import { OrgPolicyPolicySpecRules } from '@dschmidt/provider-google'

const orgPolicyPolicySpecRules: OrgPolicyPolicySpecRules = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.allowAll">allowAll</a></code> | <code>string</code> | Setting this to true means that all values are allowed. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition">OrgPolicyPolicySpecRulesCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.denyAll">denyAll</a></code> | <code>string</code> | Setting this to true means that all values are denied. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.enforce">enforce</a></code> | <code>string</code> | If `true`, then the `Policy` is enforced. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.values">values</a></code> | <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesValues">OrgPolicyPolicySpecRulesValues</a></code> | values block. |

---

##### `allowAll`<sup>Optional</sup> <a name="allowAll" id="@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.allowAll"></a>

```typescript
public readonly allowAll: string;
```

- *Type:* string

Setting this to true means that all values are allowed.

This field can be set only in Policies for list constraints.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#allow_all OrgPolicyPolicy#allow_all}

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.condition"></a>

```typescript
public readonly condition: OrgPolicyPolicySpecRulesCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition">OrgPolicyPolicySpecRulesCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#condition OrgPolicyPolicy#condition}

---

##### `denyAll`<sup>Optional</sup> <a name="denyAll" id="@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.denyAll"></a>

```typescript
public readonly denyAll: string;
```

- *Type:* string

Setting this to true means that all values are denied.

This field can be set only in Policies for list constraints.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#deny_all OrgPolicyPolicy#deny_all}

---

##### `enforce`<sup>Optional</sup> <a name="enforce" id="@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.enforce"></a>

```typescript
public readonly enforce: string;
```

- *Type:* string

If `true`, then the `Policy` is enforced.

If `false`, then any configuration is acceptable. This field can be set only in Policies for boolean constraints.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#enforce OrgPolicyPolicy#enforce}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.OrgPolicyPolicySpecRules.property.values"></a>

```typescript
public readonly values: OrgPolicyPolicySpecRulesValues;
```

- *Type:* <a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesValues">OrgPolicyPolicySpecRulesValues</a>

values block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#values OrgPolicyPolicy#values}

---

### OrgPolicyPolicySpecRulesCondition <a name="OrgPolicyPolicySpecRulesCondition" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition.Initializer"></a>

```typescript
import { OrgPolicyPolicySpecRulesCondition } from '@dschmidt/provider-google'

const orgPolicyPolicySpecRulesCondition: OrgPolicyPolicySpecRulesCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition.property.description">description</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition.property.expression">expression</a></code> | <code>string</code> | Textual representation of an expression in Common Expression Language syntax. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition.property.location">location</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition.property.title">title</a></code> | <code>string</code> | Optional. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional.

Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#description OrgPolicyPolicy#description}

---

##### `expression`<sup>Optional</sup> <a name="expression" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Textual representation of an expression in Common Expression Language syntax.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#expression OrgPolicyPolicy#expression}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Optional.

String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#location OrgPolicyPolicy#location}

---

##### `title`<sup>Optional</sup> <a name="title" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Optional.

Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#title OrgPolicyPolicy#title}

---

### OrgPolicyPolicySpecRulesValues <a name="OrgPolicyPolicySpecRulesValues" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesValues"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesValues.Initializer"></a>

```typescript
import { OrgPolicyPolicySpecRulesValues } from '@dschmidt/provider-google'

const orgPolicyPolicySpecRulesValues: OrgPolicyPolicySpecRulesValues = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesValues.property.allowedValues">allowedValues</a></code> | <code>string[]</code> | List of values allowed at this resource. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicySpecRulesValues.property.deniedValues">deniedValues</a></code> | <code>string[]</code> | List of values denied at this resource. |

---

##### `allowedValues`<sup>Optional</sup> <a name="allowedValues" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesValues.property.allowedValues"></a>

```typescript
public readonly allowedValues: string[];
```

- *Type:* string[]

List of values allowed at this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#allowed_values OrgPolicyPolicy#allowed_values}

---

##### `deniedValues`<sup>Optional</sup> <a name="deniedValues" id="@dschmidt/provider-google.OrgPolicyPolicySpecRulesValues.property.deniedValues"></a>

```typescript
public readonly deniedValues: string[];
```

- *Type:* string[]

List of values denied at this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#denied_values OrgPolicyPolicy#denied_values}

---

### OrgPolicyPolicyTimeouts <a name="OrgPolicyPolicyTimeouts" id="@dschmidt/provider-google.OrgPolicyPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OrgPolicyPolicyTimeouts.Initializer"></a>

```typescript
import { OrgPolicyPolicyTimeouts } from '@dschmidt/provider-google'

const orgPolicyPolicyTimeouts: OrgPolicyPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#create OrgPolicyPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#delete OrgPolicyPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.OrgPolicyPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#update OrgPolicyPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.OrgPolicyPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#create OrgPolicyPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.OrgPolicyPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#delete OrgPolicyPolicy#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.OrgPolicyPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/org_policy_policy#update OrgPolicyPolicy#update}.

---

### OsConfigOsPolicyAssignmentConfig <a name="OsConfigOsPolicyAssignmentConfig" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentConfig } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentConfig: OsConfigOsPolicyAssignmentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.instanceFilter">instanceFilter</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter">OsConfigOsPolicyAssignmentInstanceFilter</a></code> | instance_filter block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.name">name</a></code> | <code>string</code> | Resource name. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.osPolicies">osPolicies</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies">OsConfigOsPolicyAssignmentOsPolicies</a>[]</code> | os_policies block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.rollout">rollout</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout">OsConfigOsPolicyAssignmentRollout</a></code> | rollout block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.description">description</a></code> | <code>string</code> | OS policy assignment description. Length of the description is limited to 1024 characters. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#id OsConfigOsPolicyAssignment#id}. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts">OsConfigOsPolicyAssignmentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceFilter`<sup>Required</sup> <a name="instanceFilter" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.instanceFilter"></a>

```typescript
public readonly instanceFilter: OsConfigOsPolicyAssignmentInstanceFilter;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter">OsConfigOsPolicyAssignmentInstanceFilter</a>

instance_filter block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#instance_filter OsConfigOsPolicyAssignment#instance_filter}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#location OsConfigOsPolicyAssignment#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Resource name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#name OsConfigOsPolicyAssignment#name}

---

##### `osPolicies`<sup>Required</sup> <a name="osPolicies" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.osPolicies"></a>

```typescript
public readonly osPolicies: IResolvable | OsConfigOsPolicyAssignmentOsPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies">OsConfigOsPolicyAssignmentOsPolicies</a>[]

os_policies block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#os_policies OsConfigOsPolicyAssignment#os_policies}

---

##### `rollout`<sup>Required</sup> <a name="rollout" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.rollout"></a>

```typescript
public readonly rollout: OsConfigOsPolicyAssignmentRollout;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout">OsConfigOsPolicyAssignmentRollout</a>

rollout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#rollout OsConfigOsPolicyAssignment#rollout}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

OS policy assignment description. Length of the description is limited to 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#description OsConfigOsPolicyAssignment#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#id OsConfigOsPolicyAssignment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#project OsConfigOsPolicyAssignment#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: OsConfigOsPolicyAssignmentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts">OsConfigOsPolicyAssignmentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#timeouts OsConfigOsPolicyAssignment#timeouts}

---

### OsConfigOsPolicyAssignmentInstanceFilter <a name="OsConfigOsPolicyAssignmentInstanceFilter" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentInstanceFilter } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentInstanceFilter: OsConfigOsPolicyAssignmentInstanceFilter = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter.property.all">all</a></code> | <code>boolean \| cdktf.IResolvable</code> | Target all VMs in the project. If true, no other criteria is permitted. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter.property.exclusionLabels">exclusionLabels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels">OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels</a>[]</code> | exclusion_labels block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter.property.inclusionLabels">inclusionLabels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels">OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels</a>[]</code> | inclusion_labels block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter.property.inventories">inventories</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInventories">OsConfigOsPolicyAssignmentInstanceFilterInventories</a>[]</code> | inventories block. |

---

##### `all`<sup>Optional</sup> <a name="all" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter.property.all"></a>

```typescript
public readonly all: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Target all VMs in the project. If true, no other criteria is permitted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#all OsConfigOsPolicyAssignment#all}

---

##### `exclusionLabels`<sup>Optional</sup> <a name="exclusionLabels" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter.property.exclusionLabels"></a>

```typescript
public readonly exclusionLabels: IResolvable | OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels">OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels</a>[]

exclusion_labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#exclusion_labels OsConfigOsPolicyAssignment#exclusion_labels}

---

##### `inclusionLabels`<sup>Optional</sup> <a name="inclusionLabels" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter.property.inclusionLabels"></a>

```typescript
public readonly inclusionLabels: IResolvable | OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels">OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels</a>[]

inclusion_labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#inclusion_labels OsConfigOsPolicyAssignment#inclusion_labels}

---

##### `inventories`<sup>Optional</sup> <a name="inventories" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilter.property.inventories"></a>

```typescript
public readonly inventories: IResolvable | OsConfigOsPolicyAssignmentInstanceFilterInventories[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInventories">OsConfigOsPolicyAssignmentInstanceFilterInventories</a>[]

inventories block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#inventories OsConfigOsPolicyAssignment#inventories}

---

### OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels <a name="OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentInstanceFilterExclusionLabels: OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels are identified by key/value pairs in this map. |

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterExclusionLabels.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels are identified by key/value pairs in this map.

A VM should contain all the key/value pairs specified in this map to be selected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#labels OsConfigOsPolicyAssignment#labels}

---

### OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels <a name="OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentInstanceFilterInclusionLabels: OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels are identified by key/value pairs in this map. |

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInclusionLabels.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels are identified by key/value pairs in this map.

A VM should contain all the key/value pairs specified in this map to be selected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#labels OsConfigOsPolicyAssignment#labels}

---

### OsConfigOsPolicyAssignmentInstanceFilterInventories <a name="OsConfigOsPolicyAssignmentInstanceFilterInventories" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInventories"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInventories.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentInstanceFilterInventories } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentInstanceFilterInventories: OsConfigOsPolicyAssignmentInstanceFilterInventories = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInventories.property.osShortName">osShortName</a></code> | <code>string</code> | Required. The OS short name. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInventories.property.osVersion">osVersion</a></code> | <code>string</code> | The OS version Prefix matches are supported if asterisk(*) is provided as the last character. |

---

##### `osShortName`<sup>Required</sup> <a name="osShortName" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInventories.property.osShortName"></a>

```typescript
public readonly osShortName: string;
```

- *Type:* string

Required. The OS short name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#os_short_name OsConfigOsPolicyAssignment#os_short_name}

---

##### `osVersion`<sup>Optional</sup> <a name="osVersion" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentInstanceFilterInventories.property.osVersion"></a>

```typescript
public readonly osVersion: string;
```

- *Type:* string

The OS version Prefix matches are supported if asterisk(*) is provided as the last character.

For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#os_version OsConfigOsPolicyAssignment#os_version}

---

### OsConfigOsPolicyAssignmentOsPolicies <a name="OsConfigOsPolicyAssignmentOsPolicies" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPolicies } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPolicies: OsConfigOsPolicyAssignmentOsPolicies = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.id">id</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.mode">mode</a></code> | <code>string</code> | Required. Policy mode Possible values: MODE_UNSPECIFIED, VALIDATION, ENFORCEMENT. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.resourceGroups">resourceGroups</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroups">OsConfigOsPolicyAssignmentOsPoliciesResourceGroups</a>[]</code> | resource_groups block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.allowNoResourceGroupMatch">allowNoResourceGroupMatch</a></code> | <code>boolean \| cdktf.IResolvable</code> | This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.description">description</a></code> | <code>string</code> | Policy description. Length of the description is limited to 1024 characters. |

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Required.

The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#id OsConfigOsPolicyAssignment#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `mode`<sup>Required</sup> <a name="mode" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Required. Policy mode Possible values: MODE_UNSPECIFIED, VALIDATION, ENFORCEMENT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#mode OsConfigOsPolicyAssignment#mode}

---

##### `resourceGroups`<sup>Required</sup> <a name="resourceGroups" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.resourceGroups"></a>

```typescript
public readonly resourceGroups: IResolvable | OsConfigOsPolicyAssignmentOsPoliciesResourceGroups[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroups">OsConfigOsPolicyAssignmentOsPoliciesResourceGroups</a>[]

resource_groups block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#resource_groups OsConfigOsPolicyAssignment#resource_groups}

---

##### `allowNoResourceGroupMatch`<sup>Optional</sup> <a name="allowNoResourceGroupMatch" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.allowNoResourceGroupMatch"></a>

```typescript
public readonly allowNoResourceGroupMatch: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM.

Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#allow_no_resource_group_match OsConfigOsPolicyAssignment#allow_no_resource_group_match}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPolicies.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Policy description. Length of the description is limited to 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#description OsConfigOsPolicyAssignment#description}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroups <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroups" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroups"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroups.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroups } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroups: OsConfigOsPolicyAssignmentOsPoliciesResourceGroups = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroups.property.resources">resources</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources</a>[]</code> | resources block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroups.property.inventoryFilters">inventoryFilters</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters</a>[]</code> | inventory_filters block. |

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroups.property.resources"></a>

```typescript
public readonly resources: IResolvable | OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources</a>[]

resources block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#resources OsConfigOsPolicyAssignment#resources}

---

##### `inventoryFilters`<sup>Optional</sup> <a name="inventoryFilters" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroups.property.inventoryFilters"></a>

```typescript
public readonly inventoryFilters: IResolvable | OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters</a>[]

inventory_filters block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#inventory_filters OsConfigOsPolicyAssignment#inventory_filters}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters.property.osShortName">osShortName</a></code> | <code>string</code> | Required. The OS short name. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters.property.osVersion">osVersion</a></code> | <code>string</code> | The OS version Prefix matches are supported if asterisk(*) is provided as the last character. |

---

##### `osShortName`<sup>Required</sup> <a name="osShortName" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters.property.osShortName"></a>

```typescript
public readonly osShortName: string;
```

- *Type:* string

Required. The OS short name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#os_short_name OsConfigOsPolicyAssignment#os_short_name}

---

##### `osVersion`<sup>Optional</sup> <a name="osVersion" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsInventoryFilters.property.osVersion"></a>

```typescript
public readonly osVersion: string;
```

- *Type:* string

The OS version Prefix matches are supported if asterisk(*) is provided as the last character.

For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#os_version OsConfigOsPolicyAssignment#os_version}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.id">id</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.exec">exec</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec</a></code> | exec block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.file">file</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile</a></code> | file block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.pkg">pkg</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg</a></code> | pkg block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.repository">repository</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository</a></code> | repository block. |

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Required.

The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#id OsConfigOsPolicyAssignment#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `exec`<sup>Optional</sup> <a name="exec" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.exec"></a>

```typescript
public readonly exec: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec</a>

exec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#exec OsConfigOsPolicyAssignment#exec}

---

##### `file`<sup>Optional</sup> <a name="file" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.file"></a>

```typescript
public readonly file: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile</a>

file block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#file OsConfigOsPolicyAssignment#file}

---

##### `pkg`<sup>Optional</sup> <a name="pkg" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.pkg"></a>

```typescript
public readonly pkg: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg</a>

pkg block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#pkg OsConfigOsPolicyAssignment#pkg}

---

##### `repository`<sup>Optional</sup> <a name="repository" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResources.property.repository"></a>

```typescript
public readonly repository: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository</a>

repository block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#repository OsConfigOsPolicyAssignment#repository}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec.property.validate">validate</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate</a></code> | validate block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec.property.enforce">enforce</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce</a></code> | enforce block. |

---

##### `validate`<sup>Required</sup> <a name="validate" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec.property.validate"></a>

```typescript
public readonly validate: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate</a>

validate block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#validate OsConfigOsPolicyAssignment#validate}

---

##### `enforce`<sup>Optional</sup> <a name="enforce" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExec.property.enforce"></a>

```typescript
public readonly enforce: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce</a>

enforce block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#enforce OsConfigOsPolicyAssignment#enforce}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.interpreter">interpreter</a></code> | <code>string</code> | Required. The script interpreter to use. Possible values: INTERPRETER_UNSPECIFIED, NONE, SHELL, POWERSHELL. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.args">args</a></code> | <code>string[]</code> | Optional arguments to pass to the source during execution. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.file">file</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile</a></code> | file block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.outputFilePath">outputFilePath</a></code> | <code>string</code> | Only recorded for enforce Exec. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.script">script</a></code> | <code>string</code> | An inline script. The size of the script is limited to 1024 characters. |

---

##### `interpreter`<sup>Required</sup> <a name="interpreter" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.interpreter"></a>

```typescript
public readonly interpreter: string;
```

- *Type:* string

Required. The script interpreter to use. Possible values: INTERPRETER_UNSPECIFIED, NONE, SHELL, POWERSHELL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#interpreter OsConfigOsPolicyAssignment#interpreter}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

Optional arguments to pass to the source during execution.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#args OsConfigOsPolicyAssignment#args}

---

##### `file`<sup>Optional</sup> <a name="file" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.file"></a>

```typescript
public readonly file: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile</a>

file block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#file OsConfigOsPolicyAssignment#file}

---

##### `outputFilePath`<sup>Optional</sup> <a name="outputFilePath" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.outputFilePath"></a>

```typescript
public readonly outputFilePath: string;
```

- *Type:* string

Only recorded for enforce Exec.

Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#output_file_path OsConfigOsPolicyAssignment#output_file_path}

---

##### `script`<sup>Optional</sup> <a name="script" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforce.property.script"></a>

```typescript
public readonly script: string;
```

- *Type:* string

An inline script. The size of the script is limited to 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#script OsConfigOsPolicyAssignment#script}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile.property.allowInsecure">allowInsecure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defaults to false. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile.property.gcs">gcs</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs</a></code> | gcs block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile.property.localPath">localPath</a></code> | <code>string</code> | A local path within the VM to use. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile.property.remote">remote</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote</a></code> | remote block. |

---

##### `allowInsecure`<sup>Optional</sup> <a name="allowInsecure" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile.property.allowInsecure"></a>

```typescript
public readonly allowInsecure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defaults to false.

When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#allow_insecure OsConfigOsPolicyAssignment#allow_insecure}

---

##### `gcs`<sup>Optional</sup> <a name="gcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile.property.gcs"></a>

```typescript
public readonly gcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs</a>

gcs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#gcs OsConfigOsPolicyAssignment#gcs}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

A local path within the VM to use.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#local_path OsConfigOsPolicyAssignment#local_path}

---

##### `remote`<sup>Optional</sup> <a name="remote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFile.property.remote"></a>

```typescript
public readonly remote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote</a>

remote block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#remote OsConfigOsPolicyAssignment#remote}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs.property.bucket">bucket</a></code> | <code>string</code> | Required. Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs.property.object">object</a></code> | <code>string</code> | Required. Name of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs.property.generation">generation</a></code> | <code>number</code> | Generation number of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Required. Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#bucket OsConfigOsPolicyAssignment#bucket}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Required. Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#object OsConfigOsPolicyAssignment#object}

---

##### `generation`<sup>Optional</sup> <a name="generation" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileGcs.property.generation"></a>

```typescript
public readonly generation: number;
```

- *Type:* number

Generation number of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#generation OsConfigOsPolicyAssignment#generation}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote.property.uri">uri</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote.property.sha256Checksum">sha256Checksum</a></code> | <code>string</code> | SHA256 checksum of the remote file. |

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

Required.

URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#uri OsConfigOsPolicyAssignment#uri}

---

##### `sha256Checksum`<sup>Optional</sup> <a name="sha256Checksum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecEnforceFileRemote.property.sha256Checksum"></a>

```typescript
public readonly sha256Checksum: string;
```

- *Type:* string

SHA256 checksum of the remote file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#sha256_checksum OsConfigOsPolicyAssignment#sha256_checksum}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.interpreter">interpreter</a></code> | <code>string</code> | Required. The script interpreter to use. Possible values: INTERPRETER_UNSPECIFIED, NONE, SHELL, POWERSHELL. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.args">args</a></code> | <code>string[]</code> | Optional arguments to pass to the source during execution. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.file">file</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile</a></code> | file block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.outputFilePath">outputFilePath</a></code> | <code>string</code> | Only recorded for enforce Exec. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.script">script</a></code> | <code>string</code> | An inline script. The size of the script is limited to 1024 characters. |

---

##### `interpreter`<sup>Required</sup> <a name="interpreter" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.interpreter"></a>

```typescript
public readonly interpreter: string;
```

- *Type:* string

Required. The script interpreter to use. Possible values: INTERPRETER_UNSPECIFIED, NONE, SHELL, POWERSHELL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#interpreter OsConfigOsPolicyAssignment#interpreter}

---

##### `args`<sup>Optional</sup> <a name="args" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.args"></a>

```typescript
public readonly args: string[];
```

- *Type:* string[]

Optional arguments to pass to the source during execution.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#args OsConfigOsPolicyAssignment#args}

---

##### `file`<sup>Optional</sup> <a name="file" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.file"></a>

```typescript
public readonly file: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile</a>

file block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#file OsConfigOsPolicyAssignment#file}

---

##### `outputFilePath`<sup>Optional</sup> <a name="outputFilePath" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.outputFilePath"></a>

```typescript
public readonly outputFilePath: string;
```

- *Type:* string

Only recorded for enforce Exec.

Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#output_file_path OsConfigOsPolicyAssignment#output_file_path}

---

##### `script`<sup>Optional</sup> <a name="script" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidate.property.script"></a>

```typescript
public readonly script: string;
```

- *Type:* string

An inline script. The size of the script is limited to 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#script OsConfigOsPolicyAssignment#script}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile.property.allowInsecure">allowInsecure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defaults to false. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile.property.gcs">gcs</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs</a></code> | gcs block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile.property.localPath">localPath</a></code> | <code>string</code> | A local path within the VM to use. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile.property.remote">remote</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote</a></code> | remote block. |

---

##### `allowInsecure`<sup>Optional</sup> <a name="allowInsecure" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile.property.allowInsecure"></a>

```typescript
public readonly allowInsecure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defaults to false.

When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#allow_insecure OsConfigOsPolicyAssignment#allow_insecure}

---

##### `gcs`<sup>Optional</sup> <a name="gcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile.property.gcs"></a>

```typescript
public readonly gcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs</a>

gcs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#gcs OsConfigOsPolicyAssignment#gcs}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

A local path within the VM to use.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#local_path OsConfigOsPolicyAssignment#local_path}

---

##### `remote`<sup>Optional</sup> <a name="remote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFile.property.remote"></a>

```typescript
public readonly remote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote</a>

remote block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#remote OsConfigOsPolicyAssignment#remote}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs.property.bucket">bucket</a></code> | <code>string</code> | Required. Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs.property.object">object</a></code> | <code>string</code> | Required. Name of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs.property.generation">generation</a></code> | <code>number</code> | Generation number of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Required. Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#bucket OsConfigOsPolicyAssignment#bucket}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Required. Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#object OsConfigOsPolicyAssignment#object}

---

##### `generation`<sup>Optional</sup> <a name="generation" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileGcs.property.generation"></a>

```typescript
public readonly generation: number;
```

- *Type:* number

Generation number of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#generation OsConfigOsPolicyAssignment#generation}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote.property.uri">uri</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote.property.sha256Checksum">sha256Checksum</a></code> | <code>string</code> | SHA256 checksum of the remote file. |

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

Required.

URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#uri OsConfigOsPolicyAssignment#uri}

---

##### `sha256Checksum`<sup>Optional</sup> <a name="sha256Checksum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesExecValidateFileRemote.property.sha256Checksum"></a>

```typescript
public readonly sha256Checksum: string;
```

- *Type:* string

SHA256 checksum of the remote file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#sha256_checksum OsConfigOsPolicyAssignment#sha256_checksum}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile.property.path">path</a></code> | <code>string</code> | Required. The absolute path of the file within the VM. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile.property.state">state</a></code> | <code>string</code> | Required. Desired state of the file. Possible values: OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED, COMPLIANT, NON_COMPLIANT, UNKNOWN, NO_OS_POLICIES_APPLICABLE. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile.property.content">content</a></code> | <code>string</code> | A a file with this content. The size of the content is limited to 1024 characters. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile.property.file">file</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile</a></code> | file block. |

---

##### `path`<sup>Required</sup> <a name="path" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Required. The absolute path of the file within the VM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#path OsConfigOsPolicyAssignment#path}

---

##### `state`<sup>Required</sup> <a name="state" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

Required. Desired state of the file. Possible values: OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED, COMPLIANT, NON_COMPLIANT, UNKNOWN, NO_OS_POLICIES_APPLICABLE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#state OsConfigOsPolicyAssignment#state}

---

##### `content`<sup>Optional</sup> <a name="content" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

A a file with this content. The size of the content is limited to 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#content OsConfigOsPolicyAssignment#content}

---

##### `file`<sup>Optional</sup> <a name="file" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFile.property.file"></a>

```typescript
public readonly file: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile</a>

file block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#file OsConfigOsPolicyAssignment#file}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile.property.allowInsecure">allowInsecure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defaults to false. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile.property.gcs">gcs</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs</a></code> | gcs block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile.property.localPath">localPath</a></code> | <code>string</code> | A local path within the VM to use. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile.property.remote">remote</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote</a></code> | remote block. |

---

##### `allowInsecure`<sup>Optional</sup> <a name="allowInsecure" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile.property.allowInsecure"></a>

```typescript
public readonly allowInsecure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defaults to false.

When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#allow_insecure OsConfigOsPolicyAssignment#allow_insecure}

---

##### `gcs`<sup>Optional</sup> <a name="gcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile.property.gcs"></a>

```typescript
public readonly gcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs</a>

gcs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#gcs OsConfigOsPolicyAssignment#gcs}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

A local path within the VM to use.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#local_path OsConfigOsPolicyAssignment#local_path}

---

##### `remote`<sup>Optional</sup> <a name="remote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFile.property.remote"></a>

```typescript
public readonly remote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote</a>

remote block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#remote OsConfigOsPolicyAssignment#remote}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs.property.bucket">bucket</a></code> | <code>string</code> | Required. Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs.property.object">object</a></code> | <code>string</code> | Required. Name of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs.property.generation">generation</a></code> | <code>number</code> | Generation number of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Required. Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#bucket OsConfigOsPolicyAssignment#bucket}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Required. Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#object OsConfigOsPolicyAssignment#object}

---

##### `generation`<sup>Optional</sup> <a name="generation" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileGcs.property.generation"></a>

```typescript
public readonly generation: number;
```

- *Type:* number

Generation number of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#generation OsConfigOsPolicyAssignment#generation}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote.property.uri">uri</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote.property.sha256Checksum">sha256Checksum</a></code> | <code>string</code> | SHA256 checksum of the remote file. |

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

Required.

URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#uri OsConfigOsPolicyAssignment#uri}

---

##### `sha256Checksum`<sup>Optional</sup> <a name="sha256Checksum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesFileFileRemote.property.sha256Checksum"></a>

```typescript
public readonly sha256Checksum: string;
```

- *Type:* string

SHA256 checksum of the remote file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#sha256_checksum OsConfigOsPolicyAssignment#sha256_checksum}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.desiredState">desiredState</a></code> | <code>string</code> | Required. The desired state the agent should maintain for this package. Possible values: DESIRED_STATE_UNSPECIFIED, INSTALLED, REMOVED. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.apt">apt</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt</a></code> | apt block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.deb">deb</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb</a></code> | deb block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.googet">googet</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget</a></code> | googet block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.msi">msi</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi</a></code> | msi block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.rpm">rpm</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm</a></code> | rpm block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.yum">yum</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum</a></code> | yum block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.zypper">zypper</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper</a></code> | zypper block. |

---

##### `desiredState`<sup>Required</sup> <a name="desiredState" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.desiredState"></a>

```typescript
public readonly desiredState: string;
```

- *Type:* string

Required. The desired state the agent should maintain for this package. Possible values: DESIRED_STATE_UNSPECIFIED, INSTALLED, REMOVED.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#desired_state OsConfigOsPolicyAssignment#desired_state}

---

##### `apt`<sup>Optional</sup> <a name="apt" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.apt"></a>

```typescript
public readonly apt: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt</a>

apt block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#apt OsConfigOsPolicyAssignment#apt}

---

##### `deb`<sup>Optional</sup> <a name="deb" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.deb"></a>

```typescript
public readonly deb: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb</a>

deb block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#deb OsConfigOsPolicyAssignment#deb}

---

##### `googet`<sup>Optional</sup> <a name="googet" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.googet"></a>

```typescript
public readonly googet: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget</a>

googet block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#googet OsConfigOsPolicyAssignment#googet}

---

##### `msi`<sup>Optional</sup> <a name="msi" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.msi"></a>

```typescript
public readonly msi: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi</a>

msi block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#msi OsConfigOsPolicyAssignment#msi}

---

##### `rpm`<sup>Optional</sup> <a name="rpm" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.rpm"></a>

```typescript
public readonly rpm: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm</a>

rpm block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#rpm OsConfigOsPolicyAssignment#rpm}

---

##### `yum`<sup>Optional</sup> <a name="yum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.yum"></a>

```typescript
public readonly yum: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum</a>

yum block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#yum OsConfigOsPolicyAssignment#yum}

---

##### `zypper`<sup>Optional</sup> <a name="zypper" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkg.property.zypper"></a>

```typescript
public readonly zypper: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper</a>

zypper block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#zypper OsConfigOsPolicyAssignment#zypper}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt.property.name">name</a></code> | <code>string</code> | Required. Package name. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgApt.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Required. Package name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#name OsConfigOsPolicyAssignment#name}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb.property.source">source</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource</a></code> | source block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb.property.pullDeps">pullDeps</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether dependencies should also be installed. |

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb.property.source"></a>

```typescript
public readonly source: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource</a>

source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#source OsConfigOsPolicyAssignment#source}

---

##### `pullDeps`<sup>Optional</sup> <a name="pullDeps" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDeb.property.pullDeps"></a>

```typescript
public readonly pullDeps: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether dependencies should also be installed.

install when false: `dpkg -i package` - install when true: `apt-get update && apt-get -y install package.deb`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#pull_deps OsConfigOsPolicyAssignment#pull_deps}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource.property.allowInsecure">allowInsecure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defaults to false. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource.property.gcs">gcs</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs</a></code> | gcs block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource.property.localPath">localPath</a></code> | <code>string</code> | A local path within the VM to use. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource.property.remote">remote</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote</a></code> | remote block. |

---

##### `allowInsecure`<sup>Optional</sup> <a name="allowInsecure" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource.property.allowInsecure"></a>

```typescript
public readonly allowInsecure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defaults to false.

When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#allow_insecure OsConfigOsPolicyAssignment#allow_insecure}

---

##### `gcs`<sup>Optional</sup> <a name="gcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource.property.gcs"></a>

```typescript
public readonly gcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs</a>

gcs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#gcs OsConfigOsPolicyAssignment#gcs}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

A local path within the VM to use.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#local_path OsConfigOsPolicyAssignment#local_path}

---

##### `remote`<sup>Optional</sup> <a name="remote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSource.property.remote"></a>

```typescript
public readonly remote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote</a>

remote block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#remote OsConfigOsPolicyAssignment#remote}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs.property.bucket">bucket</a></code> | <code>string</code> | Required. Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs.property.object">object</a></code> | <code>string</code> | Required. Name of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs.property.generation">generation</a></code> | <code>number</code> | Generation number of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Required. Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#bucket OsConfigOsPolicyAssignment#bucket}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Required. Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#object OsConfigOsPolicyAssignment#object}

---

##### `generation`<sup>Optional</sup> <a name="generation" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceGcs.property.generation"></a>

```typescript
public readonly generation: number;
```

- *Type:* number

Generation number of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#generation OsConfigOsPolicyAssignment#generation}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote.property.uri">uri</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote.property.sha256Checksum">sha256Checksum</a></code> | <code>string</code> | SHA256 checksum of the remote file. |

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

Required.

URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#uri OsConfigOsPolicyAssignment#uri}

---

##### `sha256Checksum`<sup>Optional</sup> <a name="sha256Checksum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgDebSourceRemote.property.sha256Checksum"></a>

```typescript
public readonly sha256Checksum: string;
```

- *Type:* string

SHA256 checksum of the remote file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#sha256_checksum OsConfigOsPolicyAssignment#sha256_checksum}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget.property.name">name</a></code> | <code>string</code> | Required. Package name. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgGooget.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Required. Package name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#name OsConfigOsPolicyAssignment#name}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi.property.source">source</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource</a></code> | source block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi.property.properties">properties</a></code> | <code>string[]</code> | Additional properties to use during installation. |

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi.property.source"></a>

```typescript
public readonly source: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource</a>

source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#source OsConfigOsPolicyAssignment#source}

---

##### `properties`<sup>Optional</sup> <a name="properties" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsi.property.properties"></a>

```typescript
public readonly properties: string[];
```

- *Type:* string[]

Additional properties to use during installation.

This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#properties OsConfigOsPolicyAssignment#properties}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource.property.allowInsecure">allowInsecure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defaults to false. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource.property.gcs">gcs</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs</a></code> | gcs block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource.property.localPath">localPath</a></code> | <code>string</code> | A local path within the VM to use. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource.property.remote">remote</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote</a></code> | remote block. |

---

##### `allowInsecure`<sup>Optional</sup> <a name="allowInsecure" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource.property.allowInsecure"></a>

```typescript
public readonly allowInsecure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defaults to false.

When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#allow_insecure OsConfigOsPolicyAssignment#allow_insecure}

---

##### `gcs`<sup>Optional</sup> <a name="gcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource.property.gcs"></a>

```typescript
public readonly gcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs</a>

gcs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#gcs OsConfigOsPolicyAssignment#gcs}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

A local path within the VM to use.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#local_path OsConfigOsPolicyAssignment#local_path}

---

##### `remote`<sup>Optional</sup> <a name="remote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSource.property.remote"></a>

```typescript
public readonly remote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote</a>

remote block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#remote OsConfigOsPolicyAssignment#remote}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs.property.bucket">bucket</a></code> | <code>string</code> | Required. Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs.property.object">object</a></code> | <code>string</code> | Required. Name of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs.property.generation">generation</a></code> | <code>number</code> | Generation number of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Required. Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#bucket OsConfigOsPolicyAssignment#bucket}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Required. Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#object OsConfigOsPolicyAssignment#object}

---

##### `generation`<sup>Optional</sup> <a name="generation" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceGcs.property.generation"></a>

```typescript
public readonly generation: number;
```

- *Type:* number

Generation number of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#generation OsConfigOsPolicyAssignment#generation}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote.property.uri">uri</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote.property.sha256Checksum">sha256Checksum</a></code> | <code>string</code> | SHA256 checksum of the remote file. |

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

Required.

URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#uri OsConfigOsPolicyAssignment#uri}

---

##### `sha256Checksum`<sup>Optional</sup> <a name="sha256Checksum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgMsiSourceRemote.property.sha256Checksum"></a>

```typescript
public readonly sha256Checksum: string;
```

- *Type:* string

SHA256 checksum of the remote file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#sha256_checksum OsConfigOsPolicyAssignment#sha256_checksum}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm.property.source">source</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource</a></code> | source block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm.property.pullDeps">pullDeps</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether dependencies should also be installed. |

---

##### `source`<sup>Required</sup> <a name="source" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm.property.source"></a>

```typescript
public readonly source: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource</a>

source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#source OsConfigOsPolicyAssignment#source}

---

##### `pullDeps`<sup>Optional</sup> <a name="pullDeps" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpm.property.pullDeps"></a>

```typescript
public readonly pullDeps: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether dependencies should also be installed.

install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#pull_deps OsConfigOsPolicyAssignment#pull_deps}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource.property.allowInsecure">allowInsecure</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defaults to false. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource.property.gcs">gcs</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs</a></code> | gcs block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource.property.localPath">localPath</a></code> | <code>string</code> | A local path within the VM to use. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource.property.remote">remote</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote</a></code> | remote block. |

---

##### `allowInsecure`<sup>Optional</sup> <a name="allowInsecure" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource.property.allowInsecure"></a>

```typescript
public readonly allowInsecure: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defaults to false.

When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#allow_insecure OsConfigOsPolicyAssignment#allow_insecure}

---

##### `gcs`<sup>Optional</sup> <a name="gcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource.property.gcs"></a>

```typescript
public readonly gcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs</a>

gcs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#gcs OsConfigOsPolicyAssignment#gcs}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

A local path within the VM to use.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#local_path OsConfigOsPolicyAssignment#local_path}

---

##### `remote`<sup>Optional</sup> <a name="remote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSource.property.remote"></a>

```typescript
public readonly remote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote</a>

remote block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#remote OsConfigOsPolicyAssignment#remote}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs.property.bucket">bucket</a></code> | <code>string</code> | Required. Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs.property.object">object</a></code> | <code>string</code> | Required. Name of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs.property.generation">generation</a></code> | <code>number</code> | Generation number of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Required. Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#bucket OsConfigOsPolicyAssignment#bucket}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Required. Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#object OsConfigOsPolicyAssignment#object}

---

##### `generation`<sup>Optional</sup> <a name="generation" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceGcs.property.generation"></a>

```typescript
public readonly generation: number;
```

- *Type:* number

Generation number of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#generation OsConfigOsPolicyAssignment#generation}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote.property.uri">uri</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote.property.sha256Checksum">sha256Checksum</a></code> | <code>string</code> | SHA256 checksum of the remote file. |

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

Required.

URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#uri OsConfigOsPolicyAssignment#uri}

---

##### `sha256Checksum`<sup>Optional</sup> <a name="sha256Checksum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgRpmSourceRemote.property.sha256Checksum"></a>

```typescript
public readonly sha256Checksum: string;
```

- *Type:* string

SHA256 checksum of the remote file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#sha256_checksum OsConfigOsPolicyAssignment#sha256_checksum}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum.property.name">name</a></code> | <code>string</code> | Required. Package name. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgYum.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Required. Package name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#name OsConfigOsPolicyAssignment#name}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper.property.name">name</a></code> | <code>string</code> | Required. Package name. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesPkgZypper.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Required. Package name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#name OsConfigOsPolicyAssignment#name}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository.property.apt">apt</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt</a></code> | apt block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository.property.goo">goo</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo</a></code> | goo block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository.property.yum">yum</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum</a></code> | yum block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository.property.zypper">zypper</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper</a></code> | zypper block. |

---

##### `apt`<sup>Optional</sup> <a name="apt" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository.property.apt"></a>

```typescript
public readonly apt: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt</a>

apt block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#apt OsConfigOsPolicyAssignment#apt}

---

##### `goo`<sup>Optional</sup> <a name="goo" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository.property.goo"></a>

```typescript
public readonly goo: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo</a>

goo block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#goo OsConfigOsPolicyAssignment#goo}

---

##### `yum`<sup>Optional</sup> <a name="yum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository.property.yum"></a>

```typescript
public readonly yum: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum</a>

yum block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#yum OsConfigOsPolicyAssignment#yum}

---

##### `zypper`<sup>Optional</sup> <a name="zypper" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepository.property.zypper"></a>

```typescript
public readonly zypper: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper">OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper</a>

zypper block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#zypper OsConfigOsPolicyAssignment#zypper}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.archiveType">archiveType</a></code> | <code>string</code> | Required. Type of archive files in this repository. Possible values: ARCHIVE_TYPE_UNSPECIFIED, DEB, DEB_SRC. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.components">components</a></code> | <code>string[]</code> | Required. List of components for this repository. Must contain at least one item. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.distribution">distribution</a></code> | <code>string</code> | Required. Distribution of this repository. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.uri">uri</a></code> | <code>string</code> | Required. URI for this repository. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.gpgKey">gpgKey</a></code> | <code>string</code> | URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`. |

---

##### `archiveType`<sup>Required</sup> <a name="archiveType" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.archiveType"></a>

```typescript
public readonly archiveType: string;
```

- *Type:* string

Required. Type of archive files in this repository. Possible values: ARCHIVE_TYPE_UNSPECIFIED, DEB, DEB_SRC.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#archive_type OsConfigOsPolicyAssignment#archive_type}

---

##### `components`<sup>Required</sup> <a name="components" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.components"></a>

```typescript
public readonly components: string[];
```

- *Type:* string[]

Required. List of components for this repository. Must contain at least one item.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#components OsConfigOsPolicyAssignment#components}

---

##### `distribution`<sup>Required</sup> <a name="distribution" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.distribution"></a>

```typescript
public readonly distribution: string;
```

- *Type:* string

Required. Distribution of this repository.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#distribution OsConfigOsPolicyAssignment#distribution}

---

##### `uri`<sup>Required</sup> <a name="uri" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.uri"></a>

```typescript
public readonly uri: string;
```

- *Type:* string

Required. URI for this repository.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#uri OsConfigOsPolicyAssignment#uri}

---

##### `gpgKey`<sup>Optional</sup> <a name="gpgKey" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryApt.property.gpgKey"></a>

```typescript
public readonly gpgKey: string;
```

- *Type:* string

URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#gpg_key OsConfigOsPolicyAssignment#gpg_key}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo.property.name">name</a></code> | <code>string</code> | Required. The name of the repository. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo.property.url">url</a></code> | <code>string</code> | Required. The url of the repository. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Required. The name of the repository.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#name OsConfigOsPolicyAssignment#name}

---

##### `url`<sup>Required</sup> <a name="url" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryGoo.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

Required. The url of the repository.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#url OsConfigOsPolicyAssignment#url}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum.property.baseUrl">baseUrl</a></code> | <code>string</code> | Required. The location of the repository directory. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum.property.id">id</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum.property.displayName">displayName</a></code> | <code>string</code> | The display name of the repository. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum.property.gpgKeys">gpgKeys</a></code> | <code>string[]</code> | URIs of GPG keys. |

---

##### `baseUrl`<sup>Required</sup> <a name="baseUrl" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum.property.baseUrl"></a>

```typescript
public readonly baseUrl: string;
```

- *Type:* string

Required. The location of the repository directory.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#base_url OsConfigOsPolicyAssignment#base_url}

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Required.

A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#id OsConfigOsPolicyAssignment#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The display name of the repository.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#display_name OsConfigOsPolicyAssignment#display_name}

---

##### `gpgKeys`<sup>Optional</sup> <a name="gpgKeys" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryYum.property.gpgKeys"></a>

```typescript
public readonly gpgKeys: string[];
```

- *Type:* string[]

URIs of GPG keys.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#gpg_keys OsConfigOsPolicyAssignment#gpg_keys}

---

### OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper <a name="OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper: OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper.property.baseUrl">baseUrl</a></code> | <code>string</code> | Required. The location of the repository directory. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper.property.id">id</a></code> | <code>string</code> | Required. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper.property.displayName">displayName</a></code> | <code>string</code> | The display name of the repository. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper.property.gpgKeys">gpgKeys</a></code> | <code>string[]</code> | URIs of GPG keys. |

---

##### `baseUrl`<sup>Required</sup> <a name="baseUrl" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper.property.baseUrl"></a>

```typescript
public readonly baseUrl: string;
```

- *Type:* string

Required. The location of the repository directory.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#base_url OsConfigOsPolicyAssignment#base_url}

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Required.

A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#id OsConfigOsPolicyAssignment#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The display name of the repository.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#display_name OsConfigOsPolicyAssignment#display_name}

---

##### `gpgKeys`<sup>Optional</sup> <a name="gpgKeys" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentOsPoliciesResourceGroupsResourcesRepositoryZypper.property.gpgKeys"></a>

```typescript
public readonly gpgKeys: string[];
```

- *Type:* string[]

URIs of GPG keys.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#gpg_keys OsConfigOsPolicyAssignment#gpg_keys}

---

### OsConfigOsPolicyAssignmentRollout <a name="OsConfigOsPolicyAssignmentRollout" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentRollout } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentRollout: OsConfigOsPolicyAssignmentRollout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout.property.disruptionBudget">disruptionBudget</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutDisruptionBudget">OsConfigOsPolicyAssignmentRolloutDisruptionBudget</a></code> | disruption_budget block. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout.property.minWaitDuration">minWaitDuration</a></code> | <code>string</code> | Required. |

---

##### `disruptionBudget`<sup>Required</sup> <a name="disruptionBudget" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout.property.disruptionBudget"></a>

```typescript
public readonly disruptionBudget: OsConfigOsPolicyAssignmentRolloutDisruptionBudget;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutDisruptionBudget">OsConfigOsPolicyAssignmentRolloutDisruptionBudget</a>

disruption_budget block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#disruption_budget OsConfigOsPolicyAssignment#disruption_budget}

---

##### `minWaitDuration`<sup>Required</sup> <a name="minWaitDuration" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentRollout.property.minWaitDuration"></a>

```typescript
public readonly minWaitDuration: string;
```

- *Type:* string

Required.

This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#min_wait_duration OsConfigOsPolicyAssignment#min_wait_duration}

---

### OsConfigOsPolicyAssignmentRolloutDisruptionBudget <a name="OsConfigOsPolicyAssignmentRolloutDisruptionBudget" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutDisruptionBudget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutDisruptionBudget.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentRolloutDisruptionBudget } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentRolloutDisruptionBudget: OsConfigOsPolicyAssignmentRolloutDisruptionBudget = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutDisruptionBudget.property.fixed">fixed</a></code> | <code>number</code> | Specifies a fixed value. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutDisruptionBudget.property.percent">percent</a></code> | <code>number</code> | Specifies the relative value defined as a percentage, which will be multiplied by a reference value. |

---

##### `fixed`<sup>Optional</sup> <a name="fixed" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutDisruptionBudget.property.fixed"></a>

```typescript
public readonly fixed: number;
```

- *Type:* number

Specifies a fixed value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#fixed OsConfigOsPolicyAssignment#fixed}

---

##### `percent`<sup>Optional</sup> <a name="percent" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentRolloutDisruptionBudget.property.percent"></a>

```typescript
public readonly percent: number;
```

- *Type:* number

Specifies the relative value defined as a percentage, which will be multiplied by a reference value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#percent OsConfigOsPolicyAssignment#percent}

---

### OsConfigOsPolicyAssignmentTimeouts <a name="OsConfigOsPolicyAssignmentTimeouts" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts.Initializer"></a>

```typescript
import { OsConfigOsPolicyAssignmentTimeouts } from '@dschmidt/provider-google'

const osConfigOsPolicyAssignmentTimeouts: OsConfigOsPolicyAssignmentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#create OsConfigOsPolicyAssignment#create}. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#delete OsConfigOsPolicyAssignment#delete}. |
| <code><a href="#@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#update OsConfigOsPolicyAssignment#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#create OsConfigOsPolicyAssignment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#delete OsConfigOsPolicyAssignment#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.OsConfigOsPolicyAssignmentTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_os_policy_assignment#update OsConfigOsPolicyAssignment#update}.

---

### OsConfigPatchDeploymentConfig <a name="OsConfigPatchDeploymentConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentConfig } from '@dschmidt/provider-google'

const osConfigPatchDeploymentConfig: OsConfigPatchDeploymentConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.instanceFilter">instanceFilter</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter">OsConfigPatchDeploymentInstanceFilter</a></code> | instance_filter block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.patchDeploymentId">patchDeploymentId</a></code> | <code>string</code> | A name for the patch deployment in the project. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.description">description</a></code> | <code>string</code> | Description of the patch deployment. Length of the description is limited to 1024 characters. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.duration">duration</a></code> | <code>string</code> | Duration of the patch. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#id OsConfigPatchDeployment#id}. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.oneTimeSchedule">oneTimeSchedule</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeSchedule">OsConfigPatchDeploymentOneTimeSchedule</a></code> | one_time_schedule block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.patchConfig">patchConfig</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig">OsConfigPatchDeploymentPatchConfig</a></code> | patch_config block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#project OsConfigPatchDeployment#project}. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.recurringSchedule">recurringSchedule</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule">OsConfigPatchDeploymentRecurringSchedule</a></code> | recurring_schedule block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.rollout">rollout</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRollout">OsConfigPatchDeploymentRollout</a></code> | rollout block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts">OsConfigPatchDeploymentTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instanceFilter`<sup>Required</sup> <a name="instanceFilter" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.instanceFilter"></a>

```typescript
public readonly instanceFilter: OsConfigPatchDeploymentInstanceFilter;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter">OsConfigPatchDeploymentInstanceFilter</a>

instance_filter block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#instance_filter OsConfigPatchDeployment#instance_filter}

---

##### `patchDeploymentId`<sup>Required</sup> <a name="patchDeploymentId" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.patchDeploymentId"></a>

```typescript
public readonly patchDeploymentId: string;
```

- *Type:* string

A name for the patch deployment in the project.

When creating a name the following rules apply:
Must contain only lowercase letters, numbers, and hyphens.
Must start with a letter.
Must be between 1-63 characters.
Must end with a number or a letter.
Must be unique within the project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#patch_deployment_id OsConfigPatchDeployment#patch_deployment_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the patch deployment. Length of the description is limited to 1024 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#description OsConfigPatchDeployment#description}

---

##### `duration`<sup>Optional</sup> <a name="duration" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.duration"></a>

```typescript
public readonly duration: string;
```

- *Type:* string

Duration of the patch.

After the duration ends, the patch times out.
A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#duration OsConfigPatchDeployment#duration}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#id OsConfigPatchDeployment#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `oneTimeSchedule`<sup>Optional</sup> <a name="oneTimeSchedule" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.oneTimeSchedule"></a>

```typescript
public readonly oneTimeSchedule: OsConfigPatchDeploymentOneTimeSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeSchedule">OsConfigPatchDeploymentOneTimeSchedule</a>

one_time_schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#one_time_schedule OsConfigPatchDeployment#one_time_schedule}

---

##### `patchConfig`<sup>Optional</sup> <a name="patchConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.patchConfig"></a>

```typescript
public readonly patchConfig: OsConfigPatchDeploymentPatchConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig">OsConfigPatchDeploymentPatchConfig</a>

patch_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#patch_config OsConfigPatchDeployment#patch_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#project OsConfigPatchDeployment#project}.

---

##### `recurringSchedule`<sup>Optional</sup> <a name="recurringSchedule" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.recurringSchedule"></a>

```typescript
public readonly recurringSchedule: OsConfigPatchDeploymentRecurringSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule">OsConfigPatchDeploymentRecurringSchedule</a>

recurring_schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#recurring_schedule OsConfigPatchDeployment#recurring_schedule}

---

##### `rollout`<sup>Optional</sup> <a name="rollout" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.rollout"></a>

```typescript
public readonly rollout: OsConfigPatchDeploymentRollout;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRollout">OsConfigPatchDeploymentRollout</a>

rollout block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#rollout OsConfigPatchDeployment#rollout}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.OsConfigPatchDeploymentConfig.property.timeouts"></a>

```typescript
public readonly timeouts: OsConfigPatchDeploymentTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts">OsConfigPatchDeploymentTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#timeouts OsConfigPatchDeployment#timeouts}

---

### OsConfigPatchDeploymentInstanceFilter <a name="OsConfigPatchDeploymentInstanceFilter" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentInstanceFilter } from '@dschmidt/provider-google'

const osConfigPatchDeploymentInstanceFilter: OsConfigPatchDeploymentInstanceFilter = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.all">all</a></code> | <code>boolean \| cdktf.IResolvable</code> | Target all VM instances in the project. If true, no other criteria is permitted. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.groupLabels">groupLabels</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilterGroupLabels">OsConfigPatchDeploymentInstanceFilterGroupLabels</a>[]</code> | group_labels block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.instanceNamePrefixes">instanceNamePrefixes</a></code> | <code>string[]</code> | Targets VMs whose name starts with one of these prefixes. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.instances">instances</a></code> | <code>string[]</code> | Targets any of the VM instances specified. Instances are specified by their URI in the 'form zones/{{zone}}/instances/{{instance_name}}', 'projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}', or 'https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}'. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.zones">zones</a></code> | <code>string[]</code> | Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone. |

---

##### `all`<sup>Optional</sup> <a name="all" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.all"></a>

```typescript
public readonly all: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Target all VM instances in the project. If true, no other criteria is permitted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#all OsConfigPatchDeployment#all}

---

##### `groupLabels`<sup>Optional</sup> <a name="groupLabels" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.groupLabels"></a>

```typescript
public readonly groupLabels: IResolvable | OsConfigPatchDeploymentInstanceFilterGroupLabels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilterGroupLabels">OsConfigPatchDeploymentInstanceFilterGroupLabels</a>[]

group_labels block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#group_labels OsConfigPatchDeployment#group_labels}

---

##### `instanceNamePrefixes`<sup>Optional</sup> <a name="instanceNamePrefixes" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.instanceNamePrefixes"></a>

```typescript
public readonly instanceNamePrefixes: string[];
```

- *Type:* string[]

Targets VMs whose name starts with one of these prefixes.

Similar to labels, this is another way to group
VMs when targeting configs, for example prefix="prod-".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#instance_name_prefixes OsConfigPatchDeployment#instance_name_prefixes}

---

##### `instances`<sup>Optional</sup> <a name="instances" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.instances"></a>

```typescript
public readonly instances: string[];
```

- *Type:* string[]

Targets any of the VM instances specified. Instances are specified by their URI in the 'form zones/{{zone}}/instances/{{instance_name}}', 'projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}', or 'https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#instances OsConfigPatchDeployment#instances}

---

##### `zones`<sup>Optional</sup> <a name="zones" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilter.property.zones"></a>

```typescript
public readonly zones: string[];
```

- *Type:* string[]

Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#zones OsConfigPatchDeployment#zones}

---

### OsConfigPatchDeploymentInstanceFilterGroupLabels <a name="OsConfigPatchDeploymentInstanceFilterGroupLabels" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilterGroupLabels"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilterGroupLabels.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentInstanceFilterGroupLabels } from '@dschmidt/provider-google'

const osConfigPatchDeploymentInstanceFilterGroupLabels: OsConfigPatchDeploymentInstanceFilterGroupLabels = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilterGroupLabels.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Compute Engine instance labels that must be present for a VM instance to be targeted by this filter. |

---

##### `labels`<sup>Required</sup> <a name="labels" id="@dschmidt/provider-google.OsConfigPatchDeploymentInstanceFilterGroupLabels.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#labels OsConfigPatchDeployment#labels}

---

### OsConfigPatchDeploymentOneTimeSchedule <a name="OsConfigPatchDeploymentOneTimeSchedule" id="@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeSchedule.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentOneTimeSchedule } from '@dschmidt/provider-google'

const osConfigPatchDeploymentOneTimeSchedule: OsConfigPatchDeploymentOneTimeSchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeSchedule.property.executeTime">executeTime</a></code> | <code>string</code> | The desired patch job execution time. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". |

---

##### `executeTime`<sup>Required</sup> <a name="executeTime" id="@dschmidt/provider-google.OsConfigPatchDeploymentOneTimeSchedule.property.executeTime"></a>

```typescript
public readonly executeTime: string;
```

- *Type:* string

The desired patch job execution time. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#execute_time OsConfigPatchDeployment#execute_time}

---

### OsConfigPatchDeploymentPatchConfig <a name="OsConfigPatchDeploymentPatchConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfig } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfig: OsConfigPatchDeploymentPatchConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.apt">apt</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt">OsConfigPatchDeploymentPatchConfigApt</a></code> | apt block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.goo">goo</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigGoo">OsConfigPatchDeploymentPatchConfigGoo</a></code> | goo block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.migInstancesAllowed">migInstancesAllowed</a></code> | <code>boolean \| cdktf.IResolvable</code> | Allows the patch job to run on Managed instance groups (MIGs). |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.postStep">postStep</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStep">OsConfigPatchDeploymentPatchConfigPostStep</a></code> | post_step block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.preStep">preStep</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStep">OsConfigPatchDeploymentPatchConfigPreStep</a></code> | pre_step block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.rebootConfig">rebootConfig</a></code> | <code>string</code> | Post-patch reboot settings. Possible values: ["DEFAULT", "ALWAYS", "NEVER"]. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.windowsUpdate">windowsUpdate</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate">OsConfigPatchDeploymentPatchConfigWindowsUpdate</a></code> | windows_update block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.yum">yum</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum">OsConfigPatchDeploymentPatchConfigYum</a></code> | yum block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.zypper">zypper</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper">OsConfigPatchDeploymentPatchConfigZypper</a></code> | zypper block. |

---

##### `apt`<sup>Optional</sup> <a name="apt" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.apt"></a>

```typescript
public readonly apt: OsConfigPatchDeploymentPatchConfigApt;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt">OsConfigPatchDeploymentPatchConfigApt</a>

apt block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#apt OsConfigPatchDeployment#apt}

---

##### `goo`<sup>Optional</sup> <a name="goo" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.goo"></a>

```typescript
public readonly goo: OsConfigPatchDeploymentPatchConfigGoo;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigGoo">OsConfigPatchDeploymentPatchConfigGoo</a>

goo block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#goo OsConfigPatchDeployment#goo}

---

##### `migInstancesAllowed`<sup>Optional</sup> <a name="migInstancesAllowed" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.migInstancesAllowed"></a>

```typescript
public readonly migInstancesAllowed: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Allows the patch job to run on Managed instance groups (MIGs).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#mig_instances_allowed OsConfigPatchDeployment#mig_instances_allowed}

---

##### `postStep`<sup>Optional</sup> <a name="postStep" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.postStep"></a>

```typescript
public readonly postStep: OsConfigPatchDeploymentPatchConfigPostStep;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStep">OsConfigPatchDeploymentPatchConfigPostStep</a>

post_step block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#post_step OsConfigPatchDeployment#post_step}

---

##### `preStep`<sup>Optional</sup> <a name="preStep" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.preStep"></a>

```typescript
public readonly preStep: OsConfigPatchDeploymentPatchConfigPreStep;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStep">OsConfigPatchDeploymentPatchConfigPreStep</a>

pre_step block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#pre_step OsConfigPatchDeployment#pre_step}

---

##### `rebootConfig`<sup>Optional</sup> <a name="rebootConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.rebootConfig"></a>

```typescript
public readonly rebootConfig: string;
```

- *Type:* string

Post-patch reboot settings. Possible values: ["DEFAULT", "ALWAYS", "NEVER"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#reboot_config OsConfigPatchDeployment#reboot_config}

---

##### `windowsUpdate`<sup>Optional</sup> <a name="windowsUpdate" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.windowsUpdate"></a>

```typescript
public readonly windowsUpdate: OsConfigPatchDeploymentPatchConfigWindowsUpdate;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate">OsConfigPatchDeploymentPatchConfigWindowsUpdate</a>

windows_update block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#windows_update OsConfigPatchDeployment#windows_update}

---

##### `yum`<sup>Optional</sup> <a name="yum" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.yum"></a>

```typescript
public readonly yum: OsConfigPatchDeploymentPatchConfigYum;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum">OsConfigPatchDeploymentPatchConfigYum</a>

yum block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#yum OsConfigPatchDeployment#yum}

---

##### `zypper`<sup>Optional</sup> <a name="zypper" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfig.property.zypper"></a>

```typescript
public readonly zypper: OsConfigPatchDeploymentPatchConfigZypper;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper">OsConfigPatchDeploymentPatchConfigZypper</a>

zypper block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#zypper OsConfigPatchDeployment#zypper}

---

### OsConfigPatchDeploymentPatchConfigApt <a name="OsConfigPatchDeploymentPatchConfigApt" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigApt } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigApt: OsConfigPatchDeploymentPatchConfigApt = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt.property.excludes">excludes</a></code> | <code>string[]</code> | List of packages to exclude from update. These packages will be excluded. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt.property.exclusivePackages">exclusivePackages</a></code> | <code>string[]</code> | An exclusive list of packages to be updated. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt.property.type">type</a></code> | <code>string</code> | By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values: ["DIST", "UPGRADE"]. |

---

##### `excludes`<sup>Optional</sup> <a name="excludes" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt.property.excludes"></a>

```typescript
public readonly excludes: string[];
```

- *Type:* string[]

List of packages to exclude from update. These packages will be excluded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#excludes OsConfigPatchDeployment#excludes}

---

##### `exclusivePackages`<sup>Optional</sup> <a name="exclusivePackages" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt.property.exclusivePackages"></a>

```typescript
public readonly exclusivePackages: string[];
```

- *Type:* string[]

An exclusive list of packages to be updated.

These are the only packages that will be updated.
If these packages are not installed, they will be ignored. This field cannot be specified with
any other patch configuration fields.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#exclusive_packages OsConfigPatchDeployment#exclusive_packages}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigApt.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values: ["DIST", "UPGRADE"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#type OsConfigPatchDeployment#type}

---

### OsConfigPatchDeploymentPatchConfigGoo <a name="OsConfigPatchDeploymentPatchConfigGoo" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigGoo"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigGoo.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigGoo } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigGoo: OsConfigPatchDeploymentPatchConfigGoo = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigGoo.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | goo update settings. Use this setting to override the default goo patch rules. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigGoo.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

goo update settings. Use this setting to override the default goo patch rules.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#enabled OsConfigPatchDeployment#enabled}

---

### OsConfigPatchDeploymentPatchConfigPostStep <a name="OsConfigPatchDeploymentPatchConfigPostStep" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStep"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStep.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPostStep } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPostStep: OsConfigPatchDeploymentPatchConfigPostStep = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStep.property.linuxExecStepConfig">linuxExecStepConfig</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig">OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig</a></code> | linux_exec_step_config block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStep.property.windowsExecStepConfig">windowsExecStepConfig</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig">OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig</a></code> | windows_exec_step_config block. |

---

##### `linuxExecStepConfig`<sup>Optional</sup> <a name="linuxExecStepConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStep.property.linuxExecStepConfig"></a>

```typescript
public readonly linuxExecStepConfig: OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig">OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig</a>

linux_exec_step_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#linux_exec_step_config OsConfigPatchDeployment#linux_exec_step_config}

---

##### `windowsExecStepConfig`<sup>Optional</sup> <a name="windowsExecStepConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStep.property.windowsExecStepConfig"></a>

```typescript
public readonly windowsExecStepConfig: OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig">OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig</a>

windows_exec_step_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#windows_exec_step_config OsConfigPatchDeployment#windows_exec_step_config}

---

### OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig <a name="OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig: OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig.property.allowedSuccessCodes">allowedSuccessCodes</a></code> | <code>number[]</code> | Defaults to [0]. A list of possible return values that the execution can return to indicate a success. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig.property.gcsObject">gcsObject</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject">OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject</a></code> | gcs_object block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig.property.interpreter">interpreter</a></code> | <code>string</code> | The script interpreter to use to run the script. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig.property.localPath">localPath</a></code> | <code>string</code> | An absolute path to the executable on the VM. |

---

##### `allowedSuccessCodes`<sup>Optional</sup> <a name="allowedSuccessCodes" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig.property.allowedSuccessCodes"></a>

```typescript
public readonly allowedSuccessCodes: number[];
```

- *Type:* number[]

Defaults to [0]. A list of possible return values that the execution can return to indicate a success.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#allowed_success_codes OsConfigPatchDeployment#allowed_success_codes}

---

##### `gcsObject`<sup>Optional</sup> <a name="gcsObject" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig.property.gcsObject"></a>

```typescript
public readonly gcsObject: OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject">OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject</a>

gcs_object block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#gcs_object OsConfigPatchDeployment#gcs_object}

---

##### `interpreter`<sup>Optional</sup> <a name="interpreter" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig.property.interpreter"></a>

```typescript
public readonly interpreter: string;
```

- *Type:* string

The script interpreter to use to run the script.

If no interpreter is specified the script will
be executed directly, which will likely only succeed for scripts with shebang lines. Possible values: ["SHELL", "POWERSHELL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#interpreter OsConfigPatchDeployment#interpreter}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfig.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

An absolute path to the executable on the VM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#local_path OsConfigPatchDeployment#local_path}

---

### OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject <a name="OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject: OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject.property.bucket">bucket</a></code> | <code>string</code> | Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject.property.generationNumber">generationNumber</a></code> | <code>string</code> | Generation number of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject.property.object">object</a></code> | <code>string</code> | Name of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#bucket OsConfigPatchDeployment#bucket}

---

##### `generationNumber`<sup>Required</sup> <a name="generationNumber" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject.property.generationNumber"></a>

```typescript
public readonly generationNumber: string;
```

- *Type:* string

Generation number of the Cloud Storage object.

This is used to ensure that the ExecStep specified by this PatchJob does not change.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#generation_number OsConfigPatchDeployment#generation_number}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#object OsConfigPatchDeployment#object}

---

### OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig <a name="OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig: OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig.property.allowedSuccessCodes">allowedSuccessCodes</a></code> | <code>number[]</code> | Defaults to [0]. A list of possible return values that the execution can return to indicate a success. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig.property.gcsObject">gcsObject</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject">OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject</a></code> | gcs_object block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig.property.interpreter">interpreter</a></code> | <code>string</code> | The script interpreter to use to run the script. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig.property.localPath">localPath</a></code> | <code>string</code> | An absolute path to the executable on the VM. |

---

##### `allowedSuccessCodes`<sup>Optional</sup> <a name="allowedSuccessCodes" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig.property.allowedSuccessCodes"></a>

```typescript
public readonly allowedSuccessCodes: number[];
```

- *Type:* number[]

Defaults to [0]. A list of possible return values that the execution can return to indicate a success.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#allowed_success_codes OsConfigPatchDeployment#allowed_success_codes}

---

##### `gcsObject`<sup>Optional</sup> <a name="gcsObject" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig.property.gcsObject"></a>

```typescript
public readonly gcsObject: OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject">OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject</a>

gcs_object block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#gcs_object OsConfigPatchDeployment#gcs_object}

---

##### `interpreter`<sup>Optional</sup> <a name="interpreter" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig.property.interpreter"></a>

```typescript
public readonly interpreter: string;
```

- *Type:* string

The script interpreter to use to run the script.

If no interpreter is specified the script will
be executed directly, which will likely only succeed for scripts with shebang lines. Possible values: ["SHELL", "POWERSHELL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#interpreter OsConfigPatchDeployment#interpreter}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfig.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

An absolute path to the executable on the VM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#local_path OsConfigPatchDeployment#local_path}

---

### OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject <a name="OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject: OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject.property.bucket">bucket</a></code> | <code>string</code> | Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject.property.generationNumber">generationNumber</a></code> | <code>string</code> | Generation number of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject.property.object">object</a></code> | <code>string</code> | Name of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#bucket OsConfigPatchDeployment#bucket}

---

##### `generationNumber`<sup>Required</sup> <a name="generationNumber" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject.property.generationNumber"></a>

```typescript
public readonly generationNumber: string;
```

- *Type:* string

Generation number of the Cloud Storage object.

This is used to ensure that the ExecStep specified by this PatchJob does not change.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#generation_number OsConfigPatchDeployment#generation_number}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#object OsConfigPatchDeployment#object}

---

### OsConfigPatchDeploymentPatchConfigPreStep <a name="OsConfigPatchDeploymentPatchConfigPreStep" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStep"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStep.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPreStep } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPreStep: OsConfigPatchDeploymentPatchConfigPreStep = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStep.property.linuxExecStepConfig">linuxExecStepConfig</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig">OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig</a></code> | linux_exec_step_config block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStep.property.windowsExecStepConfig">windowsExecStepConfig</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig">OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig</a></code> | windows_exec_step_config block. |

---

##### `linuxExecStepConfig`<sup>Optional</sup> <a name="linuxExecStepConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStep.property.linuxExecStepConfig"></a>

```typescript
public readonly linuxExecStepConfig: OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig">OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig</a>

linux_exec_step_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#linux_exec_step_config OsConfigPatchDeployment#linux_exec_step_config}

---

##### `windowsExecStepConfig`<sup>Optional</sup> <a name="windowsExecStepConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStep.property.windowsExecStepConfig"></a>

```typescript
public readonly windowsExecStepConfig: OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig">OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig</a>

windows_exec_step_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#windows_exec_step_config OsConfigPatchDeployment#windows_exec_step_config}

---

### OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig <a name="OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig: OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig.property.allowedSuccessCodes">allowedSuccessCodes</a></code> | <code>number[]</code> | Defaults to [0]. A list of possible return values that the execution can return to indicate a success. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig.property.gcsObject">gcsObject</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject">OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject</a></code> | gcs_object block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig.property.interpreter">interpreter</a></code> | <code>string</code> | The script interpreter to use to run the script. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig.property.localPath">localPath</a></code> | <code>string</code> | An absolute path to the executable on the VM. |

---

##### `allowedSuccessCodes`<sup>Optional</sup> <a name="allowedSuccessCodes" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig.property.allowedSuccessCodes"></a>

```typescript
public readonly allowedSuccessCodes: number[];
```

- *Type:* number[]

Defaults to [0]. A list of possible return values that the execution can return to indicate a success.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#allowed_success_codes OsConfigPatchDeployment#allowed_success_codes}

---

##### `gcsObject`<sup>Optional</sup> <a name="gcsObject" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig.property.gcsObject"></a>

```typescript
public readonly gcsObject: OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject">OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject</a>

gcs_object block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#gcs_object OsConfigPatchDeployment#gcs_object}

---

##### `interpreter`<sup>Optional</sup> <a name="interpreter" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig.property.interpreter"></a>

```typescript
public readonly interpreter: string;
```

- *Type:* string

The script interpreter to use to run the script.

If no interpreter is specified the script will
be executed directly, which will likely only succeed for scripts with shebang lines. Possible values: ["SHELL", "POWERSHELL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#interpreter OsConfigPatchDeployment#interpreter}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfig.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

An absolute path to the executable on the VM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#local_path OsConfigPatchDeployment#local_path}

---

### OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject <a name="OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject: OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject.property.bucket">bucket</a></code> | <code>string</code> | Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject.property.generationNumber">generationNumber</a></code> | <code>string</code> | Generation number of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject.property.object">object</a></code> | <code>string</code> | Name of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#bucket OsConfigPatchDeployment#bucket}

---

##### `generationNumber`<sup>Required</sup> <a name="generationNumber" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject.property.generationNumber"></a>

```typescript
public readonly generationNumber: string;
```

- *Type:* string

Generation number of the Cloud Storage object.

This is used to ensure that the ExecStep specified by this PatchJob does not change.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#generation_number OsConfigPatchDeployment#generation_number}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#object OsConfigPatchDeployment#object}

---

### OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig <a name="OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig: OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig.property.allowedSuccessCodes">allowedSuccessCodes</a></code> | <code>number[]</code> | Defaults to [0]. A list of possible return values that the execution can return to indicate a success. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig.property.gcsObject">gcsObject</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject">OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject</a></code> | gcs_object block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig.property.interpreter">interpreter</a></code> | <code>string</code> | The script interpreter to use to run the script. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig.property.localPath">localPath</a></code> | <code>string</code> | An absolute path to the executable on the VM. |

---

##### `allowedSuccessCodes`<sup>Optional</sup> <a name="allowedSuccessCodes" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig.property.allowedSuccessCodes"></a>

```typescript
public readonly allowedSuccessCodes: number[];
```

- *Type:* number[]

Defaults to [0]. A list of possible return values that the execution can return to indicate a success.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#allowed_success_codes OsConfigPatchDeployment#allowed_success_codes}

---

##### `gcsObject`<sup>Optional</sup> <a name="gcsObject" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig.property.gcsObject"></a>

```typescript
public readonly gcsObject: OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject">OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject</a>

gcs_object block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#gcs_object OsConfigPatchDeployment#gcs_object}

---

##### `interpreter`<sup>Optional</sup> <a name="interpreter" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig.property.interpreter"></a>

```typescript
public readonly interpreter: string;
```

- *Type:* string

The script interpreter to use to run the script.

If no interpreter is specified the script will
be executed directly, which will likely only succeed for scripts with shebang lines. Possible values: ["SHELL", "POWERSHELL"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#interpreter OsConfigPatchDeployment#interpreter}

---

##### `localPath`<sup>Optional</sup> <a name="localPath" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfig.property.localPath"></a>

```typescript
public readonly localPath: string;
```

- *Type:* string

An absolute path to the executable on the VM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#local_path OsConfigPatchDeployment#local_path}

---

### OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject <a name="OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject: OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject.property.bucket">bucket</a></code> | <code>string</code> | Bucket of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject.property.generationNumber">generationNumber</a></code> | <code>string</code> | Generation number of the Cloud Storage object. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject.property.object">object</a></code> | <code>string</code> | Name of the Cloud Storage object. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Bucket of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#bucket OsConfigPatchDeployment#bucket}

---

##### `generationNumber`<sup>Required</sup> <a name="generationNumber" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject.property.generationNumber"></a>

```typescript
public readonly generationNumber: string;
```

- *Type:* string

Generation number of the Cloud Storage object.

This is used to ensure that the ExecStep specified by this PatchJob does not change.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#generation_number OsConfigPatchDeployment#generation_number}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Name of the Cloud Storage object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#object OsConfigPatchDeployment#object}

---

### OsConfigPatchDeploymentPatchConfigWindowsUpdate <a name="OsConfigPatchDeploymentPatchConfigWindowsUpdate" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigWindowsUpdate } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigWindowsUpdate: OsConfigPatchDeploymentPatchConfigWindowsUpdate = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate.property.classifications">classifications</a></code> | <code>string[]</code> | Only apply updates of these windows update classifications. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate.property.excludes">excludes</a></code> | <code>string[]</code> | List of KBs to exclude from update. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate.property.exclusivePatches">exclusivePatches</a></code> | <code>string[]</code> | An exclusive list of kbs to be updated. |

---

##### `classifications`<sup>Optional</sup> <a name="classifications" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate.property.classifications"></a>

```typescript
public readonly classifications: string[];
```

- *Type:* string[]

Only apply updates of these windows update classifications.

If empty, all updates are applied. Possible values: ["CRITICAL", "SECURITY", "DEFINITION", "DRIVER", "FEATURE_PACK", "SERVICE_PACK", "TOOL", "UPDATE_ROLLUP", "UPDATE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#classifications OsConfigPatchDeployment#classifications}

---

##### `excludes`<sup>Optional</sup> <a name="excludes" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate.property.excludes"></a>

```typescript
public readonly excludes: string[];
```

- *Type:* string[]

List of KBs to exclude from update.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#excludes OsConfigPatchDeployment#excludes}

---

##### `exclusivePatches`<sup>Optional</sup> <a name="exclusivePatches" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigWindowsUpdate.property.exclusivePatches"></a>

```typescript
public readonly exclusivePatches: string[];
```

- *Type:* string[]

An exclusive list of kbs to be updated.

These are the only patches that will be updated.
This field must not be used with other patch configurations.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#exclusive_patches OsConfigPatchDeployment#exclusive_patches}

---

### OsConfigPatchDeploymentPatchConfigYum <a name="OsConfigPatchDeploymentPatchConfigYum" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigYum } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigYum: OsConfigPatchDeploymentPatchConfigYum = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum.property.excludes">excludes</a></code> | <code>string[]</code> | List of packages to exclude from update. These packages will be excluded. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum.property.exclusivePackages">exclusivePackages</a></code> | <code>string[]</code> | An exclusive list of packages to be updated. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum.property.minimal">minimal</a></code> | <code>boolean \| cdktf.IResolvable</code> | Will cause patch to run yum update-minimal instead. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum.property.security">security</a></code> | <code>boolean \| cdktf.IResolvable</code> | Adds the --security flag to yum update. Not supported on all platforms. |

---

##### `excludes`<sup>Optional</sup> <a name="excludes" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum.property.excludes"></a>

```typescript
public readonly excludes: string[];
```

- *Type:* string[]

List of packages to exclude from update. These packages will be excluded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#excludes OsConfigPatchDeployment#excludes}

---

##### `exclusivePackages`<sup>Optional</sup> <a name="exclusivePackages" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum.property.exclusivePackages"></a>

```typescript
public readonly exclusivePackages: string[];
```

- *Type:* string[]

An exclusive list of packages to be updated.

These are the only packages that will be updated.
If these packages are not installed, they will be ignored. This field cannot be specified with
any other patch configuration fields.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#exclusive_packages OsConfigPatchDeployment#exclusive_packages}

---

##### `minimal`<sup>Optional</sup> <a name="minimal" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum.property.minimal"></a>

```typescript
public readonly minimal: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Will cause patch to run yum update-minimal instead.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#minimal OsConfigPatchDeployment#minimal}

---

##### `security`<sup>Optional</sup> <a name="security" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigYum.property.security"></a>

```typescript
public readonly security: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Adds the --security flag to yum update. Not supported on all platforms.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#security OsConfigPatchDeployment#security}

---

### OsConfigPatchDeploymentPatchConfigZypper <a name="OsConfigPatchDeploymentPatchConfigZypper" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentPatchConfigZypper } from '@dschmidt/provider-google'

const osConfigPatchDeploymentPatchConfigZypper: OsConfigPatchDeploymentPatchConfigZypper = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.categories">categories</a></code> | <code>string[]</code> | Install only patches with these categories. Common categories include security, recommended, and feature. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.excludes">excludes</a></code> | <code>string[]</code> | List of packages to exclude from update. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.exclusivePatches">exclusivePatches</a></code> | <code>string[]</code> | An exclusive list of patches to be updated. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.severities">severities</a></code> | <code>string[]</code> | Install only patches with these severities. Common severities include critical, important, moderate, and low. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.withOptional">withOptional</a></code> | <code>boolean \| cdktf.IResolvable</code> | Adds the --with-optional flag to zypper patch. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.withUpdate">withUpdate</a></code> | <code>boolean \| cdktf.IResolvable</code> | Adds the --with-update flag, to zypper patch. |

---

##### `categories`<sup>Optional</sup> <a name="categories" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.categories"></a>

```typescript
public readonly categories: string[];
```

- *Type:* string[]

Install only patches with these categories. Common categories include security, recommended, and feature.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#categories OsConfigPatchDeployment#categories}

---

##### `excludes`<sup>Optional</sup> <a name="excludes" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.excludes"></a>

```typescript
public readonly excludes: string[];
```

- *Type:* string[]

List of packages to exclude from update.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#excludes OsConfigPatchDeployment#excludes}

---

##### `exclusivePatches`<sup>Optional</sup> <a name="exclusivePatches" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.exclusivePatches"></a>

```typescript
public readonly exclusivePatches: string[];
```

- *Type:* string[]

An exclusive list of patches to be updated.

These are the only patches that will be installed using 'zypper patch patch:' command.
This field must not be used with any other patch configuration fields.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#exclusive_patches OsConfigPatchDeployment#exclusive_patches}

---

##### `severities`<sup>Optional</sup> <a name="severities" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.severities"></a>

```typescript
public readonly severities: string[];
```

- *Type:* string[]

Install only patches with these severities. Common severities include critical, important, moderate, and low.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#severities OsConfigPatchDeployment#severities}

---

##### `withOptional`<sup>Optional</sup> <a name="withOptional" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.withOptional"></a>

```typescript
public readonly withOptional: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Adds the --with-optional flag to zypper patch.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#with_optional OsConfigPatchDeployment#with_optional}

---

##### `withUpdate`<sup>Optional</sup> <a name="withUpdate" id="@dschmidt/provider-google.OsConfigPatchDeploymentPatchConfigZypper.property.withUpdate"></a>

```typescript
public readonly withUpdate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Adds the --with-update flag, to zypper patch.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#with_update OsConfigPatchDeployment#with_update}

---

### OsConfigPatchDeploymentRecurringSchedule <a name="OsConfigPatchDeploymentRecurringSchedule" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentRecurringSchedule } from '@dschmidt/provider-google'

const osConfigPatchDeploymentRecurringSchedule: OsConfigPatchDeploymentRecurringSchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.timeOfDay">timeOfDay</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay">OsConfigPatchDeploymentRecurringScheduleTimeOfDay</a></code> | time_of_day block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.timeZone">timeZone</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeZone">OsConfigPatchDeploymentRecurringScheduleTimeZone</a></code> | time_zone block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.endTime">endTime</a></code> | <code>string</code> | The end time at which a recurring patch deployment schedule is no longer active. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.monthly">monthly</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthly">OsConfigPatchDeploymentRecurringScheduleMonthly</a></code> | monthly block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.startTime">startTime</a></code> | <code>string</code> | The time that the recurring schedule becomes effective. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.weekly">weekly</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleWeekly">OsConfigPatchDeploymentRecurringScheduleWeekly</a></code> | weekly block. |

---

##### `timeOfDay`<sup>Required</sup> <a name="timeOfDay" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.timeOfDay"></a>

```typescript
public readonly timeOfDay: OsConfigPatchDeploymentRecurringScheduleTimeOfDay;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay">OsConfigPatchDeploymentRecurringScheduleTimeOfDay</a>

time_of_day block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#time_of_day OsConfigPatchDeployment#time_of_day}

---

##### `timeZone`<sup>Required</sup> <a name="timeZone" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.timeZone"></a>

```typescript
public readonly timeZone: OsConfigPatchDeploymentRecurringScheduleTimeZone;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeZone">OsConfigPatchDeploymentRecurringScheduleTimeZone</a>

time_zone block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#time_zone OsConfigPatchDeployment#time_zone}

---

##### `endTime`<sup>Optional</sup> <a name="endTime" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.endTime"></a>

```typescript
public readonly endTime: string;
```

- *Type:* string

The end time at which a recurring patch deployment schedule is no longer active.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#end_time OsConfigPatchDeployment#end_time}

---

##### `monthly`<sup>Optional</sup> <a name="monthly" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.monthly"></a>

```typescript
public readonly monthly: OsConfigPatchDeploymentRecurringScheduleMonthly;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthly">OsConfigPatchDeploymentRecurringScheduleMonthly</a>

monthly block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#monthly OsConfigPatchDeployment#monthly}

---

##### `startTime`<sup>Optional</sup> <a name="startTime" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

The time that the recurring schedule becomes effective.

Defaults to createTime of the patch deployment.
A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#start_time OsConfigPatchDeployment#start_time}

---

##### `weekly`<sup>Optional</sup> <a name="weekly" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringSchedule.property.weekly"></a>

```typescript
public readonly weekly: OsConfigPatchDeploymentRecurringScheduleWeekly;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleWeekly">OsConfigPatchDeploymentRecurringScheduleWeekly</a>

weekly block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#weekly OsConfigPatchDeployment#weekly}

---

### OsConfigPatchDeploymentRecurringScheduleMonthly <a name="OsConfigPatchDeploymentRecurringScheduleMonthly" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthly"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthly.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentRecurringScheduleMonthly } from '@dschmidt/provider-google'

const osConfigPatchDeploymentRecurringScheduleMonthly: OsConfigPatchDeploymentRecurringScheduleMonthly = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthly.property.monthDay">monthDay</a></code> | <code>number</code> | One day of the month. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthly.property.weekDayOfMonth">weekDayOfMonth</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth">OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth</a></code> | week_day_of_month block. |

---

##### `monthDay`<sup>Optional</sup> <a name="monthDay" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthly.property.monthDay"></a>

```typescript
public readonly monthDay: number;
```

- *Type:* number

One day of the month.

1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month.
Months without the target day will be skipped. For example, a schedule to run "every month on the 31st"
will not run in February, April, June, etc.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#month_day OsConfigPatchDeployment#month_day}

---

##### `weekDayOfMonth`<sup>Optional</sup> <a name="weekDayOfMonth" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthly.property.weekDayOfMonth"></a>

```typescript
public readonly weekDayOfMonth: OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth">OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth</a>

week_day_of_month block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#week_day_of_month OsConfigPatchDeployment#week_day_of_month}

---

### OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth <a name="OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth } from '@dschmidt/provider-google'

const osConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth: OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth.property.dayOfWeek">dayOfWeek</a></code> | <code>string</code> | A day of the week. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth.property.weekOrdinal">weekOrdinal</a></code> | <code>number</code> | Week number in a month. |

---

##### `dayOfWeek`<sup>Required</sup> <a name="dayOfWeek" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth.property.dayOfWeek"></a>

```typescript
public readonly dayOfWeek: string;
```

- *Type:* string

A day of the week. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#day_of_week OsConfigPatchDeployment#day_of_week}

---

##### `weekOrdinal`<sup>Required</sup> <a name="weekOrdinal" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleMonthlyWeekDayOfMonth.property.weekOrdinal"></a>

```typescript
public readonly weekOrdinal: number;
```

- *Type:* number

Week number in a month.

1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#week_ordinal OsConfigPatchDeployment#week_ordinal}

---

### OsConfigPatchDeploymentRecurringScheduleTimeOfDay <a name="OsConfigPatchDeploymentRecurringScheduleTimeOfDay" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentRecurringScheduleTimeOfDay } from '@dschmidt/provider-google'

const osConfigPatchDeploymentRecurringScheduleTimeOfDay: OsConfigPatchDeploymentRecurringScheduleTimeOfDay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay.property.hours">hours</a></code> | <code>number</code> | Hours of day in 24 hour format. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay.property.minutes">minutes</a></code> | <code>number</code> | Minutes of hour of day. Must be from 0 to 59. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay.property.nanos">nanos</a></code> | <code>number</code> | Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay.property.seconds">seconds</a></code> | <code>number</code> | Seconds of minutes of the time. |

---

##### `hours`<sup>Optional</sup> <a name="hours" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay.property.hours"></a>

```typescript
public readonly hours: number;
```

- *Type:* number

Hours of day in 24 hour format.

Should be from 0 to 23.
An API may choose to allow the value "24:00:00" for scenarios like business closing time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#hours OsConfigPatchDeployment#hours}

---

##### `minutes`<sup>Optional</sup> <a name="minutes" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay.property.minutes"></a>

```typescript
public readonly minutes: number;
```

- *Type:* number

Minutes of hour of day. Must be from 0 to 59.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#minutes OsConfigPatchDeployment#minutes}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#nanos OsConfigPatchDeployment#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeOfDay.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Seconds of minutes of the time.

Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#seconds OsConfigPatchDeployment#seconds}

---

### OsConfigPatchDeploymentRecurringScheduleTimeZone <a name="OsConfigPatchDeploymentRecurringScheduleTimeZone" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeZone"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeZone.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentRecurringScheduleTimeZone } from '@dschmidt/provider-google'

const osConfigPatchDeploymentRecurringScheduleTimeZone: OsConfigPatchDeploymentRecurringScheduleTimeZone = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeZone.property.id">id</a></code> | <code>string</code> | IANA Time Zone Database time zone, e.g. "America/New_York". |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeZone.property.version">version</a></code> | <code>string</code> | IANA Time Zone Database version number, e.g. "2019a". |

---

##### `id`<sup>Required</sup> <a name="id" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeZone.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

IANA Time Zone Database time zone, e.g. "America/New_York".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#id OsConfigPatchDeployment#id}

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleTimeZone.property.version"></a>

```typescript
public readonly version: string;
```

- *Type:* string

IANA Time Zone Database version number, e.g. "2019a".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#version OsConfigPatchDeployment#version}

---

### OsConfigPatchDeploymentRecurringScheduleWeekly <a name="OsConfigPatchDeploymentRecurringScheduleWeekly" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleWeekly"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleWeekly.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentRecurringScheduleWeekly } from '@dschmidt/provider-google'

const osConfigPatchDeploymentRecurringScheduleWeekly: OsConfigPatchDeploymentRecurringScheduleWeekly = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleWeekly.property.dayOfWeek">dayOfWeek</a></code> | <code>string</code> | IANA Time Zone Database time zone, e.g. "America/New_York". Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]. |

---

##### `dayOfWeek`<sup>Required</sup> <a name="dayOfWeek" id="@dschmidt/provider-google.OsConfigPatchDeploymentRecurringScheduleWeekly.property.dayOfWeek"></a>

```typescript
public readonly dayOfWeek: string;
```

- *Type:* string

IANA Time Zone Database time zone, e.g. "America/New_York". Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#day_of_week OsConfigPatchDeployment#day_of_week}

---

### OsConfigPatchDeploymentRollout <a name="OsConfigPatchDeploymentRollout" id="@dschmidt/provider-google.OsConfigPatchDeploymentRollout"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentRollout.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentRollout } from '@dschmidt/provider-google'

const osConfigPatchDeploymentRollout: OsConfigPatchDeploymentRollout = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRollout.property.disruptionBudget">disruptionBudget</a></code> | <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRolloutDisruptionBudget">OsConfigPatchDeploymentRolloutDisruptionBudget</a></code> | disruption_budget block. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRollout.property.mode">mode</a></code> | <code>string</code> | Mode of the patch rollout. Possible values: ["ZONE_BY_ZONE", "CONCURRENT_ZONES"]. |

---

##### `disruptionBudget`<sup>Required</sup> <a name="disruptionBudget" id="@dschmidt/provider-google.OsConfigPatchDeploymentRollout.property.disruptionBudget"></a>

```typescript
public readonly disruptionBudget: OsConfigPatchDeploymentRolloutDisruptionBudget;
```

- *Type:* <a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRolloutDisruptionBudget">OsConfigPatchDeploymentRolloutDisruptionBudget</a>

disruption_budget block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#disruption_budget OsConfigPatchDeployment#disruption_budget}

---

##### `mode`<sup>Required</sup> <a name="mode" id="@dschmidt/provider-google.OsConfigPatchDeploymentRollout.property.mode"></a>

```typescript
public readonly mode: string;
```

- *Type:* string

Mode of the patch rollout. Possible values: ["ZONE_BY_ZONE", "CONCURRENT_ZONES"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#mode OsConfigPatchDeployment#mode}

---

### OsConfigPatchDeploymentRolloutDisruptionBudget <a name="OsConfigPatchDeploymentRolloutDisruptionBudget" id="@dschmidt/provider-google.OsConfigPatchDeploymentRolloutDisruptionBudget"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentRolloutDisruptionBudget.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentRolloutDisruptionBudget } from '@dschmidt/provider-google'

const osConfigPatchDeploymentRolloutDisruptionBudget: OsConfigPatchDeploymentRolloutDisruptionBudget = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRolloutDisruptionBudget.property.fixed">fixed</a></code> | <code>number</code> | Specifies a fixed value. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentRolloutDisruptionBudget.property.percentage">percentage</a></code> | <code>number</code> | Specifies the relative value defined as a percentage, which will be multiplied by a reference value. |

---

##### `fixed`<sup>Optional</sup> <a name="fixed" id="@dschmidt/provider-google.OsConfigPatchDeploymentRolloutDisruptionBudget.property.fixed"></a>

```typescript
public readonly fixed: number;
```

- *Type:* number

Specifies a fixed value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#fixed OsConfigPatchDeployment#fixed}

---

##### `percentage`<sup>Optional</sup> <a name="percentage" id="@dschmidt/provider-google.OsConfigPatchDeploymentRolloutDisruptionBudget.property.percentage"></a>

```typescript
public readonly percentage: number;
```

- *Type:* number

Specifies the relative value defined as a percentage, which will be multiplied by a reference value.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#percentage OsConfigPatchDeployment#percentage}

---

### OsConfigPatchDeploymentTimeouts <a name="OsConfigPatchDeploymentTimeouts" id="@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts.Initializer"></a>

```typescript
import { OsConfigPatchDeploymentTimeouts } from '@dschmidt/provider-google'

const osConfigPatchDeploymentTimeouts: OsConfigPatchDeploymentTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#create OsConfigPatchDeployment#create}. |
| <code><a href="#@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#delete OsConfigPatchDeployment#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#create OsConfigPatchDeployment#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.OsConfigPatchDeploymentTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_config_patch_deployment#delete OsConfigPatchDeployment#delete}.

---

### OsLoginSshPublicKeyConfig <a name="OsLoginSshPublicKeyConfig" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.Initializer"></a>

```typescript
import { OsLoginSshPublicKeyConfig } from '@dschmidt/provider-google'

const osLoginSshPublicKeyConfig: OsLoginSshPublicKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.key">key</a></code> | <code>string</code> | Public key text in SSH format, defined by RFC4253 section 6.6. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.user">user</a></code> | <code>string</code> | The user email. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.expirationTimeUsec">expirationTimeUsec</a></code> | <code>string</code> | An expiration time in microseconds since epoch. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#id OsLoginSshPublicKey#id}. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.project">project</a></code> | <code>string</code> | The project ID of the Google Cloud Platform project. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts">OsLoginSshPublicKeyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `key`<sup>Required</sup> <a name="key" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Public key text in SSH format, defined by RFC4253 section 6.6.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#key OsLoginSshPublicKey#key}

---

##### `user`<sup>Required</sup> <a name="user" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.user"></a>

```typescript
public readonly user: string;
```

- *Type:* string

The user email.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#user OsLoginSshPublicKey#user}

---

##### `expirationTimeUsec`<sup>Optional</sup> <a name="expirationTimeUsec" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.expirationTimeUsec"></a>

```typescript
public readonly expirationTimeUsec: string;
```

- *Type:* string

An expiration time in microseconds since epoch.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#expiration_time_usec OsLoginSshPublicKey#expiration_time_usec}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#id OsLoginSshPublicKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project ID of the Google Cloud Platform project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#project OsLoginSshPublicKey#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.OsLoginSshPublicKeyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: OsLoginSshPublicKeyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts">OsLoginSshPublicKeyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#timeouts OsLoginSshPublicKey#timeouts}

---

### OsLoginSshPublicKeyTimeouts <a name="OsLoginSshPublicKeyTimeouts" id="@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts.Initializer"></a>

```typescript
import { OsLoginSshPublicKeyTimeouts } from '@dschmidt/provider-google'

const osLoginSshPublicKeyTimeouts: OsLoginSshPublicKeyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#create OsLoginSshPublicKey#create}. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#delete OsLoginSshPublicKey#delete}. |
| <code><a href="#@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#update OsLoginSshPublicKey#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#create OsLoginSshPublicKey#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#delete OsLoginSshPublicKey#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.OsLoginSshPublicKeyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/os_login_ssh_public_key#update OsLoginSshPublicKey#update}.

---

### PrivatecaCaPoolConfig <a name="PrivatecaCaPoolConfig" id="@dschmidt/provider-google.PrivatecaCaPoolConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.Initializer"></a>

```typescript
import { PrivatecaCaPoolConfig } from '@dschmidt/provider-google'

const privatecaCaPoolConfig: PrivatecaCaPoolConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.location">location</a></code> | <code>string</code> | Location of the CaPool. A full list of valid locations can be found by running 'gcloud privateca locations list'. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.name">name</a></code> | <code>string</code> | The name for this CaPool. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.tier">tier</a></code> | <code>string</code> | The Tier of this CaPool. Possible values: ["ENTERPRISE", "DEVOPS"]. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#id PrivatecaCaPool#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.issuancePolicy">issuancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy">PrivatecaCaPoolIssuancePolicy</a></code> | issuance_policy block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels with user-defined metadata. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#project PrivatecaCaPool#project}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.publishingOptions">publishingOptions</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions">PrivatecaCaPoolPublishingOptions</a></code> | publishing_options block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeouts">PrivatecaCaPoolTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the CaPool. A full list of valid locations can be found by running 'gcloud privateca locations list'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#location PrivatecaCaPool#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name for this CaPool.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#name PrivatecaCaPool#name}

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

The Tier of this CaPool. Possible values: ["ENTERPRISE", "DEVOPS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#tier PrivatecaCaPool#tier}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#id PrivatecaCaPool#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `issuancePolicy`<sup>Optional</sup> <a name="issuancePolicy" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.issuancePolicy"></a>

```typescript
public readonly issuancePolicy: PrivatecaCaPoolIssuancePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy">PrivatecaCaPoolIssuancePolicy</a>

issuance_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#issuance_policy PrivatecaCaPool#issuance_policy}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels with user-defined metadata.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass":
"1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#labels PrivatecaCaPool#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#project PrivatecaCaPool#project}.

---

##### `publishingOptions`<sup>Optional</sup> <a name="publishingOptions" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.publishingOptions"></a>

```typescript
public readonly publishingOptions: PrivatecaCaPoolPublishingOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions">PrivatecaCaPoolPublishingOptions</a>

publishing_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#publishing_options PrivatecaCaPool#publishing_options}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PrivatecaCaPoolConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PrivatecaCaPoolTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeouts">PrivatecaCaPoolTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#timeouts PrivatecaCaPool#timeouts}

---

### PrivatecaCaPoolIamBindingCondition <a name="PrivatecaCaPoolIamBindingCondition" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition.Initializer"></a>

```typescript
import { PrivatecaCaPoolIamBindingCondition } from '@dschmidt/provider-google'

const privatecaCaPoolIamBindingCondition: PrivatecaCaPoolIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#expression PrivatecaCaPoolIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#title PrivatecaCaPoolIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#description PrivatecaCaPoolIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#expression PrivatecaCaPoolIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#title PrivatecaCaPoolIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#description PrivatecaCaPoolIamBinding#description}.

---

### PrivatecaCaPoolIamBindingConfig <a name="PrivatecaCaPoolIamBindingConfig" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.Initializer"></a>

```typescript
import { PrivatecaCaPoolIamBindingConfig } from '@dschmidt/provider-google'

const privatecaCaPoolIamBindingConfig: PrivatecaCaPoolIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.caPool">caPool</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#ca_pool PrivatecaCaPoolIamBinding#ca_pool}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#members PrivatecaCaPoolIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#role PrivatecaCaPoolIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition">PrivatecaCaPoolIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#id PrivatecaCaPoolIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#location PrivatecaCaPoolIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#project PrivatecaCaPoolIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `caPool`<sup>Required</sup> <a name="caPool" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.caPool"></a>

```typescript
public readonly caPool: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#ca_pool PrivatecaCaPoolIamBinding#ca_pool}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#members PrivatecaCaPoolIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#role PrivatecaCaPoolIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: PrivatecaCaPoolIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamBindingCondition">PrivatecaCaPoolIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#condition PrivatecaCaPoolIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#id PrivatecaCaPoolIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#location PrivatecaCaPoolIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCaPoolIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_binding#project PrivatecaCaPoolIamBinding#project}.

---

### PrivatecaCaPoolIamMemberCondition <a name="PrivatecaCaPoolIamMemberCondition" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition.Initializer"></a>

```typescript
import { PrivatecaCaPoolIamMemberCondition } from '@dschmidt/provider-google'

const privatecaCaPoolIamMemberCondition: PrivatecaCaPoolIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#expression PrivatecaCaPoolIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#title PrivatecaCaPoolIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#description PrivatecaCaPoolIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#expression PrivatecaCaPoolIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#title PrivatecaCaPoolIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#description PrivatecaCaPoolIamMember#description}.

---

### PrivatecaCaPoolIamMemberConfig <a name="PrivatecaCaPoolIamMemberConfig" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.Initializer"></a>

```typescript
import { PrivatecaCaPoolIamMemberConfig } from '@dschmidt/provider-google'

const privatecaCaPoolIamMemberConfig: PrivatecaCaPoolIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.caPool">caPool</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#ca_pool PrivatecaCaPoolIamMember#ca_pool}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#member PrivatecaCaPoolIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#role PrivatecaCaPoolIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition">PrivatecaCaPoolIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#id PrivatecaCaPoolIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#location PrivatecaCaPoolIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#project PrivatecaCaPoolIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `caPool`<sup>Required</sup> <a name="caPool" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.caPool"></a>

```typescript
public readonly caPool: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#ca_pool PrivatecaCaPoolIamMember#ca_pool}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#member PrivatecaCaPoolIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#role PrivatecaCaPoolIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: PrivatecaCaPoolIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIamMemberCondition">PrivatecaCaPoolIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#condition PrivatecaCaPoolIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#id PrivatecaCaPoolIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#location PrivatecaCaPoolIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCaPoolIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_member#project PrivatecaCaPoolIamMember#project}.

---

### PrivatecaCaPoolIamPolicyConfig <a name="PrivatecaCaPoolIamPolicyConfig" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.Initializer"></a>

```typescript
import { PrivatecaCaPoolIamPolicyConfig } from '@dschmidt/provider-google'

const privatecaCaPoolIamPolicyConfig: PrivatecaCaPoolIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.caPool">caPool</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#ca_pool PrivatecaCaPoolIamPolicy#ca_pool}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#policy_data PrivatecaCaPoolIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#id PrivatecaCaPoolIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#location PrivatecaCaPoolIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#project PrivatecaCaPoolIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `caPool`<sup>Required</sup> <a name="caPool" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.caPool"></a>

```typescript
public readonly caPool: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#ca_pool PrivatecaCaPoolIamPolicy#ca_pool}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#policy_data PrivatecaCaPoolIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#id PrivatecaCaPoolIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#location PrivatecaCaPoolIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCaPoolIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool_iam_policy#project PrivatecaCaPoolIamPolicy#project}.

---

### PrivatecaCaPoolIssuancePolicy <a name="PrivatecaCaPoolIssuancePolicy" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicy } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicy: PrivatecaCaPoolIssuancePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.allowedIssuanceModes">allowedIssuanceModes</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes">PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes</a></code> | allowed_issuance_modes block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.allowedKeyTypes">allowedKeyTypes</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypes">PrivatecaCaPoolIssuancePolicyAllowedKeyTypes</a>[]</code> | allowed_key_types block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.baselineValues">baselineValues</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues">PrivatecaCaPoolIssuancePolicyBaselineValues</a></code> | baseline_values block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.identityConstraints">identityConstraints</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints">PrivatecaCaPoolIssuancePolicyIdentityConstraints</a></code> | identity_constraints block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.maximumLifetime">maximumLifetime</a></code> | <code>string</code> | The maximum lifetime allowed for issued Certificates. |

---

##### `allowedIssuanceModes`<sup>Optional</sup> <a name="allowedIssuanceModes" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.allowedIssuanceModes"></a>

```typescript
public readonly allowedIssuanceModes: PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes">PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes</a>

allowed_issuance_modes block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#allowed_issuance_modes PrivatecaCaPool#allowed_issuance_modes}

---

##### `allowedKeyTypes`<sup>Optional</sup> <a name="allowedKeyTypes" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.allowedKeyTypes"></a>

```typescript
public readonly allowedKeyTypes: IResolvable | PrivatecaCaPoolIssuancePolicyAllowedKeyTypes[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypes">PrivatecaCaPoolIssuancePolicyAllowedKeyTypes</a>[]

allowed_key_types block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#allowed_key_types PrivatecaCaPool#allowed_key_types}

---

##### `baselineValues`<sup>Optional</sup> <a name="baselineValues" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.baselineValues"></a>

```typescript
public readonly baselineValues: PrivatecaCaPoolIssuancePolicyBaselineValues;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues">PrivatecaCaPoolIssuancePolicyBaselineValues</a>

baseline_values block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#baseline_values PrivatecaCaPool#baseline_values}

---

##### `identityConstraints`<sup>Optional</sup> <a name="identityConstraints" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.identityConstraints"></a>

```typescript
public readonly identityConstraints: PrivatecaCaPoolIssuancePolicyIdentityConstraints;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints">PrivatecaCaPoolIssuancePolicyIdentityConstraints</a>

identity_constraints block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#identity_constraints PrivatecaCaPool#identity_constraints}

---

##### `maximumLifetime`<sup>Optional</sup> <a name="maximumLifetime" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicy.property.maximumLifetime"></a>

```typescript
public readonly maximumLifetime: string;
```

- *Type:* string

The maximum lifetime allowed for issued Certificates.

Note that if the issuing CertificateAuthority
expires before a Certificate's requested maximumLifetime, the effective lifetime will be explicitly truncated to match it.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#maximum_lifetime PrivatecaCaPool#maximum_lifetime}

---

### PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes <a name="PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyAllowedIssuanceModes: PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes.property.allowConfigBasedIssuance">allowConfigBasedIssuance</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, allows callers to create Certificates by specifying a CertificateConfig. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes.property.allowCsrBasedIssuance">allowCsrBasedIssuance</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, allows callers to create Certificates by specifying a CSR. |

---

##### `allowConfigBasedIssuance`<sup>Required</sup> <a name="allowConfigBasedIssuance" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes.property.allowConfigBasedIssuance"></a>

```typescript
public readonly allowConfigBasedIssuance: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, allows callers to create Certificates by specifying a CertificateConfig.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#allow_config_based_issuance PrivatecaCaPool#allow_config_based_issuance}

---

##### `allowCsrBasedIssuance`<sup>Required</sup> <a name="allowCsrBasedIssuance" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedIssuanceModes.property.allowCsrBasedIssuance"></a>

```typescript
public readonly allowCsrBasedIssuance: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, allows callers to create Certificates by specifying a CSR.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#allow_csr_based_issuance PrivatecaCaPool#allow_csr_based_issuance}

---

### PrivatecaCaPoolIssuancePolicyAllowedKeyTypes <a name="PrivatecaCaPoolIssuancePolicyAllowedKeyTypes" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypes.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyAllowedKeyTypes } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyAllowedKeyTypes: PrivatecaCaPoolIssuancePolicyAllowedKeyTypes = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypes.property.ellipticCurve">ellipticCurve</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve">PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve</a></code> | elliptic_curve block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypes.property.rsa">rsa</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa">PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa</a></code> | rsa block. |

---

##### `ellipticCurve`<sup>Optional</sup> <a name="ellipticCurve" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypes.property.ellipticCurve"></a>

```typescript
public readonly ellipticCurve: PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve">PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve</a>

elliptic_curve block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#elliptic_curve PrivatecaCaPool#elliptic_curve}

---

##### `rsa`<sup>Optional</sup> <a name="rsa" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypes.property.rsa"></a>

```typescript
public readonly rsa: PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa">PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa</a>

rsa block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#rsa PrivatecaCaPool#rsa}

---

### PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve <a name="PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve: PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve.property.signatureAlgorithm">signatureAlgorithm</a></code> | <code>string</code> | The algorithm used. Possible values: ["ECDSA_P256", "ECDSA_P384", "EDDSA_25519"]. |

---

##### `signatureAlgorithm`<sup>Required</sup> <a name="signatureAlgorithm" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesEllipticCurve.property.signatureAlgorithm"></a>

```typescript
public readonly signatureAlgorithm: string;
```

- *Type:* string

The algorithm used. Possible values: ["ECDSA_P256", "ECDSA_P384", "EDDSA_25519"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#signature_algorithm PrivatecaCaPool#signature_algorithm}

---

### PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa <a name="PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyAllowedKeyTypesRsa: PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa.property.maxModulusSize">maxModulusSize</a></code> | <code>string</code> | The maximum allowed RSA modulus size, in bits. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa.property.minModulusSize">minModulusSize</a></code> | <code>string</code> | The minimum allowed RSA modulus size, in bits. |

---

##### `maxModulusSize`<sup>Optional</sup> <a name="maxModulusSize" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa.property.maxModulusSize"></a>

```typescript
public readonly maxModulusSize: string;
```

- *Type:* string

The maximum allowed RSA modulus size, in bits.

If this is not set, or if set to zero, the
service will not enforce an explicit upper bound on RSA modulus sizes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#max_modulus_size PrivatecaCaPool#max_modulus_size}

---

##### `minModulusSize`<sup>Optional</sup> <a name="minModulusSize" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyAllowedKeyTypesRsa.property.minModulusSize"></a>

```typescript
public readonly minModulusSize: string;
```

- *Type:* string

The minimum allowed RSA modulus size, in bits.

If this is not set, or if set to zero, the
service-level min RSA modulus size will continue to apply.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#min_modulus_size PrivatecaCaPool#min_modulus_size}

---

### PrivatecaCaPoolIssuancePolicyBaselineValues <a name="PrivatecaCaPoolIssuancePolicyBaselineValues" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyBaselineValues } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyBaselineValues: PrivatecaCaPoolIssuancePolicyBaselineValues = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.caOptions">caOptions</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions">PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions</a></code> | ca_options block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.keyUsage">keyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage">PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage</a></code> | key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.additionalExtensions">additionalExtensions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions">PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions</a>[]</code> | additional_extensions block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.aiaOcspServers">aiaOcspServers</a></code> | <code>string[]</code> | Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the "Authority Information Access" extension in the certificate. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.policyIds">policyIds</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds">PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds</a>[]</code> | policy_ids block. |

---

##### `caOptions`<sup>Required</sup> <a name="caOptions" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.caOptions"></a>

```typescript
public readonly caOptions: PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions">PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions</a>

ca_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#ca_options PrivatecaCaPool#ca_options}

---

##### `keyUsage`<sup>Required</sup> <a name="keyUsage" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.keyUsage"></a>

```typescript
public readonly keyUsage: PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage">PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage</a>

key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#key_usage PrivatecaCaPool#key_usage}

---

##### `additionalExtensions`<sup>Optional</sup> <a name="additionalExtensions" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.additionalExtensions"></a>

```typescript
public readonly additionalExtensions: IResolvable | PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions">PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions</a>[]

additional_extensions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#additional_extensions PrivatecaCaPool#additional_extensions}

---

##### `aiaOcspServers`<sup>Optional</sup> <a name="aiaOcspServers" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.aiaOcspServers"></a>

```typescript
public readonly aiaOcspServers: string[];
```

- *Type:* string[]

Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the "Authority Information Access" extension in the certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#aia_ocsp_servers PrivatecaCaPool#aia_ocsp_servers}

---

##### `policyIds`<sup>Optional</sup> <a name="policyIds" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValues.property.policyIds"></a>

```typescript
public readonly policyIds: IResolvable | PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds">PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds</a>[]

policy_ids block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#policy_ids PrivatecaCaPool#policy_ids}

---

### PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions <a name="PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions: PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions.property.critical">critical</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether or not this extension is critical (i.e., if the client does not know how to handle this extension, the client should consider this to be an error). |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions.property.objectId">objectId</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId">PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId</a></code> | object_id block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions.property.value">value</a></code> | <code>string</code> | The value of this X.509 extension. A base64-encoded string. |

---

##### `critical`<sup>Required</sup> <a name="critical" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions.property.critical"></a>

```typescript
public readonly critical: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether or not this extension is critical (i.e., if the client does not know how to handle this extension, the client should consider this to be an error).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#critical PrivatecaCaPool#critical}

---

##### `objectId`<sup>Required</sup> <a name="objectId" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions.property.objectId"></a>

```typescript
public readonly objectId: PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId">PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId</a>

object_id block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#object_id PrivatecaCaPool#object_id}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensions.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The value of this X.509 extension. A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#value PrivatecaCaPool#value}

---

### PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId <a name="PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId: PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#object_id_path PrivatecaCaPool#object_id_path}

---

### PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions <a name="PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyBaselineValuesCaOptions: PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions.property.isCa">isCa</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the "CA" in Basic Constraints extension will be set to true. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions.property.maxIssuerPathLength">maxIssuerPathLength</a></code> | <code>number</code> | Refers to the "path length constraint" in Basic Constraints extension. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions.property.nonCa">nonCa</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the "CA" in Basic Constraints extension will be set to false. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions.property.zeroMaxIssuerPathLength">zeroMaxIssuerPathLength</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the "path length constraint" in Basic Constraints extension will be set to 0. |

---

##### `isCa`<sup>Optional</sup> <a name="isCa" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions.property.isCa"></a>

```typescript
public readonly isCa: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the "CA" in Basic Constraints extension will be set to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#is_ca PrivatecaCaPool#is_ca}

---

##### `maxIssuerPathLength`<sup>Optional</sup> <a name="maxIssuerPathLength" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions.property.maxIssuerPathLength"></a>

```typescript
public readonly maxIssuerPathLength: number;
```

- *Type:* number

Refers to the "path length constraint" in Basic Constraints extension.

For a CA certificate, this value describes the depth of
subordinate CA certificates that are allowed. If this value is less than 0, the request will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#max_issuer_path_length PrivatecaCaPool#max_issuer_path_length}

---

##### `nonCa`<sup>Optional</sup> <a name="nonCa" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions.property.nonCa"></a>

```typescript
public readonly nonCa: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the "CA" in Basic Constraints extension will be set to false.

If both 'is_ca' and 'non_ca' are unset, the extension will be omitted from the CA certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#non_ca PrivatecaCaPool#non_ca}

---

##### `zeroMaxIssuerPathLength`<sup>Optional</sup> <a name="zeroMaxIssuerPathLength" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesCaOptions.property.zeroMaxIssuerPathLength"></a>

```typescript
public readonly zeroMaxIssuerPathLength: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the "path length constraint" in Basic Constraints extension will be set to 0.

if both 'max_issuer_path_length' and 'zero_max_issuer_path_length' are unset,
the max path length will be omitted from the CA certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#zero_max_issuer_path_length PrivatecaCaPool#zero_max_issuer_path_length}

---

### PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage <a name="PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyBaselineValuesKeyUsage: PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage.property.baseKeyUsage">baseKeyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage">PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage</a></code> | base_key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage.property.extendedKeyUsage">extendedKeyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage">PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage</a></code> | extended_key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage.property.unknownExtendedKeyUsages">unknownExtendedKeyUsages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages">PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages</a>[]</code> | unknown_extended_key_usages block. |

---

##### `baseKeyUsage`<sup>Required</sup> <a name="baseKeyUsage" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage.property.baseKeyUsage"></a>

```typescript
public readonly baseKeyUsage: PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage">PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage</a>

base_key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#base_key_usage PrivatecaCaPool#base_key_usage}

---

##### `extendedKeyUsage`<sup>Required</sup> <a name="extendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage.property.extendedKeyUsage"></a>

```typescript
public readonly extendedKeyUsage: PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage">PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage</a>

extended_key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#extended_key_usage PrivatecaCaPool#extended_key_usage}

---

##### `unknownExtendedKeyUsages`<sup>Optional</sup> <a name="unknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsage.property.unknownExtendedKeyUsages"></a>

```typescript
public readonly unknownExtendedKeyUsages: IResolvable | PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages">PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages</a>[]

unknown_extended_key_usages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#unknown_extended_key_usages PrivatecaCaPool#unknown_extended_key_usages}

---

### PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage <a name="PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage: PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.certSign">certSign</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to sign certificates. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.contentCommitment">contentCommitment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.crlSign">crlSign</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used sign certificate revocation lists. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.dataEncipherment">dataEncipherment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher data. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.decipherOnly">decipherOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to decipher only. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.digitalSignature">digitalSignature</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used for digital signatures. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.encipherOnly">encipherOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher only. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.keyAgreement">keyAgreement</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used in a key agreement protocol. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.keyEncipherment">keyEncipherment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher other keys. |

---

##### `certSign`<sup>Optional</sup> <a name="certSign" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.certSign"></a>

```typescript
public readonly certSign: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to sign certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#cert_sign PrivatecaCaPool#cert_sign}

---

##### `contentCommitment`<sup>Optional</sup> <a name="contentCommitment" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.contentCommitment"></a>

```typescript
public readonly contentCommitment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#content_commitment PrivatecaCaPool#content_commitment}

---

##### `crlSign`<sup>Optional</sup> <a name="crlSign" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.crlSign"></a>

```typescript
public readonly crlSign: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used sign certificate revocation lists.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#crl_sign PrivatecaCaPool#crl_sign}

---

##### `dataEncipherment`<sup>Optional</sup> <a name="dataEncipherment" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.dataEncipherment"></a>

```typescript
public readonly dataEncipherment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#data_encipherment PrivatecaCaPool#data_encipherment}

---

##### `decipherOnly`<sup>Optional</sup> <a name="decipherOnly" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.decipherOnly"></a>

```typescript
public readonly decipherOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to decipher only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#decipher_only PrivatecaCaPool#decipher_only}

---

##### `digitalSignature`<sup>Optional</sup> <a name="digitalSignature" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.digitalSignature"></a>

```typescript
public readonly digitalSignature: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used for digital signatures.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#digital_signature PrivatecaCaPool#digital_signature}

---

##### `encipherOnly`<sup>Optional</sup> <a name="encipherOnly" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.encipherOnly"></a>

```typescript
public readonly encipherOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#encipher_only PrivatecaCaPool#encipher_only}

---

##### `keyAgreement`<sup>Optional</sup> <a name="keyAgreement" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.keyAgreement"></a>

```typescript
public readonly keyAgreement: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used in a key agreement protocol.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#key_agreement PrivatecaCaPool#key_agreement}

---

##### `keyEncipherment`<sup>Optional</sup> <a name="keyEncipherment" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage.property.keyEncipherment"></a>

```typescript
public readonly keyEncipherment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher other keys.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#key_encipherment PrivatecaCaPool#key_encipherment}

---

### PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage <a name="PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage: PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.clientAuth">clientAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.codeSigning">codeSigning</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.emailProtection">emailProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.ocspSigning">ocspSigning</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.serverAuth">serverAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.timeStamping">timeStamping</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time". |

---

##### `clientAuth`<sup>Optional</sup> <a name="clientAuth" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.clientAuth"></a>

```typescript
public readonly clientAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#client_auth PrivatecaCaPool#client_auth}

---

##### `codeSigning`<sup>Optional</sup> <a name="codeSigning" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.codeSigning"></a>

```typescript
public readonly codeSigning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#code_signing PrivatecaCaPool#code_signing}

---

##### `emailProtection`<sup>Optional</sup> <a name="emailProtection" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.emailProtection"></a>

```typescript
public readonly emailProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#email_protection PrivatecaCaPool#email_protection}

---

##### `ocspSigning`<sup>Optional</sup> <a name="ocspSigning" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.ocspSigning"></a>

```typescript
public readonly ocspSigning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#ocsp_signing PrivatecaCaPool#ocsp_signing}

---

##### `serverAuth`<sup>Optional</sup> <a name="serverAuth" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.serverAuth"></a>

```typescript
public readonly serverAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#server_auth PrivatecaCaPool#server_auth}

---

##### `timeStamping`<sup>Optional</sup> <a name="timeStamping" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage.property.timeStamping"></a>

```typescript
public readonly timeStamping: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#time_stamping PrivatecaCaPool#time_stamping}

---

### PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages <a name="PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages: PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#object_id_path PrivatecaCaPool#object_id_path}

---

### PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds <a name="PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyBaselineValuesPolicyIds: PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyBaselineValuesPolicyIds.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#object_id_path PrivatecaCaPool#object_id_path}

---

### PrivatecaCaPoolIssuancePolicyIdentityConstraints <a name="PrivatecaCaPoolIssuancePolicyIdentityConstraints" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyIdentityConstraints } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyIdentityConstraints: PrivatecaCaPoolIssuancePolicyIdentityConstraints = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints.property.allowSubjectAltNamesPassthrough">allowSubjectAltNamesPassthrough</a></code> | <code>boolean \| cdktf.IResolvable</code> | If this is set, the SubjectAltNames extension may be copied from a certificate request into the signed certificate. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints.property.allowSubjectPassthrough">allowSubjectPassthrough</a></code> | <code>boolean \| cdktf.IResolvable</code> | If this is set, the Subject field may be copied from a certificate request into the signed certificate. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints.property.celExpression">celExpression</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression">PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression</a></code> | cel_expression block. |

---

##### `allowSubjectAltNamesPassthrough`<sup>Required</sup> <a name="allowSubjectAltNamesPassthrough" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints.property.allowSubjectAltNamesPassthrough"></a>

```typescript
public readonly allowSubjectAltNamesPassthrough: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If this is set, the SubjectAltNames extension may be copied from a certificate request into the signed certificate.

Otherwise, the requested SubjectAltNames will be discarded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#allow_subject_alt_names_passthrough PrivatecaCaPool#allow_subject_alt_names_passthrough}

---

##### `allowSubjectPassthrough`<sup>Required</sup> <a name="allowSubjectPassthrough" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints.property.allowSubjectPassthrough"></a>

```typescript
public readonly allowSubjectPassthrough: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If this is set, the Subject field may be copied from a certificate request into the signed certificate.

Otherwise, the requested Subject will be discarded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#allow_subject_passthrough PrivatecaCaPool#allow_subject_passthrough}

---

##### `celExpression`<sup>Optional</sup> <a name="celExpression" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraints.property.celExpression"></a>

```typescript
public readonly celExpression: PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression">PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression</a>

cel_expression block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#cel_expression PrivatecaCaPool#cel_expression}

---

### PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression <a name="PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression.Initializer"></a>

```typescript
import { PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression } from '@dschmidt/provider-google'

const privatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression: PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression.property.expression">expression</a></code> | <code>string</code> | Textual representation of an expression in Common Expression Language syntax. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression.property.description">description</a></code> | <code>string</code> | Description of the expression. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression.property.location">location</a></code> | <code>string</code> | String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression.property.title">title</a></code> | <code>string</code> | Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Textual representation of an expression in Common Expression Language syntax.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#expression PrivatecaCaPool#expression}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the expression.

This is a longer text which describes the expression, e.g. when hovered over it in a UI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#description PrivatecaCaPool#description}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#location PrivatecaCaPool#location}

---

##### `title`<sup>Optional</sup> <a name="title" id="@dschmidt/provider-google.PrivatecaCaPoolIssuancePolicyIdentityConstraintsCelExpression.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#title PrivatecaCaPool#title}

---

### PrivatecaCaPoolPublishingOptions <a name="PrivatecaCaPoolPublishingOptions" id="@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions.Initializer"></a>

```typescript
import { PrivatecaCaPoolPublishingOptions } from '@dschmidt/provider-google'

const privatecaCaPoolPublishingOptions: PrivatecaCaPoolPublishingOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions.property.publishCaCert">publishCaCert</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, publishes each CertificateAuthority's CA certificate and includes its URL in the "Authority Information Access" X.509 extension in all issued Certificates. If this is false, the CA certificate will not be published and the corresponding X.509 extension will not be written in issued certificates. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions.property.publishCrl">publishCrl</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, publishes each CertificateAuthority's CRL and includes its URL in the "CRL Distribution Points" X.509 extension in all issued Certificates. If this is false, CRLs will not be published and the corresponding X.509 extension will not be written in issued certificates. CRLs will expire 7 days from their creation. However, we will rebuild daily. CRLs are also rebuilt shortly after a certificate is revoked. |

---

##### `publishCaCert`<sup>Required</sup> <a name="publishCaCert" id="@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions.property.publishCaCert"></a>

```typescript
public readonly publishCaCert: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, publishes each CertificateAuthority's CA certificate and includes its URL in the "Authority Information Access" X.509 extension in all issued Certificates. If this is false, the CA certificate will not be published and the corresponding X.509 extension will not be written in issued certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#publish_ca_cert PrivatecaCaPool#publish_ca_cert}

---

##### `publishCrl`<sup>Required</sup> <a name="publishCrl" id="@dschmidt/provider-google.PrivatecaCaPoolPublishingOptions.property.publishCrl"></a>

```typescript
public readonly publishCrl: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, publishes each CertificateAuthority's CRL and includes its URL in the "CRL Distribution Points" X.509 extension in all issued Certificates. If this is false, CRLs will not be published and the corresponding X.509 extension will not be written in issued certificates. CRLs will expire 7 days from their creation. However, we will rebuild daily. CRLs are also rebuilt shortly after a certificate is revoked.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#publish_crl PrivatecaCaPool#publish_crl}

---

### PrivatecaCaPoolTimeouts <a name="PrivatecaCaPoolTimeouts" id="@dschmidt/provider-google.PrivatecaCaPoolTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCaPoolTimeouts.Initializer"></a>

```typescript
import { PrivatecaCaPoolTimeouts } from '@dschmidt/provider-google'

const privatecaCaPoolTimeouts: PrivatecaCaPoolTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#create PrivatecaCaPool#create}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#delete PrivatecaCaPool#delete}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCaPoolTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#update PrivatecaCaPool#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PrivatecaCaPoolTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#create PrivatecaCaPool#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PrivatecaCaPoolTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#delete PrivatecaCaPool#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.PrivatecaCaPoolTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_ca_pool#update PrivatecaCaPool#update}.

---

### PrivatecaCertificateAuthorityAccessUrls <a name="PrivatecaCertificateAuthorityAccessUrls" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityAccessUrls"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityAccessUrls.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityAccessUrls } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityAccessUrls: PrivatecaCertificateAuthorityAccessUrls = { ... }
```


### PrivatecaCertificateAuthorityConfig <a name="PrivatecaCertificateAuthorityConfig" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfig } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfig: PrivatecaCertificateAuthorityConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.certificateAuthorityId">certificateAuthorityId</a></code> | <code>string</code> | The user provided Resource ID for this Certificate Authority. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA">PrivatecaCertificateAuthorityConfigA</a></code> | config block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.keySpec">keySpec</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec">PrivatecaCertificateAuthorityKeySpec</a></code> | key_spec block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.location">location</a></code> | <code>string</code> | Location of the CertificateAuthority. A full list of valid locations can be found by running 'gcloud privateca locations list'. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.pool">pool</a></code> | <code>string</code> | The name of the CaPool this Certificate Authority belongs to. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#deletion_protection PrivatecaCertificateAuthority#deletion_protection}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.desiredState">desiredState</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#desired_state PrivatecaCertificateAuthority#desired_state}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.gcsBucket">gcsBucket</a></code> | <code>string</code> | The name of a Cloud Storage bucket where this CertificateAuthority will publish content, such as the CA certificate and CRLs. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#id PrivatecaCertificateAuthority#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.ignoreActiveCertificatesOnDeletion">ignoreActiveCertificatesOnDeletion</a></code> | <code>boolean \| cdktf.IResolvable</code> | This field allows the CA to be deleted even if the CA has active certs. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels with user-defined metadata. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.lifetime">lifetime</a></code> | <code>string</code> | The desired lifetime of the CA certificate. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.pemCaCertificate">pemCaCertificate</a></code> | <code>string</code> | The signed CA certificate issued from the subordinated CA's CSR. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#project PrivatecaCertificateAuthority#project}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.subordinateConfig">subordinateConfig</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig">PrivatecaCertificateAuthoritySubordinateConfig</a></code> | subordinate_config block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts">PrivatecaCertificateAuthorityTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.type">type</a></code> | <code>string</code> | The Type of this CertificateAuthority. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificateAuthorityId`<sup>Required</sup> <a name="certificateAuthorityId" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.certificateAuthorityId"></a>

```typescript
public readonly certificateAuthorityId: string;
```

- *Type:* string

The user provided Resource ID for this Certificate Authority.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#certificate_authority_id PrivatecaCertificateAuthority#certificate_authority_id}

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.config"></a>

```typescript
public readonly config: PrivatecaCertificateAuthorityConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA">PrivatecaCertificateAuthorityConfigA</a>

config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#config PrivatecaCertificateAuthority#config}

---

##### `keySpec`<sup>Required</sup> <a name="keySpec" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.keySpec"></a>

```typescript
public readonly keySpec: PrivatecaCertificateAuthorityKeySpec;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec">PrivatecaCertificateAuthorityKeySpec</a>

key_spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#key_spec PrivatecaCertificateAuthority#key_spec}

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the CertificateAuthority. A full list of valid locations can be found by running 'gcloud privateca locations list'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#location PrivatecaCertificateAuthority#location}

---

##### `pool`<sup>Required</sup> <a name="pool" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.pool"></a>

```typescript
public readonly pool: string;
```

- *Type:* string

The name of the CaPool this Certificate Authority belongs to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#pool PrivatecaCertificateAuthority#pool}

---

##### `deletionProtection`<sup>Optional</sup> <a name="deletionProtection" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#deletion_protection PrivatecaCertificateAuthority#deletion_protection}.

---

##### `desiredState`<sup>Optional</sup> <a name="desiredState" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.desiredState"></a>

```typescript
public readonly desiredState: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#desired_state PrivatecaCertificateAuthority#desired_state}.

---

##### `gcsBucket`<sup>Optional</sup> <a name="gcsBucket" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.gcsBucket"></a>

```typescript
public readonly gcsBucket: string;
```

- *Type:* string

The name of a Cloud Storage bucket where this CertificateAuthority will publish content, such as the CA certificate and CRLs.

This must be a bucket name, without any prefixes
(such as 'gs://') or suffixes (such as '.googleapis.com'). For example, to use a bucket named
my-bucket, you would simply specify 'my-bucket'. If not specified, a managed bucket will be
created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#gcs_bucket PrivatecaCertificateAuthority#gcs_bucket}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#id PrivatecaCertificateAuthority#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ignoreActiveCertificatesOnDeletion`<sup>Optional</sup> <a name="ignoreActiveCertificatesOnDeletion" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.ignoreActiveCertificatesOnDeletion"></a>

```typescript
public readonly ignoreActiveCertificatesOnDeletion: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

This field allows the CA to be deleted even if the CA has active certs.

Active certs include both unrevoked and unexpired certs.
Use with care. Defaults to 'false'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#ignore_active_certificates_on_deletion PrivatecaCertificateAuthority#ignore_active_certificates_on_deletion}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels with user-defined metadata.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass":
"1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#labels PrivatecaCertificateAuthority#labels}

---

##### `lifetime`<sup>Optional</sup> <a name="lifetime" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.lifetime"></a>

```typescript
public readonly lifetime: string;
```

- *Type:* string

The desired lifetime of the CA certificate.

Used to create the "notBeforeTime" and
"notAfterTime" fields inside an X.509 certificate. A duration in seconds with up to nine
fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#lifetime PrivatecaCertificateAuthority#lifetime}

---

##### `pemCaCertificate`<sup>Optional</sup> <a name="pemCaCertificate" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.pemCaCertificate"></a>

```typescript
public readonly pemCaCertificate: string;
```

- *Type:* string

The signed CA certificate issued from the subordinated CA's CSR.

This is needed when activating the subordiante CA with a third party issuer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#pem_ca_certificate PrivatecaCertificateAuthority#pem_ca_certificate}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#project PrivatecaCertificateAuthority#project}.

---

##### `subordinateConfig`<sup>Optional</sup> <a name="subordinateConfig" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.subordinateConfig"></a>

```typescript
public readonly subordinateConfig: PrivatecaCertificateAuthoritySubordinateConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig">PrivatecaCertificateAuthoritySubordinateConfig</a>

subordinate_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#subordinate_config PrivatecaCertificateAuthority#subordinate_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PrivatecaCertificateAuthorityTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts">PrivatecaCertificateAuthorityTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#timeouts PrivatecaCertificateAuthority#timeouts}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The Type of this CertificateAuthority.

~> **Note:** For 'SUBORDINATE' Certificate Authorities, they need to
be activated before they can issue certificates. Default value: "SELF_SIGNED" Possible values: ["SELF_SIGNED", "SUBORDINATE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#type PrivatecaCertificateAuthority#type}

---

### PrivatecaCertificateAuthorityConfigA <a name="PrivatecaCertificateAuthorityConfigA" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigA } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigA: PrivatecaCertificateAuthorityConfigA = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA.property.subjectConfig">subjectConfig</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfig">PrivatecaCertificateAuthorityConfigSubjectConfig</a></code> | subject_config block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA.property.x509Config">x509Config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config">PrivatecaCertificateAuthorityConfigX509Config</a></code> | x509_config block. |

---

##### `subjectConfig`<sup>Required</sup> <a name="subjectConfig" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA.property.subjectConfig"></a>

```typescript
public readonly subjectConfig: PrivatecaCertificateAuthorityConfigSubjectConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfig">PrivatecaCertificateAuthorityConfigSubjectConfig</a>

subject_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#subject_config PrivatecaCertificateAuthority#subject_config}

---

##### `x509Config`<sup>Required</sup> <a name="x509Config" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigA.property.x509Config"></a>

```typescript
public readonly x509Config: PrivatecaCertificateAuthorityConfigX509Config;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config">PrivatecaCertificateAuthorityConfigX509Config</a>

x509_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#x509_config PrivatecaCertificateAuthority#x509_config}

---

### PrivatecaCertificateAuthorityConfigSubjectConfig <a name="PrivatecaCertificateAuthorityConfigSubjectConfig" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfig.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigSubjectConfig } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigSubjectConfig: PrivatecaCertificateAuthorityConfigSubjectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfig.property.subject">subject</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject">PrivatecaCertificateAuthorityConfigSubjectConfigSubject</a></code> | subject block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfig.property.subjectAltName">subjectAltName</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName">PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName</a></code> | subject_alt_name block. |

---

##### `subject`<sup>Required</sup> <a name="subject" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfig.property.subject"></a>

```typescript
public readonly subject: PrivatecaCertificateAuthorityConfigSubjectConfigSubject;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject">PrivatecaCertificateAuthorityConfigSubjectConfigSubject</a>

subject block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#subject PrivatecaCertificateAuthority#subject}

---

##### `subjectAltName`<sup>Optional</sup> <a name="subjectAltName" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfig.property.subjectAltName"></a>

```typescript
public readonly subjectAltName: PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName">PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName</a>

subject_alt_name block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#subject_alt_name PrivatecaCertificateAuthority#subject_alt_name}

---

### PrivatecaCertificateAuthorityConfigSubjectConfigSubject <a name="PrivatecaCertificateAuthorityConfigSubjectConfigSubject" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigSubjectConfigSubject } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigSubjectConfigSubject: PrivatecaCertificateAuthorityConfigSubjectConfigSubject = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.commonName">commonName</a></code> | <code>string</code> | The common name of the distinguished name. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.organization">organization</a></code> | <code>string</code> | The organization of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.countryCode">countryCode</a></code> | <code>string</code> | The country code of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.locality">locality</a></code> | <code>string</code> | The locality or city of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.organizationalUnit">organizationalUnit</a></code> | <code>string</code> | The organizational unit of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.postalCode">postalCode</a></code> | <code>string</code> | The postal code of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.province">province</a></code> | <code>string</code> | The province, territory, or regional state of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.streetAddress">streetAddress</a></code> | <code>string</code> | The street address of the subject. |

---

##### `commonName`<sup>Required</sup> <a name="commonName" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.commonName"></a>

```typescript
public readonly commonName: string;
```

- *Type:* string

The common name of the distinguished name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#common_name PrivatecaCertificateAuthority#common_name}

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

The organization of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#organization PrivatecaCertificateAuthority#organization}

---

##### `countryCode`<sup>Optional</sup> <a name="countryCode" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.countryCode"></a>

```typescript
public readonly countryCode: string;
```

- *Type:* string

The country code of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#country_code PrivatecaCertificateAuthority#country_code}

---

##### `locality`<sup>Optional</sup> <a name="locality" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.locality"></a>

```typescript
public readonly locality: string;
```

- *Type:* string

The locality or city of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#locality PrivatecaCertificateAuthority#locality}

---

##### `organizationalUnit`<sup>Optional</sup> <a name="organizationalUnit" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.organizationalUnit"></a>

```typescript
public readonly organizationalUnit: string;
```

- *Type:* string

The organizational unit of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#organizational_unit PrivatecaCertificateAuthority#organizational_unit}

---

##### `postalCode`<sup>Optional</sup> <a name="postalCode" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.postalCode"></a>

```typescript
public readonly postalCode: string;
```

- *Type:* string

The postal code of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#postal_code PrivatecaCertificateAuthority#postal_code}

---

##### `province`<sup>Optional</sup> <a name="province" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.province"></a>

```typescript
public readonly province: string;
```

- *Type:* string

The province, territory, or regional state of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#province PrivatecaCertificateAuthority#province}

---

##### `streetAddress`<sup>Optional</sup> <a name="streetAddress" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubject.property.streetAddress"></a>

```typescript
public readonly streetAddress: string;
```

- *Type:* string

The street address of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#street_address PrivatecaCertificateAuthority#street_address}

---

### PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName <a name="PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigSubjectConfigSubjectAltName: PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.property.dnsNames">dnsNames</a></code> | <code>string[]</code> | Contains only valid, fully-qualified host names. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.property.emailAddresses">emailAddresses</a></code> | <code>string[]</code> | Contains only valid RFC 2822 E-mail addresses. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.property.ipAddresses">ipAddresses</a></code> | <code>string[]</code> | Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.property.uris">uris</a></code> | <code>string[]</code> | Contains only valid RFC 3986 URIs. |

---

##### `dnsNames`<sup>Optional</sup> <a name="dnsNames" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.property.dnsNames"></a>

```typescript
public readonly dnsNames: string[];
```

- *Type:* string[]

Contains only valid, fully-qualified host names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#dns_names PrivatecaCertificateAuthority#dns_names}

---

##### `emailAddresses`<sup>Optional</sup> <a name="emailAddresses" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.property.emailAddresses"></a>

```typescript
public readonly emailAddresses: string[];
```

- *Type:* string[]

Contains only valid RFC 2822 E-mail addresses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#email_addresses PrivatecaCertificateAuthority#email_addresses}

---

##### `ipAddresses`<sup>Optional</sup> <a name="ipAddresses" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.property.ipAddresses"></a>

```typescript
public readonly ipAddresses: string[];
```

- *Type:* string[]

Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#ip_addresses PrivatecaCertificateAuthority#ip_addresses}

---

##### `uris`<sup>Optional</sup> <a name="uris" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigSubjectConfigSubjectAltName.property.uris"></a>

```typescript
public readonly uris: string[];
```

- *Type:* string[]

Contains only valid RFC 3986 URIs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#uris PrivatecaCertificateAuthority#uris}

---

### PrivatecaCertificateAuthorityConfigX509Config <a name="PrivatecaCertificateAuthorityConfigX509Config" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigX509Config } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigX509Config: PrivatecaCertificateAuthorityConfigX509Config = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.caOptions">caOptions</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions">PrivatecaCertificateAuthorityConfigX509ConfigCaOptions</a></code> | ca_options block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.keyUsage">keyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage">PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage</a></code> | key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.additionalExtensions">additionalExtensions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions">PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions</a>[]</code> | additional_extensions block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.aiaOcspServers">aiaOcspServers</a></code> | <code>string[]</code> | Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the "Authority Information Access" extension in the certificate. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.policyIds">policyIds</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds">PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds</a>[]</code> | policy_ids block. |

---

##### `caOptions`<sup>Required</sup> <a name="caOptions" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.caOptions"></a>

```typescript
public readonly caOptions: PrivatecaCertificateAuthorityConfigX509ConfigCaOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions">PrivatecaCertificateAuthorityConfigX509ConfigCaOptions</a>

ca_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#ca_options PrivatecaCertificateAuthority#ca_options}

---

##### `keyUsage`<sup>Required</sup> <a name="keyUsage" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.keyUsage"></a>

```typescript
public readonly keyUsage: PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage">PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage</a>

key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#key_usage PrivatecaCertificateAuthority#key_usage}

---

##### `additionalExtensions`<sup>Optional</sup> <a name="additionalExtensions" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.additionalExtensions"></a>

```typescript
public readonly additionalExtensions: IResolvable | PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions">PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions</a>[]

additional_extensions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#additional_extensions PrivatecaCertificateAuthority#additional_extensions}

---

##### `aiaOcspServers`<sup>Optional</sup> <a name="aiaOcspServers" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.aiaOcspServers"></a>

```typescript
public readonly aiaOcspServers: string[];
```

- *Type:* string[]

Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the "Authority Information Access" extension in the certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#aia_ocsp_servers PrivatecaCertificateAuthority#aia_ocsp_servers}

---

##### `policyIds`<sup>Optional</sup> <a name="policyIds" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509Config.property.policyIds"></a>

```typescript
public readonly policyIds: IResolvable | PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds">PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds</a>[]

policy_ids block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#policy_ids PrivatecaCertificateAuthority#policy_ids}

---

### PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions <a name="PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions: PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions.property.critical">critical</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether or not this extension is critical (i.e., if the client does not know how to handle this extension, the client should consider this to be an error). |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions.property.objectId">objectId</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId">PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId</a></code> | object_id block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions.property.value">value</a></code> | <code>string</code> | The value of this X.509 extension. A base64-encoded string. |

---

##### `critical`<sup>Required</sup> <a name="critical" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions.property.critical"></a>

```typescript
public readonly critical: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether or not this extension is critical (i.e., if the client does not know how to handle this extension, the client should consider this to be an error).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#critical PrivatecaCertificateAuthority#critical}

---

##### `objectId`<sup>Required</sup> <a name="objectId" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions.property.objectId"></a>

```typescript
public readonly objectId: PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId">PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId</a>

object_id block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#object_id PrivatecaCertificateAuthority#object_id}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensions.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The value of this X.509 extension. A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#value PrivatecaCertificateAuthority#value}

---

### PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId <a name="PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId: PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#object_id_path PrivatecaCertificateAuthority#object_id_path}

---

### PrivatecaCertificateAuthorityConfigX509ConfigCaOptions <a name="PrivatecaCertificateAuthorityConfigX509ConfigCaOptions" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigX509ConfigCaOptions } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigX509ConfigCaOptions: PrivatecaCertificateAuthorityConfigX509ConfigCaOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions.property.isCa">isCa</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the "CA" in Basic Constraints extension will be set to true. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions.property.maxIssuerPathLength">maxIssuerPathLength</a></code> | <code>number</code> | Refers to the "path length constraint" in Basic Constraints extension. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions.property.nonCa">nonCa</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the "CA" in Basic Constraints extension will be set to false. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions.property.zeroMaxIssuerPathLength">zeroMaxIssuerPathLength</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the "path length constraint" in Basic Constraints extension will be set to 0. |

---

##### `isCa`<sup>Required</sup> <a name="isCa" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions.property.isCa"></a>

```typescript
public readonly isCa: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the "CA" in Basic Constraints extension will be set to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#is_ca PrivatecaCertificateAuthority#is_ca}

---

##### `maxIssuerPathLength`<sup>Optional</sup> <a name="maxIssuerPathLength" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions.property.maxIssuerPathLength"></a>

```typescript
public readonly maxIssuerPathLength: number;
```

- *Type:* number

Refers to the "path length constraint" in Basic Constraints extension.

For a CA certificate, this value describes the depth of
subordinate CA certificates that are allowed. If this value is less than 0, the request will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#max_issuer_path_length PrivatecaCertificateAuthority#max_issuer_path_length}

---

##### `nonCa`<sup>Optional</sup> <a name="nonCa" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions.property.nonCa"></a>

```typescript
public readonly nonCa: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the "CA" in Basic Constraints extension will be set to false.

If both 'is_ca' and 'non_ca' are unset, the extension will be omitted from the CA certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#non_ca PrivatecaCertificateAuthority#non_ca}

---

##### `zeroMaxIssuerPathLength`<sup>Optional</sup> <a name="zeroMaxIssuerPathLength" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigCaOptions.property.zeroMaxIssuerPathLength"></a>

```typescript
public readonly zeroMaxIssuerPathLength: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the "path length constraint" in Basic Constraints extension will be set to 0.

if both 'max_issuer_path_length' and 'zero_max_issuer_path_length' are unset,
the max path length will be omitted from the CA certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#zero_max_issuer_path_length PrivatecaCertificateAuthority#zero_max_issuer_path_length}

---

### PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage <a name="PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigX509ConfigKeyUsage: PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage.property.baseKeyUsage">baseKeyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage">PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage</a></code> | base_key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage.property.extendedKeyUsage">extendedKeyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage">PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage</a></code> | extended_key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage.property.unknownExtendedKeyUsages">unknownExtendedKeyUsages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages">PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages</a>[]</code> | unknown_extended_key_usages block. |

---

##### `baseKeyUsage`<sup>Required</sup> <a name="baseKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage.property.baseKeyUsage"></a>

```typescript
public readonly baseKeyUsage: PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage">PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage</a>

base_key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#base_key_usage PrivatecaCertificateAuthority#base_key_usage}

---

##### `extendedKeyUsage`<sup>Required</sup> <a name="extendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage.property.extendedKeyUsage"></a>

```typescript
public readonly extendedKeyUsage: PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage">PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage</a>

extended_key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#extended_key_usage PrivatecaCertificateAuthority#extended_key_usage}

---

##### `unknownExtendedKeyUsages`<sup>Optional</sup> <a name="unknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsage.property.unknownExtendedKeyUsages"></a>

```typescript
public readonly unknownExtendedKeyUsages: IResolvable | PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages">PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages</a>[]

unknown_extended_key_usages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#unknown_extended_key_usages PrivatecaCertificateAuthority#unknown_extended_key_usages}

---

### PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage <a name="PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage: PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.certSign">certSign</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to sign certificates. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.contentCommitment">contentCommitment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.crlSign">crlSign</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used sign certificate revocation lists. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.dataEncipherment">dataEncipherment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher data. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.decipherOnly">decipherOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to decipher only. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.digitalSignature">digitalSignature</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used for digital signatures. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.encipherOnly">encipherOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher only. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.keyAgreement">keyAgreement</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used in a key agreement protocol. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.keyEncipherment">keyEncipherment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher other keys. |

---

##### `certSign`<sup>Optional</sup> <a name="certSign" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.certSign"></a>

```typescript
public readonly certSign: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to sign certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#cert_sign PrivatecaCertificateAuthority#cert_sign}

---

##### `contentCommitment`<sup>Optional</sup> <a name="contentCommitment" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.contentCommitment"></a>

```typescript
public readonly contentCommitment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#content_commitment PrivatecaCertificateAuthority#content_commitment}

---

##### `crlSign`<sup>Optional</sup> <a name="crlSign" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.crlSign"></a>

```typescript
public readonly crlSign: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used sign certificate revocation lists.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#crl_sign PrivatecaCertificateAuthority#crl_sign}

---

##### `dataEncipherment`<sup>Optional</sup> <a name="dataEncipherment" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.dataEncipherment"></a>

```typescript
public readonly dataEncipherment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#data_encipherment PrivatecaCertificateAuthority#data_encipherment}

---

##### `decipherOnly`<sup>Optional</sup> <a name="decipherOnly" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.decipherOnly"></a>

```typescript
public readonly decipherOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to decipher only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#decipher_only PrivatecaCertificateAuthority#decipher_only}

---

##### `digitalSignature`<sup>Optional</sup> <a name="digitalSignature" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.digitalSignature"></a>

```typescript
public readonly digitalSignature: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used for digital signatures.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#digital_signature PrivatecaCertificateAuthority#digital_signature}

---

##### `encipherOnly`<sup>Optional</sup> <a name="encipherOnly" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.encipherOnly"></a>

```typescript
public readonly encipherOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#encipher_only PrivatecaCertificateAuthority#encipher_only}

---

##### `keyAgreement`<sup>Optional</sup> <a name="keyAgreement" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.keyAgreement"></a>

```typescript
public readonly keyAgreement: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used in a key agreement protocol.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#key_agreement PrivatecaCertificateAuthority#key_agreement}

---

##### `keyEncipherment`<sup>Optional</sup> <a name="keyEncipherment" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage.property.keyEncipherment"></a>

```typescript
public readonly keyEncipherment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher other keys.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#key_encipherment PrivatecaCertificateAuthority#key_encipherment}

---

### PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage <a name="PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage: PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.clientAuth">clientAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.codeSigning">codeSigning</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.emailProtection">emailProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.ocspSigning">ocspSigning</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.serverAuth">serverAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.timeStamping">timeStamping</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time". |

---

##### `clientAuth`<sup>Optional</sup> <a name="clientAuth" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.clientAuth"></a>

```typescript
public readonly clientAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#client_auth PrivatecaCertificateAuthority#client_auth}

---

##### `codeSigning`<sup>Optional</sup> <a name="codeSigning" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.codeSigning"></a>

```typescript
public readonly codeSigning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#code_signing PrivatecaCertificateAuthority#code_signing}

---

##### `emailProtection`<sup>Optional</sup> <a name="emailProtection" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.emailProtection"></a>

```typescript
public readonly emailProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#email_protection PrivatecaCertificateAuthority#email_protection}

---

##### `ocspSigning`<sup>Optional</sup> <a name="ocspSigning" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.ocspSigning"></a>

```typescript
public readonly ocspSigning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#ocsp_signing PrivatecaCertificateAuthority#ocsp_signing}

---

##### `serverAuth`<sup>Optional</sup> <a name="serverAuth" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.serverAuth"></a>

```typescript
public readonly serverAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#server_auth PrivatecaCertificateAuthority#server_auth}

---

##### `timeStamping`<sup>Optional</sup> <a name="timeStamping" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage.property.timeStamping"></a>

```typescript
public readonly timeStamping: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#time_stamping PrivatecaCertificateAuthority#time_stamping}

---

### PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages <a name="PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages: PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#object_id_path PrivatecaCertificateAuthority#object_id_path}

---

### PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds <a name="PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityConfigX509ConfigPolicyIds: PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityConfigX509ConfigPolicyIds.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#object_id_path PrivatecaCertificateAuthority#object_id_path}

---

### PrivatecaCertificateAuthorityKeySpec <a name="PrivatecaCertificateAuthorityKeySpec" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityKeySpec } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityKeySpec: PrivatecaCertificateAuthorityKeySpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec.property.algorithm">algorithm</a></code> | <code>string</code> | The algorithm to use for creating a managed Cloud KMS key for a for a simplified experience. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec.property.cloudKmsKeyVersion">cloudKmsKeyVersion</a></code> | <code>string</code> | The resource name for an existing Cloud KMS CryptoKeyVersion in the format 'projects/*\/locations/*\/keyRings/*\/cryptoKeys/*\/cryptoKeyVersions/*'. |

---

##### `algorithm`<sup>Optional</sup> <a name="algorithm" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec.property.algorithm"></a>

```typescript
public readonly algorithm: string;
```

- *Type:* string

The algorithm to use for creating a managed Cloud KMS key for a for a simplified experience.

All managed keys will be have their ProtectionLevel as HSM. Possible values: ["SIGN_HASH_ALGORITHM_UNSPECIFIED", "RSA_PSS_2048_SHA256", "RSA_PSS_3072_SHA256", "RSA_PSS_4096_SHA256", "RSA_PKCS1_2048_SHA256", "RSA_PKCS1_3072_SHA256", "RSA_PKCS1_4096_SHA256", "EC_P256_SHA256", "EC_P384_SHA384"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#algorithm PrivatecaCertificateAuthority#algorithm}

---

##### `cloudKmsKeyVersion`<sup>Optional</sup> <a name="cloudKmsKeyVersion" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityKeySpec.property.cloudKmsKeyVersion"></a>

```typescript
public readonly cloudKmsKeyVersion: string;
```

- *Type:* string

The resource name for an existing Cloud KMS CryptoKeyVersion in the format 'projects/*\/locations/*\/keyRings/*\/cryptoKeys/*\/cryptoKeyVersions/*'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#cloud_kms_key_version PrivatecaCertificateAuthority#cloud_kms_key_version}

---

### PrivatecaCertificateAuthoritySubordinateConfig <a name="PrivatecaCertificateAuthoritySubordinateConfig" id="@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthoritySubordinateConfig } from '@dschmidt/provider-google'

const privatecaCertificateAuthoritySubordinateConfig: PrivatecaCertificateAuthoritySubordinateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig.property.certificateAuthority">certificateAuthority</a></code> | <code>string</code> | This can refer to a CertificateAuthority that was used to create a subordinate CertificateAuthority. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig.property.pemIssuerChain">pemIssuerChain</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain">PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain</a></code> | pem_issuer_chain block. |

---

##### `certificateAuthority`<sup>Optional</sup> <a name="certificateAuthority" id="@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig.property.certificateAuthority"></a>

```typescript
public readonly certificateAuthority: string;
```

- *Type:* string

This can refer to a CertificateAuthority that was used to create a subordinate CertificateAuthority.

This field is used for information
and usability purposes only. The resource name is in the format
'projects/*\/locations/*\/caPools/*\/certificateAuthorities/*'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#certificate_authority PrivatecaCertificateAuthority#certificate_authority}

---

##### `pemIssuerChain`<sup>Optional</sup> <a name="pemIssuerChain" id="@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfig.property.pemIssuerChain"></a>

```typescript
public readonly pemIssuerChain: PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain">PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain</a>

pem_issuer_chain block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#pem_issuer_chain PrivatecaCertificateAuthority#pem_issuer_chain}

---

### PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain <a name="PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain" id="@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain } from '@dschmidt/provider-google'

const privatecaCertificateAuthoritySubordinateConfigPemIssuerChain: PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain.property.pemCertificates">pemCertificates</a></code> | <code>string[]</code> | Expected to be in leaf-to-root order according to RFC 5246. |

---

##### `pemCertificates`<sup>Optional</sup> <a name="pemCertificates" id="@dschmidt/provider-google.PrivatecaCertificateAuthoritySubordinateConfigPemIssuerChain.property.pemCertificates"></a>

```typescript
public readonly pemCertificates: string[];
```

- *Type:* string[]

Expected to be in leaf-to-root order according to RFC 5246.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#pem_certificates PrivatecaCertificateAuthority#pem_certificates}

---

### PrivatecaCertificateAuthorityTimeouts <a name="PrivatecaCertificateAuthorityTimeouts" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts.Initializer"></a>

```typescript
import { PrivatecaCertificateAuthorityTimeouts } from '@dschmidt/provider-google'

const privatecaCertificateAuthorityTimeouts: PrivatecaCertificateAuthorityTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#create PrivatecaCertificateAuthority#create}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#delete PrivatecaCertificateAuthority#delete}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#update PrivatecaCertificateAuthority#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#create PrivatecaCertificateAuthority#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#delete PrivatecaCertificateAuthority#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.PrivatecaCertificateAuthorityTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_authority#update PrivatecaCertificateAuthority#update}.

---

### PrivatecaCertificateCertificateDescription <a name="PrivatecaCertificateCertificateDescription" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescription"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescription.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescription } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescription: PrivatecaCertificateCertificateDescription = { ... }
```


### PrivatecaCertificateCertificateDescriptionAuthorityKeyId <a name="PrivatecaCertificateCertificateDescriptionAuthorityKeyId" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionAuthorityKeyId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionAuthorityKeyId.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionAuthorityKeyId } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionAuthorityKeyId: PrivatecaCertificateCertificateDescriptionAuthorityKeyId = { ... }
```


### PrivatecaCertificateCertificateDescriptionCertFingerprint <a name="PrivatecaCertificateCertificateDescriptionCertFingerprint" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionCertFingerprint"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionCertFingerprint.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionCertFingerprint } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionCertFingerprint: PrivatecaCertificateCertificateDescriptionCertFingerprint = { ... }
```


### PrivatecaCertificateCertificateDescriptionConfigValues <a name="PrivatecaCertificateCertificateDescriptionConfigValues" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValues"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValues.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionConfigValues } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionConfigValues: PrivatecaCertificateCertificateDescriptionConfigValues = { ... }
```


### PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsage <a name="PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionConfigValuesKeyUsage: PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsage = { ... }
```


### PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsage <a name="PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsage: PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsage = { ... }
```


### PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsageKeyUsageOptions <a name="PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsageKeyUsageOptions" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsageKeyUsageOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsageKeyUsageOptions.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsageKeyUsageOptions } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsageKeyUsageOptions: PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageBaseKeyUsageKeyUsageOptions = { ... }
```


### PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageExtendedKeyUsage <a name="PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageExtendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageExtendedKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageExtendedKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageExtendedKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionConfigValuesKeyUsageExtendedKeyUsage: PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageExtendedKeyUsage = { ... }
```


### PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsages <a name="PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsages.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsages } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsages: PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsages = { ... }
```


### PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsagesObectId <a name="PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsagesObectId" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsagesObectId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsagesObectId.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsagesObectId } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsagesObectId: PrivatecaCertificateCertificateDescriptionConfigValuesKeyUsageUnknownExtendedKeyUsagesObectId = { ... }
```


### PrivatecaCertificateCertificateDescriptionPublicKey <a name="PrivatecaCertificateCertificateDescriptionPublicKey" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionPublicKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionPublicKey.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionPublicKey } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionPublicKey: PrivatecaCertificateCertificateDescriptionPublicKey = { ... }
```


### PrivatecaCertificateCertificateDescriptionSubjectDescription <a name="PrivatecaCertificateCertificateDescriptionSubjectDescription" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescription"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescription.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionSubjectDescription } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionSubjectDescription: PrivatecaCertificateCertificateDescriptionSubjectDescription = { ... }
```


### PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubject <a name="PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubject" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubject"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubject.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubject } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionSubjectDescriptionSubject: PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubject = { ... }
```


### PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltName <a name="PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltName" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltName"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltName.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltName } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltName: PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltName = { ... }
```


### PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSans <a name="PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSans" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSans"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSans.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSans } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSans: PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSans = { ... }
```


### PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSansObectId <a name="PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSansObectId" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSansObectId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSansObectId.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSansObectId } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSansObectId: PrivatecaCertificateCertificateDescriptionSubjectDescriptionSubjectAltNameCustomSansObectId = { ... }
```


### PrivatecaCertificateCertificateDescriptionSubjectKeyId <a name="PrivatecaCertificateCertificateDescriptionSubjectKeyId" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectKeyId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionSubjectKeyId.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionSubjectKeyId } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionSubjectKeyId: PrivatecaCertificateCertificateDescriptionSubjectKeyId = { ... }
```


### PrivatecaCertificateCertificateDescriptionX509Description <a name="PrivatecaCertificateCertificateDescriptionX509Description" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509Description"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509Description.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionX509Description } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionX509Description: PrivatecaCertificateCertificateDescriptionX509Description = { ... }
```


### PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensions <a name="PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensions" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensions.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensions } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensions: PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensions = { ... }
```


### PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensionsObjectId <a name="PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensionsObjectId" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensionsObjectId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensionsObjectId.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensionsObjectId } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensionsObjectId: PrivatecaCertificateCertificateDescriptionX509DescriptionAdditionalExtensionsObjectId = { ... }
```


### PrivatecaCertificateCertificateDescriptionX509DescriptionCaOptions <a name="PrivatecaCertificateCertificateDescriptionX509DescriptionCaOptions" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionCaOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionCaOptions.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionX509DescriptionCaOptions } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionX509DescriptionCaOptions: PrivatecaCertificateCertificateDescriptionX509DescriptionCaOptions = { ... }
```


### PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsage <a name="PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionX509DescriptionKeyUsage: PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsage = { ... }
```


### PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageBaseKeyUsage <a name="PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageBaseKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageBaseKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageBaseKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageBaseKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionX509DescriptionKeyUsageBaseKeyUsage: PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageBaseKeyUsage = { ... }
```


### PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageExtendedKeyUsage <a name="PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageExtendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageExtendedKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageExtendedKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageExtendedKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionX509DescriptionKeyUsageExtendedKeyUsage: PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageExtendedKeyUsage = { ... }
```


### PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageUnknownExtendedKeyUsages <a name="PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageUnknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageUnknownExtendedKeyUsages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageUnknownExtendedKeyUsages.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageUnknownExtendedKeyUsages } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionX509DescriptionKeyUsageUnknownExtendedKeyUsages: PrivatecaCertificateCertificateDescriptionX509DescriptionKeyUsageUnknownExtendedKeyUsages = { ... }
```


### PrivatecaCertificateCertificateDescriptionX509DescriptionPolicyIds <a name="PrivatecaCertificateCertificateDescriptionX509DescriptionPolicyIds" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionPolicyIds"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateCertificateDescriptionX509DescriptionPolicyIds.Initializer"></a>

```typescript
import { PrivatecaCertificateCertificateDescriptionX509DescriptionPolicyIds } from '@dschmidt/provider-google'

const privatecaCertificateCertificateDescriptionX509DescriptionPolicyIds: PrivatecaCertificateCertificateDescriptionX509DescriptionPolicyIds = { ... }
```


### PrivatecaCertificateConfig <a name="PrivatecaCertificateConfig" id="@dschmidt/provider-google.PrivatecaCertificateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfig.Initializer"></a>

```typescript
import { PrivatecaCertificateConfig } from '@dschmidt/provider-google'

const privatecaCertificateConfig: PrivatecaCertificateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.location">location</a></code> | <code>string</code> | Location of the Certificate. A full list of valid locations can be found by running 'gcloud privateca locations list'. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.name">name</a></code> | <code>string</code> | The name for this Certificate. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.pool">pool</a></code> | <code>string</code> | The name of the CaPool this Certificate belongs to. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.certificateAuthority">certificateAuthority</a></code> | <code>string</code> | The Certificate Authority ID that should issue the certificate. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.certificateTemplate">certificateTemplate</a></code> | <code>string</code> | The resource name for a CertificateTemplate used to issue this certificate, in the format 'projects/*\/locations/*\/certificateTemplates/*'. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.config">config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigA">PrivatecaCertificateConfigA</a></code> | config block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#id PrivatecaCertificate#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Labels with user-defined metadata to apply to this resource. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.lifetime">lifetime</a></code> | <code>string</code> | The desired lifetime of the CA certificate. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.pemCsr">pemCsr</a></code> | <code>string</code> | Immutable. A pem-encoded X.509 certificate signing request (CSR). |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#project PrivatecaCertificate#project}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTimeouts">PrivatecaCertificateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the Certificate. A full list of valid locations can be found by running 'gcloud privateca locations list'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#location PrivatecaCertificate#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name for this Certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#name PrivatecaCertificate#name}

---

##### `pool`<sup>Required</sup> <a name="pool" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.pool"></a>

```typescript
public readonly pool: string;
```

- *Type:* string

The name of the CaPool this Certificate belongs to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#pool PrivatecaCertificate#pool}

---

##### `certificateAuthority`<sup>Optional</sup> <a name="certificateAuthority" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.certificateAuthority"></a>

```typescript
public readonly certificateAuthority: string;
```

- *Type:* string

The Certificate Authority ID that should issue the certificate.

For example, to issue a Certificate from
a Certificate Authority with resource name 'projects/my-project/locations/us-central1/caPools/my-pool/certificateAuthorities/my-ca',
argument 'pool' should be set to 'projects/my-project/locations/us-central1/caPools/my-pool', argument 'certificate_authority'
should be set to 'my-ca'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#certificate_authority PrivatecaCertificate#certificate_authority}

---

##### `certificateTemplate`<sup>Optional</sup> <a name="certificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.certificateTemplate"></a>

```typescript
public readonly certificateTemplate: string;
```

- *Type:* string

The resource name for a CertificateTemplate used to issue this certificate, in the format 'projects/*\/locations/*\/certificateTemplates/*'.

If this is specified,
the caller must have the necessary permission to use this template. If this is
omitted, no template will be used. This template must be in the same location
as the Certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#certificate_template PrivatecaCertificate#certificate_template}

---

##### `config`<sup>Optional</sup> <a name="config" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.config"></a>

```typescript
public readonly config: PrivatecaCertificateConfigA;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigA">PrivatecaCertificateConfigA</a>

config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#config PrivatecaCertificate#config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#id PrivatecaCertificate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Labels with user-defined metadata to apply to this resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#labels PrivatecaCertificate#labels}

---

##### `lifetime`<sup>Optional</sup> <a name="lifetime" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.lifetime"></a>

```typescript
public readonly lifetime: string;
```

- *Type:* string

The desired lifetime of the CA certificate.

Used to create the "notBeforeTime" and
"notAfterTime" fields inside an X.509 certificate. A duration in seconds with up to nine
fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#lifetime PrivatecaCertificate#lifetime}

---

##### `pemCsr`<sup>Optional</sup> <a name="pemCsr" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.pemCsr"></a>

```typescript
public readonly pemCsr: string;
```

- *Type:* string

Immutable. A pem-encoded X.509 certificate signing request (CSR).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#pem_csr PrivatecaCertificate#pem_csr}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#project PrivatecaCertificate#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PrivatecaCertificateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PrivatecaCertificateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTimeouts">PrivatecaCertificateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#timeouts PrivatecaCertificate#timeouts}

---

### PrivatecaCertificateConfigA <a name="PrivatecaCertificateConfigA" id="@dschmidt/provider-google.PrivatecaCertificateConfigA"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigA.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigA } from '@dschmidt/provider-google'

const privatecaCertificateConfigA: PrivatecaCertificateConfigA = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigA.property.publicKey">publicKey</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigPublicKey">PrivatecaCertificateConfigPublicKey</a></code> | public_key block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigA.property.subjectConfig">subjectConfig</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfig">PrivatecaCertificateConfigSubjectConfig</a></code> | subject_config block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigA.property.x509Config">x509Config</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509Config">PrivatecaCertificateConfigX509Config</a></code> | x509_config block. |

---

##### `publicKey`<sup>Required</sup> <a name="publicKey" id="@dschmidt/provider-google.PrivatecaCertificateConfigA.property.publicKey"></a>

```typescript
public readonly publicKey: PrivatecaCertificateConfigPublicKey;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigPublicKey">PrivatecaCertificateConfigPublicKey</a>

public_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#public_key PrivatecaCertificate#public_key}

---

##### `subjectConfig`<sup>Required</sup> <a name="subjectConfig" id="@dschmidt/provider-google.PrivatecaCertificateConfigA.property.subjectConfig"></a>

```typescript
public readonly subjectConfig: PrivatecaCertificateConfigSubjectConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfig">PrivatecaCertificateConfigSubjectConfig</a>

subject_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#subject_config PrivatecaCertificate#subject_config}

---

##### `x509Config`<sup>Required</sup> <a name="x509Config" id="@dschmidt/provider-google.PrivatecaCertificateConfigA.property.x509Config"></a>

```typescript
public readonly x509Config: PrivatecaCertificateConfigX509Config;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509Config">PrivatecaCertificateConfigX509Config</a>

x509_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#x509_config PrivatecaCertificate#x509_config}

---

### PrivatecaCertificateConfigPublicKey <a name="PrivatecaCertificateConfigPublicKey" id="@dschmidt/provider-google.PrivatecaCertificateConfigPublicKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigPublicKey.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigPublicKey } from '@dschmidt/provider-google'

const privatecaCertificateConfigPublicKey: PrivatecaCertificateConfigPublicKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigPublicKey.property.format">format</a></code> | <code>string</code> | The format of the public key. Currently, only PEM format is supported. Possible values: ["KEY_TYPE_UNSPECIFIED", "PEM"]. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigPublicKey.property.key">key</a></code> | <code>string</code> | Required. |

---

##### `format`<sup>Required</sup> <a name="format" id="@dschmidt/provider-google.PrivatecaCertificateConfigPublicKey.property.format"></a>

```typescript
public readonly format: string;
```

- *Type:* string

The format of the public key. Currently, only PEM format is supported. Possible values: ["KEY_TYPE_UNSPECIFIED", "PEM"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#format PrivatecaCertificate#format}

---

##### `key`<sup>Optional</sup> <a name="key" id="@dschmidt/provider-google.PrivatecaCertificateConfigPublicKey.property.key"></a>

```typescript
public readonly key: string;
```

- *Type:* string

Required.

A public key. When this is specified in a request, the padding and encoding can be any of the options described by the respective 'KeyType' value. When this is generated by the service, it will always be an RFC 5280 SubjectPublicKeyInfo structure containing an algorithm identifier and a key. A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#key PrivatecaCertificate#key}

---

### PrivatecaCertificateConfigSubjectConfig <a name="PrivatecaCertificateConfigSubjectConfig" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfig.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigSubjectConfig } from '@dschmidt/provider-google'

const privatecaCertificateConfigSubjectConfig: PrivatecaCertificateConfigSubjectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfig.property.subject">subject</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject">PrivatecaCertificateConfigSubjectConfigSubject</a></code> | subject block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfig.property.subjectAltName">subjectAltName</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName">PrivatecaCertificateConfigSubjectConfigSubjectAltName</a></code> | subject_alt_name block. |

---

##### `subject`<sup>Required</sup> <a name="subject" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfig.property.subject"></a>

```typescript
public readonly subject: PrivatecaCertificateConfigSubjectConfigSubject;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject">PrivatecaCertificateConfigSubjectConfigSubject</a>

subject block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#subject PrivatecaCertificate#subject}

---

##### `subjectAltName`<sup>Optional</sup> <a name="subjectAltName" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfig.property.subjectAltName"></a>

```typescript
public readonly subjectAltName: PrivatecaCertificateConfigSubjectConfigSubjectAltName;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName">PrivatecaCertificateConfigSubjectConfigSubjectAltName</a>

subject_alt_name block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#subject_alt_name PrivatecaCertificate#subject_alt_name}

---

### PrivatecaCertificateConfigSubjectConfigSubject <a name="PrivatecaCertificateConfigSubjectConfigSubject" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigSubjectConfigSubject } from '@dschmidt/provider-google'

const privatecaCertificateConfigSubjectConfigSubject: PrivatecaCertificateConfigSubjectConfigSubject = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.commonName">commonName</a></code> | <code>string</code> | The common name of the distinguished name. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.organization">organization</a></code> | <code>string</code> | The organization of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.countryCode">countryCode</a></code> | <code>string</code> | The country code of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.locality">locality</a></code> | <code>string</code> | The locality or city of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.organizationalUnit">organizationalUnit</a></code> | <code>string</code> | The organizational unit of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.postalCode">postalCode</a></code> | <code>string</code> | The postal code of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.province">province</a></code> | <code>string</code> | The province, territory, or regional state of the subject. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.streetAddress">streetAddress</a></code> | <code>string</code> | The street address of the subject. |

---

##### `commonName`<sup>Required</sup> <a name="commonName" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.commonName"></a>

```typescript
public readonly commonName: string;
```

- *Type:* string

The common name of the distinguished name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#common_name PrivatecaCertificate#common_name}

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

The organization of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#organization PrivatecaCertificate#organization}

---

##### `countryCode`<sup>Optional</sup> <a name="countryCode" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.countryCode"></a>

```typescript
public readonly countryCode: string;
```

- *Type:* string

The country code of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#country_code PrivatecaCertificate#country_code}

---

##### `locality`<sup>Optional</sup> <a name="locality" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.locality"></a>

```typescript
public readonly locality: string;
```

- *Type:* string

The locality or city of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#locality PrivatecaCertificate#locality}

---

##### `organizationalUnit`<sup>Optional</sup> <a name="organizationalUnit" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.organizationalUnit"></a>

```typescript
public readonly organizationalUnit: string;
```

- *Type:* string

The organizational unit of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#organizational_unit PrivatecaCertificate#organizational_unit}

---

##### `postalCode`<sup>Optional</sup> <a name="postalCode" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.postalCode"></a>

```typescript
public readonly postalCode: string;
```

- *Type:* string

The postal code of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#postal_code PrivatecaCertificate#postal_code}

---

##### `province`<sup>Optional</sup> <a name="province" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.province"></a>

```typescript
public readonly province: string;
```

- *Type:* string

The province, territory, or regional state of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#province PrivatecaCertificate#province}

---

##### `streetAddress`<sup>Optional</sup> <a name="streetAddress" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubject.property.streetAddress"></a>

```typescript
public readonly streetAddress: string;
```

- *Type:* string

The street address of the subject.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#street_address PrivatecaCertificate#street_address}

---

### PrivatecaCertificateConfigSubjectConfigSubjectAltName <a name="PrivatecaCertificateConfigSubjectConfigSubjectAltName" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigSubjectConfigSubjectAltName } from '@dschmidt/provider-google'

const privatecaCertificateConfigSubjectConfigSubjectAltName: PrivatecaCertificateConfigSubjectConfigSubjectAltName = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName.property.dnsNames">dnsNames</a></code> | <code>string[]</code> | Contains only valid, fully-qualified host names. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName.property.emailAddresses">emailAddresses</a></code> | <code>string[]</code> | Contains only valid RFC 2822 E-mail addresses. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName.property.ipAddresses">ipAddresses</a></code> | <code>string[]</code> | Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName.property.uris">uris</a></code> | <code>string[]</code> | Contains only valid RFC 3986 URIs. |

---

##### `dnsNames`<sup>Optional</sup> <a name="dnsNames" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName.property.dnsNames"></a>

```typescript
public readonly dnsNames: string[];
```

- *Type:* string[]

Contains only valid, fully-qualified host names.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#dns_names PrivatecaCertificate#dns_names}

---

##### `emailAddresses`<sup>Optional</sup> <a name="emailAddresses" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName.property.emailAddresses"></a>

```typescript
public readonly emailAddresses: string[];
```

- *Type:* string[]

Contains only valid RFC 2822 E-mail addresses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#email_addresses PrivatecaCertificate#email_addresses}

---

##### `ipAddresses`<sup>Optional</sup> <a name="ipAddresses" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName.property.ipAddresses"></a>

```typescript
public readonly ipAddresses: string[];
```

- *Type:* string[]

Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#ip_addresses PrivatecaCertificate#ip_addresses}

---

##### `uris`<sup>Optional</sup> <a name="uris" id="@dschmidt/provider-google.PrivatecaCertificateConfigSubjectConfigSubjectAltName.property.uris"></a>

```typescript
public readonly uris: string[];
```

- *Type:* string[]

Contains only valid RFC 3986 URIs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#uris PrivatecaCertificate#uris}

---

### PrivatecaCertificateConfigX509Config <a name="PrivatecaCertificateConfigX509Config" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509Config"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigX509Config } from '@dschmidt/provider-google'

const privatecaCertificateConfigX509Config: PrivatecaCertificateConfigX509Config = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.keyUsage">keyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage">PrivatecaCertificateConfigX509ConfigKeyUsage</a></code> | key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.additionalExtensions">additionalExtensions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions">PrivatecaCertificateConfigX509ConfigAdditionalExtensions</a>[]</code> | additional_extensions block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.aiaOcspServers">aiaOcspServers</a></code> | <code>string[]</code> | Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the "Authority Information Access" extension in the certificate. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.caOptions">caOptions</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions">PrivatecaCertificateConfigX509ConfigCaOptions</a></code> | ca_options block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.policyIds">policyIds</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigPolicyIds">PrivatecaCertificateConfigX509ConfigPolicyIds</a>[]</code> | policy_ids block. |

---

##### `keyUsage`<sup>Required</sup> <a name="keyUsage" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.keyUsage"></a>

```typescript
public readonly keyUsage: PrivatecaCertificateConfigX509ConfigKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage">PrivatecaCertificateConfigX509ConfigKeyUsage</a>

key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#key_usage PrivatecaCertificate#key_usage}

---

##### `additionalExtensions`<sup>Optional</sup> <a name="additionalExtensions" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.additionalExtensions"></a>

```typescript
public readonly additionalExtensions: IResolvable | PrivatecaCertificateConfigX509ConfigAdditionalExtensions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions">PrivatecaCertificateConfigX509ConfigAdditionalExtensions</a>[]

additional_extensions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#additional_extensions PrivatecaCertificate#additional_extensions}

---

##### `aiaOcspServers`<sup>Optional</sup> <a name="aiaOcspServers" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.aiaOcspServers"></a>

```typescript
public readonly aiaOcspServers: string[];
```

- *Type:* string[]

Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the "Authority Information Access" extension in the certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#aia_ocsp_servers PrivatecaCertificate#aia_ocsp_servers}

---

##### `caOptions`<sup>Optional</sup> <a name="caOptions" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.caOptions"></a>

```typescript
public readonly caOptions: PrivatecaCertificateConfigX509ConfigCaOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions">PrivatecaCertificateConfigX509ConfigCaOptions</a>

ca_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#ca_options PrivatecaCertificate#ca_options}

---

##### `policyIds`<sup>Optional</sup> <a name="policyIds" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509Config.property.policyIds"></a>

```typescript
public readonly policyIds: IResolvable | PrivatecaCertificateConfigX509ConfigPolicyIds[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigPolicyIds">PrivatecaCertificateConfigX509ConfigPolicyIds</a>[]

policy_ids block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#policy_ids PrivatecaCertificate#policy_ids}

---

### PrivatecaCertificateConfigX509ConfigAdditionalExtensions <a name="PrivatecaCertificateConfigX509ConfigAdditionalExtensions" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigX509ConfigAdditionalExtensions } from '@dschmidt/provider-google'

const privatecaCertificateConfigX509ConfigAdditionalExtensions: PrivatecaCertificateConfigX509ConfigAdditionalExtensions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions.property.critical">critical</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether or not this extension is critical (i.e., if the client does not know how to handle this extension, the client should consider this to be an error). |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions.property.objectId">objectId</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId">PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId</a></code> | object_id block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions.property.value">value</a></code> | <code>string</code> | The value of this X.509 extension. A base64-encoded string. |

---

##### `critical`<sup>Required</sup> <a name="critical" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions.property.critical"></a>

```typescript
public readonly critical: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether or not this extension is critical (i.e., if the client does not know how to handle this extension, the client should consider this to be an error).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#critical PrivatecaCertificate#critical}

---

##### `objectId`<sup>Required</sup> <a name="objectId" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions.property.objectId"></a>

```typescript
public readonly objectId: PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId">PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId</a>

object_id block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#object_id PrivatecaCertificate#object_id}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensions.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

The value of this X.509 extension. A base64-encoded string.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#value PrivatecaCertificate#value}

---

### PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId <a name="PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId } from '@dschmidt/provider-google'

const privatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId: PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigAdditionalExtensionsObjectId.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#object_id_path PrivatecaCertificate#object_id_path}

---

### PrivatecaCertificateConfigX509ConfigCaOptions <a name="PrivatecaCertificateConfigX509ConfigCaOptions" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigX509ConfigCaOptions } from '@dschmidt/provider-google'

const privatecaCertificateConfigX509ConfigCaOptions: PrivatecaCertificateConfigX509ConfigCaOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions.property.isCa">isCa</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the "CA" in Basic Constraints extension will be set to true. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions.property.maxIssuerPathLength">maxIssuerPathLength</a></code> | <code>number</code> | Refers to the "path length constraint" in Basic Constraints extension. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions.property.nonCa">nonCa</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the "CA" in Basic Constraints extension will be set to false. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions.property.zeroMaxIssuerPathLength">zeroMaxIssuerPathLength</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, the "path length constraint" in Basic Constraints extension will be set to 0. |

---

##### `isCa`<sup>Optional</sup> <a name="isCa" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions.property.isCa"></a>

```typescript
public readonly isCa: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the "CA" in Basic Constraints extension will be set to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#is_ca PrivatecaCertificate#is_ca}

---

##### `maxIssuerPathLength`<sup>Optional</sup> <a name="maxIssuerPathLength" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions.property.maxIssuerPathLength"></a>

```typescript
public readonly maxIssuerPathLength: number;
```

- *Type:* number

Refers to the "path length constraint" in Basic Constraints extension.

For a CA certificate, this value describes the depth of
subordinate CA certificates that are allowed. If this value is less than 0, the request will fail.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#max_issuer_path_length PrivatecaCertificate#max_issuer_path_length}

---

##### `nonCa`<sup>Optional</sup> <a name="nonCa" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions.property.nonCa"></a>

```typescript
public readonly nonCa: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the "CA" in Basic Constraints extension will be set to false.

If both 'is_ca' and 'non_ca' are unset, the extension will be omitted from the CA certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#non_ca PrivatecaCertificate#non_ca}

---

##### `zeroMaxIssuerPathLength`<sup>Optional</sup> <a name="zeroMaxIssuerPathLength" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigCaOptions.property.zeroMaxIssuerPathLength"></a>

```typescript
public readonly zeroMaxIssuerPathLength: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, the "path length constraint" in Basic Constraints extension will be set to 0.

if both 'max_issuer_path_length' and 'zero_max_issuer_path_length' are unset,
the max path length will be omitted from the CA certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#zero_max_issuer_path_length PrivatecaCertificate#zero_max_issuer_path_length}

---

### PrivatecaCertificateConfigX509ConfigKeyUsage <a name="PrivatecaCertificateConfigX509ConfigKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigX509ConfigKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateConfigX509ConfigKeyUsage: PrivatecaCertificateConfigX509ConfigKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage.property.baseKeyUsage">baseKeyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage">PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage</a></code> | base_key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage.property.extendedKeyUsage">extendedKeyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage">PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage</a></code> | extended_key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage.property.unknownExtendedKeyUsages">unknownExtendedKeyUsages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages">PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages</a>[]</code> | unknown_extended_key_usages block. |

---

##### `baseKeyUsage`<sup>Required</sup> <a name="baseKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage.property.baseKeyUsage"></a>

```typescript
public readonly baseKeyUsage: PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage">PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage</a>

base_key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#base_key_usage PrivatecaCertificate#base_key_usage}

---

##### `extendedKeyUsage`<sup>Required</sup> <a name="extendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage.property.extendedKeyUsage"></a>

```typescript
public readonly extendedKeyUsage: PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage">PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage</a>

extended_key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#extended_key_usage PrivatecaCertificate#extended_key_usage}

---

##### `unknownExtendedKeyUsages`<sup>Optional</sup> <a name="unknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsage.property.unknownExtendedKeyUsages"></a>

```typescript
public readonly unknownExtendedKeyUsages: IResolvable | PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages">PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages</a>[]

unknown_extended_key_usages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#unknown_extended_key_usages PrivatecaCertificate#unknown_extended_key_usages}

---

### PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage <a name="PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage: PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.certSign">certSign</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to sign certificates. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.contentCommitment">contentCommitment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.crlSign">crlSign</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used sign certificate revocation lists. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.dataEncipherment">dataEncipherment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher data. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.decipherOnly">decipherOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to decipher only. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.digitalSignature">digitalSignature</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used for digital signatures. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.encipherOnly">encipherOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher only. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.keyAgreement">keyAgreement</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used in a key agreement protocol. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.keyEncipherment">keyEncipherment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher other keys. |

---

##### `certSign`<sup>Optional</sup> <a name="certSign" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.certSign"></a>

```typescript
public readonly certSign: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to sign certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#cert_sign PrivatecaCertificate#cert_sign}

---

##### `contentCommitment`<sup>Optional</sup> <a name="contentCommitment" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.contentCommitment"></a>

```typescript
public readonly contentCommitment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#content_commitment PrivatecaCertificate#content_commitment}

---

##### `crlSign`<sup>Optional</sup> <a name="crlSign" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.crlSign"></a>

```typescript
public readonly crlSign: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used sign certificate revocation lists.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#crl_sign PrivatecaCertificate#crl_sign}

---

##### `dataEncipherment`<sup>Optional</sup> <a name="dataEncipherment" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.dataEncipherment"></a>

```typescript
public readonly dataEncipherment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#data_encipherment PrivatecaCertificate#data_encipherment}

---

##### `decipherOnly`<sup>Optional</sup> <a name="decipherOnly" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.decipherOnly"></a>

```typescript
public readonly decipherOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to decipher only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#decipher_only PrivatecaCertificate#decipher_only}

---

##### `digitalSignature`<sup>Optional</sup> <a name="digitalSignature" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.digitalSignature"></a>

```typescript
public readonly digitalSignature: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used for digital signatures.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#digital_signature PrivatecaCertificate#digital_signature}

---

##### `encipherOnly`<sup>Optional</sup> <a name="encipherOnly" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.encipherOnly"></a>

```typescript
public readonly encipherOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#encipher_only PrivatecaCertificate#encipher_only}

---

##### `keyAgreement`<sup>Optional</sup> <a name="keyAgreement" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.keyAgreement"></a>

```typescript
public readonly keyAgreement: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used in a key agreement protocol.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#key_agreement PrivatecaCertificate#key_agreement}

---

##### `keyEncipherment`<sup>Optional</sup> <a name="keyEncipherment" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageBaseKeyUsage.property.keyEncipherment"></a>

```typescript
public readonly keyEncipherment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher other keys.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#key_encipherment PrivatecaCertificate#key_encipherment}

---

### PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage <a name="PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage: PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.clientAuth">clientAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.codeSigning">codeSigning</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.emailProtection">emailProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.ocspSigning">ocspSigning</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.serverAuth">serverAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.timeStamping">timeStamping</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time". |

---

##### `clientAuth`<sup>Optional</sup> <a name="clientAuth" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.clientAuth"></a>

```typescript
public readonly clientAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#client_auth PrivatecaCertificate#client_auth}

---

##### `codeSigning`<sup>Optional</sup> <a name="codeSigning" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.codeSigning"></a>

```typescript
public readonly codeSigning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#code_signing PrivatecaCertificate#code_signing}

---

##### `emailProtection`<sup>Optional</sup> <a name="emailProtection" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.emailProtection"></a>

```typescript
public readonly emailProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#email_protection PrivatecaCertificate#email_protection}

---

##### `ocspSigning`<sup>Optional</sup> <a name="ocspSigning" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.ocspSigning"></a>

```typescript
public readonly ocspSigning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#ocsp_signing PrivatecaCertificate#ocsp_signing}

---

##### `serverAuth`<sup>Optional</sup> <a name="serverAuth" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.serverAuth"></a>

```typescript
public readonly serverAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#server_auth PrivatecaCertificate#server_auth}

---

##### `timeStamping`<sup>Optional</sup> <a name="timeStamping" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageExtendedKeyUsage.property.timeStamping"></a>

```typescript
public readonly timeStamping: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#time_stamping PrivatecaCertificate#time_stamping}

---

### PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages <a name="PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages } from '@dschmidt/provider-google'

const privatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages: PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigKeyUsageUnknownExtendedKeyUsages.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#object_id_path PrivatecaCertificate#object_id_path}

---

### PrivatecaCertificateConfigX509ConfigPolicyIds <a name="PrivatecaCertificateConfigX509ConfigPolicyIds" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigPolicyIds"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigPolicyIds.Initializer"></a>

```typescript
import { PrivatecaCertificateConfigX509ConfigPolicyIds } from '@dschmidt/provider-google'

const privatecaCertificateConfigX509ConfigPolicyIds: PrivatecaCertificateConfigX509ConfigPolicyIds = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigPolicyIds.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateConfigX509ConfigPolicyIds.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#object_id_path PrivatecaCertificate#object_id_path}

---

### PrivatecaCertificateRevocationDetails <a name="PrivatecaCertificateRevocationDetails" id="@dschmidt/provider-google.PrivatecaCertificateRevocationDetails"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateRevocationDetails.Initializer"></a>

```typescript
import { PrivatecaCertificateRevocationDetails } from '@dschmidt/provider-google'

const privatecaCertificateRevocationDetails: PrivatecaCertificateRevocationDetails = { ... }
```


### PrivatecaCertificateTemplateConfig <a name="PrivatecaCertificateTemplateConfig" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateConfig } from '@dschmidt/provider-google'

const privatecaCertificateTemplateConfig: PrivatecaCertificateTemplateConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.location">location</a></code> | <code>string</code> | The location for the resource. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.name">name</a></code> | <code>string</code> | The resource name for this CertificateTemplate in the format `projects/*\/locations/*\/certificateTemplates/*`. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.description">description</a></code> | <code>string</code> | Optional. A human-readable description of scenarios this template is intended for. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#id PrivatecaCertificateTemplate#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.identityConstraints">identityConstraints</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints">PrivatecaCertificateTemplateIdentityConstraints</a></code> | identity_constraints block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Optional. Labels with user-defined metadata. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.passthroughExtensions">passthroughExtensions</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions">PrivatecaCertificateTemplatePassthroughExtensions</a></code> | passthrough_extensions block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.predefinedValues">predefinedValues</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues">PrivatecaCertificateTemplatePredefinedValues</a></code> | predefined_values block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts">PrivatecaCertificateTemplateTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The location for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#location PrivatecaCertificateTemplate#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name for this CertificateTemplate in the format `projects/*\/locations/*\/certificateTemplates/*`.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#name PrivatecaCertificateTemplate#name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. A human-readable description of scenarios this template is intended for.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#description PrivatecaCertificateTemplate#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#id PrivatecaCertificateTemplate#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `identityConstraints`<sup>Optional</sup> <a name="identityConstraints" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.identityConstraints"></a>

```typescript
public readonly identityConstraints: PrivatecaCertificateTemplateIdentityConstraints;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints">PrivatecaCertificateTemplateIdentityConstraints</a>

identity_constraints block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#identity_constraints PrivatecaCertificateTemplate#identity_constraints}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Optional. Labels with user-defined metadata.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#labels PrivatecaCertificateTemplate#labels}

---

##### `passthroughExtensions`<sup>Optional</sup> <a name="passthroughExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.passthroughExtensions"></a>

```typescript
public readonly passthroughExtensions: PrivatecaCertificateTemplatePassthroughExtensions;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions">PrivatecaCertificateTemplatePassthroughExtensions</a>

passthrough_extensions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#passthrough_extensions PrivatecaCertificateTemplate#passthrough_extensions}

---

##### `predefinedValues`<sup>Optional</sup> <a name="predefinedValues" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.predefinedValues"></a>

```typescript
public readonly predefinedValues: PrivatecaCertificateTemplatePredefinedValues;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues">PrivatecaCertificateTemplatePredefinedValues</a>

predefined_values block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#predefined_values PrivatecaCertificateTemplate#predefined_values}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#project PrivatecaCertificateTemplate#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PrivatecaCertificateTemplateConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PrivatecaCertificateTemplateTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts">PrivatecaCertificateTemplateTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#timeouts PrivatecaCertificateTemplate#timeouts}

---

### PrivatecaCertificateTemplateIamBindingCondition <a name="PrivatecaCertificateTemplateIamBindingCondition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIamBindingCondition } from '@dschmidt/provider-google'

const privatecaCertificateTemplateIamBindingCondition: PrivatecaCertificateTemplateIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#expression PrivatecaCertificateTemplateIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#title PrivatecaCertificateTemplateIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#description PrivatecaCertificateTemplateIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#expression PrivatecaCertificateTemplateIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#title PrivatecaCertificateTemplateIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#description PrivatecaCertificateTemplateIamBinding#description}.

---

### PrivatecaCertificateTemplateIamBindingConfig <a name="PrivatecaCertificateTemplateIamBindingConfig" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIamBindingConfig } from '@dschmidt/provider-google'

const privatecaCertificateTemplateIamBindingConfig: PrivatecaCertificateTemplateIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.certificateTemplate">certificateTemplate</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#certificate_template PrivatecaCertificateTemplateIamBinding#certificate_template}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#members PrivatecaCertificateTemplateIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#role PrivatecaCertificateTemplateIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition">PrivatecaCertificateTemplateIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#id PrivatecaCertificateTemplateIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#location PrivatecaCertificateTemplateIamBinding#location}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#project PrivatecaCertificateTemplateIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificateTemplate`<sup>Required</sup> <a name="certificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.certificateTemplate"></a>

```typescript
public readonly certificateTemplate: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#certificate_template PrivatecaCertificateTemplateIamBinding#certificate_template}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#members PrivatecaCertificateTemplateIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#role PrivatecaCertificateTemplateIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: PrivatecaCertificateTemplateIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingCondition">PrivatecaCertificateTemplateIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#condition PrivatecaCertificateTemplateIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#id PrivatecaCertificateTemplateIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#location PrivatecaCertificateTemplateIamBinding#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_binding#project PrivatecaCertificateTemplateIamBinding#project}.

---

### PrivatecaCertificateTemplateIamMemberCondition <a name="PrivatecaCertificateTemplateIamMemberCondition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIamMemberCondition } from '@dschmidt/provider-google'

const privatecaCertificateTemplateIamMemberCondition: PrivatecaCertificateTemplateIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#expression PrivatecaCertificateTemplateIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#title PrivatecaCertificateTemplateIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#description PrivatecaCertificateTemplateIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#expression PrivatecaCertificateTemplateIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#title PrivatecaCertificateTemplateIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#description PrivatecaCertificateTemplateIamMember#description}.

---

### PrivatecaCertificateTemplateIamMemberConfig <a name="PrivatecaCertificateTemplateIamMemberConfig" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIamMemberConfig } from '@dschmidt/provider-google'

const privatecaCertificateTemplateIamMemberConfig: PrivatecaCertificateTemplateIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.certificateTemplate">certificateTemplate</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#certificate_template PrivatecaCertificateTemplateIamMember#certificate_template}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#member PrivatecaCertificateTemplateIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#role PrivatecaCertificateTemplateIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition">PrivatecaCertificateTemplateIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#id PrivatecaCertificateTemplateIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#location PrivatecaCertificateTemplateIamMember#location}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#project PrivatecaCertificateTemplateIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificateTemplate`<sup>Required</sup> <a name="certificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.certificateTemplate"></a>

```typescript
public readonly certificateTemplate: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#certificate_template PrivatecaCertificateTemplateIamMember#certificate_template}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#member PrivatecaCertificateTemplateIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#role PrivatecaCertificateTemplateIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: PrivatecaCertificateTemplateIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberCondition">PrivatecaCertificateTemplateIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#condition PrivatecaCertificateTemplateIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#id PrivatecaCertificateTemplateIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#location PrivatecaCertificateTemplateIamMember#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_member#project PrivatecaCertificateTemplateIamMember#project}.

---

### PrivatecaCertificateTemplateIamPolicyConfig <a name="PrivatecaCertificateTemplateIamPolicyConfig" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIamPolicyConfig } from '@dschmidt/provider-google'

const privatecaCertificateTemplateIamPolicyConfig: PrivatecaCertificateTemplateIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.certificateTemplate">certificateTemplate</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#certificate_template PrivatecaCertificateTemplateIamPolicy#certificate_template}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#policy_data PrivatecaCertificateTemplateIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#id PrivatecaCertificateTemplateIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.location">location</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#location PrivatecaCertificateTemplateIamPolicy#location}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#project PrivatecaCertificateTemplateIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `certificateTemplate`<sup>Required</sup> <a name="certificateTemplate" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.certificateTemplate"></a>

```typescript
public readonly certificateTemplate: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#certificate_template PrivatecaCertificateTemplateIamPolicy#certificate_template}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#policy_data PrivatecaCertificateTemplateIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#id PrivatecaCertificateTemplateIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#location PrivatecaCertificateTemplateIamPolicy#location}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template_iam_policy#project PrivatecaCertificateTemplateIamPolicy#project}.

---

### PrivatecaCertificateTemplateIdentityConstraints <a name="PrivatecaCertificateTemplateIdentityConstraints" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIdentityConstraints } from '@dschmidt/provider-google'

const privatecaCertificateTemplateIdentityConstraints: PrivatecaCertificateTemplateIdentityConstraints = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints.property.allowSubjectAltNamesPassthrough">allowSubjectAltNamesPassthrough</a></code> | <code>boolean \| cdktf.IResolvable</code> | Required. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints.property.allowSubjectPassthrough">allowSubjectPassthrough</a></code> | <code>boolean \| cdktf.IResolvable</code> | Required. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints.property.celExpression">celExpression</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression">PrivatecaCertificateTemplateIdentityConstraintsCelExpression</a></code> | cel_expression block. |

---

##### `allowSubjectAltNamesPassthrough`<sup>Required</sup> <a name="allowSubjectAltNamesPassthrough" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints.property.allowSubjectAltNamesPassthrough"></a>

```typescript
public readonly allowSubjectAltNamesPassthrough: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Required.

If this is true, the SubjectAltNames extension may be copied from a certificate request into the signed certificate. Otherwise, the requested SubjectAltNames will be discarded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#allow_subject_alt_names_passthrough PrivatecaCertificateTemplate#allow_subject_alt_names_passthrough}

---

##### `allowSubjectPassthrough`<sup>Required</sup> <a name="allowSubjectPassthrough" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints.property.allowSubjectPassthrough"></a>

```typescript
public readonly allowSubjectPassthrough: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Required.

If this is true, the Subject field may be copied from a certificate request into the signed certificate. Otherwise, the requested Subject will be discarded.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#allow_subject_passthrough PrivatecaCertificateTemplate#allow_subject_passthrough}

---

##### `celExpression`<sup>Optional</sup> <a name="celExpression" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraints.property.celExpression"></a>

```typescript
public readonly celExpression: PrivatecaCertificateTemplateIdentityConstraintsCelExpression;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression">PrivatecaCertificateTemplateIdentityConstraintsCelExpression</a>

cel_expression block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#cel_expression PrivatecaCertificateTemplate#cel_expression}

---

### PrivatecaCertificateTemplateIdentityConstraintsCelExpression <a name="PrivatecaCertificateTemplateIdentityConstraintsCelExpression" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateIdentityConstraintsCelExpression } from '@dschmidt/provider-google'

const privatecaCertificateTemplateIdentityConstraintsCelExpression: PrivatecaCertificateTemplateIdentityConstraintsCelExpression = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression.property.description">description</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression.property.expression">expression</a></code> | <code>string</code> | Textual representation of an expression in Common Expression Language syntax. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression.property.location">location</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression.property.title">title</a></code> | <code>string</code> | Optional. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional.

Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#description PrivatecaCertificateTemplate#description}

---

##### `expression`<sup>Optional</sup> <a name="expression" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Textual representation of an expression in Common Expression Language syntax.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#expression PrivatecaCertificateTemplate#expression}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Optional.

String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#location PrivatecaCertificateTemplate#location}

---

##### `title`<sup>Optional</sup> <a name="title" id="@dschmidt/provider-google.PrivatecaCertificateTemplateIdentityConstraintsCelExpression.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Optional.

Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#title PrivatecaCertificateTemplate#title}

---

### PrivatecaCertificateTemplatePassthroughExtensions <a name="PrivatecaCertificateTemplatePassthroughExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePassthroughExtensions } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePassthroughExtensions: PrivatecaCertificateTemplatePassthroughExtensions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions.property.additionalExtensions">additionalExtensions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions">PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions</a>[]</code> | additional_extensions block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions.property.knownExtensions">knownExtensions</a></code> | <code>string[]</code> | Optional. |

---

##### `additionalExtensions`<sup>Optional</sup> <a name="additionalExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions.property.additionalExtensions"></a>

```typescript
public readonly additionalExtensions: IResolvable | PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions">PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions</a>[]

additional_extensions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#additional_extensions PrivatecaCertificateTemplate#additional_extensions}

---

##### `knownExtensions`<sup>Optional</sup> <a name="knownExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensions.property.knownExtensions"></a>

```typescript
public readonly knownExtensions: string[];
```

- *Type:* string[]

Optional.

A set of named X.509 extensions. Will be combined with additional_extensions to determine the full set of X.509 extensions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#known_extensions PrivatecaCertificateTemplate#known_extensions}

---

### PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions <a name="PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions: PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | Required. The parts of an OID path. The most significant parts of the path come first. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePassthroughExtensionsAdditionalExtensions.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

Required. The parts of an OID path. The most significant parts of the path come first.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#object_id_path PrivatecaCertificateTemplate#object_id_path}

---

### PrivatecaCertificateTemplatePredefinedValues <a name="PrivatecaCertificateTemplatePredefinedValues" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePredefinedValues } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePredefinedValues: PrivatecaCertificateTemplatePredefinedValues = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.additionalExtensions">additionalExtensions</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions">PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions</a>[]</code> | additional_extensions block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.aiaOcspServers">aiaOcspServers</a></code> | <code>string[]</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.caOptions">caOptions</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesCaOptions">PrivatecaCertificateTemplatePredefinedValuesCaOptions</a></code> | ca_options block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.keyUsage">keyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage">PrivatecaCertificateTemplatePredefinedValuesKeyUsage</a></code> | key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.policyIds">policyIds</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesPolicyIds">PrivatecaCertificateTemplatePredefinedValuesPolicyIds</a>[]</code> | policy_ids block. |

---

##### `additionalExtensions`<sup>Optional</sup> <a name="additionalExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.additionalExtensions"></a>

```typescript
public readonly additionalExtensions: IResolvable | PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions">PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions</a>[]

additional_extensions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#additional_extensions PrivatecaCertificateTemplate#additional_extensions}

---

##### `aiaOcspServers`<sup>Optional</sup> <a name="aiaOcspServers" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.aiaOcspServers"></a>

```typescript
public readonly aiaOcspServers: string[];
```

- *Type:* string[]

Optional.

Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the "Authority Information Access" extension in the certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#aia_ocsp_servers PrivatecaCertificateTemplate#aia_ocsp_servers}

---

##### `caOptions`<sup>Optional</sup> <a name="caOptions" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.caOptions"></a>

```typescript
public readonly caOptions: PrivatecaCertificateTemplatePredefinedValuesCaOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesCaOptions">PrivatecaCertificateTemplatePredefinedValuesCaOptions</a>

ca_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#ca_options PrivatecaCertificateTemplate#ca_options}

---

##### `keyUsage`<sup>Optional</sup> <a name="keyUsage" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.keyUsage"></a>

```typescript
public readonly keyUsage: PrivatecaCertificateTemplatePredefinedValuesKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage">PrivatecaCertificateTemplatePredefinedValuesKeyUsage</a>

key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#key_usage PrivatecaCertificateTemplate#key_usage}

---

##### `policyIds`<sup>Optional</sup> <a name="policyIds" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValues.property.policyIds"></a>

```typescript
public readonly policyIds: IResolvable | PrivatecaCertificateTemplatePredefinedValuesPolicyIds[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesPolicyIds">PrivatecaCertificateTemplatePredefinedValuesPolicyIds</a>[]

policy_ids block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#policy_ids PrivatecaCertificateTemplate#policy_ids}

---

### PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions <a name="PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePredefinedValuesAdditionalExtensions: PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions.property.objectId">objectId</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId">PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId</a></code> | object_id block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions.property.value">value</a></code> | <code>string</code> | Required. The value of this X.509 extension. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions.property.critical">critical</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |

---

##### `objectId`<sup>Required</sup> <a name="objectId" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions.property.objectId"></a>

```typescript
public readonly objectId: PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId">PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId</a>

object_id block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#object_id PrivatecaCertificateTemplate#object_id}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Required. The value of this X.509 extension.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#value PrivatecaCertificateTemplate#value}

---

##### `critical`<sup>Optional</sup> <a name="critical" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensions.property.critical"></a>

```typescript
public readonly critical: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Indicates whether or not this extension is critical (i.e., if the client does not know how to handle this extension, the client should consider this to be an error).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#critical PrivatecaCertificateTemplate#critical}

---

### PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId <a name="PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId: PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | Required. The parts of an OID path. The most significant parts of the path come first. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesAdditionalExtensionsObjectId.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

Required. The parts of an OID path. The most significant parts of the path come first.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#object_id_path PrivatecaCertificateTemplate#object_id_path}

---

### PrivatecaCertificateTemplatePredefinedValuesCaOptions <a name="PrivatecaCertificateTemplatePredefinedValuesCaOptions" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesCaOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesCaOptions.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePredefinedValuesCaOptions } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePredefinedValuesCaOptions: PrivatecaCertificateTemplatePredefinedValuesCaOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesCaOptions.property.isCa">isCa</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesCaOptions.property.maxIssuerPathLength">maxIssuerPathLength</a></code> | <code>number</code> | Optional. |

---

##### `isCa`<sup>Optional</sup> <a name="isCa" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesCaOptions.property.isCa"></a>

```typescript
public readonly isCa: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Refers to the "CA" X.509 extension, which is a boolean value. When this value is missing, the extension will be omitted from the CA certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#is_ca PrivatecaCertificateTemplate#is_ca}

---

##### `maxIssuerPathLength`<sup>Optional</sup> <a name="maxIssuerPathLength" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesCaOptions.property.maxIssuerPathLength"></a>

```typescript
public readonly maxIssuerPathLength: number;
```

- *Type:* number

Optional.

Refers to the path length restriction X.509 extension. For a CA certificate, this value describes the depth of subordinate CA certificates that are allowed. If this value is less than 0, the request will fail. If this value is missing, the max path length will be omitted from the CA certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#max_issuer_path_length PrivatecaCertificateTemplate#max_issuer_path_length}

---

### PrivatecaCertificateTemplatePredefinedValuesKeyUsage <a name="PrivatecaCertificateTemplatePredefinedValuesKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePredefinedValuesKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePredefinedValuesKeyUsage: PrivatecaCertificateTemplatePredefinedValuesKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage.property.baseKeyUsage">baseKeyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage">PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage</a></code> | base_key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage.property.extendedKeyUsage">extendedKeyUsage</a></code> | <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage">PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage</a></code> | extended_key_usage block. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage.property.unknownExtendedKeyUsages">unknownExtendedKeyUsages</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages">PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages</a>[]</code> | unknown_extended_key_usages block. |

---

##### `baseKeyUsage`<sup>Optional</sup> <a name="baseKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage.property.baseKeyUsage"></a>

```typescript
public readonly baseKeyUsage: PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage">PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage</a>

base_key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#base_key_usage PrivatecaCertificateTemplate#base_key_usage}

---

##### `extendedKeyUsage`<sup>Optional</sup> <a name="extendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage.property.extendedKeyUsage"></a>

```typescript
public readonly extendedKeyUsage: PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage;
```

- *Type:* <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage">PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage</a>

extended_key_usage block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#extended_key_usage PrivatecaCertificateTemplate#extended_key_usage}

---

##### `unknownExtendedKeyUsages`<sup>Optional</sup> <a name="unknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsage.property.unknownExtendedKeyUsages"></a>

```typescript
public readonly unknownExtendedKeyUsages: IResolvable | PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages">PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages</a>[]

unknown_extended_key_usages block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#unknown_extended_key_usages PrivatecaCertificateTemplate#unknown_extended_key_usages}

---

### PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage <a name="PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage: PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.certSign">certSign</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to sign certificates. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.contentCommitment">contentCommitment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.crlSign">crlSign</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used sign certificate revocation lists. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.dataEncipherment">dataEncipherment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher data. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.decipherOnly">decipherOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to decipher only. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.digitalSignature">digitalSignature</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used for digital signatures. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.encipherOnly">encipherOnly</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher only. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.keyAgreement">keyAgreement</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used in a key agreement protocol. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.keyEncipherment">keyEncipherment</a></code> | <code>boolean \| cdktf.IResolvable</code> | The key may be used to encipher other keys. |

---

##### `certSign`<sup>Optional</sup> <a name="certSign" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.certSign"></a>

```typescript
public readonly certSign: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to sign certificates.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#cert_sign PrivatecaCertificateTemplate#cert_sign}

---

##### `contentCommitment`<sup>Optional</sup> <a name="contentCommitment" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.contentCommitment"></a>

```typescript
public readonly contentCommitment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#content_commitment PrivatecaCertificateTemplate#content_commitment}

---

##### `crlSign`<sup>Optional</sup> <a name="crlSign" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.crlSign"></a>

```typescript
public readonly crlSign: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used sign certificate revocation lists.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#crl_sign PrivatecaCertificateTemplate#crl_sign}

---

##### `dataEncipherment`<sup>Optional</sup> <a name="dataEncipherment" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.dataEncipherment"></a>

```typescript
public readonly dataEncipherment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#data_encipherment PrivatecaCertificateTemplate#data_encipherment}

---

##### `decipherOnly`<sup>Optional</sup> <a name="decipherOnly" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.decipherOnly"></a>

```typescript
public readonly decipherOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to decipher only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#decipher_only PrivatecaCertificateTemplate#decipher_only}

---

##### `digitalSignature`<sup>Optional</sup> <a name="digitalSignature" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.digitalSignature"></a>

```typescript
public readonly digitalSignature: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used for digital signatures.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#digital_signature PrivatecaCertificateTemplate#digital_signature}

---

##### `encipherOnly`<sup>Optional</sup> <a name="encipherOnly" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.encipherOnly"></a>

```typescript
public readonly encipherOnly: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher only.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#encipher_only PrivatecaCertificateTemplate#encipher_only}

---

##### `keyAgreement`<sup>Optional</sup> <a name="keyAgreement" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.keyAgreement"></a>

```typescript
public readonly keyAgreement: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used in a key agreement protocol.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#key_agreement PrivatecaCertificateTemplate#key_agreement}

---

##### `keyEncipherment`<sup>Optional</sup> <a name="keyEncipherment" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageBaseKeyUsage.property.keyEncipherment"></a>

```typescript
public readonly keyEncipherment: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The key may be used to encipher other keys.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#key_encipherment PrivatecaCertificateTemplate#key_encipherment}

---

### PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage <a name="PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage: PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.clientAuth">clientAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.codeSigning">codeSigning</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.emailProtection">emailProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.ocspSigning">ocspSigning</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses". |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.serverAuth">serverAuth</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.timeStamping">timeStamping</a></code> | <code>boolean \| cdktf.IResolvable</code> | Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time". |

---

##### `clientAuth`<sup>Optional</sup> <a name="clientAuth" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.clientAuth"></a>

```typescript
public readonly clientAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#client_auth PrivatecaCertificateTemplate#client_auth}

---

##### `codeSigning`<sup>Optional</sup> <a name="codeSigning" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.codeSigning"></a>

```typescript
public readonly codeSigning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#code_signing PrivatecaCertificateTemplate#code_signing}

---

##### `emailProtection`<sup>Optional</sup> <a name="emailProtection" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.emailProtection"></a>

```typescript
public readonly emailProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#email_protection PrivatecaCertificateTemplate#email_protection}

---

##### `ocspSigning`<sup>Optional</sup> <a name="ocspSigning" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.ocspSigning"></a>

```typescript
public readonly ocspSigning: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#ocsp_signing PrivatecaCertificateTemplate#ocsp_signing}

---

##### `serverAuth`<sup>Optional</sup> <a name="serverAuth" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.serverAuth"></a>

```typescript
public readonly serverAuth: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#server_auth PrivatecaCertificateTemplate#server_auth}

---

##### `timeStamping`<sup>Optional</sup> <a name="timeStamping" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageExtendedKeyUsage.property.timeStamping"></a>

```typescript
public readonly timeStamping: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#time_stamping PrivatecaCertificateTemplate#time_stamping}

---

### PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages <a name="PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages: PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | Required. The parts of an OID path. The most significant parts of the path come first. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesKeyUsageUnknownExtendedKeyUsages.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

Required. The parts of an OID path. The most significant parts of the path come first.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#object_id_path PrivatecaCertificateTemplate#object_id_path}

---

### PrivatecaCertificateTemplatePredefinedValuesPolicyIds <a name="PrivatecaCertificateTemplatePredefinedValuesPolicyIds" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesPolicyIds"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesPolicyIds.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplatePredefinedValuesPolicyIds } from '@dschmidt/provider-google'

const privatecaCertificateTemplatePredefinedValuesPolicyIds: PrivatecaCertificateTemplatePredefinedValuesPolicyIds = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesPolicyIds.property.objectIdPath">objectIdPath</a></code> | <code>number[]</code> | Required. The parts of an OID path. The most significant parts of the path come first. |

---

##### `objectIdPath`<sup>Required</sup> <a name="objectIdPath" id="@dschmidt/provider-google.PrivatecaCertificateTemplatePredefinedValuesPolicyIds.property.objectIdPath"></a>

```typescript
public readonly objectIdPath: number[];
```

- *Type:* number[]

Required. The parts of an OID path. The most significant parts of the path come first.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#object_id_path PrivatecaCertificateTemplate#object_id_path}

---

### PrivatecaCertificateTemplateTimeouts <a name="PrivatecaCertificateTemplateTimeouts" id="@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts.Initializer"></a>

```typescript
import { PrivatecaCertificateTemplateTimeouts } from '@dschmidt/provider-google'

const privatecaCertificateTemplateTimeouts: PrivatecaCertificateTemplateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#create PrivatecaCertificateTemplate#create}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#delete PrivatecaCertificateTemplate#delete}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#update PrivatecaCertificateTemplate#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#create PrivatecaCertificateTemplate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#delete PrivatecaCertificateTemplate#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.PrivatecaCertificateTemplateTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate_template#update PrivatecaCertificateTemplate#update}.

---

### PrivatecaCertificateTimeouts <a name="PrivatecaCertificateTimeouts" id="@dschmidt/provider-google.PrivatecaCertificateTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PrivatecaCertificateTimeouts.Initializer"></a>

```typescript
import { PrivatecaCertificateTimeouts } from '@dschmidt/provider-google'

const privatecaCertificateTimeouts: PrivatecaCertificateTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#create PrivatecaCertificate#create}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#delete PrivatecaCertificate#delete}. |
| <code><a href="#@dschmidt/provider-google.PrivatecaCertificateTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#update PrivatecaCertificate#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PrivatecaCertificateTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#create PrivatecaCertificate#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PrivatecaCertificateTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#delete PrivatecaCertificate#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.PrivatecaCertificateTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/privateca_certificate#update PrivatecaCertificate#update}.

---

### ProjectAccessApprovalSettingsConfig <a name="ProjectAccessApprovalSettingsConfig" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.Initializer"></a>

```typescript
import { ProjectAccessApprovalSettingsConfig } from '@dschmidt/provider-google'

const projectAccessApprovalSettingsConfig: ProjectAccessApprovalSettingsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.enrolledServices">enrolledServices</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices">ProjectAccessApprovalSettingsEnrolledServices</a>[]</code> | enrolled_services block. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.projectId">projectId</a></code> | <code>string</code> | ID of the project of the access approval settings. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.activeKeyVersion">activeKeyVersion</a></code> | <code>string</code> | The asymmetric crypto key version to use for signing approval requests. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#id ProjectAccessApprovalSettings#id}. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.notificationEmails">notificationEmails</a></code> | <code>string[]</code> | A list of email addresses to which notifications relating to approval requests should be sent. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.project">project</a></code> | <code>string</code> | Deprecated in favor of 'project_id'. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts">ProjectAccessApprovalSettingsTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `enrolledServices`<sup>Required</sup> <a name="enrolledServices" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.enrolledServices"></a>

```typescript
public readonly enrolledServices: IResolvable | ProjectAccessApprovalSettingsEnrolledServices[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices">ProjectAccessApprovalSettingsEnrolledServices</a>[]

enrolled_services block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#enrolled_services ProjectAccessApprovalSettings#enrolled_services}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

ID of the project of the access approval settings.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#project_id ProjectAccessApprovalSettings#project_id}

---

##### `activeKeyVersion`<sup>Optional</sup> <a name="activeKeyVersion" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.activeKeyVersion"></a>

```typescript
public readonly activeKeyVersion: string;
```

- *Type:* string

The asymmetric crypto key version to use for signing approval requests.

Empty active_key_version indicates that a Google-managed key should be used for signing.
This property will be ignored if set by an ancestor of the resource, and new non-empty values may not be set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#active_key_version ProjectAccessApprovalSettings#active_key_version}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#id ProjectAccessApprovalSettings#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `notificationEmails`<sup>Optional</sup> <a name="notificationEmails" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.notificationEmails"></a>

```typescript
public readonly notificationEmails: string[];
```

- *Type:* string[]

A list of email addresses to which notifications relating to approval requests should be sent.

Notifications relating to a resource will be sent to all emails in the settings of ancestor
resources of that resource. A maximum of 50 email addresses are allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#notification_emails ProjectAccessApprovalSettings#notification_emails}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Deprecated in favor of 'project_id'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#project ProjectAccessApprovalSettings#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectAccessApprovalSettingsTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts">ProjectAccessApprovalSettingsTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#timeouts ProjectAccessApprovalSettings#timeouts}

---

### ProjectAccessApprovalSettingsEnrolledServices <a name="ProjectAccessApprovalSettingsEnrolledServices" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices.Initializer"></a>

```typescript
import { ProjectAccessApprovalSettingsEnrolledServices } from '@dschmidt/provider-google'

const projectAccessApprovalSettingsEnrolledServices: ProjectAccessApprovalSettingsEnrolledServices = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices.property.cloudProduct">cloudProduct</a></code> | <code>string</code> | The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices.property.enrollmentLevel">enrollmentLevel</a></code> | <code>string</code> | The enrollment level of the service. Default value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"]. |

---

##### `cloudProduct`<sup>Required</sup> <a name="cloudProduct" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices.property.cloudProduct"></a>

```typescript
public readonly cloudProduct: string;
```

- *Type:* string

The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#cloud_product ProjectAccessApprovalSettings#cloud_product}

---

##### `enrollmentLevel`<sup>Optional</sup> <a name="enrollmentLevel" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsEnrolledServices.property.enrollmentLevel"></a>

```typescript
public readonly enrollmentLevel: string;
```

- *Type:* string

The enrollment level of the service. Default value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#enrollment_level ProjectAccessApprovalSettings#enrollment_level}

---

### ProjectAccessApprovalSettingsTimeouts <a name="ProjectAccessApprovalSettingsTimeouts" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts.Initializer"></a>

```typescript
import { ProjectAccessApprovalSettingsTimeouts } from '@dschmidt/provider-google'

const projectAccessApprovalSettingsTimeouts: ProjectAccessApprovalSettingsTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#create ProjectAccessApprovalSettings#create}. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#delete ProjectAccessApprovalSettings#delete}. |
| <code><a href="#@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#update ProjectAccessApprovalSettings#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#create ProjectAccessApprovalSettings#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#delete ProjectAccessApprovalSettings#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ProjectAccessApprovalSettingsTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_access_approval_settings#update ProjectAccessApprovalSettings#update}.

---

### ProjectConfig <a name="ProjectConfig" id="@dschmidt/provider-google.ProjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectConfig.Initializer"></a>

```typescript
import { ProjectConfig } from '@dschmidt/provider-google'

const projectConfig: ProjectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.name">name</a></code> | <code>string</code> | The display name of the project. |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.projectId">projectId</a></code> | <code>string</code> | The project ID. Changing this forces a new project to be created. |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.autoCreateNetwork">autoCreateNetwork</a></code> | <code>boolean \| cdktf.IResolvable</code> | Create the 'default' network automatically. |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.billingAccount">billingAccount</a></code> | <code>string</code> | The alphanumeric ID of the billing account this project belongs to. |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.folderId">folderId</a></code> | <code>string</code> | The numeric ID of the folder this project should be created under. |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#id Project#id}. |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to the project. |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.orgId">orgId</a></code> | <code>string</code> | The numeric ID of the organization this project belongs to. |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.skipDelete">skipDelete</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, the Terraform resource can be deleted without deleting the Project via the Google API. |
| <code><a href="#@dschmidt/provider-google.ProjectConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectTimeouts">ProjectTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ProjectConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The display name of the project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#name Project#name}

---

##### `projectId`<sup>Required</sup> <a name="projectId" id="@dschmidt/provider-google.ProjectConfig.property.projectId"></a>

```typescript
public readonly projectId: string;
```

- *Type:* string

The project ID. Changing this forces a new project to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#project_id Project#project_id}

---

##### `autoCreateNetwork`<sup>Optional</sup> <a name="autoCreateNetwork" id="@dschmidt/provider-google.ProjectConfig.property.autoCreateNetwork"></a>

```typescript
public readonly autoCreateNetwork: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Create the 'default' network automatically.

Default true. If set to false, the default network will be deleted.  Note that, for quota purposes, you will still need to have 1 network slot available to create the project successfully, even if you set auto_create_network to false, since the network will exist momentarily.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#auto_create_network Project#auto_create_network}

---

##### `billingAccount`<sup>Optional</sup> <a name="billingAccount" id="@dschmidt/provider-google.ProjectConfig.property.billingAccount"></a>

```typescript
public readonly billingAccount: string;
```

- *Type:* string

The alphanumeric ID of the billing account this project belongs to.

The user or service account performing this operation with Terraform must have Billing Account Administrator privileges (roles/billing.admin) in the organization. See Google Cloud Billing API Access Control for more details.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#billing_account Project#billing_account}

---

##### `folderId`<sup>Optional</sup> <a name="folderId" id="@dschmidt/provider-google.ProjectConfig.property.folderId"></a>

```typescript
public readonly folderId: string;
```

- *Type:* string

The numeric ID of the folder this project should be created under.

Only one of org_id or folder_id may be specified. If the folder_id is specified, then the project is created under the specified folder. Changing this forces the project to be migrated to the newly specified folder.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#folder_id Project#folder_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#id Project#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.ProjectConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to the project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#labels Project#labels}

---

##### `orgId`<sup>Optional</sup> <a name="orgId" id="@dschmidt/provider-google.ProjectConfig.property.orgId"></a>

```typescript
public readonly orgId: string;
```

- *Type:* string

The numeric ID of the organization this project belongs to.

Changing this forces a new project to be created.  Only one of org_id or folder_id may be specified. If the org_id is specified then the project is created at the top level. Changing this forces the project to be migrated to the newly specified organization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#org_id Project#org_id}

---

##### `skipDelete`<sup>Optional</sup> <a name="skipDelete" id="@dschmidt/provider-google.ProjectConfig.property.skipDelete"></a>

```typescript
public readonly skipDelete: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, the Terraform resource can be deleted without deleting the Project via the Google API.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#skip_delete Project#skip_delete}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectTimeouts">ProjectTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#timeouts Project#timeouts}

---

### ProjectDefaultServiceAccountsConfig <a name="ProjectDefaultServiceAccountsConfig" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.Initializer"></a>

```typescript
import { ProjectDefaultServiceAccountsConfig } from '@dschmidt/provider-google'

const projectDefaultServiceAccountsConfig: ProjectDefaultServiceAccountsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.action">action</a></code> | <code>string</code> | The action to be performed in the default service accounts. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.project">project</a></code> | <code>string</code> | The project ID where service accounts are created. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#id ProjectDefaultServiceAccounts#id}. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.restorePolicy">restorePolicy</a></code> | <code>string</code> | The action to be performed in the default service accounts on the resource destroy. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts">ProjectDefaultServiceAccountsTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `action`<sup>Required</sup> <a name="action" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

The action to be performed in the default service accounts.

Valid values are: DEPRIVILEGE, DELETE, DISABLE.
Note that DEPRIVILEGE action will ignore the REVERT configuration in the restore_policy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#action ProjectDefaultServiceAccounts#action}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project ID where service accounts are created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#project ProjectDefaultServiceAccounts#project}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#id ProjectDefaultServiceAccounts#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `restorePolicy`<sup>Optional</sup> <a name="restorePolicy" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: string;
```

- *Type:* string

The action to be performed in the default service accounts on the resource destroy.

Valid values are NONE, REVERT and REVERT_AND_IGNORE_FAILURE. It is applied for any action but in the DEPRIVILEGE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#restore_policy ProjectDefaultServiceAccounts#restore_policy}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectDefaultServiceAccountsTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts">ProjectDefaultServiceAccountsTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#timeouts ProjectDefaultServiceAccounts#timeouts}

---

### ProjectDefaultServiceAccountsTimeouts <a name="ProjectDefaultServiceAccountsTimeouts" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts.Initializer"></a>

```typescript
import { ProjectDefaultServiceAccountsTimeouts } from '@dschmidt/provider-google'

const projectDefaultServiceAccountsTimeouts: ProjectDefaultServiceAccountsTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#create ProjectDefaultServiceAccounts#create}. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#delete ProjectDefaultServiceAccounts#delete}. |
| <code><a href="#@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#read ProjectDefaultServiceAccounts#read}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#create ProjectDefaultServiceAccounts#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#delete ProjectDefaultServiceAccounts#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.ProjectDefaultServiceAccountsTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_default_service_accounts#read ProjectDefaultServiceAccounts#read}.

---

### ProjectIamAuditConfigAuditLogConfig <a name="ProjectIamAuditConfigAuditLogConfig" id="@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig.Initializer"></a>

```typescript
import { ProjectIamAuditConfigAuditLogConfig } from '@dschmidt/provider-google'

const projectIamAuditConfigAuditLogConfig: ProjectIamAuditConfigAuditLogConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig.property.logType">logType</a></code> | <code>string</code> | Permission type for which logging is to be configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig.property.exemptedMembers">exemptedMembers</a></code> | <code>string[]</code> | Identities that do not cause logging for this type of permission. |

---

##### `logType`<sup>Required</sup> <a name="logType" id="@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig.property.logType"></a>

```typescript
public readonly logType: string;
```

- *Type:* string

Permission type for which logging is to be configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_audit_config#log_type ProjectIamAuditConfig#log_type}

---

##### `exemptedMembers`<sup>Optional</sup> <a name="exemptedMembers" id="@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig.property.exemptedMembers"></a>

```typescript
public readonly exemptedMembers: string[];
```

- *Type:* string[]

Identities that do not cause logging for this type of permission.

Each entry can have one of the following values:user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_audit_config#exempted_members ProjectIamAuditConfig#exempted_members}

---

### ProjectIamAuditConfigConfig <a name="ProjectIamAuditConfigConfig" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.Initializer"></a>

```typescript
import { ProjectIamAuditConfigConfig } from '@dschmidt/provider-google'

const projectIamAuditConfigConfig: ProjectIamAuditConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.auditLogConfig">auditLogConfig</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig">ProjectIamAuditConfigAuditLogConfig</a>[]</code> | audit_log_config block. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_audit_config#project ProjectIamAuditConfig#project}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.service">service</a></code> | <code>string</code> | Service which will be enabled for audit logging. The special value allServices covers all services. |
| <code><a href="#@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_audit_config#id ProjectIamAuditConfig#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `auditLogConfig`<sup>Required</sup> <a name="auditLogConfig" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.auditLogConfig"></a>

```typescript
public readonly auditLogConfig: IResolvable | ProjectIamAuditConfigAuditLogConfig[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.ProjectIamAuditConfigAuditLogConfig">ProjectIamAuditConfigAuditLogConfig</a>[]

audit_log_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_audit_config#audit_log_config ProjectIamAuditConfig#audit_log_config}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_audit_config#project ProjectIamAuditConfig#project}.

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Service which will be enabled for audit logging. The special value allServices covers all services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_audit_config#service ProjectIamAuditConfig#service}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamAuditConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_audit_config#id ProjectIamAuditConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ProjectIamBindingCondition <a name="ProjectIamBindingCondition" id="@dschmidt/provider-google.ProjectIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectIamBindingCondition.Initializer"></a>

```typescript
import { ProjectIamBindingCondition } from '@dschmidt/provider-google'

const projectIamBindingCondition: ProjectIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#expression ProjectIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#title ProjectIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#description ProjectIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ProjectIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#expression ProjectIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ProjectIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#title ProjectIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ProjectIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#description ProjectIamBinding#description}.

---

### ProjectIamBindingConfig <a name="ProjectIamBindingConfig" id="@dschmidt/provider-google.ProjectIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectIamBindingConfig.Initializer"></a>

```typescript
import { ProjectIamBindingConfig } from '@dschmidt/provider-google'

const projectIamBindingConfig: ProjectIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#members ProjectIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#project ProjectIamBinding#project}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#role ProjectIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamBindingCondition">ProjectIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ProjectIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#id ProjectIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#members ProjectIamBinding#members}.

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#project ProjectIamBinding#project}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#role ProjectIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ProjectIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamBindingCondition">ProjectIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#condition ProjectIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_binding#id ProjectIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ProjectIamCustomRoleConfig <a name="ProjectIamCustomRoleConfig" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.Initializer"></a>

```typescript
import { ProjectIamCustomRoleConfig } from '@dschmidt/provider-google'

const projectIamCustomRoleConfig: ProjectIamCustomRoleConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.permissions">permissions</a></code> | <code>string[]</code> | The names of the permissions this role grants when bound in an IAM policy. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.roleId">roleId</a></code> | <code>string</code> | The camel case role id to use for this role. Cannot contain - characters. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.title">title</a></code> | <code>string</code> | A human-readable title for the role. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.description">description</a></code> | <code>string</code> | A human-readable description for the role. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_custom_role#id ProjectIamCustomRole#id}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.project">project</a></code> | <code>string</code> | The project that the service account will be created in. Defaults to the provider project configuration. |
| <code><a href="#@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.stage">stage</a></code> | <code>string</code> | The current launch stage of the role. Defaults to GA. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `permissions`<sup>Required</sup> <a name="permissions" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.permissions"></a>

```typescript
public readonly permissions: string[];
```

- *Type:* string[]

The names of the permissions this role grants when bound in an IAM policy.

At least one permission must be specified.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_custom_role#permissions ProjectIamCustomRole#permissions}

---

##### `roleId`<sup>Required</sup> <a name="roleId" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.roleId"></a>

```typescript
public readonly roleId: string;
```

- *Type:* string

The camel case role id to use for this role. Cannot contain - characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_custom_role#role_id ProjectIamCustomRole#role_id}

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

A human-readable title for the role.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_custom_role#title ProjectIamCustomRole#title}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A human-readable description for the role.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_custom_role#description ProjectIamCustomRole#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_custom_role#id ProjectIamCustomRole#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project that the service account will be created in. Defaults to the provider project configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_custom_role#project ProjectIamCustomRole#project}

---

##### `stage`<sup>Optional</sup> <a name="stage" id="@dschmidt/provider-google.ProjectIamCustomRoleConfig.property.stage"></a>

```typescript
public readonly stage: string;
```

- *Type:* string

The current launch stage of the role. Defaults to GA.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_custom_role#stage ProjectIamCustomRole#stage}

---

### ProjectIamMemberCondition <a name="ProjectIamMemberCondition" id="@dschmidt/provider-google.ProjectIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectIamMemberCondition.Initializer"></a>

```typescript
import { ProjectIamMemberCondition } from '@dschmidt/provider-google'

const projectIamMemberCondition: ProjectIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#expression ProjectIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#title ProjectIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#description ProjectIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ProjectIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#expression ProjectIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ProjectIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#title ProjectIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ProjectIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#description ProjectIamMember#description}.

---

### ProjectIamMemberConfig <a name="ProjectIamMemberConfig" id="@dschmidt/provider-google.ProjectIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectIamMemberConfig.Initializer"></a>

```typescript
import { ProjectIamMemberConfig } from '@dschmidt/provider-google'

const projectIamMemberConfig: ProjectIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#member ProjectIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#project ProjectIamMember#project}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#role ProjectIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ProjectIamMemberCondition">ProjectIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ProjectIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#id ProjectIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#member ProjectIamMember#member}.

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#project ProjectIamMember#project}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#role ProjectIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ProjectIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectIamMemberCondition">ProjectIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#condition ProjectIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_member#id ProjectIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ProjectIamPolicyConfig <a name="ProjectIamPolicyConfig" id="@dschmidt/provider-google.ProjectIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectIamPolicyConfig.Initializer"></a>

```typescript
import { ProjectIamPolicyConfig } from '@dschmidt/provider-google'

const projectIamPolicyConfig: ProjectIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_policy#policy_data ProjectIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_policy#project ProjectIamPolicy#project}. |
| <code><a href="#@dschmidt/provider-google.ProjectIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_policy#id ProjectIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_policy#policy_data ProjectIamPolicy#policy_data}.

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_policy#project ProjectIamPolicy#project}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_iam_policy#id ProjectIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ProjectOrganizationPolicyBooleanPolicy <a name="ProjectOrganizationPolicyBooleanPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicy.Initializer"></a>

```typescript
import { ProjectOrganizationPolicyBooleanPolicy } from '@dschmidt/provider-google'

const projectOrganizationPolicyBooleanPolicy: ProjectOrganizationPolicyBooleanPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicy.property.enforced">enforced</a></code> | <code>boolean \| cdktf.IResolvable</code> | If true, then the Policy is enforced. If false, then any configuration is acceptable. |

---

##### `enforced`<sup>Required</sup> <a name="enforced" id="@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicy.property.enforced"></a>

```typescript
public readonly enforced: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If true, then the Policy is enforced. If false, then any configuration is acceptable.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#enforced ProjectOrganizationPolicy#enforced}

---

### ProjectOrganizationPolicyConfig <a name="ProjectOrganizationPolicyConfig" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.Initializer"></a>

```typescript
import { ProjectOrganizationPolicyConfig } from '@dschmidt/provider-google'

const projectOrganizationPolicyConfig: ProjectOrganizationPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.constraint">constraint</a></code> | <code>string</code> | The name of the Constraint the Policy is configuring, for example, serviceuser.services. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.project">project</a></code> | <code>string</code> | The project ID. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.booleanPolicy">booleanPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicy">ProjectOrganizationPolicyBooleanPolicy</a></code> | boolean_policy block. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#id ProjectOrganizationPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.listPolicy">listPolicy</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy">ProjectOrganizationPolicyListPolicy</a></code> | list_policy block. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.restorePolicy">restorePolicy</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicy">ProjectOrganizationPolicyRestorePolicy</a></code> | restore_policy block. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts">ProjectOrganizationPolicyTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.version">version</a></code> | <code>number</code> | Version of the Policy. Default version is 0. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `constraint`<sup>Required</sup> <a name="constraint" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.constraint"></a>

```typescript
public readonly constraint: string;
```

- *Type:* string

The name of the Constraint the Policy is configuring, for example, serviceuser.services.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#constraint ProjectOrganizationPolicy#constraint}

---

##### `project`<sup>Required</sup> <a name="project" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#project ProjectOrganizationPolicy#project}

---

##### `booleanPolicy`<sup>Optional</sup> <a name="booleanPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.booleanPolicy"></a>

```typescript
public readonly booleanPolicy: ProjectOrganizationPolicyBooleanPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyBooleanPolicy">ProjectOrganizationPolicyBooleanPolicy</a>

boolean_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#boolean_policy ProjectOrganizationPolicy#boolean_policy}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#id ProjectOrganizationPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `listPolicy`<sup>Optional</sup> <a name="listPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.listPolicy"></a>

```typescript
public readonly listPolicy: ProjectOrganizationPolicyListPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy">ProjectOrganizationPolicyListPolicy</a>

list_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#list_policy ProjectOrganizationPolicy#list_policy}

---

##### `restorePolicy`<sup>Optional</sup> <a name="restorePolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.restorePolicy"></a>

```typescript
public readonly restorePolicy: ProjectOrganizationPolicyRestorePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicy">ProjectOrganizationPolicyRestorePolicy</a>

restore_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#restore_policy ProjectOrganizationPolicy#restore_policy}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectOrganizationPolicyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts">ProjectOrganizationPolicyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#timeouts ProjectOrganizationPolicy#timeouts}

---

##### `version`<sup>Optional</sup> <a name="version" id="@dschmidt/provider-google.ProjectOrganizationPolicyConfig.property.version"></a>

```typescript
public readonly version: number;
```

- *Type:* number

Version of the Policy. Default version is 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#version ProjectOrganizationPolicy#version}

---

### ProjectOrganizationPolicyListPolicy <a name="ProjectOrganizationPolicyListPolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy.Initializer"></a>

```typescript
import { ProjectOrganizationPolicyListPolicy } from '@dschmidt/provider-google'

const projectOrganizationPolicyListPolicy: ProjectOrganizationPolicyListPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy.property.allow">allow</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyAllow">ProjectOrganizationPolicyListPolicyAllow</a></code> | allow block. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy.property.deny">deny</a></code> | <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyDeny">ProjectOrganizationPolicyListPolicyDeny</a></code> | deny block. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy.property.inheritFromParent">inheritFromParent</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy.property.suggestedValue">suggestedValue</a></code> | <code>string</code> | The Google Cloud Console will try to default to a configuration that matches the value specified in this field. |

---

##### `allow`<sup>Optional</sup> <a name="allow" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy.property.allow"></a>

```typescript
public readonly allow: ProjectOrganizationPolicyListPolicyAllow;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyAllow">ProjectOrganizationPolicyListPolicyAllow</a>

allow block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#allow ProjectOrganizationPolicy#allow}

---

##### `deny`<sup>Optional</sup> <a name="deny" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy.property.deny"></a>

```typescript
public readonly deny: ProjectOrganizationPolicyListPolicyDeny;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyDeny">ProjectOrganizationPolicyListPolicyDeny</a>

deny block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#deny ProjectOrganizationPolicy#deny}

---

##### `inheritFromParent`<sup>Optional</sup> <a name="inheritFromParent" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy.property.inheritFromParent"></a>

```typescript
public readonly inheritFromParent: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#inherit_from_parent ProjectOrganizationPolicy#inherit_from_parent}

---

##### `suggestedValue`<sup>Optional</sup> <a name="suggestedValue" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicy.property.suggestedValue"></a>

```typescript
public readonly suggestedValue: string;
```

- *Type:* string

The Google Cloud Console will try to default to a configuration that matches the value specified in this field.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#suggested_value ProjectOrganizationPolicy#suggested_value}

---

### ProjectOrganizationPolicyListPolicyAllow <a name="ProjectOrganizationPolicyListPolicyAllow" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyAllow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyAllow.Initializer"></a>

```typescript
import { ProjectOrganizationPolicyListPolicyAllow } from '@dschmidt/provider-google'

const projectOrganizationPolicyListPolicyAllow: ProjectOrganizationPolicyListPolicyAllow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyAllow.property.all">all</a></code> | <code>boolean \| cdktf.IResolvable</code> | The policy allows or denies all values. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyAllow.property.values">values</a></code> | <code>string[]</code> | The policy can define specific values that are allowed or denied. |

---

##### `all`<sup>Optional</sup> <a name="all" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyAllow.property.all"></a>

```typescript
public readonly all: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The policy allows or denies all values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#all ProjectOrganizationPolicy#all}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyAllow.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

The policy can define specific values that are allowed or denied.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#values ProjectOrganizationPolicy#values}

---

### ProjectOrganizationPolicyListPolicyDeny <a name="ProjectOrganizationPolicyListPolicyDeny" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyDeny"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyDeny.Initializer"></a>

```typescript
import { ProjectOrganizationPolicyListPolicyDeny } from '@dschmidt/provider-google'

const projectOrganizationPolicyListPolicyDeny: ProjectOrganizationPolicyListPolicyDeny = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyDeny.property.all">all</a></code> | <code>boolean \| cdktf.IResolvable</code> | The policy allows or denies all values. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyDeny.property.values">values</a></code> | <code>string[]</code> | The policy can define specific values that are allowed or denied. |

---

##### `all`<sup>Optional</sup> <a name="all" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyDeny.property.all"></a>

```typescript
public readonly all: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The policy allows or denies all values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#all ProjectOrganizationPolicy#all}

---

##### `values`<sup>Optional</sup> <a name="values" id="@dschmidt/provider-google.ProjectOrganizationPolicyListPolicyDeny.property.values"></a>

```typescript
public readonly values: string[];
```

- *Type:* string[]

The policy can define specific values that are allowed or denied.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#values ProjectOrganizationPolicy#values}

---

### ProjectOrganizationPolicyRestorePolicy <a name="ProjectOrganizationPolicyRestorePolicy" id="@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicy.Initializer"></a>

```typescript
import { ProjectOrganizationPolicyRestorePolicy } from '@dschmidt/provider-google'

const projectOrganizationPolicyRestorePolicy: ProjectOrganizationPolicyRestorePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicy.property.default">default</a></code> | <code>boolean \| cdktf.IResolvable</code> | May only be set to true. If set, then the default Policy is restored. |

---

##### `default`<sup>Required</sup> <a name="default" id="@dschmidt/provider-google.ProjectOrganizationPolicyRestorePolicy.property.default"></a>

```typescript
public readonly default: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

May only be set to true. If set, then the default Policy is restored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#default ProjectOrganizationPolicy#default}

---

### ProjectOrganizationPolicyTimeouts <a name="ProjectOrganizationPolicyTimeouts" id="@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts.Initializer"></a>

```typescript
import { ProjectOrganizationPolicyTimeouts } from '@dschmidt/provider-google'

const projectOrganizationPolicyTimeouts: ProjectOrganizationPolicyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#create ProjectOrganizationPolicy#create}. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#delete ProjectOrganizationPolicy#delete}. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#read ProjectOrganizationPolicy#read}. |
| <code><a href="#@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#update ProjectOrganizationPolicy#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#create ProjectOrganizationPolicy#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#delete ProjectOrganizationPolicy#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#read ProjectOrganizationPolicy#read}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ProjectOrganizationPolicyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_organization_policy#update ProjectOrganizationPolicy#update}.

---

### ProjectServiceConfig <a name="ProjectServiceConfig" id="@dschmidt/provider-google.ProjectServiceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectServiceConfig.Initializer"></a>

```typescript
import { ProjectServiceConfig } from '@dschmidt/provider-google'

const projectServiceConfig: ProjectServiceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.service">service</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#service ProjectService#service}. |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.disableDependentServices">disableDependentServices</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#disable_dependent_services ProjectService#disable_dependent_services}. |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.disableOnDestroy">disableOnDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#disable_on_destroy ProjectService#disable_on_destroy}. |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#id ProjectService#id}. |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#project ProjectService#project}. |
| <code><a href="#@dschmidt/provider-google.ProjectServiceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectServiceTimeouts">ProjectServiceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectServiceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectServiceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectServiceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectServiceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectServiceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectServiceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectServiceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ProjectServiceConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#service ProjectService#service}.

---

##### `disableDependentServices`<sup>Optional</sup> <a name="disableDependentServices" id="@dschmidt/provider-google.ProjectServiceConfig.property.disableDependentServices"></a>

```typescript
public readonly disableDependentServices: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#disable_dependent_services ProjectService#disable_dependent_services}.

---

##### `disableOnDestroy`<sup>Optional</sup> <a name="disableOnDestroy" id="@dschmidt/provider-google.ProjectServiceConfig.property.disableOnDestroy"></a>

```typescript
public readonly disableOnDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#disable_on_destroy ProjectService#disable_on_destroy}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectServiceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#id ProjectService#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ProjectServiceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#project ProjectService#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectServiceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectServiceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectServiceTimeouts">ProjectServiceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#timeouts ProjectService#timeouts}

---

### ProjectServiceTimeouts <a name="ProjectServiceTimeouts" id="@dschmidt/provider-google.ProjectServiceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectServiceTimeouts.Initializer"></a>

```typescript
import { ProjectServiceTimeouts } from '@dschmidt/provider-google'

const projectServiceTimeouts: ProjectServiceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectServiceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#create ProjectService#create}. |
| <code><a href="#@dschmidt/provider-google.ProjectServiceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#delete ProjectService#delete}. |
| <code><a href="#@dschmidt/provider-google.ProjectServiceTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#read ProjectService#read}. |
| <code><a href="#@dschmidt/provider-google.ProjectServiceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#update ProjectService#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ProjectServiceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#create ProjectService#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ProjectServiceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#delete ProjectService#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.ProjectServiceTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#read ProjectService#read}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ProjectServiceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_service#update ProjectService#update}.

---

### ProjectTimeouts <a name="ProjectTimeouts" id="@dschmidt/provider-google.ProjectTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectTimeouts.Initializer"></a>

```typescript
import { ProjectTimeouts } from '@dschmidt/provider-google'

const projectTimeouts: ProjectTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#create Project#create}. |
| <code><a href="#@dschmidt/provider-google.ProjectTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#delete Project#delete}. |
| <code><a href="#@dschmidt/provider-google.ProjectTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#read Project#read}. |
| <code><a href="#@dschmidt/provider-google.ProjectTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#update Project#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ProjectTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#create Project#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ProjectTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#delete Project#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.ProjectTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#read Project#read}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ProjectTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project#update Project#update}.

---

### ProjectUsageExportBucketConfig <a name="ProjectUsageExportBucketConfig" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.Initializer"></a>

```typescript
import { ProjectUsageExportBucketConfig } from '@dschmidt/provider-google'

const projectUsageExportBucketConfig: ProjectUsageExportBucketConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.bucketName">bucketName</a></code> | <code>string</code> | The bucket to store reports in. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#id ProjectUsageExportBucket#id}. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.prefix">prefix</a></code> | <code>string</code> | A prefix for the reports, for instance, the project name. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.project">project</a></code> | <code>string</code> | The project to set the export bucket on. If it is not provided, the provider project is used. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketTimeouts">ProjectUsageExportBucketTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucketName`<sup>Required</sup> <a name="bucketName" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.bucketName"></a>

```typescript
public readonly bucketName: string;
```

- *Type:* string

The bucket to store reports in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#bucket_name ProjectUsageExportBucket#bucket_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#id ProjectUsageExportBucket#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `prefix`<sup>Optional</sup> <a name="prefix" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.prefix"></a>

```typescript
public readonly prefix: string;
```

- *Type:* string

A prefix for the reports, for instance, the project name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#prefix ProjectUsageExportBucket#prefix}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project to set the export bucket on. If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#project ProjectUsageExportBucket#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ProjectUsageExportBucketConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ProjectUsageExportBucketTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ProjectUsageExportBucketTimeouts">ProjectUsageExportBucketTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#timeouts ProjectUsageExportBucket#timeouts}

---

### ProjectUsageExportBucketTimeouts <a name="ProjectUsageExportBucketTimeouts" id="@dschmidt/provider-google.ProjectUsageExportBucketTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ProjectUsageExportBucketTimeouts.Initializer"></a>

```typescript
import { ProjectUsageExportBucketTimeouts } from '@dschmidt/provider-google'

const projectUsageExportBucketTimeouts: ProjectUsageExportBucketTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#create ProjectUsageExportBucket#create}. |
| <code><a href="#@dschmidt/provider-google.ProjectUsageExportBucketTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#delete ProjectUsageExportBucket#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ProjectUsageExportBucketTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#create ProjectUsageExportBucket#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ProjectUsageExportBucketTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/project_usage_export_bucket#delete ProjectUsageExportBucket#delete}.

---

### PubsubLiteReservationConfig <a name="PubsubLiteReservationConfig" id="@dschmidt/provider-google.PubsubLiteReservationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteReservationConfig.Initializer"></a>

```typescript
import { PubsubLiteReservationConfig } from '@dschmidt/provider-google'

const pubsubLiteReservationConfig: PubsubLiteReservationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.name">name</a></code> | <code>string</code> | Name of the reservation. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.throughputCapacity">throughputCapacity</a></code> | <code>number</code> | The reserved throughput capacity. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#id PubsubLiteReservation#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#project PubsubLiteReservation#project}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.region">region</a></code> | <code>string</code> | The region of the pubsub lite reservation. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteReservationTimeouts">PubsubLiteReservationTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the reservation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#name PubsubLiteReservation#name}

---

##### `throughputCapacity`<sup>Required</sup> <a name="throughputCapacity" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.throughputCapacity"></a>

```typescript
public readonly throughputCapacity: number;
```

- *Type:* number

The reserved throughput capacity.

Every unit of throughput capacity is
equivalent to 1 MiB/s of published messages or 2 MiB/s of subscribed
messages.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#throughput_capacity PubsubLiteReservation#throughput_capacity}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#id PubsubLiteReservation#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#project PubsubLiteReservation#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region of the pubsub lite reservation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#region PubsubLiteReservation#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubLiteReservationConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubLiteReservationTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteReservationTimeouts">PubsubLiteReservationTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#timeouts PubsubLiteReservation#timeouts}

---

### PubsubLiteReservationTimeouts <a name="PubsubLiteReservationTimeouts" id="@dschmidt/provider-google.PubsubLiteReservationTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteReservationTimeouts.Initializer"></a>

```typescript
import { PubsubLiteReservationTimeouts } from '@dschmidt/provider-google'

const pubsubLiteReservationTimeouts: PubsubLiteReservationTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#create PubsubLiteReservation#create}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#delete PubsubLiteReservation#delete}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteReservationTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#update PubsubLiteReservation#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PubsubLiteReservationTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#create PubsubLiteReservation#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PubsubLiteReservationTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#delete PubsubLiteReservation#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.PubsubLiteReservationTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_reservation#update PubsubLiteReservation#update}.

---

### PubsubLiteSubscriptionConfig <a name="PubsubLiteSubscriptionConfig" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.Initializer"></a>

```typescript
import { PubsubLiteSubscriptionConfig } from '@dschmidt/provider-google'

const pubsubLiteSubscriptionConfig: PubsubLiteSubscriptionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.name">name</a></code> | <code>string</code> | Name of the subscription. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.topic">topic</a></code> | <code>string</code> | A reference to a Topic resource. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.deliveryConfig">deliveryConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfig">PubsubLiteSubscriptionDeliveryConfig</a></code> | delivery_config block. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#id PubsubLiteSubscription#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#project PubsubLiteSubscription#project}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.region">region</a></code> | <code>string</code> | The region of the pubsub lite topic. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts">PubsubLiteSubscriptionTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.zone">zone</a></code> | <code>string</code> | The zone of the pubsub lite topic. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the subscription.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#name PubsubLiteSubscription#name}

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

A reference to a Topic resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#topic PubsubLiteSubscription#topic}

---

##### `deliveryConfig`<sup>Optional</sup> <a name="deliveryConfig" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.deliveryConfig"></a>

```typescript
public readonly deliveryConfig: PubsubLiteSubscriptionDeliveryConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfig">PubsubLiteSubscriptionDeliveryConfig</a>

delivery_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#delivery_config PubsubLiteSubscription#delivery_config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#id PubsubLiteSubscription#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#project PubsubLiteSubscription#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region of the pubsub lite topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#region PubsubLiteSubscription#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubLiteSubscriptionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts">PubsubLiteSubscriptionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#timeouts PubsubLiteSubscription#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.PubsubLiteSubscriptionConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone of the pubsub lite topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#zone PubsubLiteSubscription#zone}

---

### PubsubLiteSubscriptionDeliveryConfig <a name="PubsubLiteSubscriptionDeliveryConfig" id="@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfig.Initializer"></a>

```typescript
import { PubsubLiteSubscriptionDeliveryConfig } from '@dschmidt/provider-google'

const pubsubLiteSubscriptionDeliveryConfig: PubsubLiteSubscriptionDeliveryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfig.property.deliveryRequirement">deliveryRequirement</a></code> | <code>string</code> | When this subscription should send messages to subscribers relative to messages persistence in storage. Possible values: ["DELIVER_IMMEDIATELY", "DELIVER_AFTER_STORED", "DELIVERY_REQUIREMENT_UNSPECIFIED"]. |

---

##### `deliveryRequirement`<sup>Required</sup> <a name="deliveryRequirement" id="@dschmidt/provider-google.PubsubLiteSubscriptionDeliveryConfig.property.deliveryRequirement"></a>

```typescript
public readonly deliveryRequirement: string;
```

- *Type:* string

When this subscription should send messages to subscribers relative to messages persistence in storage. Possible values: ["DELIVER_IMMEDIATELY", "DELIVER_AFTER_STORED", "DELIVERY_REQUIREMENT_UNSPECIFIED"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#delivery_requirement PubsubLiteSubscription#delivery_requirement}

---

### PubsubLiteSubscriptionTimeouts <a name="PubsubLiteSubscriptionTimeouts" id="@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts.Initializer"></a>

```typescript
import { PubsubLiteSubscriptionTimeouts } from '@dschmidt/provider-google'

const pubsubLiteSubscriptionTimeouts: PubsubLiteSubscriptionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#create PubsubLiteSubscription#create}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#delete PubsubLiteSubscription#delete}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#update PubsubLiteSubscription#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#create PubsubLiteSubscription#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#delete PubsubLiteSubscription#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.PubsubLiteSubscriptionTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_subscription#update PubsubLiteSubscription#update}.

---

### PubsubLiteTopicConfig <a name="PubsubLiteTopicConfig" id="@dschmidt/provider-google.PubsubLiteTopicConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteTopicConfig.Initializer"></a>

```typescript
import { PubsubLiteTopicConfig } from '@dschmidt/provider-google'

const pubsubLiteTopicConfig: PubsubLiteTopicConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.name">name</a></code> | <code>string</code> | Name of the topic. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#id PubsubLiteTopic#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.partitionConfig">partitionConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfig">PubsubLiteTopicPartitionConfig</a></code> | partition_config block. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#project PubsubLiteTopic#project}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.region">region</a></code> | <code>string</code> | The region of the pubsub lite topic. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.reservationConfig">reservationConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicReservationConfig">PubsubLiteTopicReservationConfig</a></code> | reservation_config block. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.retentionConfig">retentionConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicRetentionConfig">PubsubLiteTopicRetentionConfig</a></code> | retention_config block. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicTimeouts">PubsubLiteTopicTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicConfig.property.zone">zone</a></code> | <code>string</code> | The zone of the pubsub lite topic. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#name PubsubLiteTopic#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#id PubsubLiteTopic#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `partitionConfig`<sup>Optional</sup> <a name="partitionConfig" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.partitionConfig"></a>

```typescript
public readonly partitionConfig: PubsubLiteTopicPartitionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfig">PubsubLiteTopicPartitionConfig</a>

partition_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#partition_config PubsubLiteTopic#partition_config}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#project PubsubLiteTopic#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region of the pubsub lite topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#region PubsubLiteTopic#region}

---

##### `reservationConfig`<sup>Optional</sup> <a name="reservationConfig" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.reservationConfig"></a>

```typescript
public readonly reservationConfig: PubsubLiteTopicReservationConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicReservationConfig">PubsubLiteTopicReservationConfig</a>

reservation_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#reservation_config PubsubLiteTopic#reservation_config}

---

##### `retentionConfig`<sup>Optional</sup> <a name="retentionConfig" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.retentionConfig"></a>

```typescript
public readonly retentionConfig: PubsubLiteTopicRetentionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicRetentionConfig">PubsubLiteTopicRetentionConfig</a>

retention_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#retention_config PubsubLiteTopic#retention_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubLiteTopicTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicTimeouts">PubsubLiteTopicTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#timeouts PubsubLiteTopic#timeouts}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.PubsubLiteTopicConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The zone of the pubsub lite topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#zone PubsubLiteTopic#zone}

---

### PubsubLiteTopicPartitionConfig <a name="PubsubLiteTopicPartitionConfig" id="@dschmidt/provider-google.PubsubLiteTopicPartitionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteTopicPartitionConfig.Initializer"></a>

```typescript
import { PubsubLiteTopicPartitionConfig } from '@dschmidt/provider-google'

const pubsubLiteTopicPartitionConfig: PubsubLiteTopicPartitionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfig.property.count">count</a></code> | <code>number</code> | The number of partitions in the topic. Must be at least 1. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfig.property.capacity">capacity</a></code> | <code><a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfigCapacity">PubsubLiteTopicPartitionConfigCapacity</a></code> | capacity block. |

---

##### `count`<sup>Required</sup> <a name="count" id="@dschmidt/provider-google.PubsubLiteTopicPartitionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

The number of partitions in the topic. Must be at least 1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#count PubsubLiteTopic#count}

---

##### `capacity`<sup>Optional</sup> <a name="capacity" id="@dschmidt/provider-google.PubsubLiteTopicPartitionConfig.property.capacity"></a>

```typescript
public readonly capacity: PubsubLiteTopicPartitionConfigCapacity;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfigCapacity">PubsubLiteTopicPartitionConfigCapacity</a>

capacity block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#capacity PubsubLiteTopic#capacity}

---

### PubsubLiteTopicPartitionConfigCapacity <a name="PubsubLiteTopicPartitionConfigCapacity" id="@dschmidt/provider-google.PubsubLiteTopicPartitionConfigCapacity"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteTopicPartitionConfigCapacity.Initializer"></a>

```typescript
import { PubsubLiteTopicPartitionConfigCapacity } from '@dschmidt/provider-google'

const pubsubLiteTopicPartitionConfigCapacity: PubsubLiteTopicPartitionConfigCapacity = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfigCapacity.property.publishMibPerSec">publishMibPerSec</a></code> | <code>number</code> | Subscribe throughput capacity per partition in MiB/s. Must be >= 4 and <= 16. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicPartitionConfigCapacity.property.subscribeMibPerSec">subscribeMibPerSec</a></code> | <code>number</code> | Publish throughput capacity per partition in MiB/s. Must be >= 4 and <= 16. |

---

##### `publishMibPerSec`<sup>Required</sup> <a name="publishMibPerSec" id="@dschmidt/provider-google.PubsubLiteTopicPartitionConfigCapacity.property.publishMibPerSec"></a>

```typescript
public readonly publishMibPerSec: number;
```

- *Type:* number

Subscribe throughput capacity per partition in MiB/s. Must be >= 4 and <= 16.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#publish_mib_per_sec PubsubLiteTopic#publish_mib_per_sec}

---

##### `subscribeMibPerSec`<sup>Required</sup> <a name="subscribeMibPerSec" id="@dschmidt/provider-google.PubsubLiteTopicPartitionConfigCapacity.property.subscribeMibPerSec"></a>

```typescript
public readonly subscribeMibPerSec: number;
```

- *Type:* number

Publish throughput capacity per partition in MiB/s. Must be >= 4 and <= 16.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#subscribe_mib_per_sec PubsubLiteTopic#subscribe_mib_per_sec}

---

### PubsubLiteTopicReservationConfig <a name="PubsubLiteTopicReservationConfig" id="@dschmidt/provider-google.PubsubLiteTopicReservationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteTopicReservationConfig.Initializer"></a>

```typescript
import { PubsubLiteTopicReservationConfig } from '@dschmidt/provider-google'

const pubsubLiteTopicReservationConfig: PubsubLiteTopicReservationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicReservationConfig.property.throughputReservation">throughputReservation</a></code> | <code>string</code> | The Reservation to use for this topic's throughput capacity. |

---

##### `throughputReservation`<sup>Optional</sup> <a name="throughputReservation" id="@dschmidt/provider-google.PubsubLiteTopicReservationConfig.property.throughputReservation"></a>

```typescript
public readonly throughputReservation: string;
```

- *Type:* string

The Reservation to use for this topic's throughput capacity.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#throughput_reservation PubsubLiteTopic#throughput_reservation}

---

### PubsubLiteTopicRetentionConfig <a name="PubsubLiteTopicRetentionConfig" id="@dschmidt/provider-google.PubsubLiteTopicRetentionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteTopicRetentionConfig.Initializer"></a>

```typescript
import { PubsubLiteTopicRetentionConfig } from '@dschmidt/provider-google'

const pubsubLiteTopicRetentionConfig: PubsubLiteTopicRetentionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicRetentionConfig.property.perPartitionBytes">perPartitionBytes</a></code> | <code>string</code> | The provisioned storage, in bytes, per partition. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicRetentionConfig.property.period">period</a></code> | <code>string</code> | How long a published message is retained. |

---

##### `perPartitionBytes`<sup>Required</sup> <a name="perPartitionBytes" id="@dschmidt/provider-google.PubsubLiteTopicRetentionConfig.property.perPartitionBytes"></a>

```typescript
public readonly perPartitionBytes: string;
```

- *Type:* string

The provisioned storage, in bytes, per partition.

If the number of bytes stored
in any of the topic's partitions grows beyond this value, older messages will be
dropped to make room for newer ones, regardless of the value of period.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#per_partition_bytes PubsubLiteTopic#per_partition_bytes}

---

##### `period`<sup>Optional</sup> <a name="period" id="@dschmidt/provider-google.PubsubLiteTopicRetentionConfig.property.period"></a>

```typescript
public readonly period: string;
```

- *Type:* string

How long a published message is retained.

If unset, messages will be retained as
long as the bytes retained for each partition is below perPartitionBytes. A
duration in seconds with up to nine fractional digits, terminated by 's'.
Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#period PubsubLiteTopic#period}

---

### PubsubLiteTopicTimeouts <a name="PubsubLiteTopicTimeouts" id="@dschmidt/provider-google.PubsubLiteTopicTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubLiteTopicTimeouts.Initializer"></a>

```typescript
import { PubsubLiteTopicTimeouts } from '@dschmidt/provider-google'

const pubsubLiteTopicTimeouts: PubsubLiteTopicTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#create PubsubLiteTopic#create}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#delete PubsubLiteTopic#delete}. |
| <code><a href="#@dschmidt/provider-google.PubsubLiteTopicTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#update PubsubLiteTopic#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PubsubLiteTopicTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#create PubsubLiteTopic#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PubsubLiteTopicTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#delete PubsubLiteTopic#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.PubsubLiteTopicTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_lite_topic#update PubsubLiteTopic#update}.

---

### PubsubSchemaConfig <a name="PubsubSchemaConfig" id="@dschmidt/provider-google.PubsubSchemaConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSchemaConfig.Initializer"></a>

```typescript
import { PubsubSchemaConfig } from '@dschmidt/provider-google'

const pubsubSchemaConfig: PubsubSchemaConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.name">name</a></code> | <code>string</code> | The ID to use for the schema, which will become the final component of the schema's resource name. |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.definition">definition</a></code> | <code>string</code> | The definition of the schema. |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#id PubsubSchema#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#project PubsubSchema#project}. |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSchemaTimeouts">PubsubSchemaTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaConfig.property.type">type</a></code> | <code>string</code> | The type of the schema definition Default value: "TYPE_UNSPECIFIED" Possible values: ["TYPE_UNSPECIFIED", "PROTOCOL_BUFFER", "AVRO"]. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSchemaConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSchemaConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSchemaConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSchemaConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSchemaConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSchemaConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSchemaConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubSchemaConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The ID to use for the schema, which will become the final component of the schema's resource name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#name PubsubSchema#name}

---

##### `definition`<sup>Optional</sup> <a name="definition" id="@dschmidt/provider-google.PubsubSchemaConfig.property.definition"></a>

```typescript
public readonly definition: string;
```

- *Type:* string

The definition of the schema.

This should contain a string representing the full definition of the schema
that is a valid schema definition of the type specified in type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#definition PubsubSchema#definition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubSchemaConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#id PubsubSchema#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubSchemaConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#project PubsubSchema#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubSchemaConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubSchemaTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSchemaTimeouts">PubsubSchemaTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#timeouts PubsubSchema#timeouts}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.PubsubSchemaConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of the schema definition Default value: "TYPE_UNSPECIFIED" Possible values: ["TYPE_UNSPECIFIED", "PROTOCOL_BUFFER", "AVRO"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#type PubsubSchema#type}

---

### PubsubSchemaTimeouts <a name="PubsubSchemaTimeouts" id="@dschmidt/provider-google.PubsubSchemaTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSchemaTimeouts.Initializer"></a>

```typescript
import { PubsubSchemaTimeouts } from '@dschmidt/provider-google'

const pubsubSchemaTimeouts: PubsubSchemaTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#create PubsubSchema#create}. |
| <code><a href="#@dschmidt/provider-google.PubsubSchemaTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#delete PubsubSchema#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PubsubSchemaTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#create PubsubSchema#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PubsubSchemaTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_schema#delete PubsubSchema#delete}.

---

### PubsubSubscriptionBigqueryConfig <a name="PubsubSubscriptionBigqueryConfig" id="@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig.Initializer"></a>

```typescript
import { PubsubSubscriptionBigqueryConfig } from '@dschmidt/provider-google'

const pubsubSubscriptionBigqueryConfig: PubsubSubscriptionBigqueryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig.property.table">table</a></code> | <code>string</code> | The name of the table to which to write data, of the form {projectId}:{datasetId}.{tableId}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig.property.dropUnknownFields">dropUnknownFields</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true and useTopicSchema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig.property.useTopicSchema">useTopicSchema</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, use the topic's schema as the columns to write to in BigQuery, if it exists. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig.property.writeMetadata">writeMetadata</a></code> | <code>boolean \| cdktf.IResolvable</code> | When true, write the subscription name, messageId, publishTime, attributes, and orderingKey to additional columns in the table. |

---

##### `table`<sup>Required</sup> <a name="table" id="@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig.property.table"></a>

```typescript
public readonly table: string;
```

- *Type:* string

The name of the table to which to write data, of the form {projectId}:{datasetId}.{tableId}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#table PubsubSubscription#table}

---

##### `dropUnknownFields`<sup>Optional</sup> <a name="dropUnknownFields" id="@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig.property.dropUnknownFields"></a>

```typescript
public readonly dropUnknownFields: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true and useTopicSchema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery.

Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#drop_unknown_fields PubsubSubscription#drop_unknown_fields}

---

##### `useTopicSchema`<sup>Optional</sup> <a name="useTopicSchema" id="@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig.property.useTopicSchema"></a>

```typescript
public readonly useTopicSchema: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, use the topic's schema as the columns to write to in BigQuery, if it exists.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#use_topic_schema PubsubSubscription#use_topic_schema}

---

##### `writeMetadata`<sup>Optional</sup> <a name="writeMetadata" id="@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig.property.writeMetadata"></a>

```typescript
public readonly writeMetadata: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When true, write the subscription name, messageId, publishTime, attributes, and orderingKey to additional columns in the table.

The subscription name, messageId, and publishTime fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#write_metadata PubsubSubscription#write_metadata}

---

### PubsubSubscriptionConfig <a name="PubsubSubscriptionConfig" id="@dschmidt/provider-google.PubsubSubscriptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionConfig.Initializer"></a>

```typescript
import { PubsubSubscriptionConfig } from '@dschmidt/provider-google'

const pubsubSubscriptionConfig: PubsubSubscriptionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.name">name</a></code> | <code>string</code> | Name of the subscription. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.topic">topic</a></code> | <code>string</code> | A reference to a Topic resource. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.ackDeadlineSeconds">ackDeadlineSeconds</a></code> | <code>number</code> | This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.bigqueryConfig">bigqueryConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig">PubsubSubscriptionBigqueryConfig</a></code> | bigquery_config block. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.deadLetterPolicy">deadLetterPolicy</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy">PubsubSubscriptionDeadLetterPolicy</a></code> | dead_letter_policy block. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.enableExactlyOnceDelivery">enableExactlyOnceDelivery</a></code> | <code>boolean \| cdktf.IResolvable</code> | If 'true', Pub/Sub provides the following guarantees for the delivery of a message with a given value of messageId on this Subscriptions':  - The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgement deadline expires. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.enableMessageOrdering">enableMessageOrdering</a></code> | <code>boolean \| cdktf.IResolvable</code> | If 'true', messages published with the same orderingKey in PubsubMessage will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.expirationPolicy">expirationPolicy</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionExpirationPolicy">PubsubSubscriptionExpirationPolicy</a></code> | expiration_policy block. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.filter">filter</a></code> | <code>string</code> | The subscription only delivers the messages that match the filter. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#id PubsubSubscription#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to this Subscription. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.messageRetentionDuration">messageRetentionDuration</a></code> | <code>string</code> | How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#project PubsubSubscription#project}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.pushConfig">pushConfig</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfig">PubsubSubscriptionPushConfig</a></code> | push_config block. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.retainAckedMessages">retainAckedMessages</a></code> | <code>boolean \| cdktf.IResolvable</code> | Indicates whether to retain acknowledged messages. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.retryPolicy">retryPolicy</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionRetryPolicy">PubsubSubscriptionRetryPolicy</a></code> | retry_policy block. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionTimeouts">PubsubSubscriptionTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the subscription.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#name PubsubSubscription#name}

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

A reference to a Topic resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#topic PubsubSubscription#topic}

---

##### `ackDeadlineSeconds`<sup>Optional</sup> <a name="ackDeadlineSeconds" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.ackDeadlineSeconds"></a>

```typescript
public readonly ackDeadlineSeconds: number;
```

- *Type:* number

This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message.

After message
delivery but before the ack deadline expires and before the message is
acknowledged, it is an outstanding message and will not be delivered
again during that time (on a best-effort basis).

For pull subscriptions, this value is used as the initial value for
the ack deadline. To override this value for a given message, call
subscriptions.modifyAckDeadline with the corresponding ackId if using
pull. The minimum custom deadline you can specify is 10 seconds. The
maximum custom deadline you can specify is 600 seconds (10 minutes).
If this parameter is 0, a default value of 10 seconds is used.

For push delivery, this value is also used to set the request timeout
for the call to the push endpoint.

If the subscriber never acknowledges the message, the Pub/Sub system
will eventually redeliver the message.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#ack_deadline_seconds PubsubSubscription#ack_deadline_seconds}

---

##### `bigqueryConfig`<sup>Optional</sup> <a name="bigqueryConfig" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.bigqueryConfig"></a>

```typescript
public readonly bigqueryConfig: PubsubSubscriptionBigqueryConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionBigqueryConfig">PubsubSubscriptionBigqueryConfig</a>

bigquery_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#bigquery_config PubsubSubscription#bigquery_config}

---

##### `deadLetterPolicy`<sup>Optional</sup> <a name="deadLetterPolicy" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.deadLetterPolicy"></a>

```typescript
public readonly deadLetterPolicy: PubsubSubscriptionDeadLetterPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy">PubsubSubscriptionDeadLetterPolicy</a>

dead_letter_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#dead_letter_policy PubsubSubscription#dead_letter_policy}

---

##### `enableExactlyOnceDelivery`<sup>Optional</sup> <a name="enableExactlyOnceDelivery" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.enableExactlyOnceDelivery"></a>

```typescript
public readonly enableExactlyOnceDelivery: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If 'true', Pub/Sub provides the following guarantees for the delivery of a message with a given value of messageId on this Subscriptions':  - The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgement deadline expires.

An acknowledged message will not be resent to a subscriber.

Note that subscribers may still receive multiple copies of a message when 'enable_exactly_once_delivery'
is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct messageId values

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#enable_exactly_once_delivery PubsubSubscription#enable_exactly_once_delivery}

---

##### `enableMessageOrdering`<sup>Optional</sup> <a name="enableMessageOrdering" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.enableMessageOrdering"></a>

```typescript
public readonly enableMessageOrdering: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If 'true', messages published with the same orderingKey in PubsubMessage will be delivered to the subscribers in the order in which they are received by the Pub/Sub system.

Otherwise, they
may be delivered in any order.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#enable_message_ordering PubsubSubscription#enable_message_ordering}

---

##### `expirationPolicy`<sup>Optional</sup> <a name="expirationPolicy" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.expirationPolicy"></a>

```typescript
public readonly expirationPolicy: PubsubSubscriptionExpirationPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionExpirationPolicy">PubsubSubscriptionExpirationPolicy</a>

expiration_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#expiration_policy PubsubSubscription#expiration_policy}

---

##### `filter`<sup>Optional</sup> <a name="filter" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

The subscription only delivers the messages that match the filter.

Pub/Sub automatically acknowledges the messages that don't match the filter. You can filter messages
by their attributes. The maximum length of a filter is 256 bytes. After creating the subscription, 
you can't modify the filter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#filter PubsubSubscription#filter}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#id PubsubSubscription#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to this Subscription.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#labels PubsubSubscription#labels}

---

##### `messageRetentionDuration`<sup>Optional</sup> <a name="messageRetentionDuration" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.messageRetentionDuration"></a>

```typescript
public readonly messageRetentionDuration: string;
```

- *Type:* string

How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published.

If
retain_acked_messages is true, then this also configures the retention
of acknowledged messages, and thus configures how far back in time a
subscriptions.seek can be done. Defaults to 7 days. Cannot be more
than 7 days ('"604800s"') or less than 10 minutes ('"600s"').

A duration in seconds with up to nine fractional digits, terminated
by 's'. Example: '"600.5s"'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#message_retention_duration PubsubSubscription#message_retention_duration}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#project PubsubSubscription#project}.

---

##### `pushConfig`<sup>Optional</sup> <a name="pushConfig" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.pushConfig"></a>

```typescript
public readonly pushConfig: PubsubSubscriptionPushConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfig">PubsubSubscriptionPushConfig</a>

push_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#push_config PubsubSubscription#push_config}

---

##### `retainAckedMessages`<sup>Optional</sup> <a name="retainAckedMessages" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.retainAckedMessages"></a>

```typescript
public readonly retainAckedMessages: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Indicates whether to retain acknowledged messages.

If 'true', then
messages are not expunged from the subscription's backlog, even if
they are acknowledged, until they fall out of the
messageRetentionDuration window.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#retain_acked_messages PubsubSubscription#retain_acked_messages}

---

##### `retryPolicy`<sup>Optional</sup> <a name="retryPolicy" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.retryPolicy"></a>

```typescript
public readonly retryPolicy: PubsubSubscriptionRetryPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionRetryPolicy">PubsubSubscriptionRetryPolicy</a>

retry_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#retry_policy PubsubSubscription#retry_policy}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubSubscriptionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubSubscriptionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionTimeouts">PubsubSubscriptionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#timeouts PubsubSubscription#timeouts}

---

### PubsubSubscriptionDeadLetterPolicy <a name="PubsubSubscriptionDeadLetterPolicy" id="@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy.Initializer"></a>

```typescript
import { PubsubSubscriptionDeadLetterPolicy } from '@dschmidt/provider-google'

const pubsubSubscriptionDeadLetterPolicy: PubsubSubscriptionDeadLetterPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy.property.deadLetterTopic">deadLetterTopic</a></code> | <code>string</code> | The name of the topic to which dead letter messages should be published. Format is 'projects/{project}/topics/{topic}'. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy.property.maxDeliveryAttempts">maxDeliveryAttempts</a></code> | <code>number</code> | The maximum number of delivery attempts for any message. The value must be between 5 and 100. |

---

##### `deadLetterTopic`<sup>Optional</sup> <a name="deadLetterTopic" id="@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy.property.deadLetterTopic"></a>

```typescript
public readonly deadLetterTopic: string;
```

- *Type:* string

The name of the topic to which dead letter messages should be published. Format is 'projects/{project}/topics/{topic}'.

The Cloud Pub/Sub service account associated with the enclosing subscription's
parent project (i.e., 
service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
permission to Publish() to this topic.

The operation will fail if the topic does not exist.
Users should ensure that there is a subscription attached to this topic
since messages published to a topic with no subscriptions are lost.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#dead_letter_topic PubsubSubscription#dead_letter_topic}

---

##### `maxDeliveryAttempts`<sup>Optional</sup> <a name="maxDeliveryAttempts" id="@dschmidt/provider-google.PubsubSubscriptionDeadLetterPolicy.property.maxDeliveryAttempts"></a>

```typescript
public readonly maxDeliveryAttempts: number;
```

- *Type:* number

The maximum number of delivery attempts for any message. The value must be between 5 and 100.

The number of delivery attempts is defined as 1 + (the sum of number of 
NACKs and number of times the acknowledgement deadline has been exceeded for the message).

A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
client libraries may automatically extend ack_deadlines.

This field will be honored on a best effort basis.

If this parameter is 0, a default value of 5 is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#max_delivery_attempts PubsubSubscription#max_delivery_attempts}

---

### PubsubSubscriptionExpirationPolicy <a name="PubsubSubscriptionExpirationPolicy" id="@dschmidt/provider-google.PubsubSubscriptionExpirationPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionExpirationPolicy.Initializer"></a>

```typescript
import { PubsubSubscriptionExpirationPolicy } from '@dschmidt/provider-google'

const pubsubSubscriptionExpirationPolicy: PubsubSubscriptionExpirationPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionExpirationPolicy.property.ttl">ttl</a></code> | <code>string</code> | Specifies the "time-to-live" duration for an associated resource. |

---

##### `ttl`<sup>Required</sup> <a name="ttl" id="@dschmidt/provider-google.PubsubSubscriptionExpirationPolicy.property.ttl"></a>

```typescript
public readonly ttl: string;
```

- *Type:* string

Specifies the "time-to-live" duration for an associated resource.

The
resource expires if it is not active for a period of ttl.
If ttl is not set, the associated resource never expires.
A duration in seconds with up to nine fractional digits, terminated by 's'.
Example - "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#ttl PubsubSubscription#ttl}

---

### PubsubSubscriptionIamBindingCondition <a name="PubsubSubscriptionIamBindingCondition" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition.Initializer"></a>

```typescript
import { PubsubSubscriptionIamBindingCondition } from '@dschmidt/provider-google'

const pubsubSubscriptionIamBindingCondition: PubsubSubscriptionIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#expression PubsubSubscriptionIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#title PubsubSubscriptionIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#description PubsubSubscriptionIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#expression PubsubSubscriptionIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#title PubsubSubscriptionIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#description PubsubSubscriptionIamBinding#description}.

---

### PubsubSubscriptionIamBindingConfig <a name="PubsubSubscriptionIamBindingConfig" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.Initializer"></a>

```typescript
import { PubsubSubscriptionIamBindingConfig } from '@dschmidt/provider-google'

const pubsubSubscriptionIamBindingConfig: PubsubSubscriptionIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#members PubsubSubscriptionIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#role PubsubSubscriptionIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.subscription">subscription</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#subscription PubsubSubscriptionIamBinding#subscription}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition">PubsubSubscriptionIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#id PubsubSubscriptionIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#project PubsubSubscriptionIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#members PubsubSubscriptionIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#role PubsubSubscriptionIamBinding#role}.

---

##### `subscription`<sup>Required</sup> <a name="subscription" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.subscription"></a>

```typescript
public readonly subscription: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#subscription PubsubSubscriptionIamBinding#subscription}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: PubsubSubscriptionIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamBindingCondition">PubsubSubscriptionIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#condition PubsubSubscriptionIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#id PubsubSubscriptionIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubSubscriptionIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_binding#project PubsubSubscriptionIamBinding#project}.

---

### PubsubSubscriptionIamMemberCondition <a name="PubsubSubscriptionIamMemberCondition" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition.Initializer"></a>

```typescript
import { PubsubSubscriptionIamMemberCondition } from '@dschmidt/provider-google'

const pubsubSubscriptionIamMemberCondition: PubsubSubscriptionIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#expression PubsubSubscriptionIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#title PubsubSubscriptionIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#description PubsubSubscriptionIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#expression PubsubSubscriptionIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#title PubsubSubscriptionIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#description PubsubSubscriptionIamMember#description}.

---

### PubsubSubscriptionIamMemberConfig <a name="PubsubSubscriptionIamMemberConfig" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.Initializer"></a>

```typescript
import { PubsubSubscriptionIamMemberConfig } from '@dschmidt/provider-google'

const pubsubSubscriptionIamMemberConfig: PubsubSubscriptionIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#member PubsubSubscriptionIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#role PubsubSubscriptionIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.subscription">subscription</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#subscription PubsubSubscriptionIamMember#subscription}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition">PubsubSubscriptionIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#id PubsubSubscriptionIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#project PubsubSubscriptionIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#member PubsubSubscriptionIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#role PubsubSubscriptionIamMember#role}.

---

##### `subscription`<sup>Required</sup> <a name="subscription" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.subscription"></a>

```typescript
public readonly subscription: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#subscription PubsubSubscriptionIamMember#subscription}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: PubsubSubscriptionIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionIamMemberCondition">PubsubSubscriptionIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#condition PubsubSubscriptionIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#id PubsubSubscriptionIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubSubscriptionIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_member#project PubsubSubscriptionIamMember#project}.

---

### PubsubSubscriptionIamPolicyConfig <a name="PubsubSubscriptionIamPolicyConfig" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.Initializer"></a>

```typescript
import { PubsubSubscriptionIamPolicyConfig } from '@dschmidt/provider-google'

const pubsubSubscriptionIamPolicyConfig: PubsubSubscriptionIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_policy#policy_data PubsubSubscriptionIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.subscription">subscription</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_policy#subscription PubsubSubscriptionIamPolicy#subscription}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_policy#id PubsubSubscriptionIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_policy#project PubsubSubscriptionIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_policy#policy_data PubsubSubscriptionIamPolicy#policy_data}.

---

##### `subscription`<sup>Required</sup> <a name="subscription" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.subscription"></a>

```typescript
public readonly subscription: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_policy#subscription PubsubSubscriptionIamPolicy#subscription}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_policy#id PubsubSubscriptionIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubSubscriptionIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription_iam_policy#project PubsubSubscriptionIamPolicy#project}.

---

### PubsubSubscriptionPushConfig <a name="PubsubSubscriptionPushConfig" id="@dschmidt/provider-google.PubsubSubscriptionPushConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionPushConfig.Initializer"></a>

```typescript
import { PubsubSubscriptionPushConfig } from '@dschmidt/provider-google'

const pubsubSubscriptionPushConfig: PubsubSubscriptionPushConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfig.property.pushEndpoint">pushEndpoint</a></code> | <code>string</code> | A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use "https://example.com/push". |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfig.property.attributes">attributes</a></code> | <code>{[ key: string ]: string}</code> | Endpoint configuration attributes. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfig.property.oidcToken">oidcToken</a></code> | <code><a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfigOidcToken">PubsubSubscriptionPushConfigOidcToken</a></code> | oidc_token block. |

---

##### `pushEndpoint`<sup>Required</sup> <a name="pushEndpoint" id="@dschmidt/provider-google.PubsubSubscriptionPushConfig.property.pushEndpoint"></a>

```typescript
public readonly pushEndpoint: string;
```

- *Type:* string

A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use "https://example.com/push".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#push_endpoint PubsubSubscription#push_endpoint}

---

##### `attributes`<sup>Optional</sup> <a name="attributes" id="@dschmidt/provider-google.PubsubSubscriptionPushConfig.property.attributes"></a>

```typescript
public readonly attributes: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Endpoint configuration attributes.

Every endpoint has a set of API supported attributes that can
be used to control different aspects of the message delivery.

The currently supported attribute is x-goog-version, which you
can use to change the format of the pushed message. This
attribute indicates the version of the data expected by
the endpoint. This controls the shape of the pushed message
(i.e., its fields and metadata). The endpoint version is
based on the version of the Pub/Sub API.

If not present during the subscriptions.create call,
it will default to the version of the API used to make
such call. If not present during a subscriptions.modifyPushConfig
call, its value will not be changed. subscriptions.get
calls will always return a valid version, even if the
subscription was created without this attribute.

The possible values for this attribute are:

- v1beta1: uses the push format defined in the v1beta1 Pub/Sub API.
- v1 or v1beta2: uses the push format defined in the v1 Pub/Sub API.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#attributes PubsubSubscription#attributes}

---

##### `oidcToken`<sup>Optional</sup> <a name="oidcToken" id="@dschmidt/provider-google.PubsubSubscriptionPushConfig.property.oidcToken"></a>

```typescript
public readonly oidcToken: PubsubSubscriptionPushConfigOidcToken;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfigOidcToken">PubsubSubscriptionPushConfigOidcToken</a>

oidc_token block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#oidc_token PubsubSubscription#oidc_token}

---

### PubsubSubscriptionPushConfigOidcToken <a name="PubsubSubscriptionPushConfigOidcToken" id="@dschmidt/provider-google.PubsubSubscriptionPushConfigOidcToken"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionPushConfigOidcToken.Initializer"></a>

```typescript
import { PubsubSubscriptionPushConfigOidcToken } from '@dschmidt/provider-google'

const pubsubSubscriptionPushConfigOidcToken: PubsubSubscriptionPushConfigOidcToken = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfigOidcToken.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | Service account email to be used for generating the OIDC token. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionPushConfigOidcToken.property.audience">audience</a></code> | <code>string</code> | Audience to be used when generating OIDC token. |

---

##### `serviceAccountEmail`<sup>Required</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.PubsubSubscriptionPushConfigOidcToken.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

Service account email to be used for generating the OIDC token.

The caller (for subscriptions.create, subscriptions.patch, and
subscriptions.modifyPushConfig RPCs) must have the
iam.serviceAccounts.actAs permission for the service account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#service_account_email PubsubSubscription#service_account_email}

---

##### `audience`<sup>Optional</sup> <a name="audience" id="@dschmidt/provider-google.PubsubSubscriptionPushConfigOidcToken.property.audience"></a>

```typescript
public readonly audience: string;
```

- *Type:* string

Audience to be used when generating OIDC token.

The audience claim
identifies the recipients that the JWT is intended for. The audience
value is a single case-sensitive string. Having multiple values (array)
for the audience field is not supported. More info about the OIDC JWT
token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
Note: if not specified, the Push endpoint URL will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#audience PubsubSubscription#audience}

---

### PubsubSubscriptionRetryPolicy <a name="PubsubSubscriptionRetryPolicy" id="@dschmidt/provider-google.PubsubSubscriptionRetryPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionRetryPolicy.Initializer"></a>

```typescript
import { PubsubSubscriptionRetryPolicy } from '@dschmidt/provider-google'

const pubsubSubscriptionRetryPolicy: PubsubSubscriptionRetryPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionRetryPolicy.property.maximumBackoff">maximumBackoff</a></code> | <code>string</code> | The maximum delay between consecutive deliveries of a given message. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionRetryPolicy.property.minimumBackoff">minimumBackoff</a></code> | <code>string</code> | The minimum delay between consecutive deliveries of a given message. |

---

##### `maximumBackoff`<sup>Optional</sup> <a name="maximumBackoff" id="@dschmidt/provider-google.PubsubSubscriptionRetryPolicy.property.maximumBackoff"></a>

```typescript
public readonly maximumBackoff: string;
```

- *Type:* string

The maximum delay between consecutive deliveries of a given message.

Value should be between 0 and 600 seconds. Defaults to 600 seconds. 
A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#maximum_backoff PubsubSubscription#maximum_backoff}

---

##### `minimumBackoff`<sup>Optional</sup> <a name="minimumBackoff" id="@dschmidt/provider-google.PubsubSubscriptionRetryPolicy.property.minimumBackoff"></a>

```typescript
public readonly minimumBackoff: string;
```

- *Type:* string

The minimum delay between consecutive deliveries of a given message.

Value should be between 0 and 600 seconds. Defaults to 10 seconds.
A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#minimum_backoff PubsubSubscription#minimum_backoff}

---

### PubsubSubscriptionTimeouts <a name="PubsubSubscriptionTimeouts" id="@dschmidt/provider-google.PubsubSubscriptionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubSubscriptionTimeouts.Initializer"></a>

```typescript
import { PubsubSubscriptionTimeouts } from '@dschmidt/provider-google'

const pubsubSubscriptionTimeouts: PubsubSubscriptionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#create PubsubSubscription#create}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#delete PubsubSubscription#delete}. |
| <code><a href="#@dschmidt/provider-google.PubsubSubscriptionTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#update PubsubSubscription#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PubsubSubscriptionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#create PubsubSubscription#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PubsubSubscriptionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#delete PubsubSubscription#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.PubsubSubscriptionTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_subscription#update PubsubSubscription#update}.

---

### PubsubTopicConfig <a name="PubsubTopicConfig" id="@dschmidt/provider-google.PubsubTopicConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubTopicConfig.Initializer"></a>

```typescript
import { PubsubTopicConfig } from '@dschmidt/provider-google'

const pubsubTopicConfig: PubsubTopicConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.name">name</a></code> | <code>string</code> | Name of the topic. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#id PubsubTopic#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to this Topic. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.messageRetentionDuration">messageRetentionDuration</a></code> | <code>string</code> | Indicates the minimum duration to retain a message after it is published to the topic. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.messageStoragePolicy">messageStoragePolicy</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicMessageStoragePolicy">PubsubTopicMessageStoragePolicy</a></code> | message_storage_policy block. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#project PubsubTopic#project}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.schemaSettings">schemaSettings</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicSchemaSettings">PubsubTopicSchemaSettings</a></code> | schema_settings block. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicTimeouts">PubsubTopicTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubTopicConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubTopicConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubTopicConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubTopicConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubTopicConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubTopicConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubTopicConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.PubsubTopicConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#name PubsubTopic#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#id PubsubTopic#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.PubsubTopicConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic.

Your project's PubSub service account
('service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com') must have
'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
The expected format is 'projects/*\/locations/*\/keyRings/*\/cryptoKeys/*'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#kms_key_name PubsubTopic#kms_key_name}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.PubsubTopicConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to this Topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#labels PubsubTopic#labels}

---

##### `messageRetentionDuration`<sup>Optional</sup> <a name="messageRetentionDuration" id="@dschmidt/provider-google.PubsubTopicConfig.property.messageRetentionDuration"></a>

```typescript
public readonly messageRetentionDuration: string;
```

- *Type:* string

Indicates the minimum duration to retain a message after it is published to the topic.

If this field is set, messages published to the topic in
the last messageRetentionDuration are always available to subscribers.
For instance, it allows any attached subscription to seek to a timestamp
that is up to messageRetentionDuration in the past. If this field is not
set, message retention is controlled by settings on individual subscriptions.
Cannot be more than 31 days or less than 10 minutes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#message_retention_duration PubsubTopic#message_retention_duration}

---

##### `messageStoragePolicy`<sup>Optional</sup> <a name="messageStoragePolicy" id="@dschmidt/provider-google.PubsubTopicConfig.property.messageStoragePolicy"></a>

```typescript
public readonly messageStoragePolicy: PubsubTopicMessageStoragePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicMessageStoragePolicy">PubsubTopicMessageStoragePolicy</a>

message_storage_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#message_storage_policy PubsubTopic#message_storage_policy}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubTopicConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#project PubsubTopic#project}.

---

##### `schemaSettings`<sup>Optional</sup> <a name="schemaSettings" id="@dschmidt/provider-google.PubsubTopicConfig.property.schemaSettings"></a>

```typescript
public readonly schemaSettings: PubsubTopicSchemaSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicSchemaSettings">PubsubTopicSchemaSettings</a>

schema_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#schema_settings PubsubTopic#schema_settings}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.PubsubTopicConfig.property.timeouts"></a>

```typescript
public readonly timeouts: PubsubTopicTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicTimeouts">PubsubTopicTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#timeouts PubsubTopic#timeouts}

---

### PubsubTopicIamBindingCondition <a name="PubsubTopicIamBindingCondition" id="@dschmidt/provider-google.PubsubTopicIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubTopicIamBindingCondition.Initializer"></a>

```typescript
import { PubsubTopicIamBindingCondition } from '@dschmidt/provider-google'

const pubsubTopicIamBindingCondition: PubsubTopicIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#expression PubsubTopicIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#title PubsubTopicIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#description PubsubTopicIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.PubsubTopicIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#expression PubsubTopicIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.PubsubTopicIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#title PubsubTopicIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PubsubTopicIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#description PubsubTopicIamBinding#description}.

---

### PubsubTopicIamBindingConfig <a name="PubsubTopicIamBindingConfig" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.Initializer"></a>

```typescript
import { PubsubTopicIamBindingConfig } from '@dschmidt/provider-google'

const pubsubTopicIamBindingConfig: PubsubTopicIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#members PubsubTopicIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#role PubsubTopicIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.topic">topic</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#topic PubsubTopicIamBinding#topic}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingCondition">PubsubTopicIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#id PubsubTopicIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#project PubsubTopicIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#members PubsubTopicIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#role PubsubTopicIamBinding#role}.

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#topic PubsubTopicIamBinding#topic}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: PubsubTopicIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamBindingCondition">PubsubTopicIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#condition PubsubTopicIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#id PubsubTopicIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubTopicIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_binding#project PubsubTopicIamBinding#project}.

---

### PubsubTopicIamMemberCondition <a name="PubsubTopicIamMemberCondition" id="@dschmidt/provider-google.PubsubTopicIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubTopicIamMemberCondition.Initializer"></a>

```typescript
import { PubsubTopicIamMemberCondition } from '@dschmidt/provider-google'

const pubsubTopicIamMemberCondition: PubsubTopicIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#expression PubsubTopicIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#title PubsubTopicIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#description PubsubTopicIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.PubsubTopicIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#expression PubsubTopicIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.PubsubTopicIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#title PubsubTopicIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.PubsubTopicIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#description PubsubTopicIamMember#description}.

---

### PubsubTopicIamMemberConfig <a name="PubsubTopicIamMemberConfig" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.Initializer"></a>

```typescript
import { PubsubTopicIamMemberConfig } from '@dschmidt/provider-google'

const pubsubTopicIamMemberConfig: PubsubTopicIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#member PubsubTopicIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#role PubsubTopicIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.topic">topic</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#topic PubsubTopicIamMember#topic}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberCondition">PubsubTopicIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#id PubsubTopicIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#project PubsubTopicIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#member PubsubTopicIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#role PubsubTopicIamMember#role}.

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#topic PubsubTopicIamMember#topic}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: PubsubTopicIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.PubsubTopicIamMemberCondition">PubsubTopicIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#condition PubsubTopicIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#id PubsubTopicIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubTopicIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_member#project PubsubTopicIamMember#project}.

---

### PubsubTopicIamPolicyConfig <a name="PubsubTopicIamPolicyConfig" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.Initializer"></a>

```typescript
import { PubsubTopicIamPolicyConfig } from '@dschmidt/provider-google'

const pubsubTopicIamPolicyConfig: PubsubTopicIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_policy#policy_data PubsubTopicIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.topic">topic</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_policy#topic PubsubTopicIamPolicy#topic}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_policy#id PubsubTopicIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_policy#project PubsubTopicIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_policy#policy_data PubsubTopicIamPolicy#policy_data}.

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_policy#topic PubsubTopicIamPolicy#topic}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_policy#id PubsubTopicIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.PubsubTopicIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic_iam_policy#project PubsubTopicIamPolicy#project}.

---

### PubsubTopicMessageStoragePolicy <a name="PubsubTopicMessageStoragePolicy" id="@dschmidt/provider-google.PubsubTopicMessageStoragePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubTopicMessageStoragePolicy.Initializer"></a>

```typescript
import { PubsubTopicMessageStoragePolicy } from '@dschmidt/provider-google'

const pubsubTopicMessageStoragePolicy: PubsubTopicMessageStoragePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicMessageStoragePolicy.property.allowedPersistenceRegions">allowedPersistenceRegions</a></code> | <code>string[]</code> | A list of IDs of GCP regions where messages that are published to the topic may be persisted in storage. |

---

##### `allowedPersistenceRegions`<sup>Required</sup> <a name="allowedPersistenceRegions" id="@dschmidt/provider-google.PubsubTopicMessageStoragePolicy.property.allowedPersistenceRegions"></a>

```typescript
public readonly allowedPersistenceRegions: string[];
```

- *Type:* string[]

A list of IDs of GCP regions where messages that are published to the topic may be persisted in storage.

Messages published by
publishers running in non-allowed GCP regions (or running outside
of GCP altogether) will be routed for storage in one of the
allowed regions. An empty list means that no regions are allowed,
and is not a valid configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#allowed_persistence_regions PubsubTopic#allowed_persistence_regions}

---

### PubsubTopicSchemaSettings <a name="PubsubTopicSchemaSettings" id="@dschmidt/provider-google.PubsubTopicSchemaSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubTopicSchemaSettings.Initializer"></a>

```typescript
import { PubsubTopicSchemaSettings } from '@dschmidt/provider-google'

const pubsubTopicSchemaSettings: PubsubTopicSchemaSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicSchemaSettings.property.schema">schema</a></code> | <code>string</code> | The name of the schema that messages published should be validated against. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicSchemaSettings.property.encoding">encoding</a></code> | <code>string</code> | The encoding of messages validated against schema. Default value: "ENCODING_UNSPECIFIED" Possible values: ["ENCODING_UNSPECIFIED", "JSON", "BINARY"]. |

---

##### `schema`<sup>Required</sup> <a name="schema" id="@dschmidt/provider-google.PubsubTopicSchemaSettings.property.schema"></a>

```typescript
public readonly schema: string;
```

- *Type:* string

The name of the schema that messages published should be validated against.

Format is projects/{project}/schemas/{schema}.
The value of this field will be _deleted-schema_
if the schema has been deleted.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#schema PubsubTopic#schema}

---

##### `encoding`<sup>Optional</sup> <a name="encoding" id="@dschmidt/provider-google.PubsubTopicSchemaSettings.property.encoding"></a>

```typescript
public readonly encoding: string;
```

- *Type:* string

The encoding of messages validated against schema. Default value: "ENCODING_UNSPECIFIED" Possible values: ["ENCODING_UNSPECIFIED", "JSON", "BINARY"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#encoding PubsubTopic#encoding}

---

### PubsubTopicTimeouts <a name="PubsubTopicTimeouts" id="@dschmidt/provider-google.PubsubTopicTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.PubsubTopicTimeouts.Initializer"></a>

```typescript
import { PubsubTopicTimeouts } from '@dschmidt/provider-google'

const pubsubTopicTimeouts: PubsubTopicTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.PubsubTopicTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#create PubsubTopic#create}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#delete PubsubTopic#delete}. |
| <code><a href="#@dschmidt/provider-google.PubsubTopicTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#update PubsubTopic#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.PubsubTopicTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#create PubsubTopic#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.PubsubTopicTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#delete PubsubTopic#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.PubsubTopicTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/pubsub_topic#update PubsubTopic#update}.

---

### RecaptchaEnterpriseKeyAndroidSettings <a name="RecaptchaEnterpriseKeyAndroidSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings.Initializer"></a>

```typescript
import { RecaptchaEnterpriseKeyAndroidSettings } from '@dschmidt/provider-google'

const recaptchaEnterpriseKeyAndroidSettings: RecaptchaEnterpriseKeyAndroidSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings.property.allowAllPackageNames">allowAllPackageNames</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, it means allowed_package_names will not be enforced. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings.property.allowedPackageNames">allowedPackageNames</a></code> | <code>string[]</code> | Android package names of apps allowed to use the key. Example: 'com.companyname.appname'. |

---

##### `allowAllPackageNames`<sup>Optional</sup> <a name="allowAllPackageNames" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings.property.allowAllPackageNames"></a>

```typescript
public readonly allowAllPackageNames: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, it means allowed_package_names will not be enforced.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#allow_all_package_names RecaptchaEnterpriseKey#allow_all_package_names}

---

##### `allowedPackageNames`<sup>Optional</sup> <a name="allowedPackageNames" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings.property.allowedPackageNames"></a>

```typescript
public readonly allowedPackageNames: string[];
```

- *Type:* string[]

Android package names of apps allowed to use the key. Example: 'com.companyname.appname'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#allowed_package_names RecaptchaEnterpriseKey#allowed_package_names}

---

### RecaptchaEnterpriseKeyConfig <a name="RecaptchaEnterpriseKeyConfig" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.Initializer"></a>

```typescript
import { RecaptchaEnterpriseKeyConfig } from '@dschmidt/provider-google'

const recaptchaEnterpriseKeyConfig: RecaptchaEnterpriseKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.displayName">displayName</a></code> | <code>string</code> | Human-readable display name of this key. Modifiable by user. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.androidSettings">androidSettings</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings">RecaptchaEnterpriseKeyAndroidSettings</a></code> | android_settings block. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#id RecaptchaEnterpriseKey#id}. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.iosSettings">iosSettings</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings">RecaptchaEnterpriseKeyIosSettings</a></code> | ios_settings block. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | See [Creating and managing labels](https://cloud.google.com/recaptcha-enterprise/docs/labels). |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.project">project</a></code> | <code>string</code> | The project for the resource. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.testingOptions">testingOptions</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions">RecaptchaEnterpriseKeyTestingOptions</a></code> | testing_options block. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts">RecaptchaEnterpriseKeyTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.webSettings">webSettings</a></code> | <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings">RecaptchaEnterpriseKeyWebSettings</a></code> | web_settings block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

Human-readable display name of this key. Modifiable by user.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#display_name RecaptchaEnterpriseKey#display_name}

---

##### `androidSettings`<sup>Optional</sup> <a name="androidSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.androidSettings"></a>

```typescript
public readonly androidSettings: RecaptchaEnterpriseKeyAndroidSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyAndroidSettings">RecaptchaEnterpriseKeyAndroidSettings</a>

android_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#android_settings RecaptchaEnterpriseKey#android_settings}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#id RecaptchaEnterpriseKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `iosSettings`<sup>Optional</sup> <a name="iosSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.iosSettings"></a>

```typescript
public readonly iosSettings: RecaptchaEnterpriseKeyIosSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings">RecaptchaEnterpriseKeyIosSettings</a>

ios_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#ios_settings RecaptchaEnterpriseKey#ios_settings}

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

See [Creating and managing labels](https://cloud.google.com/recaptcha-enterprise/docs/labels).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#labels RecaptchaEnterpriseKey#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project for the resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#project RecaptchaEnterpriseKey#project}

---

##### `testingOptions`<sup>Optional</sup> <a name="testingOptions" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.testingOptions"></a>

```typescript
public readonly testingOptions: RecaptchaEnterpriseKeyTestingOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions">RecaptchaEnterpriseKeyTestingOptions</a>

testing_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#testing_options RecaptchaEnterpriseKey#testing_options}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: RecaptchaEnterpriseKeyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts">RecaptchaEnterpriseKeyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#timeouts RecaptchaEnterpriseKey#timeouts}

---

##### `webSettings`<sup>Optional</sup> <a name="webSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyConfig.property.webSettings"></a>

```typescript
public readonly webSettings: RecaptchaEnterpriseKeyWebSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings">RecaptchaEnterpriseKeyWebSettings</a>

web_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#web_settings RecaptchaEnterpriseKey#web_settings}

---

### RecaptchaEnterpriseKeyIosSettings <a name="RecaptchaEnterpriseKeyIosSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings.Initializer"></a>

```typescript
import { RecaptchaEnterpriseKeyIosSettings } from '@dschmidt/provider-google'

const recaptchaEnterpriseKeyIosSettings: RecaptchaEnterpriseKeyIosSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings.property.allowAllBundleIds">allowAllBundleIds</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, it means allowed_bundle_ids will not be enforced. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings.property.allowedBundleIds">allowedBundleIds</a></code> | <code>string[]</code> | iOS bundle ids of apps allowed to use the key. Example: 'com.companyname.productname.appname'. |

---

##### `allowAllBundleIds`<sup>Optional</sup> <a name="allowAllBundleIds" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings.property.allowAllBundleIds"></a>

```typescript
public readonly allowAllBundleIds: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, it means allowed_bundle_ids will not be enforced.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#allow_all_bundle_ids RecaptchaEnterpriseKey#allow_all_bundle_ids}

---

##### `allowedBundleIds`<sup>Optional</sup> <a name="allowedBundleIds" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyIosSettings.property.allowedBundleIds"></a>

```typescript
public readonly allowedBundleIds: string[];
```

- *Type:* string[]

iOS bundle ids of apps allowed to use the key. Example: 'com.companyname.productname.appname'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#allowed_bundle_ids RecaptchaEnterpriseKey#allowed_bundle_ids}

---

### RecaptchaEnterpriseKeyTestingOptions <a name="RecaptchaEnterpriseKeyTestingOptions" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions.Initializer"></a>

```typescript
import { RecaptchaEnterpriseKeyTestingOptions } from '@dschmidt/provider-google'

const recaptchaEnterpriseKeyTestingOptions: RecaptchaEnterpriseKeyTestingOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions.property.testingChallenge">testingChallenge</a></code> | <code>string</code> | For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if UNSOLVABLE_CHALLENGE. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions.property.testingScore">testingScore</a></code> | <code>number</code> | All assessments for this Key will return this score. |

---

##### `testingChallenge`<sup>Optional</sup> <a name="testingChallenge" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions.property.testingChallenge"></a>

```typescript
public readonly testingChallenge: string;
```

- *Type:* string

For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if UNSOLVABLE_CHALLENGE.

Possible values: TESTING_CHALLENGE_UNSPECIFIED, NOCAPTCHA, UNSOLVABLE_CHALLENGE

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#testing_challenge RecaptchaEnterpriseKey#testing_challenge}

---

##### `testingScore`<sup>Optional</sup> <a name="testingScore" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyTestingOptions.property.testingScore"></a>

```typescript
public readonly testingScore: number;
```

- *Type:* number

All assessments for this Key will return this score.

Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#testing_score RecaptchaEnterpriseKey#testing_score}

---

### RecaptchaEnterpriseKeyTimeouts <a name="RecaptchaEnterpriseKeyTimeouts" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts.Initializer"></a>

```typescript
import { RecaptchaEnterpriseKeyTimeouts } from '@dschmidt/provider-google'

const recaptchaEnterpriseKeyTimeouts: RecaptchaEnterpriseKeyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#create RecaptchaEnterpriseKey#create}. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#delete RecaptchaEnterpriseKey#delete}. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#update RecaptchaEnterpriseKey#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#create RecaptchaEnterpriseKey#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#delete RecaptchaEnterpriseKey#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#update RecaptchaEnterpriseKey#update}.

---

### RecaptchaEnterpriseKeyWebSettings <a name="RecaptchaEnterpriseKeyWebSettings" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.Initializer"></a>

```typescript
import { RecaptchaEnterpriseKeyWebSettings } from '@dschmidt/provider-google'

const recaptchaEnterpriseKeyWebSettings: RecaptchaEnterpriseKeyWebSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.integrationType">integrationType</a></code> | <code>string</code> | Required. Describes how this key is integrated with the website. Possible values: SCORE, CHECKBOX, INVISIBLE. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.allowAllDomains">allowAllDomains</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, it means allowed_domains will not be enforced. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.allowAmpTraffic">allowAmpTraffic</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the key can be used on AMP (Accelerated Mobile Pages) websites. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.allowedDomains">allowedDomains</a></code> | <code>string[]</code> | Domains or subdomains of websites allowed to use the key. |
| <code><a href="#@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.challengeSecurityPreference">challengeSecurityPreference</a></code> | <code>string</code> | Settings for the frequency and difficulty at which this key triggers captcha challenges. |

---

##### `integrationType`<sup>Required</sup> <a name="integrationType" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.integrationType"></a>

```typescript
public readonly integrationType: string;
```

- *Type:* string

Required. Describes how this key is integrated with the website. Possible values: SCORE, CHECKBOX, INVISIBLE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#integration_type RecaptchaEnterpriseKey#integration_type}

---

##### `allowAllDomains`<sup>Optional</sup> <a name="allowAllDomains" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.allowAllDomains"></a>

```typescript
public readonly allowAllDomains: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, it means allowed_domains will not be enforced.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#allow_all_domains RecaptchaEnterpriseKey#allow_all_domains}

---

##### `allowAmpTraffic`<sup>Optional</sup> <a name="allowAmpTraffic" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.allowAmpTraffic"></a>

```typescript
public readonly allowAmpTraffic: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the key can be used on AMP (Accelerated Mobile Pages) websites.

This is supported only for the SCORE integration type.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#allow_amp_traffic RecaptchaEnterpriseKey#allow_amp_traffic}

---

##### `allowedDomains`<sup>Optional</sup> <a name="allowedDomains" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.allowedDomains"></a>

```typescript
public readonly allowedDomains: string[];
```

- *Type:* string[]

Domains or subdomains of websites allowed to use the key.

All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: 'example.com' or 'subdomain.example.com'

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#allowed_domains RecaptchaEnterpriseKey#allowed_domains}

---

##### `challengeSecurityPreference`<sup>Optional</sup> <a name="challengeSecurityPreference" id="@dschmidt/provider-google.RecaptchaEnterpriseKeyWebSettings.property.challengeSecurityPreference"></a>

```typescript
public readonly challengeSecurityPreference: string;
```

- *Type:* string

Settings for the frequency and difficulty at which this key triggers captcha challenges.

This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE. Possible values: CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED, USABILITY, BALANCE, SECURITY

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/recaptcha_enterprise_key#challenge_security_preference RecaptchaEnterpriseKey#challenge_security_preference}

---

### RedisInstanceConfig <a name="RedisInstanceConfig" id="@dschmidt/provider-google.RedisInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RedisInstanceConfig.Initializer"></a>

```typescript
import { RedisInstanceConfig } from '@dschmidt/provider-google'

const redisInstanceConfig: RedisInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.memorySizeGb">memorySizeGb</a></code> | <code>number</code> | Redis memory size in GiB. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.name">name</a></code> | <code>string</code> | The ID of the instance or a fully qualified identifier for the instance. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.alternativeLocationId">alternativeLocationId</a></code> | <code>string</code> | Only applicable to STANDARD_HA tier which protects the instance against zonal failures by provisioning it across two zones. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.authEnabled">authEnabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.authorizedNetwork">authorizedNetwork</a></code> | <code>string</code> | The full name of the Google Compute Engine network to which the instance is connected. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.connectMode">connectMode</a></code> | <code>string</code> | The connection mode of the Redis instance. Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", "PRIVATE_SERVICE_ACCESS"]. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.customerManagedKey">customerManagedKey</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.displayName">displayName</a></code> | <code>string</code> | An arbitrary and optional user-provided name for the instance. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#id RedisInstance#id}. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Resource labels to represent user provided metadata. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.locationId">locationId</a></code> | <code>string</code> | The zone where the instance will be provisioned. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.maintenancePolicy">maintenancePolicy</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicy">RedisInstanceMaintenancePolicy</a></code> | maintenance_policy block. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.maintenanceSchedule">maintenanceSchedule</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenanceSchedule">RedisInstanceMaintenanceSchedule</a></code> | maintenance_schedule block. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#project RedisInstance#project}. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.readReplicasMode">readReplicasMode</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.redisConfigs">redisConfigs</a></code> | <code>{[ key: string ]: string}</code> | Redis configuration parameters, according to http://redis.io/topics/config. Please check Memorystore documentation for the list of supported parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.redisVersion">redisVersion</a></code> | <code>string</code> | The version of Redis software. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.region">region</a></code> | <code>string</code> | The name of the Redis region of the instance. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.replicaCount">replicaCount</a></code> | <code>number</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.reservedIpRange">reservedIpRange</a></code> | <code>string</code> | The CIDR range of internal addresses that are reserved for this instance. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.secondaryIpRange">secondaryIpRange</a></code> | <code>string</code> | Optional. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.tier">tier</a></code> | <code>string</code> | The service tier of the instance. Must be one of these values:. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceTimeouts">RedisInstanceTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceConfig.property.transitEncryptionMode">transitEncryptionMode</a></code> | <code>string</code> | The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.RedisInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.RedisInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.RedisInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.RedisInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.RedisInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.RedisInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.RedisInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `memorySizeGb`<sup>Required</sup> <a name="memorySizeGb" id="@dschmidt/provider-google.RedisInstanceConfig.property.memorySizeGb"></a>

```typescript
public readonly memorySizeGb: number;
```

- *Type:* number

Redis memory size in GiB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#memory_size_gb RedisInstance#memory_size_gb}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.RedisInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The ID of the instance or a fully qualified identifier for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#name RedisInstance#name}

---

##### `alternativeLocationId`<sup>Optional</sup> <a name="alternativeLocationId" id="@dschmidt/provider-google.RedisInstanceConfig.property.alternativeLocationId"></a>

```typescript
public readonly alternativeLocationId: string;
```

- *Type:* string

Only applicable to STANDARD_HA tier which protects the instance against zonal failures by provisioning it across two zones.

If provided, it must be a different zone from the one provided in
[locationId].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#alternative_location_id RedisInstance#alternative_location_id}

---

##### `authEnabled`<sup>Optional</sup> <a name="authEnabled" id="@dschmidt/provider-google.RedisInstanceConfig.property.authEnabled"></a>

```typescript
public readonly authEnabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Optional.

Indicates whether OSS Redis AUTH is enabled for the
instance. If set to "true" AUTH is enabled on the instance.
Default value is "false" meaning AUTH is disabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#auth_enabled RedisInstance#auth_enabled}

---

##### `authorizedNetwork`<sup>Optional</sup> <a name="authorizedNetwork" id="@dschmidt/provider-google.RedisInstanceConfig.property.authorizedNetwork"></a>

```typescript
public readonly authorizedNetwork: string;
```

- *Type:* string

The full name of the Google Compute Engine network to which the instance is connected.

If left unspecified, the default network
will be used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#authorized_network RedisInstance#authorized_network}

---

##### `connectMode`<sup>Optional</sup> <a name="connectMode" id="@dschmidt/provider-google.RedisInstanceConfig.property.connectMode"></a>

```typescript
public readonly connectMode: string;
```

- *Type:* string

The connection mode of the Redis instance. Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", "PRIVATE_SERVICE_ACCESS"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#connect_mode RedisInstance#connect_mode}

---

##### `customerManagedKey`<sup>Optional</sup> <a name="customerManagedKey" id="@dschmidt/provider-google.RedisInstanceConfig.property.customerManagedKey"></a>

```typescript
public readonly customerManagedKey: string;
```

- *Type:* string

Optional.

The KMS key reference that you want to use to encrypt the data at rest for this Redis
instance. If this is provided, CMEK is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#customer_managed_key RedisInstance#customer_managed_key}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.RedisInstanceConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

An arbitrary and optional user-provided name for the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#display_name RedisInstance#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.RedisInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#id RedisInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.RedisInstanceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Resource labels to represent user provided metadata.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#labels RedisInstance#labels}

---

##### `locationId`<sup>Optional</sup> <a name="locationId" id="@dschmidt/provider-google.RedisInstanceConfig.property.locationId"></a>

```typescript
public readonly locationId: string;
```

- *Type:* string

The zone where the instance will be provisioned.

If not provided,
the service will choose a zone for the instance. For STANDARD_HA tier,
instances will be created across two zones for protection against
zonal failures. If [alternativeLocationId] is also provided, it must
be different from [locationId].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#location_id RedisInstance#location_id}

---

##### `maintenancePolicy`<sup>Optional</sup> <a name="maintenancePolicy" id="@dschmidt/provider-google.RedisInstanceConfig.property.maintenancePolicy"></a>

```typescript
public readonly maintenancePolicy: RedisInstanceMaintenancePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicy">RedisInstanceMaintenancePolicy</a>

maintenance_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#maintenance_policy RedisInstance#maintenance_policy}

---

##### `maintenanceSchedule`<sup>Optional</sup> <a name="maintenanceSchedule" id="@dschmidt/provider-google.RedisInstanceConfig.property.maintenanceSchedule"></a>

```typescript
public readonly maintenanceSchedule: RedisInstanceMaintenanceSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceMaintenanceSchedule">RedisInstanceMaintenanceSchedule</a>

maintenance_schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#maintenance_schedule RedisInstance#maintenance_schedule}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.RedisInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#project RedisInstance#project}.

---

##### `readReplicasMode`<sup>Optional</sup> <a name="readReplicasMode" id="@dschmidt/provider-google.RedisInstanceConfig.property.readReplicasMode"></a>

```typescript
public readonly readReplicasMode: string;
```

- *Type:* string

Optional.

Read replica mode. Can only be specified when trying to create the instance.
If not set, Memorystore Redis backend will default to READ_REPLICAS_DISABLED.
- READ_REPLICAS_DISABLED: If disabled, read endpoint will not be provided and the 
instance cannot scale up or down the number of replicas.
- READ_REPLICAS_ENABLED: If enabled, read endpoint will be provided and the instance 
can scale up and down the number of replicas. Possible values: ["READ_REPLICAS_DISABLED", "READ_REPLICAS_ENABLED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#read_replicas_mode RedisInstance#read_replicas_mode}

---

##### `redisConfigs`<sup>Optional</sup> <a name="redisConfigs" id="@dschmidt/provider-google.RedisInstanceConfig.property.redisConfigs"></a>

```typescript
public readonly redisConfigs: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Redis configuration parameters, according to http://redis.io/topics/config. Please check Memorystore documentation for the list of supported parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#redis_configs RedisInstance#redis_configs}

---

##### `redisVersion`<sup>Optional</sup> <a name="redisVersion" id="@dschmidt/provider-google.RedisInstanceConfig.property.redisVersion"></a>

```typescript
public readonly redisVersion: string;
```

- *Type:* string

The version of Redis software.

If not provided, latest supported
version will be used. Please check the API documentation linked 
at the top for the latest valid values.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#redis_version RedisInstance#redis_version}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.RedisInstanceConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The name of the Redis region of the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#region RedisInstance#region}

---

##### `replicaCount`<sup>Optional</sup> <a name="replicaCount" id="@dschmidt/provider-google.RedisInstanceConfig.property.replicaCount"></a>

```typescript
public readonly replicaCount: number;
```

- *Type:* number

Optional.

The number of replica nodes. The valid range for the Standard Tier with 
read replicas enabled is [1-5] and defaults to 2. If read replicas are not enabled
for a Standard Tier instance, the only valid value is 1 and the default is 1. 
The valid value for basic tier is 0 and the default is also 0.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#replica_count RedisInstance#replica_count}

---

##### `reservedIpRange`<sup>Optional</sup> <a name="reservedIpRange" id="@dschmidt/provider-google.RedisInstanceConfig.property.reservedIpRange"></a>

```typescript
public readonly reservedIpRange: string;
```

- *Type:* string

The CIDR range of internal addresses that are reserved for this instance.

If not provided, the service will choose an unused /29
block, for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be
unique and non-overlapping with existing subnets in an authorized
network.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#reserved_ip_range RedisInstance#reserved_ip_range}

---

##### `secondaryIpRange`<sup>Optional</sup> <a name="secondaryIpRange" id="@dschmidt/provider-google.RedisInstanceConfig.property.secondaryIpRange"></a>

```typescript
public readonly secondaryIpRange: string;
```

- *Type:* string

Optional.

Additional IP range for node placement. Required when enabling read replicas on
an existing instance. For DIRECT_PEERING mode value must be a CIDR range of size /28, or
"auto". For PRIVATE_SERVICE_ACCESS mode value must be the name of an allocated address 
range associated with the private service access connection, or "auto".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#secondary_ip_range RedisInstance#secondary_ip_range}

---

##### `tier`<sup>Optional</sup> <a name="tier" id="@dschmidt/provider-google.RedisInstanceConfig.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

The service tier of the instance. Must be one of these values:.

BASIC: standalone instance
- STANDARD_HA: highly available primary/replica instances Default value: "BASIC" Possible values: ["BASIC", "STANDARD_HA"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#tier RedisInstance#tier}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.RedisInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: RedisInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceTimeouts">RedisInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#timeouts RedisInstance#timeouts}

---

##### `transitEncryptionMode`<sup>Optional</sup> <a name="transitEncryptionMode" id="@dschmidt/provider-google.RedisInstanceConfig.property.transitEncryptionMode"></a>

```typescript
public readonly transitEncryptionMode: string;
```

- *Type:* string

The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance.

SERVER_AUTHENTICATION: Client to Server traffic encryption enabled with server authentication Default value: "DISABLED" Possible values: ["SERVER_AUTHENTICATION", "DISABLED"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#transit_encryption_mode RedisInstance#transit_encryption_mode}

---

### RedisInstanceMaintenancePolicy <a name="RedisInstanceMaintenancePolicy" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicy.Initializer"></a>

```typescript
import { RedisInstanceMaintenancePolicy } from '@dschmidt/provider-google'

const redisInstanceMaintenancePolicy: RedisInstanceMaintenancePolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicy.property.description">description</a></code> | <code>string</code> | Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicy.property.weeklyMaintenanceWindow">weeklyMaintenanceWindow</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow">RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow</a>[]</code> | weekly_maintenance_window block. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicy.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#description RedisInstance#description}

---

##### `weeklyMaintenanceWindow`<sup>Optional</sup> <a name="weeklyMaintenanceWindow" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicy.property.weeklyMaintenanceWindow"></a>

```typescript
public readonly weeklyMaintenanceWindow: IResolvable | RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow">RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow</a>[]

weekly_maintenance_window block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#weekly_maintenance_window RedisInstance#weekly_maintenance_window}

---

### RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow <a name="RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow.Initializer"></a>

```typescript
import { RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow } from '@dschmidt/provider-google'

const redisInstanceMaintenancePolicyWeeklyMaintenanceWindow: RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.day">day</a></code> | <code>string</code> | Required. The day of week that maintenance updates occur. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.startTime">startTime</a></code> | <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime">RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime</a></code> | start_time block. |

---

##### `day`<sup>Required</sup> <a name="day" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.day"></a>

```typescript
public readonly day: string;
```

- *Type:* string

Required. The day of week that maintenance updates occur.

DAY_OF_WEEK_UNSPECIFIED: The day of the week is unspecified.
- MONDAY: Monday
- TUESDAY: Tuesday
- WEDNESDAY: Wednesday
- THURSDAY: Thursday
- FRIDAY: Friday
- SATURDAY: Saturday
- SUNDAY: Sunday Possible values: ["DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#day RedisInstance#day}

---

##### `startTime`<sup>Required</sup> <a name="startTime" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindow.property.startTime"></a>

```typescript
public readonly startTime: RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime;
```

- *Type:* <a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime">RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime</a>

start_time block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#start_time RedisInstance#start_time}

---

### RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime <a name="RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.Initializer"></a>

```typescript
import { RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime } from '@dschmidt/provider-google'

const redisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime: RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.hours">hours</a></code> | <code>number</code> | Hours of day in 24 hour format. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.minutes">minutes</a></code> | <code>number</code> | Minutes of hour of day. Must be from 0 to 59. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.nanos">nanos</a></code> | <code>number</code> | Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.seconds">seconds</a></code> | <code>number</code> | Seconds of minutes of the time. |

---

##### `hours`<sup>Optional</sup> <a name="hours" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.hours"></a>

```typescript
public readonly hours: number;
```

- *Type:* number

Hours of day in 24 hour format.

Should be from 0 to 23.
An API may choose to allow the value "24:00:00" for scenarios like business closing time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#hours RedisInstance#hours}

---

##### `minutes`<sup>Optional</sup> <a name="minutes" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.minutes"></a>

```typescript
public readonly minutes: number;
```

- *Type:* number

Minutes of hour of day. Must be from 0 to 59.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#minutes RedisInstance#minutes}

---

##### `nanos`<sup>Optional</sup> <a name="nanos" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#nanos RedisInstance#nanos}

---

##### `seconds`<sup>Optional</sup> <a name="seconds" id="@dschmidt/provider-google.RedisInstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Seconds of minutes of the time.

Must normally be from 0 to 59.
An API may allow the value 60 if it allows leap-seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#seconds RedisInstance#seconds}

---

### RedisInstanceMaintenanceSchedule <a name="RedisInstanceMaintenanceSchedule" id="@dschmidt/provider-google.RedisInstanceMaintenanceSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RedisInstanceMaintenanceSchedule.Initializer"></a>

```typescript
import { RedisInstanceMaintenanceSchedule } from '@dschmidt/provider-google'

const redisInstanceMaintenanceSchedule: RedisInstanceMaintenanceSchedule = { ... }
```


### RedisInstanceNodes <a name="RedisInstanceNodes" id="@dschmidt/provider-google.RedisInstanceNodes"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RedisInstanceNodes.Initializer"></a>

```typescript
import { RedisInstanceNodes } from '@dschmidt/provider-google'

const redisInstanceNodes: RedisInstanceNodes = { ... }
```


### RedisInstanceServerCaCerts <a name="RedisInstanceServerCaCerts" id="@dschmidt/provider-google.RedisInstanceServerCaCerts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RedisInstanceServerCaCerts.Initializer"></a>

```typescript
import { RedisInstanceServerCaCerts } from '@dschmidt/provider-google'

const redisInstanceServerCaCerts: RedisInstanceServerCaCerts = { ... }
```


### RedisInstanceTimeouts <a name="RedisInstanceTimeouts" id="@dschmidt/provider-google.RedisInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.RedisInstanceTimeouts.Initializer"></a>

```typescript
import { RedisInstanceTimeouts } from '@dschmidt/provider-google'

const redisInstanceTimeouts: RedisInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.RedisInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#create RedisInstance#create}. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#delete RedisInstance#delete}. |
| <code><a href="#@dschmidt/provider-google.RedisInstanceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#update RedisInstance#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.RedisInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#create RedisInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.RedisInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#delete RedisInstance#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.RedisInstanceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/redis_instance#update RedisInstance#update}.

---

### ResourceManagerLienConfig <a name="ResourceManagerLienConfig" id="@dschmidt/provider-google.ResourceManagerLienConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ResourceManagerLienConfig.Initializer"></a>

```typescript
import { ResourceManagerLienConfig } from '@dschmidt/provider-google'

const resourceManagerLienConfig: ResourceManagerLienConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.origin">origin</a></code> | <code>string</code> | A stable, user-visible/meaningful string identifying the origin of the Lien, intended to be inspected programmatically. Maximum length of 200 characters. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.parent">parent</a></code> | <code>string</code> | A reference to the resource this Lien is attached to. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.reason">reason</a></code> | <code>string</code> | Concise user-visible strings indicating why an action cannot be performed on a resource. Maximum length of 200 characters. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.restrictions">restrictions</a></code> | <code>string[]</code> | The types of operations which should be blocked as a result of this Lien. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#id ResourceManagerLien#id}. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ResourceManagerLienTimeouts">ResourceManagerLienTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `origin`<sup>Required</sup> <a name="origin" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.origin"></a>

```typescript
public readonly origin: string;
```

- *Type:* string

A stable, user-visible/meaningful string identifying the origin of the Lien, intended to be inspected programmatically. Maximum length of 200 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#origin ResourceManagerLien#origin}

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

A reference to the resource this Lien is attached to.

The server will validate the parent against those for which Liens are supported.
Since a variety of objects can have Liens against them, you must provide the type
prefix (e.g. "projects/my-project-name").

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#parent ResourceManagerLien#parent}

---

##### `reason`<sup>Required</sup> <a name="reason" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.reason"></a>

```typescript
public readonly reason: string;
```

- *Type:* string

Concise user-visible strings indicating why an action cannot be performed on a resource. Maximum length of 200 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#reason ResourceManagerLien#reason}

---

##### `restrictions`<sup>Required</sup> <a name="restrictions" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.restrictions"></a>

```typescript
public readonly restrictions: string[];
```

- *Type:* string[]

The types of operations which should be blocked as a result of this Lien.

Each value should correspond to an IAM permission. The server will validate
the permissions against those for which Liens are supported.  An empty
list is meaningless and will be rejected.
e.g. ['resourcemanager.projects.delete']

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#restrictions ResourceManagerLien#restrictions}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#id ResourceManagerLien#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ResourceManagerLienConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ResourceManagerLienTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ResourceManagerLienTimeouts">ResourceManagerLienTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#timeouts ResourceManagerLien#timeouts}

---

### ResourceManagerLienTimeouts <a name="ResourceManagerLienTimeouts" id="@dschmidt/provider-google.ResourceManagerLienTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ResourceManagerLienTimeouts.Initializer"></a>

```typescript
import { ResourceManagerLienTimeouts } from '@dschmidt/provider-google'

const resourceManagerLienTimeouts: ResourceManagerLienTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#create ResourceManagerLien#create}. |
| <code><a href="#@dschmidt/provider-google.ResourceManagerLienTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#delete ResourceManagerLien#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ResourceManagerLienTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#create ResourceManagerLien#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ResourceManagerLienTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/resource_manager_lien#delete ResourceManagerLien#delete}.

---

### SccNotificationConfigConfig <a name="SccNotificationConfigConfig" id="@dschmidt/provider-google.SccNotificationConfigConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SccNotificationConfigConfig.Initializer"></a>

```typescript
import { SccNotificationConfigConfig } from '@dschmidt/provider-google'

const sccNotificationConfigConfig: SccNotificationConfigConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.configId">configId</a></code> | <code>string</code> | This must be unique within the organization. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.organization">organization</a></code> | <code>string</code> | The organization whose Cloud Security Command Center the Notification Config lives in. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.pubsubTopic">pubsubTopic</a></code> | <code>string</code> | The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.streamingConfig">streamingConfig</a></code> | <code><a href="#@dschmidt/provider-google.SccNotificationConfigStreamingConfig">SccNotificationConfigStreamingConfig</a></code> | streaming_config block. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.description">description</a></code> | <code>string</code> | The description of the notification config (max of 1024 characters). |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#id SccNotificationConfig#id}. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SccNotificationConfigTimeouts">SccNotificationConfigTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `configId`<sup>Required</sup> <a name="configId" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.configId"></a>

```typescript
public readonly configId: string;
```

- *Type:* string

This must be unique within the organization.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#config_id SccNotificationConfig#config_id}

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

The organization whose Cloud Security Command Center the Notification Config lives in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#organization SccNotificationConfig#organization}

---

##### `pubsubTopic`<sup>Required</sup> <a name="pubsubTopic" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.pubsubTopic"></a>

```typescript
public readonly pubsubTopic: string;
```

- *Type:* string

The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#pubsub_topic SccNotificationConfig#pubsub_topic}

---

##### `streamingConfig`<sup>Required</sup> <a name="streamingConfig" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.streamingConfig"></a>

```typescript
public readonly streamingConfig: SccNotificationConfigStreamingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.SccNotificationConfigStreamingConfig">SccNotificationConfigStreamingConfig</a>

streaming_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#streaming_config SccNotificationConfig#streaming_config}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The description of the notification config (max of 1024 characters).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#description SccNotificationConfig#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#id SccNotificationConfig#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SccNotificationConfigConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SccNotificationConfigTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SccNotificationConfigTimeouts">SccNotificationConfigTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#timeouts SccNotificationConfig#timeouts}

---

### SccNotificationConfigStreamingConfig <a name="SccNotificationConfigStreamingConfig" id="@dschmidt/provider-google.SccNotificationConfigStreamingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SccNotificationConfigStreamingConfig.Initializer"></a>

```typescript
import { SccNotificationConfigStreamingConfig } from '@dschmidt/provider-google'

const sccNotificationConfigStreamingConfig: SccNotificationConfigStreamingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigStreamingConfig.property.filter">filter</a></code> | <code>string</code> | Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. |

---

##### `filter`<sup>Required</sup> <a name="filter" id="@dschmidt/provider-google.SccNotificationConfigStreamingConfig.property.filter"></a>

```typescript
public readonly filter: string;
```

- *Type:* string

Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type.

The
expression is a list of zero or more restrictions combined via
logical operators AND and OR. Parentheses are supported, and OR
has higher precedence than AND.

Restrictions have the form <field> <operator> <value> and may have
a - character in front of them to indicate negation. The fields
map to those defined in the corresponding resource.

The supported operators are:

= for all value types.
>, <, >=, <= for integer values.
:, meaning substring matching, for strings.

The supported value types are:

string literals in quotes.
integer literals without quotes.
boolean literals true and false without quotes.

See
[Filtering notifications](https://cloud.google.com/security-command-center/docs/how-to-api-filter-notifications)
for information on how to write a filter.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#filter SccNotificationConfig#filter}

---

### SccNotificationConfigTimeouts <a name="SccNotificationConfigTimeouts" id="@dschmidt/provider-google.SccNotificationConfigTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SccNotificationConfigTimeouts.Initializer"></a>

```typescript
import { SccNotificationConfigTimeouts } from '@dschmidt/provider-google'

const sccNotificationConfigTimeouts: SccNotificationConfigTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#create SccNotificationConfig#create}. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#delete SccNotificationConfig#delete}. |
| <code><a href="#@dschmidt/provider-google.SccNotificationConfigTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#update SccNotificationConfig#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SccNotificationConfigTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#create SccNotificationConfig#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SccNotificationConfigTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#delete SccNotificationConfig#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.SccNotificationConfigTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_notification_config#update SccNotificationConfig#update}.

---

### SccSourceConfig <a name="SccSourceConfig" id="@dschmidt/provider-google.SccSourceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SccSourceConfig.Initializer"></a>

```typescript
import { SccSourceConfig } from '@dschmidt/provider-google'

const sccSourceConfig: SccSourceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.displayName">displayName</a></code> | <code>string</code> | The source’s display name. |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.organization">organization</a></code> | <code>string</code> | The organization whose Cloud Security Command Center the Source lives in. |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.description">description</a></code> | <code>string</code> | The description of the source (max of 1024 characters). |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#id SccSource#id}. |
| <code><a href="#@dschmidt/provider-google.SccSourceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SccSourceTimeouts">SccSourceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SccSourceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SccSourceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SccSourceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SccSourceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SccSourceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SccSourceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SccSourceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.SccSourceConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The source’s display name.

A source’s display name must be unique
amongst its siblings, for example, two sources with the same parent
can't share the same display name. The display name must start and end
with a letter or digit, may contain letters, digits, spaces, hyphens,
and underscores, and can be no longer than 32 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#display_name SccSource#display_name}

---

##### `organization`<sup>Required</sup> <a name="organization" id="@dschmidt/provider-google.SccSourceConfig.property.organization"></a>

```typescript
public readonly organization: string;
```

- *Type:* string

The organization whose Cloud Security Command Center the Source lives in.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#organization SccSource#organization}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SccSourceConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The description of the source (max of 1024 characters).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#description SccSource#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SccSourceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#id SccSource#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SccSourceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SccSourceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SccSourceTimeouts">SccSourceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#timeouts SccSource#timeouts}

---

### SccSourceTimeouts <a name="SccSourceTimeouts" id="@dschmidt/provider-google.SccSourceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SccSourceTimeouts.Initializer"></a>

```typescript
import { SccSourceTimeouts } from '@dschmidt/provider-google'

const sccSourceTimeouts: SccSourceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SccSourceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#create SccSource#create}. |
| <code><a href="#@dschmidt/provider-google.SccSourceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#delete SccSource#delete}. |
| <code><a href="#@dschmidt/provider-google.SccSourceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#update SccSource#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SccSourceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#create SccSource#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SccSourceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#delete SccSource#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.SccSourceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/scc_source#update SccSource#update}.

---

### SecretManagerSecretConfig <a name="SecretManagerSecretConfig" id="@dschmidt/provider-google.SecretManagerSecretConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretConfig.Initializer"></a>

```typescript
import { SecretManagerSecretConfig } from '@dschmidt/provider-google'

const secretManagerSecretConfig: SecretManagerSecretConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.replication">replication</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplication">SecretManagerSecretReplication</a></code> | replication block. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.secretId">secretId</a></code> | <code>string</code> | This must be unique within the project. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.expireTime">expireTime</a></code> | <code>string</code> | Timestamp in UTC when the Secret is scheduled to expire. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#id SecretManagerSecret#id}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | The labels assigned to this Secret. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#project SecretManagerSecret#project}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.rotation">rotation</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretRotation">SecretManagerSecretRotation</a></code> | rotation block. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretTimeouts">SecretManagerSecretTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.topics">topics</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SecretManagerSecretTopics">SecretManagerSecretTopics</a>[]</code> | topics block. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretConfig.property.ttl">ttl</a></code> | <code>string</code> | The TTL for the Secret. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `replication`<sup>Required</sup> <a name="replication" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.replication"></a>

```typescript
public readonly replication: SecretManagerSecretReplication;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretReplication">SecretManagerSecretReplication</a>

replication block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#replication SecretManagerSecret#replication}

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

This must be unique within the project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#secret_id SecretManagerSecret#secret_id}

---

##### `expireTime`<sup>Optional</sup> <a name="expireTime" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.expireTime"></a>

```typescript
public readonly expireTime: string;
```

- *Type:* string

Timestamp in UTC when the Secret is scheduled to expire.

This is always provided on output, regardless of what was sent on input.
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#expire_time SecretManagerSecret#expire_time}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#id SecretManagerSecret#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

The labels assigned to this Secret.

Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}

Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}

No more than 64 labels can be assigned to a given resource.

An object containing a list of "key": value pairs. Example:
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#labels SecretManagerSecret#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#project SecretManagerSecret#project}.

---

##### `rotation`<sup>Optional</sup> <a name="rotation" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.rotation"></a>

```typescript
public readonly rotation: SecretManagerSecretRotation;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretRotation">SecretManagerSecretRotation</a>

rotation block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#rotation SecretManagerSecret#rotation}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SecretManagerSecretTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretTimeouts">SecretManagerSecretTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#timeouts SecretManagerSecret#timeouts}

---

##### `topics`<sup>Optional</sup> <a name="topics" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.topics"></a>

```typescript
public readonly topics: IResolvable | SecretManagerSecretTopics[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SecretManagerSecretTopics">SecretManagerSecretTopics</a>[]

topics block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#topics SecretManagerSecret#topics}

---

##### `ttl`<sup>Optional</sup> <a name="ttl" id="@dschmidt/provider-google.SecretManagerSecretConfig.property.ttl"></a>

```typescript
public readonly ttl: string;
```

- *Type:* string

The TTL for the Secret. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#ttl SecretManagerSecret#ttl}

---

### SecretManagerSecretIamBindingCondition <a name="SecretManagerSecretIamBindingCondition" id="@dschmidt/provider-google.SecretManagerSecretIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretIamBindingCondition.Initializer"></a>

```typescript
import { SecretManagerSecretIamBindingCondition } from '@dschmidt/provider-google'

const secretManagerSecretIamBindingCondition: SecretManagerSecretIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#expression SecretManagerSecretIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#title SecretManagerSecretIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#description SecretManagerSecretIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.SecretManagerSecretIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#expression SecretManagerSecretIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.SecretManagerSecretIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#title SecretManagerSecretIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SecretManagerSecretIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#description SecretManagerSecretIamBinding#description}.

---

### SecretManagerSecretIamBindingConfig <a name="SecretManagerSecretIamBindingConfig" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.Initializer"></a>

```typescript
import { SecretManagerSecretIamBindingConfig } from '@dschmidt/provider-google'

const secretManagerSecretIamBindingConfig: SecretManagerSecretIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#members SecretManagerSecretIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#role SecretManagerSecretIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.secretId">secretId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#secret_id SecretManagerSecretIamBinding#secret_id}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingCondition">SecretManagerSecretIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#id SecretManagerSecretIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#project SecretManagerSecretIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#members SecretManagerSecretIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#role SecretManagerSecretIamBinding#role}.

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#secret_id SecretManagerSecretIamBinding#secret_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: SecretManagerSecretIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamBindingCondition">SecretManagerSecretIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#condition SecretManagerSecretIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#id SecretManagerSecretIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SecretManagerSecretIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_binding#project SecretManagerSecretIamBinding#project}.

---

### SecretManagerSecretIamMemberCondition <a name="SecretManagerSecretIamMemberCondition" id="@dschmidt/provider-google.SecretManagerSecretIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretIamMemberCondition.Initializer"></a>

```typescript
import { SecretManagerSecretIamMemberCondition } from '@dschmidt/provider-google'

const secretManagerSecretIamMemberCondition: SecretManagerSecretIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#expression SecretManagerSecretIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#title SecretManagerSecretIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#description SecretManagerSecretIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.SecretManagerSecretIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#expression SecretManagerSecretIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.SecretManagerSecretIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#title SecretManagerSecretIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SecretManagerSecretIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#description SecretManagerSecretIamMember#description}.

---

### SecretManagerSecretIamMemberConfig <a name="SecretManagerSecretIamMemberConfig" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.Initializer"></a>

```typescript
import { SecretManagerSecretIamMemberConfig } from '@dschmidt/provider-google'

const secretManagerSecretIamMemberConfig: SecretManagerSecretIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#member SecretManagerSecretIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#role SecretManagerSecretIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.secretId">secretId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#secret_id SecretManagerSecretIamMember#secret_id}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberCondition">SecretManagerSecretIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#id SecretManagerSecretIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#project SecretManagerSecretIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#member SecretManagerSecretIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#role SecretManagerSecretIamMember#role}.

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#secret_id SecretManagerSecretIamMember#secret_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: SecretManagerSecretIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretIamMemberCondition">SecretManagerSecretIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#condition SecretManagerSecretIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#id SecretManagerSecretIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SecretManagerSecretIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_member#project SecretManagerSecretIamMember#project}.

---

### SecretManagerSecretIamPolicyConfig <a name="SecretManagerSecretIamPolicyConfig" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.Initializer"></a>

```typescript
import { SecretManagerSecretIamPolicyConfig } from '@dschmidt/provider-google'

const secretManagerSecretIamPolicyConfig: SecretManagerSecretIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_policy#policy_data SecretManagerSecretIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.secretId">secretId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_policy#secret_id SecretManagerSecretIamPolicy#secret_id}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_policy#id SecretManagerSecretIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_policy#project SecretManagerSecretIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_policy#policy_data SecretManagerSecretIamPolicy#policy_data}.

---

##### `secretId`<sup>Required</sup> <a name="secretId" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.secretId"></a>

```typescript
public readonly secretId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_policy#secret_id SecretManagerSecretIamPolicy#secret_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_policy#id SecretManagerSecretIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SecretManagerSecretIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_iam_policy#project SecretManagerSecretIamPolicy#project}.

---

### SecretManagerSecretReplication <a name="SecretManagerSecretReplication" id="@dschmidt/provider-google.SecretManagerSecretReplication"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretReplication.Initializer"></a>

```typescript
import { SecretManagerSecretReplication } from '@dschmidt/provider-google'

const secretManagerSecretReplication: SecretManagerSecretReplication = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplication.property.automatic">automatic</a></code> | <code>boolean \| cdktf.IResolvable</code> | The Secret will automatically be replicated without any restrictions. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplication.property.userManaged">userManaged</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManaged">SecretManagerSecretReplicationUserManaged</a></code> | user_managed block. |

---

##### `automatic`<sup>Optional</sup> <a name="automatic" id="@dschmidt/provider-google.SecretManagerSecretReplication.property.automatic"></a>

```typescript
public readonly automatic: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The Secret will automatically be replicated without any restrictions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#automatic SecretManagerSecret#automatic}

---

##### `userManaged`<sup>Optional</sup> <a name="userManaged" id="@dschmidt/provider-google.SecretManagerSecretReplication.property.userManaged"></a>

```typescript
public readonly userManaged: SecretManagerSecretReplicationUserManaged;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManaged">SecretManagerSecretReplicationUserManaged</a>

user_managed block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#user_managed SecretManagerSecret#user_managed}

---

### SecretManagerSecretReplicationUserManaged <a name="SecretManagerSecretReplicationUserManaged" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManaged"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManaged.Initializer"></a>

```typescript
import { SecretManagerSecretReplicationUserManaged } from '@dschmidt/provider-google'

const secretManagerSecretReplicationUserManaged: SecretManagerSecretReplicationUserManaged = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManaged.property.replicas">replicas</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicas">SecretManagerSecretReplicationUserManagedReplicas</a>[]</code> | replicas block. |

---

##### `replicas`<sup>Required</sup> <a name="replicas" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManaged.property.replicas"></a>

```typescript
public readonly replicas: IResolvable | SecretManagerSecretReplicationUserManagedReplicas[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicas">SecretManagerSecretReplicationUserManagedReplicas</a>[]

replicas block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#replicas SecretManagerSecret#replicas}

---

### SecretManagerSecretReplicationUserManagedReplicas <a name="SecretManagerSecretReplicationUserManagedReplicas" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicas"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicas.Initializer"></a>

```typescript
import { SecretManagerSecretReplicationUserManagedReplicas } from '@dschmidt/provider-google'

const secretManagerSecretReplicationUserManagedReplicas: SecretManagerSecretReplicationUserManagedReplicas = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicas.property.location">location</a></code> | <code>string</code> | The canonical IDs of the location to replicate data. For example: "us-east1". |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicas.property.customerManagedEncryption">customerManagedEncryption</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption">SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption</a></code> | customer_managed_encryption block. |

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicas.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The canonical IDs of the location to replicate data. For example: "us-east1".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#location SecretManagerSecret#location}

---

##### `customerManagedEncryption`<sup>Optional</sup> <a name="customerManagedEncryption" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicas.property.customerManagedEncryption"></a>

```typescript
public readonly customerManagedEncryption: SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption">SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption</a>

customer_managed_encryption block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#customer_managed_encryption SecretManagerSecret#customer_managed_encryption}

---

### SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption <a name="SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption.Initializer"></a>

```typescript
import { SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption } from '@dschmidt/provider-google'

const secretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption: SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Describes the Cloud KMS encryption key that will be used to protect destination secret. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.SecretManagerSecretReplicationUserManagedReplicasCustomerManagedEncryption.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Describes the Cloud KMS encryption key that will be used to protect destination secret.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#kms_key_name SecretManagerSecret#kms_key_name}

---

### SecretManagerSecretRotation <a name="SecretManagerSecretRotation" id="@dschmidt/provider-google.SecretManagerSecretRotation"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretRotation.Initializer"></a>

```typescript
import { SecretManagerSecretRotation } from '@dschmidt/provider-google'

const secretManagerSecretRotation: SecretManagerSecretRotation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretRotation.property.nextRotationTime">nextRotationTime</a></code> | <code>string</code> | Timestamp in UTC at which the Secret is scheduled to rotate. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretRotation.property.rotationPeriod">rotationPeriod</a></code> | <code>string</code> | The Duration between rotation notifications. |

---

##### `nextRotationTime`<sup>Optional</sup> <a name="nextRotationTime" id="@dschmidt/provider-google.SecretManagerSecretRotation.property.nextRotationTime"></a>

```typescript
public readonly nextRotationTime: string;
```

- *Type:* string

Timestamp in UTC at which the Secret is scheduled to rotate.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#next_rotation_time SecretManagerSecret#next_rotation_time}

---

##### `rotationPeriod`<sup>Optional</sup> <a name="rotationPeriod" id="@dschmidt/provider-google.SecretManagerSecretRotation.property.rotationPeriod"></a>

```typescript
public readonly rotationPeriod: string;
```

- *Type:* string

The Duration between rotation notifications.

Must be in seconds and at least 3600s (1h) and at most 3153600000s (100 years).
If rotationPeriod is set, 'next_rotation_time' must be set. 'next_rotation_time' will be advanced by this period when the service automatically sends rotation notifications.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#rotation_period SecretManagerSecret#rotation_period}

---

### SecretManagerSecretTimeouts <a name="SecretManagerSecretTimeouts" id="@dschmidt/provider-google.SecretManagerSecretTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretTimeouts.Initializer"></a>

```typescript
import { SecretManagerSecretTimeouts } from '@dschmidt/provider-google'

const secretManagerSecretTimeouts: SecretManagerSecretTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#create SecretManagerSecret#create}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#delete SecretManagerSecret#delete}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#update SecretManagerSecret#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SecretManagerSecretTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#create SecretManagerSecret#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SecretManagerSecretTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#delete SecretManagerSecret#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.SecretManagerSecretTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#update SecretManagerSecret#update}.

---

### SecretManagerSecretTopics <a name="SecretManagerSecretTopics" id="@dschmidt/provider-google.SecretManagerSecretTopics"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretTopics.Initializer"></a>

```typescript
import { SecretManagerSecretTopics } from '@dschmidt/provider-google'

const secretManagerSecretTopics: SecretManagerSecretTopics = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretTopics.property.name">name</a></code> | <code>string</code> | The resource name of the Pub/Sub topic that will be published to, in the following format: projects/*\/topics/*. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SecretManagerSecretTopics.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The resource name of the Pub/Sub topic that will be published to, in the following format: projects/*\/topics/*.

For publication to succeed, the Secret Manager Service Agent service account must have pubsub.publisher permissions on the topic.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret#name SecretManagerSecret#name}

---

### SecretManagerSecretVersionConfig <a name="SecretManagerSecretVersionConfig" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.Initializer"></a>

```typescript
import { SecretManagerSecretVersionConfig } from '@dschmidt/provider-google'

const secretManagerSecretVersionConfig: SecretManagerSecretVersionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.secret">secret</a></code> | <code>string</code> | Secret Manager secret resource. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.secretData">secretData</a></code> | <code>string</code> | The secret data. Must be no larger than 64KiB. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | The current state of the SecretVersion. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#id SecretManagerSecretVersion#id}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionTimeouts">SecretManagerSecretVersionTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `secret`<sup>Required</sup> <a name="secret" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.secret"></a>

```typescript
public readonly secret: string;
```

- *Type:* string

Secret Manager secret resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#secret SecretManagerSecretVersion#secret}

---

##### `secretData`<sup>Required</sup> <a name="secretData" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.secretData"></a>

```typescript
public readonly secretData: string;
```

- *Type:* string

The secret data. Must be no larger than 64KiB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#secret_data SecretManagerSecretVersion#secret_data}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

The current state of the SecretVersion.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#enabled SecretManagerSecretVersion#enabled}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#id SecretManagerSecretVersion#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SecretManagerSecretVersionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SecretManagerSecretVersionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SecretManagerSecretVersionTimeouts">SecretManagerSecretVersionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#timeouts SecretManagerSecretVersion#timeouts}

---

### SecretManagerSecretVersionTimeouts <a name="SecretManagerSecretVersionTimeouts" id="@dschmidt/provider-google.SecretManagerSecretVersionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SecretManagerSecretVersionTimeouts.Initializer"></a>

```typescript
import { SecretManagerSecretVersionTimeouts } from '@dschmidt/provider-google'

const secretManagerSecretVersionTimeouts: SecretManagerSecretVersionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#create SecretManagerSecretVersion#create}. |
| <code><a href="#@dschmidt/provider-google.SecretManagerSecretVersionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#delete SecretManagerSecretVersion#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SecretManagerSecretVersionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#create SecretManagerSecretVersion#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SecretManagerSecretVersionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/secret_manager_secret_version#delete SecretManagerSecretVersion#delete}.

---

### ServiceAccountConfig <a name="ServiceAccountConfig" id="@dschmidt/provider-google.ServiceAccountConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceAccountConfig.Initializer"></a>

```typescript
import { ServiceAccountConfig } from '@dschmidt/provider-google'

const serviceAccountConfig: ServiceAccountConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.accountId">accountId</a></code> | <code>string</code> | The account id that is used to generate the service account email address and a stable unique id. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.description">description</a></code> | <code>string</code> | A text description of the service account. Must be less than or equal to 256 UTF-8 bytes. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the service account is disabled. Defaults to false. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.displayName">displayName</a></code> | <code>string</code> | The display name for the service account. Can be updated without creating a new resource. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#id ServiceAccount#id}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.project">project</a></code> | <code>string</code> | The ID of the project that the service account will be created in. Defaults to the provider project configuration. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountTimeouts">ServiceAccountTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccountConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccountConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccountConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccountConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccountConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccountConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccountConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `accountId`<sup>Required</sup> <a name="accountId" id="@dschmidt/provider-google.ServiceAccountConfig.property.accountId"></a>

```typescript
public readonly accountId: string;
```

- *Type:* string

The account id that is used to generate the service account email address and a stable unique id.

It is unique within a project, must be 6-30 characters long, and match the regular expression [a-z]([-a-z0-9]*[a-z0-9]) to comply with RFC1035. Changing this forces a new service account to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#account_id ServiceAccount#account_id}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ServiceAccountConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

A text description of the service account. Must be less than or equal to 256 UTF-8 bytes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#description ServiceAccount#description}

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.ServiceAccountConfig.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the service account is disabled. Defaults to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#disabled ServiceAccount#disabled}

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@dschmidt/provider-google.ServiceAccountConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The display name for the service account. Can be updated without creating a new resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#display_name ServiceAccount#display_name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#id ServiceAccount#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ServiceAccountConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project that the service account will be created in. Defaults to the provider project configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#project ServiceAccount#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ServiceAccountConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ServiceAccountTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountTimeouts">ServiceAccountTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#timeouts ServiceAccount#timeouts}

---

### ServiceAccountIamBindingCondition <a name="ServiceAccountIamBindingCondition" id="@dschmidt/provider-google.ServiceAccountIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceAccountIamBindingCondition.Initializer"></a>

```typescript
import { ServiceAccountIamBindingCondition } from '@dschmidt/provider-google'

const serviceAccountIamBindingCondition: ServiceAccountIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#expression ServiceAccountIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#title ServiceAccountIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#description ServiceAccountIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ServiceAccountIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#expression ServiceAccountIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ServiceAccountIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#title ServiceAccountIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ServiceAccountIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#description ServiceAccountIamBinding#description}.

---

### ServiceAccountIamBindingConfig <a name="ServiceAccountIamBindingConfig" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.Initializer"></a>

```typescript
import { ServiceAccountIamBindingConfig } from '@dschmidt/provider-google'

const serviceAccountIamBindingConfig: ServiceAccountIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#members ServiceAccountIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#role ServiceAccountIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.serviceAccountId">serviceAccountId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#service_account_id ServiceAccountIamBinding#service_account_id}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingCondition">ServiceAccountIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#id ServiceAccountIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#members ServiceAccountIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#role ServiceAccountIamBinding#role}.

---

##### `serviceAccountId`<sup>Required</sup> <a name="serviceAccountId" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.serviceAccountId"></a>

```typescript
public readonly serviceAccountId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#service_account_id ServiceAccountIamBinding#service_account_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: ServiceAccountIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamBindingCondition">ServiceAccountIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#condition ServiceAccountIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_binding#id ServiceAccountIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ServiceAccountIamMemberCondition <a name="ServiceAccountIamMemberCondition" id="@dschmidt/provider-google.ServiceAccountIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceAccountIamMemberCondition.Initializer"></a>

```typescript
import { ServiceAccountIamMemberCondition } from '@dschmidt/provider-google'

const serviceAccountIamMemberCondition: ServiceAccountIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#expression ServiceAccountIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#title ServiceAccountIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#description ServiceAccountIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.ServiceAccountIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#expression ServiceAccountIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.ServiceAccountIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#title ServiceAccountIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.ServiceAccountIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#description ServiceAccountIamMember#description}.

---

### ServiceAccountIamMemberConfig <a name="ServiceAccountIamMemberConfig" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.Initializer"></a>

```typescript
import { ServiceAccountIamMemberConfig } from '@dschmidt/provider-google'

const serviceAccountIamMemberConfig: ServiceAccountIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#member ServiceAccountIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#role ServiceAccountIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.serviceAccountId">serviceAccountId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#service_account_id ServiceAccountIamMember#service_account_id}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberCondition">ServiceAccountIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#id ServiceAccountIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#member ServiceAccountIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#role ServiceAccountIamMember#role}.

---

##### `serviceAccountId`<sup>Required</sup> <a name="serviceAccountId" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.serviceAccountId"></a>

```typescript
public readonly serviceAccountId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#service_account_id ServiceAccountIamMember#service_account_id}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: ServiceAccountIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceAccountIamMemberCondition">ServiceAccountIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#condition ServiceAccountIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_member#id ServiceAccountIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ServiceAccountIamPolicyConfig <a name="ServiceAccountIamPolicyConfig" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.Initializer"></a>

```typescript
import { ServiceAccountIamPolicyConfig } from '@dschmidt/provider-google'

const serviceAccountIamPolicyConfig: ServiceAccountIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_policy#policy_data ServiceAccountIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.serviceAccountId">serviceAccountId</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_policy#service_account_id ServiceAccountIamPolicy#service_account_id}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_policy#id ServiceAccountIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_policy#policy_data ServiceAccountIamPolicy#policy_data}.

---

##### `serviceAccountId`<sup>Required</sup> <a name="serviceAccountId" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.serviceAccountId"></a>

```typescript
public readonly serviceAccountId: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_policy#service_account_id ServiceAccountIamPolicy#service_account_id}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_iam_policy#id ServiceAccountIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### ServiceAccountKeyConfig <a name="ServiceAccountKeyConfig" id="@dschmidt/provider-google.ServiceAccountKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceAccountKeyConfig.Initializer"></a>

```typescript
import { ServiceAccountKeyConfig } from '@dschmidt/provider-google'

const serviceAccountKeyConfig: ServiceAccountKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.serviceAccountId">serviceAccountId</a></code> | <code>string</code> | The ID of the parent service account of the key. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#id ServiceAccountKey#id}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.keepers">keepers</a></code> | <code>{[ key: string ]: string}</code> | Arbitrary map of values that, when changed, will trigger recreation of resource. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.keyAlgorithm">keyAlgorithm</a></code> | <code>string</code> | The algorithm used to generate the key, used only on create. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.privateKeyType">privateKeyType</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#private_key_type ServiceAccountKey#private_key_type}. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.publicKeyData">publicKeyData</a></code> | <code>string</code> | A field that allows clients to upload their own public key. |
| <code><a href="#@dschmidt/provider-google.ServiceAccountKeyConfig.property.publicKeyType">publicKeyType</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#public_key_type ServiceAccountKey#public_key_type}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `serviceAccountId`<sup>Required</sup> <a name="serviceAccountId" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.serviceAccountId"></a>

```typescript
public readonly serviceAccountId: string;
```

- *Type:* string

The ID of the parent service account of the key.

This can be a string in the format {ACCOUNT} or projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}, where {ACCOUNT} is the email address or unique id of the service account. If the {ACCOUNT} syntax is used, the project will be inferred from the provider's configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#service_account_id ServiceAccountKey#service_account_id}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#id ServiceAccountKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `keepers`<sup>Optional</sup> <a name="keepers" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.keepers"></a>

```typescript
public readonly keepers: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Arbitrary map of values that, when changed, will trigger recreation of resource.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#keepers ServiceAccountKey#keepers}

---

##### `keyAlgorithm`<sup>Optional</sup> <a name="keyAlgorithm" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.keyAlgorithm"></a>

```typescript
public readonly keyAlgorithm: string;
```

- *Type:* string

The algorithm used to generate the key, used only on create.

KEY_ALG_RSA_2048 is the default algorithm. Valid values are: "KEY_ALG_RSA_1024", "KEY_ALG_RSA_2048".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#key_algorithm ServiceAccountKey#key_algorithm}

---

##### `privateKeyType`<sup>Optional</sup> <a name="privateKeyType" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.privateKeyType"></a>

```typescript
public readonly privateKeyType: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#private_key_type ServiceAccountKey#private_key_type}.

---

##### `publicKeyData`<sup>Optional</sup> <a name="publicKeyData" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.publicKeyData"></a>

```typescript
public readonly publicKeyData: string;
```

- *Type:* string

A field that allows clients to upload their own public key.

If set, use this public key data to create a service account key for given service account. Please note, the expected format for this field is a base64 encoded X509_PEM.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#public_key_data ServiceAccountKey#public_key_data}

---

##### `publicKeyType`<sup>Optional</sup> <a name="publicKeyType" id="@dschmidt/provider-google.ServiceAccountKeyConfig.property.publicKeyType"></a>

```typescript
public readonly publicKeyType: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account_key#public_key_type ServiceAccountKey#public_key_type}.

---

### ServiceAccountTimeouts <a name="ServiceAccountTimeouts" id="@dschmidt/provider-google.ServiceAccountTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceAccountTimeouts.Initializer"></a>

```typescript
import { ServiceAccountTimeouts } from '@dschmidt/provider-google'

const serviceAccountTimeouts: ServiceAccountTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceAccountTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#create ServiceAccount#create}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ServiceAccountTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_account#create ServiceAccount#create}.

---

### ServiceNetworkingConnectionConfig <a name="ServiceNetworkingConnectionConfig" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.Initializer"></a>

```typescript
import { ServiceNetworkingConnectionConfig } from '@dschmidt/provider-google'

const serviceNetworkingConnectionConfig: ServiceNetworkingConnectionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.network">network</a></code> | <code>string</code> | Name of VPC network connected with service producers using VPC peering. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.reservedPeeringRanges">reservedPeeringRanges</a></code> | <code>string[]</code> | Named IP address range(s) of PEERING type reserved for this service provider. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.service">service</a></code> | <code>string</code> | Provider peering service that is managing peering connectivity for a service provider organization. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#id ServiceNetworkingConnection#id}. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts">ServiceNetworkingConnectionTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

Name of VPC network connected with service producers using VPC peering.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#network ServiceNetworkingConnection#network}

---

##### `reservedPeeringRanges`<sup>Required</sup> <a name="reservedPeeringRanges" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.reservedPeeringRanges"></a>

```typescript
public readonly reservedPeeringRanges: string[];
```

- *Type:* string[]

Named IP address range(s) of PEERING type reserved for this service provider.

Note that invoking this method with a different range when connection is already established will not reallocate already provisioned service producer subnetworks.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#reserved_peering_ranges ServiceNetworkingConnection#reserved_peering_ranges}

---

##### `service`<sup>Required</sup> <a name="service" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

Provider peering service that is managing peering connectivity for a service provider organization.

For Google services that support this functionality it is 'servicenetworking.googleapis.com'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#service ServiceNetworkingConnection#service}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#id ServiceNetworkingConnection#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ServiceNetworkingConnectionConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ServiceNetworkingConnectionTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts">ServiceNetworkingConnectionTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#timeouts ServiceNetworkingConnection#timeouts}

---

### ServiceNetworkingConnectionTimeouts <a name="ServiceNetworkingConnectionTimeouts" id="@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts.Initializer"></a>

```typescript
import { ServiceNetworkingConnectionTimeouts } from '@dschmidt/provider-google'

const serviceNetworkingConnectionTimeouts: ServiceNetworkingConnectionTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#create ServiceNetworkingConnection#create}. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#delete ServiceNetworkingConnection#delete}. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#update ServiceNetworkingConnection#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#create ServiceNetworkingConnection#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#delete ServiceNetworkingConnection#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.ServiceNetworkingConnectionTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_connection#update ServiceNetworkingConnection#update}.

---

### ServiceNetworkingPeeredDnsDomainConfig <a name="ServiceNetworkingPeeredDnsDomainConfig" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.Initializer"></a>

```typescript
import { ServiceNetworkingPeeredDnsDomainConfig } from '@dschmidt/provider-google'

const serviceNetworkingPeeredDnsDomainConfig: ServiceNetworkingPeeredDnsDomainConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.dnsSuffix">dnsSuffix</a></code> | <code>string</code> | The DNS domain name suffix of the peered DNS domain. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.name">name</a></code> | <code>string</code> | Name of the peered DNS domain. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.network">network</a></code> | <code>string</code> | Network in the consumer project to peer with. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#id ServiceNetworkingPeeredDnsDomain#id}. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.project">project</a></code> | <code>string</code> | The ID of the project that the service account will be created in. Defaults to the provider project configuration. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.service">service</a></code> | <code>string</code> | The name of the service to create a peered DNS domain for, e.g. servicenetworking.googleapis.com. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts">ServiceNetworkingPeeredDnsDomainTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `dnsSuffix`<sup>Required</sup> <a name="dnsSuffix" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.dnsSuffix"></a>

```typescript
public readonly dnsSuffix: string;
```

- *Type:* string

The DNS domain name suffix of the peered DNS domain.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#dns_suffix ServiceNetworkingPeeredDnsDomain#dns_suffix}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the peered DNS domain.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#name ServiceNetworkingPeeredDnsDomain#name}

---

##### `network`<sup>Required</sup> <a name="network" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

Network in the consumer project to peer with.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#network ServiceNetworkingPeeredDnsDomain#network}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#id ServiceNetworkingPeeredDnsDomain#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project that the service account will be created in. Defaults to the provider project configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#project ServiceNetworkingPeeredDnsDomain#project}

---

##### `service`<sup>Optional</sup> <a name="service" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.service"></a>

```typescript
public readonly service: string;
```

- *Type:* string

The name of the service to create a peered DNS domain for, e.g. servicenetworking.googleapis.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#service ServiceNetworkingPeeredDnsDomain#service}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainConfig.property.timeouts"></a>

```typescript
public readonly timeouts: ServiceNetworkingPeeredDnsDomainTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts">ServiceNetworkingPeeredDnsDomainTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#timeouts ServiceNetworkingPeeredDnsDomain#timeouts}

---

### ServiceNetworkingPeeredDnsDomainTimeouts <a name="ServiceNetworkingPeeredDnsDomainTimeouts" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts.Initializer"></a>

```typescript
import { ServiceNetworkingPeeredDnsDomainTimeouts } from '@dschmidt/provider-google'

const serviceNetworkingPeeredDnsDomainTimeouts: ServiceNetworkingPeeredDnsDomainTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#create ServiceNetworkingPeeredDnsDomain#create}. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#delete ServiceNetworkingPeeredDnsDomain#delete}. |
| <code><a href="#@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#read ServiceNetworkingPeeredDnsDomain#read}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#create ServiceNetworkingPeeredDnsDomain#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#delete ServiceNetworkingPeeredDnsDomain#delete}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.ServiceNetworkingPeeredDnsDomainTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/service_networking_peered_dns_domain#read ServiceNetworkingPeeredDnsDomain#read}.

---

### SourcerepoRepositoryConfig <a name="SourcerepoRepositoryConfig" id="@dschmidt/provider-google.SourcerepoRepositoryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.Initializer"></a>

```typescript
import { SourcerepoRepositoryConfig } from '@dschmidt/provider-google'

const sourcerepoRepositoryConfig: SourcerepoRepositoryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.name">name</a></code> | <code>string</code> | Resource name of the repository, of the form '{{repo}}'. The repo name may contain slashes. eg, 'name/with/slash'. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#id SourcerepoRepository#id}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#project SourcerepoRepository#project}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.pubsubConfigs">pubsubConfigs</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs">SourcerepoRepositoryPubsubConfigs</a>[]</code> | pubsub_configs block. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeouts">SourcerepoRepositoryTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Resource name of the repository, of the form '{{repo}}'. The repo name may contain slashes. eg, 'name/with/slash'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#name SourcerepoRepository#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#id SourcerepoRepository#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#project SourcerepoRepository#project}.

---

##### `pubsubConfigs`<sup>Optional</sup> <a name="pubsubConfigs" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.pubsubConfigs"></a>

```typescript
public readonly pubsubConfigs: IResolvable | SourcerepoRepositoryPubsubConfigs[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs">SourcerepoRepositoryPubsubConfigs</a>[]

pubsub_configs block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#pubsub_configs SourcerepoRepository#pubsub_configs}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SourcerepoRepositoryConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SourcerepoRepositoryTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeouts">SourcerepoRepositoryTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#timeouts SourcerepoRepository#timeouts}

---

### SourcerepoRepositoryIamBindingCondition <a name="SourcerepoRepositoryIamBindingCondition" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition.Initializer"></a>

```typescript
import { SourcerepoRepositoryIamBindingCondition } from '@dschmidt/provider-google'

const sourcerepoRepositoryIamBindingCondition: SourcerepoRepositoryIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#expression SourcerepoRepositoryIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#title SourcerepoRepositoryIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#description SourcerepoRepositoryIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#expression SourcerepoRepositoryIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#title SourcerepoRepositoryIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#description SourcerepoRepositoryIamBinding#description}.

---

### SourcerepoRepositoryIamBindingConfig <a name="SourcerepoRepositoryIamBindingConfig" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.Initializer"></a>

```typescript
import { SourcerepoRepositoryIamBindingConfig } from '@dschmidt/provider-google'

const sourcerepoRepositoryIamBindingConfig: SourcerepoRepositoryIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#members SourcerepoRepositoryIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.repository">repository</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#repository SourcerepoRepositoryIamBinding#repository}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#role SourcerepoRepositoryIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition">SourcerepoRepositoryIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#id SourcerepoRepositoryIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#project SourcerepoRepositoryIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#members SourcerepoRepositoryIamBinding#members}.

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#repository SourcerepoRepositoryIamBinding#repository}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#role SourcerepoRepositoryIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: SourcerepoRepositoryIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamBindingCondition">SourcerepoRepositoryIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#condition SourcerepoRepositoryIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#id SourcerepoRepositoryIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SourcerepoRepositoryIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_binding#project SourcerepoRepositoryIamBinding#project}.

---

### SourcerepoRepositoryIamMemberCondition <a name="SourcerepoRepositoryIamMemberCondition" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition.Initializer"></a>

```typescript
import { SourcerepoRepositoryIamMemberCondition } from '@dschmidt/provider-google'

const sourcerepoRepositoryIamMemberCondition: SourcerepoRepositoryIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#expression SourcerepoRepositoryIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#title SourcerepoRepositoryIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#description SourcerepoRepositoryIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#expression SourcerepoRepositoryIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#title SourcerepoRepositoryIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#description SourcerepoRepositoryIamMember#description}.

---

### SourcerepoRepositoryIamMemberConfig <a name="SourcerepoRepositoryIamMemberConfig" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.Initializer"></a>

```typescript
import { SourcerepoRepositoryIamMemberConfig } from '@dschmidt/provider-google'

const sourcerepoRepositoryIamMemberConfig: SourcerepoRepositoryIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#member SourcerepoRepositoryIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.repository">repository</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#repository SourcerepoRepositoryIamMember#repository}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#role SourcerepoRepositoryIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition">SourcerepoRepositoryIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#id SourcerepoRepositoryIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#project SourcerepoRepositoryIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#member SourcerepoRepositoryIamMember#member}.

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#repository SourcerepoRepositoryIamMember#repository}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#role SourcerepoRepositoryIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: SourcerepoRepositoryIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SourcerepoRepositoryIamMemberCondition">SourcerepoRepositoryIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#condition SourcerepoRepositoryIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#id SourcerepoRepositoryIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SourcerepoRepositoryIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_member#project SourcerepoRepositoryIamMember#project}.

---

### SourcerepoRepositoryIamPolicyConfig <a name="SourcerepoRepositoryIamPolicyConfig" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.Initializer"></a>

```typescript
import { SourcerepoRepositoryIamPolicyConfig } from '@dschmidt/provider-google'

const sourcerepoRepositoryIamPolicyConfig: SourcerepoRepositoryIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_policy#policy_data SourcerepoRepositoryIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.repository">repository</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_policy#repository SourcerepoRepositoryIamPolicy#repository}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_policy#id SourcerepoRepositoryIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_policy#project SourcerepoRepositoryIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_policy#policy_data SourcerepoRepositoryIamPolicy#policy_data}.

---

##### `repository`<sup>Required</sup> <a name="repository" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.repository"></a>

```typescript
public readonly repository: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_policy#repository SourcerepoRepositoryIamPolicy#repository}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_policy#id SourcerepoRepositoryIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SourcerepoRepositoryIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository_iam_policy#project SourcerepoRepositoryIamPolicy#project}.

---

### SourcerepoRepositoryPubsubConfigs <a name="SourcerepoRepositoryPubsubConfigs" id="@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs.Initializer"></a>

```typescript
import { SourcerepoRepositoryPubsubConfigs } from '@dschmidt/provider-google'

const sourcerepoRepositoryPubsubConfigs: SourcerepoRepositoryPubsubConfigs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs.property.messageFormat">messageFormat</a></code> | <code>string</code> | The format of the Cloud Pub/Sub messages. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs.property.topic">topic</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#topic SourcerepoRepository#topic}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | Email address of the service account used for publishing Cloud Pub/Sub messages. |

---

##### `messageFormat`<sup>Required</sup> <a name="messageFormat" id="@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs.property.messageFormat"></a>

```typescript
public readonly messageFormat: string;
```

- *Type:* string

The format of the Cloud Pub/Sub messages.

PROTOBUF: The message payload is a serialized protocol buffer of SourceRepoEvent.
- JSON: The message payload is a JSON string of SourceRepoEvent. Possible values: ["PROTOBUF", "JSON"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#message_format SourcerepoRepository#message_format}

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#topic SourcerepoRepository#topic}.

---

##### `serviceAccountEmail`<sup>Optional</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.SourcerepoRepositoryPubsubConfigs.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

Email address of the service account used for publishing Cloud Pub/Sub messages.

This service account needs to be in the same project as the PubsubConfig. When added, 
the caller needs to have iam.serviceAccounts.actAs permission on this service account. 
If unspecified, it defaults to the compute engine default service account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#service_account_email SourcerepoRepository#service_account_email}

---

### SourcerepoRepositoryTimeouts <a name="SourcerepoRepositoryTimeouts" id="@dschmidt/provider-google.SourcerepoRepositoryTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SourcerepoRepositoryTimeouts.Initializer"></a>

```typescript
import { SourcerepoRepositoryTimeouts } from '@dschmidt/provider-google'

const sourcerepoRepositoryTimeouts: SourcerepoRepositoryTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#create SourcerepoRepository#create}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#delete SourcerepoRepository#delete}. |
| <code><a href="#@dschmidt/provider-google.SourcerepoRepositoryTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#update SourcerepoRepository#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SourcerepoRepositoryTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#create SourcerepoRepository#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SourcerepoRepositoryTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#delete SourcerepoRepository#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.SourcerepoRepositoryTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sourcerepo_repository#update SourcerepoRepository#update}.

---

### SpannerDatabaseConfig <a name="SpannerDatabaseConfig" id="@dschmidt/provider-google.SpannerDatabaseConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerDatabaseConfig.Initializer"></a>

```typescript
import { SpannerDatabaseConfig } from '@dschmidt/provider-google'

const spannerDatabaseConfig: SpannerDatabaseConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.instance">instance</a></code> | <code>string</code> | The instance to create the database on. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.name">name</a></code> | <code>string</code> | A unique identifier for the database, which cannot be changed after the instance is created. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.databaseDialect">databaseDialect</a></code> | <code>string</code> | The dialect of the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"]. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.ddl">ddl</a></code> | <code>string[]</code> | An optional list of DDL statements to run inside the newly created database. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#deletion_protection SpannerDatabase#deletion_protection}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.encryptionConfig">encryptionConfig</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseEncryptionConfig">SpannerDatabaseEncryptionConfig</a></code> | encryption_config block. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#id SpannerDatabase#id}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#project SpannerDatabase#project}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseTimeouts">SpannerDatabaseTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseConfig.property.versionRetentionPeriod">versionRetentionPeriod</a></code> | <code>string</code> | The retention period for the database. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

The instance to create the database on.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#instance SpannerDatabase#instance}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A unique identifier for the database, which cannot be changed after the instance is created.

Values are of the form [a-z][-a-z0-9]*[a-z0-9].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#name SpannerDatabase#name}

---

##### `databaseDialect`<sup>Optional</sup> <a name="databaseDialect" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.databaseDialect"></a>

```typescript
public readonly databaseDialect: string;
```

- *Type:* string

The dialect of the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#database_dialect SpannerDatabase#database_dialect}

---

##### `ddl`<sup>Optional</sup> <a name="ddl" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.ddl"></a>

```typescript
public readonly ddl: string[];
```

- *Type:* string[]

An optional list of DDL statements to run inside the newly created database.

Statements can create tables, indexes, etc. These statements
execute atomically with the creation of the database: if there is an
error in any statement, the database is not created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#ddl SpannerDatabase#ddl}

---

##### `deletionProtection`<sup>Optional</sup> <a name="deletionProtection" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#deletion_protection SpannerDatabase#deletion_protection}.

---

##### `encryptionConfig`<sup>Optional</sup> <a name="encryptionConfig" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.encryptionConfig"></a>

```typescript
public readonly encryptionConfig: SpannerDatabaseEncryptionConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseEncryptionConfig">SpannerDatabaseEncryptionConfig</a>

encryption_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#encryption_config SpannerDatabase#encryption_config}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#id SpannerDatabase#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#project SpannerDatabase#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SpannerDatabaseTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseTimeouts">SpannerDatabaseTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#timeouts SpannerDatabase#timeouts}

---

##### `versionRetentionPeriod`<sup>Optional</sup> <a name="versionRetentionPeriod" id="@dschmidt/provider-google.SpannerDatabaseConfig.property.versionRetentionPeriod"></a>

```typescript
public readonly versionRetentionPeriod: string;
```

- *Type:* string

The retention period for the database.

The retention period must be between 1 hour
and 7 days, and can be specified in days, hours, minutes, or seconds. For example,
the values 1d, 24h, 1440m, and 86400s are equivalent. Default value is 1h.
If this property is used, you must avoid adding new DDL statements to 'ddl' that
update the database's version_retention_period.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#version_retention_period SpannerDatabase#version_retention_period}

---

### SpannerDatabaseEncryptionConfig <a name="SpannerDatabaseEncryptionConfig" id="@dschmidt/provider-google.SpannerDatabaseEncryptionConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerDatabaseEncryptionConfig.Initializer"></a>

```typescript
import { SpannerDatabaseEncryptionConfig } from '@dschmidt/provider-google'

const spannerDatabaseEncryptionConfig: SpannerDatabaseEncryptionConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseEncryptionConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Fully qualified name of the KMS key to use to encrypt this database. |

---

##### `kmsKeyName`<sup>Required</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.SpannerDatabaseEncryptionConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Fully qualified name of the KMS key to use to encrypt this database.

This key must exist
in the same location as the Spanner Database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#kms_key_name SpannerDatabase#kms_key_name}

---

### SpannerDatabaseIamBindingCondition <a name="SpannerDatabaseIamBindingCondition" id="@dschmidt/provider-google.SpannerDatabaseIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerDatabaseIamBindingCondition.Initializer"></a>

```typescript
import { SpannerDatabaseIamBindingCondition } from '@dschmidt/provider-google'

const spannerDatabaseIamBindingCondition: SpannerDatabaseIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#expression SpannerDatabaseIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#title SpannerDatabaseIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#description SpannerDatabaseIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.SpannerDatabaseIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#expression SpannerDatabaseIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.SpannerDatabaseIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#title SpannerDatabaseIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SpannerDatabaseIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#description SpannerDatabaseIamBinding#description}.

---

### SpannerDatabaseIamBindingConfig <a name="SpannerDatabaseIamBindingConfig" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.Initializer"></a>

```typescript
import { SpannerDatabaseIamBindingConfig } from '@dschmidt/provider-google'

const spannerDatabaseIamBindingConfig: SpannerDatabaseIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.database">database</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#database SpannerDatabaseIamBinding#database}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#instance SpannerDatabaseIamBinding#instance}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#members SpannerDatabaseIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#role SpannerDatabaseIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingCondition">SpannerDatabaseIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#id SpannerDatabaseIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#project SpannerDatabaseIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#database SpannerDatabaseIamBinding#database}.

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#instance SpannerDatabaseIamBinding#instance}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#members SpannerDatabaseIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#role SpannerDatabaseIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: SpannerDatabaseIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamBindingCondition">SpannerDatabaseIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#condition SpannerDatabaseIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#id SpannerDatabaseIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SpannerDatabaseIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_binding#project SpannerDatabaseIamBinding#project}.

---

### SpannerDatabaseIamMemberCondition <a name="SpannerDatabaseIamMemberCondition" id="@dschmidt/provider-google.SpannerDatabaseIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerDatabaseIamMemberCondition.Initializer"></a>

```typescript
import { SpannerDatabaseIamMemberCondition } from '@dschmidt/provider-google'

const spannerDatabaseIamMemberCondition: SpannerDatabaseIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#expression SpannerDatabaseIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#title SpannerDatabaseIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#description SpannerDatabaseIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.SpannerDatabaseIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#expression SpannerDatabaseIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.SpannerDatabaseIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#title SpannerDatabaseIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SpannerDatabaseIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#description SpannerDatabaseIamMember#description}.

---

### SpannerDatabaseIamMemberConfig <a name="SpannerDatabaseIamMemberConfig" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.Initializer"></a>

```typescript
import { SpannerDatabaseIamMemberConfig } from '@dschmidt/provider-google'

const spannerDatabaseIamMemberConfig: SpannerDatabaseIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.database">database</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#database SpannerDatabaseIamMember#database}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#instance SpannerDatabaseIamMember#instance}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#member SpannerDatabaseIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#role SpannerDatabaseIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberCondition">SpannerDatabaseIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#id SpannerDatabaseIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#project SpannerDatabaseIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#database SpannerDatabaseIamMember#database}.

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#instance SpannerDatabaseIamMember#instance}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#member SpannerDatabaseIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#role SpannerDatabaseIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: SpannerDatabaseIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerDatabaseIamMemberCondition">SpannerDatabaseIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#condition SpannerDatabaseIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#id SpannerDatabaseIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SpannerDatabaseIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_member#project SpannerDatabaseIamMember#project}.

---

### SpannerDatabaseIamPolicyConfig <a name="SpannerDatabaseIamPolicyConfig" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.Initializer"></a>

```typescript
import { SpannerDatabaseIamPolicyConfig } from '@dschmidt/provider-google'

const spannerDatabaseIamPolicyConfig: SpannerDatabaseIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.database">database</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#database SpannerDatabaseIamPolicy#database}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#instance SpannerDatabaseIamPolicy#instance}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#policy_data SpannerDatabaseIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#id SpannerDatabaseIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#project SpannerDatabaseIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `database`<sup>Required</sup> <a name="database" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.database"></a>

```typescript
public readonly database: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#database SpannerDatabaseIamPolicy#database}.

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#instance SpannerDatabaseIamPolicy#instance}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#policy_data SpannerDatabaseIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#id SpannerDatabaseIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SpannerDatabaseIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database_iam_policy#project SpannerDatabaseIamPolicy#project}.

---

### SpannerDatabaseTimeouts <a name="SpannerDatabaseTimeouts" id="@dschmidt/provider-google.SpannerDatabaseTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerDatabaseTimeouts.Initializer"></a>

```typescript
import { SpannerDatabaseTimeouts } from '@dschmidt/provider-google'

const spannerDatabaseTimeouts: SpannerDatabaseTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#create SpannerDatabase#create}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#delete SpannerDatabase#delete}. |
| <code><a href="#@dschmidt/provider-google.SpannerDatabaseTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#update SpannerDatabase#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SpannerDatabaseTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#create SpannerDatabase#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SpannerDatabaseTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#delete SpannerDatabase#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.SpannerDatabaseTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_database#update SpannerDatabase#update}.

---

### SpannerInstanceConfig <a name="SpannerInstanceConfig" id="@dschmidt/provider-google.SpannerInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerInstanceConfig.Initializer"></a>

```typescript
import { SpannerInstanceConfig } from '@dschmidt/provider-google'

const spannerInstanceConfig: SpannerInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.config">config</a></code> | <code>string</code> | The name of the instance's configuration (similar but not quite the same as a region) which defines the geographic placement and replication of your databases in this instance. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.displayName">displayName</a></code> | <code>string</code> | The descriptive name for this instance as it appears in UIs. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.forceDestroy">forceDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#force_destroy SpannerInstance#force_destroy}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#id SpannerInstance#id}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.name">name</a></code> | <code>string</code> | A unique identifier for the instance, which cannot be changed after the instance is created. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.numNodes">numNodes</a></code> | <code>number</code> | The number of nodes allocated to this instance. Exactly one of either node_count or processing_units must be present in terraform. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.processingUnits">processingUnits</a></code> | <code>number</code> | The number of processing units allocated to this instance. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#project SpannerInstance#project}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceTimeouts">SpannerInstanceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `config`<sup>Required</sup> <a name="config" id="@dschmidt/provider-google.SpannerInstanceConfig.property.config"></a>

```typescript
public readonly config: string;
```

- *Type:* string

The name of the instance's configuration (similar but not quite the same as a region) which defines the geographic placement and replication of your databases in this instance.

It determines where your data
is stored. Values are typically of the form 'regional-europe-west1' , 'us-central' etc.
In order to obtain a valid list please consult the
[Configuration section of the docs](https://cloud.google.com/spanner/docs/instances).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#config SpannerInstance#config}

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.SpannerInstanceConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The descriptive name for this instance as it appears in UIs.

Must be
unique per project and between 4 and 30 characters in length.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#display_name SpannerInstance#display_name}

---

##### `forceDestroy`<sup>Optional</sup> <a name="forceDestroy" id="@dschmidt/provider-google.SpannerInstanceConfig.property.forceDestroy"></a>

```typescript
public readonly forceDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#force_destroy SpannerInstance#force_destroy}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#id SpannerInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.SpannerInstanceConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#labels SpannerInstance#labels}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.SpannerInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

A unique identifier for the instance, which cannot be changed after the instance is created.

The name must be between 6 and 30 characters
in length.


If not provided, a random string starting with 'tf-' will be selected.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#name SpannerInstance#name}

---

##### `numNodes`<sup>Optional</sup> <a name="numNodes" id="@dschmidt/provider-google.SpannerInstanceConfig.property.numNodes"></a>

```typescript
public readonly numNodes: number;
```

- *Type:* number

The number of nodes allocated to this instance. Exactly one of either node_count or processing_units must be present in terraform.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#num_nodes SpannerInstance#num_nodes}

---

##### `processingUnits`<sup>Optional</sup> <a name="processingUnits" id="@dschmidt/provider-google.SpannerInstanceConfig.property.processingUnits"></a>

```typescript
public readonly processingUnits: number;
```

- *Type:* number

The number of processing units allocated to this instance.

Exactly one of processing_units 
or node_count must be present in terraform.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#processing_units SpannerInstance#processing_units}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SpannerInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#project SpannerInstance#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SpannerInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SpannerInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceTimeouts">SpannerInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#timeouts SpannerInstance#timeouts}

---

### SpannerInstanceIamBindingCondition <a name="SpannerInstanceIamBindingCondition" id="@dschmidt/provider-google.SpannerInstanceIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerInstanceIamBindingCondition.Initializer"></a>

```typescript
import { SpannerInstanceIamBindingCondition } from '@dschmidt/provider-google'

const spannerInstanceIamBindingCondition: SpannerInstanceIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#expression SpannerInstanceIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#title SpannerInstanceIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#description SpannerInstanceIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.SpannerInstanceIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#expression SpannerInstanceIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.SpannerInstanceIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#title SpannerInstanceIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SpannerInstanceIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#description SpannerInstanceIamBinding#description}.

---

### SpannerInstanceIamBindingConfig <a name="SpannerInstanceIamBindingConfig" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.Initializer"></a>

```typescript
import { SpannerInstanceIamBindingConfig } from '@dschmidt/provider-google'

const spannerInstanceIamBindingConfig: SpannerInstanceIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#instance SpannerInstanceIamBinding#instance}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#members SpannerInstanceIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#role SpannerInstanceIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingCondition">SpannerInstanceIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#id SpannerInstanceIamBinding#id}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#project SpannerInstanceIamBinding#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#instance SpannerInstanceIamBinding#instance}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#members SpannerInstanceIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#role SpannerInstanceIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: SpannerInstanceIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamBindingCondition">SpannerInstanceIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#condition SpannerInstanceIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#id SpannerInstanceIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SpannerInstanceIamBindingConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_binding#project SpannerInstanceIamBinding#project}.

---

### SpannerInstanceIamMemberCondition <a name="SpannerInstanceIamMemberCondition" id="@dschmidt/provider-google.SpannerInstanceIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerInstanceIamMemberCondition.Initializer"></a>

```typescript
import { SpannerInstanceIamMemberCondition } from '@dschmidt/provider-google'

const spannerInstanceIamMemberCondition: SpannerInstanceIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#expression SpannerInstanceIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#title SpannerInstanceIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#description SpannerInstanceIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.SpannerInstanceIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#expression SpannerInstanceIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.SpannerInstanceIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#title SpannerInstanceIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.SpannerInstanceIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#description SpannerInstanceIamMember#description}.

---

### SpannerInstanceIamMemberConfig <a name="SpannerInstanceIamMemberConfig" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.Initializer"></a>

```typescript
import { SpannerInstanceIamMemberConfig } from '@dschmidt/provider-google'

const spannerInstanceIamMemberConfig: SpannerInstanceIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#instance SpannerInstanceIamMember#instance}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#member SpannerInstanceIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#role SpannerInstanceIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberCondition">SpannerInstanceIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#id SpannerInstanceIamMember#id}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#project SpannerInstanceIamMember#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#instance SpannerInstanceIamMember#instance}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#member SpannerInstanceIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#role SpannerInstanceIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: SpannerInstanceIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.SpannerInstanceIamMemberCondition">SpannerInstanceIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#condition SpannerInstanceIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#id SpannerInstanceIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SpannerInstanceIamMemberConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_member#project SpannerInstanceIamMember#project}.

---

### SpannerInstanceIamPolicyConfig <a name="SpannerInstanceIamPolicyConfig" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.Initializer"></a>

```typescript
import { SpannerInstanceIamPolicyConfig } from '@dschmidt/provider-google'

const spannerInstanceIamPolicyConfig: SpannerInstanceIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.instance">instance</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_policy#instance SpannerInstanceIamPolicy#instance}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_policy#policy_data SpannerInstanceIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_policy#id SpannerInstanceIamPolicy#id}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_policy#project SpannerInstanceIamPolicy#project}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_policy#instance SpannerInstanceIamPolicy#instance}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_policy#policy_data SpannerInstanceIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_policy#id SpannerInstanceIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SpannerInstanceIamPolicyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance_iam_policy#project SpannerInstanceIamPolicy#project}.

---

### SpannerInstanceTimeouts <a name="SpannerInstanceTimeouts" id="@dschmidt/provider-google.SpannerInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SpannerInstanceTimeouts.Initializer"></a>

```typescript
import { SpannerInstanceTimeouts } from '@dschmidt/provider-google'

const spannerInstanceTimeouts: SpannerInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#create SpannerInstance#create}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#delete SpannerInstance#delete}. |
| <code><a href="#@dschmidt/provider-google.SpannerInstanceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#update SpannerInstance#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SpannerInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#create SpannerInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SpannerInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#delete SpannerInstance#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.SpannerInstanceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/spanner_instance#update SpannerInstance#update}.

---

### SqlDatabaseConfig <a name="SqlDatabaseConfig" id="@dschmidt/provider-google.SqlDatabaseConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseConfig.Initializer"></a>

```typescript
import { SqlDatabaseConfig } from '@dschmidt/provider-google'

const sqlDatabaseConfig: SqlDatabaseConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.instance">instance</a></code> | <code>string</code> | The name of the Cloud SQL instance. This does not include the project ID. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.name">name</a></code> | <code>string</code> | The name of the database in the Cloud SQL instance. This does not include the project ID or instance name. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.charset">charset</a></code> | <code>string</code> | The charset value. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.collation">collation</a></code> | <code>string</code> | The collation value. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#id SqlDatabase#id}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#project SqlDatabase#project}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseTimeouts">SqlDatabaseTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlDatabaseConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlDatabaseConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlDatabaseConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlDatabaseConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlDatabaseConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlDatabaseConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlDatabaseConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SqlDatabaseConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

The name of the Cloud SQL instance. This does not include the project ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#instance SqlDatabase#instance}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SqlDatabaseConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the database in the Cloud SQL instance. This does not include the project ID or instance name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#name SqlDatabase#name}

---

##### `charset`<sup>Optional</sup> <a name="charset" id="@dschmidt/provider-google.SqlDatabaseConfig.property.charset"></a>

```typescript
public readonly charset: string;
```

- *Type:* string

The charset value.

See MySQL's
[Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html)
and Postgres' [Character Set Support](https://www.postgresql.org/docs/9.6/static/multibyte.html)
for more details and supported values. Postgres databases only support
a value of 'UTF8' at creation time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#charset SqlDatabase#charset}

---

##### `collation`<sup>Optional</sup> <a name="collation" id="@dschmidt/provider-google.SqlDatabaseConfig.property.collation"></a>

```typescript
public readonly collation: string;
```

- *Type:* string

The collation value.

See MySQL's
[Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html)
and Postgres' [Collation Support](https://www.postgresql.org/docs/9.6/static/collation.html)
for more details and supported values. Postgres databases only support
a value of 'en_US.UTF8' at creation time.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#collation SqlDatabase#collation}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SqlDatabaseConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#id SqlDatabase#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SqlDatabaseConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#project SqlDatabase#project}.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlDatabaseConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SqlDatabaseTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseTimeouts">SqlDatabaseTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#timeouts SqlDatabase#timeouts}

---

### SqlDatabaseInstanceClone <a name="SqlDatabaseInstanceClone" id="@dschmidt/provider-google.SqlDatabaseInstanceClone"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceClone.Initializer"></a>

```typescript
import { SqlDatabaseInstanceClone } from '@dschmidt/provider-google'

const sqlDatabaseInstanceClone: SqlDatabaseInstanceClone = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceClone.property.sourceInstanceName">sourceInstanceName</a></code> | <code>string</code> | The name of the instance from which the point in time should be restored. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceClone.property.allocatedIpRange">allocatedIpRange</a></code> | <code>string</code> | The name of the allocated ip range for the private ip CloudSQL instance. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceClone.property.pointInTime">pointInTime</a></code> | <code>string</code> | The timestamp of the point in time that should be restored. |

---

##### `sourceInstanceName`<sup>Required</sup> <a name="sourceInstanceName" id="@dschmidt/provider-google.SqlDatabaseInstanceClone.property.sourceInstanceName"></a>

```typescript
public readonly sourceInstanceName: string;
```

- *Type:* string

The name of the instance from which the point in time should be restored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#source_instance_name SqlDatabaseInstance#source_instance_name}

---

##### `allocatedIpRange`<sup>Optional</sup> <a name="allocatedIpRange" id="@dschmidt/provider-google.SqlDatabaseInstanceClone.property.allocatedIpRange"></a>

```typescript
public readonly allocatedIpRange: string;
```

- *Type:* string

The name of the allocated ip range for the private ip CloudSQL instance.

For example: "google-managed-services-default". If set, the cloned instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#allocated_ip_range SqlDatabaseInstance#allocated_ip_range}

---

##### `pointInTime`<sup>Optional</sup> <a name="pointInTime" id="@dschmidt/provider-google.SqlDatabaseInstanceClone.property.pointInTime"></a>

```typescript
public readonly pointInTime: string;
```

- *Type:* string

The timestamp of the point in time that should be restored.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#point_in_time SqlDatabaseInstance#point_in_time}

---

### SqlDatabaseInstanceConfig <a name="SqlDatabaseInstanceConfig" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.Initializer"></a>

```typescript
import { SqlDatabaseInstanceConfig } from '@dschmidt/provider-google'

const sqlDatabaseInstanceConfig: SqlDatabaseInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.databaseVersion">databaseVersion</a></code> | <code>string</code> | The MySQL, PostgreSQL or SQL Server (beta) version to use. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.clone">clone</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceClone">SqlDatabaseInstanceClone</a></code> | clone block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.deletionProtection">deletionProtection</a></code> | <code>boolean \| cdktf.IResolvable</code> | Used to block Terraform from deleting a SQL Instance. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.encryptionKeyName">encryptionKeyName</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#encryption_key_name SqlDatabaseInstance#encryption_key_name}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#id SqlDatabaseInstance#id}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.masterInstanceName">masterInstanceName</a></code> | <code>string</code> | The name of the instance that will act as the master in the replication setup. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.name">name</a></code> | <code>string</code> | The name of the instance. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.region">region</a></code> | <code>string</code> | The region the instance will sit in. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.replicaConfiguration">replicaConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration">SqlDatabaseInstanceReplicaConfiguration</a></code> | replica_configuration block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.restoreBackupContext">restoreBackupContext</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext">SqlDatabaseInstanceRestoreBackupContext</a></code> | restore_backup_context block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.rootPassword">rootPassword</a></code> | <code>string</code> | Initial root password. Required for MS SQL Server. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.settings">settings</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings">SqlDatabaseInstanceSettings</a></code> | settings block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeouts">SqlDatabaseInstanceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `databaseVersion`<sup>Required</sup> <a name="databaseVersion" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.databaseVersion"></a>

```typescript
public readonly databaseVersion: string;
```

- *Type:* string

The MySQL, PostgreSQL or SQL Server (beta) version to use.

Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13, POSTGRES_14, SQLSERVER_2017_STANDARD, SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB. Database Version Policies includes an up-to-date reference of supported versions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#database_version SqlDatabaseInstance#database_version}

---

##### `clone`<sup>Optional</sup> <a name="clone" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.clone"></a>

```typescript
public readonly clone: SqlDatabaseInstanceClone;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceClone">SqlDatabaseInstanceClone</a>

clone block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#clone SqlDatabaseInstance#clone}

---

##### `deletionProtection`<sup>Optional</sup> <a name="deletionProtection" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.deletionProtection"></a>

```typescript
public readonly deletionProtection: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Used to block Terraform from deleting a SQL Instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#deletion_protection SqlDatabaseInstance#deletion_protection}

---

##### `encryptionKeyName`<sup>Optional</sup> <a name="encryptionKeyName" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.encryptionKeyName"></a>

```typescript
public readonly encryptionKeyName: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#encryption_key_name SqlDatabaseInstance#encryption_key_name}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#id SqlDatabaseInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `masterInstanceName`<sup>Optional</sup> <a name="masterInstanceName" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.masterInstanceName"></a>

```typescript
public readonly masterInstanceName: string;
```

- *Type:* string

The name of the instance that will act as the master in the replication setup.

Note, this requires the master to have binary_log_enabled set, as well as existing backups.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#master_instance_name SqlDatabaseInstance#master_instance_name}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the instance.

If the name is left blank, Terraform will randomly generate one when the instance is first created. This is done because after a name is used, it cannot be reused for up to one week.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#name SqlDatabaseInstance#name}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#project SqlDatabaseInstance#project}

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region the instance will sit in.

Note, Cloud SQL is not available in all regions. A valid region must be provided to use this resource. If a region is not provided in the resource definition, the provider region will be used instead, but this will be an apply-time error for instances if the provider region is not supported with Cloud SQL. If you choose not to provide the region argument for this resource, make sure you understand this.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#region SqlDatabaseInstance#region}

---

##### `replicaConfiguration`<sup>Optional</sup> <a name="replicaConfiguration" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.replicaConfiguration"></a>

```typescript
public readonly replicaConfiguration: SqlDatabaseInstanceReplicaConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration">SqlDatabaseInstanceReplicaConfiguration</a>

replica_configuration block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#replica_configuration SqlDatabaseInstance#replica_configuration}

---

##### `restoreBackupContext`<sup>Optional</sup> <a name="restoreBackupContext" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.restoreBackupContext"></a>

```typescript
public readonly restoreBackupContext: SqlDatabaseInstanceRestoreBackupContext;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext">SqlDatabaseInstanceRestoreBackupContext</a>

restore_backup_context block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#restore_backup_context SqlDatabaseInstance#restore_backup_context}

---

##### `rootPassword`<sup>Optional</sup> <a name="rootPassword" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.rootPassword"></a>

```typescript
public readonly rootPassword: string;
```

- *Type:* string

Initial root password. Required for MS SQL Server.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#root_password SqlDatabaseInstance#root_password}

---

##### `settings`<sup>Optional</sup> <a name="settings" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.settings"></a>

```typescript
public readonly settings: SqlDatabaseInstanceSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings">SqlDatabaseInstanceSettings</a>

settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#settings SqlDatabaseInstance#settings}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlDatabaseInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SqlDatabaseInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeouts">SqlDatabaseInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#timeouts SqlDatabaseInstance#timeouts}

---

### SqlDatabaseInstanceIpAddress <a name="SqlDatabaseInstanceIpAddress" id="@dschmidt/provider-google.SqlDatabaseInstanceIpAddress"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceIpAddress.Initializer"></a>

```typescript
import { SqlDatabaseInstanceIpAddress } from '@dschmidt/provider-google'

const sqlDatabaseInstanceIpAddress: SqlDatabaseInstanceIpAddress = { ... }
```


### SqlDatabaseInstanceReplicaConfiguration <a name="SqlDatabaseInstanceReplicaConfiguration" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.Initializer"></a>

```typescript
import { SqlDatabaseInstanceReplicaConfiguration } from '@dschmidt/provider-google'

const sqlDatabaseInstanceReplicaConfiguration: SqlDatabaseInstanceReplicaConfiguration = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.caCertificate">caCertificate</a></code> | <code>string</code> | PEM representation of the trusted CA's x509 certificate. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.clientCertificate">clientCertificate</a></code> | <code>string</code> | PEM representation of the replica's x509 certificate. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.clientKey">clientKey</a></code> | <code>string</code> | PEM representation of the replica's private key. The corresponding public key in encoded in the client_certificate. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.connectRetryInterval">connectRetryInterval</a></code> | <code>number</code> | The number of seconds between connect retries. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.dumpFilePath">dumpFilePath</a></code> | <code>string</code> | Path to a SQL file in Google Cloud Storage from which replica instances are created. Format is gs://bucket/filename. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.failoverTarget">failoverTarget</a></code> | <code>boolean \| cdktf.IResolvable</code> | Specifies if the replica is the failover target. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.masterHeartbeatPeriod">masterHeartbeatPeriod</a></code> | <code>number</code> | Time in ms between replication heartbeats. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.password">password</a></code> | <code>string</code> | Password for the replication connection. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.sslCipher">sslCipher</a></code> | <code>string</code> | Permissible ciphers for use in SSL encryption. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.username">username</a></code> | <code>string</code> | Username for replication connection. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.verifyServerCertificate">verifyServerCertificate</a></code> | <code>boolean \| cdktf.IResolvable</code> | True if the master's common name value is checked during the SSL handshake. |

---

##### `caCertificate`<sup>Optional</sup> <a name="caCertificate" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.caCertificate"></a>

```typescript
public readonly caCertificate: string;
```

- *Type:* string

PEM representation of the trusted CA's x509 certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#ca_certificate SqlDatabaseInstance#ca_certificate}

---

##### `clientCertificate`<sup>Optional</sup> <a name="clientCertificate" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.clientCertificate"></a>

```typescript
public readonly clientCertificate: string;
```

- *Type:* string

PEM representation of the replica's x509 certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#client_certificate SqlDatabaseInstance#client_certificate}

---

##### `clientKey`<sup>Optional</sup> <a name="clientKey" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.clientKey"></a>

```typescript
public readonly clientKey: string;
```

- *Type:* string

PEM representation of the replica's private key. The corresponding public key in encoded in the client_certificate.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#client_key SqlDatabaseInstance#client_key}

---

##### `connectRetryInterval`<sup>Optional</sup> <a name="connectRetryInterval" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.connectRetryInterval"></a>

```typescript
public readonly connectRetryInterval: number;
```

- *Type:* number

The number of seconds between connect retries.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#connect_retry_interval SqlDatabaseInstance#connect_retry_interval}

---

##### `dumpFilePath`<sup>Optional</sup> <a name="dumpFilePath" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.dumpFilePath"></a>

```typescript
public readonly dumpFilePath: string;
```

- *Type:* string

Path to a SQL file in Google Cloud Storage from which replica instances are created. Format is gs://bucket/filename.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#dump_file_path SqlDatabaseInstance#dump_file_path}

---

##### `failoverTarget`<sup>Optional</sup> <a name="failoverTarget" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.failoverTarget"></a>

```typescript
public readonly failoverTarget: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Specifies if the replica is the failover target.

If the field is set to true the replica will be designated as a failover replica. If the master instance fails, the replica instance will be promoted as the new master instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#failover_target SqlDatabaseInstance#failover_target}

---

##### `masterHeartbeatPeriod`<sup>Optional</sup> <a name="masterHeartbeatPeriod" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.masterHeartbeatPeriod"></a>

```typescript
public readonly masterHeartbeatPeriod: number;
```

- *Type:* number

Time in ms between replication heartbeats.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#master_heartbeat_period SqlDatabaseInstance#master_heartbeat_period}

---

##### `password`<sup>Optional</sup> <a name="password" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.password"></a>

```typescript
public readonly password: string;
```

- *Type:* string

Password for the replication connection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#password SqlDatabaseInstance#password}

---

##### `sslCipher`<sup>Optional</sup> <a name="sslCipher" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.sslCipher"></a>

```typescript
public readonly sslCipher: string;
```

- *Type:* string

Permissible ciphers for use in SSL encryption.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#ssl_cipher SqlDatabaseInstance#ssl_cipher}

---

##### `username`<sup>Optional</sup> <a name="username" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.username"></a>

```typescript
public readonly username: string;
```

- *Type:* string

Username for replication connection.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#username SqlDatabaseInstance#username}

---

##### `verifyServerCertificate`<sup>Optional</sup> <a name="verifyServerCertificate" id="@dschmidt/provider-google.SqlDatabaseInstanceReplicaConfiguration.property.verifyServerCertificate"></a>

```typescript
public readonly verifyServerCertificate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

True if the master's common name value is checked during the SSL handshake.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#verify_server_certificate SqlDatabaseInstance#verify_server_certificate}

---

### SqlDatabaseInstanceRestoreBackupContext <a name="SqlDatabaseInstanceRestoreBackupContext" id="@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext.Initializer"></a>

```typescript
import { SqlDatabaseInstanceRestoreBackupContext } from '@dschmidt/provider-google'

const sqlDatabaseInstanceRestoreBackupContext: SqlDatabaseInstanceRestoreBackupContext = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext.property.backupRunId">backupRunId</a></code> | <code>number</code> | The ID of the backup run to restore from. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext.property.instanceId">instanceId</a></code> | <code>string</code> | The ID of the instance that the backup was taken from. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext.property.project">project</a></code> | <code>string</code> | The full project ID of the source instance. |

---

##### `backupRunId`<sup>Required</sup> <a name="backupRunId" id="@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext.property.backupRunId"></a>

```typescript
public readonly backupRunId: number;
```

- *Type:* number

The ID of the backup run to restore from.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#backup_run_id SqlDatabaseInstance#backup_run_id}

---

##### `instanceId`<sup>Optional</sup> <a name="instanceId" id="@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext.property.instanceId"></a>

```typescript
public readonly instanceId: string;
```

- *Type:* string

The ID of the instance that the backup was taken from.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#instance_id SqlDatabaseInstance#instance_id}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SqlDatabaseInstanceRestoreBackupContext.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The full project ID of the source instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#project SqlDatabaseInstance#project}

---

### SqlDatabaseInstanceServerCaCert <a name="SqlDatabaseInstanceServerCaCert" id="@dschmidt/provider-google.SqlDatabaseInstanceServerCaCert"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceServerCaCert.Initializer"></a>

```typescript
import { SqlDatabaseInstanceServerCaCert } from '@dschmidt/provider-google'

const sqlDatabaseInstanceServerCaCert: SqlDatabaseInstanceServerCaCert = { ... }
```


### SqlDatabaseInstanceSettings <a name="SqlDatabaseInstanceSettings" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettings } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettings: SqlDatabaseInstanceSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.tier">tier</a></code> | <code>string</code> | The machine type to use. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.activationPolicy">activationPolicy</a></code> | <code>string</code> | This specifies when the instance should be active. Can be either ALWAYS, NEVER or ON_DEMAND. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.activeDirectoryConfig">activeDirectoryConfig</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsActiveDirectoryConfig">SqlDatabaseInstanceSettingsActiveDirectoryConfig</a></code> | active_directory_config block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.availabilityType">availabilityType</a></code> | <code>string</code> | The availability type of the Cloud SQL instance, high availability (REGIONAL) or single zone (ZONAL). |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.backupConfiguration">backupConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration">SqlDatabaseInstanceSettingsBackupConfiguration</a></code> | backup_configuration block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.collation">collation</a></code> | <code>string</code> | The name of server instance collation. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.databaseFlags">databaseFlags</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsDatabaseFlags">SqlDatabaseInstanceSettingsDatabaseFlags</a>[]</code> | database_flags block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.diskAutoresize">diskAutoresize</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enables auto-resizing of the storage size. Defaults to true. Set to false if you want to set disk_size. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.diskAutoresizeLimit">diskAutoresizeLimit</a></code> | <code>number</code> | The maximum size, in GB, to which storage capacity can be automatically increased. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.diskSize">diskSize</a></code> | <code>number</code> | The size of data disk, in GB. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.diskType">diskType</a></code> | <code>string</code> | The type of data disk: PD_SSD or PD_HDD. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.insightsConfig">insightsConfig</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig">SqlDatabaseInstanceSettingsInsightsConfig</a></code> | insights_config block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.ipConfiguration">ipConfiguration</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration">SqlDatabaseInstanceSettingsIpConfiguration</a></code> | ip_configuration block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.locationPreference">locationPreference</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference">SqlDatabaseInstanceSettingsLocationPreference</a></code> | location_preference block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.maintenanceWindow">maintenanceWindow</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow">SqlDatabaseInstanceSettingsMaintenanceWindow</a></code> | maintenance_window block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.passwordValidationPolicy">passwordValidationPolicy</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy">SqlDatabaseInstanceSettingsPasswordValidationPolicy</a></code> | password_validation_policy block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.pricingPlan">pricingPlan</a></code> | <code>string</code> | Pricing plan for this instance, can only be PER_USE. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.sqlServerAuditConfig">sqlServerAuditConfig</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig">SqlDatabaseInstanceSettingsSqlServerAuditConfig</a></code> | sql_server_audit_config block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.userLabels">userLabels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value user label pairs to assign to the instance. |

---

##### `tier`<sup>Required</sup> <a name="tier" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.tier"></a>

```typescript
public readonly tier: string;
```

- *Type:* string

The machine type to use.

See tiers for more details and supported versions. Postgres supports only shared-core machine types, and custom machine types such as db-custom-2-13312. See the Custom Machine Type Documentation to learn about specifying custom machine types.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#tier SqlDatabaseInstance#tier}

---

##### `activationPolicy`<sup>Optional</sup> <a name="activationPolicy" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.activationPolicy"></a>

```typescript
public readonly activationPolicy: string;
```

- *Type:* string

This specifies when the instance should be active. Can be either ALWAYS, NEVER or ON_DEMAND.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#activation_policy SqlDatabaseInstance#activation_policy}

---

##### `activeDirectoryConfig`<sup>Optional</sup> <a name="activeDirectoryConfig" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.activeDirectoryConfig"></a>

```typescript
public readonly activeDirectoryConfig: SqlDatabaseInstanceSettingsActiveDirectoryConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsActiveDirectoryConfig">SqlDatabaseInstanceSettingsActiveDirectoryConfig</a>

active_directory_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#active_directory_config SqlDatabaseInstance#active_directory_config}

---

##### `availabilityType`<sup>Optional</sup> <a name="availabilityType" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.availabilityType"></a>

```typescript
public readonly availabilityType: string;
```

- *Type:* string

The availability type of the Cloud SQL instance, high availability (REGIONAL) or single zone (ZONAL).

For all instances, ensure that
settings.backup_configuration.enabled is set to true.
For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled is set to true.
For Postgres instances, ensure that settings.backup_configuration.point_in_time_recovery_enabled
is set to true.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#availability_type SqlDatabaseInstance#availability_type}

---

##### `backupConfiguration`<sup>Optional</sup> <a name="backupConfiguration" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.backupConfiguration"></a>

```typescript
public readonly backupConfiguration: SqlDatabaseInstanceSettingsBackupConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration">SqlDatabaseInstanceSettingsBackupConfiguration</a>

backup_configuration block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#backup_configuration SqlDatabaseInstance#backup_configuration}

---

##### `collation`<sup>Optional</sup> <a name="collation" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.collation"></a>

```typescript
public readonly collation: string;
```

- *Type:* string

The name of server instance collation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#collation SqlDatabaseInstance#collation}

---

##### `databaseFlags`<sup>Optional</sup> <a name="databaseFlags" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.databaseFlags"></a>

```typescript
public readonly databaseFlags: IResolvable | SqlDatabaseInstanceSettingsDatabaseFlags[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsDatabaseFlags">SqlDatabaseInstanceSettingsDatabaseFlags</a>[]

database_flags block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#database_flags SqlDatabaseInstance#database_flags}

---

##### `diskAutoresize`<sup>Optional</sup> <a name="diskAutoresize" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.diskAutoresize"></a>

```typescript
public readonly diskAutoresize: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enables auto-resizing of the storage size. Defaults to true. Set to false if you want to set disk_size.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#disk_autoresize SqlDatabaseInstance#disk_autoresize}

---

##### `diskAutoresizeLimit`<sup>Optional</sup> <a name="diskAutoresizeLimit" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.diskAutoresizeLimit"></a>

```typescript
public readonly diskAutoresizeLimit: number;
```

- *Type:* number

The maximum size, in GB, to which storage capacity can be automatically increased.

The default value is 0, which specifies that there is no limit.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#disk_autoresize_limit SqlDatabaseInstance#disk_autoresize_limit}

---

##### `diskSize`<sup>Optional</sup> <a name="diskSize" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.diskSize"></a>

```typescript
public readonly diskSize: number;
```

- *Type:* number

The size of data disk, in GB.

Size of a running instance cannot be reduced but can be increased. If you want to set this field, set disk_autoresize to false.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#disk_size SqlDatabaseInstance#disk_size}

---

##### `diskType`<sup>Optional</sup> <a name="diskType" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.diskType"></a>

```typescript
public readonly diskType: string;
```

- *Type:* string

The type of data disk: PD_SSD or PD_HDD.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#disk_type SqlDatabaseInstance#disk_type}

---

##### `insightsConfig`<sup>Optional</sup> <a name="insightsConfig" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.insightsConfig"></a>

```typescript
public readonly insightsConfig: SqlDatabaseInstanceSettingsInsightsConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig">SqlDatabaseInstanceSettingsInsightsConfig</a>

insights_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#insights_config SqlDatabaseInstance#insights_config}

---

##### `ipConfiguration`<sup>Optional</sup> <a name="ipConfiguration" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.ipConfiguration"></a>

```typescript
public readonly ipConfiguration: SqlDatabaseInstanceSettingsIpConfiguration;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration">SqlDatabaseInstanceSettingsIpConfiguration</a>

ip_configuration block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#ip_configuration SqlDatabaseInstance#ip_configuration}

---

##### `locationPreference`<sup>Optional</sup> <a name="locationPreference" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.locationPreference"></a>

```typescript
public readonly locationPreference: SqlDatabaseInstanceSettingsLocationPreference;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference">SqlDatabaseInstanceSettingsLocationPreference</a>

location_preference block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#location_preference SqlDatabaseInstance#location_preference}

---

##### `maintenanceWindow`<sup>Optional</sup> <a name="maintenanceWindow" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.maintenanceWindow"></a>

```typescript
public readonly maintenanceWindow: SqlDatabaseInstanceSettingsMaintenanceWindow;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow">SqlDatabaseInstanceSettingsMaintenanceWindow</a>

maintenance_window block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#maintenance_window SqlDatabaseInstance#maintenance_window}

---

##### `passwordValidationPolicy`<sup>Optional</sup> <a name="passwordValidationPolicy" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.passwordValidationPolicy"></a>

```typescript
public readonly passwordValidationPolicy: SqlDatabaseInstanceSettingsPasswordValidationPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy">SqlDatabaseInstanceSettingsPasswordValidationPolicy</a>

password_validation_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#password_validation_policy SqlDatabaseInstance#password_validation_policy}

---

##### `pricingPlan`<sup>Optional</sup> <a name="pricingPlan" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.pricingPlan"></a>

```typescript
public readonly pricingPlan: string;
```

- *Type:* string

Pricing plan for this instance, can only be PER_USE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#pricing_plan SqlDatabaseInstance#pricing_plan}

---

##### `sqlServerAuditConfig`<sup>Optional</sup> <a name="sqlServerAuditConfig" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.sqlServerAuditConfig"></a>

```typescript
public readonly sqlServerAuditConfig: SqlDatabaseInstanceSettingsSqlServerAuditConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig">SqlDatabaseInstanceSettingsSqlServerAuditConfig</a>

sql_server_audit_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#sql_server_audit_config SqlDatabaseInstance#sql_server_audit_config}

---

##### `userLabels`<sup>Optional</sup> <a name="userLabels" id="@dschmidt/provider-google.SqlDatabaseInstanceSettings.property.userLabels"></a>

```typescript
public readonly userLabels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value user label pairs to assign to the instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#user_labels SqlDatabaseInstance#user_labels}

---

### SqlDatabaseInstanceSettingsActiveDirectoryConfig <a name="SqlDatabaseInstanceSettingsActiveDirectoryConfig" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsActiveDirectoryConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsActiveDirectoryConfig.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsActiveDirectoryConfig } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsActiveDirectoryConfig: SqlDatabaseInstanceSettingsActiveDirectoryConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsActiveDirectoryConfig.property.domain">domain</a></code> | <code>string</code> | Domain name of the Active Directory for SQL Server (e.g., mydomain.com). |

---

##### `domain`<sup>Required</sup> <a name="domain" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsActiveDirectoryConfig.property.domain"></a>

```typescript
public readonly domain: string;
```

- *Type:* string

Domain name of the Active Directory for SQL Server (e.g., mydomain.com).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#domain SqlDatabaseInstance#domain}

---

### SqlDatabaseInstanceSettingsBackupConfiguration <a name="SqlDatabaseInstanceSettingsBackupConfiguration" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsBackupConfiguration } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsBackupConfiguration: SqlDatabaseInstanceSettingsBackupConfiguration = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.backupRetentionSettings">backupRetentionSettings</a></code> | <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings">SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings</a></code> | backup_retention_settings block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.binaryLogEnabled">binaryLogEnabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | True if binary logging is enabled. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | True if backup configuration is enabled. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.location">location</a></code> | <code>string</code> | Location of the backup configuration. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.pointInTimeRecoveryEnabled">pointInTimeRecoveryEnabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | True if Point-in-time recovery is enabled. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.startTime">startTime</a></code> | <code>string</code> | HH:MM format time indicating when backup configuration starts. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.transactionLogRetentionDays">transactionLogRetentionDays</a></code> | <code>number</code> | The number of days of transaction logs we retain for point in time restore, from 1-7. |

---

##### `backupRetentionSettings`<sup>Optional</sup> <a name="backupRetentionSettings" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.backupRetentionSettings"></a>

```typescript
public readonly backupRetentionSettings: SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings">SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings</a>

backup_retention_settings block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#backup_retention_settings SqlDatabaseInstance#backup_retention_settings}

---

##### `binaryLogEnabled`<sup>Optional</sup> <a name="binaryLogEnabled" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.binaryLogEnabled"></a>

```typescript
public readonly binaryLogEnabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

True if binary logging is enabled.

If settings.backup_configuration.enabled is false, this must be as well. Can only be used with MySQL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#binary_log_enabled SqlDatabaseInstance#binary_log_enabled}

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

True if backup configuration is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#enabled SqlDatabaseInstance#enabled}

---

##### `location`<sup>Optional</sup> <a name="location" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

Location of the backup configuration.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#location SqlDatabaseInstance#location}

---

##### `pointInTimeRecoveryEnabled`<sup>Optional</sup> <a name="pointInTimeRecoveryEnabled" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.pointInTimeRecoveryEnabled"></a>

```typescript
public readonly pointInTimeRecoveryEnabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

True if Point-in-time recovery is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#point_in_time_recovery_enabled SqlDatabaseInstance#point_in_time_recovery_enabled}

---

##### `startTime`<sup>Optional</sup> <a name="startTime" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.startTime"></a>

```typescript
public readonly startTime: string;
```

- *Type:* string

HH:MM format time indicating when backup configuration starts.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#start_time SqlDatabaseInstance#start_time}

---

##### `transactionLogRetentionDays`<sup>Optional</sup> <a name="transactionLogRetentionDays" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfiguration.property.transactionLogRetentionDays"></a>

```typescript
public readonly transactionLogRetentionDays: number;
```

- *Type:* number

The number of days of transaction logs we retain for point in time restore, from 1-7.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#transaction_log_retention_days SqlDatabaseInstance#transaction_log_retention_days}

---

### SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings <a name="SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings: SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings.property.retainedBackups">retainedBackups</a></code> | <code>number</code> | Number of backups to retain. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings.property.retentionUnit">retentionUnit</a></code> | <code>string</code> | The unit that 'retainedBackups' represents. Defaults to COUNT. |

---

##### `retainedBackups`<sup>Required</sup> <a name="retainedBackups" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings.property.retainedBackups"></a>

```typescript
public readonly retainedBackups: number;
```

- *Type:* number

Number of backups to retain.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#retained_backups SqlDatabaseInstance#retained_backups}

---

##### `retentionUnit`<sup>Optional</sup> <a name="retentionUnit" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings.property.retentionUnit"></a>

```typescript
public readonly retentionUnit: string;
```

- *Type:* string

The unit that 'retainedBackups' represents. Defaults to COUNT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#retention_unit SqlDatabaseInstance#retention_unit}

---

### SqlDatabaseInstanceSettingsDatabaseFlags <a name="SqlDatabaseInstanceSettingsDatabaseFlags" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsDatabaseFlags"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsDatabaseFlags.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsDatabaseFlags } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsDatabaseFlags: SqlDatabaseInstanceSettingsDatabaseFlags = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsDatabaseFlags.property.name">name</a></code> | <code>string</code> | Name of the flag. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsDatabaseFlags.property.value">value</a></code> | <code>string</code> | Value of the flag. |

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsDatabaseFlags.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the flag.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#name SqlDatabaseInstance#name}

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsDatabaseFlags.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Value of the flag.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#value SqlDatabaseInstance#value}

---

### SqlDatabaseInstanceSettingsInsightsConfig <a name="SqlDatabaseInstanceSettingsInsightsConfig" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsInsightsConfig } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsInsightsConfig: SqlDatabaseInstanceSettingsInsightsConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig.property.queryInsightsEnabled">queryInsightsEnabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | True if Query Insights feature is enabled. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig.property.queryStringLength">queryStringLength</a></code> | <code>number</code> | Maximum query length stored in bytes. Between 256 and 4500. Default to 1024. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig.property.recordApplicationTags">recordApplicationTags</a></code> | <code>boolean \| cdktf.IResolvable</code> | True if Query Insights will record application tags from query when enabled. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig.property.recordClientAddress">recordClientAddress</a></code> | <code>boolean \| cdktf.IResolvable</code> | True if Query Insights will record client address when enabled. |

---

##### `queryInsightsEnabled`<sup>Optional</sup> <a name="queryInsightsEnabled" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig.property.queryInsightsEnabled"></a>

```typescript
public readonly queryInsightsEnabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

True if Query Insights feature is enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#query_insights_enabled SqlDatabaseInstance#query_insights_enabled}

---

##### `queryStringLength`<sup>Optional</sup> <a name="queryStringLength" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig.property.queryStringLength"></a>

```typescript
public readonly queryStringLength: number;
```

- *Type:* number

Maximum query length stored in bytes. Between 256 and 4500. Default to 1024.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#query_string_length SqlDatabaseInstance#query_string_length}

---

##### `recordApplicationTags`<sup>Optional</sup> <a name="recordApplicationTags" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig.property.recordApplicationTags"></a>

```typescript
public readonly recordApplicationTags: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

True if Query Insights will record application tags from query when enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#record_application_tags SqlDatabaseInstance#record_application_tags}

---

##### `recordClientAddress`<sup>Optional</sup> <a name="recordClientAddress" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsInsightsConfig.property.recordClientAddress"></a>

```typescript
public readonly recordClientAddress: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

True if Query Insights will record client address when enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#record_client_address SqlDatabaseInstance#record_client_address}

---

### SqlDatabaseInstanceSettingsIpConfiguration <a name="SqlDatabaseInstanceSettingsIpConfiguration" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsIpConfiguration } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsIpConfiguration: SqlDatabaseInstanceSettingsIpConfiguration = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.allocatedIpRange">allocatedIpRange</a></code> | <code>string</code> | The name of the allocated ip range for the private ip CloudSQL instance. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.authorizedNetworks">authorizedNetworks</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks">SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks</a>[]</code> | authorized_networks block. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.ipv4Enabled">ipv4Enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether this Cloud SQL instance should be assigned a public IPV4 address. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.privateNetwork">privateNetwork</a></code> | <code>string</code> | The VPC network from which the Cloud SQL instance is accessible for private IP. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.requireSsl">requireSsl</a></code> | <code>boolean \| cdktf.IResolvable</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#require_ssl SqlDatabaseInstance#require_ssl}. |

---

##### `allocatedIpRange`<sup>Optional</sup> <a name="allocatedIpRange" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.allocatedIpRange"></a>

```typescript
public readonly allocatedIpRange: string;
```

- *Type:* string

The name of the allocated ip range for the private ip CloudSQL instance.

For example: "google-managed-services-default". If set, the instance ip will be created in the allocated range. The range name must comply with RFC 1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#allocated_ip_range SqlDatabaseInstance#allocated_ip_range}

---

##### `authorizedNetworks`<sup>Optional</sup> <a name="authorizedNetworks" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.authorizedNetworks"></a>

```typescript
public readonly authorizedNetworks: IResolvable | SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks">SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks</a>[]

authorized_networks block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#authorized_networks SqlDatabaseInstance#authorized_networks}

---

##### `ipv4Enabled`<sup>Optional</sup> <a name="ipv4Enabled" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.ipv4Enabled"></a>

```typescript
public readonly ipv4Enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether this Cloud SQL instance should be assigned a public IPV4 address.

At least ipv4_enabled must be enabled or a private_network must be configured.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#ipv4_enabled SqlDatabaseInstance#ipv4_enabled}

---

##### `privateNetwork`<sup>Optional</sup> <a name="privateNetwork" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.privateNetwork"></a>

```typescript
public readonly privateNetwork: string;
```

- *Type:* string

The VPC network from which the Cloud SQL instance is accessible for private IP.

For example, projects/myProject/global/networks/default. Specifying a network enables private IP. At least ipv4_enabled must be enabled or a private_network must be configured. This setting can be updated, but it cannot be removed after it is set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#private_network SqlDatabaseInstance#private_network}

---

##### `requireSsl`<sup>Optional</sup> <a name="requireSsl" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfiguration.property.requireSsl"></a>

```typescript
public readonly requireSsl: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#require_ssl SqlDatabaseInstance#require_ssl}.

---

### SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks <a name="SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks: SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks.property.value">value</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#value SqlDatabaseInstance#value}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks.property.expirationTime">expirationTime</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#expiration_time SqlDatabaseInstance#expiration_time}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks.property.name">name</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#name SqlDatabaseInstance#name}. |

---

##### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks.property.value"></a>

```typescript
public readonly value: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#value SqlDatabaseInstance#value}.

---

##### `expirationTime`<sup>Optional</sup> <a name="expirationTime" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks.property.expirationTime"></a>

```typescript
public readonly expirationTime: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#expiration_time SqlDatabaseInstance#expiration_time}.

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#name SqlDatabaseInstance#name}.

---

### SqlDatabaseInstanceSettingsLocationPreference <a name="SqlDatabaseInstanceSettingsLocationPreference" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsLocationPreference } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsLocationPreference: SqlDatabaseInstanceSettingsLocationPreference = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference.property.followGaeApplication">followGaeApplication</a></code> | <code>string</code> | A Google App Engine application whose zone to remain in. Must be in the same region as this instance. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference.property.secondaryZone">secondaryZone</a></code> | <code>string</code> | The preferred Compute Engine zone for the secondary/failover. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference.property.zone">zone</a></code> | <code>string</code> | The preferred compute engine zone. |

---

##### `followGaeApplication`<sup>Optional</sup> <a name="followGaeApplication" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference.property.followGaeApplication"></a>

```typescript
public readonly followGaeApplication: string;
```

- *Type:* string

A Google App Engine application whose zone to remain in. Must be in the same region as this instance.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#follow_gae_application SqlDatabaseInstance#follow_gae_application}

---

##### `secondaryZone`<sup>Optional</sup> <a name="secondaryZone" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference.property.secondaryZone"></a>

```typescript
public readonly secondaryZone: string;
```

- *Type:* string

The preferred Compute Engine zone for the secondary/failover.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#secondary_zone SqlDatabaseInstance#secondary_zone}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsLocationPreference.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The preferred compute engine zone.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#zone SqlDatabaseInstance#zone}

---

### SqlDatabaseInstanceSettingsMaintenanceWindow <a name="SqlDatabaseInstanceSettingsMaintenanceWindow" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsMaintenanceWindow } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsMaintenanceWindow: SqlDatabaseInstanceSettingsMaintenanceWindow = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow.property.day">day</a></code> | <code>number</code> | Day of week (1-7), starting on Monday. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow.property.hour">hour</a></code> | <code>number</code> | Hour of day (0-23), ignored if day not set. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow.property.updateTrack">updateTrack</a></code> | <code>string</code> | Receive updates earlier (canary) or later (stable). |

---

##### `day`<sup>Optional</sup> <a name="day" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow.property.day"></a>

```typescript
public readonly day: number;
```

- *Type:* number

Day of week (1-7), starting on Monday.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#day SqlDatabaseInstance#day}

---

##### `hour`<sup>Optional</sup> <a name="hour" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow.property.hour"></a>

```typescript
public readonly hour: number;
```

- *Type:* number

Hour of day (0-23), ignored if day not set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#hour SqlDatabaseInstance#hour}

---

##### `updateTrack`<sup>Optional</sup> <a name="updateTrack" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsMaintenanceWindow.property.updateTrack"></a>

```typescript
public readonly updateTrack: string;
```

- *Type:* string

Receive updates earlier (canary) or later (stable).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#update_track SqlDatabaseInstance#update_track}

---

### SqlDatabaseInstanceSettingsPasswordValidationPolicy <a name="SqlDatabaseInstanceSettingsPasswordValidationPolicy" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsPasswordValidationPolicy } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsPasswordValidationPolicy: SqlDatabaseInstanceSettingsPasswordValidationPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.enablePasswordPolicy">enablePasswordPolicy</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the password policy is enabled or not. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.complexity">complexity</a></code> | <code>string</code> | Password complexity. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.disallowUsernameSubstring">disallowUsernameSubstring</a></code> | <code>boolean \| cdktf.IResolvable</code> | Disallow username as a part of the password. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.minLength">minLength</a></code> | <code>number</code> | Minimum number of characters allowed. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.passwordChangeInterval">passwordChangeInterval</a></code> | <code>string</code> | Minimum interval after which the password can be changed. This flag is only supported for PostgresSQL. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.reuseInterval">reuseInterval</a></code> | <code>number</code> | Number of previous passwords that cannot be reused. |

---

##### `enablePasswordPolicy`<sup>Required</sup> <a name="enablePasswordPolicy" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.enablePasswordPolicy"></a>

```typescript
public readonly enablePasswordPolicy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the password policy is enabled or not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#enable_password_policy SqlDatabaseInstance#enable_password_policy}

---

##### `complexity`<sup>Optional</sup> <a name="complexity" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.complexity"></a>

```typescript
public readonly complexity: string;
```

- *Type:* string

Password complexity.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#complexity SqlDatabaseInstance#complexity}

---

##### `disallowUsernameSubstring`<sup>Optional</sup> <a name="disallowUsernameSubstring" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.disallowUsernameSubstring"></a>

```typescript
public readonly disallowUsernameSubstring: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Disallow username as a part of the password.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#disallow_username_substring SqlDatabaseInstance#disallow_username_substring}

---

##### `minLength`<sup>Optional</sup> <a name="minLength" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.minLength"></a>

```typescript
public readonly minLength: number;
```

- *Type:* number

Minimum number of characters allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#min_length SqlDatabaseInstance#min_length}

---

##### `passwordChangeInterval`<sup>Optional</sup> <a name="passwordChangeInterval" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.passwordChangeInterval"></a>

```typescript
public readonly passwordChangeInterval: string;
```

- *Type:* string

Minimum interval after which the password can be changed. This flag is only supported for PostgresSQL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#password_change_interval SqlDatabaseInstance#password_change_interval}

---

##### `reuseInterval`<sup>Optional</sup> <a name="reuseInterval" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsPasswordValidationPolicy.property.reuseInterval"></a>

```typescript
public readonly reuseInterval: number;
```

- *Type:* number

Number of previous passwords that cannot be reused.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#reuse_interval SqlDatabaseInstance#reuse_interval}

---

### SqlDatabaseInstanceSettingsSqlServerAuditConfig <a name="SqlDatabaseInstanceSettingsSqlServerAuditConfig" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig.Initializer"></a>

```typescript
import { SqlDatabaseInstanceSettingsSqlServerAuditConfig } from '@dschmidt/provider-google'

const sqlDatabaseInstanceSettingsSqlServerAuditConfig: SqlDatabaseInstanceSettingsSqlServerAuditConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig.property.bucket">bucket</a></code> | <code>string</code> | The name of the destination bucket (e.g., gs://mybucket). |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig.property.retentionInterval">retentionInterval</a></code> | <code>string</code> | How long to keep generated audit files. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig.property.uploadInterval">uploadInterval</a></code> | <code>string</code> | How often to upload generated audit files. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The name of the destination bucket (e.g., gs://mybucket).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#bucket SqlDatabaseInstance#bucket}

---

##### `retentionInterval`<sup>Optional</sup> <a name="retentionInterval" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig.property.retentionInterval"></a>

```typescript
public readonly retentionInterval: string;
```

- *Type:* string

How long to keep generated audit files.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"..

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#retention_interval SqlDatabaseInstance#retention_interval}

---

##### `uploadInterval`<sup>Optional</sup> <a name="uploadInterval" id="@dschmidt/provider-google.SqlDatabaseInstanceSettingsSqlServerAuditConfig.property.uploadInterval"></a>

```typescript
public readonly uploadInterval: string;
```

- *Type:* string

How often to upload generated audit files.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#upload_interval SqlDatabaseInstance#upload_interval}

---

### SqlDatabaseInstanceTimeouts <a name="SqlDatabaseInstanceTimeouts" id="@dschmidt/provider-google.SqlDatabaseInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseInstanceTimeouts.Initializer"></a>

```typescript
import { SqlDatabaseInstanceTimeouts } from '@dschmidt/provider-google'

const sqlDatabaseInstanceTimeouts: SqlDatabaseInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#create SqlDatabaseInstance#create}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#delete SqlDatabaseInstance#delete}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseInstanceTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#update SqlDatabaseInstance#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SqlDatabaseInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#create SqlDatabaseInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SqlDatabaseInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#delete SqlDatabaseInstance#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.SqlDatabaseInstanceTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database_instance#update SqlDatabaseInstance#update}.

---

### SqlDatabaseTimeouts <a name="SqlDatabaseTimeouts" id="@dschmidt/provider-google.SqlDatabaseTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlDatabaseTimeouts.Initializer"></a>

```typescript
import { SqlDatabaseTimeouts } from '@dschmidt/provider-google'

const sqlDatabaseTimeouts: SqlDatabaseTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#create SqlDatabase#create}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#delete SqlDatabase#delete}. |
| <code><a href="#@dschmidt/provider-google.SqlDatabaseTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#update SqlDatabase#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SqlDatabaseTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#create SqlDatabase#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SqlDatabaseTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#delete SqlDatabase#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.SqlDatabaseTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_database#update SqlDatabase#update}.

---

### SqlSourceRepresentationInstanceConfig <a name="SqlSourceRepresentationInstanceConfig" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.Initializer"></a>

```typescript
import { SqlSourceRepresentationInstanceConfig } from '@dschmidt/provider-google'

const sqlSourceRepresentationInstanceConfig: SqlSourceRepresentationInstanceConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.databaseVersion">databaseVersion</a></code> | <code>string</code> | The MySQL version running on your source database server. Possible values: ["MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", "MYSQL_8_0"]. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.host">host</a></code> | <code>string</code> | The externally accessible IPv4 address for the source database server. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.name">name</a></code> | <code>string</code> | The name of the source representation instance. Use any valid Cloud SQL instance name. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#id SqlSourceRepresentationInstance#id}. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.port">port</a></code> | <code>number</code> | The externally accessible port for the source database server. Defaults to 3306. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#project SqlSourceRepresentationInstance#project}. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.region">region</a></code> | <code>string</code> | The Region in which the created instance should reside. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts">SqlSourceRepresentationInstanceTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `databaseVersion`<sup>Required</sup> <a name="databaseVersion" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.databaseVersion"></a>

```typescript
public readonly databaseVersion: string;
```

- *Type:* string

The MySQL version running on your source database server. Possible values: ["MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", "MYSQL_8_0"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#database_version SqlSourceRepresentationInstance#database_version}

---

##### `host`<sup>Required</sup> <a name="host" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The externally accessible IPv4 address for the source database server.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#host SqlSourceRepresentationInstance#host}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the source representation instance. Use any valid Cloud SQL instance name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#name SqlSourceRepresentationInstance#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#id SqlSourceRepresentationInstance#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `port`<sup>Optional</sup> <a name="port" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.port"></a>

```typescript
public readonly port: number;
```

- *Type:* number

The externally accessible port for the source database server. Defaults to 3306.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#port SqlSourceRepresentationInstance#port}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#project SqlSourceRepresentationInstance#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The Region in which the created instance should reside. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#region SqlSourceRepresentationInstance#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SqlSourceRepresentationInstanceTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts">SqlSourceRepresentationInstanceTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#timeouts SqlSourceRepresentationInstance#timeouts}

---

### SqlSourceRepresentationInstanceTimeouts <a name="SqlSourceRepresentationInstanceTimeouts" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts.Initializer"></a>

```typescript
import { SqlSourceRepresentationInstanceTimeouts } from '@dschmidt/provider-google'

const sqlSourceRepresentationInstanceTimeouts: SqlSourceRepresentationInstanceTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#create SqlSourceRepresentationInstance#create}. |
| <code><a href="#@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#delete SqlSourceRepresentationInstance#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#create SqlSourceRepresentationInstance#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SqlSourceRepresentationInstanceTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_source_representation_instance#delete SqlSourceRepresentationInstance#delete}.

---

### SqlSslCertConfig <a name="SqlSslCertConfig" id="@dschmidt/provider-google.SqlSslCertConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlSslCertConfig.Initializer"></a>

```typescript
import { SqlSslCertConfig } from '@dschmidt/provider-google'

const sqlSslCertConfig: SqlSslCertConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.commonName">commonName</a></code> | <code>string</code> | The common name to be used in the certificate to identify the client. |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.instance">instance</a></code> | <code>string</code> | The name of the Cloud SQL instance. Changing this forces a new resource to be created. |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#id SqlSslCert#id}. |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.SqlSslCertConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlSslCertTimeouts">SqlSslCertTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlSslCertConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlSslCertConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlSslCertConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlSslCertConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlSslCertConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlSslCertConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlSslCertConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `commonName`<sup>Required</sup> <a name="commonName" id="@dschmidt/provider-google.SqlSslCertConfig.property.commonName"></a>

```typescript
public readonly commonName: string;
```

- *Type:* string

The common name to be used in the certificate to identify the client.

Constrained to [a-zA-Z.-_ ]+. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#common_name SqlSslCert#common_name}

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SqlSslCertConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

The name of the Cloud SQL instance. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#instance SqlSslCert#instance}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SqlSslCertConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#id SqlSslCert#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SqlSslCertConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#project SqlSslCert#project}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlSslCertConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SqlSslCertTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlSslCertTimeouts">SqlSslCertTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#timeouts SqlSslCert#timeouts}

---

### SqlSslCertTimeouts <a name="SqlSslCertTimeouts" id="@dschmidt/provider-google.SqlSslCertTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlSslCertTimeouts.Initializer"></a>

```typescript
import { SqlSslCertTimeouts } from '@dschmidt/provider-google'

const sqlSslCertTimeouts: SqlSslCertTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlSslCertTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#create SqlSslCert#create}. |
| <code><a href="#@dschmidt/provider-google.SqlSslCertTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#delete SqlSslCert#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SqlSslCertTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#create SqlSslCert#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SqlSslCertTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_ssl_cert#delete SqlSslCert#delete}.

---

### SqlUserConfig <a name="SqlUserConfig" id="@dschmidt/provider-google.SqlUserConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlUserConfig.Initializer"></a>

```typescript
import { SqlUserConfig } from '@dschmidt/provider-google'

const sqlUserConfig: SqlUserConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.instance">instance</a></code> | <code>string</code> | The name of the Cloud SQL instance. Changing this forces a new resource to be created. |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.name">name</a></code> | <code>string</code> | The name of the user. Changing this forces a new resource to be created. |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.deletionPolicy">deletionPolicy</a></code> | <code>string</code> | The deletion policy for the user. |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.host">host</a></code> | <code>string</code> | The host the user can connect from. |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#id SqlUser#id}. |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.password">password</a></code> | <code>string</code> | The password for the user. |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.sqlServerUserDetails">sqlServerUserDetails</a></code> | <code><a href="#@dschmidt/provider-google.SqlUserSqlServerUserDetails">SqlUserSqlServerUserDetails</a></code> | sql_server_user_details block. |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.SqlUserTimeouts">SqlUserTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.SqlUserConfig.property.type">type</a></code> | <code>string</code> | The user type. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.SqlUserConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.SqlUserConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.SqlUserConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.SqlUserConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.SqlUserConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.SqlUserConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.SqlUserConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `instance`<sup>Required</sup> <a name="instance" id="@dschmidt/provider-google.SqlUserConfig.property.instance"></a>

```typescript
public readonly instance: string;
```

- *Type:* string

The name of the Cloud SQL instance. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#instance SqlUser#instance}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.SqlUserConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the user. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#name SqlUser#name}

---

##### `deletionPolicy`<sup>Optional</sup> <a name="deletionPolicy" id="@dschmidt/provider-google.SqlUserConfig.property.deletionPolicy"></a>

```typescript
public readonly deletionPolicy: string;
```

- *Type:* string

The deletion policy for the user.

Setting ABANDON allows the resource
to be abandoned rather than deleted. This is useful for Postgres, where users cannot be deleted from the API if they
have been granted SQL roles. Possible values are: "ABANDON".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#deletion_policy SqlUser#deletion_policy}

---

##### `host`<sup>Optional</sup> <a name="host" id="@dschmidt/provider-google.SqlUserConfig.property.host"></a>

```typescript
public readonly host: string;
```

- *Type:* string

The host the user can connect from.

This is only supported for MySQL instances. Don't set this field for PostgreSQL instances. Can be an IP address. Changing this forces a new resource to be created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#host SqlUser#host}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.SqlUserConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#id SqlUser#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `password`<sup>Optional</sup> <a name="password" id="@dschmidt/provider-google.SqlUserConfig.property.password"></a>

```typescript
public readonly password: string;
```

- *Type:* string

The password for the user.

Can be updated. For Postgres instances this is a Required field, unless type is set to
             either CLOUD_IAM_USER or CLOUD_IAM_SERVICE_ACCOUNT.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#password SqlUser#password}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.SqlUserConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#project SqlUser#project}

---

##### `sqlServerUserDetails`<sup>Optional</sup> <a name="sqlServerUserDetails" id="@dschmidt/provider-google.SqlUserConfig.property.sqlServerUserDetails"></a>

```typescript
public readonly sqlServerUserDetails: SqlUserSqlServerUserDetails;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlUserSqlServerUserDetails">SqlUserSqlServerUserDetails</a>

sql_server_user_details block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#sql_server_user_details SqlUser#sql_server_user_details}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.SqlUserConfig.property.timeouts"></a>

```typescript
public readonly timeouts: SqlUserTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.SqlUserTimeouts">SqlUserTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#timeouts SqlUser#timeouts}

---

##### `type`<sup>Optional</sup> <a name="type" id="@dschmidt/provider-google.SqlUserConfig.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The user type.

It determines the method to authenticate the user during login.
             The default is the database's built-in user type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#type SqlUser#type}

---

### SqlUserSqlServerUserDetails <a name="SqlUserSqlServerUserDetails" id="@dschmidt/provider-google.SqlUserSqlServerUserDetails"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlUserSqlServerUserDetails.Initializer"></a>

```typescript
import { SqlUserSqlServerUserDetails } from '@dschmidt/provider-google'

const sqlUserSqlServerUserDetails: SqlUserSqlServerUserDetails = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlUserSqlServerUserDetails.property.disabled">disabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | If the user has been disabled. |
| <code><a href="#@dschmidt/provider-google.SqlUserSqlServerUserDetails.property.serverRoles">serverRoles</a></code> | <code>string[]</code> | The server roles for this user in the database. |

---

##### `disabled`<sup>Optional</sup> <a name="disabled" id="@dschmidt/provider-google.SqlUserSqlServerUserDetails.property.disabled"></a>

```typescript
public readonly disabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If the user has been disabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#disabled SqlUser#disabled}

---

##### `serverRoles`<sup>Optional</sup> <a name="serverRoles" id="@dschmidt/provider-google.SqlUserSqlServerUserDetails.property.serverRoles"></a>

```typescript
public readonly serverRoles: string[];
```

- *Type:* string[]

The server roles for this user in the database.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#server_roles SqlUser#server_roles}

---

### SqlUserTimeouts <a name="SqlUserTimeouts" id="@dschmidt/provider-google.SqlUserTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.SqlUserTimeouts.Initializer"></a>

```typescript
import { SqlUserTimeouts } from '@dschmidt/provider-google'

const sqlUserTimeouts: SqlUserTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.SqlUserTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#create SqlUser#create}. |
| <code><a href="#@dschmidt/provider-google.SqlUserTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#delete SqlUser#delete}. |
| <code><a href="#@dschmidt/provider-google.SqlUserTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#update SqlUser#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.SqlUserTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#create SqlUser#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.SqlUserTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#delete SqlUser#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.SqlUserTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/sql_user#update SqlUser#update}.

---

### StorageBucketAccessControlConfig <a name="StorageBucketAccessControlConfig" id="@dschmidt/provider-google.StorageBucketAccessControlConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.Initializer"></a>

```typescript
import { StorageBucketAccessControlConfig } from '@dschmidt/provider-google'

const storageBucketAccessControlConfig: StorageBucketAccessControlConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.bucket">bucket</a></code> | <code>string</code> | The name of the bucket. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.entity">entity</a></code> | <code>string</code> | The entity holding the permission, in one of the following forms: user-userId user-email group-groupId group-email domain-domain project-team-projectId allUsers allAuthenticatedUsers Examples: The user liz@example.com would be user-liz@example.com. The group example@googlegroups.com would be group-example@googlegroups.com. To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#id StorageBucketAccessControl#id}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.role">role</a></code> | <code>string</code> | The access permission for the entity. Possible values: ["OWNER", "READER", "WRITER"]. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeouts">StorageBucketAccessControlTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The name of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#bucket StorageBucketAccessControl#bucket}

---

##### `entity`<sup>Required</sup> <a name="entity" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.entity"></a>

```typescript
public readonly entity: string;
```

- *Type:* string

The entity holding the permission, in one of the following forms: user-userId user-email group-groupId group-email domain-domain project-team-projectId allUsers allAuthenticatedUsers Examples: The user liz@example.com would be user-liz@example.com. The group example@googlegroups.com would be group-example@googlegroups.com. To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#entity StorageBucketAccessControl#entity}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#id StorageBucketAccessControl#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `role`<sup>Optional</sup> <a name="role" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

The access permission for the entity. Possible values: ["OWNER", "READER", "WRITER"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#role StorageBucketAccessControl#role}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageBucketAccessControlConfig.property.timeouts"></a>

```typescript
public readonly timeouts: StorageBucketAccessControlTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeouts">StorageBucketAccessControlTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#timeouts StorageBucketAccessControl#timeouts}

---

### StorageBucketAccessControlTimeouts <a name="StorageBucketAccessControlTimeouts" id="@dschmidt/provider-google.StorageBucketAccessControlTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketAccessControlTimeouts.Initializer"></a>

```typescript
import { StorageBucketAccessControlTimeouts } from '@dschmidt/provider-google'

const storageBucketAccessControlTimeouts: StorageBucketAccessControlTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#create StorageBucketAccessControl#create}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#delete StorageBucketAccessControl#delete}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAccessControlTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#update StorageBucketAccessControl#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.StorageBucketAccessControlTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#create StorageBucketAccessControl#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.StorageBucketAccessControlTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#delete StorageBucketAccessControl#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.StorageBucketAccessControlTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_access_control#update StorageBucketAccessControl#update}.

---

### StorageBucketAclConfig <a name="StorageBucketAclConfig" id="@dschmidt/provider-google.StorageBucketAclConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketAclConfig.Initializer"></a>

```typescript
import { StorageBucketAclConfig } from '@dschmidt/provider-google'

const storageBucketAclConfig: StorageBucketAclConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.bucket">bucket</a></code> | <code>string</code> | The name of the bucket it applies to. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.defaultAcl">defaultAcl</a></code> | <code>string</code> | Configure this ACL to be the default ACL. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_acl#id StorageBucketAcl#id}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.predefinedAcl">predefinedAcl</a></code> | <code>string</code> | The canned GCS ACL to apply. Must be set if role_entity is not. |
| <code><a href="#@dschmidt/provider-google.StorageBucketAclConfig.property.roleEntity">roleEntity</a></code> | <code>string[]</code> | List of role/entity pairs in the form ROLE:entity. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketAclConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketAclConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketAclConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketAclConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketAclConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketAclConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketAclConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketAclConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The name of the bucket it applies to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_acl#bucket StorageBucketAcl#bucket}

---

##### `defaultAcl`<sup>Optional</sup> <a name="defaultAcl" id="@dschmidt/provider-google.StorageBucketAclConfig.property.defaultAcl"></a>

```typescript
public readonly defaultAcl: string;
```

- *Type:* string

Configure this ACL to be the default ACL.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_acl#default_acl StorageBucketAcl#default_acl}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketAclConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_acl#id StorageBucketAcl#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `predefinedAcl`<sup>Optional</sup> <a name="predefinedAcl" id="@dschmidt/provider-google.StorageBucketAclConfig.property.predefinedAcl"></a>

```typescript
public readonly predefinedAcl: string;
```

- *Type:* string

The canned GCS ACL to apply. Must be set if role_entity is not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_acl#predefined_acl StorageBucketAcl#predefined_acl}

---

##### `roleEntity`<sup>Optional</sup> <a name="roleEntity" id="@dschmidt/provider-google.StorageBucketAclConfig.property.roleEntity"></a>

```typescript
public readonly roleEntity: string[];
```

- *Type:* string[]

List of role/entity pairs in the form ROLE:entity.

See GCS Bucket ACL documentation  for more details. Must be set if predefined_acl is not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_acl#role_entity StorageBucketAcl#role_entity}

---

### StorageBucketConfig <a name="StorageBucketConfig" id="@dschmidt/provider-google.StorageBucketConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketConfig.Initializer"></a>

```typescript
import { StorageBucketConfig } from '@dschmidt/provider-google'

const storageBucketConfig: StorageBucketConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.location">location</a></code> | <code>string</code> | The Google Cloud Storage location. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.name">name</a></code> | <code>string</code> | The name of the bucket. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.cors">cors</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageBucketCors">StorageBucketCors</a>[]</code> | cors block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.defaultEventBasedHold">defaultEventBasedHold</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether or not to automatically apply an eventBasedHold to new objects added to the bucket. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.encryption">encryption</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketEncryption">StorageBucketEncryption</a></code> | encryption block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.forceDestroy">forceDestroy</a></code> | <code>boolean \| cdktf.IResolvable</code> | When deleting a bucket, this boolean option will delete all contained objects. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#id StorageBucket#id}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to the bucket. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.lifecycleRule">lifecycleRule</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.StorageBucketLifecycleRule">StorageBucketLifecycleRule</a>[]</code> | lifecycle_rule block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.logging">logging</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketLogging">StorageBucketLogging</a></code> | logging block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.project">project</a></code> | <code>string</code> | The ID of the project in which the resource belongs. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.requesterPays">requesterPays</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enables Requester Pays on a storage bucket. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.retentionPolicy">retentionPolicy</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketRetentionPolicy">StorageBucketRetentionPolicy</a></code> | retention_policy block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.storageClass">storageClass</a></code> | <code>string</code> | The Storage Class of the new bucket. Supported values include: STANDARD, MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketTimeouts">StorageBucketTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.uniformBucketLevelAccess">uniformBucketLevelAccess</a></code> | <code>boolean \| cdktf.IResolvable</code> | Enables uniform bucket-level access on a bucket. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.versioning">versioning</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketVersioning">StorageBucketVersioning</a></code> | versioning block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketConfig.property.website">website</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketWebsite">StorageBucketWebsite</a></code> | website block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.StorageBucketConfig.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

The Google Cloud Storage location.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#location StorageBucket#location}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.StorageBucketConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#name StorageBucket#name}

---

##### `cors`<sup>Optional</sup> <a name="cors" id="@dschmidt/provider-google.StorageBucketConfig.property.cors"></a>

```typescript
public readonly cors: IResolvable | StorageBucketCors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageBucketCors">StorageBucketCors</a>[]

cors block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#cors StorageBucket#cors}

---

##### `defaultEventBasedHold`<sup>Optional</sup> <a name="defaultEventBasedHold" id="@dschmidt/provider-google.StorageBucketConfig.property.defaultEventBasedHold"></a>

```typescript
public readonly defaultEventBasedHold: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#default_event_based_hold StorageBucket#default_event_based_hold}

---

##### `encryption`<sup>Optional</sup> <a name="encryption" id="@dschmidt/provider-google.StorageBucketConfig.property.encryption"></a>

```typescript
public readonly encryption: StorageBucketEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketEncryption">StorageBucketEncryption</a>

encryption block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#encryption StorageBucket#encryption}

---

##### `forceDestroy`<sup>Optional</sup> <a name="forceDestroy" id="@dschmidt/provider-google.StorageBucketConfig.property.forceDestroy"></a>

```typescript
public readonly forceDestroy: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

When deleting a bucket, this boolean option will delete all contained objects.

If you try to delete a bucket that contains objects, Terraform will fail that run.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#force_destroy StorageBucket#force_destroy}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#id StorageBucket#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.StorageBucketConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#labels StorageBucket#labels}

---

##### `lifecycleRule`<sup>Optional</sup> <a name="lifecycleRule" id="@dschmidt/provider-google.StorageBucketConfig.property.lifecycleRule"></a>

```typescript
public readonly lifecycleRule: IResolvable | StorageBucketLifecycleRule[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.StorageBucketLifecycleRule">StorageBucketLifecycleRule</a>[]

lifecycle_rule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#lifecycle_rule StorageBucket#lifecycle_rule}

---

##### `logging`<sup>Optional</sup> <a name="logging" id="@dschmidt/provider-google.StorageBucketConfig.property.logging"></a>

```typescript
public readonly logging: StorageBucketLogging;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketLogging">StorageBucketLogging</a>

logging block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#logging StorageBucket#logging}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.StorageBucketConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The ID of the project in which the resource belongs.

If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#project StorageBucket#project}

---

##### `requesterPays`<sup>Optional</sup> <a name="requesterPays" id="@dschmidt/provider-google.StorageBucketConfig.property.requesterPays"></a>

```typescript
public readonly requesterPays: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enables Requester Pays on a storage bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#requester_pays StorageBucket#requester_pays}

---

##### `retentionPolicy`<sup>Optional</sup> <a name="retentionPolicy" id="@dschmidt/provider-google.StorageBucketConfig.property.retentionPolicy"></a>

```typescript
public readonly retentionPolicy: StorageBucketRetentionPolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketRetentionPolicy">StorageBucketRetentionPolicy</a>

retention_policy block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#retention_policy StorageBucket#retention_policy}

---

##### `storageClass`<sup>Optional</sup> <a name="storageClass" id="@dschmidt/provider-google.StorageBucketConfig.property.storageClass"></a>

```typescript
public readonly storageClass: string;
```

- *Type:* string

The Storage Class of the new bucket. Supported values include: STANDARD, MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#storage_class StorageBucket#storage_class}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageBucketConfig.property.timeouts"></a>

```typescript
public readonly timeouts: StorageBucketTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketTimeouts">StorageBucketTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#timeouts StorageBucket#timeouts}

---

##### `uniformBucketLevelAccess`<sup>Optional</sup> <a name="uniformBucketLevelAccess" id="@dschmidt/provider-google.StorageBucketConfig.property.uniformBucketLevelAccess"></a>

```typescript
public readonly uniformBucketLevelAccess: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Enables uniform bucket-level access on a bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#uniform_bucket_level_access StorageBucket#uniform_bucket_level_access}

---

##### `versioning`<sup>Optional</sup> <a name="versioning" id="@dschmidt/provider-google.StorageBucketConfig.property.versioning"></a>

```typescript
public readonly versioning: StorageBucketVersioning;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketVersioning">StorageBucketVersioning</a>

versioning block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#versioning StorageBucket#versioning}

---

##### `website`<sup>Optional</sup> <a name="website" id="@dschmidt/provider-google.StorageBucketConfig.property.website"></a>

```typescript
public readonly website: StorageBucketWebsite;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketWebsite">StorageBucketWebsite</a>

website block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#website StorageBucket#website}

---

### StorageBucketCors <a name="StorageBucketCors" id="@dschmidt/provider-google.StorageBucketCors"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketCors.Initializer"></a>

```typescript
import { StorageBucketCors } from '@dschmidt/provider-google'

const storageBucketCors: StorageBucketCors = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketCors.property.maxAgeSeconds">maxAgeSeconds</a></code> | <code>number</code> | The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses. |
| <code><a href="#@dschmidt/provider-google.StorageBucketCors.property.method">method</a></code> | <code>string[]</code> | The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method". |
| <code><a href="#@dschmidt/provider-google.StorageBucketCors.property.origin">origin</a></code> | <code>string[]</code> | The list of Origins eligible to receive CORS response headers. |
| <code><a href="#@dschmidt/provider-google.StorageBucketCors.property.responseHeader">responseHeader</a></code> | <code>string[]</code> | The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains. |

---

##### `maxAgeSeconds`<sup>Optional</sup> <a name="maxAgeSeconds" id="@dschmidt/provider-google.StorageBucketCors.property.maxAgeSeconds"></a>

```typescript
public readonly maxAgeSeconds: number;
```

- *Type:* number

The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#max_age_seconds StorageBucket#max_age_seconds}

---

##### `method`<sup>Optional</sup> <a name="method" id="@dschmidt/provider-google.StorageBucketCors.property.method"></a>

```typescript
public readonly method: string[];
```

- *Type:* string[]

The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#method StorageBucket#method}

---

##### `origin`<sup>Optional</sup> <a name="origin" id="@dschmidt/provider-google.StorageBucketCors.property.origin"></a>

```typescript
public readonly origin: string[];
```

- *Type:* string[]

The list of Origins eligible to receive CORS response headers.

Note: "*" is permitted in the list of origins, and means "any Origin".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#origin StorageBucket#origin}

---

##### `responseHeader`<sup>Optional</sup> <a name="responseHeader" id="@dschmidt/provider-google.StorageBucketCors.property.responseHeader"></a>

```typescript
public readonly responseHeader: string[];
```

- *Type:* string[]

The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#response_header StorageBucket#response_header}

---

### StorageBucketEncryption <a name="StorageBucketEncryption" id="@dschmidt/provider-google.StorageBucketEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketEncryption.Initializer"></a>

```typescript
import { StorageBucketEncryption } from '@dschmidt/provider-google'

const storageBucketEncryption: StorageBucketEncryption = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketEncryption.property.defaultKmsKeyName">defaultKmsKeyName</a></code> | <code>string</code> | A Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. |

---

##### `defaultKmsKeyName`<sup>Required</sup> <a name="defaultKmsKeyName" id="@dschmidt/provider-google.StorageBucketEncryption.property.defaultKmsKeyName"></a>

```typescript
public readonly defaultKmsKeyName: string;
```

- *Type:* string

A Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified.

You must pay attention to whether the crypto key is available in the location that this bucket is created in. See the docs for more details.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#default_kms_key_name StorageBucket#default_kms_key_name}

---

### StorageBucketIamBindingCondition <a name="StorageBucketIamBindingCondition" id="@dschmidt/provider-google.StorageBucketIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketIamBindingCondition.Initializer"></a>

```typescript
import { StorageBucketIamBindingCondition } from '@dschmidt/provider-google'

const storageBucketIamBindingCondition: StorageBucketIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#expression StorageBucketIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#title StorageBucketIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#description StorageBucketIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.StorageBucketIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#expression StorageBucketIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.StorageBucketIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#title StorageBucketIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.StorageBucketIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#description StorageBucketIamBinding#description}.

---

### StorageBucketIamBindingConfig <a name="StorageBucketIamBindingConfig" id="@dschmidt/provider-google.StorageBucketIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.Initializer"></a>

```typescript
import { StorageBucketIamBindingConfig } from '@dschmidt/provider-google'

const storageBucketIamBindingConfig: StorageBucketIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.bucket">bucket</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#bucket StorageBucketIamBinding#bucket}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#members StorageBucketIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#role StorageBucketIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingCondition">StorageBucketIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#id StorageBucketIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#bucket StorageBucketIamBinding#bucket}.

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#members StorageBucketIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#role StorageBucketIamBinding#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: StorageBucketIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamBindingCondition">StorageBucketIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#condition StorageBucketIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_binding#id StorageBucketIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### StorageBucketIamMemberCondition <a name="StorageBucketIamMemberCondition" id="@dschmidt/provider-google.StorageBucketIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketIamMemberCondition.Initializer"></a>

```typescript
import { StorageBucketIamMemberCondition } from '@dschmidt/provider-google'

const storageBucketIamMemberCondition: StorageBucketIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#expression StorageBucketIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#title StorageBucketIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#description StorageBucketIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.StorageBucketIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#expression StorageBucketIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.StorageBucketIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#title StorageBucketIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.StorageBucketIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#description StorageBucketIamMember#description}.

---

### StorageBucketIamMemberConfig <a name="StorageBucketIamMemberConfig" id="@dschmidt/provider-google.StorageBucketIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.Initializer"></a>

```typescript
import { StorageBucketIamMemberConfig } from '@dschmidt/provider-google'

const storageBucketIamMemberConfig: StorageBucketIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.bucket">bucket</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#bucket StorageBucketIamMember#bucket}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#member StorageBucketIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#role StorageBucketIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberCondition">StorageBucketIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#id StorageBucketIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#bucket StorageBucketIamMember#bucket}.

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#member StorageBucketIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#role StorageBucketIamMember#role}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: StorageBucketIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketIamMemberCondition">StorageBucketIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#condition StorageBucketIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_member#id StorageBucketIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### StorageBucketIamPolicyConfig <a name="StorageBucketIamPolicyConfig" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.Initializer"></a>

```typescript
import { StorageBucketIamPolicyConfig } from '@dschmidt/provider-google'

const storageBucketIamPolicyConfig: StorageBucketIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.bucket">bucket</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_policy#bucket StorageBucketIamPolicy#bucket}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_policy#policy_data StorageBucketIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_policy#id StorageBucketIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_policy#bucket StorageBucketIamPolicy#bucket}.

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_policy#policy_data StorageBucketIamPolicy#policy_data}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_iam_policy#id StorageBucketIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### StorageBucketLifecycleRule <a name="StorageBucketLifecycleRule" id="@dschmidt/provider-google.StorageBucketLifecycleRule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketLifecycleRule.Initializer"></a>

```typescript
import { StorageBucketLifecycleRule } from '@dschmidt/provider-google'

const storageBucketLifecycleRule: StorageBucketLifecycleRule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRule.property.action">action</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleAction">StorageBucketLifecycleRuleAction</a></code> | action block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRule.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition">StorageBucketLifecycleRuleCondition</a></code> | condition block. |

---

##### `action`<sup>Required</sup> <a name="action" id="@dschmidt/provider-google.StorageBucketLifecycleRule.property.action"></a>

```typescript
public readonly action: StorageBucketLifecycleRuleAction;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleAction">StorageBucketLifecycleRuleAction</a>

action block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#action StorageBucket#action}

---

##### `condition`<sup>Required</sup> <a name="condition" id="@dschmidt/provider-google.StorageBucketLifecycleRule.property.condition"></a>

```typescript
public readonly condition: StorageBucketLifecycleRuleCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition">StorageBucketLifecycleRuleCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#condition StorageBucket#condition}

---

### StorageBucketLifecycleRuleAction <a name="StorageBucketLifecycleRuleAction" id="@dschmidt/provider-google.StorageBucketLifecycleRuleAction"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketLifecycleRuleAction.Initializer"></a>

```typescript
import { StorageBucketLifecycleRuleAction } from '@dschmidt/provider-google'

const storageBucketLifecycleRuleAction: StorageBucketLifecycleRuleAction = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleAction.property.type">type</a></code> | <code>string</code> | The type of the action of this Lifecycle Rule. Supported values include: Delete and SetStorageClass. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleAction.property.storageClass">storageClass</a></code> | <code>string</code> | The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE. |

---

##### `type`<sup>Required</sup> <a name="type" id="@dschmidt/provider-google.StorageBucketLifecycleRuleAction.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

The type of the action of this Lifecycle Rule. Supported values include: Delete and SetStorageClass.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#type StorageBucket#type}

---

##### `storageClass`<sup>Optional</sup> <a name="storageClass" id="@dschmidt/provider-google.StorageBucketLifecycleRuleAction.property.storageClass"></a>

```typescript
public readonly storageClass: string;
```

- *Type:* string

The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#storage_class StorageBucket#storage_class}

---

### StorageBucketLifecycleRuleCondition <a name="StorageBucketLifecycleRuleCondition" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.Initializer"></a>

```typescript
import { StorageBucketLifecycleRuleCondition } from '@dschmidt/provider-google'

const storageBucketLifecycleRuleCondition: StorageBucketLifecycleRuleCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.age">age</a></code> | <code>number</code> | Minimum age of an object in days to satisfy this condition. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.createdBefore">createdBefore</a></code> | <code>string</code> | Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.customTimeBefore">customTimeBefore</a></code> | <code>string</code> | Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.daysSinceCustomTime">daysSinceCustomTime</a></code> | <code>number</code> | Number of days elapsed since the user-specified timestamp set on an object. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.daysSinceNoncurrentTime">daysSinceNoncurrentTime</a></code> | <code>number</code> | Number of days elapsed since the noncurrent timestamp of an object. This 							condition is relevant only for versioned objects. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.matchesPrefix">matchesPrefix</a></code> | <code>string[]</code> | One or more matching name prefixes to satisfy this condition. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.matchesStorageClass">matchesStorageClass</a></code> | <code>string[]</code> | Storage Class of objects to satisfy this condition. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD, DURABLE_REDUCED_AVAILABILITY. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.matchesSuffix">matchesSuffix</a></code> | <code>string[]</code> | One or more matching name suffixes to satisfy this condition. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.noncurrentTimeBefore">noncurrentTimeBefore</a></code> | <code>string</code> | Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.numNewerVersions">numNewerVersions</a></code> | <code>number</code> | Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.withState">withState</a></code> | <code>string</code> | Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE", "ARCHIVED", "ANY". |

---

##### `age`<sup>Optional</sup> <a name="age" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.age"></a>

```typescript
public readonly age: number;
```

- *Type:* number

Minimum age of an object in days to satisfy this condition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#age StorageBucket#age}

---

##### `createdBefore`<sup>Optional</sup> <a name="createdBefore" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.createdBefore"></a>

```typescript
public readonly createdBefore: string;
```

- *Type:* string

Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#created_before StorageBucket#created_before}

---

##### `customTimeBefore`<sup>Optional</sup> <a name="customTimeBefore" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.customTimeBefore"></a>

```typescript
public readonly customTimeBefore: string;
```

- *Type:* string

Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#custom_time_before StorageBucket#custom_time_before}

---

##### `daysSinceCustomTime`<sup>Optional</sup> <a name="daysSinceCustomTime" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.daysSinceCustomTime"></a>

```typescript
public readonly daysSinceCustomTime: number;
```

- *Type:* number

Number of days elapsed since the user-specified timestamp set on an object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#days_since_custom_time StorageBucket#days_since_custom_time}

---

##### `daysSinceNoncurrentTime`<sup>Optional</sup> <a name="daysSinceNoncurrentTime" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.daysSinceNoncurrentTime"></a>

```typescript
public readonly daysSinceNoncurrentTime: number;
```

- *Type:* number

Number of days elapsed since the noncurrent timestamp of an object. This 							condition is relevant only for versioned objects.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#days_since_noncurrent_time StorageBucket#days_since_noncurrent_time}

---

##### `matchesPrefix`<sup>Optional</sup> <a name="matchesPrefix" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.matchesPrefix"></a>

```typescript
public readonly matchesPrefix: string[];
```

- *Type:* string[]

One or more matching name prefixes to satisfy this condition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#matches_prefix StorageBucket#matches_prefix}

---

##### `matchesStorageClass`<sup>Optional</sup> <a name="matchesStorageClass" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.matchesStorageClass"></a>

```typescript
public readonly matchesStorageClass: string[];
```

- *Type:* string[]

Storage Class of objects to satisfy this condition. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD, DURABLE_REDUCED_AVAILABILITY.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#matches_storage_class StorageBucket#matches_storage_class}

---

##### `matchesSuffix`<sup>Optional</sup> <a name="matchesSuffix" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.matchesSuffix"></a>

```typescript
public readonly matchesSuffix: string[];
```

- *Type:* string[]

One or more matching name suffixes to satisfy this condition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#matches_suffix StorageBucket#matches_suffix}

---

##### `noncurrentTimeBefore`<sup>Optional</sup> <a name="noncurrentTimeBefore" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.noncurrentTimeBefore"></a>

```typescript
public readonly noncurrentTimeBefore: string;
```

- *Type:* string

Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#noncurrent_time_before StorageBucket#noncurrent_time_before}

---

##### `numNewerVersions`<sup>Optional</sup> <a name="numNewerVersions" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.numNewerVersions"></a>

```typescript
public readonly numNewerVersions: number;
```

- *Type:* number

Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#num_newer_versions StorageBucket#num_newer_versions}

---

##### `withState`<sup>Optional</sup> <a name="withState" id="@dschmidt/provider-google.StorageBucketLifecycleRuleCondition.property.withState"></a>

```typescript
public readonly withState: string;
```

- *Type:* string

Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE", "ARCHIVED", "ANY".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#with_state StorageBucket#with_state}

---

### StorageBucketLogging <a name="StorageBucketLogging" id="@dschmidt/provider-google.StorageBucketLogging"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketLogging.Initializer"></a>

```typescript
import { StorageBucketLogging } from '@dschmidt/provider-google'

const storageBucketLogging: StorageBucketLogging = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketLogging.property.logBucket">logBucket</a></code> | <code>string</code> | The bucket that will receive log objects. |
| <code><a href="#@dschmidt/provider-google.StorageBucketLogging.property.logObjectPrefix">logObjectPrefix</a></code> | <code>string</code> | The object prefix for log objects. |

---

##### `logBucket`<sup>Required</sup> <a name="logBucket" id="@dschmidt/provider-google.StorageBucketLogging.property.logBucket"></a>

```typescript
public readonly logBucket: string;
```

- *Type:* string

The bucket that will receive log objects.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#log_bucket StorageBucket#log_bucket}

---

##### `logObjectPrefix`<sup>Optional</sup> <a name="logObjectPrefix" id="@dschmidt/provider-google.StorageBucketLogging.property.logObjectPrefix"></a>

```typescript
public readonly logObjectPrefix: string;
```

- *Type:* string

The object prefix for log objects.

If it's not provided, by default Google Cloud Storage sets this to this bucket's name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#log_object_prefix StorageBucket#log_object_prefix}

---

### StorageBucketObjectConfig <a name="StorageBucketObjectConfig" id="@dschmidt/provider-google.StorageBucketObjectConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketObjectConfig.Initializer"></a>

```typescript
import { StorageBucketObjectConfig } from '@dschmidt/provider-google'

const storageBucketObjectConfig: StorageBucketObjectConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.bucket">bucket</a></code> | <code>string</code> | The name of the containing bucket. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.name">name</a></code> | <code>string</code> | The name of the object. If you're interpolating the name of this object, see output_name instead. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.cacheControl">cacheControl</a></code> | <code>string</code> | Cache-Control directive to specify caching behavior of object data. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.content">content</a></code> | <code>string</code> | Data as string to be uploaded. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.contentDisposition">contentDisposition</a></code> | <code>string</code> | Content-Disposition of the object data. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.contentEncoding">contentEncoding</a></code> | <code>string</code> | Content-Encoding of the object data. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.contentLanguage">contentLanguage</a></code> | <code>string</code> | Content-Language of the object data. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.contentType">contentType</a></code> | <code>string</code> | Content-Type of the object data. Defaults to "application/octet-stream" or "text/plain; charset=utf-8". |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.customerEncryption">customerEncryption</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketObjectCustomerEncryption">StorageBucketObjectCustomerEncryption</a></code> | customer_encryption block. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.detectMd5Hash">detectMd5Hash</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#detect_md5hash StorageBucketObject#detect_md5hash}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.eventBasedHold">eventBasedHold</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether an object is under event-based hold. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#id StorageBucketObject#id}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Resource name of the Cloud KMS key that will be used to encrypt the object. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.metadata">metadata</a></code> | <code>{[ key: string ]: string}</code> | User-provided metadata, in key/value pairs. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.source">source</a></code> | <code>string</code> | A path to the data you want to upload. Must be defined if content is not. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.storageClass">storageClass</a></code> | <code>string</code> | The StorageClass of the new bucket object. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.temporaryHold">temporaryHold</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether an object is under temporary hold. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageBucketObjectTimeouts">StorageBucketObjectTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The name of the containing bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#bucket StorageBucketObject#bucket}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the object. If you're interpolating the name of this object, see output_name instead.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#name StorageBucketObject#name}

---

##### `cacheControl`<sup>Optional</sup> <a name="cacheControl" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.cacheControl"></a>

```typescript
public readonly cacheControl: string;
```

- *Type:* string

Cache-Control directive to specify caching behavior of object data.

If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#cache_control StorageBucketObject#cache_control}

---

##### `content`<sup>Optional</sup> <a name="content" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.content"></a>

```typescript
public readonly content: string;
```

- *Type:* string

Data as string to be uploaded.

Must be defined if source is not. Note: The content field is marked as sensitive. To view the raw contents of the object, please define an output.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#content StorageBucketObject#content}

---

##### `contentDisposition`<sup>Optional</sup> <a name="contentDisposition" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.contentDisposition"></a>

```typescript
public readonly contentDisposition: string;
```

- *Type:* string

Content-Disposition of the object data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#content_disposition StorageBucketObject#content_disposition}

---

##### `contentEncoding`<sup>Optional</sup> <a name="contentEncoding" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.contentEncoding"></a>

```typescript
public readonly contentEncoding: string;
```

- *Type:* string

Content-Encoding of the object data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#content_encoding StorageBucketObject#content_encoding}

---

##### `contentLanguage`<sup>Optional</sup> <a name="contentLanguage" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.contentLanguage"></a>

```typescript
public readonly contentLanguage: string;
```

- *Type:* string

Content-Language of the object data.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#content_language StorageBucketObject#content_language}

---

##### `contentType`<sup>Optional</sup> <a name="contentType" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.contentType"></a>

```typescript
public readonly contentType: string;
```

- *Type:* string

Content-Type of the object data. Defaults to "application/octet-stream" or "text/plain; charset=utf-8".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#content_type StorageBucketObject#content_type}

---

##### `customerEncryption`<sup>Optional</sup> <a name="customerEncryption" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.customerEncryption"></a>

```typescript
public readonly customerEncryption: StorageBucketObjectCustomerEncryption;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketObjectCustomerEncryption">StorageBucketObjectCustomerEncryption</a>

customer_encryption block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#customer_encryption StorageBucketObject#customer_encryption}

---

##### `detectMd5Hash`<sup>Optional</sup> <a name="detectMd5Hash" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.detectMd5Hash"></a>

```typescript
public readonly detectMd5Hash: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#detect_md5hash StorageBucketObject#detect_md5hash}.

---

##### `eventBasedHold`<sup>Optional</sup> <a name="eventBasedHold" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.eventBasedHold"></a>

```typescript
public readonly eventBasedHold: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether an object is under event-based hold.

Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#event_based_hold StorageBucketObject#event_based_hold}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#id StorageBucketObject#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Resource name of the Cloud KMS key that will be used to encrypt the object.

Overrides the object metadata's kmsKeyName value, if any.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#kms_key_name StorageBucketObject#kms_key_name}

---

##### `metadata`<sup>Optional</sup> <a name="metadata" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.metadata"></a>

```typescript
public readonly metadata: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

User-provided metadata, in key/value pairs.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#metadata StorageBucketObject#metadata}

---

##### `source`<sup>Optional</sup> <a name="source" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

A path to the data you want to upload. Must be defined if content is not.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#source StorageBucketObject#source}

---

##### `storageClass`<sup>Optional</sup> <a name="storageClass" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.storageClass"></a>

```typescript
public readonly storageClass: string;
```

- *Type:* string

The StorageClass of the new bucket object.

Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE. If not provided, this defaults to the bucket's default storage class or to a standard class.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#storage_class StorageBucketObject#storage_class}

---

##### `temporaryHold`<sup>Optional</sup> <a name="temporaryHold" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.temporaryHold"></a>

```typescript
public readonly temporaryHold: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether an object is under temporary hold.

While this flag is set to true, the object is protected against deletion and overwrites.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#temporary_hold StorageBucketObject#temporary_hold}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageBucketObjectConfig.property.timeouts"></a>

```typescript
public readonly timeouts: StorageBucketObjectTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageBucketObjectTimeouts">StorageBucketObjectTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#timeouts StorageBucketObject#timeouts}

---

### StorageBucketObjectCustomerEncryption <a name="StorageBucketObjectCustomerEncryption" id="@dschmidt/provider-google.StorageBucketObjectCustomerEncryption"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketObjectCustomerEncryption.Initializer"></a>

```typescript
import { StorageBucketObjectCustomerEncryption } from '@dschmidt/provider-google'

const storageBucketObjectCustomerEncryption: StorageBucketObjectCustomerEncryption = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectCustomerEncryption.property.encryptionKey">encryptionKey</a></code> | <code>string</code> | Base64 encoded customer supplied encryption key. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectCustomerEncryption.property.encryptionAlgorithm">encryptionAlgorithm</a></code> | <code>string</code> | The encryption algorithm. Default: AES256. |

---

##### `encryptionKey`<sup>Required</sup> <a name="encryptionKey" id="@dschmidt/provider-google.StorageBucketObjectCustomerEncryption.property.encryptionKey"></a>

```typescript
public readonly encryptionKey: string;
```

- *Type:* string

Base64 encoded customer supplied encryption key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#encryption_key StorageBucketObject#encryption_key}

---

##### `encryptionAlgorithm`<sup>Optional</sup> <a name="encryptionAlgorithm" id="@dschmidt/provider-google.StorageBucketObjectCustomerEncryption.property.encryptionAlgorithm"></a>

```typescript
public readonly encryptionAlgorithm: string;
```

- *Type:* string

The encryption algorithm. Default: AES256.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#encryption_algorithm StorageBucketObject#encryption_algorithm}

---

### StorageBucketObjectTimeouts <a name="StorageBucketObjectTimeouts" id="@dschmidt/provider-google.StorageBucketObjectTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketObjectTimeouts.Initializer"></a>

```typescript
import { StorageBucketObjectTimeouts } from '@dschmidt/provider-google'

const storageBucketObjectTimeouts: StorageBucketObjectTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#create StorageBucketObject#create}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#delete StorageBucketObject#delete}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketObjectTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#update StorageBucketObject#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.StorageBucketObjectTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#create StorageBucketObject#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.StorageBucketObjectTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#delete StorageBucketObject#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.StorageBucketObjectTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket_object#update StorageBucketObject#update}.

---

### StorageBucketRetentionPolicy <a name="StorageBucketRetentionPolicy" id="@dschmidt/provider-google.StorageBucketRetentionPolicy"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketRetentionPolicy.Initializer"></a>

```typescript
import { StorageBucketRetentionPolicy } from '@dschmidt/provider-google'

const storageBucketRetentionPolicy: StorageBucketRetentionPolicy = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketRetentionPolicy.property.retentionPeriod">retentionPeriod</a></code> | <code>number</code> | The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. |
| <code><a href="#@dschmidt/provider-google.StorageBucketRetentionPolicy.property.isLocked">isLocked</a></code> | <code>boolean \| cdktf.IResolvable</code> | If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy. |

---

##### `retentionPeriod`<sup>Required</sup> <a name="retentionPeriod" id="@dschmidt/provider-google.StorageBucketRetentionPolicy.property.retentionPeriod"></a>

```typescript
public readonly retentionPeriod: number;
```

- *Type:* number

The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived.

The value must be less than 3,155,760,000 seconds.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#retention_period StorageBucket#retention_period}

---

##### `isLocked`<sup>Optional</sup> <a name="isLocked" id="@dschmidt/provider-google.StorageBucketRetentionPolicy.property.isLocked"></a>

```typescript
public readonly isLocked: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy.

Caution: Locking a bucket is an irreversible action.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#is_locked StorageBucket#is_locked}

---

### StorageBucketTimeouts <a name="StorageBucketTimeouts" id="@dschmidt/provider-google.StorageBucketTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketTimeouts.Initializer"></a>

```typescript
import { StorageBucketTimeouts } from '@dschmidt/provider-google'

const storageBucketTimeouts: StorageBucketTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#create StorageBucket#create}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketTimeouts.property.read">read</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#read StorageBucket#read}. |
| <code><a href="#@dschmidt/provider-google.StorageBucketTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#update StorageBucket#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.StorageBucketTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#create StorageBucket#create}.

---

##### `read`<sup>Optional</sup> <a name="read" id="@dschmidt/provider-google.StorageBucketTimeouts.property.read"></a>

```typescript
public readonly read: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#read StorageBucket#read}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.StorageBucketTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#update StorageBucket#update}.

---

### StorageBucketVersioning <a name="StorageBucketVersioning" id="@dschmidt/provider-google.StorageBucketVersioning"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketVersioning.Initializer"></a>

```typescript
import { StorageBucketVersioning } from '@dschmidt/provider-google'

const storageBucketVersioning: StorageBucketVersioning = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketVersioning.property.enabled">enabled</a></code> | <code>boolean \| cdktf.IResolvable</code> | While set to true, versioning is fully enabled for this bucket. |

---

##### `enabled`<sup>Required</sup> <a name="enabled" id="@dschmidt/provider-google.StorageBucketVersioning.property.enabled"></a>

```typescript
public readonly enabled: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

While set to true, versioning is fully enabled for this bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#enabled StorageBucket#enabled}

---

### StorageBucketWebsite <a name="StorageBucketWebsite" id="@dschmidt/provider-google.StorageBucketWebsite"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageBucketWebsite.Initializer"></a>

```typescript
import { StorageBucketWebsite } from '@dschmidt/provider-google'

const storageBucketWebsite: StorageBucketWebsite = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageBucketWebsite.property.mainPageSuffix">mainPageSuffix</a></code> | <code>string</code> | Behaves as the bucket's directory index where missing objects are treated as potential directories. |
| <code><a href="#@dschmidt/provider-google.StorageBucketWebsite.property.notFoundPage">notFoundPage</a></code> | <code>string</code> | The custom object to return when a requested resource is not found. |

---

##### `mainPageSuffix`<sup>Optional</sup> <a name="mainPageSuffix" id="@dschmidt/provider-google.StorageBucketWebsite.property.mainPageSuffix"></a>

```typescript
public readonly mainPageSuffix: string;
```

- *Type:* string

Behaves as the bucket's directory index where missing objects are treated as potential directories.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#main_page_suffix StorageBucket#main_page_suffix}

---

##### `notFoundPage`<sup>Optional</sup> <a name="notFoundPage" id="@dschmidt/provider-google.StorageBucketWebsite.property.notFoundPage"></a>

```typescript
public readonly notFoundPage: string;
```

- *Type:* string

The custom object to return when a requested resource is not found.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_bucket#not_found_page StorageBucket#not_found_page}

---

### StorageDefaultObjectAccessControlConfig <a name="StorageDefaultObjectAccessControlConfig" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.Initializer"></a>

```typescript
import { StorageDefaultObjectAccessControlConfig } from '@dschmidt/provider-google'

const storageDefaultObjectAccessControlConfig: StorageDefaultObjectAccessControlConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.bucket">bucket</a></code> | <code>string</code> | The name of the bucket. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.entity">entity</a></code> | <code>string</code> | The entity holding the permission, in one of the following forms: user-{{userId}} user-{{email}} (such as "user-liz@example.com") group-{{groupId}} group-{{email}} (such as "group-example@googlegroups.com") domain-{{domain}} (such as "domain-example.com") project-team-{{projectId}} allUsers allAuthenticatedUsers. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.role">role</a></code> | <code>string</code> | The access permission for the entity. Possible values: ["OWNER", "READER"]. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#id StorageDefaultObjectAccessControl#id}. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.object">object</a></code> | <code>string</code> | The name of the object, if applied to an object. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts">StorageDefaultObjectAccessControlTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The name of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#bucket StorageDefaultObjectAccessControl#bucket}

---

##### `entity`<sup>Required</sup> <a name="entity" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.entity"></a>

```typescript
public readonly entity: string;
```

- *Type:* string

The entity holding the permission, in one of the following forms: user-{{userId}} user-{{email}} (such as "user-liz@example.com") group-{{groupId}} group-{{email}} (such as "group-example@googlegroups.com") domain-{{domain}} (such as "domain-example.com") project-team-{{projectId}} allUsers allAuthenticatedUsers.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#entity StorageDefaultObjectAccessControl#entity}

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

The access permission for the entity. Possible values: ["OWNER", "READER"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#role StorageDefaultObjectAccessControl#role}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#id StorageDefaultObjectAccessControl#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `object`<sup>Optional</sup> <a name="object" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

The name of the object, if applied to an object.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#object StorageDefaultObjectAccessControl#object}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlConfig.property.timeouts"></a>

```typescript
public readonly timeouts: StorageDefaultObjectAccessControlTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts">StorageDefaultObjectAccessControlTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#timeouts StorageDefaultObjectAccessControl#timeouts}

---

### StorageDefaultObjectAccessControlProjectTeam <a name="StorageDefaultObjectAccessControlProjectTeam" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlProjectTeam"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlProjectTeam.Initializer"></a>

```typescript
import { StorageDefaultObjectAccessControlProjectTeam } from '@dschmidt/provider-google'

const storageDefaultObjectAccessControlProjectTeam: StorageDefaultObjectAccessControlProjectTeam = { ... }
```


### StorageDefaultObjectAccessControlTimeouts <a name="StorageDefaultObjectAccessControlTimeouts" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts.Initializer"></a>

```typescript
import { StorageDefaultObjectAccessControlTimeouts } from '@dschmidt/provider-google'

const storageDefaultObjectAccessControlTimeouts: StorageDefaultObjectAccessControlTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#create StorageDefaultObjectAccessControl#create}. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#delete StorageDefaultObjectAccessControl#delete}. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#update StorageDefaultObjectAccessControl#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#create StorageDefaultObjectAccessControl#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#delete StorageDefaultObjectAccessControl#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.StorageDefaultObjectAccessControlTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_access_control#update StorageDefaultObjectAccessControl#update}.

---

### StorageDefaultObjectAclConfig <a name="StorageDefaultObjectAclConfig" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.Initializer"></a>

```typescript
import { StorageDefaultObjectAclConfig } from '@dschmidt/provider-google'

const storageDefaultObjectAclConfig: StorageDefaultObjectAclConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.bucket">bucket</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_acl#bucket StorageDefaultObjectAcl#bucket}. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_acl#id StorageDefaultObjectAcl#id}. |
| <code><a href="#@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.roleEntity">roleEntity</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_acl#role_entity StorageDefaultObjectAcl#role_entity}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_acl#bucket StorageDefaultObjectAcl#bucket}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_acl#id StorageDefaultObjectAcl#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `roleEntity`<sup>Optional</sup> <a name="roleEntity" id="@dschmidt/provider-google.StorageDefaultObjectAclConfig.property.roleEntity"></a>

```typescript
public readonly roleEntity: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_default_object_acl#role_entity StorageDefaultObjectAcl#role_entity}.

---

### StorageHmacKeyConfig <a name="StorageHmacKeyConfig" id="@dschmidt/provider-google.StorageHmacKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageHmacKeyConfig.Initializer"></a>

```typescript
import { StorageHmacKeyConfig } from '@dschmidt/provider-google'

const storageHmacKeyConfig: StorageHmacKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.serviceAccountEmail">serviceAccountEmail</a></code> | <code>string</code> | The email address of the key's associated service account. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#id StorageHmacKey#id}. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#project StorageHmacKey#project}. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.state">state</a></code> | <code>string</code> | The state of the key. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageHmacKeyTimeouts">StorageHmacKeyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `serviceAccountEmail`<sup>Required</sup> <a name="serviceAccountEmail" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.serviceAccountEmail"></a>

```typescript
public readonly serviceAccountEmail: string;
```

- *Type:* string

The email address of the key's associated service account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#service_account_email StorageHmacKey#service_account_email}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#id StorageHmacKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#project StorageHmacKey#project}.

---

##### `state`<sup>Optional</sup> <a name="state" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.state"></a>

```typescript
public readonly state: string;
```

- *Type:* string

The state of the key.

Can be set to one of ACTIVE, INACTIVE. Default value: "ACTIVE" Possible values: ["ACTIVE", "INACTIVE"]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#state StorageHmacKey#state}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageHmacKeyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: StorageHmacKeyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageHmacKeyTimeouts">StorageHmacKeyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#timeouts StorageHmacKey#timeouts}

---

### StorageHmacKeyTimeouts <a name="StorageHmacKeyTimeouts" id="@dschmidt/provider-google.StorageHmacKeyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageHmacKeyTimeouts.Initializer"></a>

```typescript
import { StorageHmacKeyTimeouts } from '@dschmidt/provider-google'

const storageHmacKeyTimeouts: StorageHmacKeyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#create StorageHmacKey#create}. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#delete StorageHmacKey#delete}. |
| <code><a href="#@dschmidt/provider-google.StorageHmacKeyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#update StorageHmacKey#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.StorageHmacKeyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#create StorageHmacKey#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.StorageHmacKeyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#delete StorageHmacKey#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.StorageHmacKeyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_hmac_key#update StorageHmacKey#update}.

---

### StorageNotificationConfig <a name="StorageNotificationConfig" id="@dschmidt/provider-google.StorageNotificationConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageNotificationConfig.Initializer"></a>

```typescript
import { StorageNotificationConfig } from '@dschmidt/provider-google'

const storageNotificationConfig: StorageNotificationConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.bucket">bucket</a></code> | <code>string</code> | The name of the bucket. |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.payloadFormat">payloadFormat</a></code> | <code>string</code> | The desired content of the Payload. One of "JSON_API_V1" or "NONE". |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.topic">topic</a></code> | <code>string</code> | The Cloud Pub/Sub topic to which this subscription publishes. |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.customAttributes">customAttributes</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value attribute pairs to attach to each Cloud Pub/Sub message published for this notification subscription. |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.eventTypes">eventTypes</a></code> | <code>string[]</code> | List of event type filters for this notification config. |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_notification#id StorageNotification#id}. |
| <code><a href="#@dschmidt/provider-google.StorageNotificationConfig.property.objectNamePrefix">objectNamePrefix</a></code> | <code>string</code> | Specifies a prefix path filter for this notification config. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageNotificationConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageNotificationConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageNotificationConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageNotificationConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageNotificationConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageNotificationConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageNotificationConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageNotificationConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The name of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_notification#bucket StorageNotification#bucket}

---

##### `payloadFormat`<sup>Required</sup> <a name="payloadFormat" id="@dschmidt/provider-google.StorageNotificationConfig.property.payloadFormat"></a>

```typescript
public readonly payloadFormat: string;
```

- *Type:* string

The desired content of the Payload. One of "JSON_API_V1" or "NONE".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_notification#payload_format StorageNotification#payload_format}

---

##### `topic`<sup>Required</sup> <a name="topic" id="@dschmidt/provider-google.StorageNotificationConfig.property.topic"></a>

```typescript
public readonly topic: string;
```

- *Type:* string

The Cloud Pub/Sub topic to which this subscription publishes.

Expects either the  topic name, assumed to belong to the default GCP provider project, or the project-level name,  i.e. projects/my-gcp-project/topics/my-topic or my-topic. If the project is not set in the provider, you will need to use the project-level name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_notification#topic StorageNotification#topic}

---

##### `customAttributes`<sup>Optional</sup> <a name="customAttributes" id="@dschmidt/provider-google.StorageNotificationConfig.property.customAttributes"></a>

```typescript
public readonly customAttributes: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value attribute pairs to attach to each Cloud Pub/Sub message published for this notification subscription.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_notification#custom_attributes StorageNotification#custom_attributes}

---

##### `eventTypes`<sup>Optional</sup> <a name="eventTypes" id="@dschmidt/provider-google.StorageNotificationConfig.property.eventTypes"></a>

```typescript
public readonly eventTypes: string[];
```

- *Type:* string[]

List of event type filters for this notification config.

If not specified, Cloud Storage will send notifications for all event types. The valid types are: "OBJECT_FINALIZE", "OBJECT_METADATA_UPDATE", "OBJECT_DELETE", "OBJECT_ARCHIVE"

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_notification#event_types StorageNotification#event_types}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageNotificationConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_notification#id StorageNotification#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `objectNamePrefix`<sup>Optional</sup> <a name="objectNamePrefix" id="@dschmidt/provider-google.StorageNotificationConfig.property.objectNamePrefix"></a>

```typescript
public readonly objectNamePrefix: string;
```

- *Type:* string

Specifies a prefix path filter for this notification config.

Cloud Storage will only send notifications for objects in this bucket whose names begin with the specified prefix.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_notification#object_name_prefix StorageNotification#object_name_prefix}

---

### StorageObjectAccessControlConfig <a name="StorageObjectAccessControlConfig" id="@dschmidt/provider-google.StorageObjectAccessControlConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.Initializer"></a>

```typescript
import { StorageObjectAccessControlConfig } from '@dschmidt/provider-google'

const storageObjectAccessControlConfig: StorageObjectAccessControlConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.bucket">bucket</a></code> | <code>string</code> | The name of the bucket. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.entity">entity</a></code> | <code>string</code> | The entity holding the permission, in one of the following forms: user-{{userId}} user-{{email}} (such as "user-liz@example.com") group-{{groupId}} group-{{email}} (such as "group-example@googlegroups.com") domain-{{domain}} (such as "domain-example.com") project-team-{{projectId}} allUsers allAuthenticatedUsers. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.object">object</a></code> | <code>string</code> | The name of the object to apply the access control to. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.role">role</a></code> | <code>string</code> | The access permission for the entity. Possible values: ["OWNER", "READER"]. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#id StorageObjectAccessControl#id}. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeouts">StorageObjectAccessControlTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

The name of the bucket.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#bucket StorageObjectAccessControl#bucket}

---

##### `entity`<sup>Required</sup> <a name="entity" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.entity"></a>

```typescript
public readonly entity: string;
```

- *Type:* string

The entity holding the permission, in one of the following forms: user-{{userId}} user-{{email}} (such as "user-liz@example.com") group-{{groupId}} group-{{email}} (such as "group-example@googlegroups.com") domain-{{domain}} (such as "domain-example.com") project-team-{{projectId}} allUsers allAuthenticatedUsers.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#entity StorageObjectAccessControl#entity}

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

The name of the object to apply the access control to.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#object StorageObjectAccessControl#object}

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

The access permission for the entity. Possible values: ["OWNER", "READER"].

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#role StorageObjectAccessControl#role}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#id StorageObjectAccessControl#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.StorageObjectAccessControlConfig.property.timeouts"></a>

```typescript
public readonly timeouts: StorageObjectAccessControlTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeouts">StorageObjectAccessControlTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#timeouts StorageObjectAccessControl#timeouts}

---

### StorageObjectAccessControlProjectTeam <a name="StorageObjectAccessControlProjectTeam" id="@dschmidt/provider-google.StorageObjectAccessControlProjectTeam"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageObjectAccessControlProjectTeam.Initializer"></a>

```typescript
import { StorageObjectAccessControlProjectTeam } from '@dschmidt/provider-google'

const storageObjectAccessControlProjectTeam: StorageObjectAccessControlProjectTeam = { ... }
```


### StorageObjectAccessControlTimeouts <a name="StorageObjectAccessControlTimeouts" id="@dschmidt/provider-google.StorageObjectAccessControlTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageObjectAccessControlTimeouts.Initializer"></a>

```typescript
import { StorageObjectAccessControlTimeouts } from '@dschmidt/provider-google'

const storageObjectAccessControlTimeouts: StorageObjectAccessControlTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#create StorageObjectAccessControl#create}. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#delete StorageObjectAccessControl#delete}. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAccessControlTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#update StorageObjectAccessControl#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.StorageObjectAccessControlTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#create StorageObjectAccessControl#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.StorageObjectAccessControlTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#delete StorageObjectAccessControl#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.StorageObjectAccessControlTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_access_control#update StorageObjectAccessControl#update}.

---

### StorageObjectAclConfig <a name="StorageObjectAclConfig" id="@dschmidt/provider-google.StorageObjectAclConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageObjectAclConfig.Initializer"></a>

```typescript
import { StorageObjectAclConfig } from '@dschmidt/provider-google'

const storageObjectAclConfig: StorageObjectAclConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.bucket">bucket</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#bucket StorageObjectAcl#bucket}. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.object">object</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#object StorageObjectAcl#object}. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#id StorageObjectAcl#id}. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.predefinedAcl">predefinedAcl</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#predefined_acl StorageObjectAcl#predefined_acl}. |
| <code><a href="#@dschmidt/provider-google.StorageObjectAclConfig.property.roleEntity">roleEntity</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#role_entity StorageObjectAcl#role_entity}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageObjectAclConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageObjectAclConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageObjectAclConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageObjectAclConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageObjectAclConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageObjectAclConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageObjectAclConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="@dschmidt/provider-google.StorageObjectAclConfig.property.bucket"></a>

```typescript
public readonly bucket: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#bucket StorageObjectAcl#bucket}.

---

##### `object`<sup>Required</sup> <a name="object" id="@dschmidt/provider-google.StorageObjectAclConfig.property.object"></a>

```typescript
public readonly object: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#object StorageObjectAcl#object}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageObjectAclConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#id StorageObjectAcl#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `predefinedAcl`<sup>Optional</sup> <a name="predefinedAcl" id="@dschmidt/provider-google.StorageObjectAclConfig.property.predefinedAcl"></a>

```typescript
public readonly predefinedAcl: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#predefined_acl StorageObjectAcl#predefined_acl}.

---

##### `roleEntity`<sup>Optional</sup> <a name="roleEntity" id="@dschmidt/provider-google.StorageObjectAclConfig.property.roleEntity"></a>

```typescript
public readonly roleEntity: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_object_acl#role_entity StorageObjectAcl#role_entity}.

---

### StorageTransferJobConfig <a name="StorageTransferJobConfig" id="@dschmidt/provider-google.StorageTransferJobConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobConfig.Initializer"></a>

```typescript
import { StorageTransferJobConfig } from '@dschmidt/provider-google'

const storageTransferJobConfig: StorageTransferJobConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.description">description</a></code> | <code>string</code> | Unique description to identify the Transfer Job. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.transferSpec">transferSpec</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec">StorageTransferJobTransferSpec</a></code> | transfer_spec block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#id StorageTransferJob#id}. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.project">project</a></code> | <code>string</code> | The project in which the resource belongs. If it is not provided, the provider project is used. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.schedule">schedule</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobSchedule">StorageTransferJobSchedule</a></code> | schedule block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobConfig.property.status">status</a></code> | <code>string</code> | Status of the job. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.StorageTransferJobConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.StorageTransferJobConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.StorageTransferJobConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.StorageTransferJobConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.StorageTransferJobConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.StorageTransferJobConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.StorageTransferJobConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.StorageTransferJobConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Unique description to identify the Transfer Job.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#description StorageTransferJob#description}

---

##### `transferSpec`<sup>Required</sup> <a name="transferSpec" id="@dschmidt/provider-google.StorageTransferJobConfig.property.transferSpec"></a>

```typescript
public readonly transferSpec: StorageTransferJobTransferSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec">StorageTransferJobTransferSpec</a>

transfer_spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#transfer_spec StorageTransferJob#transfer_spec}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.StorageTransferJobConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#id StorageTransferJob#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.StorageTransferJobConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

The project in which the resource belongs. If it is not provided, the provider project is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#project StorageTransferJob#project}

---

##### `schedule`<sup>Optional</sup> <a name="schedule" id="@dschmidt/provider-google.StorageTransferJobConfig.property.schedule"></a>

```typescript
public readonly schedule: StorageTransferJobSchedule;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobSchedule">StorageTransferJobSchedule</a>

schedule block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#schedule StorageTransferJob#schedule}

---

##### `status`<sup>Optional</sup> <a name="status" id="@dschmidt/provider-google.StorageTransferJobConfig.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

Status of the job.

Default: ENABLED. NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#status StorageTransferJob#status}

---

### StorageTransferJobSchedule <a name="StorageTransferJobSchedule" id="@dschmidt/provider-google.StorageTransferJobSchedule"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobSchedule.Initializer"></a>

```typescript
import { StorageTransferJobSchedule } from '@dschmidt/provider-google'

const storageTransferJobSchedule: StorageTransferJobSchedule = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobSchedule.property.scheduleStartDate">scheduleStartDate</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate">StorageTransferJobScheduleScheduleStartDate</a></code> | schedule_start_date block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobSchedule.property.repeatInterval">repeatInterval</a></code> | <code>string</code> | Interval between the start of each scheduled transfer. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobSchedule.property.scheduleEndDate">scheduleEndDate</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate">StorageTransferJobScheduleScheduleEndDate</a></code> | schedule_end_date block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobSchedule.property.startTimeOfDay">startTimeOfDay</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay">StorageTransferJobScheduleStartTimeOfDay</a></code> | start_time_of_day block. |

---

##### `scheduleStartDate`<sup>Required</sup> <a name="scheduleStartDate" id="@dschmidt/provider-google.StorageTransferJobSchedule.property.scheduleStartDate"></a>

```typescript
public readonly scheduleStartDate: StorageTransferJobScheduleScheduleStartDate;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate">StorageTransferJobScheduleScheduleStartDate</a>

schedule_start_date block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#schedule_start_date StorageTransferJob#schedule_start_date}

---

##### `repeatInterval`<sup>Optional</sup> <a name="repeatInterval" id="@dschmidt/provider-google.StorageTransferJobSchedule.property.repeatInterval"></a>

```typescript
public readonly repeatInterval: string;
```

- *Type:* string

Interval between the start of each scheduled transfer.

If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#repeat_interval StorageTransferJob#repeat_interval}

---

##### `scheduleEndDate`<sup>Optional</sup> <a name="scheduleEndDate" id="@dschmidt/provider-google.StorageTransferJobSchedule.property.scheduleEndDate"></a>

```typescript
public readonly scheduleEndDate: StorageTransferJobScheduleScheduleEndDate;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate">StorageTransferJobScheduleScheduleEndDate</a>

schedule_end_date block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#schedule_end_date StorageTransferJob#schedule_end_date}

---

##### `startTimeOfDay`<sup>Optional</sup> <a name="startTimeOfDay" id="@dschmidt/provider-google.StorageTransferJobSchedule.property.startTimeOfDay"></a>

```typescript
public readonly startTimeOfDay: StorageTransferJobScheduleStartTimeOfDay;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay">StorageTransferJobScheduleStartTimeOfDay</a>

start_time_of_day block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#start_time_of_day StorageTransferJob#start_time_of_day}

---

### StorageTransferJobScheduleScheduleEndDate <a name="StorageTransferJobScheduleScheduleEndDate" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate.Initializer"></a>

```typescript
import { StorageTransferJobScheduleScheduleEndDate } from '@dschmidt/provider-google'

const storageTransferJobScheduleScheduleEndDate: StorageTransferJobScheduleScheduleEndDate = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate.property.day">day</a></code> | <code>number</code> | Day of month. Must be from 1 to 31 and valid for the year and month. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate.property.month">month</a></code> | <code>number</code> | Month of year. Must be from 1 to 12. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate.property.year">year</a></code> | <code>number</code> | Year of date. Must be from 1 to 9999. |

---

##### `day`<sup>Required</sup> <a name="day" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate.property.day"></a>

```typescript
public readonly day: number;
```

- *Type:* number

Day of month. Must be from 1 to 31 and valid for the year and month.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#day StorageTransferJob#day}

---

##### `month`<sup>Required</sup> <a name="month" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate.property.month"></a>

```typescript
public readonly month: number;
```

- *Type:* number

Month of year. Must be from 1 to 12.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#month StorageTransferJob#month}

---

##### `year`<sup>Required</sup> <a name="year" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleEndDate.property.year"></a>

```typescript
public readonly year: number;
```

- *Type:* number

Year of date. Must be from 1 to 9999.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#year StorageTransferJob#year}

---

### StorageTransferJobScheduleScheduleStartDate <a name="StorageTransferJobScheduleScheduleStartDate" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate.Initializer"></a>

```typescript
import { StorageTransferJobScheduleScheduleStartDate } from '@dschmidt/provider-google'

const storageTransferJobScheduleScheduleStartDate: StorageTransferJobScheduleScheduleStartDate = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate.property.day">day</a></code> | <code>number</code> | Day of month. Must be from 1 to 31 and valid for the year and month. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate.property.month">month</a></code> | <code>number</code> | Month of year. Must be from 1 to 12. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate.property.year">year</a></code> | <code>number</code> | Year of date. Must be from 1 to 9999. |

---

##### `day`<sup>Required</sup> <a name="day" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate.property.day"></a>

```typescript
public readonly day: number;
```

- *Type:* number

Day of month. Must be from 1 to 31 and valid for the year and month.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#day StorageTransferJob#day}

---

##### `month`<sup>Required</sup> <a name="month" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate.property.month"></a>

```typescript
public readonly month: number;
```

- *Type:* number

Month of year. Must be from 1 to 12.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#month StorageTransferJob#month}

---

##### `year`<sup>Required</sup> <a name="year" id="@dschmidt/provider-google.StorageTransferJobScheduleScheduleStartDate.property.year"></a>

```typescript
public readonly year: number;
```

- *Type:* number

Year of date. Must be from 1 to 9999.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#year StorageTransferJob#year}

---

### StorageTransferJobScheduleStartTimeOfDay <a name="StorageTransferJobScheduleStartTimeOfDay" id="@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay.Initializer"></a>

```typescript
import { StorageTransferJobScheduleStartTimeOfDay } from '@dschmidt/provider-google'

const storageTransferJobScheduleStartTimeOfDay: StorageTransferJobScheduleStartTimeOfDay = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay.property.hours">hours</a></code> | <code>number</code> | Hours of day in 24 hour format. Should be from 0 to 23. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay.property.minutes">minutes</a></code> | <code>number</code> | Minutes of hour of day. Must be from 0 to 59. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay.property.nanos">nanos</a></code> | <code>number</code> | Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay.property.seconds">seconds</a></code> | <code>number</code> | Seconds of minutes of the time. Must normally be from 0 to 59. |

---

##### `hours`<sup>Required</sup> <a name="hours" id="@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay.property.hours"></a>

```typescript
public readonly hours: number;
```

- *Type:* number

Hours of day in 24 hour format. Should be from 0 to 23.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#hours StorageTransferJob#hours}

---

##### `minutes`<sup>Required</sup> <a name="minutes" id="@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay.property.minutes"></a>

```typescript
public readonly minutes: number;
```

- *Type:* number

Minutes of hour of day. Must be from 0 to 59.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#minutes StorageTransferJob#minutes}

---

##### `nanos`<sup>Required</sup> <a name="nanos" id="@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay.property.nanos"></a>

```typescript
public readonly nanos: number;
```

- *Type:* number

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#nanos StorageTransferJob#nanos}

---

##### `seconds`<sup>Required</sup> <a name="seconds" id="@dschmidt/provider-google.StorageTransferJobScheduleStartTimeOfDay.property.seconds"></a>

```typescript
public readonly seconds: number;
```

- *Type:* number

Seconds of minutes of the time. Must normally be from 0 to 59.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#seconds StorageTransferJob#seconds}

---

### StorageTransferJobTransferSpec <a name="StorageTransferJobTransferSpec" id="@dschmidt/provider-google.StorageTransferJobTransferSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpec } from '@dschmidt/provider-google'

const storageTransferJobTransferSpec: StorageTransferJobTransferSpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec.property.awsS3DataSource">awsS3DataSource</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource">StorageTransferJobTransferSpecAwsS3DataSource</a></code> | aws_s3_data_source block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec.property.azureBlobStorageDataSource">azureBlobStorageDataSource</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource">StorageTransferJobTransferSpecAzureBlobStorageDataSource</a></code> | azure_blob_storage_data_source block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec.property.gcsDataSink">gcsDataSink</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSink">StorageTransferJobTransferSpecGcsDataSink</a></code> | gcs_data_sink block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec.property.gcsDataSource">gcsDataSource</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSource">StorageTransferJobTransferSpecGcsDataSource</a></code> | gcs_data_source block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec.property.httpDataSource">httpDataSource</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecHttpDataSource">StorageTransferJobTransferSpecHttpDataSource</a></code> | http_data_source block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec.property.objectConditions">objectConditions</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions">StorageTransferJobTransferSpecObjectConditions</a></code> | object_conditions block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec.property.posixDataSink">posixDataSink</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSink">StorageTransferJobTransferSpecPosixDataSink</a></code> | posix_data_sink block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec.property.posixDataSource">posixDataSource</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSource">StorageTransferJobTransferSpecPosixDataSource</a></code> | posix_data_source block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpec.property.transferOptions">transferOptions</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions">StorageTransferJobTransferSpecTransferOptions</a></code> | transfer_options block. |

---

##### `awsS3DataSource`<sup>Optional</sup> <a name="awsS3DataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.property.awsS3DataSource"></a>

```typescript
public readonly awsS3DataSource: StorageTransferJobTransferSpecAwsS3DataSource;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource">StorageTransferJobTransferSpecAwsS3DataSource</a>

aws_s3_data_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#aws_s3_data_source StorageTransferJob#aws_s3_data_source}

---

##### `azureBlobStorageDataSource`<sup>Optional</sup> <a name="azureBlobStorageDataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.property.azureBlobStorageDataSource"></a>

```typescript
public readonly azureBlobStorageDataSource: StorageTransferJobTransferSpecAzureBlobStorageDataSource;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource">StorageTransferJobTransferSpecAzureBlobStorageDataSource</a>

azure_blob_storage_data_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#azure_blob_storage_data_source StorageTransferJob#azure_blob_storage_data_source}

---

##### `gcsDataSink`<sup>Optional</sup> <a name="gcsDataSink" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.property.gcsDataSink"></a>

```typescript
public readonly gcsDataSink: StorageTransferJobTransferSpecGcsDataSink;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSink">StorageTransferJobTransferSpecGcsDataSink</a>

gcs_data_sink block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#gcs_data_sink StorageTransferJob#gcs_data_sink}

---

##### `gcsDataSource`<sup>Optional</sup> <a name="gcsDataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.property.gcsDataSource"></a>

```typescript
public readonly gcsDataSource: StorageTransferJobTransferSpecGcsDataSource;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSource">StorageTransferJobTransferSpecGcsDataSource</a>

gcs_data_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#gcs_data_source StorageTransferJob#gcs_data_source}

---

##### `httpDataSource`<sup>Optional</sup> <a name="httpDataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.property.httpDataSource"></a>

```typescript
public readonly httpDataSource: StorageTransferJobTransferSpecHttpDataSource;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecHttpDataSource">StorageTransferJobTransferSpecHttpDataSource</a>

http_data_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#http_data_source StorageTransferJob#http_data_source}

---

##### `objectConditions`<sup>Optional</sup> <a name="objectConditions" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.property.objectConditions"></a>

```typescript
public readonly objectConditions: StorageTransferJobTransferSpecObjectConditions;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions">StorageTransferJobTransferSpecObjectConditions</a>

object_conditions block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#object_conditions StorageTransferJob#object_conditions}

---

##### `posixDataSink`<sup>Optional</sup> <a name="posixDataSink" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.property.posixDataSink"></a>

```typescript
public readonly posixDataSink: StorageTransferJobTransferSpecPosixDataSink;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSink">StorageTransferJobTransferSpecPosixDataSink</a>

posix_data_sink block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#posix_data_sink StorageTransferJob#posix_data_sink}

---

##### `posixDataSource`<sup>Optional</sup> <a name="posixDataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.property.posixDataSource"></a>

```typescript
public readonly posixDataSource: StorageTransferJobTransferSpecPosixDataSource;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSource">StorageTransferJobTransferSpecPosixDataSource</a>

posix_data_source block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#posix_data_source StorageTransferJob#posix_data_source}

---

##### `transferOptions`<sup>Optional</sup> <a name="transferOptions" id="@dschmidt/provider-google.StorageTransferJobTransferSpec.property.transferOptions"></a>

```typescript
public readonly transferOptions: StorageTransferJobTransferSpecTransferOptions;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions">StorageTransferJobTransferSpecTransferOptions</a>

transfer_options block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#transfer_options StorageTransferJob#transfer_options}

---

### StorageTransferJobTransferSpecAwsS3DataSource <a name="StorageTransferJobTransferSpecAwsS3DataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecAwsS3DataSource } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecAwsS3DataSource: StorageTransferJobTransferSpecAwsS3DataSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource.property.bucketName">bucketName</a></code> | <code>string</code> | S3 Bucket name. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource.property.awsAccessKey">awsAccessKey</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey">StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey</a></code> | aws_access_key block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource.property.roleArn">roleArn</a></code> | <code>string</code> | The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. |

---

##### `bucketName`<sup>Required</sup> <a name="bucketName" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource.property.bucketName"></a>

```typescript
public readonly bucketName: string;
```

- *Type:* string

S3 Bucket name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#bucket_name StorageTransferJob#bucket_name}

---

##### `awsAccessKey`<sup>Optional</sup> <a name="awsAccessKey" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource.property.awsAccessKey"></a>

```typescript
public readonly awsAccessKey: StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey">StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey</a>

aws_access_key block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#aws_access_key StorageTransferJob#aws_access_key}

---

##### `roleArn`<sup>Optional</sup> <a name="roleArn" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSource.property.roleArn"></a>

```typescript
public readonly roleArn: string;
```

- *Type:* string

The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'.

For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#role_arn StorageTransferJob#role_arn}

---

### StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey <a name="StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey: StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey.property.accessKeyId">accessKeyId</a></code> | <code>string</code> | AWS Key ID. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey.property.secretAccessKey">secretAccessKey</a></code> | <code>string</code> | AWS Secret Access Key. |

---

##### `accessKeyId`<sup>Required</sup> <a name="accessKeyId" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey.property.accessKeyId"></a>

```typescript
public readonly accessKeyId: string;
```

- *Type:* string

AWS Key ID.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#access_key_id StorageTransferJob#access_key_id}

---

##### `secretAccessKey`<sup>Required</sup> <a name="secretAccessKey" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey.property.secretAccessKey"></a>

```typescript
public readonly secretAccessKey: string;
```

- *Type:* string

AWS Secret Access Key.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#secret_access_key StorageTransferJob#secret_access_key}

---

### StorageTransferJobTransferSpecAzureBlobStorageDataSource <a name="StorageTransferJobTransferSpecAzureBlobStorageDataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecAzureBlobStorageDataSource } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecAzureBlobStorageDataSource: StorageTransferJobTransferSpecAzureBlobStorageDataSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource.property.azureCredentials">azureCredentials</a></code> | <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials">StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials</a></code> | azure_credentials block. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource.property.container">container</a></code> | <code>string</code> | The container to transfer from the Azure Storage account. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource.property.storageAccount">storageAccount</a></code> | <code>string</code> | The name of the Azure Storage account. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource.property.path">path</a></code> | <code>string</code> | Root path to transfer objects. |

---

##### `azureCredentials`<sup>Required</sup> <a name="azureCredentials" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource.property.azureCredentials"></a>

```typescript
public readonly azureCredentials: StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials;
```

- *Type:* <a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials">StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials</a>

azure_credentials block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#azure_credentials StorageTransferJob#azure_credentials}

---

##### `container`<sup>Required</sup> <a name="container" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource.property.container"></a>

```typescript
public readonly container: string;
```

- *Type:* string

The container to transfer from the Azure Storage account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#container StorageTransferJob#container}

---

##### `storageAccount`<sup>Required</sup> <a name="storageAccount" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource.property.storageAccount"></a>

```typescript
public readonly storageAccount: string;
```

- *Type:* string

The name of the Azure Storage account.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#storage_account StorageTransferJob#storage_account}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSource.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Root path to transfer objects.

Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#path StorageTransferJob#path}

---

### StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials <a name="StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials: StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials.property.sasToken">sasToken</a></code> | <code>string</code> | Azure shared access signature. |

---

##### `sasToken`<sup>Required</sup> <a name="sasToken" id="@dschmidt/provider-google.StorageTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials.property.sasToken"></a>

```typescript
public readonly sasToken: string;
```

- *Type:* string

Azure shared access signature.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#sas_token StorageTransferJob#sas_token}

---

### StorageTransferJobTransferSpecGcsDataSink <a name="StorageTransferJobTransferSpecGcsDataSink" id="@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSink"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSink.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecGcsDataSink } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecGcsDataSink: StorageTransferJobTransferSpecGcsDataSink = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSink.property.bucketName">bucketName</a></code> | <code>string</code> | Google Cloud Storage bucket name. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSink.property.path">path</a></code> | <code>string</code> | Google Cloud Storage path in bucket to transfer. |

---

##### `bucketName`<sup>Required</sup> <a name="bucketName" id="@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSink.property.bucketName"></a>

```typescript
public readonly bucketName: string;
```

- *Type:* string

Google Cloud Storage bucket name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#bucket_name StorageTransferJob#bucket_name}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSink.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Google Cloud Storage path in bucket to transfer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#path StorageTransferJob#path}

---

### StorageTransferJobTransferSpecGcsDataSource <a name="StorageTransferJobTransferSpecGcsDataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSource.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecGcsDataSource } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecGcsDataSource: StorageTransferJobTransferSpecGcsDataSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSource.property.bucketName">bucketName</a></code> | <code>string</code> | Google Cloud Storage bucket name. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSource.property.path">path</a></code> | <code>string</code> | Google Cloud Storage path in bucket to transfer. |

---

##### `bucketName`<sup>Required</sup> <a name="bucketName" id="@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSource.property.bucketName"></a>

```typescript
public readonly bucketName: string;
```

- *Type:* string

Google Cloud Storage bucket name.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#bucket_name StorageTransferJob#bucket_name}

---

##### `path`<sup>Optional</sup> <a name="path" id="@dschmidt/provider-google.StorageTransferJobTransferSpecGcsDataSource.property.path"></a>

```typescript
public readonly path: string;
```

- *Type:* string

Google Cloud Storage path in bucket to transfer.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#path StorageTransferJob#path}

---

### StorageTransferJobTransferSpecHttpDataSource <a name="StorageTransferJobTransferSpecHttpDataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpecHttpDataSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecHttpDataSource.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecHttpDataSource } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecHttpDataSource: StorageTransferJobTransferSpecHttpDataSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecHttpDataSource.property.listUrl">listUrl</a></code> | <code>string</code> | The URL that points to the file that stores the object list entries. |

---

##### `listUrl`<sup>Required</sup> <a name="listUrl" id="@dschmidt/provider-google.StorageTransferJobTransferSpecHttpDataSource.property.listUrl"></a>

```typescript
public readonly listUrl: string;
```

- *Type:* string

The URL that points to the file that stores the object list entries.

This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#list_url StorageTransferJob#list_url}

---

### StorageTransferJobTransferSpecObjectConditions <a name="StorageTransferJobTransferSpecObjectConditions" id="@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecObjectConditions } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecObjectConditions: StorageTransferJobTransferSpecObjectConditions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions.property.excludePrefixes">excludePrefixes</a></code> | <code>string[]</code> | exclude_prefixes must follow the requirements described for include_prefixes. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions.property.includePrefixes">includePrefixes</a></code> | <code>string[]</code> | If include_refixes is specified, objects that satisfy the object conditions must have names that start with one of the include_prefixes and that do not start with any of the exclude_prefixes. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions.property.maxTimeElapsedSinceLastModification">maxTimeElapsedSinceLastModification</a></code> | <code>string</code> | A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions.property.minTimeElapsedSinceLastModification">minTimeElapsedSinceLastModification</a></code> | <code>string</code> | A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". |

---

##### `excludePrefixes`<sup>Optional</sup> <a name="excludePrefixes" id="@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions.property.excludePrefixes"></a>

```typescript
public readonly excludePrefixes: string[];
```

- *Type:* string[]

exclude_prefixes must follow the requirements described for include_prefixes.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#exclude_prefixes StorageTransferJob#exclude_prefixes}

---

##### `includePrefixes`<sup>Optional</sup> <a name="includePrefixes" id="@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions.property.includePrefixes"></a>

```typescript
public readonly includePrefixes: string[];
```

- *Type:* string[]

If include_refixes is specified, objects that satisfy the object conditions must have names that start with one of the include_prefixes and that do not start with any of the exclude_prefixes.

If include_prefixes is not specified, all objects except those that have names starting with one of the exclude_prefixes must satisfy the object conditions.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#include_prefixes StorageTransferJob#include_prefixes}

---

##### `maxTimeElapsedSinceLastModification`<sup>Optional</sup> <a name="maxTimeElapsedSinceLastModification" id="@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions.property.maxTimeElapsedSinceLastModification"></a>

```typescript
public readonly maxTimeElapsedSinceLastModification: string;
```

- *Type:* string

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#max_time_elapsed_since_last_modification StorageTransferJob#max_time_elapsed_since_last_modification}

---

##### `minTimeElapsedSinceLastModification`<sup>Optional</sup> <a name="minTimeElapsedSinceLastModification" id="@dschmidt/provider-google.StorageTransferJobTransferSpecObjectConditions.property.minTimeElapsedSinceLastModification"></a>

```typescript
public readonly minTimeElapsedSinceLastModification: string;
```

- *Type:* string

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#min_time_elapsed_since_last_modification StorageTransferJob#min_time_elapsed_since_last_modification}

---

### StorageTransferJobTransferSpecPosixDataSink <a name="StorageTransferJobTransferSpecPosixDataSink" id="@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSink"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSink.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecPosixDataSink } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecPosixDataSink: StorageTransferJobTransferSpecPosixDataSink = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSink.property.rootDirectory">rootDirectory</a></code> | <code>string</code> | Root directory path to the filesystem. |

---

##### `rootDirectory`<sup>Required</sup> <a name="rootDirectory" id="@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSink.property.rootDirectory"></a>

```typescript
public readonly rootDirectory: string;
```

- *Type:* string

Root directory path to the filesystem.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#root_directory StorageTransferJob#root_directory}

---

### StorageTransferJobTransferSpecPosixDataSource <a name="StorageTransferJobTransferSpecPosixDataSource" id="@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSource"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSource.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecPosixDataSource } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecPosixDataSource: StorageTransferJobTransferSpecPosixDataSource = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSource.property.rootDirectory">rootDirectory</a></code> | <code>string</code> | Root directory path to the filesystem. |

---

##### `rootDirectory`<sup>Required</sup> <a name="rootDirectory" id="@dschmidt/provider-google.StorageTransferJobTransferSpecPosixDataSource.property.rootDirectory"></a>

```typescript
public readonly rootDirectory: string;
```

- *Type:* string

Root directory path to the filesystem.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#root_directory StorageTransferJob#root_directory}

---

### StorageTransferJobTransferSpecTransferOptions <a name="StorageTransferJobTransferSpecTransferOptions" id="@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions.Initializer"></a>

```typescript
import { StorageTransferJobTransferSpecTransferOptions } from '@dschmidt/provider-google'

const storageTransferJobTransferSpecTransferOptions: StorageTransferJobTransferSpecTransferOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions.property.deleteObjectsFromSourceAfterTransfer">deleteObjectsFromSourceAfterTransfer</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether objects should be deleted from the source after they are transferred to the sink. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions.property.deleteObjectsUniqueInSink">deleteObjectsUniqueInSink</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether objects that exist only in the sink should be deleted. |
| <code><a href="#@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions.property.overwriteObjectsAlreadyExistingInSink">overwriteObjectsAlreadyExistingInSink</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether overwriting objects that already exist in the sink is allowed. |

---

##### `deleteObjectsFromSourceAfterTransfer`<sup>Optional</sup> <a name="deleteObjectsFromSourceAfterTransfer" id="@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions.property.deleteObjectsFromSourceAfterTransfer"></a>

```typescript
public readonly deleteObjectsFromSourceAfterTransfer: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether objects should be deleted from the source after they are transferred to the sink.

Note that this option and delete_objects_unique_in_sink are mutually exclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#delete_objects_from_source_after_transfer StorageTransferJob#delete_objects_from_source_after_transfer}

---

##### `deleteObjectsUniqueInSink`<sup>Optional</sup> <a name="deleteObjectsUniqueInSink" id="@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions.property.deleteObjectsUniqueInSink"></a>

```typescript
public readonly deleteObjectsUniqueInSink: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether objects that exist only in the sink should be deleted.

Note that this option and delete_objects_from_source_after_transfer are mutually exclusive.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#delete_objects_unique_in_sink StorageTransferJob#delete_objects_unique_in_sink}

---

##### `overwriteObjectsAlreadyExistingInSink`<sup>Optional</sup> <a name="overwriteObjectsAlreadyExistingInSink" id="@dschmidt/provider-google.StorageTransferJobTransferSpecTransferOptions.property.overwriteObjectsAlreadyExistingInSink"></a>

```typescript
public readonly overwriteObjectsAlreadyExistingInSink: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether overwriting objects that already exist in the sink is allowed.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/storage_transfer_job#overwrite_objects_already_existing_in_sink StorageTransferJob#overwrite_objects_already_existing_in_sink}

---

### TagsTagBindingConfig <a name="TagsTagBindingConfig" id="@dschmidt/provider-google.TagsTagBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagBindingConfig.Initializer"></a>

```typescript
import { TagsTagBindingConfig } from '@dschmidt/provider-google'

const tagsTagBindingConfig: TagsTagBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.parent">parent</a></code> | <code>string</code> | The full resource name of the resource the TagValue is bound to. E.g. //cloudresourcemanager.googleapis.com/projects/123. |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.tagValue">tagValue</a></code> | <code>string</code> | The TagValue of the TagBinding. Must be of the form tagValues/456. |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding#id TagsTagBinding#id}. |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagBindingTimeouts">TagsTagBindingTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.TagsTagBindingConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

The full resource name of the resource the TagValue is bound to. E.g. //cloudresourcemanager.googleapis.com/projects/123.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding#parent TagsTagBinding#parent}

---

##### `tagValue`<sup>Required</sup> <a name="tagValue" id="@dschmidt/provider-google.TagsTagBindingConfig.property.tagValue"></a>

```typescript
public readonly tagValue: string;
```

- *Type:* string

The TagValue of the TagBinding. Must be of the form tagValues/456.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding#tag_value TagsTagBinding#tag_value}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TagsTagBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding#id TagsTagBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.TagsTagBindingConfig.property.timeouts"></a>

```typescript
public readonly timeouts: TagsTagBindingTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagBindingTimeouts">TagsTagBindingTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding#timeouts TagsTagBinding#timeouts}

---

### TagsTagBindingTimeouts <a name="TagsTagBindingTimeouts" id="@dschmidt/provider-google.TagsTagBindingTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagBindingTimeouts.Initializer"></a>

```typescript
import { TagsTagBindingTimeouts } from '@dschmidt/provider-google'

const tagsTagBindingTimeouts: TagsTagBindingTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding#create TagsTagBinding#create}. |
| <code><a href="#@dschmidt/provider-google.TagsTagBindingTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding#delete TagsTagBinding#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.TagsTagBindingTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding#create TagsTagBinding#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.TagsTagBindingTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_binding#delete TagsTagBinding#delete}.

---

### TagsTagKeyConfig <a name="TagsTagKeyConfig" id="@dschmidt/provider-google.TagsTagKeyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagKeyConfig.Initializer"></a>

```typescript
import { TagsTagKeyConfig } from '@dschmidt/provider-google'

const tagsTagKeyConfig: TagsTagKeyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.parent">parent</a></code> | <code>string</code> | Input only. The resource name of the new TagKey's parent. Must be of the form organizations/{org_id}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.shortName">shortName</a></code> | <code>string</code> | Input only. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.description">description</a></code> | <code>string</code> | User-assigned description of the TagKey. Must not exceed 256 characters. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#id TagsTagKey#id}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyTimeouts">TagsTagKeyTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagKeyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagKeyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagKeyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagKeyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagKeyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagKeyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagKeyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.TagsTagKeyConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

Input only. The resource name of the new TagKey's parent. Must be of the form organizations/{org_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#parent TagsTagKey#parent}

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.TagsTagKeyConfig.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

Input only.

The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace.

The short name must be 1-63 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#short_name TagsTagKey#short_name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.TagsTagKeyConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

User-assigned description of the TagKey. Must not exceed 256 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#description TagsTagKey#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#id TagsTagKey#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.TagsTagKeyConfig.property.timeouts"></a>

```typescript
public readonly timeouts: TagsTagKeyTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyTimeouts">TagsTagKeyTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#timeouts TagsTagKey#timeouts}

---

### TagsTagKeyIamBindingCondition <a name="TagsTagKeyIamBindingCondition" id="@dschmidt/provider-google.TagsTagKeyIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagKeyIamBindingCondition.Initializer"></a>

```typescript
import { TagsTagKeyIamBindingCondition } from '@dschmidt/provider-google'

const tagsTagKeyIamBindingCondition: TagsTagKeyIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#expression TagsTagKeyIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#title TagsTagKeyIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#description TagsTagKeyIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.TagsTagKeyIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#expression TagsTagKeyIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.TagsTagKeyIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#title TagsTagKeyIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.TagsTagKeyIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#description TagsTagKeyIamBinding#description}.

---

### TagsTagKeyIamBindingConfig <a name="TagsTagKeyIamBindingConfig" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.Initializer"></a>

```typescript
import { TagsTagKeyIamBindingConfig } from '@dschmidt/provider-google'

const tagsTagKeyIamBindingConfig: TagsTagKeyIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#members TagsTagKeyIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#role TagsTagKeyIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.tagKey">tagKey</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#tag_key TagsTagKeyIamBinding#tag_key}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingCondition">TagsTagKeyIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#id TagsTagKeyIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#members TagsTagKeyIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#role TagsTagKeyIamBinding#role}.

---

##### `tagKey`<sup>Required</sup> <a name="tagKey" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.tagKey"></a>

```typescript
public readonly tagKey: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#tag_key TagsTagKeyIamBinding#tag_key}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: TagsTagKeyIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamBindingCondition">TagsTagKeyIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#condition TagsTagKeyIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_binding#id TagsTagKeyIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### TagsTagKeyIamMemberCondition <a name="TagsTagKeyIamMemberCondition" id="@dschmidt/provider-google.TagsTagKeyIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagKeyIamMemberCondition.Initializer"></a>

```typescript
import { TagsTagKeyIamMemberCondition } from '@dschmidt/provider-google'

const tagsTagKeyIamMemberCondition: TagsTagKeyIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#expression TagsTagKeyIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#title TagsTagKeyIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#description TagsTagKeyIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.TagsTagKeyIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#expression TagsTagKeyIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.TagsTagKeyIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#title TagsTagKeyIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.TagsTagKeyIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#description TagsTagKeyIamMember#description}.

---

### TagsTagKeyIamMemberConfig <a name="TagsTagKeyIamMemberConfig" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.Initializer"></a>

```typescript
import { TagsTagKeyIamMemberConfig } from '@dschmidt/provider-google'

const tagsTagKeyIamMemberConfig: TagsTagKeyIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#member TagsTagKeyIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#role TagsTagKeyIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.tagKey">tagKey</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#tag_key TagsTagKeyIamMember#tag_key}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberCondition">TagsTagKeyIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#id TagsTagKeyIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#member TagsTagKeyIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#role TagsTagKeyIamMember#role}.

---

##### `tagKey`<sup>Required</sup> <a name="tagKey" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.tagKey"></a>

```typescript
public readonly tagKey: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#tag_key TagsTagKeyIamMember#tag_key}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: TagsTagKeyIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagKeyIamMemberCondition">TagsTagKeyIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#condition TagsTagKeyIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_member#id TagsTagKeyIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### TagsTagKeyIamPolicyConfig <a name="TagsTagKeyIamPolicyConfig" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.Initializer"></a>

```typescript
import { TagsTagKeyIamPolicyConfig } from '@dschmidt/provider-google'

const tagsTagKeyIamPolicyConfig: TagsTagKeyIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_policy#policy_data TagsTagKeyIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.tagKey">tagKey</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_policy#tag_key TagsTagKeyIamPolicy#tag_key}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_policy#id TagsTagKeyIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_policy#policy_data TagsTagKeyIamPolicy#policy_data}.

---

##### `tagKey`<sup>Required</sup> <a name="tagKey" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.tagKey"></a>

```typescript
public readonly tagKey: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_policy#tag_key TagsTagKeyIamPolicy#tag_key}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TagsTagKeyIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key_iam_policy#id TagsTagKeyIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### TagsTagKeyTimeouts <a name="TagsTagKeyTimeouts" id="@dschmidt/provider-google.TagsTagKeyTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagKeyTimeouts.Initializer"></a>

```typescript
import { TagsTagKeyTimeouts } from '@dschmidt/provider-google'

const tagsTagKeyTimeouts: TagsTagKeyTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#create TagsTagKey#create}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#delete TagsTagKey#delete}. |
| <code><a href="#@dschmidt/provider-google.TagsTagKeyTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#update TagsTagKey#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.TagsTagKeyTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#create TagsTagKey#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.TagsTagKeyTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#delete TagsTagKey#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.TagsTagKeyTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_key#update TagsTagKey#update}.

---

### TagsTagValueConfig <a name="TagsTagValueConfig" id="@dschmidt/provider-google.TagsTagValueConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagValueConfig.Initializer"></a>

```typescript
import { TagsTagValueConfig } from '@dschmidt/provider-google'

const tagsTagValueConfig: TagsTagValueConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.parent">parent</a></code> | <code>string</code> | Input only. The resource name of the new TagValue's parent. Must be of the form tagKeys/{tag_key_id}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.shortName">shortName</a></code> | <code>string</code> | Input only. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.description">description</a></code> | <code>string</code> | User-assigned description of the TagValue. Must not exceed 256 characters. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#id TagsTagValue#id}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueTimeouts">TagsTagValueTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagValueConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagValueConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagValueConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagValueConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagValueConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagValueConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagValueConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `parent`<sup>Required</sup> <a name="parent" id="@dschmidt/provider-google.TagsTagValueConfig.property.parent"></a>

```typescript
public readonly parent: string;
```

- *Type:* string

Input only. The resource name of the new TagValue's parent. Must be of the form tagKeys/{tag_key_id}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#parent TagsTagValue#parent}

---

##### `shortName`<sup>Required</sup> <a name="shortName" id="@dschmidt/provider-google.TagsTagValueConfig.property.shortName"></a>

```typescript
public readonly shortName: string;
```

- *Type:* string

Input only.

User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey.

The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#short_name TagsTagValue#short_name}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.TagsTagValueConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

User-assigned description of the TagValue. Must not exceed 256 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#description TagsTagValue#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#id TagsTagValue#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.TagsTagValueConfig.property.timeouts"></a>

```typescript
public readonly timeouts: TagsTagValueTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueTimeouts">TagsTagValueTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#timeouts TagsTagValue#timeouts}

---

### TagsTagValueIamBindingCondition <a name="TagsTagValueIamBindingCondition" id="@dschmidt/provider-google.TagsTagValueIamBindingCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagValueIamBindingCondition.Initializer"></a>

```typescript
import { TagsTagValueIamBindingCondition } from '@dschmidt/provider-google'

const tagsTagValueIamBindingCondition: TagsTagValueIamBindingCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#expression TagsTagValueIamBinding#expression}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#title TagsTagValueIamBinding#title}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#description TagsTagValueIamBinding#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.TagsTagValueIamBindingCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#expression TagsTagValueIamBinding#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.TagsTagValueIamBindingCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#title TagsTagValueIamBinding#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.TagsTagValueIamBindingCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#description TagsTagValueIamBinding#description}.

---

### TagsTagValueIamBindingConfig <a name="TagsTagValueIamBindingConfig" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.Initializer"></a>

```typescript
import { TagsTagValueIamBindingConfig } from '@dschmidt/provider-google'

const tagsTagValueIamBindingConfig: TagsTagValueIamBindingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.members">members</a></code> | <code>string[]</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#members TagsTagValueIamBinding#members}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#role TagsTagValueIamBinding#role}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.tagValue">tagValue</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#tag_value TagsTagValueIamBinding#tag_value}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingCondition">TagsTagValueIamBindingCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#id TagsTagValueIamBinding#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#members TagsTagValueIamBinding#members}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#role TagsTagValueIamBinding#role}.

---

##### `tagValue`<sup>Required</sup> <a name="tagValue" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.tagValue"></a>

```typescript
public readonly tagValue: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#tag_value TagsTagValueIamBinding#tag_value}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.condition"></a>

```typescript
public readonly condition: TagsTagValueIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamBindingCondition">TagsTagValueIamBindingCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#condition TagsTagValueIamBinding#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueIamBindingConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_binding#id TagsTagValueIamBinding#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### TagsTagValueIamMemberCondition <a name="TagsTagValueIamMemberCondition" id="@dschmidt/provider-google.TagsTagValueIamMemberCondition"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagValueIamMemberCondition.Initializer"></a>

```typescript
import { TagsTagValueIamMemberCondition } from '@dschmidt/provider-google'

const tagsTagValueIamMemberCondition: TagsTagValueIamMemberCondition = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberCondition.property.expression">expression</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#expression TagsTagValueIamMember#expression}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberCondition.property.title">title</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#title TagsTagValueIamMember#title}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberCondition.property.description">description</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#description TagsTagValueIamMember#description}. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.TagsTagValueIamMemberCondition.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#expression TagsTagValueIamMember#expression}.

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.TagsTagValueIamMemberCondition.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#title TagsTagValueIamMember#title}.

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.TagsTagValueIamMemberCondition.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#description TagsTagValueIamMember#description}.

---

### TagsTagValueIamMemberConfig <a name="TagsTagValueIamMemberConfig" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.Initializer"></a>

```typescript
import { TagsTagValueIamMemberConfig } from '@dschmidt/provider-google'

const tagsTagValueIamMemberConfig: TagsTagValueIamMemberConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.member">member</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#member TagsTagValueIamMember#member}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.role">role</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#role TagsTagValueIamMember#role}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.tagValue">tagValue</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#tag_value TagsTagValueIamMember#tag_value}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.condition">condition</a></code> | <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberCondition">TagsTagValueIamMemberCondition</a></code> | condition block. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#id TagsTagValueIamMember#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `member`<sup>Required</sup> <a name="member" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.member"></a>

```typescript
public readonly member: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#member TagsTagValueIamMember#member}.

---

##### `role`<sup>Required</sup> <a name="role" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.role"></a>

```typescript
public readonly role: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#role TagsTagValueIamMember#role}.

---

##### `tagValue`<sup>Required</sup> <a name="tagValue" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.tagValue"></a>

```typescript
public readonly tagValue: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#tag_value TagsTagValueIamMember#tag_value}.

---

##### `condition`<sup>Optional</sup> <a name="condition" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.condition"></a>

```typescript
public readonly condition: TagsTagValueIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.TagsTagValueIamMemberCondition">TagsTagValueIamMemberCondition</a>

condition block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#condition TagsTagValueIamMember#condition}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueIamMemberConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_member#id TagsTagValueIamMember#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### TagsTagValueIamPolicyConfig <a name="TagsTagValueIamPolicyConfig" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.Initializer"></a>

```typescript
import { TagsTagValueIamPolicyConfig } from '@dschmidt/provider-google'

const tagsTagValueIamPolicyConfig: TagsTagValueIamPolicyConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.policyData">policyData</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_policy#policy_data TagsTagValueIamPolicy#policy_data}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.tagValue">tagValue</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_policy#tag_value TagsTagValueIamPolicy#tag_value}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_policy#id TagsTagValueIamPolicy#id}. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `policyData`<sup>Required</sup> <a name="policyData" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.policyData"></a>

```typescript
public readonly policyData: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_policy#policy_data TagsTagValueIamPolicy#policy_data}.

---

##### `tagValue`<sup>Required</sup> <a name="tagValue" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.tagValue"></a>

```typescript
public readonly tagValue: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_policy#tag_value TagsTagValueIamPolicy#tag_value}.

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TagsTagValueIamPolicyConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value_iam_policy#id TagsTagValueIamPolicy#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

### TagsTagValueTimeouts <a name="TagsTagValueTimeouts" id="@dschmidt/provider-google.TagsTagValueTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TagsTagValueTimeouts.Initializer"></a>

```typescript
import { TagsTagValueTimeouts } from '@dschmidt/provider-google'

const tagsTagValueTimeouts: TagsTagValueTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TagsTagValueTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#create TagsTagValue#create}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#delete TagsTagValue#delete}. |
| <code><a href="#@dschmidt/provider-google.TagsTagValueTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#update TagsTagValue#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.TagsTagValueTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#create TagsTagValue#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.TagsTagValueTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#delete TagsTagValue#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.TagsTagValueTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tags_tag_value#update TagsTagValue#update}.

---

### TpuNodeConfig <a name="TpuNodeConfig" id="@dschmidt/provider-google.TpuNodeConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TpuNodeConfig.Initializer"></a>

```typescript
import { TpuNodeConfig } from '@dschmidt/provider-google'

const tpuNodeConfig: TpuNodeConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.acceleratorType">acceleratorType</a></code> | <code>string</code> | The type of hardware accelerators associated with this node. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.name">name</a></code> | <code>string</code> | The immutable name of the TPU. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.tensorflowVersion">tensorflowVersion</a></code> | <code>string</code> | The version of Tensorflow running in the Node. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.cidrBlock">cidrBlock</a></code> | <code>string</code> | The CIDR block that the TPU node will use when selecting an IP address. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.description">description</a></code> | <code>string</code> | The user-supplied description of the TPU. Maximum of 512 characters. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#id TpuNode#id}. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | Resource labels to represent user provided metadata. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.network">network</a></code> | <code>string</code> | The name of a network to peer the TPU node to. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#project TpuNode#project}. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.schedulingConfig">schedulingConfig</a></code> | <code><a href="#@dschmidt/provider-google.TpuNodeSchedulingConfig">TpuNodeSchedulingConfig</a></code> | scheduling_config block. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.TpuNodeTimeouts">TpuNodeTimeouts</a></code> | timeouts block. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.useServiceNetworking">useServiceNetworking</a></code> | <code>boolean \| cdktf.IResolvable</code> | Whether the VPC peering for the node is set up through Service Networking API. |
| <code><a href="#@dschmidt/provider-google.TpuNodeConfig.property.zone">zone</a></code> | <code>string</code> | The GCP location for the TPU. If it is not provided, the provider zone is used. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.TpuNodeConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.TpuNodeConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.TpuNodeConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.TpuNodeConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.TpuNodeConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.TpuNodeConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.TpuNodeConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `acceleratorType`<sup>Required</sup> <a name="acceleratorType" id="@dschmidt/provider-google.TpuNodeConfig.property.acceleratorType"></a>

```typescript
public readonly acceleratorType: string;
```

- *Type:* string

The type of hardware accelerators associated with this node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#accelerator_type TpuNode#accelerator_type}

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.TpuNodeConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The immutable name of the TPU.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#name TpuNode#name}

---

##### `tensorflowVersion`<sup>Required</sup> <a name="tensorflowVersion" id="@dschmidt/provider-google.TpuNodeConfig.property.tensorflowVersion"></a>

```typescript
public readonly tensorflowVersion: string;
```

- *Type:* string

The version of Tensorflow running in the Node.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#tensorflow_version TpuNode#tensorflow_version}

---

##### `cidrBlock`<sup>Optional</sup> <a name="cidrBlock" id="@dschmidt/provider-google.TpuNodeConfig.property.cidrBlock"></a>

```typescript
public readonly cidrBlock: string;
```

- *Type:* string

The CIDR block that the TPU node will use when selecting an IP address.

This CIDR block must be a /29 block; the Compute Engine
networks API forbids a smaller block, and using a larger block would
be wasteful (a node can only consume one IP address).

Errors will occur if the CIDR block has already been used for a
currently existing TPU node, the CIDR block conflicts with any
subnetworks in the user's provided network, or the provided network
is peered with another network that is using that CIDR block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#cidr_block TpuNode#cidr_block}

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.TpuNodeConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

The user-supplied description of the TPU. Maximum of 512 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#description TpuNode#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.TpuNodeConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#id TpuNode#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.TpuNodeConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Resource labels to represent user provided metadata.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#labels TpuNode#labels}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.TpuNodeConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

The name of a network to peer the TPU node to.

It must be a
preexisting Compute Engine network inside of the project on which
this API has been activated. If none is provided, "default" will be
used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#network TpuNode#network}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.TpuNodeConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#project TpuNode#project}.

---

##### `schedulingConfig`<sup>Optional</sup> <a name="schedulingConfig" id="@dschmidt/provider-google.TpuNodeConfig.property.schedulingConfig"></a>

```typescript
public readonly schedulingConfig: TpuNodeSchedulingConfig;
```

- *Type:* <a href="#@dschmidt/provider-google.TpuNodeSchedulingConfig">TpuNodeSchedulingConfig</a>

scheduling_config block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#scheduling_config TpuNode#scheduling_config}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.TpuNodeConfig.property.timeouts"></a>

```typescript
public readonly timeouts: TpuNodeTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.TpuNodeTimeouts">TpuNodeTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#timeouts TpuNode#timeouts}

---

##### `useServiceNetworking`<sup>Optional</sup> <a name="useServiceNetworking" id="@dschmidt/provider-google.TpuNodeConfig.property.useServiceNetworking"></a>

```typescript
public readonly useServiceNetworking: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Whether the VPC peering for the node is set up through Service Networking API.

The VPC Peering should be set up before provisioning the node. If this field is set,
cidr_block field should not be specified. If the network that you want to peer the
TPU Node to is a Shared VPC network, the node must be created with this this field enabled.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#use_service_networking TpuNode#use_service_networking}

---

##### `zone`<sup>Optional</sup> <a name="zone" id="@dschmidt/provider-google.TpuNodeConfig.property.zone"></a>

```typescript
public readonly zone: string;
```

- *Type:* string

The GCP location for the TPU. If it is not provided, the provider zone is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#zone TpuNode#zone}

---

### TpuNodeNetworkEndpoints <a name="TpuNodeNetworkEndpoints" id="@dschmidt/provider-google.TpuNodeNetworkEndpoints"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TpuNodeNetworkEndpoints.Initializer"></a>

```typescript
import { TpuNodeNetworkEndpoints } from '@dschmidt/provider-google'

const tpuNodeNetworkEndpoints: TpuNodeNetworkEndpoints = { ... }
```


### TpuNodeSchedulingConfig <a name="TpuNodeSchedulingConfig" id="@dschmidt/provider-google.TpuNodeSchedulingConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TpuNodeSchedulingConfig.Initializer"></a>

```typescript
import { TpuNodeSchedulingConfig } from '@dschmidt/provider-google'

const tpuNodeSchedulingConfig: TpuNodeSchedulingConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TpuNodeSchedulingConfig.property.preemptible">preemptible</a></code> | <code>boolean \| cdktf.IResolvable</code> | Defines whether the TPU instance is preemptible. |

---

##### `preemptible`<sup>Required</sup> <a name="preemptible" id="@dschmidt/provider-google.TpuNodeSchedulingConfig.property.preemptible"></a>

```typescript
public readonly preemptible: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

Defines whether the TPU instance is preemptible.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#preemptible TpuNode#preemptible}

---

### TpuNodeTimeouts <a name="TpuNodeTimeouts" id="@dschmidt/provider-google.TpuNodeTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.TpuNodeTimeouts.Initializer"></a>

```typescript
import { TpuNodeTimeouts } from '@dschmidt/provider-google'

const tpuNodeTimeouts: TpuNodeTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.TpuNodeTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#create TpuNode#create}. |
| <code><a href="#@dschmidt/provider-google.TpuNodeTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#delete TpuNode#delete}. |
| <code><a href="#@dschmidt/provider-google.TpuNodeTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#update TpuNode#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.TpuNodeTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#create TpuNode#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.TpuNodeTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#delete TpuNode#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.TpuNodeTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/tpu_node#update TpuNode#update}.

---

### VertexAiDatasetConfig <a name="VertexAiDatasetConfig" id="@dschmidt/provider-google.VertexAiDatasetConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.VertexAiDatasetConfig.Initializer"></a>

```typescript
import { VertexAiDatasetConfig } from '@dschmidt/provider-google'

const vertexAiDatasetConfig: VertexAiDatasetConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.displayName">displayName</a></code> | <code>string</code> | The user-defined name of the Dataset. |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.metadataSchemaUri">metadataSchemaUri</a></code> | <code>string</code> | Points to a YAML file stored on Google Cloud Storage describing additional information about the Dataset. |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.encryptionSpec">encryptionSpec</a></code> | <code><a href="#@dschmidt/provider-google.VertexAiDatasetEncryptionSpec">VertexAiDatasetEncryptionSpec</a></code> | encryption_spec block. |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#id VertexAiDataset#id}. |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to this Workflow. |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#project VertexAiDataset#project}. |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.region">region</a></code> | <code>string</code> | The region of the dataset. eg us-central1. |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.VertexAiDatasetTimeouts">VertexAiDatasetTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `displayName`<sup>Required</sup> <a name="displayName" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The user-defined name of the Dataset.

The name can be up to 128 characters long and can be consist of any UTF-8 characters.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#display_name VertexAiDataset#display_name}

---

##### `metadataSchemaUri`<sup>Required</sup> <a name="metadataSchemaUri" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.metadataSchemaUri"></a>

```typescript
public readonly metadataSchemaUri: string;
```

- *Type:* string

Points to a YAML file stored on Google Cloud Storage describing additional information about the Dataset.

The schema is defined as an OpenAPI 3.0.2 Schema Object. The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/metadata/.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#metadata_schema_uri VertexAiDataset#metadata_schema_uri}

---

##### `encryptionSpec`<sup>Optional</sup> <a name="encryptionSpec" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.encryptionSpec"></a>

```typescript
public readonly encryptionSpec: VertexAiDatasetEncryptionSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.VertexAiDatasetEncryptionSpec">VertexAiDatasetEncryptionSpec</a>

encryption_spec block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#encryption_spec VertexAiDataset#encryption_spec}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#id VertexAiDataset#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to this Workflow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#labels VertexAiDataset#labels}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#project VertexAiDataset#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region of the dataset. eg us-central1.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#region VertexAiDataset#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.VertexAiDatasetConfig.property.timeouts"></a>

```typescript
public readonly timeouts: VertexAiDatasetTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.VertexAiDatasetTimeouts">VertexAiDatasetTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#timeouts VertexAiDataset#timeouts}

---

### VertexAiDatasetEncryptionSpec <a name="VertexAiDatasetEncryptionSpec" id="@dschmidt/provider-google.VertexAiDatasetEncryptionSpec"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.VertexAiDatasetEncryptionSpec.Initializer"></a>

```typescript
import { VertexAiDatasetEncryptionSpec } from '@dschmidt/provider-google'

const vertexAiDatasetEncryptionSpec: VertexAiDatasetEncryptionSpec = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetEncryptionSpec.property.kmsKeyName">kmsKeyName</a></code> | <code>string</code> | Required. |

---

##### `kmsKeyName`<sup>Optional</sup> <a name="kmsKeyName" id="@dschmidt/provider-google.VertexAiDatasetEncryptionSpec.property.kmsKeyName"></a>

```typescript
public readonly kmsKeyName: string;
```

- *Type:* string

Required.

The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource.
Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the resource is created.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#kms_key_name VertexAiDataset#kms_key_name}

---

### VertexAiDatasetTimeouts <a name="VertexAiDatasetTimeouts" id="@dschmidt/provider-google.VertexAiDatasetTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.VertexAiDatasetTimeouts.Initializer"></a>

```typescript
import { VertexAiDatasetTimeouts } from '@dschmidt/provider-google'

const vertexAiDatasetTimeouts: VertexAiDatasetTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#create VertexAiDataset#create}. |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#delete VertexAiDataset#delete}. |
| <code><a href="#@dschmidt/provider-google.VertexAiDatasetTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#update VertexAiDataset#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.VertexAiDatasetTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#create VertexAiDataset#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.VertexAiDatasetTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#delete VertexAiDataset#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.VertexAiDatasetTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vertex_ai_dataset#update VertexAiDataset#update}.

---

### VpcAccessConnectorConfig <a name="VpcAccessConnectorConfig" id="@dschmidt/provider-google.VpcAccessConnectorConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.VpcAccessConnectorConfig.Initializer"></a>

```typescript
import { VpcAccessConnectorConfig } from '@dschmidt/provider-google'

const vpcAccessConnectorConfig: VpcAccessConnectorConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.name">name</a></code> | <code>string</code> | The name of the resource (Max 25 characters). |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#id VpcAccessConnector#id}. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.ipCidrRange">ipCidrRange</a></code> | <code>string</code> | The range of internal addresses that follows RFC 4632 notation. Example: '10.132.0.0/28'. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.maxThroughput">maxThroughput</a></code> | <code>number</code> | Maximum throughput of the connector in Mbps, must be greater than 'min_throughput'. Default is 300. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.minThroughput">minThroughput</a></code> | <code>number</code> | Minimum throughput of the connector in Mbps. Default and min is 200. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.network">network</a></code> | <code>string</code> | Name or self_link of the VPC network. Required if 'ip_cidr_range' is set. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#project VpcAccessConnector#project}. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.region">region</a></code> | <code>string</code> | Region where the VPC Access connector resides. If it is not provided, the provider region is used. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.VpcAccessConnectorTimeouts">VpcAccessConnectorTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name of the resource (Max 25 characters).

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#name VpcAccessConnector#name}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#id VpcAccessConnector#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `ipCidrRange`<sup>Optional</sup> <a name="ipCidrRange" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.ipCidrRange"></a>

```typescript
public readonly ipCidrRange: string;
```

- *Type:* string

The range of internal addresses that follows RFC 4632 notation. Example: '10.132.0.0/28'.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#ip_cidr_range VpcAccessConnector#ip_cidr_range}

---

##### `maxThroughput`<sup>Optional</sup> <a name="maxThroughput" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.maxThroughput"></a>

```typescript
public readonly maxThroughput: number;
```

- *Type:* number

Maximum throughput of the connector in Mbps, must be greater than 'min_throughput'. Default is 300.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#max_throughput VpcAccessConnector#max_throughput}

---

##### `minThroughput`<sup>Optional</sup> <a name="minThroughput" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.minThroughput"></a>

```typescript
public readonly minThroughput: number;
```

- *Type:* number

Minimum throughput of the connector in Mbps. Default and min is 200.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#min_throughput VpcAccessConnector#min_throughput}

---

##### `network`<sup>Optional</sup> <a name="network" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.network"></a>

```typescript
public readonly network: string;
```

- *Type:* string

Name or self_link of the VPC network. Required if 'ip_cidr_range' is set.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#network VpcAccessConnector#network}

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#project VpcAccessConnector#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

Region where the VPC Access connector resides. If it is not provided, the provider region is used.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#region VpcAccessConnector#region}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.VpcAccessConnectorConfig.property.timeouts"></a>

```typescript
public readonly timeouts: VpcAccessConnectorTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.VpcAccessConnectorTimeouts">VpcAccessConnectorTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#timeouts VpcAccessConnector#timeouts}

---

### VpcAccessConnectorTimeouts <a name="VpcAccessConnectorTimeouts" id="@dschmidt/provider-google.VpcAccessConnectorTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.VpcAccessConnectorTimeouts.Initializer"></a>

```typescript
import { VpcAccessConnectorTimeouts } from '@dschmidt/provider-google'

const vpcAccessConnectorTimeouts: VpcAccessConnectorTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#create VpcAccessConnector#create}. |
| <code><a href="#@dschmidt/provider-google.VpcAccessConnectorTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#delete VpcAccessConnector#delete}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.VpcAccessConnectorTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#create VpcAccessConnector#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.VpcAccessConnectorTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/vpc_access_connector#delete VpcAccessConnector#delete}.

---

### WorkflowsWorkflowConfig <a name="WorkflowsWorkflowConfig" id="@dschmidt/provider-google.WorkflowsWorkflowConfig"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.Initializer"></a>

```typescript
import { WorkflowsWorkflowConfig } from '@dschmidt/provider-google'

const workflowsWorkflowConfig: WorkflowsWorkflowConfig = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.connection">connection</a></code> | <code>cdktf.SSHProvisionerConnection \| cdktf.WinrmProvisionerConnection</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.count">count</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.dependsOn">dependsOn</a></code> | <code>cdktf.ITerraformDependable[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.forEach">forEach</a></code> | <code>cdktf.ITerraformIterator</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.lifecycle">lifecycle</a></code> | <code>cdktf.TerraformResourceLifecycle</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.provider">provider</a></code> | <code>cdktf.TerraformProvider</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.provisioners">provisioners</a></code> | <code>cdktf.FileProvisioner \| cdktf.LocalExecProvisioner \| cdktf.RemoteExecProvisioner[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.description">description</a></code> | <code>string</code> | Description of the workflow provided by the user. Must be at most 1000 unicode characters long. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.id">id</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#id WorkflowsWorkflow#id}. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.labels">labels</a></code> | <code>{[ key: string ]: string}</code> | A set of key/value label pairs to assign to this Workflow. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.name">name</a></code> | <code>string</code> | Name of the Workflow. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.namePrefix">namePrefix</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#name_prefix WorkflowsWorkflow#name_prefix}. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.project">project</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#project WorkflowsWorkflow#project}. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.region">region</a></code> | <code>string</code> | The region of the workflow. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.serviceAccount">serviceAccount</a></code> | <code>string</code> | Name of the service account associated with the latest workflow version. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.sourceContents">sourceContents</a></code> | <code>string</code> | Workflow code to be executed. The size limit is 32KB. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowConfig.property.timeouts">timeouts</a></code> | <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeouts">WorkflowsWorkflowTimeouts</a></code> | timeouts block. |

---

##### `connection`<sup>Optional</sup> <a name="connection" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.connection"></a>

```typescript
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

- *Type:* cdktf.SSHProvisionerConnection | cdktf.WinrmProvisionerConnection

---

##### `count`<sup>Optional</sup> <a name="count" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.count"></a>

```typescript
public readonly count: number;
```

- *Type:* number

---

##### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.dependsOn"></a>

```typescript
public readonly dependsOn: ITerraformDependable[];
```

- *Type:* cdktf.ITerraformDependable[]

---

##### `forEach`<sup>Optional</sup> <a name="forEach" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.forEach"></a>

```typescript
public readonly forEach: ITerraformIterator;
```

- *Type:* cdktf.ITerraformIterator

---

##### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.lifecycle"></a>

```typescript
public readonly lifecycle: TerraformResourceLifecycle;
```

- *Type:* cdktf.TerraformResourceLifecycle

---

##### `provider`<sup>Optional</sup> <a name="provider" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.provider"></a>

```typescript
public readonly provider: TerraformProvider;
```

- *Type:* cdktf.TerraformProvider

---

##### `provisioners`<sup>Optional</sup> <a name="provisioners" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.provisioners"></a>

```typescript
public readonly provisioners: FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner[];
```

- *Type:* cdktf.FileProvisioner | cdktf.LocalExecProvisioner | cdktf.RemoteExecProvisioner[]

---

##### `description`<sup>Optional</sup> <a name="description" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

Description of the workflow provided by the user. Must be at most 1000 unicode characters long.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#description WorkflowsWorkflow#description}

---

##### `id`<sup>Optional</sup> <a name="id" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.id"></a>

```typescript
public readonly id: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#id WorkflowsWorkflow#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

---

##### `labels`<sup>Optional</sup> <a name="labels" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.labels"></a>

```typescript
public readonly labels: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

A set of key/value label pairs to assign to this Workflow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#labels WorkflowsWorkflow#labels}

---

##### `name`<sup>Optional</sup> <a name="name" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

Name of the Workflow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#name WorkflowsWorkflow#name}

---

##### `namePrefix`<sup>Optional</sup> <a name="namePrefix" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.namePrefix"></a>

```typescript
public readonly namePrefix: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#name_prefix WorkflowsWorkflow#name_prefix}.

---

##### `project`<sup>Optional</sup> <a name="project" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.project"></a>

```typescript
public readonly project: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#project WorkflowsWorkflow#project}.

---

##### `region`<sup>Optional</sup> <a name="region" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The region of the workflow.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#region WorkflowsWorkflow#region}

---

##### `serviceAccount`<sup>Optional</sup> <a name="serviceAccount" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.serviceAccount"></a>

```typescript
public readonly serviceAccount: string;
```

- *Type:* string

Name of the service account associated with the latest workflow version.

This service
account represents the identity of the workflow and determines what permissions the workflow has.

Format: projects/{project}/serviceAccounts/{account}.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#service_account WorkflowsWorkflow#service_account}

---

##### `sourceContents`<sup>Optional</sup> <a name="sourceContents" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.sourceContents"></a>

```typescript
public readonly sourceContents: string;
```

- *Type:* string

Workflow code to be executed. The size limit is 32KB.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#source_contents WorkflowsWorkflow#source_contents}

---

##### `timeouts`<sup>Optional</sup> <a name="timeouts" id="@dschmidt/provider-google.WorkflowsWorkflowConfig.property.timeouts"></a>

```typescript
public readonly timeouts: WorkflowsWorkflowTimeouts;
```

- *Type:* <a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeouts">WorkflowsWorkflowTimeouts</a>

timeouts block.

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#timeouts WorkflowsWorkflow#timeouts}

---

### WorkflowsWorkflowTimeouts <a name="WorkflowsWorkflowTimeouts" id="@dschmidt/provider-google.WorkflowsWorkflowTimeouts"></a>

#### Initializer <a name="Initializer" id="@dschmidt/provider-google.WorkflowsWorkflowTimeouts.Initializer"></a>

```typescript
import { WorkflowsWorkflowTimeouts } from '@dschmidt/provider-google'

const workflowsWorkflowTimeouts: WorkflowsWorkflowTimeouts = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeouts.property.create">create</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#create WorkflowsWorkflow#create}. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeouts.property.delete">delete</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#delete WorkflowsWorkflow#delete}. |
| <code><a href="#@dschmidt/provider-google.WorkflowsWorkflowTimeouts.property.update">update</a></code> | <code>string</code> | Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#update WorkflowsWorkflow#update}. |

---

##### `create`<sup>Optional</sup> <a name="create" id="@dschmidt/provider-google.WorkflowsWorkflowTimeouts.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#create WorkflowsWorkflow#create}.

---

##### `delete`<sup>Optional</sup> <a name="delete" id="@dschmidt/provider-google.WorkflowsWorkflowTimeouts.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#delete WorkflowsWorkflow#delete}.

---

##### `update`<sup>Optional</sup> <a name="update" id="@dschmidt/provider-google.WorkflowsWorkflowTimeouts.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/google/r/workflows_workflow#update WorkflowsWorkflow#update}.

---

## Classes <a name="Classes" id="Classes"></a>

### AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList <a name="AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.get"></a>

```typescript
public get(index: number): AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints</a>[]

---


### AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference <a name="AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.resetMinimumVersion">resetMinimumVersion</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.resetRequireVerifiedChromeOs">resetRequireVerifiedChromeOs</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMinimumVersion` <a name="resetMinimumVersion" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.resetMinimumVersion"></a>

```typescript
public resetMinimumVersion(): void
```

##### `resetRequireVerifiedChromeOs` <a name="resetRequireVerifiedChromeOs" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.resetRequireVerifiedChromeOs"></a>

```typescript
public resetRequireVerifiedChromeOs(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.minimumVersionInput">minimumVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.osTypeInput">osTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.requireVerifiedChromeOsInput">requireVerifiedChromeOsInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.minimumVersion">minimumVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.osType">osType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.requireVerifiedChromeOs">requireVerifiedChromeOs</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints</a> \| cdktf.IResolvable</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `minimumVersionInput`<sup>Optional</sup> <a name="minimumVersionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.minimumVersionInput"></a>

```typescript
public readonly minimumVersionInput: string;
```

- *Type:* string

---

##### `osTypeInput`<sup>Optional</sup> <a name="osTypeInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.osTypeInput"></a>

```typescript
public readonly osTypeInput: string;
```

- *Type:* string

---

##### `requireVerifiedChromeOsInput`<sup>Optional</sup> <a name="requireVerifiedChromeOsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.requireVerifiedChromeOsInput"></a>

```typescript
public readonly requireVerifiedChromeOsInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `minimumVersion`<sup>Required</sup> <a name="minimumVersion" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.minimumVersion"></a>

```typescript
public readonly minimumVersion: string;
```

- *Type:* string

---

##### `osType`<sup>Required</sup> <a name="osType" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.osType"></a>

```typescript
public readonly osType: string;
```

- *Type:* string

---

##### `requireVerifiedChromeOs`<sup>Required</sup> <a name="requireVerifiedChromeOs" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.requireVerifiedChromeOs"></a>

```typescript
public readonly requireVerifiedChromeOs: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints | IResolvable;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints</a> | cdktf.IResolvable

---


### AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference <a name="AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.putOsConstraints">putOsConstraints</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetAllowedDeviceManagementLevels">resetAllowedDeviceManagementLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetAllowedEncryptionStatuses">resetAllowedEncryptionStatuses</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetOsConstraints">resetOsConstraints</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetRequireAdminApproval">resetRequireAdminApproval</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetRequireCorpOwned">resetRequireCorpOwned</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetRequireScreenLock">resetRequireScreenLock</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOsConstraints` <a name="putOsConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.putOsConstraints"></a>

```typescript
public putOsConstraints(value: IResolvable | AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.putOsConstraints.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints</a>[]

---

##### `resetAllowedDeviceManagementLevels` <a name="resetAllowedDeviceManagementLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetAllowedDeviceManagementLevels"></a>

```typescript
public resetAllowedDeviceManagementLevels(): void
```

##### `resetAllowedEncryptionStatuses` <a name="resetAllowedEncryptionStatuses" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetAllowedEncryptionStatuses"></a>

```typescript
public resetAllowedEncryptionStatuses(): void
```

##### `resetOsConstraints` <a name="resetOsConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetOsConstraints"></a>

```typescript
public resetOsConstraints(): void
```

##### `resetRequireAdminApproval` <a name="resetRequireAdminApproval" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetRequireAdminApproval"></a>

```typescript
public resetRequireAdminApproval(): void
```

##### `resetRequireCorpOwned` <a name="resetRequireCorpOwned" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetRequireCorpOwned"></a>

```typescript
public resetRequireCorpOwned(): void
```

##### `resetRequireScreenLock` <a name="resetRequireScreenLock" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.resetRequireScreenLock"></a>

```typescript
public resetRequireScreenLock(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.osConstraints">osConstraints</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.allowedDeviceManagementLevelsInput">allowedDeviceManagementLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.allowedEncryptionStatusesInput">allowedEncryptionStatusesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.osConstraintsInput">osConstraintsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireAdminApprovalInput">requireAdminApprovalInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireCorpOwnedInput">requireCorpOwnedInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireScreenLockInput">requireScreenLockInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.allowedDeviceManagementLevels">allowedDeviceManagementLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.allowedEncryptionStatuses">allowedEncryptionStatuses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireAdminApproval">requireAdminApproval</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireCorpOwned">requireCorpOwned</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireScreenLock">requireScreenLock</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy">AccessContextManagerAccessLevelBasicConditionsDevicePolicy</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `osConstraints`<sup>Required</sup> <a name="osConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.osConstraints"></a>

```typescript
public readonly osConstraints: AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraintsList</a>

---

##### `allowedDeviceManagementLevelsInput`<sup>Optional</sup> <a name="allowedDeviceManagementLevelsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.allowedDeviceManagementLevelsInput"></a>

```typescript
public readonly allowedDeviceManagementLevelsInput: string[];
```

- *Type:* string[]

---

##### `allowedEncryptionStatusesInput`<sup>Optional</sup> <a name="allowedEncryptionStatusesInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.allowedEncryptionStatusesInput"></a>

```typescript
public readonly allowedEncryptionStatusesInput: string[];
```

- *Type:* string[]

---

##### `osConstraintsInput`<sup>Optional</sup> <a name="osConstraintsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.osConstraintsInput"></a>

```typescript
public readonly osConstraintsInput: IResolvable | AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOsConstraints</a>[]

---

##### `requireAdminApprovalInput`<sup>Optional</sup> <a name="requireAdminApprovalInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireAdminApprovalInput"></a>

```typescript
public readonly requireAdminApprovalInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireCorpOwnedInput`<sup>Optional</sup> <a name="requireCorpOwnedInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireCorpOwnedInput"></a>

```typescript
public readonly requireCorpOwnedInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireScreenLockInput`<sup>Optional</sup> <a name="requireScreenLockInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireScreenLockInput"></a>

```typescript
public readonly requireScreenLockInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `allowedDeviceManagementLevels`<sup>Required</sup> <a name="allowedDeviceManagementLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.allowedDeviceManagementLevels"></a>

```typescript
public readonly allowedDeviceManagementLevels: string[];
```

- *Type:* string[]

---

##### `allowedEncryptionStatuses`<sup>Required</sup> <a name="allowedEncryptionStatuses" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.allowedEncryptionStatuses"></a>

```typescript
public readonly allowedEncryptionStatuses: string[];
```

- *Type:* string[]

---

##### `requireAdminApproval`<sup>Required</sup> <a name="requireAdminApproval" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireAdminApproval"></a>

```typescript
public readonly requireAdminApproval: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireCorpOwned`<sup>Required</sup> <a name="requireCorpOwned" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireCorpOwned"></a>

```typescript
public readonly requireCorpOwned: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireScreenLock`<sup>Required</sup> <a name="requireScreenLock" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.requireScreenLock"></a>

```typescript
public readonly requireScreenLock: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelBasicConditionsDevicePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy">AccessContextManagerAccessLevelBasicConditionsDevicePolicy</a>

---


### AccessContextManagerAccessLevelBasicConditionsList <a name="AccessContextManagerAccessLevelBasicConditionsList" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasicConditionsList } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelBasicConditionsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.get"></a>

```typescript
public get(index: number): AccessContextManagerAccessLevelBasicConditionsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions">AccessContextManagerAccessLevelBasicConditions</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelBasicConditions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions">AccessContextManagerAccessLevelBasicConditions</a>[]

---


### AccessContextManagerAccessLevelBasicConditionsOutputReference <a name="AccessContextManagerAccessLevelBasicConditionsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasicConditionsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelBasicConditionsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.putDevicePolicy">putDevicePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetDevicePolicy">resetDevicePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetIpSubnetworks">resetIpSubnetworks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetMembers">resetMembers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetNegate">resetNegate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetRegions">resetRegions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetRequiredAccessLevels">resetRequiredAccessLevels</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putDevicePolicy` <a name="putDevicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.putDevicePolicy"></a>

```typescript
public putDevicePolicy(value: AccessContextManagerAccessLevelBasicConditionsDevicePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.putDevicePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy">AccessContextManagerAccessLevelBasicConditionsDevicePolicy</a>

---

##### `resetDevicePolicy` <a name="resetDevicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetDevicePolicy"></a>

```typescript
public resetDevicePolicy(): void
```

##### `resetIpSubnetworks` <a name="resetIpSubnetworks" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetIpSubnetworks"></a>

```typescript
public resetIpSubnetworks(): void
```

##### `resetMembers` <a name="resetMembers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetMembers"></a>

```typescript
public resetMembers(): void
```

##### `resetNegate` <a name="resetNegate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetNegate"></a>

```typescript
public resetNegate(): void
```

##### `resetRegions` <a name="resetRegions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetRegions"></a>

```typescript
public resetRegions(): void
```

##### `resetRequiredAccessLevels` <a name="resetRequiredAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.resetRequiredAccessLevels"></a>

```typescript
public resetRequiredAccessLevels(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.devicePolicy">devicePolicy</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.devicePolicyInput">devicePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy">AccessContextManagerAccessLevelBasicConditionsDevicePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.ipSubnetworksInput">ipSubnetworksInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.negateInput">negateInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.regionsInput">regionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.requiredAccessLevelsInput">requiredAccessLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.ipSubnetworks">ipSubnetworks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.negate">negate</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.regions">regions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.requiredAccessLevels">requiredAccessLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions">AccessContextManagerAccessLevelBasicConditions</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `devicePolicy`<sup>Required</sup> <a name="devicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.devicePolicy"></a>

```typescript
public readonly devicePolicy: AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference">AccessContextManagerAccessLevelBasicConditionsDevicePolicyOutputReference</a>

---

##### `devicePolicyInput`<sup>Optional</sup> <a name="devicePolicyInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.devicePolicyInput"></a>

```typescript
public readonly devicePolicyInput: AccessContextManagerAccessLevelBasicConditionsDevicePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsDevicePolicy">AccessContextManagerAccessLevelBasicConditionsDevicePolicy</a>

---

##### `ipSubnetworksInput`<sup>Optional</sup> <a name="ipSubnetworksInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.ipSubnetworksInput"></a>

```typescript
public readonly ipSubnetworksInput: string[];
```

- *Type:* string[]

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `negateInput`<sup>Optional</sup> <a name="negateInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.negateInput"></a>

```typescript
public readonly negateInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `regionsInput`<sup>Optional</sup> <a name="regionsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.regionsInput"></a>

```typescript
public readonly regionsInput: string[];
```

- *Type:* string[]

---

##### `requiredAccessLevelsInput`<sup>Optional</sup> <a name="requiredAccessLevelsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.requiredAccessLevelsInput"></a>

```typescript
public readonly requiredAccessLevelsInput: string[];
```

- *Type:* string[]

---

##### `ipSubnetworks`<sup>Required</sup> <a name="ipSubnetworks" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.ipSubnetworks"></a>

```typescript
public readonly ipSubnetworks: string[];
```

- *Type:* string[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `negate`<sup>Required</sup> <a name="negate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.negate"></a>

```typescript
public readonly negate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `regions`<sup>Required</sup> <a name="regions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.regions"></a>

```typescript
public readonly regions: string[];
```

- *Type:* string[]

---

##### `requiredAccessLevels`<sup>Required</sup> <a name="requiredAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.requiredAccessLevels"></a>

```typescript
public readonly requiredAccessLevels: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelBasicConditions;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions">AccessContextManagerAccessLevelBasicConditions</a>

---


### AccessContextManagerAccessLevelBasicOutputReference <a name="AccessContextManagerAccessLevelBasicOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelBasicOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelBasicOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.putConditions">putConditions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.resetCombiningFunction">resetCombiningFunction</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putConditions` <a name="putConditions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.putConditions"></a>

```typescript
public putConditions(value: IResolvable | AccessContextManagerAccessLevelBasicConditions[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.putConditions.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions">AccessContextManagerAccessLevelBasicConditions</a>[]

---

##### `resetCombiningFunction` <a name="resetCombiningFunction" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.resetCombiningFunction"></a>

```typescript
public resetCombiningFunction(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.conditions">conditions</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList">AccessContextManagerAccessLevelBasicConditionsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.combiningFunctionInput">combiningFunctionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.conditionsInput">conditionsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions">AccessContextManagerAccessLevelBasicConditions</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.combiningFunction">combiningFunction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasic">AccessContextManagerAccessLevelBasic</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `conditions`<sup>Required</sup> <a name="conditions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.conditions"></a>

```typescript
public readonly conditions: AccessContextManagerAccessLevelBasicConditionsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditionsList">AccessContextManagerAccessLevelBasicConditionsList</a>

---

##### `combiningFunctionInput`<sup>Optional</sup> <a name="combiningFunctionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.combiningFunctionInput"></a>

```typescript
public readonly combiningFunctionInput: string;
```

- *Type:* string

---

##### `conditionsInput`<sup>Optional</sup> <a name="conditionsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.conditionsInput"></a>

```typescript
public readonly conditionsInput: IResolvable | AccessContextManagerAccessLevelBasicConditions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasicConditions">AccessContextManagerAccessLevelBasicConditions</a>[]

---

##### `combiningFunction`<sup>Required</sup> <a name="combiningFunction" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.combiningFunction"></a>

```typescript
public readonly combiningFunction: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelBasicOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelBasic;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelBasic">AccessContextManagerAccessLevelBasic</a>

---


### AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList <a name="AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.get"></a>

```typescript
public get(index: number): AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints</a>[]

---


### AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference <a name="AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.resetMinimumVersion">resetMinimumVersion</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMinimumVersion` <a name="resetMinimumVersion" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.resetMinimumVersion"></a>

```typescript
public resetMinimumVersion(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.minimumVersionInput">minimumVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.osTypeInput">osTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.minimumVersion">minimumVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.osType">osType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `minimumVersionInput`<sup>Optional</sup> <a name="minimumVersionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.minimumVersionInput"></a>

```typescript
public readonly minimumVersionInput: string;
```

- *Type:* string

---

##### `osTypeInput`<sup>Optional</sup> <a name="osTypeInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.osTypeInput"></a>

```typescript
public readonly osTypeInput: string;
```

- *Type:* string

---

##### `minimumVersion`<sup>Required</sup> <a name="minimumVersion" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.minimumVersion"></a>

```typescript
public readonly minimumVersion: string;
```

- *Type:* string

---

##### `osType`<sup>Required</sup> <a name="osType" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.osType"></a>

```typescript
public readonly osType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints</a>

---


### AccessContextManagerAccessLevelConditionDevicePolicyOutputReference <a name="AccessContextManagerAccessLevelConditionDevicePolicyOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelConditionDevicePolicyOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelConditionDevicePolicyOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.putOsConstraints">putOsConstraints</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetAllowedDeviceManagementLevels">resetAllowedDeviceManagementLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetAllowedEncryptionStatuses">resetAllowedEncryptionStatuses</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetOsConstraints">resetOsConstraints</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetRequireAdminApproval">resetRequireAdminApproval</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetRequireCorpOwned">resetRequireCorpOwned</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetRequireScreenLock">resetRequireScreenLock</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOsConstraints` <a name="putOsConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.putOsConstraints"></a>

```typescript
public putOsConstraints(value: IResolvable | AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.putOsConstraints.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints</a>[]

---

##### `resetAllowedDeviceManagementLevels` <a name="resetAllowedDeviceManagementLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetAllowedDeviceManagementLevels"></a>

```typescript
public resetAllowedDeviceManagementLevels(): void
```

##### `resetAllowedEncryptionStatuses` <a name="resetAllowedEncryptionStatuses" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetAllowedEncryptionStatuses"></a>

```typescript
public resetAllowedEncryptionStatuses(): void
```

##### `resetOsConstraints` <a name="resetOsConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetOsConstraints"></a>

```typescript
public resetOsConstraints(): void
```

##### `resetRequireAdminApproval` <a name="resetRequireAdminApproval" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetRequireAdminApproval"></a>

```typescript
public resetRequireAdminApproval(): void
```

##### `resetRequireCorpOwned` <a name="resetRequireCorpOwned" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetRequireCorpOwned"></a>

```typescript
public resetRequireCorpOwned(): void
```

##### `resetRequireScreenLock` <a name="resetRequireScreenLock" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.resetRequireScreenLock"></a>

```typescript
public resetRequireScreenLock(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.osConstraints">osConstraints</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.allowedDeviceManagementLevelsInput">allowedDeviceManagementLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.allowedEncryptionStatusesInput">allowedEncryptionStatusesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.osConstraintsInput">osConstraintsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireAdminApprovalInput">requireAdminApprovalInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireCorpOwnedInput">requireCorpOwnedInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireScreenLockInput">requireScreenLockInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.allowedDeviceManagementLevels">allowedDeviceManagementLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.allowedEncryptionStatuses">allowedEncryptionStatuses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireAdminApproval">requireAdminApproval</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireCorpOwned">requireCorpOwned</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireScreenLock">requireScreenLock</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy">AccessContextManagerAccessLevelConditionDevicePolicy</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `osConstraints`<sup>Required</sup> <a name="osConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.osConstraints"></a>

```typescript
public readonly osConstraints: AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraintsList</a>

---

##### `allowedDeviceManagementLevelsInput`<sup>Optional</sup> <a name="allowedDeviceManagementLevelsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.allowedDeviceManagementLevelsInput"></a>

```typescript
public readonly allowedDeviceManagementLevelsInput: string[];
```

- *Type:* string[]

---

##### `allowedEncryptionStatusesInput`<sup>Optional</sup> <a name="allowedEncryptionStatusesInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.allowedEncryptionStatusesInput"></a>

```typescript
public readonly allowedEncryptionStatusesInput: string[];
```

- *Type:* string[]

---

##### `osConstraintsInput`<sup>Optional</sup> <a name="osConstraintsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.osConstraintsInput"></a>

```typescript
public readonly osConstraintsInput: IResolvable | AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints">AccessContextManagerAccessLevelConditionDevicePolicyOsConstraints</a>[]

---

##### `requireAdminApprovalInput`<sup>Optional</sup> <a name="requireAdminApprovalInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireAdminApprovalInput"></a>

```typescript
public readonly requireAdminApprovalInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireCorpOwnedInput`<sup>Optional</sup> <a name="requireCorpOwnedInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireCorpOwnedInput"></a>

```typescript
public readonly requireCorpOwnedInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireScreenLockInput`<sup>Optional</sup> <a name="requireScreenLockInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireScreenLockInput"></a>

```typescript
public readonly requireScreenLockInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `allowedDeviceManagementLevels`<sup>Required</sup> <a name="allowedDeviceManagementLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.allowedDeviceManagementLevels"></a>

```typescript
public readonly allowedDeviceManagementLevels: string[];
```

- *Type:* string[]

---

##### `allowedEncryptionStatuses`<sup>Required</sup> <a name="allowedEncryptionStatuses" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.allowedEncryptionStatuses"></a>

```typescript
public readonly allowedEncryptionStatuses: string[];
```

- *Type:* string[]

---

##### `requireAdminApproval`<sup>Required</sup> <a name="requireAdminApproval" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireAdminApproval"></a>

```typescript
public readonly requireAdminApproval: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireCorpOwned`<sup>Required</sup> <a name="requireCorpOwned" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireCorpOwned"></a>

```typescript
public readonly requireCorpOwned: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireScreenLock`<sup>Required</sup> <a name="requireScreenLock" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.requireScreenLock"></a>

```typescript
public readonly requireScreenLock: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicyOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelConditionDevicePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionDevicePolicy">AccessContextManagerAccessLevelConditionDevicePolicy</a>

---


### AccessContextManagerAccessLevelConditionTimeoutsOutputReference <a name="AccessContextManagerAccessLevelConditionTimeoutsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelConditionTimeoutsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelConditionTimeoutsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.resetCreate">resetCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.resetDelete">resetDelete</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetCreate` <a name="resetCreate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.resetCreate"></a>

```typescript
public resetCreate(): void
```

##### `resetDelete` <a name="resetDelete" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.resetDelete"></a>

```typescript
public resetDelete(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.createInput">createInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.deleteInput">deleteInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.create">create</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.delete">delete</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts">AccessContextManagerAccessLevelConditionTimeouts</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `createInput`<sup>Optional</sup> <a name="createInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.createInput"></a>

```typescript
public readonly createInput: string;
```

- *Type:* string

---

##### `deleteInput`<sup>Optional</sup> <a name="deleteInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.deleteInput"></a>

```typescript
public readonly deleteInput: string;
```

- *Type:* string

---

##### `create`<sup>Required</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

---

##### `delete`<sup>Required</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeoutsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelConditionTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelConditionTimeouts">AccessContextManagerAccessLevelConditionTimeouts</a>

---


### AccessContextManagerAccessLevelCustomExprOutputReference <a name="AccessContextManagerAccessLevelCustomExprOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelCustomExprOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelCustomExprOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.resetTitle">resetTitle</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetTitle` <a name="resetTitle" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.resetTitle"></a>

```typescript
public resetTitle(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.expressionInput">expressionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.expression">expression</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr">AccessContextManagerAccessLevelCustomExpr</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `expressionInput`<sup>Optional</sup> <a name="expressionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.expressionInput"></a>

```typescript
public readonly expressionInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelCustomExpr;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr">AccessContextManagerAccessLevelCustomExpr</a>

---


### AccessContextManagerAccessLevelCustomOutputReference <a name="AccessContextManagerAccessLevelCustomOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelCustomOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelCustomOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.putExpr">putExpr</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putExpr` <a name="putExpr" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.putExpr"></a>

```typescript
public putExpr(value: AccessContextManagerAccessLevelCustomExpr): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.putExpr.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr">AccessContextManagerAccessLevelCustomExpr</a>

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.expr">expr</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference">AccessContextManagerAccessLevelCustomExprOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.exprInput">exprInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr">AccessContextManagerAccessLevelCustomExpr</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustom">AccessContextManagerAccessLevelCustom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `expr`<sup>Required</sup> <a name="expr" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.expr"></a>

```typescript
public readonly expr: AccessContextManagerAccessLevelCustomExprOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExprOutputReference">AccessContextManagerAccessLevelCustomExprOutputReference</a>

---

##### `exprInput`<sup>Optional</sup> <a name="exprInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.exprInput"></a>

```typescript
public readonly exprInput: AccessContextManagerAccessLevelCustomExpr;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustomExpr">AccessContextManagerAccessLevelCustomExpr</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelCustomOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelCustom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelCustom">AccessContextManagerAccessLevelCustom</a>

---


### AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList <a name="AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.get"></a>

```typescript
public get(index: number): AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints</a>[]

---


### AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference <a name="AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.resetMinimumVersion">resetMinimumVersion</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMinimumVersion` <a name="resetMinimumVersion" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.resetMinimumVersion"></a>

```typescript
public resetMinimumVersion(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.minimumVersionInput">minimumVersionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.osTypeInput">osTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.minimumVersion">minimumVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.osType">osType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `minimumVersionInput`<sup>Optional</sup> <a name="minimumVersionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.minimumVersionInput"></a>

```typescript
public readonly minimumVersionInput: string;
```

- *Type:* string

---

##### `osTypeInput`<sup>Optional</sup> <a name="osTypeInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.osTypeInput"></a>

```typescript
public readonly osTypeInput: string;
```

- *Type:* string

---

##### `minimumVersion`<sup>Required</sup> <a name="minimumVersion" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.minimumVersion"></a>

```typescript
public readonly minimumVersion: string;
```

- *Type:* string

---

##### `osType`<sup>Required</sup> <a name="osType" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.osType"></a>

```typescript
public readonly osType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints</a>

---


### AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference <a name="AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.putOsConstraints">putOsConstraints</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetAllowedDeviceManagementLevels">resetAllowedDeviceManagementLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetAllowedEncryptionStatuses">resetAllowedEncryptionStatuses</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetOsConstraints">resetOsConstraints</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetRequireAdminApproval">resetRequireAdminApproval</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetRequireCorpOwned">resetRequireCorpOwned</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetRequireScreenLock">resetRequireScreenLock</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOsConstraints` <a name="putOsConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.putOsConstraints"></a>

```typescript
public putOsConstraints(value: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.putOsConstraints.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints</a>[]

---

##### `resetAllowedDeviceManagementLevels` <a name="resetAllowedDeviceManagementLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetAllowedDeviceManagementLevels"></a>

```typescript
public resetAllowedDeviceManagementLevels(): void
```

##### `resetAllowedEncryptionStatuses` <a name="resetAllowedEncryptionStatuses" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetAllowedEncryptionStatuses"></a>

```typescript
public resetAllowedEncryptionStatuses(): void
```

##### `resetOsConstraints` <a name="resetOsConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetOsConstraints"></a>

```typescript
public resetOsConstraints(): void
```

##### `resetRequireAdminApproval` <a name="resetRequireAdminApproval" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetRequireAdminApproval"></a>

```typescript
public resetRequireAdminApproval(): void
```

##### `resetRequireCorpOwned` <a name="resetRequireCorpOwned" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetRequireCorpOwned"></a>

```typescript
public resetRequireCorpOwned(): void
```

##### `resetRequireScreenLock` <a name="resetRequireScreenLock" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.resetRequireScreenLock"></a>

```typescript
public resetRequireScreenLock(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.osConstraints">osConstraints</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.allowedDeviceManagementLevelsInput">allowedDeviceManagementLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.allowedEncryptionStatusesInput">allowedEncryptionStatusesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.osConstraintsInput">osConstraintsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireAdminApprovalInput">requireAdminApprovalInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireCorpOwnedInput">requireCorpOwnedInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireScreenLockInput">requireScreenLockInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.allowedDeviceManagementLevels">allowedDeviceManagementLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.allowedEncryptionStatuses">allowedEncryptionStatuses</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireAdminApproval">requireAdminApproval</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireCorpOwned">requireCorpOwned</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireScreenLock">requireScreenLock</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `osConstraints`<sup>Required</sup> <a name="osConstraints" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.osConstraints"></a>

```typescript
public readonly osConstraints: AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraintsList</a>

---

##### `allowedDeviceManagementLevelsInput`<sup>Optional</sup> <a name="allowedDeviceManagementLevelsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.allowedDeviceManagementLevelsInput"></a>

```typescript
public readonly allowedDeviceManagementLevelsInput: string[];
```

- *Type:* string[]

---

##### `allowedEncryptionStatusesInput`<sup>Optional</sup> <a name="allowedEncryptionStatusesInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.allowedEncryptionStatusesInput"></a>

```typescript
public readonly allowedEncryptionStatusesInput: string[];
```

- *Type:* string[]

---

##### `osConstraintsInput`<sup>Optional</sup> <a name="osConstraintsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.osConstraintsInput"></a>

```typescript
public readonly osConstraintsInput: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOsConstraints</a>[]

---

##### `requireAdminApprovalInput`<sup>Optional</sup> <a name="requireAdminApprovalInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireAdminApprovalInput"></a>

```typescript
public readonly requireAdminApprovalInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireCorpOwnedInput`<sup>Optional</sup> <a name="requireCorpOwnedInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireCorpOwnedInput"></a>

```typescript
public readonly requireCorpOwnedInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireScreenLockInput`<sup>Optional</sup> <a name="requireScreenLockInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireScreenLockInput"></a>

```typescript
public readonly requireScreenLockInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `allowedDeviceManagementLevels`<sup>Required</sup> <a name="allowedDeviceManagementLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.allowedDeviceManagementLevels"></a>

```typescript
public readonly allowedDeviceManagementLevels: string[];
```

- *Type:* string[]

---

##### `allowedEncryptionStatuses`<sup>Required</sup> <a name="allowedEncryptionStatuses" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.allowedEncryptionStatuses"></a>

```typescript
public readonly allowedEncryptionStatuses: string[];
```

- *Type:* string[]

---

##### `requireAdminApproval`<sup>Required</sup> <a name="requireAdminApproval" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireAdminApproval"></a>

```typescript
public readonly requireAdminApproval: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireCorpOwned`<sup>Required</sup> <a name="requireCorpOwned" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireCorpOwned"></a>

```typescript
public readonly requireCorpOwned: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `requireScreenLock`<sup>Required</sup> <a name="requireScreenLock" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.requireScreenLock"></a>

```typescript
public readonly requireScreenLock: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy</a>

---


### AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList <a name="AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.get"></a>

```typescript
public get(index: number): AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions">AccessContextManagerAccessLevelsAccessLevelsBasicConditions</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions">AccessContextManagerAccessLevelsAccessLevelsBasicConditions</a>[]

---


### AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference <a name="AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.putDevicePolicy">putDevicePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetDevicePolicy">resetDevicePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetIpSubnetworks">resetIpSubnetworks</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetMembers">resetMembers</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetNegate">resetNegate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetRegions">resetRegions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetRequiredAccessLevels">resetRequiredAccessLevels</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putDevicePolicy` <a name="putDevicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.putDevicePolicy"></a>

```typescript
public putDevicePolicy(value: AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.putDevicePolicy.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy</a>

---

##### `resetDevicePolicy` <a name="resetDevicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetDevicePolicy"></a>

```typescript
public resetDevicePolicy(): void
```

##### `resetIpSubnetworks` <a name="resetIpSubnetworks" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetIpSubnetworks"></a>

```typescript
public resetIpSubnetworks(): void
```

##### `resetMembers` <a name="resetMembers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetMembers"></a>

```typescript
public resetMembers(): void
```

##### `resetNegate` <a name="resetNegate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetNegate"></a>

```typescript
public resetNegate(): void
```

##### `resetRegions` <a name="resetRegions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetRegions"></a>

```typescript
public resetRegions(): void
```

##### `resetRequiredAccessLevels` <a name="resetRequiredAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.resetRequiredAccessLevels"></a>

```typescript
public resetRequiredAccessLevels(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.devicePolicy">devicePolicy</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.devicePolicyInput">devicePolicyInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.ipSubnetworksInput">ipSubnetworksInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.membersInput">membersInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.negateInput">negateInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.regionsInput">regionsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.requiredAccessLevelsInput">requiredAccessLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.ipSubnetworks">ipSubnetworks</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.members">members</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.negate">negate</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.regions">regions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.requiredAccessLevels">requiredAccessLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions">AccessContextManagerAccessLevelsAccessLevelsBasicConditions</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `devicePolicy`<sup>Required</sup> <a name="devicePolicy" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.devicePolicy"></a>

```typescript
public readonly devicePolicy: AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicyOutputReference</a>

---

##### `devicePolicyInput`<sup>Optional</sup> <a name="devicePolicyInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.devicePolicyInput"></a>

```typescript
public readonly devicePolicyInput: AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsDevicePolicy</a>

---

##### `ipSubnetworksInput`<sup>Optional</sup> <a name="ipSubnetworksInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.ipSubnetworksInput"></a>

```typescript
public readonly ipSubnetworksInput: string[];
```

- *Type:* string[]

---

##### `membersInput`<sup>Optional</sup> <a name="membersInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.membersInput"></a>

```typescript
public readonly membersInput: string[];
```

- *Type:* string[]

---

##### `negateInput`<sup>Optional</sup> <a name="negateInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.negateInput"></a>

```typescript
public readonly negateInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `regionsInput`<sup>Optional</sup> <a name="regionsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.regionsInput"></a>

```typescript
public readonly regionsInput: string[];
```

- *Type:* string[]

---

##### `requiredAccessLevelsInput`<sup>Optional</sup> <a name="requiredAccessLevelsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.requiredAccessLevelsInput"></a>

```typescript
public readonly requiredAccessLevelsInput: string[];
```

- *Type:* string[]

---

##### `ipSubnetworks`<sup>Required</sup> <a name="ipSubnetworks" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.ipSubnetworks"></a>

```typescript
public readonly ipSubnetworks: string[];
```

- *Type:* string[]

---

##### `members`<sup>Required</sup> <a name="members" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.members"></a>

```typescript
public readonly members: string[];
```

- *Type:* string[]

---

##### `negate`<sup>Required</sup> <a name="negate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.negate"></a>

```typescript
public readonly negate: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `regions`<sup>Required</sup> <a name="regions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.regions"></a>

```typescript
public readonly regions: string[];
```

- *Type:* string[]

---

##### `requiredAccessLevels`<sup>Required</sup> <a name="requiredAccessLevels" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.requiredAccessLevels"></a>

```typescript
public readonly requiredAccessLevels: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditions;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions">AccessContextManagerAccessLevelsAccessLevelsBasicConditions</a>

---


### AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference <a name="AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.putConditions">putConditions</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.resetCombiningFunction">resetCombiningFunction</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putConditions` <a name="putConditions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.putConditions"></a>

```typescript
public putConditions(value: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditions[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.putConditions.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions">AccessContextManagerAccessLevelsAccessLevelsBasicConditions</a>[]

---

##### `resetCombiningFunction` <a name="resetCombiningFunction" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.resetCombiningFunction"></a>

```typescript
public resetCombiningFunction(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.conditions">conditions</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.combiningFunctionInput">combiningFunctionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.conditionsInput">conditionsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions">AccessContextManagerAccessLevelsAccessLevelsBasicConditions</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.combiningFunction">combiningFunction</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic">AccessContextManagerAccessLevelsAccessLevelsBasic</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `conditions`<sup>Required</sup> <a name="conditions" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.conditions"></a>

```typescript
public readonly conditions: AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList">AccessContextManagerAccessLevelsAccessLevelsBasicConditionsList</a>

---

##### `combiningFunctionInput`<sup>Optional</sup> <a name="combiningFunctionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.combiningFunctionInput"></a>

```typescript
public readonly combiningFunctionInput: string;
```

- *Type:* string

---

##### `conditionsInput`<sup>Optional</sup> <a name="conditionsInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.conditionsInput"></a>

```typescript
public readonly conditionsInput: IResolvable | AccessContextManagerAccessLevelsAccessLevelsBasicConditions[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicConditions">AccessContextManagerAccessLevelsAccessLevelsBasicConditions</a>[]

---

##### `combiningFunction`<sup>Required</sup> <a name="combiningFunction" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.combiningFunction"></a>

```typescript
public readonly combiningFunction: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelsAccessLevelsBasic;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic">AccessContextManagerAccessLevelsAccessLevelsBasic</a>

---


### AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference <a name="AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.resetLocation">resetLocation</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.resetTitle">resetTitle</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetLocation` <a name="resetLocation" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.resetLocation"></a>

```typescript
public resetLocation(): void
```

##### `resetTitle` <a name="resetTitle" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.resetTitle"></a>

```typescript
public resetTitle(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.expressionInput">expressionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.locationInput">locationInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.expression">expression</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.location">location</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr">AccessContextManagerAccessLevelsAccessLevelsCustomExpr</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `expressionInput`<sup>Optional</sup> <a name="expressionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.expressionInput"></a>

```typescript
public readonly expressionInput: string;
```

- *Type:* string

---

##### `locationInput`<sup>Optional</sup> <a name="locationInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.locationInput"></a>

```typescript
public readonly locationInput: string;
```

- *Type:* string

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

---

##### `location`<sup>Required</sup> <a name="location" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.location"></a>

```typescript
public readonly location: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelsAccessLevelsCustomExpr;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr">AccessContextManagerAccessLevelsAccessLevelsCustomExpr</a>

---


### AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference <a name="AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.putExpr">putExpr</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putExpr` <a name="putExpr" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.putExpr"></a>

```typescript
public putExpr(value: AccessContextManagerAccessLevelsAccessLevelsCustomExpr): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.putExpr.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr">AccessContextManagerAccessLevelsAccessLevelsCustomExpr</a>

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.expr">expr</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference">AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.exprInput">exprInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr">AccessContextManagerAccessLevelsAccessLevelsCustomExpr</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom">AccessContextManagerAccessLevelsAccessLevelsCustom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `expr`<sup>Required</sup> <a name="expr" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.expr"></a>

```typescript
public readonly expr: AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference">AccessContextManagerAccessLevelsAccessLevelsCustomExprOutputReference</a>

---

##### `exprInput`<sup>Optional</sup> <a name="exprInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.exprInput"></a>

```typescript
public readonly exprInput: AccessContextManagerAccessLevelsAccessLevelsCustomExpr;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomExpr">AccessContextManagerAccessLevelsAccessLevelsCustomExpr</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelsAccessLevelsCustom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom">AccessContextManagerAccessLevelsAccessLevelsCustom</a>

---


### AccessContextManagerAccessLevelsAccessLevelsList <a name="AccessContextManagerAccessLevelsAccessLevelsList" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsList } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.get"></a>

```typescript
public get(index: number): AccessContextManagerAccessLevelsAccessLevelsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels">AccessContextManagerAccessLevelsAccessLevels</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelsAccessLevels[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels">AccessContextManagerAccessLevelsAccessLevels</a>[]

---


### AccessContextManagerAccessLevelsAccessLevelsOutputReference <a name="AccessContextManagerAccessLevelsAccessLevelsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsAccessLevelsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsAccessLevelsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.putBasic">putBasic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.putCustom">putCustom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.resetBasic">resetBasic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.resetCustom">resetCustom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.resetDescription">resetDescription</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putBasic` <a name="putBasic" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.putBasic"></a>

```typescript
public putBasic(value: AccessContextManagerAccessLevelsAccessLevelsBasic): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.putBasic.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic">AccessContextManagerAccessLevelsAccessLevelsBasic</a>

---

##### `putCustom` <a name="putCustom" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.putCustom"></a>

```typescript
public putCustom(value: AccessContextManagerAccessLevelsAccessLevelsCustom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.putCustom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom">AccessContextManagerAccessLevelsAccessLevelsCustom</a>

---

##### `resetBasic` <a name="resetBasic" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.resetBasic"></a>

```typescript
public resetBasic(): void
```

##### `resetCustom` <a name="resetCustom" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.resetCustom"></a>

```typescript
public resetCustom(): void
```

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.resetDescription"></a>

```typescript
public resetDescription(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.basic">basic</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference">AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.custom">custom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference">AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.basicInput">basicInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic">AccessContextManagerAccessLevelsAccessLevelsBasic</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.customInput">customInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom">AccessContextManagerAccessLevelsAccessLevelsCustom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels">AccessContextManagerAccessLevelsAccessLevels</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `basic`<sup>Required</sup> <a name="basic" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.basic"></a>

```typescript
public readonly basic: AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference">AccessContextManagerAccessLevelsAccessLevelsBasicOutputReference</a>

---

##### `custom`<sup>Required</sup> <a name="custom" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.custom"></a>

```typescript
public readonly custom: AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference">AccessContextManagerAccessLevelsAccessLevelsCustomOutputReference</a>

---

##### `basicInput`<sup>Optional</sup> <a name="basicInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.basicInput"></a>

```typescript
public readonly basicInput: AccessContextManagerAccessLevelsAccessLevelsBasic;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsBasic">AccessContextManagerAccessLevelsAccessLevelsBasic</a>

---

##### `customInput`<sup>Optional</sup> <a name="customInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.customInput"></a>

```typescript
public readonly customInput: AccessContextManagerAccessLevelsAccessLevelsCustom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsCustom">AccessContextManagerAccessLevelsAccessLevelsCustom</a>

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevelsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelsAccessLevels;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsAccessLevels">AccessContextManagerAccessLevelsAccessLevels</a>

---


### AccessContextManagerAccessLevelsTimeoutsOutputReference <a name="AccessContextManagerAccessLevelsTimeoutsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelsTimeoutsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelsTimeoutsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.resetCreate">resetCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.resetDelete">resetDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.resetUpdate">resetUpdate</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetCreate` <a name="resetCreate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.resetCreate"></a>

```typescript
public resetCreate(): void
```

##### `resetDelete` <a name="resetDelete" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.resetDelete"></a>

```typescript
public resetDelete(): void
```

##### `resetUpdate` <a name="resetUpdate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.resetUpdate"></a>

```typescript
public resetUpdate(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.createInput">createInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.deleteInput">deleteInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.updateInput">updateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.create">create</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.delete">delete</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.update">update</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts">AccessContextManagerAccessLevelsTimeouts</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `createInput`<sup>Optional</sup> <a name="createInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.createInput"></a>

```typescript
public readonly createInput: string;
```

- *Type:* string

---

##### `deleteInput`<sup>Optional</sup> <a name="deleteInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.deleteInput"></a>

```typescript
public readonly deleteInput: string;
```

- *Type:* string

---

##### `updateInput`<sup>Optional</sup> <a name="updateInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.updateInput"></a>

```typescript
public readonly updateInput: string;
```

- *Type:* string

---

##### `create`<sup>Required</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

---

##### `delete`<sup>Required</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

---

##### `update`<sup>Required</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeoutsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessLevelsTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelsTimeouts">AccessContextManagerAccessLevelsTimeouts</a>

---


### AccessContextManagerAccessLevelTimeoutsOutputReference <a name="AccessContextManagerAccessLevelTimeoutsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessLevelTimeoutsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessLevelTimeoutsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.resetCreate">resetCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.resetDelete">resetDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.resetUpdate">resetUpdate</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetCreate` <a name="resetCreate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.resetCreate"></a>

```typescript
public resetCreate(): void
```

##### `resetDelete` <a name="resetDelete" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.resetDelete"></a>

```typescript
public resetDelete(): void
```

##### `resetUpdate` <a name="resetUpdate" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.resetUpdate"></a>

```typescript
public resetUpdate(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.createInput">createInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.deleteInput">deleteInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.updateInput">updateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.create">create</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.delete">delete</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.update">update</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts">AccessContextManagerAccessLevelTimeouts</a> \| cdktf.IResolvable</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `createInput`<sup>Optional</sup> <a name="createInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.createInput"></a>

```typescript
public readonly createInput: string;
```

- *Type:* string

---

##### `deleteInput`<sup>Optional</sup> <a name="deleteInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.deleteInput"></a>

```typescript
public readonly deleteInput: string;
```

- *Type:* string

---

##### `updateInput`<sup>Optional</sup> <a name="updateInput" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.updateInput"></a>

```typescript
public readonly updateInput: string;
```

- *Type:* string

---

##### `create`<sup>Required</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

---

##### `delete`<sup>Required</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

---

##### `update`<sup>Required</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessLevelTimeoutsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessLevelTimeouts | IResolvable;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessLevelTimeouts">AccessContextManagerAccessLevelTimeouts</a> | cdktf.IResolvable

---


### AccessContextManagerAccessPolicyIamBindingConditionOutputReference <a name="AccessContextManagerAccessPolicyIamBindingConditionOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamBindingConditionOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessPolicyIamBindingConditionOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.resetDescription">resetDescription</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.resetDescription"></a>

```typescript
public resetDescription(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.expressionInput">expressionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.expression">expression</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition">AccessContextManagerAccessPolicyIamBindingCondition</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `expressionInput`<sup>Optional</sup> <a name="expressionInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.expressionInput"></a>

```typescript
public readonly expressionInput: string;
```

- *Type:* string

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingConditionOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessPolicyIamBindingCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamBindingCondition">AccessContextManagerAccessPolicyIamBindingCondition</a>

---


### AccessContextManagerAccessPolicyIamMemberConditionOutputReference <a name="AccessContextManagerAccessPolicyIamMemberConditionOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyIamMemberConditionOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessPolicyIamMemberConditionOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.resetDescription">resetDescription</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.resetDescription"></a>

```typescript
public resetDescription(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.expressionInput">expressionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.expression">expression</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition">AccessContextManagerAccessPolicyIamMemberCondition</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `expressionInput`<sup>Optional</sup> <a name="expressionInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.expressionInput"></a>

```typescript
public readonly expressionInput: string;
```

- *Type:* string

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `expression`<sup>Required</sup> <a name="expression" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberConditionOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerAccessPolicyIamMemberCondition;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyIamMemberCondition">AccessContextManagerAccessPolicyIamMemberCondition</a>

---


### AccessContextManagerAccessPolicyTimeoutsOutputReference <a name="AccessContextManagerAccessPolicyTimeoutsOutputReference" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerAccessPolicyTimeoutsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerAccessPolicyTimeoutsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.resetCreate">resetCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.resetDelete">resetDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.resetUpdate">resetUpdate</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetCreate` <a name="resetCreate" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.resetCreate"></a>

```typescript
public resetCreate(): void
```

##### `resetDelete` <a name="resetDelete" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.resetDelete"></a>

```typescript
public resetDelete(): void
```

##### `resetUpdate` <a name="resetUpdate" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.resetUpdate"></a>

```typescript
public resetUpdate(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.createInput">createInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.deleteInput">deleteInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.updateInput">updateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.create">create</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.delete">delete</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.update">update</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts">AccessContextManagerAccessPolicyTimeouts</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `createInput`<sup>Optional</sup> <a name="createInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.createInput"></a>

```typescript
public readonly createInput: string;
```

- *Type:* string

---

##### `deleteInput`<sup>Optional</sup> <a name="deleteInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.deleteInput"></a>

```typescript
public readonly deleteInput: string;
```

- *Type:* string

---

##### `updateInput`<sup>Optional</sup> <a name="updateInput" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.updateInput"></a>

```typescript
public readonly updateInput: string;
```

- *Type:* string

---

##### `create`<sup>Required</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

---

##### `delete`<sup>Required</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

---

##### `update`<sup>Required</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeoutsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerAccessPolicyTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerAccessPolicyTimeouts">AccessContextManagerAccessPolicyTimeouts</a>

---


### AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference <a name="AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.resetCreate">resetCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.resetDelete">resetDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.resetUpdate">resetUpdate</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetCreate` <a name="resetCreate" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.resetCreate"></a>

```typescript
public resetCreate(): void
```

##### `resetDelete` <a name="resetDelete" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.resetDelete"></a>

```typescript
public resetDelete(): void
```

##### `resetUpdate` <a name="resetUpdate" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.resetUpdate"></a>

```typescript
public resetUpdate(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.createInput">createInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.deleteInput">deleteInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.updateInput">updateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.create">create</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.delete">delete</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.update">update</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts">AccessContextManagerGcpUserAccessBindingTimeouts</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `createInput`<sup>Optional</sup> <a name="createInput" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.createInput"></a>

```typescript
public readonly createInput: string;
```

- *Type:* string

---

##### `deleteInput`<sup>Optional</sup> <a name="deleteInput" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.deleteInput"></a>

```typescript
public readonly deleteInput: string;
```

- *Type:* string

---

##### `updateInput`<sup>Optional</sup> <a name="updateInput" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.updateInput"></a>

```typescript
public readonly updateInput: string;
```

- *Type:* string

---

##### `create`<sup>Required</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

---

##### `delete`<sup>Required</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

---

##### `update`<sup>Required</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeoutsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerGcpUserAccessBindingTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerGcpUserAccessBindingTimeouts">AccessContextManagerGcpUserAccessBindingTimeouts</a>

---


### AccessContextManagerServicePerimeterResourceTimeoutsOutputReference <a name="AccessContextManagerServicePerimeterResourceTimeoutsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterResourceTimeoutsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterResourceTimeoutsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.resetCreate">resetCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.resetDelete">resetDelete</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetCreate` <a name="resetCreate" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.resetCreate"></a>

```typescript
public resetCreate(): void
```

##### `resetDelete` <a name="resetDelete" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.resetDelete"></a>

```typescript
public resetDelete(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.createInput">createInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.deleteInput">deleteInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.create">create</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.delete">delete</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts">AccessContextManagerServicePerimeterResourceTimeouts</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `createInput`<sup>Optional</sup> <a name="createInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.createInput"></a>

```typescript
public readonly createInput: string;
```

- *Type:* string

---

##### `deleteInput`<sup>Optional</sup> <a name="deleteInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.deleteInput"></a>

```typescript
public readonly deleteInput: string;
```

- *Type:* string

---

##### `create`<sup>Required</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

---

##### `delete`<sup>Required</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeoutsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterResourceTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterResourceTimeouts">AccessContextManagerServicePerimeterResourceTimeouts</a>

---


### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.resetIdentities">resetIdentities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.resetIdentityType">resetIdentityType</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetIdentities` <a name="resetIdentities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.resetIdentities"></a>

```typescript
public resetIdentities(): void
```

##### `resetIdentityType` <a name="resetIdentityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.resetIdentityType"></a>

```typescript
public resetIdentityType(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.identitiesInput">identitiesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.identityTypeInput">identityTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.identities">identities</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.identityType">identityType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `identitiesInput`<sup>Optional</sup> <a name="identitiesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.identitiesInput"></a>

```typescript
public readonly identitiesInput: string[];
```

- *Type:* string[]

---

##### `identityTypeInput`<sup>Optional</sup> <a name="identityTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.identityTypeInput"></a>

```typescript
public readonly identityTypeInput: string;
```

- *Type:* string

---

##### `identities`<sup>Required</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

---

##### `identityType`<sup>Required</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom</a>

---


### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations</a>[]

---


### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---


### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetMethod">resetMethod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetPermission">resetPermission</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMethod` <a name="resetMethod" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetMethod"></a>

```typescript
public resetMethod(): void
```

##### `resetPermission` <a name="resetPermission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetPermission"></a>

```typescript
public resetPermission(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.methodInput">methodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permissionInput">permissionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.method">method</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permission">permission</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodInput`<sup>Optional</sup> <a name="methodInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.methodInput"></a>

```typescript
public readonly methodInput: string;
```

- *Type:* string

---

##### `permissionInput`<sup>Optional</sup> <a name="permissionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permissionInput"></a>

```typescript
public readonly permissionInput: string;
```

- *Type:* string

---

##### `method`<sup>Required</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

---

##### `permission`<sup>Required</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors</a>

---


### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors">putMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.resetMethodSelectors">resetMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.resetServiceName">resetServiceName</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putMethodSelectors` <a name="putMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors"></a>

```typescript
public putMethodSelectors(value: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---

##### `resetMethodSelectors` <a name="resetMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.resetMethodSelectors"></a>

```typescript
public resetMethodSelectors(): void
```

##### `resetServiceName` <a name="resetServiceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.resetServiceName"></a>

```typescript
public resetServiceName(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.methodSelectors">methodSelectors</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.methodSelectorsInput">methodSelectorsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodSelectors`<sup>Required</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectorsList</a>

---

##### `methodSelectorsInput`<sup>Optional</sup> <a name="methodSelectorsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.methodSelectorsInput"></a>

```typescript
public readonly methodSelectorsInput: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations</a>

---


### AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.putOperations">putOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.resetExternalResources">resetExternalResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.resetOperations">resetOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.resetResources">resetResources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOperations` <a name="putOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.putOperations"></a>

```typescript
public putOperations(value: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.putOperations.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations</a>[]

---

##### `resetExternalResources` <a name="resetExternalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.resetExternalResources"></a>

```typescript
public resetExternalResources(): void
```

##### `resetOperations` <a name="resetOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.resetOperations"></a>

```typescript
public resetOperations(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.operations">operations</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.externalResourcesInput">externalResourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.operationsInput">operationsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.externalResources">externalResources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `operations`<sup>Required</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.operations"></a>

```typescript
public readonly operations: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperationsList</a>

---

##### `externalResourcesInput`<sup>Optional</sup> <a name="externalResourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.externalResourcesInput"></a>

```typescript
public readonly externalResourcesInput: string[];
```

- *Type:* string[]

---

##### `operationsInput`<sup>Optional</sup> <a name="operationsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.operationsInput"></a>

```typescript
public readonly operationsInput: IResolvable | AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOperations</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `externalResources`<sup>Required</sup> <a name="externalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.externalResources"></a>

```typescript
public readonly externalResources: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo</a>

---


### AccessContextManagerServicePerimeterSpecEgressPoliciesList <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecEgressPoliciesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies">AccessContextManagerServicePerimeterSpecEgressPolicies</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies">AccessContextManagerServicePerimeterSpecEgressPolicies</a>[]

---


### AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference <a name="AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.putEgressFrom">putEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.putEgressTo">putEgressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.resetEgressFrom">resetEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.resetEgressTo">resetEgressTo</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putEgressFrom` <a name="putEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.putEgressFrom"></a>

```typescript
public putEgressFrom(value: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.putEgressFrom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom</a>

---

##### `putEgressTo` <a name="putEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.putEgressTo"></a>

```typescript
public putEgressTo(value: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.putEgressTo.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo</a>

---

##### `resetEgressFrom` <a name="resetEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.resetEgressFrom"></a>

```typescript
public resetEgressFrom(): void
```

##### `resetEgressTo` <a name="resetEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.resetEgressTo"></a>

```typescript
public resetEgressTo(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.egressFrom">egressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.egressTo">egressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.egressFromInput">egressFromInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.egressToInput">egressToInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies">AccessContextManagerServicePerimeterSpecEgressPolicies</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `egressFrom`<sup>Required</sup> <a name="egressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.egressFrom"></a>

```typescript
public readonly egressFrom: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFromOutputReference</a>

---

##### `egressTo`<sup>Required</sup> <a name="egressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.egressTo"></a>

```typescript
public readonly egressTo: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressToOutputReference</a>

---

##### `egressFromInput`<sup>Optional</sup> <a name="egressFromInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.egressFromInput"></a>

```typescript
public readonly egressFromInput: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressFrom</a>

---

##### `egressToInput`<sup>Optional</sup> <a name="egressToInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.egressToInput"></a>

```typescript
public readonly egressToInput: AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimeterSpecEgressPoliciesEgressTo</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecEgressPolicies;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies">AccessContextManagerServicePerimeterSpecEgressPolicies</a>

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.putSources">putSources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.resetIdentities">resetIdentities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.resetIdentityType">resetIdentityType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.resetSources">resetSources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putSources` <a name="putSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.putSources"></a>

```typescript
public putSources(value: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.putSources.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources</a>[]

---

##### `resetIdentities` <a name="resetIdentities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.resetIdentities"></a>

```typescript
public resetIdentities(): void
```

##### `resetIdentityType` <a name="resetIdentityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.resetIdentityType"></a>

```typescript
public resetIdentityType(): void
```

##### `resetSources` <a name="resetSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.resetSources"></a>

```typescript
public resetSources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.sources">sources</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.identitiesInput">identitiesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.identityTypeInput">identityTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.sourcesInput">sourcesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.identities">identities</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.identityType">identityType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `sources`<sup>Required</sup> <a name="sources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.sources"></a>

```typescript
public readonly sources: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList</a>

---

##### `identitiesInput`<sup>Optional</sup> <a name="identitiesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.identitiesInput"></a>

```typescript
public readonly identitiesInput: string[];
```

- *Type:* string[]

---

##### `identityTypeInput`<sup>Optional</sup> <a name="identityTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.identityTypeInput"></a>

```typescript
public readonly identityTypeInput: string;
```

- *Type:* string

---

##### `sourcesInput`<sup>Optional</sup> <a name="sourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.sourcesInput"></a>

```typescript
public readonly sourcesInput: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources</a>[]

---

##### `identities`<sup>Required</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

---

##### `identityType`<sup>Required</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom</a>

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources</a>[]

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.resetAccessLevel">resetAccessLevel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.resetResource">resetResource</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetAccessLevel` <a name="resetAccessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.resetAccessLevel"></a>

```typescript
public resetAccessLevel(): void
```

##### `resetResource` <a name="resetResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.resetResource"></a>

```typescript
public resetResource(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.accessLevelInput">accessLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.resourceInput">resourceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.accessLevel">accessLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.resource">resource</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `accessLevelInput`<sup>Optional</sup> <a name="accessLevelInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.accessLevelInput"></a>

```typescript
public readonly accessLevelInput: string;
```

- *Type:* string

---

##### `resourceInput`<sup>Optional</sup> <a name="resourceInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.resourceInput"></a>

```typescript
public readonly resourceInput: string;
```

- *Type:* string

---

##### `accessLevel`<sup>Required</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

---

##### `resource`<sup>Required</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSourcesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromSources</a>

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations</a>[]

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetMethod">resetMethod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetPermission">resetPermission</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMethod` <a name="resetMethod" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetMethod"></a>

```typescript
public resetMethod(): void
```

##### `resetPermission` <a name="resetPermission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetPermission"></a>

```typescript
public resetPermission(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.methodInput">methodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permissionInput">permissionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.method">method</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permission">permission</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodInput`<sup>Optional</sup> <a name="methodInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.methodInput"></a>

```typescript
public readonly methodInput: string;
```

- *Type:* string

---

##### `permissionInput`<sup>Optional</sup> <a name="permissionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permissionInput"></a>

```typescript
public readonly permissionInput: string;
```

- *Type:* string

---

##### `method`<sup>Required</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

---

##### `permission`<sup>Required</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors</a>

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors">putMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.resetMethodSelectors">resetMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.resetServiceName">resetServiceName</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putMethodSelectors` <a name="putMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors"></a>

```typescript
public putMethodSelectors(value: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---

##### `resetMethodSelectors` <a name="resetMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.resetMethodSelectors"></a>

```typescript
public resetMethodSelectors(): void
```

##### `resetServiceName` <a name="resetServiceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.resetServiceName"></a>

```typescript
public resetServiceName(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.methodSelectors">methodSelectors</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.methodSelectorsInput">methodSelectorsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodSelectors`<sup>Required</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectorsList</a>

---

##### `methodSelectorsInput`<sup>Optional</sup> <a name="methodSelectorsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.methodSelectorsInput"></a>

```typescript
public readonly methodSelectorsInput: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations</a>

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.putOperations">putOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.resetOperations">resetOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.resetResources">resetResources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOperations` <a name="putOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.putOperations"></a>

```typescript
public putOperations(value: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.putOperations.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations</a>[]

---

##### `resetOperations` <a name="resetOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.resetOperations"></a>

```typescript
public resetOperations(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.operations">operations</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.operationsInput">operationsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `operations`<sup>Required</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.operations"></a>

```typescript
public readonly operations: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperationsList</a>

---

##### `operationsInput`<sup>Optional</sup> <a name="operationsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.operationsInput"></a>

```typescript
public readonly operationsInput: IResolvable | AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOperations</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo</a>

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesList <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies">AccessContextManagerServicePerimeterSpecIngressPolicies</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies">AccessContextManagerServicePerimeterSpecIngressPolicies</a>[]

---


### AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference <a name="AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.putIngressFrom">putIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.putIngressTo">putIngressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.resetIngressFrom">resetIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.resetIngressTo">resetIngressTo</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putIngressFrom` <a name="putIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.putIngressFrom"></a>

```typescript
public putIngressFrom(value: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.putIngressFrom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom</a>

---

##### `putIngressTo` <a name="putIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.putIngressTo"></a>

```typescript
public putIngressTo(value: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.putIngressTo.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo</a>

---

##### `resetIngressFrom` <a name="resetIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.resetIngressFrom"></a>

```typescript
public resetIngressFrom(): void
```

##### `resetIngressTo` <a name="resetIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.resetIngressTo"></a>

```typescript
public resetIngressTo(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.ingressFrom">ingressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.ingressTo">ingressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.ingressFromInput">ingressFromInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.ingressToInput">ingressToInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies">AccessContextManagerServicePerimeterSpecIngressPolicies</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `ingressFrom`<sup>Required</sup> <a name="ingressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.ingressFrom"></a>

```typescript
public readonly ingressFrom: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFromOutputReference</a>

---

##### `ingressTo`<sup>Required</sup> <a name="ingressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.ingressTo"></a>

```typescript
public readonly ingressTo: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressToOutputReference</a>

---

##### `ingressFromInput`<sup>Optional</sup> <a name="ingressFromInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.ingressFromInput"></a>

```typescript
public readonly ingressFromInput: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressFrom</a>

---

##### `ingressToInput`<sup>Optional</sup> <a name="ingressToInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.ingressToInput"></a>

```typescript
public readonly ingressToInput: AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimeterSpecIngressPoliciesIngressTo</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterSpecIngressPolicies;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies">AccessContextManagerServicePerimeterSpecIngressPolicies</a>

---


### AccessContextManagerServicePerimeterSpecOutputReference <a name="AccessContextManagerServicePerimeterSpecOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.putEgressPolicies">putEgressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.putIngressPolicies">putIngressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.putVpcAccessibleServices">putVpcAccessibleServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetAccessLevels">resetAccessLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetEgressPolicies">resetEgressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetIngressPolicies">resetIngressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetResources">resetResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetRestrictedServices">resetRestrictedServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetVpcAccessibleServices">resetVpcAccessibleServices</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putEgressPolicies` <a name="putEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.putEgressPolicies"></a>

```typescript
public putEgressPolicies(value: IResolvable | AccessContextManagerServicePerimeterSpecEgressPolicies[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.putEgressPolicies.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies">AccessContextManagerServicePerimeterSpecEgressPolicies</a>[]

---

##### `putIngressPolicies` <a name="putIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.putIngressPolicies"></a>

```typescript
public putIngressPolicies(value: IResolvable | AccessContextManagerServicePerimeterSpecIngressPolicies[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.putIngressPolicies.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies">AccessContextManagerServicePerimeterSpecIngressPolicies</a>[]

---

##### `putVpcAccessibleServices` <a name="putVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.putVpcAccessibleServices"></a>

```typescript
public putVpcAccessibleServices(value: AccessContextManagerServicePerimeterSpecVpcAccessibleServices): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.putVpcAccessibleServices.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices">AccessContextManagerServicePerimeterSpecVpcAccessibleServices</a>

---

##### `resetAccessLevels` <a name="resetAccessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetAccessLevels"></a>

```typescript
public resetAccessLevels(): void
```

##### `resetEgressPolicies` <a name="resetEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetEgressPolicies"></a>

```typescript
public resetEgressPolicies(): void
```

##### `resetIngressPolicies` <a name="resetIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetIngressPolicies"></a>

```typescript
public resetIngressPolicies(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```

##### `resetRestrictedServices` <a name="resetRestrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetRestrictedServices"></a>

```typescript
public resetRestrictedServices(): void
```

##### `resetVpcAccessibleServices` <a name="resetVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.resetVpcAccessibleServices"></a>

```typescript
public resetVpcAccessibleServices(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.egressPolicies">egressPolicies</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList">AccessContextManagerServicePerimeterSpecEgressPoliciesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.ingressPolicies">ingressPolicies</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList">AccessContextManagerServicePerimeterSpecIngressPoliciesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.vpcAccessibleServices">vpcAccessibleServices</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference">AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.accessLevelsInput">accessLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.egressPoliciesInput">egressPoliciesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies">AccessContextManagerServicePerimeterSpecEgressPolicies</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.ingressPoliciesInput">ingressPoliciesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies">AccessContextManagerServicePerimeterSpecIngressPolicies</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.restrictedServicesInput">restrictedServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.vpcAccessibleServicesInput">vpcAccessibleServicesInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices">AccessContextManagerServicePerimeterSpecVpcAccessibleServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.restrictedServices">restrictedServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec">AccessContextManagerServicePerimeterSpec</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `egressPolicies`<sup>Required</sup> <a name="egressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.egressPolicies"></a>

```typescript
public readonly egressPolicies: AccessContextManagerServicePerimeterSpecEgressPoliciesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPoliciesList">AccessContextManagerServicePerimeterSpecEgressPoliciesList</a>

---

##### `ingressPolicies`<sup>Required</sup> <a name="ingressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.ingressPolicies"></a>

```typescript
public readonly ingressPolicies: AccessContextManagerServicePerimeterSpecIngressPoliciesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPoliciesList">AccessContextManagerServicePerimeterSpecIngressPoliciesList</a>

---

##### `vpcAccessibleServices`<sup>Required</sup> <a name="vpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.vpcAccessibleServices"></a>

```typescript
public readonly vpcAccessibleServices: AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference">AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference</a>

---

##### `accessLevelsInput`<sup>Optional</sup> <a name="accessLevelsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.accessLevelsInput"></a>

```typescript
public readonly accessLevelsInput: string[];
```

- *Type:* string[]

---

##### `egressPoliciesInput`<sup>Optional</sup> <a name="egressPoliciesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.egressPoliciesInput"></a>

```typescript
public readonly egressPoliciesInput: IResolvable | AccessContextManagerServicePerimeterSpecEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecEgressPolicies">AccessContextManagerServicePerimeterSpecEgressPolicies</a>[]

---

##### `ingressPoliciesInput`<sup>Optional</sup> <a name="ingressPoliciesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.ingressPoliciesInput"></a>

```typescript
public readonly ingressPoliciesInput: IResolvable | AccessContextManagerServicePerimeterSpecIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecIngressPolicies">AccessContextManagerServicePerimeterSpecIngressPolicies</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `restrictedServicesInput`<sup>Optional</sup> <a name="restrictedServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.restrictedServicesInput"></a>

```typescript
public readonly restrictedServicesInput: string[];
```

- *Type:* string[]

---

##### `vpcAccessibleServicesInput`<sup>Optional</sup> <a name="vpcAccessibleServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.vpcAccessibleServicesInput"></a>

```typescript
public readonly vpcAccessibleServicesInput: AccessContextManagerServicePerimeterSpecVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices">AccessContextManagerServicePerimeterSpecVpcAccessibleServices</a>

---

##### `accessLevels`<sup>Required</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `restrictedServices`<sup>Required</sup> <a name="restrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.restrictedServices"></a>

```typescript
public readonly restrictedServices: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpec">AccessContextManagerServicePerimeterSpec</a>

---


### AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference <a name="AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.resetAllowedServices">resetAllowedServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.resetEnableRestriction">resetEnableRestriction</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetAllowedServices` <a name="resetAllowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.resetAllowedServices"></a>

```typescript
public resetAllowedServices(): void
```

##### `resetEnableRestriction` <a name="resetEnableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.resetEnableRestriction"></a>

```typescript
public resetEnableRestriction(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.allowedServicesInput">allowedServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.enableRestrictionInput">enableRestrictionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.allowedServices">allowedServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.enableRestriction">enableRestriction</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices">AccessContextManagerServicePerimeterSpecVpcAccessibleServices</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `allowedServicesInput`<sup>Optional</sup> <a name="allowedServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.allowedServicesInput"></a>

```typescript
public readonly allowedServicesInput: string[];
```

- *Type:* string[]

---

##### `enableRestrictionInput`<sup>Optional</sup> <a name="enableRestrictionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.enableRestrictionInput"></a>

```typescript
public readonly enableRestrictionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `allowedServices`<sup>Required</sup> <a name="allowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.allowedServices"></a>

```typescript
public readonly allowedServices: string[];
```

- *Type:* string[]

---

##### `enableRestriction`<sup>Required</sup> <a name="enableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.enableRestriction"></a>

```typescript
public readonly enableRestriction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServicesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterSpecVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterSpecVpcAccessibleServices">AccessContextManagerServicePerimeterSpecVpcAccessibleServices</a>

---


### AccessContextManagerServicePerimetersServicePerimetersList <a name="AccessContextManagerServicePerimetersServicePerimetersList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters">AccessContextManagerServicePerimetersServicePerimeters</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimeters[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters">AccessContextManagerServicePerimetersServicePerimeters</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.putSpec">putSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.putStatus">putStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetDescription">resetDescription</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetPerimeterType">resetPerimeterType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetSpec">resetSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetStatus">resetStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetUseExplicitDryRunSpec">resetUseExplicitDryRunSpec</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putSpec` <a name="putSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.putSpec"></a>

```typescript
public putSpec(value: AccessContextManagerServicePerimetersServicePerimetersSpec): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.putSpec.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec">AccessContextManagerServicePerimetersServicePerimetersSpec</a>

---

##### `putStatus` <a name="putStatus" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.putStatus"></a>

```typescript
public putStatus(value: AccessContextManagerServicePerimetersServicePerimetersStatus): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.putStatus.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus">AccessContextManagerServicePerimetersServicePerimetersStatus</a>

---

##### `resetDescription` <a name="resetDescription" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetDescription"></a>

```typescript
public resetDescription(): void
```

##### `resetPerimeterType` <a name="resetPerimeterType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetPerimeterType"></a>

```typescript
public resetPerimeterType(): void
```

##### `resetSpec` <a name="resetSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetSpec"></a>

```typescript
public resetSpec(): void
```

##### `resetStatus` <a name="resetStatus" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetStatus"></a>

```typescript
public resetStatus(): void
```

##### `resetUseExplicitDryRunSpec` <a name="resetUseExplicitDryRunSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.resetUseExplicitDryRunSpec"></a>

```typescript
public resetUseExplicitDryRunSpec(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.createTime">createTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.spec">spec</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.status">status</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.updateTime">updateTime</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.descriptionInput">descriptionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.nameInput">nameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.perimeterTypeInput">perimeterTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.specInput">specInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec">AccessContextManagerServicePerimetersServicePerimetersSpec</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.statusInput">statusInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus">AccessContextManagerServicePerimetersServicePerimetersStatus</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.titleInput">titleInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.useExplicitDryRunSpecInput">useExplicitDryRunSpecInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.perimeterType">perimeterType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.useExplicitDryRunSpec">useExplicitDryRunSpec</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters">AccessContextManagerServicePerimetersServicePerimeters</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `createTime`<sup>Required</sup> <a name="createTime" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.createTime"></a>

```typescript
public readonly createTime: string;
```

- *Type:* string

---

##### `spec`<sup>Required</sup> <a name="spec" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.spec"></a>

```typescript
public readonly spec: AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference</a>

---

##### `status`<sup>Required</sup> <a name="status" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.status"></a>

```typescript
public readonly status: AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference</a>

---

##### `updateTime`<sup>Required</sup> <a name="updateTime" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.updateTime"></a>

```typescript
public readonly updateTime: string;
```

- *Type:* string

---

##### `descriptionInput`<sup>Optional</sup> <a name="descriptionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.descriptionInput"></a>

```typescript
public readonly descriptionInput: string;
```

- *Type:* string

---

##### `nameInput`<sup>Optional</sup> <a name="nameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.nameInput"></a>

```typescript
public readonly nameInput: string;
```

- *Type:* string

---

##### `perimeterTypeInput`<sup>Optional</sup> <a name="perimeterTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.perimeterTypeInput"></a>

```typescript
public readonly perimeterTypeInput: string;
```

- *Type:* string

---

##### `specInput`<sup>Optional</sup> <a name="specInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.specInput"></a>

```typescript
public readonly specInput: AccessContextManagerServicePerimetersServicePerimetersSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec">AccessContextManagerServicePerimetersServicePerimetersSpec</a>

---

##### `statusInput`<sup>Optional</sup> <a name="statusInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.statusInput"></a>

```typescript
public readonly statusInput: AccessContextManagerServicePerimetersServicePerimetersStatus;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus">AccessContextManagerServicePerimetersServicePerimetersStatus</a>

---

##### `titleInput`<sup>Optional</sup> <a name="titleInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.titleInput"></a>

```typescript
public readonly titleInput: string;
```

- *Type:* string

---

##### `useExplicitDryRunSpecInput`<sup>Optional</sup> <a name="useExplicitDryRunSpecInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.useExplicitDryRunSpecInput"></a>

```typescript
public readonly useExplicitDryRunSpecInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `description`<sup>Required</sup> <a name="description" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `name`<sup>Required</sup> <a name="name" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `perimeterType`<sup>Required</sup> <a name="perimeterType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.perimeterType"></a>

```typescript
public readonly perimeterType: string;
```

- *Type:* string

---

##### `title`<sup>Required</sup> <a name="title" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `useExplicitDryRunSpec`<sup>Required</sup> <a name="useExplicitDryRunSpec" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.useExplicitDryRunSpec"></a>

```typescript
public readonly useExplicitDryRunSpec: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimeters;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimeters">AccessContextManagerServicePerimetersServicePerimeters</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.resetIdentities">resetIdentities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.resetIdentityType">resetIdentityType</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetIdentities` <a name="resetIdentities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.resetIdentities"></a>

```typescript
public resetIdentities(): void
```

##### `resetIdentityType` <a name="resetIdentityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.resetIdentityType"></a>

```typescript
public resetIdentityType(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.identitiesInput">identitiesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.identityTypeInput">identityTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.identities">identities</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.identityType">identityType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `identitiesInput`<sup>Optional</sup> <a name="identitiesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.identitiesInput"></a>

```typescript
public readonly identitiesInput: string[];
```

- *Type:* string[]

---

##### `identityTypeInput`<sup>Optional</sup> <a name="identityTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.identityTypeInput"></a>

```typescript
public readonly identityTypeInput: string;
```

- *Type:* string

---

##### `identities`<sup>Required</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

---

##### `identityType`<sup>Required</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetMethod">resetMethod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetPermission">resetPermission</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMethod` <a name="resetMethod" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetMethod"></a>

```typescript
public resetMethod(): void
```

##### `resetPermission` <a name="resetPermission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetPermission"></a>

```typescript
public resetPermission(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.methodInput">methodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permissionInput">permissionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.method">method</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permission">permission</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodInput`<sup>Optional</sup> <a name="methodInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.methodInput"></a>

```typescript
public readonly methodInput: string;
```

- *Type:* string

---

##### `permissionInput`<sup>Optional</sup> <a name="permissionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permissionInput"></a>

```typescript
public readonly permissionInput: string;
```

- *Type:* string

---

##### `method`<sup>Required</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

---

##### `permission`<sup>Required</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors">putMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.resetMethodSelectors">resetMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.resetServiceName">resetServiceName</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putMethodSelectors` <a name="putMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors"></a>

```typescript
public putMethodSelectors(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---

##### `resetMethodSelectors` <a name="resetMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.resetMethodSelectors"></a>

```typescript
public resetMethodSelectors(): void
```

##### `resetServiceName` <a name="resetServiceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.resetServiceName"></a>

```typescript
public resetServiceName(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.methodSelectors">methodSelectors</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.methodSelectorsInput">methodSelectorsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodSelectors`<sup>Required</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectorsList</a>

---

##### `methodSelectorsInput`<sup>Optional</sup> <a name="methodSelectorsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.methodSelectorsInput"></a>

```typescript
public readonly methodSelectorsInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.putOperations">putOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.resetExternalResources">resetExternalResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.resetOperations">resetOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.resetResources">resetResources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOperations` <a name="putOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.putOperations"></a>

```typescript
public putOperations(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.putOperations.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations</a>[]

---

##### `resetExternalResources` <a name="resetExternalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.resetExternalResources"></a>

```typescript
public resetExternalResources(): void
```

##### `resetOperations` <a name="resetOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.resetOperations"></a>

```typescript
public resetOperations(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.operations">operations</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.externalResourcesInput">externalResourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.operationsInput">operationsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.externalResources">externalResources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `operations`<sup>Required</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.operations"></a>

```typescript
public readonly operations: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperationsList</a>

---

##### `externalResourcesInput`<sup>Optional</sup> <a name="externalResourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.externalResourcesInput"></a>

```typescript
public readonly externalResourcesInput: string[];
```

- *Type:* string[]

---

##### `operationsInput`<sup>Optional</sup> <a name="operationsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.operationsInput"></a>

```typescript
public readonly operationsInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOperations</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `externalResources`<sup>Required</sup> <a name="externalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.externalResources"></a>

```typescript
public readonly externalResources: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.putEgressFrom">putEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.putEgressTo">putEgressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.resetEgressFrom">resetEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.resetEgressTo">resetEgressTo</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putEgressFrom` <a name="putEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.putEgressFrom"></a>

```typescript
public putEgressFrom(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.putEgressFrom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom</a>

---

##### `putEgressTo` <a name="putEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.putEgressTo"></a>

```typescript
public putEgressTo(value: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.putEgressTo.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo</a>

---

##### `resetEgressFrom` <a name="resetEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.resetEgressFrom"></a>

```typescript
public resetEgressFrom(): void
```

##### `resetEgressTo` <a name="resetEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.resetEgressTo"></a>

```typescript
public resetEgressTo(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.egressFrom">egressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.egressTo">egressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.egressFromInput">egressFromInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.egressToInput">egressToInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `egressFrom`<sup>Required</sup> <a name="egressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.egressFrom"></a>

```typescript
public readonly egressFrom: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFromOutputReference</a>

---

##### `egressTo`<sup>Required</sup> <a name="egressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.egressTo"></a>

```typescript
public readonly egressTo: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressToOutputReference</a>

---

##### `egressFromInput`<sup>Optional</sup> <a name="egressFromInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.egressFromInput"></a>

```typescript
public readonly egressFromInput: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressFrom</a>

---

##### `egressToInput`<sup>Optional</sup> <a name="egressToInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.egressToInput"></a>

```typescript
public readonly egressToInput: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesEgressTo</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.putSources">putSources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.resetIdentities">resetIdentities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.resetIdentityType">resetIdentityType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.resetSources">resetSources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putSources` <a name="putSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.putSources"></a>

```typescript
public putSources(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.putSources.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources</a>[]

---

##### `resetIdentities` <a name="resetIdentities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.resetIdentities"></a>

```typescript
public resetIdentities(): void
```

##### `resetIdentityType` <a name="resetIdentityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.resetIdentityType"></a>

```typescript
public resetIdentityType(): void
```

##### `resetSources` <a name="resetSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.resetSources"></a>

```typescript
public resetSources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.sources">sources</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.identitiesInput">identitiesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.identityTypeInput">identityTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.sourcesInput">sourcesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.identities">identities</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.identityType">identityType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `sources`<sup>Required</sup> <a name="sources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.sources"></a>

```typescript
public readonly sources: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList</a>

---

##### `identitiesInput`<sup>Optional</sup> <a name="identitiesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.identitiesInput"></a>

```typescript
public readonly identitiesInput: string[];
```

- *Type:* string[]

---

##### `identityTypeInput`<sup>Optional</sup> <a name="identityTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.identityTypeInput"></a>

```typescript
public readonly identityTypeInput: string;
```

- *Type:* string

---

##### `sourcesInput`<sup>Optional</sup> <a name="sourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.sourcesInput"></a>

```typescript
public readonly sourcesInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources</a>[]

---

##### `identities`<sup>Required</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

---

##### `identityType`<sup>Required</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.resetAccessLevel">resetAccessLevel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.resetResource">resetResource</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetAccessLevel` <a name="resetAccessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.resetAccessLevel"></a>

```typescript
public resetAccessLevel(): void
```

##### `resetResource` <a name="resetResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.resetResource"></a>

```typescript
public resetResource(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.accessLevelInput">accessLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.resourceInput">resourceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.accessLevel">accessLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.resource">resource</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `accessLevelInput`<sup>Optional</sup> <a name="accessLevelInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.accessLevelInput"></a>

```typescript
public readonly accessLevelInput: string;
```

- *Type:* string

---

##### `resourceInput`<sup>Optional</sup> <a name="resourceInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.resourceInput"></a>

```typescript
public readonly resourceInput: string;
```

- *Type:* string

---

##### `accessLevel`<sup>Required</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

---

##### `resource`<sup>Required</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSourcesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromSources</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetMethod">resetMethod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetPermission">resetPermission</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMethod` <a name="resetMethod" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetMethod"></a>

```typescript
public resetMethod(): void
```

##### `resetPermission` <a name="resetPermission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetPermission"></a>

```typescript
public resetPermission(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.methodInput">methodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permissionInput">permissionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.method">method</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permission">permission</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodInput`<sup>Optional</sup> <a name="methodInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.methodInput"></a>

```typescript
public readonly methodInput: string;
```

- *Type:* string

---

##### `permissionInput`<sup>Optional</sup> <a name="permissionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permissionInput"></a>

```typescript
public readonly permissionInput: string;
```

- *Type:* string

---

##### `method`<sup>Required</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

---

##### `permission`<sup>Required</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors">putMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.resetMethodSelectors">resetMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.resetServiceName">resetServiceName</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putMethodSelectors` <a name="putMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors"></a>

```typescript
public putMethodSelectors(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---

##### `resetMethodSelectors` <a name="resetMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.resetMethodSelectors"></a>

```typescript
public resetMethodSelectors(): void
```

##### `resetServiceName` <a name="resetServiceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.resetServiceName"></a>

```typescript
public resetServiceName(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.methodSelectors">methodSelectors</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.methodSelectorsInput">methodSelectorsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodSelectors`<sup>Required</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectorsList</a>

---

##### `methodSelectorsInput`<sup>Optional</sup> <a name="methodSelectorsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.methodSelectorsInput"></a>

```typescript
public readonly methodSelectorsInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.putOperations">putOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.resetOperations">resetOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.resetResources">resetResources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOperations` <a name="putOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.putOperations"></a>

```typescript
public putOperations(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.putOperations.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations</a>[]

---

##### `resetOperations` <a name="resetOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.resetOperations"></a>

```typescript
public resetOperations(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.operations">operations</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.operationsInput">operationsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `operations`<sup>Required</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.operations"></a>

```typescript
public readonly operations: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperationsList</a>

---

##### `operationsInput`<sup>Optional</sup> <a name="operationsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.operationsInput"></a>

```typescript
public readonly operationsInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOperations</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.putIngressFrom">putIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.putIngressTo">putIngressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.resetIngressFrom">resetIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.resetIngressTo">resetIngressTo</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putIngressFrom` <a name="putIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.putIngressFrom"></a>

```typescript
public putIngressFrom(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.putIngressFrom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom</a>

---

##### `putIngressTo` <a name="putIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.putIngressTo"></a>

```typescript
public putIngressTo(value: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.putIngressTo.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo</a>

---

##### `resetIngressFrom` <a name="resetIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.resetIngressFrom"></a>

```typescript
public resetIngressFrom(): void
```

##### `resetIngressTo` <a name="resetIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.resetIngressTo"></a>

```typescript
public resetIngressTo(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.ingressFrom">ingressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.ingressTo">ingressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.ingressFromInput">ingressFromInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.ingressToInput">ingressToInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `ingressFrom`<sup>Required</sup> <a name="ingressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.ingressFrom"></a>

```typescript
public readonly ingressFrom: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFromOutputReference</a>

---

##### `ingressTo`<sup>Required</sup> <a name="ingressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.ingressTo"></a>

```typescript
public readonly ingressTo: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressToOutputReference</a>

---

##### `ingressFromInput`<sup>Optional</sup> <a name="ingressFromInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.ingressFromInput"></a>

```typescript
public readonly ingressFromInput: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressFrom</a>

---

##### `ingressToInput`<sup>Optional</sup> <a name="ingressToInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.ingressToInput"></a>

```typescript
public readonly ingressToInput: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesIngressTo</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.putEgressPolicies">putEgressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.putIngressPolicies">putIngressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.putVpcAccessibleServices">putVpcAccessibleServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetAccessLevels">resetAccessLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetEgressPolicies">resetEgressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetIngressPolicies">resetIngressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetResources">resetResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetRestrictedServices">resetRestrictedServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetVpcAccessibleServices">resetVpcAccessibleServices</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putEgressPolicies` <a name="putEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.putEgressPolicies"></a>

```typescript
public putEgressPolicies(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.putEgressPolicies.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies</a>[]

---

##### `putIngressPolicies` <a name="putIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.putIngressPolicies"></a>

```typescript
public putIngressPolicies(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.putIngressPolicies.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies</a>[]

---

##### `putVpcAccessibleServices` <a name="putVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.putVpcAccessibleServices"></a>

```typescript
public putVpcAccessibleServices(value: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.putVpcAccessibleServices.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices</a>

---

##### `resetAccessLevels` <a name="resetAccessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetAccessLevels"></a>

```typescript
public resetAccessLevels(): void
```

##### `resetEgressPolicies` <a name="resetEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetEgressPolicies"></a>

```typescript
public resetEgressPolicies(): void
```

##### `resetIngressPolicies` <a name="resetIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetIngressPolicies"></a>

```typescript
public resetIngressPolicies(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```

##### `resetRestrictedServices` <a name="resetRestrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetRestrictedServices"></a>

```typescript
public resetRestrictedServices(): void
```

##### `resetVpcAccessibleServices` <a name="resetVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.resetVpcAccessibleServices"></a>

```typescript
public resetVpcAccessibleServices(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.egressPolicies">egressPolicies</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.ingressPolicies">ingressPolicies</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.vpcAccessibleServices">vpcAccessibleServices</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.accessLevelsInput">accessLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.egressPoliciesInput">egressPoliciesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.ingressPoliciesInput">ingressPoliciesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.restrictedServicesInput">restrictedServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.vpcAccessibleServicesInput">vpcAccessibleServicesInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.restrictedServices">restrictedServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec">AccessContextManagerServicePerimetersServicePerimetersSpec</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `egressPolicies`<sup>Required</sup> <a name="egressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.egressPolicies"></a>

```typescript
public readonly egressPolicies: AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPoliciesList</a>

---

##### `ingressPolicies`<sup>Required</sup> <a name="ingressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.ingressPolicies"></a>

```typescript
public readonly ingressPolicies: AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPoliciesList</a>

---

##### `vpcAccessibleServices`<sup>Required</sup> <a name="vpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.vpcAccessibleServices"></a>

```typescript
public readonly vpcAccessibleServices: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference">AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference</a>

---

##### `accessLevelsInput`<sup>Optional</sup> <a name="accessLevelsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.accessLevelsInput"></a>

```typescript
public readonly accessLevelsInput: string[];
```

- *Type:* string[]

---

##### `egressPoliciesInput`<sup>Optional</sup> <a name="egressPoliciesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.egressPoliciesInput"></a>

```typescript
public readonly egressPoliciesInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecEgressPolicies</a>[]

---

##### `ingressPoliciesInput`<sup>Optional</sup> <a name="ingressPoliciesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.ingressPoliciesInput"></a>

```typescript
public readonly ingressPoliciesInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersSpecIngressPolicies</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `restrictedServicesInput`<sup>Optional</sup> <a name="restrictedServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.restrictedServicesInput"></a>

```typescript
public readonly restrictedServicesInput: string[];
```

- *Type:* string[]

---

##### `vpcAccessibleServicesInput`<sup>Optional</sup> <a name="vpcAccessibleServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.vpcAccessibleServicesInput"></a>

```typescript
public readonly vpcAccessibleServicesInput: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices</a>

---

##### `accessLevels`<sup>Required</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `restrictedServices`<sup>Required</sup> <a name="restrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.restrictedServices"></a>

```typescript
public readonly restrictedServices: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersSpec;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpec">AccessContextManagerServicePerimetersServicePerimetersSpec</a>

---


### AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.resetAllowedServices">resetAllowedServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.resetEnableRestriction">resetEnableRestriction</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetAllowedServices` <a name="resetAllowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.resetAllowedServices"></a>

```typescript
public resetAllowedServices(): void
```

##### `resetEnableRestriction` <a name="resetEnableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.resetEnableRestriction"></a>

```typescript
public resetEnableRestriction(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.allowedServicesInput">allowedServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.enableRestrictionInput">enableRestrictionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.allowedServices">allowedServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.enableRestriction">enableRestriction</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `allowedServicesInput`<sup>Optional</sup> <a name="allowedServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.allowedServicesInput"></a>

```typescript
public readonly allowedServicesInput: string[];
```

- *Type:* string[]

---

##### `enableRestrictionInput`<sup>Optional</sup> <a name="enableRestrictionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.enableRestrictionInput"></a>

```typescript
public readonly enableRestrictionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `allowedServices`<sup>Required</sup> <a name="allowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.allowedServices"></a>

```typescript
public readonly allowedServices: string[];
```

- *Type:* string[]

---

##### `enableRestriction`<sup>Required</sup> <a name="enableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.enableRestriction"></a>

```typescript
public readonly enableRestriction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServicesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersSpecVpcAccessibleServices</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.resetIdentities">resetIdentities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.resetIdentityType">resetIdentityType</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetIdentities` <a name="resetIdentities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.resetIdentities"></a>

```typescript
public resetIdentities(): void
```

##### `resetIdentityType` <a name="resetIdentityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.resetIdentityType"></a>

```typescript
public resetIdentityType(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.identitiesInput">identitiesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.identityTypeInput">identityTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.identities">identities</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.identityType">identityType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `identitiesInput`<sup>Optional</sup> <a name="identitiesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.identitiesInput"></a>

```typescript
public readonly identitiesInput: string[];
```

- *Type:* string[]

---

##### `identityTypeInput`<sup>Optional</sup> <a name="identityTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.identityTypeInput"></a>

```typescript
public readonly identityTypeInput: string;
```

- *Type:* string

---

##### `identities`<sup>Required</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

---

##### `identityType`<sup>Required</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetMethod">resetMethod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetPermission">resetPermission</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMethod` <a name="resetMethod" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetMethod"></a>

```typescript
public resetMethod(): void
```

##### `resetPermission` <a name="resetPermission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetPermission"></a>

```typescript
public resetPermission(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.methodInput">methodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permissionInput">permissionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.method">method</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permission">permission</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodInput`<sup>Optional</sup> <a name="methodInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.methodInput"></a>

```typescript
public readonly methodInput: string;
```

- *Type:* string

---

##### `permissionInput`<sup>Optional</sup> <a name="permissionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permissionInput"></a>

```typescript
public readonly permissionInput: string;
```

- *Type:* string

---

##### `method`<sup>Required</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

---

##### `permission`<sup>Required</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors">putMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.resetMethodSelectors">resetMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.resetServiceName">resetServiceName</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putMethodSelectors` <a name="putMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors"></a>

```typescript
public putMethodSelectors(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---

##### `resetMethodSelectors` <a name="resetMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.resetMethodSelectors"></a>

```typescript
public resetMethodSelectors(): void
```

##### `resetServiceName` <a name="resetServiceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.resetServiceName"></a>

```typescript
public resetServiceName(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.methodSelectors">methodSelectors</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.methodSelectorsInput">methodSelectorsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodSelectors`<sup>Required</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectorsList</a>

---

##### `methodSelectorsInput`<sup>Optional</sup> <a name="methodSelectorsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.methodSelectorsInput"></a>

```typescript
public readonly methodSelectorsInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.putOperations">putOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.resetExternalResources">resetExternalResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.resetOperations">resetOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.resetResources">resetResources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOperations` <a name="putOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.putOperations"></a>

```typescript
public putOperations(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.putOperations.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations</a>[]

---

##### `resetExternalResources` <a name="resetExternalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.resetExternalResources"></a>

```typescript
public resetExternalResources(): void
```

##### `resetOperations` <a name="resetOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.resetOperations"></a>

```typescript
public resetOperations(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.operations">operations</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.externalResourcesInput">externalResourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.operationsInput">operationsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.externalResources">externalResources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `operations`<sup>Required</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.operations"></a>

```typescript
public readonly operations: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperationsList</a>

---

##### `externalResourcesInput`<sup>Optional</sup> <a name="externalResourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.externalResourcesInput"></a>

```typescript
public readonly externalResourcesInput: string[];
```

- *Type:* string[]

---

##### `operationsInput`<sup>Optional</sup> <a name="operationsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.operationsInput"></a>

```typescript
public readonly operationsInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOperations</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `externalResources`<sup>Required</sup> <a name="externalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.externalResources"></a>

```typescript
public readonly externalResources: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.putEgressFrom">putEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.putEgressTo">putEgressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.resetEgressFrom">resetEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.resetEgressTo">resetEgressTo</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putEgressFrom` <a name="putEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.putEgressFrom"></a>

```typescript
public putEgressFrom(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.putEgressFrom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom</a>

---

##### `putEgressTo` <a name="putEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.putEgressTo"></a>

```typescript
public putEgressTo(value: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.putEgressTo.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo</a>

---

##### `resetEgressFrom` <a name="resetEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.resetEgressFrom"></a>

```typescript
public resetEgressFrom(): void
```

##### `resetEgressTo` <a name="resetEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.resetEgressTo"></a>

```typescript
public resetEgressTo(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.egressFrom">egressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.egressTo">egressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.egressFromInput">egressFromInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.egressToInput">egressToInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `egressFrom`<sup>Required</sup> <a name="egressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.egressFrom"></a>

```typescript
public readonly egressFrom: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFromOutputReference</a>

---

##### `egressTo`<sup>Required</sup> <a name="egressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.egressTo"></a>

```typescript
public readonly egressTo: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressToOutputReference</a>

---

##### `egressFromInput`<sup>Optional</sup> <a name="egressFromInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.egressFromInput"></a>

```typescript
public readonly egressFromInput: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressFrom</a>

---

##### `egressToInput`<sup>Optional</sup> <a name="egressToInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.egressToInput"></a>

```typescript
public readonly egressToInput: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesEgressTo</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.putSources">putSources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.resetIdentities">resetIdentities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.resetIdentityType">resetIdentityType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.resetSources">resetSources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putSources` <a name="putSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.putSources"></a>

```typescript
public putSources(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.putSources.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources</a>[]

---

##### `resetIdentities` <a name="resetIdentities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.resetIdentities"></a>

```typescript
public resetIdentities(): void
```

##### `resetIdentityType` <a name="resetIdentityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.resetIdentityType"></a>

```typescript
public resetIdentityType(): void
```

##### `resetSources` <a name="resetSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.resetSources"></a>

```typescript
public resetSources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.sources">sources</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.identitiesInput">identitiesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.identityTypeInput">identityTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.sourcesInput">sourcesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.identities">identities</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.identityType">identityType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `sources`<sup>Required</sup> <a name="sources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.sources"></a>

```typescript
public readonly sources: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList</a>

---

##### `identitiesInput`<sup>Optional</sup> <a name="identitiesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.identitiesInput"></a>

```typescript
public readonly identitiesInput: string[];
```

- *Type:* string[]

---

##### `identityTypeInput`<sup>Optional</sup> <a name="identityTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.identityTypeInput"></a>

```typescript
public readonly identityTypeInput: string;
```

- *Type:* string

---

##### `sourcesInput`<sup>Optional</sup> <a name="sourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.sourcesInput"></a>

```typescript
public readonly sourcesInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources</a>[]

---

##### `identities`<sup>Required</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

---

##### `identityType`<sup>Required</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.resetAccessLevel">resetAccessLevel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.resetResource">resetResource</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetAccessLevel` <a name="resetAccessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.resetAccessLevel"></a>

```typescript
public resetAccessLevel(): void
```

##### `resetResource` <a name="resetResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.resetResource"></a>

```typescript
public resetResource(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.accessLevelInput">accessLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.resourceInput">resourceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.accessLevel">accessLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.resource">resource</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `accessLevelInput`<sup>Optional</sup> <a name="accessLevelInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.accessLevelInput"></a>

```typescript
public readonly accessLevelInput: string;
```

- *Type:* string

---

##### `resourceInput`<sup>Optional</sup> <a name="resourceInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.resourceInput"></a>

```typescript
public readonly resourceInput: string;
```

- *Type:* string

---

##### `accessLevel`<sup>Required</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

---

##### `resource`<sup>Required</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSourcesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromSources</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetMethod">resetMethod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetPermission">resetPermission</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMethod` <a name="resetMethod" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetMethod"></a>

```typescript
public resetMethod(): void
```

##### `resetPermission` <a name="resetPermission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetPermission"></a>

```typescript
public resetPermission(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.methodInput">methodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permissionInput">permissionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.method">method</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permission">permission</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodInput`<sup>Optional</sup> <a name="methodInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.methodInput"></a>

```typescript
public readonly methodInput: string;
```

- *Type:* string

---

##### `permissionInput`<sup>Optional</sup> <a name="permissionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permissionInput"></a>

```typescript
public readonly permissionInput: string;
```

- *Type:* string

---

##### `method`<sup>Required</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

---

##### `permission`<sup>Required</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors">putMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.resetMethodSelectors">resetMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.resetServiceName">resetServiceName</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putMethodSelectors` <a name="putMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors"></a>

```typescript
public putMethodSelectors(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---

##### `resetMethodSelectors` <a name="resetMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.resetMethodSelectors"></a>

```typescript
public resetMethodSelectors(): void
```

##### `resetServiceName` <a name="resetServiceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.resetServiceName"></a>

```typescript
public resetServiceName(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.methodSelectors">methodSelectors</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.methodSelectorsInput">methodSelectorsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodSelectors`<sup>Required</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectorsList</a>

---

##### `methodSelectorsInput`<sup>Optional</sup> <a name="methodSelectorsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.methodSelectorsInput"></a>

```typescript
public readonly methodSelectorsInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.putOperations">putOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.resetOperations">resetOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.resetResources">resetResources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOperations` <a name="putOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.putOperations"></a>

```typescript
public putOperations(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.putOperations.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations</a>[]

---

##### `resetOperations` <a name="resetOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.resetOperations"></a>

```typescript
public resetOperations(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.operations">operations</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.operationsInput">operationsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `operations`<sup>Required</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.operations"></a>

```typescript
public readonly operations: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperationsList</a>

---

##### `operationsInput`<sup>Optional</sup> <a name="operationsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.operationsInput"></a>

```typescript
public readonly operationsInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOperations</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies</a>[]

---


### AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.putIngressFrom">putIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.putIngressTo">putIngressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.resetIngressFrom">resetIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.resetIngressTo">resetIngressTo</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putIngressFrom` <a name="putIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.putIngressFrom"></a>

```typescript
public putIngressFrom(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.putIngressFrom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom</a>

---

##### `putIngressTo` <a name="putIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.putIngressTo"></a>

```typescript
public putIngressTo(value: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.putIngressTo.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo</a>

---

##### `resetIngressFrom` <a name="resetIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.resetIngressFrom"></a>

```typescript
public resetIngressFrom(): void
```

##### `resetIngressTo` <a name="resetIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.resetIngressTo"></a>

```typescript
public resetIngressTo(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.ingressFrom">ingressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.ingressTo">ingressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.ingressFromInput">ingressFromInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.ingressToInput">ingressToInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `ingressFrom`<sup>Required</sup> <a name="ingressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.ingressFrom"></a>

```typescript
public readonly ingressFrom: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFromOutputReference</a>

---

##### `ingressTo`<sup>Required</sup> <a name="ingressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.ingressTo"></a>

```typescript
public readonly ingressTo: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressToOutputReference</a>

---

##### `ingressFromInput`<sup>Optional</sup> <a name="ingressFromInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.ingressFromInput"></a>

```typescript
public readonly ingressFromInput: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressFrom</a>

---

##### `ingressToInput`<sup>Optional</sup> <a name="ingressToInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.ingressToInput"></a>

```typescript
public readonly ingressToInput: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesIngressTo</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.putEgressPolicies">putEgressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.putIngressPolicies">putIngressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.putVpcAccessibleServices">putVpcAccessibleServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetAccessLevels">resetAccessLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetEgressPolicies">resetEgressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetIngressPolicies">resetIngressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetResources">resetResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetRestrictedServices">resetRestrictedServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetVpcAccessibleServices">resetVpcAccessibleServices</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putEgressPolicies` <a name="putEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.putEgressPolicies"></a>

```typescript
public putEgressPolicies(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.putEgressPolicies.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies</a>[]

---

##### `putIngressPolicies` <a name="putIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.putIngressPolicies"></a>

```typescript
public putIngressPolicies(value: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.putIngressPolicies.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies</a>[]

---

##### `putVpcAccessibleServices` <a name="putVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.putVpcAccessibleServices"></a>

```typescript
public putVpcAccessibleServices(value: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.putVpcAccessibleServices.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices</a>

---

##### `resetAccessLevels` <a name="resetAccessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetAccessLevels"></a>

```typescript
public resetAccessLevels(): void
```

##### `resetEgressPolicies` <a name="resetEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetEgressPolicies"></a>

```typescript
public resetEgressPolicies(): void
```

##### `resetIngressPolicies` <a name="resetIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetIngressPolicies"></a>

```typescript
public resetIngressPolicies(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```

##### `resetRestrictedServices` <a name="resetRestrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetRestrictedServices"></a>

```typescript
public resetRestrictedServices(): void
```

##### `resetVpcAccessibleServices` <a name="resetVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.resetVpcAccessibleServices"></a>

```typescript
public resetVpcAccessibleServices(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.egressPolicies">egressPolicies</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.ingressPolicies">ingressPolicies</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.vpcAccessibleServices">vpcAccessibleServices</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.accessLevelsInput">accessLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.egressPoliciesInput">egressPoliciesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.ingressPoliciesInput">ingressPoliciesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.restrictedServicesInput">restrictedServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.vpcAccessibleServicesInput">vpcAccessibleServicesInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.restrictedServices">restrictedServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus">AccessContextManagerServicePerimetersServicePerimetersStatus</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `egressPolicies`<sup>Required</sup> <a name="egressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.egressPolicies"></a>

```typescript
public readonly egressPolicies: AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPoliciesList</a>

---

##### `ingressPolicies`<sup>Required</sup> <a name="ingressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.ingressPolicies"></a>

```typescript
public readonly ingressPolicies: AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPoliciesList</a>

---

##### `vpcAccessibleServices`<sup>Required</sup> <a name="vpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.vpcAccessibleServices"></a>

```typescript
public readonly vpcAccessibleServices: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference">AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference</a>

---

##### `accessLevelsInput`<sup>Optional</sup> <a name="accessLevelsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.accessLevelsInput"></a>

```typescript
public readonly accessLevelsInput: string[];
```

- *Type:* string[]

---

##### `egressPoliciesInput`<sup>Optional</sup> <a name="egressPoliciesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.egressPoliciesInput"></a>

```typescript
public readonly egressPoliciesInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusEgressPolicies</a>[]

---

##### `ingressPoliciesInput`<sup>Optional</sup> <a name="ingressPoliciesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.ingressPoliciesInput"></a>

```typescript
public readonly ingressPoliciesInput: IResolvable | AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies">AccessContextManagerServicePerimetersServicePerimetersStatusIngressPolicies</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `restrictedServicesInput`<sup>Optional</sup> <a name="restrictedServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.restrictedServicesInput"></a>

```typescript
public readonly restrictedServicesInput: string[];
```

- *Type:* string[]

---

##### `vpcAccessibleServicesInput`<sup>Optional</sup> <a name="vpcAccessibleServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.vpcAccessibleServicesInput"></a>

```typescript
public readonly vpcAccessibleServicesInput: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices</a>

---

##### `accessLevels`<sup>Required</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `restrictedServices`<sup>Required</sup> <a name="restrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.restrictedServices"></a>

```typescript
public readonly restrictedServices: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersStatus;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatus">AccessContextManagerServicePerimetersServicePerimetersStatus</a>

---


### AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference <a name="AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.resetAllowedServices">resetAllowedServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.resetEnableRestriction">resetEnableRestriction</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetAllowedServices` <a name="resetAllowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.resetAllowedServices"></a>

```typescript
public resetAllowedServices(): void
```

##### `resetEnableRestriction` <a name="resetEnableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.resetEnableRestriction"></a>

```typescript
public resetEnableRestriction(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.allowedServicesInput">allowedServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.enableRestrictionInput">enableRestrictionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.allowedServices">allowedServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.enableRestriction">enableRestriction</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `allowedServicesInput`<sup>Optional</sup> <a name="allowedServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.allowedServicesInput"></a>

```typescript
public readonly allowedServicesInput: string[];
```

- *Type:* string[]

---

##### `enableRestrictionInput`<sup>Optional</sup> <a name="enableRestrictionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.enableRestrictionInput"></a>

```typescript
public readonly enableRestrictionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `allowedServices`<sup>Required</sup> <a name="allowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.allowedServices"></a>

```typescript
public readonly allowedServices: string[];
```

- *Type:* string[]

---

##### `enableRestriction`<sup>Required</sup> <a name="enableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.enableRestriction"></a>

```typescript
public readonly enableRestriction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServicesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices">AccessContextManagerServicePerimetersServicePerimetersStatusVpcAccessibleServices</a>

---


### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.resetIdentities">resetIdentities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.resetIdentityType">resetIdentityType</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetIdentities` <a name="resetIdentities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.resetIdentities"></a>

```typescript
public resetIdentities(): void
```

##### `resetIdentityType` <a name="resetIdentityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.resetIdentityType"></a>

```typescript
public resetIdentityType(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.identitiesInput">identitiesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.identityTypeInput">identityTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.identities">identities</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.identityType">identityType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `identitiesInput`<sup>Optional</sup> <a name="identitiesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.identitiesInput"></a>

```typescript
public readonly identitiesInput: string[];
```

- *Type:* string[]

---

##### `identityTypeInput`<sup>Optional</sup> <a name="identityTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.identityTypeInput"></a>

```typescript
public readonly identityTypeInput: string;
```

- *Type:* string

---

##### `identities`<sup>Required</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

---

##### `identityType`<sup>Required</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom</a>

---


### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations</a>[]

---


### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---


### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetMethod">resetMethod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetPermission">resetPermission</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMethod` <a name="resetMethod" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetMethod"></a>

```typescript
public resetMethod(): void
```

##### `resetPermission` <a name="resetPermission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.resetPermission"></a>

```typescript
public resetPermission(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.methodInput">methodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permissionInput">permissionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.method">method</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permission">permission</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodInput`<sup>Optional</sup> <a name="methodInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.methodInput"></a>

```typescript
public readonly methodInput: string;
```

- *Type:* string

---

##### `permissionInput`<sup>Optional</sup> <a name="permissionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permissionInput"></a>

```typescript
public readonly permissionInput: string;
```

- *Type:* string

---

##### `method`<sup>Required</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

---

##### `permission`<sup>Required</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors</a>

---


### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors">putMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.resetMethodSelectors">resetMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.resetServiceName">resetServiceName</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putMethodSelectors` <a name="putMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors"></a>

```typescript
public putMethodSelectors(value: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.putMethodSelectors.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---

##### `resetMethodSelectors` <a name="resetMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.resetMethodSelectors"></a>

```typescript
public resetMethodSelectors(): void
```

##### `resetServiceName` <a name="resetServiceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.resetServiceName"></a>

```typescript
public resetServiceName(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.methodSelectors">methodSelectors</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.methodSelectorsInput">methodSelectorsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodSelectors`<sup>Required</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectorsList</a>

---

##### `methodSelectorsInput`<sup>Optional</sup> <a name="methodSelectorsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.methodSelectorsInput"></a>

```typescript
public readonly methodSelectorsInput: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsMethodSelectors</a>[]

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations</a>

---


### AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.putOperations">putOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.resetExternalResources">resetExternalResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.resetOperations">resetOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.resetResources">resetResources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOperations` <a name="putOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.putOperations"></a>

```typescript
public putOperations(value: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.putOperations.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations</a>[]

---

##### `resetExternalResources` <a name="resetExternalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.resetExternalResources"></a>

```typescript
public resetExternalResources(): void
```

##### `resetOperations` <a name="resetOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.resetOperations"></a>

```typescript
public resetOperations(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.operations">operations</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.externalResourcesInput">externalResourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.operationsInput">operationsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.externalResources">externalResources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `operations`<sup>Required</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.operations"></a>

```typescript
public readonly operations: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperationsList</a>

---

##### `externalResourcesInput`<sup>Optional</sup> <a name="externalResourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.externalResourcesInput"></a>

```typescript
public readonly externalResourcesInput: string[];
```

- *Type:* string[]

---

##### `operationsInput`<sup>Optional</sup> <a name="operationsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.operationsInput"></a>

```typescript
public readonly operationsInput: IResolvable | AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOperations</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `externalResources`<sup>Required</sup> <a name="externalResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.externalResources"></a>

```typescript
public readonly externalResources: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo</a>

---


### AccessContextManagerServicePerimeterStatusEgressPoliciesList <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusEgressPoliciesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies">AccessContextManagerServicePerimeterStatusEgressPolicies</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies">AccessContextManagerServicePerimeterStatusEgressPolicies</a>[]

---


### AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference <a name="AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.putEgressFrom">putEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.putEgressTo">putEgressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.resetEgressFrom">resetEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.resetEgressTo">resetEgressTo</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putEgressFrom` <a name="putEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.putEgressFrom"></a>

```typescript
public putEgressFrom(value: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.putEgressFrom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom</a>

---

##### `putEgressTo` <a name="putEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.putEgressTo"></a>

```typescript
public putEgressTo(value: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.putEgressTo.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo</a>

---

##### `resetEgressFrom` <a name="resetEgressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.resetEgressFrom"></a>

```typescript
public resetEgressFrom(): void
```

##### `resetEgressTo` <a name="resetEgressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.resetEgressTo"></a>

```typescript
public resetEgressTo(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.egressFrom">egressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.egressTo">egressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.egressFromInput">egressFromInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.egressToInput">egressToInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies">AccessContextManagerServicePerimeterStatusEgressPolicies</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `egressFrom`<sup>Required</sup> <a name="egressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.egressFrom"></a>

```typescript
public readonly egressFrom: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFromOutputReference</a>

---

##### `egressTo`<sup>Required</sup> <a name="egressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.egressTo"></a>

```typescript
public readonly egressTo: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressToOutputReference</a>

---

##### `egressFromInput`<sup>Optional</sup> <a name="egressFromInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.egressFromInput"></a>

```typescript
public readonly egressFromInput: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressFrom</a>

---

##### `egressToInput`<sup>Optional</sup> <a name="egressToInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.egressToInput"></a>

```typescript
public readonly egressToInput: AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo">AccessContextManagerServicePerimeterStatusEgressPoliciesEgressTo</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusEgressPolicies;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies">AccessContextManagerServicePerimeterStatusEgressPolicies</a>

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.putSources">putSources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.resetIdentities">resetIdentities</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.resetIdentityType">resetIdentityType</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.resetSources">resetSources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putSources` <a name="putSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.putSources"></a>

```typescript
public putSources(value: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.putSources.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources</a>[]

---

##### `resetIdentities` <a name="resetIdentities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.resetIdentities"></a>

```typescript
public resetIdentities(): void
```

##### `resetIdentityType` <a name="resetIdentityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.resetIdentityType"></a>

```typescript
public resetIdentityType(): void
```

##### `resetSources` <a name="resetSources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.resetSources"></a>

```typescript
public resetSources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.sources">sources</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.identitiesInput">identitiesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.identityTypeInput">identityTypeInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.sourcesInput">sourcesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.identities">identities</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.identityType">identityType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `sources`<sup>Required</sup> <a name="sources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.sources"></a>

```typescript
public readonly sources: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList</a>

---

##### `identitiesInput`<sup>Optional</sup> <a name="identitiesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.identitiesInput"></a>

```typescript
public readonly identitiesInput: string[];
```

- *Type:* string[]

---

##### `identityTypeInput`<sup>Optional</sup> <a name="identityTypeInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.identityTypeInput"></a>

```typescript
public readonly identityTypeInput: string;
```

- *Type:* string

---

##### `sourcesInput`<sup>Optional</sup> <a name="sourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.sourcesInput"></a>

```typescript
public readonly sourcesInput: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources</a>[]

---

##### `identities`<sup>Required</sup> <a name="identities" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.identities"></a>

```typescript
public readonly identities: string[];
```

- *Type:* string[]

---

##### `identityType`<sup>Required</sup> <a name="identityType" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.identityType"></a>

```typescript
public readonly identityType: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom</a>

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources</a>[]

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.resetAccessLevel">resetAccessLevel</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.resetResource">resetResource</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetAccessLevel` <a name="resetAccessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.resetAccessLevel"></a>

```typescript
public resetAccessLevel(): void
```

##### `resetResource` <a name="resetResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.resetResource"></a>

```typescript
public resetResource(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.accessLevelInput">accessLevelInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.resourceInput">resourceInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.accessLevel">accessLevel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.resource">resource</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `accessLevelInput`<sup>Optional</sup> <a name="accessLevelInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.accessLevelInput"></a>

```typescript
public readonly accessLevelInput: string;
```

- *Type:* string

---

##### `resourceInput`<sup>Optional</sup> <a name="resourceInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.resourceInput"></a>

```typescript
public readonly resourceInput: string;
```

- *Type:* string

---

##### `accessLevel`<sup>Required</sup> <a name="accessLevel" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.accessLevel"></a>

```typescript
public readonly accessLevel: string;
```

- *Type:* string

---

##### `resource`<sup>Required</sup> <a name="resource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.resource"></a>

```typescript
public readonly resource: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSourcesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromSources</a>

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations</a>[]

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetMethod">resetMethod</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetPermission">resetPermission</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetMethod` <a name="resetMethod" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetMethod"></a>

```typescript
public resetMethod(): void
```

##### `resetPermission` <a name="resetPermission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.resetPermission"></a>

```typescript
public resetPermission(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.methodInput">methodInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permissionInput">permissionInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.method">method</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permission">permission</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodInput`<sup>Optional</sup> <a name="methodInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.methodInput"></a>

```typescript
public readonly methodInput: string;
```

- *Type:* string

---

##### `permissionInput`<sup>Optional</sup> <a name="permissionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permissionInput"></a>

```typescript
public readonly permissionInput: string;
```

- *Type:* string

---

##### `method`<sup>Required</sup> <a name="method" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.method"></a>

```typescript
public readonly method: string;
```

- *Type:* string

---

##### `permission`<sup>Required</sup> <a name="permission" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.permission"></a>

```typescript
public readonly permission: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors</a>

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors">putMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.resetMethodSelectors">resetMethodSelectors</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.resetServiceName">resetServiceName</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putMethodSelectors` <a name="putMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors"></a>

```typescript
public putMethodSelectors(value: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.putMethodSelectors.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---

##### `resetMethodSelectors` <a name="resetMethodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.resetMethodSelectors"></a>

```typescript
public resetMethodSelectors(): void
```

##### `resetServiceName` <a name="resetServiceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.resetServiceName"></a>

```typescript
public resetServiceName(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.methodSelectors">methodSelectors</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.methodSelectorsInput">methodSelectorsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.serviceNameInput">serviceNameInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `methodSelectors`<sup>Required</sup> <a name="methodSelectors" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.methodSelectors"></a>

```typescript
public readonly methodSelectors: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectorsList</a>

---

##### `methodSelectorsInput`<sup>Optional</sup> <a name="methodSelectorsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.methodSelectorsInput"></a>

```typescript
public readonly methodSelectorsInput: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsMethodSelectors</a>[]

---

##### `serviceNameInput`<sup>Optional</sup> <a name="serviceNameInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.serviceNameInput"></a>

```typescript
public readonly serviceNameInput: string;
```

- *Type:* string

---

##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.serviceName"></a>

```typescript
public readonly serviceName: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations</a>

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.putOperations">putOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.resetOperations">resetOperations</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.resetResources">resetResources</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putOperations` <a name="putOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.putOperations"></a>

```typescript
public putOperations(value: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.putOperations.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations</a>[]

---

##### `resetOperations` <a name="resetOperations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.resetOperations"></a>

```typescript
public resetOperations(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.operations">operations</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.operationsInput">operationsInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `operations`<sup>Required</sup> <a name="operations" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.operations"></a>

```typescript
public readonly operations: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperationsList</a>

---

##### `operationsInput`<sup>Optional</sup> <a name="operationsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.operationsInput"></a>

```typescript
public readonly operationsInput: IResolvable | AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOperations</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo</a>

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesList <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesList" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesList } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.Initializer.parameter.wrapsSet">wrapsSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `wrapsSet`<sup>Required</sup> <a name="wrapsSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.Initializer.parameter.wrapsSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.get">get</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `get` <a name="get" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.get"></a>

```typescript
public get(index: number): AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference
```

###### `index`<sup>Required</sup> <a name="index" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.get.parameter.index"></a>

- *Type:* number

the index of the item to return.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies">AccessContextManagerServicePerimeterStatusIngressPolicies</a>[]</code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies">AccessContextManagerServicePerimeterStatusIngressPolicies</a>[]

---


### AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference <a name="AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code> | <code>number</code> | the index of this item in the list. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>boolean</code> | whether the list is wrapping a set (will add tolist() to be able to access an item via an index). |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

##### `complexObjectIndex`<sup>Required</sup> <a name="complexObjectIndex" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.Initializer.parameter.complexObjectIndex"></a>

- *Type:* number

the index of this item in the list.

---

##### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.Initializer.parameter.complexObjectIsFromSet"></a>

- *Type:* boolean

whether the list is wrapping a set (will add tolist() to be able to access an item via an index).

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.putIngressFrom">putIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.putIngressTo">putIngressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.resetIngressFrom">resetIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.resetIngressTo">resetIngressTo</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putIngressFrom` <a name="putIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.putIngressFrom"></a>

```typescript
public putIngressFrom(value: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.putIngressFrom.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom</a>

---

##### `putIngressTo` <a name="putIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.putIngressTo"></a>

```typescript
public putIngressTo(value: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.putIngressTo.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo</a>

---

##### `resetIngressFrom` <a name="resetIngressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.resetIngressFrom"></a>

```typescript
public resetIngressFrom(): void
```

##### `resetIngressTo` <a name="resetIngressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.resetIngressTo"></a>

```typescript
public resetIngressTo(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.ingressFrom">ingressFrom</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.ingressTo">ingressTo</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.ingressFromInput">ingressFromInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.ingressToInput">ingressToInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies">AccessContextManagerServicePerimeterStatusIngressPolicies</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `ingressFrom`<sup>Required</sup> <a name="ingressFrom" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.ingressFrom"></a>

```typescript
public readonly ingressFrom: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFromOutputReference</a>

---

##### `ingressTo`<sup>Required</sup> <a name="ingressTo" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.ingressTo"></a>

```typescript
public readonly ingressTo: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressToOutputReference</a>

---

##### `ingressFromInput`<sup>Optional</sup> <a name="ingressFromInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.ingressFromInput"></a>

```typescript
public readonly ingressFromInput: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressFrom</a>

---

##### `ingressToInput`<sup>Optional</sup> <a name="ingressToInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.ingressToInput"></a>

```typescript
public readonly ingressToInput: AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo">AccessContextManagerServicePerimeterStatusIngressPoliciesIngressTo</a>

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimeterStatusIngressPolicies;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies">AccessContextManagerServicePerimeterStatusIngressPolicies</a>

---


### AccessContextManagerServicePerimeterStatusOutputReference <a name="AccessContextManagerServicePerimeterStatusOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.putEgressPolicies">putEgressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.putIngressPolicies">putIngressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.putVpcAccessibleServices">putVpcAccessibleServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetAccessLevels">resetAccessLevels</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetEgressPolicies">resetEgressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetIngressPolicies">resetIngressPolicies</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetResources">resetResources</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetRestrictedServices">resetRestrictedServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetVpcAccessibleServices">resetVpcAccessibleServices</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `putEgressPolicies` <a name="putEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.putEgressPolicies"></a>

```typescript
public putEgressPolicies(value: IResolvable | AccessContextManagerServicePerimeterStatusEgressPolicies[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.putEgressPolicies.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies">AccessContextManagerServicePerimeterStatusEgressPolicies</a>[]

---

##### `putIngressPolicies` <a name="putIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.putIngressPolicies"></a>

```typescript
public putIngressPolicies(value: IResolvable | AccessContextManagerServicePerimeterStatusIngressPolicies[]): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.putIngressPolicies.parameter.value"></a>

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies">AccessContextManagerServicePerimeterStatusIngressPolicies</a>[]

---

##### `putVpcAccessibleServices` <a name="putVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.putVpcAccessibleServices"></a>

```typescript
public putVpcAccessibleServices(value: AccessContextManagerServicePerimeterStatusVpcAccessibleServices): void
```

###### `value`<sup>Required</sup> <a name="value" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.putVpcAccessibleServices.parameter.value"></a>

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices">AccessContextManagerServicePerimeterStatusVpcAccessibleServices</a>

---

##### `resetAccessLevels` <a name="resetAccessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetAccessLevels"></a>

```typescript
public resetAccessLevels(): void
```

##### `resetEgressPolicies` <a name="resetEgressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetEgressPolicies"></a>

```typescript
public resetEgressPolicies(): void
```

##### `resetIngressPolicies` <a name="resetIngressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetIngressPolicies"></a>

```typescript
public resetIngressPolicies(): void
```

##### `resetResources` <a name="resetResources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetResources"></a>

```typescript
public resetResources(): void
```

##### `resetRestrictedServices` <a name="resetRestrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetRestrictedServices"></a>

```typescript
public resetRestrictedServices(): void
```

##### `resetVpcAccessibleServices` <a name="resetVpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.resetVpcAccessibleServices"></a>

```typescript
public resetVpcAccessibleServices(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.egressPolicies">egressPolicies</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList">AccessContextManagerServicePerimeterStatusEgressPoliciesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.ingressPolicies">ingressPolicies</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList">AccessContextManagerServicePerimeterStatusIngressPoliciesList</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.vpcAccessibleServices">vpcAccessibleServices</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference">AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.accessLevelsInput">accessLevelsInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.egressPoliciesInput">egressPoliciesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies">AccessContextManagerServicePerimeterStatusEgressPolicies</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.ingressPoliciesInput">ingressPoliciesInput</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies">AccessContextManagerServicePerimeterStatusIngressPolicies</a>[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.resourcesInput">resourcesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.restrictedServicesInput">restrictedServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.vpcAccessibleServicesInput">vpcAccessibleServicesInput</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices">AccessContextManagerServicePerimeterStatusVpcAccessibleServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.accessLevels">accessLevels</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.resources">resources</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.restrictedServices">restrictedServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus">AccessContextManagerServicePerimeterStatus</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `egressPolicies`<sup>Required</sup> <a name="egressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.egressPolicies"></a>

```typescript
public readonly egressPolicies: AccessContextManagerServicePerimeterStatusEgressPoliciesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPoliciesList">AccessContextManagerServicePerimeterStatusEgressPoliciesList</a>

---

##### `ingressPolicies`<sup>Required</sup> <a name="ingressPolicies" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.ingressPolicies"></a>

```typescript
public readonly ingressPolicies: AccessContextManagerServicePerimeterStatusIngressPoliciesList;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPoliciesList">AccessContextManagerServicePerimeterStatusIngressPoliciesList</a>

---

##### `vpcAccessibleServices`<sup>Required</sup> <a name="vpcAccessibleServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.vpcAccessibleServices"></a>

```typescript
public readonly vpcAccessibleServices: AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference">AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference</a>

---

##### `accessLevelsInput`<sup>Optional</sup> <a name="accessLevelsInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.accessLevelsInput"></a>

```typescript
public readonly accessLevelsInput: string[];
```

- *Type:* string[]

---

##### `egressPoliciesInput`<sup>Optional</sup> <a name="egressPoliciesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.egressPoliciesInput"></a>

```typescript
public readonly egressPoliciesInput: IResolvable | AccessContextManagerServicePerimeterStatusEgressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusEgressPolicies">AccessContextManagerServicePerimeterStatusEgressPolicies</a>[]

---

##### `ingressPoliciesInput`<sup>Optional</sup> <a name="ingressPoliciesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.ingressPoliciesInput"></a>

```typescript
public readonly ingressPoliciesInput: IResolvable | AccessContextManagerServicePerimeterStatusIngressPolicies[];
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusIngressPolicies">AccessContextManagerServicePerimeterStatusIngressPolicies</a>[]

---

##### `resourcesInput`<sup>Optional</sup> <a name="resourcesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.resourcesInput"></a>

```typescript
public readonly resourcesInput: string[];
```

- *Type:* string[]

---

##### `restrictedServicesInput`<sup>Optional</sup> <a name="restrictedServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.restrictedServicesInput"></a>

```typescript
public readonly restrictedServicesInput: string[];
```

- *Type:* string[]

---

##### `vpcAccessibleServicesInput`<sup>Optional</sup> <a name="vpcAccessibleServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.vpcAccessibleServicesInput"></a>

```typescript
public readonly vpcAccessibleServicesInput: AccessContextManagerServicePerimeterStatusVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices">AccessContextManagerServicePerimeterStatusVpcAccessibleServices</a>

---

##### `accessLevels`<sup>Required</sup> <a name="accessLevels" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.accessLevels"></a>

```typescript
public readonly accessLevels: string[];
```

- *Type:* string[]

---

##### `resources`<sup>Required</sup> <a name="resources" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.resources"></a>

```typescript
public readonly resources: string[];
```

- *Type:* string[]

---

##### `restrictedServices`<sup>Required</sup> <a name="restrictedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.restrictedServices"></a>

```typescript
public readonly restrictedServices: string[];
```

- *Type:* string[]

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterStatus;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatus">AccessContextManagerServicePerimeterStatus</a>

---


### AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference <a name="AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.resetAllowedServices">resetAllowedServices</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.resetEnableRestriction">resetEnableRestriction</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetAllowedServices` <a name="resetAllowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.resetAllowedServices"></a>

```typescript
public resetAllowedServices(): void
```

##### `resetEnableRestriction` <a name="resetEnableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.resetEnableRestriction"></a>

```typescript
public resetEnableRestriction(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.allowedServicesInput">allowedServicesInput</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.enableRestrictionInput">enableRestrictionInput</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.allowedServices">allowedServices</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.enableRestriction">enableRestriction</a></code> | <code>boolean \| cdktf.IResolvable</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.internalValue">internalValue</a></code> | <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices">AccessContextManagerServicePerimeterStatusVpcAccessibleServices</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `allowedServicesInput`<sup>Optional</sup> <a name="allowedServicesInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.allowedServicesInput"></a>

```typescript
public readonly allowedServicesInput: string[];
```

- *Type:* string[]

---

##### `enableRestrictionInput`<sup>Optional</sup> <a name="enableRestrictionInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.enableRestrictionInput"></a>

```typescript
public readonly enableRestrictionInput: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `allowedServices`<sup>Required</sup> <a name="allowedServices" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.allowedServices"></a>

```typescript
public readonly allowedServices: string[];
```

- *Type:* string[]

---

##### `enableRestriction`<sup>Required</sup> <a name="enableRestriction" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.enableRestriction"></a>

```typescript
public readonly enableRestriction: boolean | IResolvable;
```

- *Type:* boolean | cdktf.IResolvable

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServicesOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: AccessContextManagerServicePerimeterStatusVpcAccessibleServices;
```

- *Type:* <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterStatusVpcAccessibleServices">AccessContextManagerServicePerimeterStatusVpcAccessibleServices</a>

---


### AccessContextManagerServicePerimetersTimeoutsOutputReference <a name="AccessContextManagerServicePerimetersTimeoutsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimetersTimeoutsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimetersTimeoutsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.resetCreate">resetCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.resetDelete">resetDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.resetUpdate">resetUpdate</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getBooleanAttribute"></a>

```typescript
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getBooleanAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getBooleanMapAttribute"></a>

```typescript
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getBooleanMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getListAttribute` <a name="getListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getListAttribute"></a>

```typescript
public getListAttribute(terraformAttribute: string): string[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberAttribute` <a name="getNumberAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getNumberAttribute"></a>

```typescript
public getNumberAttribute(terraformAttribute: string): number
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getNumberAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberListAttribute` <a name="getNumberListAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getNumberListAttribute"></a>

```typescript
public getNumberListAttribute(terraformAttribute: string): number[]
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getNumberListAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getNumberMapAttribute"></a>

```typescript
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getNumberMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringAttribute` <a name="getStringAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getStringAttribute"></a>

```typescript
public getStringAttribute(terraformAttribute: string): string
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getStringAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getStringMapAttribute` <a name="getStringMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getStringMapAttribute"></a>

```typescript
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.getStringMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `interpolationForAttribute` <a name="interpolationForAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.interpolationForAttribute"></a>

```typescript
public interpolationForAttribute(property: string): IResolvable
```

###### `property`<sup>Required</sup> <a name="property" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.interpolationForAttribute.parameter.property"></a>

- *Type:* string

---

##### `resolve` <a name="resolve" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.resolve"></a>

```typescript
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

###### `_context`<sup>Required</sup> <a name="_context" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.resolve.parameter._context"></a>

- *Type:* cdktf.IResolveContext

---

##### `toString` <a name="toString" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.toString"></a>

```typescript
public toString(): string
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

##### `resetCreate` <a name="resetCreate" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.resetCreate"></a>

```typescript
public resetCreate(): void
```

##### `resetDelete` <a name="resetDelete" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.resetDelete"></a>

```typescript
public resetDelete(): void
```

##### `resetUpdate` <a name="resetUpdate" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.resetUpdate"></a>

```typescript
public resetUpdate(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.creationStack">creationStack</a></code> | <code>string[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.fqn">fqn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.createInput">createInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.deleteInput">deleteInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.updateInput">updateInput</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.create">create</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.delete">delete</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.update">update</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.internalValue">internalValue</a></code> | <code>cdktf.IResolvable \| <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts">AccessContextManagerServicePerimetersTimeouts</a></code> | *No description.* |

---

##### `creationStack`<sup>Required</sup> <a name="creationStack" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.creationStack"></a>

```typescript
public readonly creationStack: string[];
```

- *Type:* string[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

---

##### `fqn`<sup>Required</sup> <a name="fqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.fqn"></a>

```typescript
public readonly fqn: string;
```

- *Type:* string

---

##### `createInput`<sup>Optional</sup> <a name="createInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.createInput"></a>

```typescript
public readonly createInput: string;
```

- *Type:* string

---

##### `deleteInput`<sup>Optional</sup> <a name="deleteInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.deleteInput"></a>

```typescript
public readonly deleteInput: string;
```

- *Type:* string

---

##### `updateInput`<sup>Optional</sup> <a name="updateInput" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.updateInput"></a>

```typescript
public readonly updateInput: string;
```

- *Type:* string

---

##### `create`<sup>Required</sup> <a name="create" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.create"></a>

```typescript
public readonly create: string;
```

- *Type:* string

---

##### `delete`<sup>Required</sup> <a name="delete" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.delete"></a>

```typescript
public readonly delete: string;
```

- *Type:* string

---

##### `update`<sup>Required</sup> <a name="update" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.update"></a>

```typescript
public readonly update: string;
```

- *Type:* string

---

##### `internalValue`<sup>Optional</sup> <a name="internalValue" id="@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeoutsOutputReference.property.internalValue"></a>

```typescript
public readonly internalValue: IResolvable | AccessContextManagerServicePerimetersTimeouts;
```

- *Type:* cdktf.IResolvable | <a href="#@dschmidt/provider-google.AccessContextManagerServicePerimetersTimeouts">AccessContextManagerServicePerimetersTimeouts</a>

---


### AccessContextManagerServicePerimeterTimeoutsOutputReference <a name="AccessContextManagerServicePerimeterTimeoutsOutputReference" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference"></a>

#### Initializers <a name="Initializers" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.Initializer"></a>

```typescript
import { AccessContextManagerServicePerimeterTimeoutsOutputReference } from '@dschmidt/provider-google'

new AccessContextManagerServicePerimeterTimeoutsOutputReference(terraformResource: IInterpolatingParent, terraformAttribute: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.Initializer.parameter.terraformResource">terraformResource</a></code> | <code>cdktf.IInterpolatingParent</code> | The parent resource. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code> | The attribute on the parent resource this class is referencing. |

---

##### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.Initializer.parameter.terraformResource"></a>

- *Type:* cdktf.IInterpolatingParent

The parent resource.

---

##### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.Initializer.parameter.terraformAttribute"></a>

- *Type:* string

The attribute on the parent resource this class is referencing.

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.computeFqn">computeFqn</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getAnyMapAttribute">getAnyMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getBooleanAttribute">getBooleanAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getBooleanMapAttribute">getBooleanMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getListAttribute">getListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getNumberAttribute">getNumberAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getNumberListAttribute">getNumberListAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getNumberMapAttribute">getNumberMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getStringAttribute">getStringAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getStringMapAttribute">getStringMapAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.resolve">resolve</a></code> | Produce the Token's value at resolution time. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.toString">toString</a></code> | Return a string representation of this resolvable object. |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.resetCreate">resetCreate</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.resetDelete">resetDelete</a></code> | *No description.* |
| <code><a href="#@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.resetUpdate">resetUpdate</a></code> | *No description.* |

---

##### `computeFqn` <a name="computeFqn" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.computeFqn"></a>

```typescript
public computeFqn(): string
```

##### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getAnyMapAttribute"></a>

```typescript
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

###### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="@dschmidt/provider-google.AccessContextManagerServicePerimeterTimeoutsOutputReference.getAnyMapAttribute.parameter.terraformAttribute"></a>

- *Type:* string

---

##### `getBooleanAttribute` <a name="getBooleanAttribute" id="@dschmidt/pro